diff --git a/README.md b/README.md
index 3c978a8..cd4bd08 100644
--- a/README.md
+++ b/README.md
@@ -192,6 +192,7 @@ The following is a list of contracts that are deployed by this script.
│ marketplace-v2 │ BatchPayableHelperV2 │ 0x6166c1952c54dEd6b070B4616797E61b6c48A117 │
│ marketplace-v2 │ MarketFactoryV2 │ 0xBDC76d15eA28beB6AF2Cc69b4EFBb4Aa4FB77689 │
│ marketplace-v2 │ MarketV2 │ 0xfdb42A198a932C8D3B506Ffa5e855bC4b348a712 │
+│ multicall3 │ Multicall3 │ 0xae96419a81516f063744206d4b5E36f3168280f8 │
│ niftyswap │ Exchange20Wrapper │ 0x2c944F28965F9A2cd5E69bA7e7520CbbD928258a │
│ niftyswap │ Factory20 │ 0x9196b852437D9Ed92d95715dCbdA4533ffC479E0 │
│ p256-verifier │ SoladyP256Verifier │ 0x000000000000D01eA45F9eFD5c54f037Fa57Ea1a │
@@ -240,6 +241,9 @@ The following is a list of contracts that are deployed by this script.
│ trails-rc-2 │ TrailsIntentEntrypoint │ 0x9470D883bac170116d397Db3dA71B2e57d567583 │
│ trails-rc-2 │ TrailsRouter │ 0xc4415c5CabD726bA06042af752a528B3dbc263F7 │
│ trails-rc-2 │ TrailsRouterShim │ 0x859E606022aE8894342c00D297A4c4332aE53AbB │
+│ trails-rc-3 │ TrailsIntentEntrypoint │ 0x8f64eEB1f4680B9ed1F9d6A6Eee7CCf36258C93D │
+│ trails-rc-3 │ TrailsRouter │ 0xF8A739B9F24E297a98b7aba7A9cdFDBD457F6fF8 │
+│ trails-rc-3 │ TrailsRouterShim │ 0x1306aF05bA556839885B9B8c758f1d2F33d3571E │
│ trails-token-sweeper │ TrailsMulticall3Router │ 0xFF8f46538c39dCA637fCE9a804b2B59B517A9698 │
│ trails-token-sweeper │ TrailsTokenSweeper │ 0xEbDd59B8cE1993d38e4E081E0d80662BB169d3db │
│ value-forwarder │ ValueForwarder │ 0xABAAd93EeE2a569cF0632f39B10A9f5D734777ca │
diff --git a/jobs/predeploy/build-info/multicall3.json b/jobs/predeploy/build-info/multicall3.json
new file mode 100644
index 0000000..4c24243
--- /dev/null
+++ b/jobs/predeploy/build-info/multicall3.json
@@ -0,0 +1 @@
+{"id":"4f5f6414f9db2c01","source_id_to_path":{"0":"lib/forge-std/lib/ds-test/src/test.sol","1":"lib/forge-std/src/Base.sol","2":"lib/forge-std/src/StdAssertions.sol","3":"lib/forge-std/src/StdChains.sol","4":"lib/forge-std/src/StdCheats.sol","5":"lib/forge-std/src/StdError.sol","6":"lib/forge-std/src/StdInvariant.sol","7":"lib/forge-std/src/StdJson.sol","8":"lib/forge-std/src/StdMath.sol","9":"lib/forge-std/src/StdStorage.sol","10":"lib/forge-std/src/StdStyle.sol","11":"lib/forge-std/src/StdUtils.sol","12":"lib/forge-std/src/Test.sol","13":"lib/forge-std/src/Vm.sol","14":"lib/forge-std/src/console.sol","15":"lib/forge-std/src/console2.sol","16":"lib/forge-std/src/interfaces/IMulticall3.sol","17":"src/Multicall.sol","18":"src/Multicall2.sol","19":"src/Multicall3.sol","20":"src/interfaces/IMulticall.sol","21":"src/interfaces/IMulticall2.sol","22":"src/interfaces/IMulticall3.sol","23":"src/test/Multicall.t.sol","24":"src/test/Multicall2.t.sol","25":"src/test/Multicall3.t.sol","26":"src/test/mocks/EtherSink.sol","27":"src/test/mocks/MockCallee.sol"},"language":"Solidity","_format":"ethers-rs-sol-build-info-1","input":{"version":"0.8.12","language":"Solidity","sources":{"lib/forge-std/lib/ds-test/src/test.sol":{"content":"// SPDX-License-Identifier: GPL-3.0-or-later\n\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n\n// You should have received a copy of the GNU General Public License\n// along with this program. If not, see .\n\npragma solidity >=0.5.0;\n\ncontract DSTest {\n event log (string);\n event logs (bytes);\n\n event log_address (address);\n event log_bytes32 (bytes32);\n event log_int (int);\n event log_uint (uint);\n event log_bytes (bytes);\n event log_string (string);\n\n event log_named_address (string key, address val);\n event log_named_bytes32 (string key, bytes32 val);\n event log_named_decimal_int (string key, int val, uint decimals);\n event log_named_decimal_uint (string key, uint val, uint decimals);\n event log_named_int (string key, int val);\n event log_named_uint (string key, uint val);\n event log_named_bytes (string key, bytes val);\n event log_named_string (string key, string val);\n\n bool public IS_TEST = true;\n bool private _failed;\n\n address constant HEVM_ADDRESS =\n address(bytes20(uint160(uint256(keccak256('hevm cheat code')))));\n\n modifier mayRevert() { _; }\n modifier testopts(string memory) { _; }\n\n function failed() public returns (bool) {\n if (_failed) {\n return _failed;\n } else {\n bool globalFailed = false;\n if (hasHEVMContext()) {\n (, bytes memory retdata) = HEVM_ADDRESS.call(\n abi.encodePacked(\n bytes4(keccak256(\"load(address,bytes32)\")),\n abi.encode(HEVM_ADDRESS, bytes32(\"failed\"))\n )\n );\n globalFailed = abi.decode(retdata, (bool));\n }\n return globalFailed;\n }\n }\n\n function fail() internal virtual {\n if (hasHEVMContext()) {\n (bool status, ) = HEVM_ADDRESS.call(\n abi.encodePacked(\n bytes4(keccak256(\"store(address,bytes32,bytes32)\")),\n abi.encode(HEVM_ADDRESS, bytes32(\"failed\"), bytes32(uint256(0x01)))\n )\n );\n status; // Silence compiler warnings\n }\n _failed = true;\n }\n\n function hasHEVMContext() internal view returns (bool) {\n uint256 hevmCodeSize = 0;\n assembly {\n hevmCodeSize := extcodesize(0x7109709ECfa91a80626fF3989D68f67F5b1DD12D)\n }\n return hevmCodeSize > 0;\n }\n\n modifier logs_gas() {\n uint startGas = gasleft();\n _;\n uint endGas = gasleft();\n emit log_named_uint(\"gas\", startGas - endGas);\n }\n\n function assertTrue(bool condition) internal {\n if (!condition) {\n emit log(\"Error: Assertion Failed\");\n fail();\n }\n }\n\n function assertTrue(bool condition, string memory err) internal {\n if (!condition) {\n emit log_named_string(\"Error\", err);\n assertTrue(condition);\n }\n }\n\n function assertEq(address a, address b) internal {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [address]\");\n emit log_named_address(\" Left\", a);\n emit log_named_address(\" Right\", b);\n fail();\n }\n }\n function assertEq(address a, address b, string memory err) internal {\n if (a != b) {\n emit log_named_string (\"Error\", err);\n assertEq(a, b);\n }\n }\n\n function assertEq(bytes32 a, bytes32 b) internal {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [bytes32]\");\n emit log_named_bytes32(\" Left\", a);\n emit log_named_bytes32(\" Right\", b);\n fail();\n }\n }\n function assertEq(bytes32 a, bytes32 b, string memory err) internal {\n if (a != b) {\n emit log_named_string (\"Error\", err);\n assertEq(a, b);\n }\n }\n function assertEq32(bytes32 a, bytes32 b) internal {\n assertEq(a, b);\n }\n function assertEq32(bytes32 a, bytes32 b, string memory err) internal {\n assertEq(a, b, err);\n }\n\n function assertEq(int a, int b) internal {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [int]\");\n emit log_named_int(\" Left\", a);\n emit log_named_int(\" Right\", b);\n fail();\n }\n }\n function assertEq(int a, int b, string memory err) internal {\n if (a != b) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n function assertEq(uint a, uint b) internal {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [uint]\");\n emit log_named_uint(\" Left\", a);\n emit log_named_uint(\" Right\", b);\n fail();\n }\n }\n function assertEq(uint a, uint b, string memory err) internal {\n if (a != b) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n function assertEqDecimal(int a, int b, uint decimals) internal {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [decimal int]\");\n emit log_named_decimal_int(\" Left\", a, decimals);\n emit log_named_decimal_int(\" Right\", b, decimals);\n fail();\n }\n }\n function assertEqDecimal(int a, int b, uint decimals, string memory err) internal {\n if (a != b) {\n emit log_named_string(\"Error\", err);\n assertEqDecimal(a, b, decimals);\n }\n }\n function assertEqDecimal(uint a, uint b, uint decimals) internal {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [decimal uint]\");\n emit log_named_decimal_uint(\" Left\", a, decimals);\n emit log_named_decimal_uint(\" Right\", b, decimals);\n fail();\n }\n }\n function assertEqDecimal(uint a, uint b, uint decimals, string memory err) internal {\n if (a != b) {\n emit log_named_string(\"Error\", err);\n assertEqDecimal(a, b, decimals);\n }\n }\n\n function assertGt(uint a, uint b) internal {\n if (a <= b) {\n emit log(\"Error: a > b not satisfied [uint]\");\n emit log_named_uint(\" Value a\", a);\n emit log_named_uint(\" Value b\", b);\n fail();\n }\n }\n function assertGt(uint a, uint b, string memory err) internal {\n if (a <= b) {\n emit log_named_string(\"Error\", err);\n assertGt(a, b);\n }\n }\n function assertGt(int a, int b) internal {\n if (a <= b) {\n emit log(\"Error: a > b not satisfied [int]\");\n emit log_named_int(\" Value a\", a);\n emit log_named_int(\" Value b\", b);\n fail();\n }\n }\n function assertGt(int a, int b, string memory err) internal {\n if (a <= b) {\n emit log_named_string(\"Error\", err);\n assertGt(a, b);\n }\n }\n function assertGtDecimal(int a, int b, uint decimals) internal {\n if (a <= b) {\n emit log(\"Error: a > b not satisfied [decimal int]\");\n emit log_named_decimal_int(\" Value a\", a, decimals);\n emit log_named_decimal_int(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertGtDecimal(int a, int b, uint decimals, string memory err) internal {\n if (a <= b) {\n emit log_named_string(\"Error\", err);\n assertGtDecimal(a, b, decimals);\n }\n }\n function assertGtDecimal(uint a, uint b, uint decimals) internal {\n if (a <= b) {\n emit log(\"Error: a > b not satisfied [decimal uint]\");\n emit log_named_decimal_uint(\" Value a\", a, decimals);\n emit log_named_decimal_uint(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertGtDecimal(uint a, uint b, uint decimals, string memory err) internal {\n if (a <= b) {\n emit log_named_string(\"Error\", err);\n assertGtDecimal(a, b, decimals);\n }\n }\n\n function assertGe(uint a, uint b) internal {\n if (a < b) {\n emit log(\"Error: a >= b not satisfied [uint]\");\n emit log_named_uint(\" Value a\", a);\n emit log_named_uint(\" Value b\", b);\n fail();\n }\n }\n function assertGe(uint a, uint b, string memory err) internal {\n if (a < b) {\n emit log_named_string(\"Error\", err);\n assertGe(a, b);\n }\n }\n function assertGe(int a, int b) internal {\n if (a < b) {\n emit log(\"Error: a >= b not satisfied [int]\");\n emit log_named_int(\" Value a\", a);\n emit log_named_int(\" Value b\", b);\n fail();\n }\n }\n function assertGe(int a, int b, string memory err) internal {\n if (a < b) {\n emit log_named_string(\"Error\", err);\n assertGe(a, b);\n }\n }\n function assertGeDecimal(int a, int b, uint decimals) internal {\n if (a < b) {\n emit log(\"Error: a >= b not satisfied [decimal int]\");\n emit log_named_decimal_int(\" Value a\", a, decimals);\n emit log_named_decimal_int(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertGeDecimal(int a, int b, uint decimals, string memory err) internal {\n if (a < b) {\n emit log_named_string(\"Error\", err);\n assertGeDecimal(a, b, decimals);\n }\n }\n function assertGeDecimal(uint a, uint b, uint decimals) internal {\n if (a < b) {\n emit log(\"Error: a >= b not satisfied [decimal uint]\");\n emit log_named_decimal_uint(\" Value a\", a, decimals);\n emit log_named_decimal_uint(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertGeDecimal(uint a, uint b, uint decimals, string memory err) internal {\n if (a < b) {\n emit log_named_string(\"Error\", err);\n assertGeDecimal(a, b, decimals);\n }\n }\n\n function assertLt(uint a, uint b) internal {\n if (a >= b) {\n emit log(\"Error: a < b not satisfied [uint]\");\n emit log_named_uint(\" Value a\", a);\n emit log_named_uint(\" Value b\", b);\n fail();\n }\n }\n function assertLt(uint a, uint b, string memory err) internal {\n if (a >= b) {\n emit log_named_string(\"Error\", err);\n assertLt(a, b);\n }\n }\n function assertLt(int a, int b) internal {\n if (a >= b) {\n emit log(\"Error: a < b not satisfied [int]\");\n emit log_named_int(\" Value a\", a);\n emit log_named_int(\" Value b\", b);\n fail();\n }\n }\n function assertLt(int a, int b, string memory err) internal {\n if (a >= b) {\n emit log_named_string(\"Error\", err);\n assertLt(a, b);\n }\n }\n function assertLtDecimal(int a, int b, uint decimals) internal {\n if (a >= b) {\n emit log(\"Error: a < b not satisfied [decimal int]\");\n emit log_named_decimal_int(\" Value a\", a, decimals);\n emit log_named_decimal_int(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertLtDecimal(int a, int b, uint decimals, string memory err) internal {\n if (a >= b) {\n emit log_named_string(\"Error\", err);\n assertLtDecimal(a, b, decimals);\n }\n }\n function assertLtDecimal(uint a, uint b, uint decimals) internal {\n if (a >= b) {\n emit log(\"Error: a < b not satisfied [decimal uint]\");\n emit log_named_decimal_uint(\" Value a\", a, decimals);\n emit log_named_decimal_uint(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertLtDecimal(uint a, uint b, uint decimals, string memory err) internal {\n if (a >= b) {\n emit log_named_string(\"Error\", err);\n assertLtDecimal(a, b, decimals);\n }\n }\n\n function assertLe(uint a, uint b) internal {\n if (a > b) {\n emit log(\"Error: a <= b not satisfied [uint]\");\n emit log_named_uint(\" Value a\", a);\n emit log_named_uint(\" Value b\", b);\n fail();\n }\n }\n function assertLe(uint a, uint b, string memory err) internal {\n if (a > b) {\n emit log_named_string(\"Error\", err);\n assertLe(a, b);\n }\n }\n function assertLe(int a, int b) internal {\n if (a > b) {\n emit log(\"Error: a <= b not satisfied [int]\");\n emit log_named_int(\" Value a\", a);\n emit log_named_int(\" Value b\", b);\n fail();\n }\n }\n function assertLe(int a, int b, string memory err) internal {\n if (a > b) {\n emit log_named_string(\"Error\", err);\n assertLe(a, b);\n }\n }\n function assertLeDecimal(int a, int b, uint decimals) internal {\n if (a > b) {\n emit log(\"Error: a <= b not satisfied [decimal int]\");\n emit log_named_decimal_int(\" Value a\", a, decimals);\n emit log_named_decimal_int(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertLeDecimal(int a, int b, uint decimals, string memory err) internal {\n if (a > b) {\n emit log_named_string(\"Error\", err);\n assertLeDecimal(a, b, decimals);\n }\n }\n function assertLeDecimal(uint a, uint b, uint decimals) internal {\n if (a > b) {\n emit log(\"Error: a <= b not satisfied [decimal uint]\");\n emit log_named_decimal_uint(\" Value a\", a, decimals);\n emit log_named_decimal_uint(\" Value b\", b, decimals);\n fail();\n }\n }\n function assertLeDecimal(uint a, uint b, uint decimals, string memory err) internal {\n if (a > b) {\n emit log_named_string(\"Error\", err);\n assertLeDecimal(a, b, decimals);\n }\n }\n\n function assertEq(string memory a, string memory b) internal {\n if (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b))) {\n emit log(\"Error: a == b not satisfied [string]\");\n emit log_named_string(\" Left\", a);\n emit log_named_string(\" Right\", b);\n fail();\n }\n }\n function assertEq(string memory a, string memory b, string memory err) internal {\n if (keccak256(abi.encodePacked(a)) != keccak256(abi.encodePacked(b))) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n\n function checkEq0(bytes memory a, bytes memory b) internal pure returns (bool ok) {\n ok = true;\n if (a.length == b.length) {\n for (uint i = 0; i < a.length; i++) {\n if (a[i] != b[i]) {\n ok = false;\n }\n }\n } else {\n ok = false;\n }\n }\n function assertEq0(bytes memory a, bytes memory b) internal {\n if (!checkEq0(a, b)) {\n emit log(\"Error: a == b not satisfied [bytes]\");\n emit log_named_bytes(\" Left\", a);\n emit log_named_bytes(\" Right\", b);\n fail();\n }\n }\n function assertEq0(bytes memory a, bytes memory b, string memory err) internal {\n if (!checkEq0(a, b)) {\n emit log_named_string(\"Error\", err);\n assertEq0(a, b);\n }\n }\n}\n"},"lib/forge-std/src/Base.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {StdStorage} from \"./StdStorage.sol\";\nimport {Vm, VmSafe} from \"./Vm.sol\";\n\nabstract contract CommonBase {\n // Cheat code address, 0x7109709ECfa91a80626fF3989D68f67F5b1DD12D.\n address internal constant VM_ADDRESS = address(uint160(uint256(keccak256(\"hevm cheat code\"))));\n // console.sol and console2.sol work by executing a staticcall to this address.\n address internal constant CONSOLE = 0x000000000000000000636F6e736F6c652e6c6f67;\n // Default address for tx.origin and msg.sender, 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38.\n address internal constant DEFAULT_SENDER = address(uint160(uint256(keccak256(\"foundry default caller\"))));\n // Address of the test contract, deployed by the DEFAULT_SENDER.\n address internal constant DEFAULT_TEST_CONTRACT = 0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f;\n // Deterministic deployment address of the Multicall3 contract.\n address internal constant MULTICALL3_ADDRESS = 0xcA11bde05977b3631167028862bE2a173976CA11;\n\n uint256 internal constant UINT256_MAX =\n 115792089237316195423570985008687907853269984665640564039457584007913129639935;\n\n Vm internal constant vm = Vm(VM_ADDRESS);\n StdStorage internal stdstore;\n}\n\nabstract contract TestBase is CommonBase {}\n\nabstract contract ScriptBase is CommonBase {\n // Used when deploying with create2, https://github.com/Arachnid/deterministic-deployment-proxy.\n address internal constant CREATE2_FACTORY = 0x4e59b44847b379578588920cA78FbF26c0B4956C;\n\n VmSafe internal constant vmSafe = VmSafe(VM_ADDRESS);\n}\n"},"lib/forge-std/src/StdAssertions.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {DSTest} from \"ds-test/test.sol\";\nimport {stdMath} from \"./StdMath.sol\";\n\nabstract contract StdAssertions is DSTest {\n event log_array(uint256[] val);\n event log_array(int256[] val);\n event log_array(address[] val);\n event log_named_array(string key, uint256[] val);\n event log_named_array(string key, int256[] val);\n event log_named_array(string key, address[] val);\n\n function fail(string memory err) internal virtual {\n emit log_named_string(\"Error\", err);\n fail();\n }\n\n function assertFalse(bool data) internal virtual {\n assertTrue(!data);\n }\n\n function assertFalse(bool data, string memory err) internal virtual {\n assertTrue(!data, err);\n }\n\n function assertEq(bool a, bool b) internal virtual {\n if (a != b) {\n emit log(\"Error: a == b not satisfied [bool]\");\n emit log_named_string(\" Left\", a ? \"true\" : \"false\");\n emit log_named_string(\" Right\", b ? \"true\" : \"false\");\n fail();\n }\n }\n\n function assertEq(bool a, bool b, string memory err) internal virtual {\n if (a != b) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n\n function assertEq(bytes memory a, bytes memory b) internal virtual {\n assertEq0(a, b);\n }\n\n function assertEq(bytes memory a, bytes memory b, string memory err) internal virtual {\n assertEq0(a, b, err);\n }\n\n function assertEq(uint256[] memory a, uint256[] memory b) internal virtual {\n if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {\n emit log(\"Error: a == b not satisfied [uint[]]\");\n emit log_named_array(\" Left\", a);\n emit log_named_array(\" Right\", b);\n fail();\n }\n }\n\n function assertEq(int256[] memory a, int256[] memory b) internal virtual {\n if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {\n emit log(\"Error: a == b not satisfied [int[]]\");\n emit log_named_array(\" Left\", a);\n emit log_named_array(\" Right\", b);\n fail();\n }\n }\n\n function assertEq(address[] memory a, address[] memory b) internal virtual {\n if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {\n emit log(\"Error: a == b not satisfied [address[]]\");\n emit log_named_array(\" Left\", a);\n emit log_named_array(\" Right\", b);\n fail();\n }\n }\n\n function assertEq(uint256[] memory a, uint256[] memory b, string memory err) internal virtual {\n if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n\n function assertEq(int256[] memory a, int256[] memory b, string memory err) internal virtual {\n if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n\n function assertEq(address[] memory a, address[] memory b, string memory err) internal virtual {\n if (keccak256(abi.encode(a)) != keccak256(abi.encode(b))) {\n emit log_named_string(\"Error\", err);\n assertEq(a, b);\n }\n }\n\n // Legacy helper\n function assertEqUint(uint256 a, uint256 b) internal virtual {\n assertEq(uint256(a), uint256(b));\n }\n\n function assertApproxEqAbs(uint256 a, uint256 b, uint256 maxDelta) internal virtual {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log(\"Error: a ~= b not satisfied [uint]\");\n emit log_named_uint(\" Left\", a);\n emit log_named_uint(\" Right\", b);\n emit log_named_uint(\" Max Delta\", maxDelta);\n emit log_named_uint(\" Delta\", delta);\n fail();\n }\n }\n\n function assertApproxEqAbs(uint256 a, uint256 b, uint256 maxDelta, string memory err) internal virtual {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqAbs(a, b, maxDelta);\n }\n }\n\n function assertApproxEqAbsDecimal(uint256 a, uint256 b, uint256 maxDelta, uint256 decimals) internal virtual {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log(\"Error: a ~= b not satisfied [uint]\");\n emit log_named_decimal_uint(\" Left\", a, decimals);\n emit log_named_decimal_uint(\" Right\", b, decimals);\n emit log_named_decimal_uint(\" Max Delta\", maxDelta, decimals);\n emit log_named_decimal_uint(\" Delta\", delta, decimals);\n fail();\n }\n }\n\n function assertApproxEqAbsDecimal(uint256 a, uint256 b, uint256 maxDelta, uint256 decimals, string memory err)\n internal\n virtual\n {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqAbsDecimal(a, b, maxDelta, decimals);\n }\n }\n\n function assertApproxEqAbs(int256 a, int256 b, uint256 maxDelta) internal virtual {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log(\"Error: a ~= b not satisfied [int]\");\n emit log_named_int(\" Left\", a);\n emit log_named_int(\" Right\", b);\n emit log_named_uint(\" Max Delta\", maxDelta);\n emit log_named_uint(\" Delta\", delta);\n fail();\n }\n }\n\n function assertApproxEqAbs(int256 a, int256 b, uint256 maxDelta, string memory err) internal virtual {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqAbs(a, b, maxDelta);\n }\n }\n\n function assertApproxEqAbsDecimal(int256 a, int256 b, uint256 maxDelta, uint256 decimals) internal virtual {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log(\"Error: a ~= b not satisfied [int]\");\n emit log_named_decimal_int(\" Left\", a, decimals);\n emit log_named_decimal_int(\" Right\", b, decimals);\n emit log_named_decimal_uint(\" Max Delta\", maxDelta, decimals);\n emit log_named_decimal_uint(\" Delta\", delta, decimals);\n fail();\n }\n }\n\n function assertApproxEqAbsDecimal(int256 a, int256 b, uint256 maxDelta, uint256 decimals, string memory err)\n internal\n virtual\n {\n uint256 delta = stdMath.delta(a, b);\n\n if (delta > maxDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqAbsDecimal(a, b, maxDelta, decimals);\n }\n }\n\n function assertApproxEqRel(\n uint256 a,\n uint256 b,\n uint256 maxPercentDelta // An 18 decimal fixed point number, where 1e18 == 100%\n ) internal virtual {\n if (b == 0) return assertEq(a, b); // If the left is 0, right must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log(\"Error: a ~= b not satisfied [uint]\");\n emit log_named_uint(\" Left\", a);\n emit log_named_uint(\" Right\", b);\n emit log_named_decimal_uint(\" Max % Delta\", maxPercentDelta, 18);\n emit log_named_decimal_uint(\" % Delta\", percentDelta, 18);\n fail();\n }\n }\n\n function assertApproxEqRel(\n uint256 a,\n uint256 b,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n string memory err\n ) internal virtual {\n if (b == 0) return assertEq(a, b, err); // If the left is 0, right must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqRel(a, b, maxPercentDelta);\n }\n }\n\n function assertApproxEqRelDecimal(\n uint256 a,\n uint256 b,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n uint256 decimals\n ) internal virtual {\n if (b == 0) return assertEq(a, b); // If the left is 0, right must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log(\"Error: a ~= b not satisfied [uint]\");\n emit log_named_decimal_uint(\" Left\", a, decimals);\n emit log_named_decimal_uint(\" Right\", b, decimals);\n emit log_named_decimal_uint(\" Max % Delta\", maxPercentDelta, 18);\n emit log_named_decimal_uint(\" % Delta\", percentDelta, 18);\n fail();\n }\n }\n\n function assertApproxEqRelDecimal(\n uint256 a,\n uint256 b,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n uint256 decimals,\n string memory err\n ) internal virtual {\n if (b == 0) return assertEq(a, b, err); // If the left is 0, right must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals);\n }\n }\n\n function assertApproxEqRel(int256 a, int256 b, uint256 maxPercentDelta) internal virtual {\n if (b == 0) return assertEq(a, b); // If the left is 0, right must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log(\"Error: a ~= b not satisfied [int]\");\n emit log_named_int(\" Left\", a);\n emit log_named_int(\" Right\", b);\n emit log_named_decimal_uint(\" Max % Delta\", maxPercentDelta, 18);\n emit log_named_decimal_uint(\" % Delta\", percentDelta, 18);\n fail();\n }\n }\n\n function assertApproxEqRel(int256 a, int256 b, uint256 maxPercentDelta, string memory err) internal virtual {\n if (b == 0) return assertEq(a, b, err); // If the left is 0, right must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqRel(a, b, maxPercentDelta);\n }\n }\n\n function assertApproxEqRelDecimal(int256 a, int256 b, uint256 maxPercentDelta, uint256 decimals) internal virtual {\n if (b == 0) return assertEq(a, b); // If the left is 0, right must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log(\"Error: a ~= b not satisfied [int]\");\n emit log_named_decimal_int(\" Left\", a, decimals);\n emit log_named_decimal_int(\" Right\", b, decimals);\n emit log_named_decimal_uint(\" Max % Delta\", maxPercentDelta, 18);\n emit log_named_decimal_uint(\" % Delta\", percentDelta, 18);\n fail();\n }\n }\n\n function assertApproxEqRelDecimal(int256 a, int256 b, uint256 maxPercentDelta, uint256 decimals, string memory err)\n internal\n virtual\n {\n if (b == 0) return assertEq(a, b, err); // If the left is 0, right must be too.\n\n uint256 percentDelta = stdMath.percentDelta(a, b);\n\n if (percentDelta > maxPercentDelta) {\n emit log_named_string(\"Error\", err);\n assertApproxEqRelDecimal(a, b, maxPercentDelta, decimals);\n }\n }\n\n function assertEqCall(address target, bytes memory callDataA, bytes memory callDataB) internal virtual {\n assertEqCall(target, callDataA, target, callDataB, true);\n }\n\n function assertEqCall(address targetA, bytes memory callDataA, address targetB, bytes memory callDataB)\n internal\n virtual\n {\n assertEqCall(targetA, callDataA, targetB, callDataB, true);\n }\n\n function assertEqCall(address target, bytes memory callDataA, bytes memory callDataB, bool strictRevertData)\n internal\n virtual\n {\n assertEqCall(target, callDataA, target, callDataB, strictRevertData);\n }\n\n function assertEqCall(\n address targetA,\n bytes memory callDataA,\n address targetB,\n bytes memory callDataB,\n bool strictRevertData\n ) internal virtual {\n (bool successA, bytes memory returnDataA) = address(targetA).call(callDataA);\n (bool successB, bytes memory returnDataB) = address(targetB).call(callDataB);\n\n if (successA && successB) {\n assertEq(returnDataA, returnDataB, \"Call return data does not match\");\n }\n\n if (!successA && !successB && strictRevertData) {\n assertEq(returnDataA, returnDataB, \"Call revert data does not match\");\n }\n\n if (!successA && successB) {\n emit log(\"Error: Calls were not equal\");\n emit log_named_bytes(\" Left call revert data\", returnDataA);\n emit log_named_bytes(\" Right call return data\", returnDataB);\n fail();\n }\n\n if (successA && !successB) {\n emit log(\"Error: Calls were not equal\");\n emit log_named_bytes(\" Left call return data\", returnDataA);\n emit log_named_bytes(\" Right call revert data\", returnDataB);\n fail();\n }\n }\n}\n"},"lib/forge-std/src/StdChains.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {VmSafe} from \"./Vm.sol\";\n\n/**\n * StdChains provides information about EVM compatible chains that can be used in scripts/tests.\n * For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are\n * identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of\n * the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the\n * alias used in this contract, which can be found as the first argument to the\n * `setChainWithDefaultRpcUrl` call in the `initialize` function.\n *\n * There are two main ways to use this contract:\n * 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or\n * `setChain(string memory chainAlias, Chain memory chain)`\n * 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`.\n *\n * The first time either of those are used, chains are initialized with the default set of RPC URLs.\n * This is done in `initialize`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in\n * `defaultRpcUrls`.\n *\n * The `setChain` function is straightforward, and it simply saves off the given chain data.\n *\n * The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say\n * we want to retrieve `mainnet`'s RPC URL:\n * - If you haven't set any mainnet chain info with `setChain`, you haven't specified that\n * chain in `foundry.toml` and no env var is set, the default data and RPC URL will be returned.\n * - If you have set a mainnet RPC URL in `foundry.toml` it will return that, if valid (e.g. if\n * a URL is given or if an environment variable is given and that environment variable exists).\n * Otherwise, the default data is returned.\n * - If you specified data with `setChain` it will return that.\n *\n * Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults.\n */\nabstract contract StdChains {\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n bool private initialized;\n\n struct ChainData {\n string name;\n uint256 chainId;\n string rpcUrl;\n }\n\n struct Chain {\n // The chain name.\n string name;\n // The chain's Chain ID.\n uint256 chainId;\n // The chain's alias. (i.e. what gets specified in `foundry.toml`).\n string chainAlias;\n // A default RPC endpoint for this chain.\n // NOTE: This default RPC URL is included for convenience to facilitate quick tests and\n // experimentation. Do not use this RPC URL for production test suites, CI, or other heavy\n // usage as you will be throttled and this is a disservice to others who need this endpoint.\n string rpcUrl;\n }\n\n // Maps from the chain's alias (matching the alias in the `foundry.toml` file) to chain data.\n mapping(string => Chain) private chains;\n // Maps from the chain's alias to it's default RPC URL.\n mapping(string => string) private defaultRpcUrls;\n // Maps from a chain ID to it's alias.\n mapping(uint256 => string) private idToAlias;\n\n bool private fallbackToDefaultRpcUrls = true;\n\n // The RPC URL will be fetched from config or defaultRpcUrls if possible.\n function getChain(string memory chainAlias) internal virtual returns (Chain memory chain) {\n require(bytes(chainAlias).length != 0, \"StdChains getChain(string): Chain alias cannot be the empty string.\");\n\n initialize();\n chain = chains[chainAlias];\n require(\n chain.chainId != 0,\n string(abi.encodePacked(\"StdChains getChain(string): Chain with alias \\\"\", chainAlias, \"\\\" not found.\"))\n );\n\n chain = getChainWithUpdatedRpcUrl(chainAlias, chain);\n }\n\n function getChain(uint256 chainId) internal virtual returns (Chain memory chain) {\n require(chainId != 0, \"StdChains getChain(uint256): Chain ID cannot be 0.\");\n initialize();\n string memory chainAlias = idToAlias[chainId];\n\n chain = chains[chainAlias];\n\n require(\n chain.chainId != 0,\n string(abi.encodePacked(\"StdChains getChain(uint256): Chain with ID \", vm.toString(chainId), \" not found.\"))\n );\n\n chain = getChainWithUpdatedRpcUrl(chainAlias, chain);\n }\n\n // set chain info, with priority to argument's rpcUrl field.\n function setChain(string memory chainAlias, ChainData memory chain) internal virtual {\n require(\n bytes(chainAlias).length != 0,\n \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\"\n );\n\n require(chain.chainId != 0, \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\");\n\n initialize();\n string memory foundAlias = idToAlias[chain.chainId];\n\n require(\n bytes(foundAlias).length == 0 || keccak256(bytes(foundAlias)) == keccak256(bytes(chainAlias)),\n string(\n abi.encodePacked(\n \"StdChains setChain(string,ChainData): Chain ID \",\n vm.toString(chain.chainId),\n \" already used by \\\"\",\n foundAlias,\n \"\\\".\"\n )\n )\n );\n\n uint256 oldChainId = chains[chainAlias].chainId;\n delete idToAlias[oldChainId];\n\n chains[chainAlias] =\n Chain({name: chain.name, chainId: chain.chainId, chainAlias: chainAlias, rpcUrl: chain.rpcUrl});\n idToAlias[chain.chainId] = chainAlias;\n }\n\n // set chain info, with priority to argument's rpcUrl field.\n function setChain(string memory chainAlias, Chain memory chain) internal virtual {\n setChain(chainAlias, ChainData({name: chain.name, chainId: chain.chainId, rpcUrl: chain.rpcUrl}));\n }\n\n function _toUpper(string memory str) private pure returns (string memory) {\n bytes memory strb = bytes(str);\n bytes memory copy = new bytes(strb.length);\n for (uint256 i = 0; i < strb.length; i++) {\n bytes1 b = strb[i];\n if (b >= 0x61 && b <= 0x7A) {\n copy[i] = bytes1(uint8(b) - 32);\n } else {\n copy[i] = b;\n }\n }\n return string(copy);\n }\n\n // lookup rpcUrl, in descending order of priority:\n // current -> config (foundry.toml) -> environment variable -> default\n function getChainWithUpdatedRpcUrl(string memory chainAlias, Chain memory chain) private returns (Chain memory) {\n if (bytes(chain.rpcUrl).length == 0) {\n try vm.rpcUrl(chainAlias) returns (string memory configRpcUrl) {\n chain.rpcUrl = configRpcUrl;\n } catch (bytes memory err) {\n string memory envName = string(abi.encodePacked(_toUpper(chainAlias), \"_RPC_URL\"));\n if (fallbackToDefaultRpcUrls) {\n chain.rpcUrl = vm.envOr(envName, defaultRpcUrls[chainAlias]);\n } else {\n chain.rpcUrl = vm.envString(envName);\n }\n // distinguish 'not found' from 'cannot read'\n bytes memory notFoundError =\n abi.encodeWithSignature(\"CheatCodeError\", string(abi.encodePacked(\"invalid rpc url \", chainAlias)));\n if (keccak256(notFoundError) != keccak256(err) || bytes(chain.rpcUrl).length == 0) {\n /// @solidity memory-safe-assembly\n assembly {\n revert(add(32, err), mload(err))\n }\n }\n }\n }\n return chain;\n }\n\n function setFallbackToDefaultRpcUrls(bool useDefault) internal {\n fallbackToDefaultRpcUrls = useDefault;\n }\n\n function initialize() private {\n if (initialized) return;\n\n initialized = true;\n\n // If adding an RPC here, make sure to test the default RPC URL in `testRpcs`\n setChainWithDefaultRpcUrl(\"anvil\", ChainData(\"Anvil\", 31337, \"http://127.0.0.1:8545\"));\n setChainWithDefaultRpcUrl(\n \"mainnet\", ChainData(\"Mainnet\", 1, \"https://mainnet.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b\")\n );\n setChainWithDefaultRpcUrl(\n \"goerli\", ChainData(\"Goerli\", 5, \"https://goerli.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b\")\n );\n setChainWithDefaultRpcUrl(\n \"sepolia\", ChainData(\"Sepolia\", 11155111, \"https://sepolia.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b\")\n );\n setChainWithDefaultRpcUrl(\"optimism\", ChainData(\"Optimism\", 10, \"https://mainnet.optimism.io\"));\n setChainWithDefaultRpcUrl(\"optimism_goerli\", ChainData(\"Optimism Goerli\", 420, \"https://goerli.optimism.io\"));\n setChainWithDefaultRpcUrl(\"arbitrum_one\", ChainData(\"Arbitrum One\", 42161, \"https://arb1.arbitrum.io/rpc\"));\n setChainWithDefaultRpcUrl(\n \"arbitrum_one_goerli\", ChainData(\"Arbitrum One Goerli\", 421613, \"https://goerli-rollup.arbitrum.io/rpc\")\n );\n setChainWithDefaultRpcUrl(\"arbitrum_nova\", ChainData(\"Arbitrum Nova\", 42170, \"https://nova.arbitrum.io/rpc\"));\n setChainWithDefaultRpcUrl(\"polygon\", ChainData(\"Polygon\", 137, \"https://polygon-rpc.com\"));\n setChainWithDefaultRpcUrl(\n \"polygon_mumbai\", ChainData(\"Polygon Mumbai\", 80001, \"https://rpc-mumbai.maticvigil.com\")\n );\n setChainWithDefaultRpcUrl(\"avalanche\", ChainData(\"Avalanche\", 43114, \"https://api.avax.network/ext/bc/C/rpc\"));\n setChainWithDefaultRpcUrl(\n \"avalanche_fuji\", ChainData(\"Avalanche Fuji\", 43113, \"https://api.avax-test.network/ext/bc/C/rpc\")\n );\n setChainWithDefaultRpcUrl(\n \"bnb_smart_chain\", ChainData(\"BNB Smart Chain\", 56, \"https://bsc-dataseed1.binance.org\")\n );\n setChainWithDefaultRpcUrl(\n \"bnb_smart_chain_testnet\",\n ChainData(\"BNB Smart Chain Testnet\", 97, \"https://rpc.ankr.com/bsc_testnet_chapel\")\n );\n setChainWithDefaultRpcUrl(\"gnosis_chain\", ChainData(\"Gnosis Chain\", 100, \"https://rpc.gnosischain.com\"));\n }\n\n // set chain info, with priority to chainAlias' rpc url in foundry.toml\n function setChainWithDefaultRpcUrl(string memory chainAlias, ChainData memory chain) private {\n string memory rpcUrl = chain.rpcUrl;\n defaultRpcUrls[chainAlias] = rpcUrl;\n chain.rpcUrl = \"\";\n setChain(chainAlias, chain);\n chain.rpcUrl = rpcUrl; // restore argument\n }\n}\n"},"lib/forge-std/src/StdCheats.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {StdStorage, stdStorage} from \"./StdStorage.sol\";\nimport {Vm} from \"./Vm.sol\";\n\nabstract contract StdCheatsSafe {\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n bool private gasMeteringOff;\n\n // Data structures to parse Transaction objects from the broadcast artifact\n // that conform to EIP1559. The Raw structs is what is parsed from the JSON\n // and then converted to the one that is used by the user for better UX.\n\n struct RawTx1559 {\n string[] arguments;\n address contractAddress;\n string contractName;\n // json value name = function\n string functionSig;\n bytes32 hash;\n // json value name = tx\n RawTx1559Detail txDetail;\n // json value name = type\n string opcode;\n }\n\n struct RawTx1559Detail {\n AccessList[] accessList;\n bytes data;\n address from;\n bytes gas;\n bytes nonce;\n address to;\n bytes txType;\n bytes value;\n }\n\n struct Tx1559 {\n string[] arguments;\n address contractAddress;\n string contractName;\n string functionSig;\n bytes32 hash;\n Tx1559Detail txDetail;\n string opcode;\n }\n\n struct Tx1559Detail {\n AccessList[] accessList;\n bytes data;\n address from;\n uint256 gas;\n uint256 nonce;\n address to;\n uint256 txType;\n uint256 value;\n }\n\n // Data structures to parse Transaction objects from the broadcast artifact\n // that DO NOT conform to EIP1559. The Raw structs is what is parsed from the JSON\n // and then converted to the one that is used by the user for better UX.\n\n struct TxLegacy {\n string[] arguments;\n address contractAddress;\n string contractName;\n string functionSig;\n string hash;\n string opcode;\n TxDetailLegacy transaction;\n }\n\n struct TxDetailLegacy {\n AccessList[] accessList;\n uint256 chainId;\n bytes data;\n address from;\n uint256 gas;\n uint256 gasPrice;\n bytes32 hash;\n uint256 nonce;\n bytes1 opcode;\n bytes32 r;\n bytes32 s;\n uint256 txType;\n address to;\n uint8 v;\n uint256 value;\n }\n\n struct AccessList {\n address accessAddress;\n bytes32[] storageKeys;\n }\n\n // Data structures to parse Receipt objects from the broadcast artifact.\n // The Raw structs is what is parsed from the JSON\n // and then converted to the one that is used by the user for better UX.\n\n struct RawReceipt {\n bytes32 blockHash;\n bytes blockNumber;\n address contractAddress;\n bytes cumulativeGasUsed;\n bytes effectiveGasPrice;\n address from;\n bytes gasUsed;\n RawReceiptLog[] logs;\n bytes logsBloom;\n bytes status;\n address to;\n bytes32 transactionHash;\n bytes transactionIndex;\n }\n\n struct Receipt {\n bytes32 blockHash;\n uint256 blockNumber;\n address contractAddress;\n uint256 cumulativeGasUsed;\n uint256 effectiveGasPrice;\n address from;\n uint256 gasUsed;\n ReceiptLog[] logs;\n bytes logsBloom;\n uint256 status;\n address to;\n bytes32 transactionHash;\n uint256 transactionIndex;\n }\n\n // Data structures to parse the entire broadcast artifact, assuming the\n // transactions conform to EIP1559.\n\n struct EIP1559ScriptArtifact {\n string[] libraries;\n string path;\n string[] pending;\n Receipt[] receipts;\n uint256 timestamp;\n Tx1559[] transactions;\n TxReturn[] txReturns;\n }\n\n struct RawEIP1559ScriptArtifact {\n string[] libraries;\n string path;\n string[] pending;\n RawReceipt[] receipts;\n TxReturn[] txReturns;\n uint256 timestamp;\n RawTx1559[] transactions;\n }\n\n struct RawReceiptLog {\n // json value = address\n address logAddress;\n bytes32 blockHash;\n bytes blockNumber;\n bytes data;\n bytes logIndex;\n bool removed;\n bytes32[] topics;\n bytes32 transactionHash;\n bytes transactionIndex;\n bytes transactionLogIndex;\n }\n\n struct ReceiptLog {\n // json value = address\n address logAddress;\n bytes32 blockHash;\n uint256 blockNumber;\n bytes data;\n uint256 logIndex;\n bytes32[] topics;\n uint256 transactionIndex;\n uint256 transactionLogIndex;\n bool removed;\n }\n\n struct TxReturn {\n string internalType;\n string value;\n }\n\n function assumeNoPrecompiles(address addr) internal virtual {\n // Assembly required since `block.chainid` was introduced in 0.8.0.\n uint256 chainId;\n assembly {\n chainId := chainid()\n }\n assumeNoPrecompiles(addr, chainId);\n }\n\n function assumeNoPrecompiles(address addr, uint256 chainId) internal pure virtual {\n // Note: For some chains like Optimism these are technically predeploys (i.e. bytecode placed at a specific\n // address), but the same rationale for excluding them applies so we include those too.\n\n // These should be present on all EVM-compatible chains.\n vm.assume(addr < address(0x1) || addr > address(0x9));\n\n // forgefmt: disable-start\n if (chainId == 10 || chainId == 420) {\n // https://github.com/ethereum-optimism/optimism/blob/eaa371a0184b56b7ca6d9eb9cb0a2b78b2ccd864/op-bindings/predeploys/addresses.go#L6-L21\n vm.assume(addr < address(0x4200000000000000000000000000000000000000) || addr > address(0x4200000000000000000000000000000000000800));\n } else if (chainId == 42161 || chainId == 421613) {\n // https://developer.arbitrum.io/useful-addresses#arbitrum-precompiles-l2-same-on-all-arb-chains\n vm.assume(addr < address(0x0000000000000000000000000000000000000064) || addr > address(0x0000000000000000000000000000000000000068));\n } else if (chainId == 43114 || chainId == 43113) {\n // https://github.com/ava-labs/subnet-evm/blob/47c03fd007ecaa6de2c52ea081596e0a88401f58/precompile/params.go#L18-L59\n vm.assume(addr < address(0x0100000000000000000000000000000000000000) || addr > address(0x01000000000000000000000000000000000000ff));\n vm.assume(addr < address(0x0200000000000000000000000000000000000000) || addr > address(0x02000000000000000000000000000000000000FF));\n vm.assume(addr < address(0x0300000000000000000000000000000000000000) || addr > address(0x03000000000000000000000000000000000000Ff));\n }\n // forgefmt: disable-end\n }\n\n function readEIP1559ScriptArtifact(string memory path)\n internal\n view\n virtual\n returns (EIP1559ScriptArtifact memory)\n {\n string memory data = vm.readFile(path);\n bytes memory parsedData = vm.parseJson(data);\n RawEIP1559ScriptArtifact memory rawArtifact = abi.decode(parsedData, (RawEIP1559ScriptArtifact));\n EIP1559ScriptArtifact memory artifact;\n artifact.libraries = rawArtifact.libraries;\n artifact.path = rawArtifact.path;\n artifact.timestamp = rawArtifact.timestamp;\n artifact.pending = rawArtifact.pending;\n artifact.txReturns = rawArtifact.txReturns;\n artifact.receipts = rawToConvertedReceipts(rawArtifact.receipts);\n artifact.transactions = rawToConvertedEIPTx1559s(rawArtifact.transactions);\n return artifact;\n }\n\n function rawToConvertedEIPTx1559s(RawTx1559[] memory rawTxs) internal pure virtual returns (Tx1559[] memory) {\n Tx1559[] memory txs = new Tx1559[](rawTxs.length);\n for (uint256 i; i < rawTxs.length; i++) {\n txs[i] = rawToConvertedEIPTx1559(rawTxs[i]);\n }\n return txs;\n }\n\n function rawToConvertedEIPTx1559(RawTx1559 memory rawTx) internal pure virtual returns (Tx1559 memory) {\n Tx1559 memory transaction;\n transaction.arguments = rawTx.arguments;\n transaction.contractName = rawTx.contractName;\n transaction.functionSig = rawTx.functionSig;\n transaction.hash = rawTx.hash;\n transaction.txDetail = rawToConvertedEIP1559Detail(rawTx.txDetail);\n transaction.opcode = rawTx.opcode;\n return transaction;\n }\n\n function rawToConvertedEIP1559Detail(RawTx1559Detail memory rawDetail)\n internal\n pure\n virtual\n returns (Tx1559Detail memory)\n {\n Tx1559Detail memory txDetail;\n txDetail.data = rawDetail.data;\n txDetail.from = rawDetail.from;\n txDetail.to = rawDetail.to;\n txDetail.nonce = _bytesToUint(rawDetail.nonce);\n txDetail.txType = _bytesToUint(rawDetail.txType);\n txDetail.value = _bytesToUint(rawDetail.value);\n txDetail.gas = _bytesToUint(rawDetail.gas);\n txDetail.accessList = rawDetail.accessList;\n return txDetail;\n }\n\n function readTx1559s(string memory path) internal view virtual returns (Tx1559[] memory) {\n string memory deployData = vm.readFile(path);\n bytes memory parsedDeployData = vm.parseJson(deployData, \".transactions\");\n RawTx1559[] memory rawTxs = abi.decode(parsedDeployData, (RawTx1559[]));\n return rawToConvertedEIPTx1559s(rawTxs);\n }\n\n function readTx1559(string memory path, uint256 index) internal view virtual returns (Tx1559 memory) {\n string memory deployData = vm.readFile(path);\n string memory key = string(abi.encodePacked(\".transactions[\", vm.toString(index), \"]\"));\n bytes memory parsedDeployData = vm.parseJson(deployData, key);\n RawTx1559 memory rawTx = abi.decode(parsedDeployData, (RawTx1559));\n return rawToConvertedEIPTx1559(rawTx);\n }\n\n // Analogous to readTransactions, but for receipts.\n function readReceipts(string memory path) internal view virtual returns (Receipt[] memory) {\n string memory deployData = vm.readFile(path);\n bytes memory parsedDeployData = vm.parseJson(deployData, \".receipts\");\n RawReceipt[] memory rawReceipts = abi.decode(parsedDeployData, (RawReceipt[]));\n return rawToConvertedReceipts(rawReceipts);\n }\n\n function readReceipt(string memory path, uint256 index) internal view virtual returns (Receipt memory) {\n string memory deployData = vm.readFile(path);\n string memory key = string(abi.encodePacked(\".receipts[\", vm.toString(index), \"]\"));\n bytes memory parsedDeployData = vm.parseJson(deployData, key);\n RawReceipt memory rawReceipt = abi.decode(parsedDeployData, (RawReceipt));\n return rawToConvertedReceipt(rawReceipt);\n }\n\n function rawToConvertedReceipts(RawReceipt[] memory rawReceipts) internal pure virtual returns (Receipt[] memory) {\n Receipt[] memory receipts = new Receipt[](rawReceipts.length);\n for (uint256 i; i < rawReceipts.length; i++) {\n receipts[i] = rawToConvertedReceipt(rawReceipts[i]);\n }\n return receipts;\n }\n\n function rawToConvertedReceipt(RawReceipt memory rawReceipt) internal pure virtual returns (Receipt memory) {\n Receipt memory receipt;\n receipt.blockHash = rawReceipt.blockHash;\n receipt.to = rawReceipt.to;\n receipt.from = rawReceipt.from;\n receipt.contractAddress = rawReceipt.contractAddress;\n receipt.effectiveGasPrice = _bytesToUint(rawReceipt.effectiveGasPrice);\n receipt.cumulativeGasUsed = _bytesToUint(rawReceipt.cumulativeGasUsed);\n receipt.gasUsed = _bytesToUint(rawReceipt.gasUsed);\n receipt.status = _bytesToUint(rawReceipt.status);\n receipt.transactionIndex = _bytesToUint(rawReceipt.transactionIndex);\n receipt.blockNumber = _bytesToUint(rawReceipt.blockNumber);\n receipt.logs = rawToConvertedReceiptLogs(rawReceipt.logs);\n receipt.logsBloom = rawReceipt.logsBloom;\n receipt.transactionHash = rawReceipt.transactionHash;\n return receipt;\n }\n\n function rawToConvertedReceiptLogs(RawReceiptLog[] memory rawLogs)\n internal\n pure\n virtual\n returns (ReceiptLog[] memory)\n {\n ReceiptLog[] memory logs = new ReceiptLog[](rawLogs.length);\n for (uint256 i; i < rawLogs.length; i++) {\n logs[i].logAddress = rawLogs[i].logAddress;\n logs[i].blockHash = rawLogs[i].blockHash;\n logs[i].blockNumber = _bytesToUint(rawLogs[i].blockNumber);\n logs[i].data = rawLogs[i].data;\n logs[i].logIndex = _bytesToUint(rawLogs[i].logIndex);\n logs[i].topics = rawLogs[i].topics;\n logs[i].transactionIndex = _bytesToUint(rawLogs[i].transactionIndex);\n logs[i].transactionLogIndex = _bytesToUint(rawLogs[i].transactionLogIndex);\n logs[i].removed = rawLogs[i].removed;\n }\n return logs;\n }\n\n // Deploy a contract by fetching the contract bytecode from\n // the artifacts directory\n // e.g. `deployCode(code, abi.encode(arg1,arg2,arg3))`\n function deployCode(string memory what, bytes memory args) internal virtual returns (address addr) {\n bytes memory bytecode = abi.encodePacked(vm.getCode(what), args);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(0, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string,bytes): Deployment failed.\");\n }\n\n function deployCode(string memory what) internal virtual returns (address addr) {\n bytes memory bytecode = vm.getCode(what);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(0, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string): Deployment failed.\");\n }\n\n /// @dev deploy contract with value on construction\n function deployCode(string memory what, bytes memory args, uint256 val) internal virtual returns (address addr) {\n bytes memory bytecode = abi.encodePacked(vm.getCode(what), args);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(val, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\");\n }\n\n function deployCode(string memory what, uint256 val) internal virtual returns (address addr) {\n bytes memory bytecode = vm.getCode(what);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(val, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string,uint256): Deployment failed.\");\n }\n\n // creates a labeled address and the corresponding private key\n function makeAddrAndKey(string memory name) internal virtual returns (address addr, uint256 privateKey) {\n privateKey = uint256(keccak256(abi.encodePacked(name)));\n addr = vm.addr(privateKey);\n vm.label(addr, name);\n }\n\n // creates a labeled address\n function makeAddr(string memory name) internal virtual returns (address addr) {\n (addr,) = makeAddrAndKey(name);\n }\n\n function deriveRememberKey(string memory mnemonic, uint32 index)\n internal\n virtual\n returns (address who, uint256 privateKey)\n {\n privateKey = vm.deriveKey(mnemonic, index);\n who = vm.rememberKey(privateKey);\n }\n\n function _bytesToUint(bytes memory b) private pure returns (uint256) {\n require(b.length <= 32, \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\");\n return abi.decode(abi.encodePacked(new bytes(32 - b.length), b), (uint256));\n }\n\n function isFork() internal view virtual returns (bool status) {\n try vm.activeFork() {\n status = true;\n } catch (bytes memory) {}\n }\n\n modifier skipWhenForking() {\n if (!isFork()) {\n _;\n }\n }\n\n modifier skipWhenNotForking() {\n if (isFork()) {\n _;\n }\n }\n\n modifier noGasMetering() {\n vm.pauseGasMetering();\n // To prevent turning gas monitoring back on with nested functions that use this modifier,\n // we check if gasMetering started in the off position. If it did, we don't want to turn\n // it back on until we exit the top level function that used the modifier\n //\n // i.e. funcA() noGasMetering { funcB() }, where funcB has noGasMetering as well.\n // funcA will have `gasStartedOff` as false, funcB will have it as true,\n // so we only turn metering back on at the end of the funcA\n bool gasStartedOff = gasMeteringOff;\n gasMeteringOff = true;\n\n _;\n\n // if gas metering was on when this modifier was called, turn it back on at the end\n if (!gasStartedOff) {\n gasMeteringOff = false;\n vm.resumeGasMetering();\n }\n }\n\n // a cheat for fuzzing addresses that are payable only\n // see https://github.com/foundry-rs/foundry/issues/3631\n function assumePayable(address addr) internal virtual {\n (bool success,) = payable(addr).call{value: 0}(\"\");\n vm.assume(success);\n }\n}\n\n// Wrappers around cheatcodes to avoid footguns\nabstract contract StdCheats is StdCheatsSafe {\n using stdStorage for StdStorage;\n\n StdStorage private stdstore;\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n // Skip forward or rewind time by the specified number of seconds\n function skip(uint256 time) internal virtual {\n vm.warp(block.timestamp + time);\n }\n\n function rewind(uint256 time) internal virtual {\n vm.warp(block.timestamp - time);\n }\n\n // Setup a prank from an address that has some ether\n function hoax(address msgSender) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.prank(msgSender);\n }\n\n function hoax(address msgSender, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.prank(msgSender);\n }\n\n function hoax(address msgSender, address origin) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.prank(msgSender, origin);\n }\n\n function hoax(address msgSender, address origin, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.prank(msgSender, origin);\n }\n\n // Start perpetual prank from an address that has some ether\n function startHoax(address msgSender) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.startPrank(msgSender);\n }\n\n function startHoax(address msgSender, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.startPrank(msgSender);\n }\n\n // Start perpetual prank from an address that has some ether\n // tx.origin is set to the origin parameter\n function startHoax(address msgSender, address origin) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.startPrank(msgSender, origin);\n }\n\n function startHoax(address msgSender, address origin, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.startPrank(msgSender, origin);\n }\n\n function changePrank(address msgSender) internal virtual {\n vm.stopPrank();\n vm.startPrank(msgSender);\n }\n\n // The same as Vm's `deal`\n // Use the alternative signature for ERC20 tokens\n function deal(address to, uint256 give) internal virtual {\n vm.deal(to, give);\n }\n\n // Set the balance of an account for any ERC20 token\n // Use the alternative signature to update `totalSupply`\n function deal(address token, address to, uint256 give) internal virtual {\n deal(token, to, give, false);\n }\n\n // Set the balance of an account for any ERC1155 token\n // Use the alternative signature to update `totalSupply`\n function dealERC1155(address token, address to, uint256 id, uint256 give) internal virtual {\n dealERC1155(token, to, id, give, false);\n }\n\n function deal(address token, address to, uint256 give, bool adjust) internal virtual {\n // get current balance\n (, bytes memory balData) = token.call(abi.encodeWithSelector(0x70a08231, to));\n uint256 prevBal = abi.decode(balData, (uint256));\n\n // update balance\n stdstore.target(token).sig(0x70a08231).with_key(to).checked_write(give);\n\n // update total supply\n if (adjust) {\n (, bytes memory totSupData) = token.call(abi.encodeWithSelector(0x18160ddd));\n uint256 totSup = abi.decode(totSupData, (uint256));\n if (give < prevBal) {\n totSup -= (prevBal - give);\n } else {\n totSup += (give - prevBal);\n }\n stdstore.target(token).sig(0x18160ddd).checked_write(totSup);\n }\n }\n\n function dealERC1155(address token, address to, uint256 id, uint256 give, bool adjust) internal virtual {\n // get current balance\n (, bytes memory balData) = token.call(abi.encodeWithSelector(0x00fdd58e, to, id));\n uint256 prevBal = abi.decode(balData, (uint256));\n\n // update balance\n stdstore.target(token).sig(0x00fdd58e).with_key(to).with_key(id).checked_write(give);\n\n // update total supply\n if (adjust) {\n (, bytes memory totSupData) = token.call(abi.encodeWithSelector(0xbd85b039, id));\n require(\n totSupData.length != 0,\n \"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply.\"\n );\n uint256 totSup = abi.decode(totSupData, (uint256));\n if (give < prevBal) {\n totSup -= (prevBal - give);\n } else {\n totSup += (give - prevBal);\n }\n stdstore.target(token).sig(0xbd85b039).with_key(id).checked_write(totSup);\n }\n }\n\n function dealERC721(address token, address to, uint256 id) internal virtual {\n // check if token id is already minted and the actual owner.\n (bool successMinted, bytes memory ownerData) = token.staticcall(abi.encodeWithSelector(0x6352211e, id));\n require(successMinted, \"StdCheats deal(address,address,uint,bool): id not minted.\");\n\n // get owner current balance\n (, bytes memory fromBalData) = token.call(abi.encodeWithSelector(0x70a08231, abi.decode(ownerData, (address))));\n uint256 fromPrevBal = abi.decode(fromBalData, (uint256));\n\n // get new user current balance\n (, bytes memory toBalData) = token.call(abi.encodeWithSelector(0x70a08231, to));\n uint256 toPrevBal = abi.decode(toBalData, (uint256));\n\n // update balances\n stdstore.target(token).sig(0x70a08231).with_key(abi.decode(ownerData, (address))).checked_write(--fromPrevBal);\n stdstore.target(token).sig(0x70a08231).with_key(to).checked_write(++toPrevBal);\n\n // update owner\n stdstore.target(token).sig(0x6352211e).with_key(id).checked_write(to);\n }\n}\n"},"lib/forge-std/src/StdError.sol":{"content":"// SPDX-License-Identifier: MIT\n// Panics work for versions >=0.8.0, but we lowered the pragma to make this compatible with Test\npragma solidity >=0.6.2 <0.9.0;\n\nlibrary stdError {\n bytes public constant assertionError = abi.encodeWithSignature(\"Panic(uint256)\", 0x01);\n bytes public constant arithmeticError = abi.encodeWithSignature(\"Panic(uint256)\", 0x11);\n bytes public constant divisionError = abi.encodeWithSignature(\"Panic(uint256)\", 0x12);\n bytes public constant enumConversionError = abi.encodeWithSignature(\"Panic(uint256)\", 0x21);\n bytes public constant encodeStorageError = abi.encodeWithSignature(\"Panic(uint256)\", 0x22);\n bytes public constant popError = abi.encodeWithSignature(\"Panic(uint256)\", 0x31);\n bytes public constant indexOOBError = abi.encodeWithSignature(\"Panic(uint256)\", 0x32);\n bytes public constant memOverflowError = abi.encodeWithSignature(\"Panic(uint256)\", 0x41);\n bytes public constant zeroVarError = abi.encodeWithSignature(\"Panic(uint256)\", 0x51);\n}\n"},"lib/forge-std/src/StdInvariant.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\ncontract StdInvariant {\n struct FuzzSelector {\n address addr;\n bytes4[] selectors;\n }\n\n address[] private _excludedContracts;\n address[] private _excludedSenders;\n address[] private _targetedContracts;\n address[] private _targetedSenders;\n\n string[] private _excludedArtifacts;\n string[] private _targetedArtifacts;\n\n FuzzSelector[] private _targetedArtifactSelectors;\n FuzzSelector[] private _targetedSelectors;\n\n // Functions for users:\n // These are intended to be called in tests.\n\n function excludeContract(address newExcludedContract_) internal {\n _excludedContracts.push(newExcludedContract_);\n }\n\n function excludeSender(address newExcludedSender_) internal {\n _excludedSenders.push(newExcludedSender_);\n }\n\n function excludeArtifact(string memory newExcludedArtifact_) internal {\n _excludedArtifacts.push(newExcludedArtifact_);\n }\n\n function targetArtifact(string memory newTargetedArtifact_) internal {\n _targetedArtifacts.push(newTargetedArtifact_);\n }\n\n function targetArtifactSelector(FuzzSelector memory newTargetedArtifactSelector_) internal {\n _targetedArtifactSelectors.push(newTargetedArtifactSelector_);\n }\n\n function targetContract(address newTargetedContract_) internal {\n _targetedContracts.push(newTargetedContract_);\n }\n\n function targetSelector(FuzzSelector memory newTargetedSelector_) internal {\n _targetedSelectors.push(newTargetedSelector_);\n }\n\n function targetSender(address newTargetedSender_) internal {\n _targetedSenders.push(newTargetedSender_);\n }\n\n // Functions for forge:\n // These are called by forge to run invariant tests and don't need to be called in tests.\n\n function excludeArtifacts() public view returns (string[] memory excludedArtifacts_) {\n excludedArtifacts_ = _excludedArtifacts;\n }\n\n function excludeContracts() public view returns (address[] memory excludedContracts_) {\n excludedContracts_ = _excludedContracts;\n }\n\n function excludeSenders() public view returns (address[] memory excludedSenders_) {\n excludedSenders_ = _excludedSenders;\n }\n\n function targetArtifacts() public view returns (string[] memory targetedArtifacts_) {\n targetedArtifacts_ = _targetedArtifacts;\n }\n\n function targetArtifactSelectors() public view returns (FuzzSelector[] memory targetedArtifactSelectors_) {\n targetedArtifactSelectors_ = _targetedArtifactSelectors;\n }\n\n function targetContracts() public view returns (address[] memory targetedContracts_) {\n targetedContracts_ = _targetedContracts;\n }\n\n function targetSelectors() public view returns (FuzzSelector[] memory targetedSelectors_) {\n targetedSelectors_ = _targetedSelectors;\n }\n\n function targetSenders() public view returns (address[] memory targetedSenders_) {\n targetedSenders_ = _targetedSenders;\n }\n}\n"},"lib/forge-std/src/StdJson.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.0 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {VmSafe} from \"./Vm.sol\";\n\n// Helpers for parsing and writing JSON files\n// To parse:\n// ```\n// using stdJson for string;\n// string memory json = vm.readFile(\"some_peth\");\n// json.parseUint(\"\");\n// ```\n// To write:\n// ```\n// using stdJson for string;\n// string memory json = \"deploymentArtifact\";\n// Contract contract = new Contract();\n// json.serialize(\"contractAddress\", address(contract));\n// json = json.serialize(\"deploymentTimes\", uint(1));\n// // store the stringified JSON to the 'json' variable we have been using as a key\n// // as we won't need it any longer\n// string memory json2 = \"finalArtifact\";\n// string memory final = json2.serialize(\"depArtifact\", json);\n// final.write(\"\");\n// ```\n\nlibrary stdJson {\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n function parseRaw(string memory json, string memory key) internal pure returns (bytes memory) {\n return vm.parseJson(json, key);\n }\n\n function readUint(string memory json, string memory key) internal returns (uint256) {\n return vm.parseJsonUint(json, key);\n }\n\n function readUintArray(string memory json, string memory key) internal returns (uint256[] memory) {\n return vm.parseJsonUintArray(json, key);\n }\n\n function readInt(string memory json, string memory key) internal returns (int256) {\n return vm.parseJsonInt(json, key);\n }\n\n function readIntArray(string memory json, string memory key) internal returns (int256[] memory) {\n return vm.parseJsonIntArray(json, key);\n }\n\n function readBytes32(string memory json, string memory key) internal returns (bytes32) {\n return vm.parseJsonBytes32(json, key);\n }\n\n function readBytes32Array(string memory json, string memory key) internal returns (bytes32[] memory) {\n return vm.parseJsonBytes32Array(json, key);\n }\n\n function readString(string memory json, string memory key) internal returns (string memory) {\n return vm.parseJsonString(json, key);\n }\n\n function readStringArray(string memory json, string memory key) internal returns (string[] memory) {\n return vm.parseJsonStringArray(json, key);\n }\n\n function readAddress(string memory json, string memory key) internal returns (address) {\n return vm.parseJsonAddress(json, key);\n }\n\n function readAddressArray(string memory json, string memory key) internal returns (address[] memory) {\n return vm.parseJsonAddressArray(json, key);\n }\n\n function readBool(string memory json, string memory key) internal returns (bool) {\n return vm.parseJsonBool(json, key);\n }\n\n function readBoolArray(string memory json, string memory key) internal returns (bool[] memory) {\n return vm.parseJsonBoolArray(json, key);\n }\n\n function readBytes(string memory json, string memory key) internal returns (bytes memory) {\n return vm.parseJsonBytes(json, key);\n }\n\n function readBytesArray(string memory json, string memory key) internal returns (bytes[] memory) {\n return vm.parseJsonBytesArray(json, key);\n }\n\n function serialize(string memory jsonKey, string memory key, bool value) internal returns (string memory) {\n return vm.serializeBool(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bool[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBool(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, uint256 value) internal returns (string memory) {\n return vm.serializeUint(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, uint256[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeUint(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, int256 value) internal returns (string memory) {\n return vm.serializeInt(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, int256[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeInt(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, address value) internal returns (string memory) {\n return vm.serializeAddress(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, address[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeAddress(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes32 value) internal returns (string memory) {\n return vm.serializeBytes32(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes32[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBytes32(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes memory value) internal returns (string memory) {\n return vm.serializeBytes(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBytes(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, string memory value)\n internal\n returns (string memory)\n {\n return vm.serializeString(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, string[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeString(jsonKey, key, value);\n }\n\n function write(string memory jsonKey, string memory path) internal {\n vm.writeJson(jsonKey, path);\n }\n\n function write(string memory jsonKey, string memory path, string memory valueKey) internal {\n vm.writeJson(jsonKey, path, valueKey);\n }\n}\n"},"lib/forge-std/src/StdMath.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nlibrary stdMath {\n int256 private constant INT256_MIN = -57896044618658097711785492504343953926634992332820282019728792003956564819968;\n\n function abs(int256 a) internal pure returns (uint256) {\n // Required or it will fail when `a = type(int256).min`\n if (a == INT256_MIN) {\n return 57896044618658097711785492504343953926634992332820282019728792003956564819968;\n }\n\n return uint256(a > 0 ? a : -a);\n }\n\n function delta(uint256 a, uint256 b) internal pure returns (uint256) {\n return a > b ? a - b : b - a;\n }\n\n function delta(int256 a, int256 b) internal pure returns (uint256) {\n // a and b are of the same sign\n // this works thanks to two's complement, the left-most bit is the sign bit\n if ((a ^ b) > -1) {\n return delta(abs(a), abs(b));\n }\n\n // a and b are of opposite signs\n return abs(a) + abs(b);\n }\n\n function percentDelta(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 absDelta = delta(a, b);\n\n return absDelta * 1e18 / b;\n }\n\n function percentDelta(int256 a, int256 b) internal pure returns (uint256) {\n uint256 absDelta = delta(a, b);\n uint256 absB = abs(b);\n\n return absDelta * 1e18 / absB;\n }\n}\n"},"lib/forge-std/src/StdStorage.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {Vm} from \"./Vm.sol\";\n\nstruct StdStorage {\n mapping(address => mapping(bytes4 => mapping(bytes32 => uint256))) slots;\n mapping(address => mapping(bytes4 => mapping(bytes32 => bool))) finds;\n bytes32[] _keys;\n bytes4 _sig;\n uint256 _depth;\n address _target;\n bytes32 _set;\n}\n\nlibrary stdStorageSafe {\n event SlotFound(address who, bytes4 fsig, bytes32 keysHash, uint256 slot);\n event WARNING_UninitedSlot(address who, uint256 slot);\n\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n function sigs(string memory sigStr) internal pure returns (bytes4) {\n return bytes4(keccak256(bytes(sigStr)));\n }\n\n /// @notice find an arbitrary storage slot given a function sig, input data, address of the contract and a value to check against\n // slot complexity:\n // if flat, will be bytes32(uint256(uint));\n // if map, will be keccak256(abi.encode(key, uint(slot)));\n // if deep map, will be keccak256(abi.encode(key1, keccak256(abi.encode(key0, uint(slot)))));\n // if map struct, will be bytes32(uint256(keccak256(abi.encode(key1, keccak256(abi.encode(key0, uint(slot)))))) + structFieldDepth);\n function find(StdStorage storage self) internal returns (uint256) {\n address who = self._target;\n bytes4 fsig = self._sig;\n uint256 field_depth = self._depth;\n bytes32[] memory ins = self._keys;\n\n // calldata to test against\n if (self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))]) {\n return self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))];\n }\n bytes memory cald = abi.encodePacked(fsig, flatten(ins));\n vm.record();\n bytes32 fdat;\n {\n (, bytes memory rdat) = who.staticcall(cald);\n fdat = bytesToBytes32(rdat, 32 * field_depth);\n }\n\n (bytes32[] memory reads,) = vm.accesses(address(who));\n if (reads.length == 1) {\n bytes32 curr = vm.load(who, reads[0]);\n if (curr == bytes32(0)) {\n emit WARNING_UninitedSlot(who, uint256(reads[0]));\n }\n if (fdat != curr) {\n require(\n false,\n \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\"\n );\n }\n emit SlotFound(who, fsig, keccak256(abi.encodePacked(ins, field_depth)), uint256(reads[0]));\n self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))] = uint256(reads[0]);\n self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))] = true;\n } else if (reads.length > 1) {\n for (uint256 i = 0; i < reads.length; i++) {\n bytes32 prev = vm.load(who, reads[i]);\n if (prev == bytes32(0)) {\n emit WARNING_UninitedSlot(who, uint256(reads[i]));\n }\n // store\n vm.store(who, reads[i], bytes32(hex\"1337\"));\n bool success;\n bytes memory rdat;\n {\n (success, rdat) = who.staticcall(cald);\n fdat = bytesToBytes32(rdat, 32 * field_depth);\n }\n\n if (success && fdat == bytes32(hex\"1337\")) {\n // we found which of the slots is the actual one\n emit SlotFound(who, fsig, keccak256(abi.encodePacked(ins, field_depth)), uint256(reads[i]));\n self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))] = uint256(reads[i]);\n self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))] = true;\n vm.store(who, reads[i], prev);\n break;\n }\n vm.store(who, reads[i], prev);\n }\n } else {\n revert(\"stdStorage find(StdStorage): No storage use detected for target.\");\n }\n\n require(\n self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))],\n \"stdStorage find(StdStorage): Slot(s) not found.\"\n );\n\n delete self._target;\n delete self._sig;\n delete self._keys;\n delete self._depth;\n\n return self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))];\n }\n\n function target(StdStorage storage self, address _target) internal returns (StdStorage storage) {\n self._target = _target;\n return self;\n }\n\n function sig(StdStorage storage self, bytes4 _sig) internal returns (StdStorage storage) {\n self._sig = _sig;\n return self;\n }\n\n function sig(StdStorage storage self, string memory _sig) internal returns (StdStorage storage) {\n self._sig = sigs(_sig);\n return self;\n }\n\n function with_key(StdStorage storage self, address who) internal returns (StdStorage storage) {\n self._keys.push(bytes32(uint256(uint160(who))));\n return self;\n }\n\n function with_key(StdStorage storage self, uint256 amt) internal returns (StdStorage storage) {\n self._keys.push(bytes32(amt));\n return self;\n }\n\n function with_key(StdStorage storage self, bytes32 key) internal returns (StdStorage storage) {\n self._keys.push(key);\n return self;\n }\n\n function depth(StdStorage storage self, uint256 _depth) internal returns (StdStorage storage) {\n self._depth = _depth;\n return self;\n }\n\n function read(StdStorage storage self) private returns (bytes memory) {\n address t = self._target;\n uint256 s = find(self);\n return abi.encode(vm.load(t, bytes32(s)));\n }\n\n function read_bytes32(StdStorage storage self) internal returns (bytes32) {\n return abi.decode(read(self), (bytes32));\n }\n\n function read_bool(StdStorage storage self) internal returns (bool) {\n int256 v = read_int(self);\n if (v == 0) return false;\n if (v == 1) return true;\n revert(\"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\");\n }\n\n function read_address(StdStorage storage self) internal returns (address) {\n return abi.decode(read(self), (address));\n }\n\n function read_uint(StdStorage storage self) internal returns (uint256) {\n return abi.decode(read(self), (uint256));\n }\n\n function read_int(StdStorage storage self) internal returns (int256) {\n return abi.decode(read(self), (int256));\n }\n\n function bytesToBytes32(bytes memory b, uint256 offset) private pure returns (bytes32) {\n bytes32 out;\n\n uint256 max = b.length > 32 ? 32 : b.length;\n for (uint256 i = 0; i < max; i++) {\n out |= bytes32(b[offset + i] & 0xFF) >> (i * 8);\n }\n return out;\n }\n\n function flatten(bytes32[] memory b) private pure returns (bytes memory) {\n bytes memory result = new bytes(b.length * 32);\n for (uint256 i = 0; i < b.length; i++) {\n bytes32 k = b[i];\n /// @solidity memory-safe-assembly\n assembly {\n mstore(add(result, add(32, mul(32, i))), k)\n }\n }\n\n return result;\n }\n}\n\nlibrary stdStorage {\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n function sigs(string memory sigStr) internal pure returns (bytes4) {\n return stdStorageSafe.sigs(sigStr);\n }\n\n function find(StdStorage storage self) internal returns (uint256) {\n return stdStorageSafe.find(self);\n }\n\n function target(StdStorage storage self, address _target) internal returns (StdStorage storage) {\n return stdStorageSafe.target(self, _target);\n }\n\n function sig(StdStorage storage self, bytes4 _sig) internal returns (StdStorage storage) {\n return stdStorageSafe.sig(self, _sig);\n }\n\n function sig(StdStorage storage self, string memory _sig) internal returns (StdStorage storage) {\n return stdStorageSafe.sig(self, _sig);\n }\n\n function with_key(StdStorage storage self, address who) internal returns (StdStorage storage) {\n return stdStorageSafe.with_key(self, who);\n }\n\n function with_key(StdStorage storage self, uint256 amt) internal returns (StdStorage storage) {\n return stdStorageSafe.with_key(self, amt);\n }\n\n function with_key(StdStorage storage self, bytes32 key) internal returns (StdStorage storage) {\n return stdStorageSafe.with_key(self, key);\n }\n\n function depth(StdStorage storage self, uint256 _depth) internal returns (StdStorage storage) {\n return stdStorageSafe.depth(self, _depth);\n }\n\n function checked_write(StdStorage storage self, address who) internal {\n checked_write(self, bytes32(uint256(uint160(who))));\n }\n\n function checked_write(StdStorage storage self, uint256 amt) internal {\n checked_write(self, bytes32(amt));\n }\n\n function checked_write(StdStorage storage self, bool write) internal {\n bytes32 t;\n /// @solidity memory-safe-assembly\n assembly {\n t := write\n }\n checked_write(self, t);\n }\n\n function checked_write(StdStorage storage self, bytes32 set) internal {\n address who = self._target;\n bytes4 fsig = self._sig;\n uint256 field_depth = self._depth;\n bytes32[] memory ins = self._keys;\n\n bytes memory cald = abi.encodePacked(fsig, flatten(ins));\n if (!self.finds[who][fsig][keccak256(abi.encodePacked(ins, field_depth))]) {\n find(self);\n }\n bytes32 slot = bytes32(self.slots[who][fsig][keccak256(abi.encodePacked(ins, field_depth))]);\n\n bytes32 fdat;\n {\n (, bytes memory rdat) = who.staticcall(cald);\n fdat = bytesToBytes32(rdat, 32 * field_depth);\n }\n bytes32 curr = vm.load(who, slot);\n\n if (fdat != curr) {\n require(\n false,\n \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\"\n );\n }\n vm.store(who, slot, set);\n delete self._target;\n delete self._sig;\n delete self._keys;\n delete self._depth;\n }\n\n function read_bytes32(StdStorage storage self) internal returns (bytes32) {\n return stdStorageSafe.read_bytes32(self);\n }\n\n function read_bool(StdStorage storage self) internal returns (bool) {\n return stdStorageSafe.read_bool(self);\n }\n\n function read_address(StdStorage storage self) internal returns (address) {\n return stdStorageSafe.read_address(self);\n }\n\n function read_uint(StdStorage storage self) internal returns (uint256) {\n return stdStorageSafe.read_uint(self);\n }\n\n function read_int(StdStorage storage self) internal returns (int256) {\n return stdStorageSafe.read_int(self);\n }\n\n // Private function so needs to be copied over\n function bytesToBytes32(bytes memory b, uint256 offset) private pure returns (bytes32) {\n bytes32 out;\n\n uint256 max = b.length > 32 ? 32 : b.length;\n for (uint256 i = 0; i < max; i++) {\n out |= bytes32(b[offset + i] & 0xFF) >> (i * 8);\n }\n return out;\n }\n\n // Private function so needs to be copied over\n function flatten(bytes32[] memory b) private pure returns (bytes memory) {\n bytes memory result = new bytes(b.length * 32);\n for (uint256 i = 0; i < b.length; i++) {\n bytes32 k = b[i];\n /// @solidity memory-safe-assembly\n assembly {\n mstore(add(result, add(32, mul(32, i))), k)\n }\n }\n\n return result;\n }\n}\n"},"lib/forge-std/src/StdStyle.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nimport {Vm} from \"./Vm.sol\";\n\nlibrary StdStyle {\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n string constant RED = \"\\u001b[91m\";\n string constant GREEN = \"\\u001b[92m\";\n string constant YELLOW = \"\\u001b[93m\";\n string constant BLUE = \"\\u001b[94m\";\n string constant MAGENTA = \"\\u001b[95m\";\n string constant CYAN = \"\\u001b[96m\";\n string constant BOLD = \"\\u001b[1m\";\n string constant DIM = \"\\u001b[2m\";\n string constant ITALIC = \"\\u001b[3m\";\n string constant UNDERLINE = \"\\u001b[4m\";\n string constant INVERSE = \"\\u001b[7m\";\n string constant RESET = \"\\u001b[0m\";\n\n function styleConcat(string memory style, string memory self) private pure returns (string memory) {\n return string(abi.encodePacked(style, self, RESET));\n }\n\n function red(string memory self) internal pure returns (string memory) {\n return styleConcat(RED, self);\n }\n\n function red(uint256 self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function red(int256 self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function red(address self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function red(bool self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function redBytes(bytes memory self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function redBytes32(bytes32 self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function green(string memory self) internal pure returns (string memory) {\n return styleConcat(GREEN, self);\n }\n\n function green(uint256 self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function green(int256 self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function green(address self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function green(bool self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function greenBytes(bytes memory self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function greenBytes32(bytes32 self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function yellow(string memory self) internal pure returns (string memory) {\n return styleConcat(YELLOW, self);\n }\n\n function yellow(uint256 self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellow(int256 self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellow(address self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellow(bool self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellowBytes(bytes memory self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellowBytes32(bytes32 self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function blue(string memory self) internal pure returns (string memory) {\n return styleConcat(BLUE, self);\n }\n\n function blue(uint256 self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blue(int256 self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blue(address self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blue(bool self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blueBytes(bytes memory self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blueBytes32(bytes32 self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function magenta(string memory self) internal pure returns (string memory) {\n return styleConcat(MAGENTA, self);\n }\n\n function magenta(uint256 self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magenta(int256 self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magenta(address self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magenta(bool self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magentaBytes(bytes memory self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magentaBytes32(bytes32 self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function cyan(string memory self) internal pure returns (string memory) {\n return styleConcat(CYAN, self);\n }\n\n function cyan(uint256 self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyan(int256 self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyan(address self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyan(bool self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyanBytes(bytes memory self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyanBytes32(bytes32 self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function bold(string memory self) internal pure returns (string memory) {\n return styleConcat(BOLD, self);\n }\n\n function bold(uint256 self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function bold(int256 self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function bold(address self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function bold(bool self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function boldBytes(bytes memory self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function boldBytes32(bytes32 self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function dim(string memory self) internal pure returns (string memory) {\n return styleConcat(DIM, self);\n }\n\n function dim(uint256 self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dim(int256 self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dim(address self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dim(bool self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dimBytes(bytes memory self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dimBytes32(bytes32 self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function italic(string memory self) internal pure returns (string memory) {\n return styleConcat(ITALIC, self);\n }\n\n function italic(uint256 self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italic(int256 self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italic(address self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italic(bool self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italicBytes(bytes memory self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italicBytes32(bytes32 self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function underline(string memory self) internal pure returns (string memory) {\n return styleConcat(UNDERLINE, self);\n }\n\n function underline(uint256 self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underline(int256 self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underline(address self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underline(bool self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underlineBytes(bytes memory self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underlineBytes32(bytes32 self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function inverse(string memory self) internal pure returns (string memory) {\n return styleConcat(INVERSE, self);\n }\n\n function inverse(uint256 self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverse(int256 self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverse(address self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverse(bool self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverseBytes(bytes memory self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverseBytes32(bytes32 self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n}\n"},"lib/forge-std/src/StdUtils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {IMulticall3} from \"./interfaces/IMulticall3.sol\";\n// TODO Remove import.\nimport {VmSafe} from \"./Vm.sol\";\n\nabstract contract StdUtils {\n /*//////////////////////////////////////////////////////////////////////////\n CONSTANTS\n //////////////////////////////////////////////////////////////////////////*/\n\n IMulticall3 private constant multicall = IMulticall3(0xcA11bde05977b3631167028862bE2a173976CA11);\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n address private constant CONSOLE2_ADDRESS = 0x000000000000000000636F6e736F6c652e6c6f67;\n uint256 private constant INT256_MIN_ABS =\n 57896044618658097711785492504343953926634992332820282019728792003956564819968;\n uint256 private constant UINT256_MAX =\n 115792089237316195423570985008687907853269984665640564039457584007913129639935;\n\n // Used by default when deploying with create2, https://github.com/Arachnid/deterministic-deployment-proxy.\n address private constant CREATE2_FACTORY = 0x4e59b44847b379578588920cA78FbF26c0B4956C;\n\n /*//////////////////////////////////////////////////////////////////////////\n INTERNAL FUNCTIONS\n //////////////////////////////////////////////////////////////////////////*/\n\n function _bound(uint256 x, uint256 min, uint256 max) internal pure virtual returns (uint256 result) {\n require(min <= max, \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\");\n // If x is between min and max, return x directly. This is to ensure that dictionary values\n // do not get shifted if the min is nonzero. More info: https://github.com/foundry-rs/forge-std/issues/188\n if (x >= min && x <= max) return x;\n\n uint256 size = max - min + 1;\n\n // If the value is 0, 1, 2, 3, warp that to min, min+1, min+2, min+3. Similarly for the UINT256_MAX side.\n // This helps ensure coverage of the min/max values.\n if (x <= 3 && size > x) return min + x;\n if (x >= UINT256_MAX - 3 && size > UINT256_MAX - x) return max - (UINT256_MAX - x);\n\n // Otherwise, wrap x into the range [min, max], i.e. the range is inclusive.\n if (x > max) {\n uint256 diff = x - max;\n uint256 rem = diff % size;\n if (rem == 0) return max;\n result = min + rem - 1;\n } else if (x < min) {\n uint256 diff = min - x;\n uint256 rem = diff % size;\n if (rem == 0) return min;\n result = max - rem + 1;\n }\n }\n\n function bound(uint256 x, uint256 min, uint256 max) internal view virtual returns (uint256 result) {\n result = _bound(x, min, max);\n console2_log(\"Bound Result\", result);\n }\n\n function bound(int256 x, int256 min, int256 max) internal view virtual returns (int256 result) {\n require(min <= max, \"StdUtils bound(int256,int256,int256): Max is less than min.\");\n\n // Shifting all int256 values to uint256 to use _bound function. The range of two types are:\n // int256 : -(2**255) ~ (2**255 - 1)\n // uint256: 0 ~ (2**256 - 1)\n // So, add 2**255, INT256_MIN_ABS to the integer values.\n //\n // If the given integer value is -2**255, we cannot use `-uint256(-x)` because of the overflow.\n // So, use `~uint256(x) + 1` instead.\n uint256 _x = x < 0 ? (INT256_MIN_ABS - ~uint256(x) - 1) : (uint256(x) + INT256_MIN_ABS);\n uint256 _min = min < 0 ? (INT256_MIN_ABS - ~uint256(min) - 1) : (uint256(min) + INT256_MIN_ABS);\n uint256 _max = max < 0 ? (INT256_MIN_ABS - ~uint256(max) - 1) : (uint256(max) + INT256_MIN_ABS);\n\n uint256 y = _bound(_x, _min, _max);\n\n // To move it back to int256 value, subtract INT256_MIN_ABS at here.\n result = y < INT256_MIN_ABS ? int256(~(INT256_MIN_ABS - y) + 1) : int256(y - INT256_MIN_ABS);\n console2_log(\"Bound result\", vm.toString(result));\n }\n\n function bytesToUint(bytes memory b) internal pure virtual returns (uint256) {\n require(b.length <= 32, \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\");\n return abi.decode(abi.encodePacked(new bytes(32 - b.length), b), (uint256));\n }\n\n /// @dev Compute the address a contract will be deployed at for a given deployer address and nonce\n /// @notice adapted from Solmate implementation (https://github.com/Rari-Capital/solmate/blob/main/src/utils/LibRLP.sol)\n function computeCreateAddress(address deployer, uint256 nonce) internal pure virtual returns (address) {\n // forgefmt: disable-start\n // The integer zero is treated as an empty byte string, and as a result it only has a length prefix, 0x80, computed via 0x80 + 0.\n // A one byte integer uses its own value as its length prefix, there is no additional \"0x80 + length\" prefix that comes before it.\n if (nonce == 0x00) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd6), bytes1(0x94), deployer, bytes1(0x80))));\n if (nonce <= 0x7f) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd6), bytes1(0x94), deployer, uint8(nonce))));\n\n // Nonces greater than 1 byte all follow a consistent encoding scheme, where each value is preceded by a prefix of 0x80 + length.\n if (nonce <= 2**8 - 1) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd7), bytes1(0x94), deployer, bytes1(0x81), uint8(nonce))));\n if (nonce <= 2**16 - 1) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd8), bytes1(0x94), deployer, bytes1(0x82), uint16(nonce))));\n if (nonce <= 2**24 - 1) return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xd9), bytes1(0x94), deployer, bytes1(0x83), uint24(nonce))));\n // forgefmt: disable-end\n\n // More details about RLP encoding can be found here: https://eth.wiki/fundamentals/rlp\n // 0xda = 0xc0 (short RLP prefix) + 0x16 (length of: 0x94 ++ proxy ++ 0x84 ++ nonce)\n // 0x94 = 0x80 + 0x14 (0x14 = the length of an address, 20 bytes, in hex)\n // 0x84 = 0x80 + 0x04 (0x04 = the bytes length of the nonce, 4 bytes, in hex)\n // We assume nobody can have a nonce large enough to require more than 32 bytes.\n return addressFromLast20Bytes(\n keccak256(abi.encodePacked(bytes1(0xda), bytes1(0x94), deployer, bytes1(0x84), uint32(nonce)))\n );\n }\n\n function computeCreate2Address(bytes32 salt, bytes32 initcodeHash, address deployer)\n internal\n pure\n virtual\n returns (address)\n {\n return addressFromLast20Bytes(keccak256(abi.encodePacked(bytes1(0xff), deployer, salt, initcodeHash)));\n }\n\n /// @dev returns the address of a contract created with CREATE2 using the default CREATE2 deployer\n function computeCreate2Address(bytes32 salt, bytes32 initCodeHash) internal pure returns (address) {\n return computeCreate2Address(salt, initCodeHash, CREATE2_FACTORY);\n }\n\n /// @dev returns the hash of the init code (creation code + no args) used in CREATE2 with no constructor arguments\n /// @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n function hashInitCode(bytes memory creationCode) internal pure returns (bytes32) {\n return hashInitCode(creationCode, \"\");\n }\n\n /// @dev returns the hash of the init code (creation code + ABI-encoded args) used in CREATE2\n /// @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n /// @param args the ABI-encoded arguments to the constructor of C\n function hashInitCode(bytes memory creationCode, bytes memory args) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(creationCode, args));\n }\n\n // Performs a single call with Multicall3 to query the ERC-20 token balances of the given addresses.\n function getTokenBalances(address token, address[] memory addresses)\n internal\n virtual\n returns (uint256[] memory balances)\n {\n uint256 tokenCodeSize;\n assembly {\n tokenCodeSize := extcodesize(token)\n }\n require(tokenCodeSize > 0, \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\");\n\n // ABI encode the aggregate call to Multicall3.\n uint256 length = addresses.length;\n IMulticall3.Call[] memory calls = new IMulticall3.Call[](length);\n for (uint256 i = 0; i < length; ++i) {\n // 0x70a08231 = bytes4(\"balanceOf(address)\"))\n calls[i] = IMulticall3.Call({target: token, callData: abi.encodeWithSelector(0x70a08231, (addresses[i]))});\n }\n\n // Make the aggregate call.\n (, bytes[] memory returnData) = multicall.aggregate(calls);\n\n // ABI decode the return data and return the balances.\n balances = new uint256[](length);\n for (uint256 i = 0; i < length; ++i) {\n balances[i] = abi.decode(returnData[i], (uint256));\n }\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n PRIVATE FUNCTIONS\n //////////////////////////////////////////////////////////////////////////*/\n\n function addressFromLast20Bytes(bytes32 bytesValue) private pure returns (address) {\n return address(uint160(uint256(bytesValue)));\n }\n\n // Used to prevent the compilation of console, which shortens the compilation time when console is not used elsewhere.\n\n function console2_log(string memory p0, uint256 p1) private view {\n (bool status,) = address(CONSOLE2_ADDRESS).staticcall(abi.encodeWithSignature(\"log(string,uint256)\", p0, p1));\n status;\n }\n\n function console2_log(string memory p0, string memory p1) private view {\n (bool status,) = address(CONSOLE2_ADDRESS).staticcall(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n status;\n }\n}\n"},"lib/forge-std/src/Test.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\n// 💬 ABOUT\n// Standard Library's default Test\n\n// 🧩 MODULES\nimport {console} from \"./console.sol\";\nimport {console2} from \"./console2.sol\";\nimport {StdAssertions} from \"./StdAssertions.sol\";\nimport {StdChains} from \"./StdChains.sol\";\nimport {StdCheats} from \"./StdCheats.sol\";\nimport {stdError} from \"./StdError.sol\";\nimport {StdInvariant} from \"./StdInvariant.sol\";\nimport {stdJson} from \"./StdJson.sol\";\nimport {stdMath} from \"./StdMath.sol\";\nimport {StdStorage, stdStorage} from \"./StdStorage.sol\";\nimport {StdUtils} from \"./StdUtils.sol\";\nimport {Vm} from \"./Vm.sol\";\nimport {StdStyle} from \"./StdStyle.sol\";\n\n// 📦 BOILERPLATE\nimport {TestBase} from \"./Base.sol\";\nimport {DSTest} from \"ds-test/test.sol\";\n\n// ⭐️ TEST\nabstract contract Test is DSTest, StdAssertions, StdChains, StdCheats, StdInvariant, StdUtils, TestBase {\n// Note: IS_TEST() must return true.\n// Note: Must have failure system, https://github.com/dapphub/ds-test/blob/cd98eff28324bfac652e63a239a60632a761790b/src/test.sol#L39-L76.\n}\n"},"lib/forge-std/src/Vm.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\n// Cheatcodes are marked as view/pure/none using the following rules:\n// 0. A call's observable behaviour includes its return value, logs, reverts and state writes,\n// 1. If you can influence a later call's observable behaviour, you're neither `view` nor `pure (you are modifying some state be it the EVM, interpreter, filesystem, etc),\n// 2. Otherwise if you can be influenced by an earlier call, or if reading some state, you're `view`,\n// 3. Otherwise you're `pure`.\n\ninterface VmSafe {\n struct Log {\n bytes32[] topics;\n bytes data;\n address emitter;\n }\n\n struct Rpc {\n string key;\n string url;\n }\n\n struct FsMetadata {\n bool isDir;\n bool isSymlink;\n uint256 length;\n bool readOnly;\n uint256 modified;\n uint256 accessed;\n uint256 created;\n }\n\n // Loads a storage slot from an address\n function load(address target, bytes32 slot) external view returns (bytes32 data);\n // Signs data\n function sign(uint256 privateKey, bytes32 digest) external pure returns (uint8 v, bytes32 r, bytes32 s);\n // Gets the address for a given private key\n function addr(uint256 privateKey) external pure returns (address keyAddr);\n // Gets the nonce of an account\n function getNonce(address account) external view returns (uint64 nonce);\n // Performs a foreign function call via the terminal\n function ffi(string[] calldata commandInput) external returns (bytes memory result);\n // Sets environment variables\n function setEnv(string calldata name, string calldata value) external;\n // Reads environment variables, (name) => (value)\n function envBool(string calldata name) external view returns (bool value);\n function envUint(string calldata name) external view returns (uint256 value);\n function envInt(string calldata name) external view returns (int256 value);\n function envAddress(string calldata name) external view returns (address value);\n function envBytes32(string calldata name) external view returns (bytes32 value);\n function envString(string calldata name) external view returns (string memory value);\n function envBytes(string calldata name) external view returns (bytes memory value);\n // Reads environment variables as arrays\n function envBool(string calldata name, string calldata delim) external view returns (bool[] memory value);\n function envUint(string calldata name, string calldata delim) external view returns (uint256[] memory value);\n function envInt(string calldata name, string calldata delim) external view returns (int256[] memory value);\n function envAddress(string calldata name, string calldata delim) external view returns (address[] memory value);\n function envBytes32(string calldata name, string calldata delim) external view returns (bytes32[] memory value);\n function envString(string calldata name, string calldata delim) external view returns (string[] memory value);\n function envBytes(string calldata name, string calldata delim) external view returns (bytes[] memory value);\n // Read environment variables with default value\n function envOr(string calldata name, bool defaultValue) external returns (bool value);\n function envOr(string calldata name, uint256 defaultValue) external returns (uint256 value);\n function envOr(string calldata name, int256 defaultValue) external returns (int256 value);\n function envOr(string calldata name, address defaultValue) external returns (address value);\n function envOr(string calldata name, bytes32 defaultValue) external returns (bytes32 value);\n function envOr(string calldata name, string calldata defaultValue) external returns (string memory value);\n function envOr(string calldata name, bytes calldata defaultValue) external returns (bytes memory value);\n // Read environment variables as arrays with default value\n function envOr(string calldata name, string calldata delim, bool[] calldata defaultValue)\n external\n returns (bool[] memory value);\n function envOr(string calldata name, string calldata delim, uint256[] calldata defaultValue)\n external\n returns (uint256[] memory value);\n function envOr(string calldata name, string calldata delim, int256[] calldata defaultValue)\n external\n returns (int256[] memory value);\n function envOr(string calldata name, string calldata delim, address[] calldata defaultValue)\n external\n returns (address[] memory value);\n function envOr(string calldata name, string calldata delim, bytes32[] calldata defaultValue)\n external\n returns (bytes32[] memory value);\n function envOr(string calldata name, string calldata delim, string[] calldata defaultValue)\n external\n returns (string[] memory value);\n function envOr(string calldata name, string calldata delim, bytes[] calldata defaultValue)\n external\n returns (bytes[] memory value);\n // Records all storage reads and writes\n function record() external;\n // Gets all accessed reads and write slot from a recording session, for a given address\n function accesses(address target) external returns (bytes32[] memory readSlots, bytes32[] memory writeSlots);\n // Gets the _creation_ bytecode from an artifact file. Takes in the relative path to the json file\n function getCode(string calldata artifactPath) external view returns (bytes memory creationBytecode);\n // Gets the _deployed_ bytecode from an artifact file. Takes in the relative path to the json file\n function getDeployedCode(string calldata artifactPath) external view returns (bytes memory runtimeBytecode);\n // Labels an address in call traces\n function label(address account, string calldata newLabel) external;\n // Using the address that calls the test contract, has the next call (at this call depth only) create a transaction that can later be signed and sent onchain\n function broadcast() external;\n // Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain\n function broadcast(address signer) external;\n // Has the next call (at this call depth only) create a transaction with the private key provided as the sender that can later be signed and sent onchain\n function broadcast(uint256 privateKey) external;\n // Using the address that calls the test contract, has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain\n function startBroadcast() external;\n // Has all subsequent calls (at this call depth only) create transactions with the address provided that can later be signed and sent onchain\n function startBroadcast(address signer) external;\n // Has all subsequent calls (at this call depth only) create transactions with the private key provided that can later be signed and sent onchain\n function startBroadcast(uint256 privateKey) external;\n // Stops collecting onchain transactions\n function stopBroadcast() external;\n // Reads the entire content of file to string\n function readFile(string calldata path) external view returns (string memory data);\n // Reads the entire content of file as binary. Path is relative to the project root.\n function readFileBinary(string calldata path) external view returns (bytes memory data);\n // Get the path of the current project root\n function projectRoot() external view returns (string memory path);\n // Get the metadata for a file/directory\n function fsMetadata(string calldata fileOrDir) external returns (FsMetadata memory metadata);\n // Reads next line of file to string\n function readLine(string calldata path) external view returns (string memory line);\n // Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does.\n function writeFile(string calldata path, string calldata data) external;\n // Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does.\n // Path is relative to the project root.\n function writeFileBinary(string calldata path, bytes calldata data) external;\n // Writes line to file, creating a file if it does not exist.\n function writeLine(string calldata path, string calldata data) external;\n // Closes file for reading, resetting the offset and allowing to read it from beginning with readLine.\n function closeFile(string calldata path) external;\n // Removes file. This cheatcode will revert in the following situations, but is not limited to just these cases:\n // - Path points to a directory.\n // - The file doesn't exist.\n // - The user lacks permissions to remove the file.\n function removeFile(string calldata path) external;\n // Convert values to a string\n function toString(address value) external pure returns (string memory stringifiedValue);\n function toString(bytes calldata value) external pure returns (string memory stringifiedValue);\n function toString(bytes32 value) external pure returns (string memory stringifiedValue);\n function toString(bool value) external pure returns (string memory stringifiedValue);\n function toString(uint256 value) external pure returns (string memory stringifiedValue);\n function toString(int256 value) external pure returns (string memory stringifiedValue);\n // Convert values from a string\n function parseBytes(string calldata stringifiedValue) external pure returns (bytes memory parsedValue);\n function parseAddress(string calldata stringifiedValue) external pure returns (address parsedValue);\n function parseUint(string calldata stringifiedValue) external pure returns (uint256 parsedValue);\n function parseInt(string calldata stringifiedValue) external pure returns (int256 parsedValue);\n function parseBytes32(string calldata stringifiedValue) external pure returns (bytes32 parsedValue);\n function parseBool(string calldata stringifiedValue) external pure returns (bool parsedValue);\n // Record all the transaction logs\n function recordLogs() external;\n // Gets all the recorded logs\n function getRecordedLogs() external returns (Log[] memory logs);\n // Derive a private key from a provided mnenomic string (or mnenomic file path) at the derivation path m/44'/60'/0'/0/{index}\n function deriveKey(string calldata mnemonic, uint32 index) external pure returns (uint256 privateKey);\n // Derive a private key from a provided mnenomic string (or mnenomic file path) at {derivationPath}{index}\n function deriveKey(string calldata mnemonic, string calldata derivationPath, uint32 index)\n external\n pure\n returns (uint256 privateKey);\n // Adds a private key to the local forge wallet and returns the address\n function rememberKey(uint256 privateKey) external returns (address keyAddr);\n //\n // parseJson\n //\n // ----\n // In case the returned value is a JSON object, it's encoded as a ABI-encoded tuple. As JSON objects\n // don't have the notion of ordered, but tuples do, they JSON object is encoded with it's fields ordered in\n // ALPHABETICAL order. That means that in order to successfully decode the tuple, we need to define a tuple that\n // encodes the fields in the same order, which is alphabetical. In the case of Solidity structs, they are encoded\n // as tuples, with the attributes in the order in which they are defined.\n // For example: json = { 'a': 1, 'b': 0xa4tb......3xs}\n // a: uint256\n // b: address\n // To decode that json, we need to define a struct or a tuple as follows:\n // struct json = { uint256 a; address b; }\n // If we defined a json struct with the opposite order, meaning placing the address b first, it would try to\n // decode the tuple in that order, and thus fail.\n // ----\n // Given a string of JSON, return it as ABI-encoded\n function parseJson(string calldata json, string calldata key) external pure returns (bytes memory abiEncodedData);\n function parseJson(string calldata json) external pure returns (bytes memory abiEncodedData);\n\n // The following parseJson cheatcodes will do type coercion, for the type that they indicate.\n // For example, parseJsonUint will coerce all values to a uint256. That includes stringified numbers '12'\n // and hex numbers '0xEF'.\n // Type coercion works ONLY for discrete values or arrays. That means that the key must return a value or array, not\n // a JSON object.\n function parseJsonUint(string calldata, string calldata) external returns (uint256);\n function parseJsonUintArray(string calldata, string calldata) external returns (uint256[] memory);\n function parseJsonInt(string calldata, string calldata) external returns (int256);\n function parseJsonIntArray(string calldata, string calldata) external returns (int256[] memory);\n function parseJsonBool(string calldata, string calldata) external returns (bool);\n function parseJsonBoolArray(string calldata, string calldata) external returns (bool[] memory);\n function parseJsonAddress(string calldata, string calldata) external returns (address);\n function parseJsonAddressArray(string calldata, string calldata) external returns (address[] memory);\n function parseJsonString(string calldata, string calldata) external returns (string memory);\n function parseJsonStringArray(string calldata, string calldata) external returns (string[] memory);\n function parseJsonBytes(string calldata, string calldata) external returns (bytes memory);\n function parseJsonBytesArray(string calldata, string calldata) external returns (bytes[] memory);\n function parseJsonBytes32(string calldata, string calldata) external returns (bytes32);\n function parseJsonBytes32Array(string calldata, string calldata) external returns (bytes32[] memory);\n\n // Serialize a key and value to a JSON object stored in-memory that can be later written to a file\n // It returns the stringified version of the specific JSON file up to that moment.\n function serializeBool(string calldata objectKey, string calldata valueKey, bool value)\n external\n returns (string memory json);\n function serializeUint(string calldata objectKey, string calldata valueKey, uint256 value)\n external\n returns (string memory json);\n function serializeInt(string calldata objectKey, string calldata valueKey, int256 value)\n external\n returns (string memory json);\n function serializeAddress(string calldata objectKey, string calldata valueKey, address value)\n external\n returns (string memory json);\n function serializeBytes32(string calldata objectKey, string calldata valueKey, bytes32 value)\n external\n returns (string memory json);\n function serializeString(string calldata objectKey, string calldata valueKey, string calldata value)\n external\n returns (string memory json);\n function serializeBytes(string calldata objectKey, string calldata valueKey, bytes calldata value)\n external\n returns (string memory json);\n\n function serializeBool(string calldata objectKey, string calldata valueKey, bool[] calldata values)\n external\n returns (string memory json);\n function serializeUint(string calldata objectKey, string calldata valueKey, uint256[] calldata values)\n external\n returns (string memory json);\n function serializeInt(string calldata objectKey, string calldata valueKey, int256[] calldata values)\n external\n returns (string memory json);\n function serializeAddress(string calldata objectKey, string calldata valueKey, address[] calldata values)\n external\n returns (string memory json);\n function serializeBytes32(string calldata objectKey, string calldata valueKey, bytes32[] calldata values)\n external\n returns (string memory json);\n function serializeString(string calldata objectKey, string calldata valueKey, string[] calldata values)\n external\n returns (string memory json);\n function serializeBytes(string calldata objectKey, string calldata valueKey, bytes[] calldata values)\n external\n returns (string memory json);\n\n //\n // writeJson\n //\n // ----\n // Write a serialized JSON object to a file. If the file exists, it will be overwritten.\n // Let's assume we want to write the following JSON to a file:\n //\n // { \"boolean\": true, \"number\": 342, \"object\": { \"title\": \"finally json serialization\" } }\n //\n // ```\n // string memory json1 = \"some key\";\n // vm.serializeBool(json1, \"boolean\", true);\n // vm.serializeBool(json1, \"number\", uint256(342));\n // json2 = \"some other key\";\n // string memory output = vm.serializeString(json2, \"title\", \"finally json serialization\");\n // string memory finalJson = vm.serialize(json1, \"object\", output);\n // vm.writeJson(finalJson, \"./output/example.json\");\n // ```\n // The critical insight is that every invocation of serialization will return the stringified version of the JSON\n // up to that point. That means we can construct arbitrary JSON objects and then use the return stringified version\n // to serialize them as values to another JSON object.\n //\n // json1 and json2 are simply keys used by the backend to keep track of the objects. So vm.serializeJson(json1,..)\n // will find the object in-memory that is keyed by \"some key\".\n function writeJson(string calldata json, string calldata path) external;\n // Write a serialized JSON object to an **existing** JSON file, replacing a value with key = \n // This is useful to replace a specific value of a JSON file, without having to parse the entire thing\n function writeJson(string calldata json, string calldata path, string calldata valueKey) external;\n // Returns the RPC url for the given alias\n function rpcUrl(string calldata rpcAlias) external view returns (string memory json);\n // Returns all rpc urls and their aliases `[alias, url][]`\n function rpcUrls() external view returns (string[2][] memory urls);\n // Returns all rpc urls and their aliases as structs.\n function rpcUrlStructs() external view returns (Rpc[] memory urls);\n // If the condition is false, discard this run's fuzz inputs and generate new ones.\n function assume(bool condition) external pure;\n // Pauses gas metering (i.e. gas usage is not counted). Noop if already paused.\n function pauseGasMetering() external;\n // Resumes gas metering (i.e. gas usage is counted again). Noop if already on.\n function resumeGasMetering() external;\n}\n\ninterface Vm is VmSafe {\n // Sets block.timestamp\n function warp(uint256 newTimestamp) external;\n // Sets block.height\n function roll(uint256 newHeight) external;\n // Sets block.basefee\n function fee(uint256 newBasefee) external;\n // Sets block.difficulty\n function difficulty(uint256 newDifficulty) external;\n // Sets block.chainid\n function chainId(uint256 newChainId) external;\n // Stores a value to an address' storage slot.\n function store(address target, bytes32 slot, bytes32 value) external;\n // Sets the nonce of an account; must be higher than the current nonce of the account\n function setNonce(address account, uint64 newNonce) external;\n // Sets the *next* call's msg.sender to be the input address\n function prank(address msgSender) external;\n // Sets all subsequent calls' msg.sender to be the input address until `stopPrank` is called\n function startPrank(address msgSender) external;\n // Sets the *next* call's msg.sender to be the input address, and the tx.origin to be the second input\n function prank(address msgSender, address txOrigin) external;\n // Sets all subsequent calls' msg.sender to be the input address until `stopPrank` is called, and the tx.origin to be the second input\n function startPrank(address msgSender, address txOrigin) external;\n // Resets subsequent calls' msg.sender to be `address(this)`\n function stopPrank() external;\n // Sets an address' balance\n function deal(address account, uint256 newBalance) external;\n // Sets an address' code\n function etch(address target, bytes calldata newRuntimeBytecode) external;\n // Expects an error on next call\n function expectRevert(bytes calldata revertData) external;\n function expectRevert(bytes4 revertData) external;\n function expectRevert() external;\n // Prepare an expected log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData).\n // Call this function, then emit an event, then call a function. Internally after the call, we check if\n // logs were emitted in the expected order with the expected topics and data (as specified by the booleans)\n function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData) external;\n function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData, address emitter)\n external;\n // Mocks a call to an address, returning specified data.\n // Calldata can either be strict or a partial match, e.g. if you only\n // pass a Solidity selector to the expected calldata, then the entire Solidity\n // function will be mocked.\n function mockCall(address callee, bytes calldata data, bytes calldata returnData) external;\n // Mocks a call to an address with a specific msg.value, returning specified data.\n // Calldata match takes precedence over msg.value in case of ambiguity.\n function mockCall(address callee, uint256 msgValue, bytes calldata data, bytes calldata returnData) external;\n // Clears all mocked calls\n function clearMockedCalls() external;\n // Expects a call to an address with the specified calldata.\n // Calldata can either be a strict or a partial match\n function expectCall(address callee, bytes calldata data) external;\n // Expects a call to an address with the specified msg.value and calldata\n function expectCall(address callee, uint256 msgValue, bytes calldata data) external;\n // Expect a call to an address with the specified msg.value, gas, and calldata.\n function expectCall(address callee, uint256 msgValue, uint64 gas, bytes calldata data) external;\n // Expect a call to an address with the specified msg.value and calldata, and a *minimum* amount of gas.\n function expectCallMinGas(address callee, uint256 msgValue, uint64 minGas, bytes calldata data) external;\n // Sets block.coinbase\n function coinbase(address newCoinbase) external;\n // Snapshot the current state of the evm.\n // Returns the id of the snapshot that was created.\n // To revert a snapshot use `revertTo`\n function snapshot() external returns (uint256 snapshotId);\n // Revert the state of the EVM to a previous snapshot\n // Takes the snapshot id to revert to.\n // This deletes the snapshot and all snapshots taken after the given snapshot id.\n function revertTo(uint256 snapshotId) external returns (bool success);\n // Creates a new fork with the given endpoint and block and returns the identifier of the fork\n function createFork(string calldata urlOrAlias, uint256 blockNumber) external returns (uint256 forkId);\n // Creates a new fork with the given endpoint and the _latest_ block and returns the identifier of the fork\n function createFork(string calldata urlOrAlias) external returns (uint256 forkId);\n // Creates a new fork with the given endpoint and at the block the given transaction was mined in, replays all transaction mined in the block before the transaction,\n // and returns the identifier of the fork\n function createFork(string calldata urlOrAlias, bytes32 txHash) external returns (uint256 forkId);\n // Creates _and_ also selects a new fork with the given endpoint and block and returns the identifier of the fork\n function createSelectFork(string calldata urlOrAlias, uint256 blockNumber) external returns (uint256 forkId);\n // Creates _and_ also selects new fork with the given endpoint and at the block the given transaction was mined in, replays all transaction mined in the block before\n // the transaction, returns the identifier of the fork\n function createSelectFork(string calldata urlOrAlias, bytes32 txHash) external returns (uint256 forkId);\n // Creates _and_ also selects a new fork with the given endpoint and the latest block and returns the identifier of the fork\n function createSelectFork(string calldata urlOrAlias) external returns (uint256 forkId);\n // Takes a fork identifier created by `createFork` and sets the corresponding forked state as active.\n function selectFork(uint256 forkId) external;\n /// Returns the identifier of the currently active fork. Reverts if no fork is currently active.\n function activeFork() external view returns (uint256 forkId);\n // Updates the currently active fork to given block number\n // This is similar to `roll` but for the currently active fork\n function rollFork(uint256 blockNumber) external;\n // Updates the currently active fork to given transaction\n // this will `rollFork` with the number of the block the transaction was mined in and replays all transaction mined before it in the block\n function rollFork(bytes32 txHash) external;\n // Updates the given fork to given block number\n function rollFork(uint256 forkId, uint256 blockNumber) external;\n // Updates the given fork to block number of the given transaction and replays all transaction mined before it in the block\n function rollFork(uint256 forkId, bytes32 txHash) external;\n // Marks that the account(s) should use persistent storage across fork swaps in a multifork setup\n // Meaning, changes made to the state of this account will be kept when switching forks\n function makePersistent(address account) external;\n function makePersistent(address account0, address account1) external;\n function makePersistent(address account0, address account1, address account2) external;\n function makePersistent(address[] calldata accounts) external;\n // Revokes persistent status from the address, previously added via `makePersistent`\n function revokePersistent(address account) external;\n function revokePersistent(address[] calldata accounts) external;\n // Returns true if the account is marked as persistent\n function isPersistent(address account) external view returns (bool persistent);\n // In forking mode, explicitly grant the given address cheatcode access\n function allowCheatcodes(address account) external;\n // Fetches the given transaction from the active fork and executes it on the current state\n function transact(bytes32 txHash) external;\n // Fetches the given transaction from the given fork and executes it on the current state\n function transact(uint256 forkId, bytes32 txHash) external;\n}\n"},"lib/forge-std/src/console.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary console {\n address constant CONSOLE_ADDRESS = address(0x000000000000000000636F6e736F6c652e6c6f67);\n\n function _sendLogPayload(bytes memory payload) private view {\n uint256 payloadLength = payload.length;\n address consoleAddress = CONSOLE_ADDRESS;\n /// @solidity memory-safe-assembly\n assembly {\n let payloadStart := add(payload, 32)\n let r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0)\n }\n }\n\n function log() internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log()\"));\n }\n\n function logInt(int p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(int)\", p0));\n }\n\n function logUint(uint p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint)\", p0));\n }\n\n function logString(string memory p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function logBool(bool p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function logAddress(address p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function logBytes(bytes memory p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes)\", p0));\n }\n\n function logBytes1(bytes1 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes1)\", p0));\n }\n\n function logBytes2(bytes2 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes2)\", p0));\n }\n\n function logBytes3(bytes3 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes3)\", p0));\n }\n\n function logBytes4(bytes4 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes4)\", p0));\n }\n\n function logBytes5(bytes5 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes5)\", p0));\n }\n\n function logBytes6(bytes6 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes6)\", p0));\n }\n\n function logBytes7(bytes7 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes7)\", p0));\n }\n\n function logBytes8(bytes8 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes8)\", p0));\n }\n\n function logBytes9(bytes9 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes9)\", p0));\n }\n\n function logBytes10(bytes10 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes10)\", p0));\n }\n\n function logBytes11(bytes11 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes11)\", p0));\n }\n\n function logBytes12(bytes12 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes12)\", p0));\n }\n\n function logBytes13(bytes13 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes13)\", p0));\n }\n\n function logBytes14(bytes14 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes14)\", p0));\n }\n\n function logBytes15(bytes15 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes15)\", p0));\n }\n\n function logBytes16(bytes16 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes16)\", p0));\n }\n\n function logBytes17(bytes17 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes17)\", p0));\n }\n\n function logBytes18(bytes18 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes18)\", p0));\n }\n\n function logBytes19(bytes19 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes19)\", p0));\n }\n\n function logBytes20(bytes20 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes20)\", p0));\n }\n\n function logBytes21(bytes21 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes21)\", p0));\n }\n\n function logBytes22(bytes22 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes22)\", p0));\n }\n\n function logBytes23(bytes23 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes23)\", p0));\n }\n\n function logBytes24(bytes24 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes24)\", p0));\n }\n\n function logBytes25(bytes25 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes25)\", p0));\n }\n\n function logBytes26(bytes26 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes26)\", p0));\n }\n\n function logBytes27(bytes27 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes27)\", p0));\n }\n\n function logBytes28(bytes28 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes28)\", p0));\n }\n\n function logBytes29(bytes29 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes29)\", p0));\n }\n\n function logBytes30(bytes30 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes30)\", p0));\n }\n\n function logBytes31(bytes31 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes31)\", p0));\n }\n\n function logBytes32(bytes32 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes32)\", p0));\n }\n\n function log(uint p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint)\", p0));\n }\n\n function log(string memory p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function log(bool p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function log(address p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function log(uint p0, uint p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint)\", p0, p1));\n }\n\n function log(uint p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string)\", p0, p1));\n }\n\n function log(uint p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool)\", p0, p1));\n }\n\n function log(uint p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address)\", p0, p1));\n }\n\n function log(string memory p0, uint p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint)\", p0, p1));\n }\n\n function log(string memory p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n }\n\n function log(string memory p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool)\", p0, p1));\n }\n\n function log(string memory p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address)\", p0, p1));\n }\n\n function log(bool p0, uint p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint)\", p0, p1));\n }\n\n function log(bool p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string)\", p0, p1));\n }\n\n function log(bool p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool)\", p0, p1));\n }\n\n function log(bool p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address)\", p0, p1));\n }\n\n function log(address p0, uint p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint)\", p0, p1));\n }\n\n function log(address p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string)\", p0, p1));\n }\n\n function log(address p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool)\", p0, p1));\n }\n\n function log(address p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address)\", p0, p1));\n }\n\n function log(uint p0, uint p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint)\", p0, p1, p2));\n }\n\n function log(uint p0, uint p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string)\", p0, p1, p2));\n }\n\n function log(uint p0, uint p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool)\", p0, p1, p2));\n }\n\n function log(uint p0, uint p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address)\", p0, p1, p2));\n }\n\n function log(uint p0, string memory p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint)\", p0, p1, p2));\n }\n\n function log(uint p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string)\", p0, p1, p2));\n }\n\n function log(uint p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool)\", p0, p1, p2));\n }\n\n function log(uint p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address)\", p0, p1, p2));\n }\n\n function log(uint p0, bool p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint)\", p0, p1, p2));\n }\n\n function log(uint p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string)\", p0, p1, p2));\n }\n\n function log(uint p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool)\", p0, p1, p2));\n }\n\n function log(uint p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address)\", p0, p1, p2));\n }\n\n function log(uint p0, address p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint)\", p0, p1, p2));\n }\n\n function log(uint p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string)\", p0, p1, p2));\n }\n\n function log(uint p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool)\", p0, p1, p2));\n }\n\n function log(uint p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address)\", p0, p1, p2));\n }\n\n function log(bool p0, uint p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint)\", p0, p1, p2));\n }\n\n function log(bool p0, uint p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string)\", p0, p1, p2));\n }\n\n function log(bool p0, uint p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, uint p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address)\", p0, p1, p2));\n }\n\n function log(address p0, uint p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint)\", p0, p1, p2));\n }\n\n function log(address p0, uint p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string)\", p0, p1, p2));\n }\n\n function log(address p0, uint p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool)\", p0, p1, p2));\n }\n\n function log(address p0, uint p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, uint p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address)\", p0, p1, p2));\n }\n\n function log(uint p0, uint p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, uint p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, string memory p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, bool p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint p0, address p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, uint p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,uint)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,address)\", p0, p1, p2, p3));\n }\n\n}"},"lib/forge-std/src/console2.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\n/// @dev The original console.sol uses `int` and `uint` for computing function selectors, but it should\n/// use `int256` and `uint256`. This modified version fixes that. This version is recommended\n/// over `console.sol` if you don't need compatibility with Hardhat as the logs will show up in\n/// forge stack traces. If you do need compatibility with Hardhat, you must use `console.sol`.\n/// Reference: https://github.com/NomicFoundation/hardhat/issues/2178\nlibrary console2 {\n address constant CONSOLE_ADDRESS = address(0x000000000000000000636F6e736F6c652e6c6f67);\n\n function _sendLogPayload(bytes memory payload) private view {\n uint256 payloadLength = payload.length;\n address consoleAddress = CONSOLE_ADDRESS;\n /// @solidity memory-safe-assembly\n assembly {\n let payloadStart := add(payload, 32)\n let r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0)\n }\n }\n\n function log() internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log()\"));\n }\n\n function logInt(int256 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(int256)\", p0));\n }\n\n function logUint(uint256 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function logString(string memory p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function logBool(bool p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function logAddress(address p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function logBytes(bytes memory p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes)\", p0));\n }\n\n function logBytes1(bytes1 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes1)\", p0));\n }\n\n function logBytes2(bytes2 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes2)\", p0));\n }\n\n function logBytes3(bytes3 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes3)\", p0));\n }\n\n function logBytes4(bytes4 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes4)\", p0));\n }\n\n function logBytes5(bytes5 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes5)\", p0));\n }\n\n function logBytes6(bytes6 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes6)\", p0));\n }\n\n function logBytes7(bytes7 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes7)\", p0));\n }\n\n function logBytes8(bytes8 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes8)\", p0));\n }\n\n function logBytes9(bytes9 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes9)\", p0));\n }\n\n function logBytes10(bytes10 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes10)\", p0));\n }\n\n function logBytes11(bytes11 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes11)\", p0));\n }\n\n function logBytes12(bytes12 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes12)\", p0));\n }\n\n function logBytes13(bytes13 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes13)\", p0));\n }\n\n function logBytes14(bytes14 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes14)\", p0));\n }\n\n function logBytes15(bytes15 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes15)\", p0));\n }\n\n function logBytes16(bytes16 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes16)\", p0));\n }\n\n function logBytes17(bytes17 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes17)\", p0));\n }\n\n function logBytes18(bytes18 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes18)\", p0));\n }\n\n function logBytes19(bytes19 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes19)\", p0));\n }\n\n function logBytes20(bytes20 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes20)\", p0));\n }\n\n function logBytes21(bytes21 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes21)\", p0));\n }\n\n function logBytes22(bytes22 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes22)\", p0));\n }\n\n function logBytes23(bytes23 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes23)\", p0));\n }\n\n function logBytes24(bytes24 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes24)\", p0));\n }\n\n function logBytes25(bytes25 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes25)\", p0));\n }\n\n function logBytes26(bytes26 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes26)\", p0));\n }\n\n function logBytes27(bytes27 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes27)\", p0));\n }\n\n function logBytes28(bytes28 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes28)\", p0));\n }\n\n function logBytes29(bytes29 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes29)\", p0));\n }\n\n function logBytes30(bytes30 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes30)\", p0));\n }\n\n function logBytes31(bytes31 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes31)\", p0));\n }\n\n function logBytes32(bytes32 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes32)\", p0));\n }\n\n function log(uint256 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function log(int256 p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(int256)\", p0));\n }\n\n function log(string memory p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function log(bool p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function log(address p0) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function log(uint256 p0, uint256 p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256)\", p0, p1));\n }\n\n function log(uint256 p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string)\", p0, p1));\n }\n\n function log(uint256 p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool)\", p0, p1));\n }\n\n function log(uint256 p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address)\", p0, p1));\n }\n\n function log(string memory p0, uint256 p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256)\", p0, p1));\n }\n\n function log(string memory p0, int256 p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,int256)\", p0, p1));\n }\n\n function log(string memory p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n }\n\n function log(string memory p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool)\", p0, p1));\n }\n\n function log(string memory p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address)\", p0, p1));\n }\n\n function log(bool p0, uint256 p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256)\", p0, p1));\n }\n\n function log(bool p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string)\", p0, p1));\n }\n\n function log(bool p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool)\", p0, p1));\n }\n\n function log(bool p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address)\", p0, p1));\n }\n\n function log(address p0, uint256 p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256)\", p0, p1));\n }\n\n function log(address p0, string memory p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string)\", p0, p1));\n }\n\n function log(address p0, bool p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool)\", p0, p1));\n }\n\n function log(address p0, address p1) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address)\", p0, p1));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, uint256 p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, string memory p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, bool p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, address p2) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, uint256 p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, string memory p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, bool p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, address p3) internal view {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,address)\", p0, p1, p2, p3));\n }\n\n}"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\ninterface IMulticall3 {\n struct Call {\n address target;\n bytes callData;\n }\n\n struct Call3 {\n address target;\n bool allowFailure;\n bytes callData;\n }\n\n struct Call3Value {\n address target;\n bool allowFailure;\n uint256 value;\n bytes callData;\n }\n\n struct Result {\n bool success;\n bytes returnData;\n }\n\n function aggregate(Call[] calldata calls)\n external\n payable\n returns (uint256 blockNumber, bytes[] memory returnData);\n\n function aggregate3(Call3[] calldata calls) external payable returns (Result[] memory returnData);\n\n function aggregate3Value(Call3Value[] calldata calls) external payable returns (Result[] memory returnData);\n\n function blockAndAggregate(Call[] calldata calls)\n external\n payable\n returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n\n function getBasefee() external view returns (uint256 basefee);\n\n function getBlockHash(uint256 blockNumber) external view returns (bytes32 blockHash);\n\n function getBlockNumber() external view returns (uint256 blockNumber);\n\n function getChainId() external view returns (uint256 chainid);\n\n function getCurrentBlockCoinbase() external view returns (address coinbase);\n\n function getCurrentBlockDifficulty() external view returns (uint256 difficulty);\n\n function getCurrentBlockGasLimit() external view returns (uint256 gaslimit);\n\n function getCurrentBlockTimestamp() external view returns (uint256 timestamp);\n\n function getEthBalance(address addr) external view returns (uint256 balance);\n\n function getLastBlockHash() external view returns (bytes32 blockHash);\n\n function tryAggregate(bool requireSuccess, Call[] calldata calls)\n external\n payable\n returns (Result[] memory returnData);\n\n function tryBlockAndAggregate(bool requireSuccess, Call[] calldata calls)\n external\n payable\n returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n}\n"},"src/Multicall.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.12;\n\n/// @title Multicall - Aggregate results from multiple read-only function calls\n/// @author Michael Elliot \n/// @author Joshua Levine \n/// @author Nick Johnson \n\ncontract Multicall {\n struct Call {\n address target;\n bytes callData;\n }\n\n function aggregate(Call[] calldata calls) public returns (uint256 blockNumber, bytes[] memory returnData) {\n blockNumber = block.number;\n returnData = new bytes[](calls.length);\n for (uint256 i = 0; i < calls.length; i++) {\n (bool success, bytes memory ret) = calls[i].target.call(calls[i].callData);\n require(success);\n returnData[i] = ret;\n }\n }\n\n // Helper functions\n function getEthBalance(address addr) public view returns (uint256 balance) {\n balance = addr.balance;\n }\n\n function getBlockHash(uint256 blockNumber) public view returns (bytes32 blockHash) {\n blockHash = blockhash(blockNumber);\n }\n\n function getLastBlockHash() public view returns (bytes32 blockHash) {\n blockHash = blockhash(block.number - 1);\n }\n\n function getCurrentBlockTimestamp() public view returns (uint256 timestamp) {\n timestamp = block.timestamp;\n }\n\n function getCurrentBlockDifficulty() public view returns (uint256 difficulty) {\n difficulty = block.difficulty;\n }\n\n function getCurrentBlockGasLimit() public view returns (uint256 gaslimit) {\n gaslimit = block.gaslimit;\n }\n\n function getCurrentBlockCoinbase() public view returns (address coinbase) {\n coinbase = block.coinbase;\n }\n}\n"},"src/Multicall2.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.12;\n\n/// @title Multicall2 - Aggregate results from multiple read-only function calls\n/// @author Michael Elliot \n/// @author Joshua Levine \n/// @author Nick Johnson \ncontract Multicall2 {\n struct Call {\n address target;\n bytes callData;\n }\n\n struct Result {\n bool success;\n bytes returnData;\n }\n\n function aggregate(Call[] calldata calls) public returns (uint256 blockNumber, bytes[] memory returnData) {\n blockNumber = block.number;\n returnData = new bytes[](calls.length);\n for (uint256 i = 0; i < calls.length; i++) {\n (bool success, bytes memory ret) = calls[i].target.call(calls[i].callData);\n require(success, \"Multicall aggregate: call failed\");\n returnData[i] = ret;\n }\n }\n\n function tryAggregate(bool requireSuccess, Call[] calldata calls) public returns (Result[] memory returnData) {\n returnData = new Result[](calls.length);\n for (uint256 i = 0; i < calls.length; i++) {\n (bool success, bytes memory ret) = calls[i].target.call(calls[i].callData);\n\n if (requireSuccess) {\n require(success, \"Multicall2 aggregate: call failed\");\n }\n\n returnData[i] = Result(success, ret);\n }\n }\n\n function tryBlockAndAggregate(bool requireSuccess, Call[] calldata calls) public returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) {\n blockNumber = block.number;\n blockHash = blockhash(block.number);\n returnData = tryAggregate(requireSuccess, calls);\n }\n\n function blockAndAggregate(Call[] calldata calls) public returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) {\n (blockNumber, blockHash, returnData) = tryBlockAndAggregate(true, calls);\n }\n\n function getBlockHash(uint256 blockNumber) public view returns (bytes32 blockHash) {\n blockHash = blockhash(blockNumber);\n }\n\n function getBlockNumber() public view returns (uint256 blockNumber) {\n blockNumber = block.number;\n }\n\n function getCurrentBlockCoinbase() public view returns (address coinbase) {\n coinbase = block.coinbase;\n }\n\n function getCurrentBlockDifficulty() public view returns (uint256 difficulty) {\n difficulty = block.difficulty;\n }\n\n function getCurrentBlockGasLimit() public view returns (uint256 gaslimit) {\n gaslimit = block.gaslimit;\n }\n\n function getCurrentBlockTimestamp() public view returns (uint256 timestamp) {\n timestamp = block.timestamp;\n }\n\n function getEthBalance(address addr) public view returns (uint256 balance) {\n balance = addr.balance;\n }\n\n function getLastBlockHash() public view returns (bytes32 blockHash) {\n blockHash = blockhash(block.number - 1);\n }\n}\n"},"src/Multicall3.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.12;\n\n/// @title Multicall3\n/// @notice Aggregate results from multiple function calls\n/// @dev Multicall & Multicall2 backwards-compatible\n/// @dev Aggregate methods are marked `payable` to save 24 gas per call\n/// @author Michael Elliot \n/// @author Joshua Levine \n/// @author Nick Johnson \n/// @author Andreas Bigger \n/// @author Matt Solomon \ncontract Multicall3 {\n struct Call {\n address target;\n bytes callData;\n }\n\n struct Call3 {\n address target;\n bool allowFailure;\n bytes callData;\n }\n\n struct Call3Value {\n address target;\n bool allowFailure;\n uint256 value;\n bytes callData;\n }\n\n struct Result {\n bool success;\n bytes returnData;\n }\n\n /// @notice Backwards-compatible call aggregation with Multicall\n /// @param calls An array of Call structs\n /// @return blockNumber The block number where the calls were executed\n /// @return returnData An array of bytes containing the responses\n function aggregate(Call[] calldata calls) public payable returns (uint256 blockNumber, bytes[] memory returnData) {\n blockNumber = block.number;\n uint256 length = calls.length;\n returnData = new bytes[](length);\n Call calldata call;\n for (uint256 i = 0; i < length;) {\n bool success;\n call = calls[i];\n (success, returnData[i]) = call.target.call(call.callData);\n require(success, \"Multicall3: call failed\");\n unchecked { ++i; }\n }\n }\n\n /// @notice Backwards-compatible with Multicall2\n /// @notice Aggregate calls without requiring success\n /// @param requireSuccess If true, require all calls to succeed\n /// @param calls An array of Call structs\n /// @return returnData An array of Result structs\n function tryAggregate(bool requireSuccess, Call[] calldata calls) public payable returns (Result[] memory returnData) {\n uint256 length = calls.length;\n returnData = new Result[](length);\n Call calldata call;\n for (uint256 i = 0; i < length;) {\n Result memory result = returnData[i];\n call = calls[i];\n (result.success, result.returnData) = call.target.call(call.callData);\n if (requireSuccess) require(result.success, \"Multicall3: call failed\");\n unchecked { ++i; }\n }\n }\n\n /// @notice Backwards-compatible with Multicall2\n /// @notice Aggregate calls and allow failures using tryAggregate\n /// @param calls An array of Call structs\n /// @return blockNumber The block number where the calls were executed\n /// @return blockHash The hash of the block where the calls were executed\n /// @return returnData An array of Result structs\n function tryBlockAndAggregate(bool requireSuccess, Call[] calldata calls) public payable returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) {\n blockNumber = block.number;\n blockHash = blockhash(block.number);\n returnData = tryAggregate(requireSuccess, calls);\n }\n\n /// @notice Backwards-compatible with Multicall2\n /// @notice Aggregate calls and allow failures using tryAggregate\n /// @param calls An array of Call structs\n /// @return blockNumber The block number where the calls were executed\n /// @return blockHash The hash of the block where the calls were executed\n /// @return returnData An array of Result structs\n function blockAndAggregate(Call[] calldata calls) public payable returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) {\n (blockNumber, blockHash, returnData) = tryBlockAndAggregate(true, calls);\n }\n\n /// @notice Aggregate calls, ensuring each returns success if required\n /// @param calls An array of Call3 structs\n /// @return returnData An array of Result structs\n function aggregate3(Call3[] calldata calls) public payable returns (Result[] memory returnData) {\n uint256 length = calls.length;\n returnData = new Result[](length);\n Call3 calldata calli;\n for (uint256 i = 0; i < length;) {\n Result memory result = returnData[i];\n calli = calls[i];\n (result.success, result.returnData) = calli.target.call(calli.callData);\n assembly {\n // Revert if the call fails and failure is not allowed\n // `allowFailure := calldataload(add(calli, 0x20))` and `success := mload(result)`\n if iszero(or(calldataload(add(calli, 0x20)), mload(result))) {\n // set \"Error(string)\" signature: bytes32(bytes4(keccak256(\"Error(string)\")))\n mstore(0x00, 0x08c379a000000000000000000000000000000000000000000000000000000000)\n // set data offset\n mstore(0x04, 0x0000000000000000000000000000000000000000000000000000000000000020)\n // set length of revert string\n mstore(0x24, 0x0000000000000000000000000000000000000000000000000000000000000017)\n // set revert string: bytes32(abi.encodePacked(\"Multicall3: call failed\"))\n mstore(0x44, 0x4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000)\n revert(0x00, 0x64)\n }\n }\n unchecked { ++i; }\n }\n }\n\n /// @notice Aggregate calls with a msg value\n /// @notice Reverts if msg.value is less than the sum of the call values\n /// @param calls An array of Call3Value structs\n /// @return returnData An array of Result structs\n function aggregate3Value(Call3Value[] calldata calls) public payable returns (Result[] memory returnData) {\n uint256 valAccumulator;\n uint256 length = calls.length;\n returnData = new Result[](length);\n Call3Value calldata calli;\n for (uint256 i = 0; i < length;) {\n Result memory result = returnData[i];\n calli = calls[i];\n uint256 val = calli.value;\n // Humanity will be a Type V Kardashev Civilization before this overflows - andreas\n // ~ 10^25 Wei in existence << ~ 10^76 size uint fits in a uint256\n unchecked { valAccumulator += val; }\n (result.success, result.returnData) = calli.target.call{value: val}(calli.callData);\n assembly {\n // Revert if the call fails and failure is not allowed\n // `allowFailure := calldataload(add(calli, 0x20))` and `success := mload(result)`\n if iszero(or(calldataload(add(calli, 0x20)), mload(result))) {\n // set \"Error(string)\" signature: bytes32(bytes4(keccak256(\"Error(string)\")))\n mstore(0x00, 0x08c379a000000000000000000000000000000000000000000000000000000000)\n // set data offset\n mstore(0x04, 0x0000000000000000000000000000000000000000000000000000000000000020)\n // set length of revert string\n mstore(0x24, 0x0000000000000000000000000000000000000000000000000000000000000017)\n // set revert string: bytes32(abi.encodePacked(\"Multicall3: call failed\"))\n mstore(0x44, 0x4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000)\n revert(0x00, 0x84)\n }\n }\n unchecked { ++i; }\n }\n // Finally, make sure the msg.value = SUM(call[0...i].value)\n require(msg.value == valAccumulator, \"Multicall3: value mismatch\");\n }\n\n /// @notice Returns the block hash for the given block number\n /// @param blockNumber The block number\n function getBlockHash(uint256 blockNumber) public view returns (bytes32 blockHash) {\n blockHash = blockhash(blockNumber);\n }\n\n /// @notice Returns the block number\n function getBlockNumber() public view returns (uint256 blockNumber) {\n blockNumber = block.number;\n }\n\n /// @notice Returns the block coinbase\n function getCurrentBlockCoinbase() public view returns (address coinbase) {\n coinbase = block.coinbase;\n }\n\n /// @notice Returns the block difficulty\n function getCurrentBlockDifficulty() public view returns (uint256 difficulty) {\n difficulty = block.difficulty;\n }\n\n /// @notice Returns the block gas limit\n function getCurrentBlockGasLimit() public view returns (uint256 gaslimit) {\n gaslimit = block.gaslimit;\n }\n\n /// @notice Returns the block timestamp\n function getCurrentBlockTimestamp() public view returns (uint256 timestamp) {\n timestamp = block.timestamp;\n }\n\n /// @notice Returns the (ETH) balance of a given address\n function getEthBalance(address addr) public view returns (uint256 balance) {\n balance = addr.balance;\n }\n\n /// @notice Returns the block hash of the last block\n function getLastBlockHash() public view returns (bytes32 blockHash) {\n unchecked {\n blockHash = blockhash(block.number - 1);\n }\n }\n\n /// @notice Gets the base fee of the given block\n /// @notice Can revert if the BASEFEE opcode is not implemented by the given chain\n function getBasefee() public view returns (uint256 basefee) {\n basefee = block.basefee;\n }\n\n /// @notice Returns the chain id\n function getChainId() public view returns (uint256 chainid) {\n chainid = block.chainid;\n }\n}\n"},"src/interfaces/IMulticall.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.5.0 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\ninterface IMulticall {\n struct Call {\n address target;\n bytes callData;\n }\n\n function aggregate(Call[] calldata calls)\n external\n returns (uint256 blockNumber, bytes[] memory returnData);\n\n function getBlockHash(uint256 blockNumber) external view returns (bytes32 blockHash);\n\n function getCurrentBlockCoinbase() external view returns (address coinbase);\n\n function getCurrentBlockDifficulty() external view returns (uint256 difficulty);\n\n function getCurrentBlockGasLimit() external view returns (uint256 gaslimit);\n\n function getCurrentBlockTimestamp() external view returns (uint256 timestamp);\n\n function getEthBalance(address addr) external view returns (uint256 balance);\n \n function getLastBlockHash() external view returns (bytes32 blockHash);\n}\n"},"src/interfaces/IMulticall2.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.5.0 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\ninterface IMulticall2 {\n struct Call {\n address target;\n bytes callData;\n }\n\n struct Result {\n bool success;\n bytes returnData;\n }\n\n function aggregate(Call[] calldata calls) external returns (uint256 blockNumber, bytes[] memory returnData);\n\n function blockAndAggregate(Call[] calldata calls)\n external\n returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n\n function getBlockHash(uint256 blockNumber) external view returns (bytes32 blockHash);\n\n function getBlockNumber() external view returns (uint256 blockNumber);\n\n function getCurrentBlockCoinbase() external view returns (address coinbase);\n\n function getCurrentBlockDifficulty() external view returns (uint256 difficulty);\n\n function getCurrentBlockGasLimit() external view returns (uint256 gaslimit);\n\n function getCurrentBlockTimestamp() external view returns (uint256 timestamp);\n\n function getEthBalance(address addr) external view returns (uint256 balance);\n\n function getLastBlockHash() external view returns (bytes32 blockHash);\n\n function tryAggregate(bool requireSuccess, Call[] calldata calls) external returns (Result[] memory returnData);\n \n function tryBlockAndAggregate(bool requireSuccess, Call[] calldata calls)\n external\n returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n}\n\n"},"src/interfaces/IMulticall3.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.8.12 <0.9.0;\n\ninterface IMulticall3 {\n struct Call {\n address target;\n bytes callData;\n }\n\n struct Call3 {\n address target;\n bool allowFailure;\n bytes callData;\n }\n\n struct Call3Value {\n address target;\n bool allowFailure;\n uint256 value;\n bytes callData;\n }\n\n struct Result {\n bool success;\n bytes returnData;\n }\n\n function aggregate(Call[] calldata calls) external payable returns (uint256 blockNumber, bytes[] memory returnData);\n\n function aggregate3(Call3[] calldata calls) external payable returns (Result[] memory returnData);\n\n function aggregate3Value(Call3Value[] calldata calls) external payable returns (Result[] memory returnData);\n\n function blockAndAggregate(\n Call[] calldata calls\n ) external payable returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n\n function getBasefee() external view returns (uint256 basefee);\n\n function getBlockHash(uint256 blockNumber) external view returns (bytes32 blockHash);\n\n function getBlockNumber() external view returns (uint256 blockNumber);\n\n function getChainId() external view returns (uint256 chainid);\n\n function getCurrentBlockCoinbase() external view returns (address coinbase);\n\n function getCurrentBlockDifficulty() external view returns (uint256 difficulty);\n\n function getCurrentBlockGasLimit() external view returns (uint256 gaslimit);\n\n function getCurrentBlockTimestamp() external view returns (uint256 timestamp);\n\n function getEthBalance(address addr) external view returns (uint256 balance);\n\n function getLastBlockHash() external view returns (bytes32 blockHash);\n\n function tryAggregate(\n bool requireSuccess,\n Call[] calldata calls\n ) external payable returns (Result[] memory returnData);\n\n function tryBlockAndAggregate(\n bool requireSuccess,\n Call[] calldata calls\n ) external payable returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n}\n"},"src/test/Multicall.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.12;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {Multicall} from \"../Multicall.sol\";\nimport {MockCallee} from \"./mocks/MockCallee.sol\";\n\ncontract MulticallTest is Test {\n Multicall multicall;\n MockCallee callee;\n\n /// @notice Setups up the testing suite\n function setUp() public {\n multicall = new Multicall();\n callee = new MockCallee();\n }\n\n /// >>>>>>>>>>>>>>>>>>>> AGGREGATION TESTS <<<<<<<<<<<<<<<<<<<< ///\n\n function testAggregation() public {\n // Test successful call\n Multicall.Call[] memory calls = new Multicall.Call[](1);\n calls[0] = Multicall.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n (uint256 blockNumber, bytes[] memory returnData) = multicall.aggregate(calls);\n assertEq(blockNumber, block.number);\n assertEq(keccak256(returnData[0]), keccak256(abi.encodePacked(blockhash(block.number))));\n }\n\n function testUnsuccessfulAggregation() public {\n // Test unexpected revert\n Multicall.Call[] memory calls = new Multicall.Call[](2);\n calls[0] = Multicall.Call(\n address(callee),\n abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number)\n );\n calls[1] = Multicall.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\")\n );\n vm.expectRevert(bytes(\"\"));\n multicall.aggregate(calls);\n }\n\n /// >>>>>>>>>>>>>>>>>>>>>> HELPER TESTS <<<<<<<<<<<<<<<<<<<<<<< ///\n\n function testGetEthBalance(address addr) public {\n assertEq(addr.balance, multicall.getEthBalance(addr));\n }\n\n function testGetBlockHash(uint256 blockNumber) public {\n assertEq(blockhash(blockNumber), multicall.getBlockHash(blockNumber));\n }\n\n function testGetLastBlockHash() public {\n // Prevent arithmetic underflow on the genesis block\n if (block.number == 0) return;\n assertEq(blockhash(block.number - 1), multicall.getLastBlockHash());\n }\n\n function testGetCurrentBlockTimestamp() public {\n assertEq(block.timestamp, multicall.getCurrentBlockTimestamp());\n }\n\n function testGetCurrentBlockDifficulty() public {\n assertEq(block.difficulty, multicall.getCurrentBlockDifficulty());\n }\n\n function testGetCurrentBlockGasLimit() public {\n assertEq(block.gaslimit, multicall.getCurrentBlockGasLimit());\n }\n\n function testGetCurrentBlockCoinbase() public {\n assertEq(block.coinbase, multicall.getCurrentBlockCoinbase());\n }\n}\n"},"src/test/Multicall2.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.12;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {Multicall2} from \"../Multicall2.sol\";\nimport {MockCallee} from \"./mocks/MockCallee.sol\";\n\ncontract Multicall2Test is Test {\n Multicall2 multicall;\n MockCallee callee;\n\n /// @notice Setups up the testing suite\n function setUp() public {\n multicall = new Multicall2();\n callee = new MockCallee();\n }\n\n /// >>>>>>>>>>>>>>>>>>>>> AGGREGATE TESTS <<<<<<<<<<<<<<<<<<<<< ///\n\n function testAggregation() public {\n // Test successful call\n Multicall2.Call[] memory calls = new Multicall2.Call[](1);\n calls[0] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n (uint256 blockNumber, bytes[] memory returnData) = multicall.aggregate(calls);\n assertEq(blockNumber, block.number);\n assertEq(keccak256(returnData[0]), keccak256(abi.encodePacked(blockhash(block.number))));\n }\n\n function testUnsuccessfulAggregation() public {\n // Test unexpected revert\n Multicall2.Call[] memory calls = new Multicall2.Call[](2);\n calls[0] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n vm.expectRevert(bytes(\"Multicall aggregate: call failed\"));\n multicall.aggregate(calls);\n }\n\n /// >>>>>>>>>>>>>>>>>>> TRY AGGREGATE TESTS <<<<<<<<<<<<<<<<<<< ///\n\n function testTryAggregate() public {\n Multicall2.Call[] memory calls = new Multicall2.Call[](2);\n calls[0] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n (Multicall2.Result[] memory returnData) = multicall.tryAggregate(false, calls);\n assertTrue(returnData[0].success);\n assertEq(keccak256(returnData[0].returnData), keccak256(abi.encodePacked(blockhash(block.number))));\n assertTrue(!returnData[1].success);\n }\n\n function testTryAggregateUnsuccessful() public {\n Multicall2.Call[] memory calls = new Multicall2.Call[](2);\n calls[0] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n vm.expectRevert(bytes(\"Multicall2 aggregate: call failed\"));\n multicall.tryAggregate(true, calls);\n }\n\n /// >>>>>>>>>>>>>> TRY BLOCK AND AGGREGATE TESTS <<<<<<<<<<<<<< ///\n\n function testTryBlockAndAggregate() public {\n Multicall2.Call[] memory calls = new Multicall2.Call[](2);\n calls[0] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n (uint256 blockNumber, bytes32 blockHash, Multicall2.Result[] memory returnData) = multicall.tryBlockAndAggregate(false, calls);\n assertEq(blockNumber, block.number);\n assertEq(blockHash, blockhash(block.number));\n assertTrue(returnData[0].success);\n assertEq(keccak256(returnData[0].returnData), keccak256(abi.encodePacked(blockhash(block.number))));\n assertTrue(!returnData[1].success);\n }\n\n function testTryBlockAndAggregateUnsuccessful() public {\n Multicall2.Call[] memory calls = new Multicall2.Call[](2);\n calls[0] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n vm.expectRevert(bytes(\"Multicall2 aggregate: call failed\"));\n multicall.tryBlockAndAggregate(true, calls);\n }\n\n function testBlockAndAggregateUnsuccessful() public {\n Multicall2.Call[] memory calls = new Multicall2.Call[](2);\n calls[0] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall2.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n vm.expectRevert(bytes(\"Multicall2 aggregate: call failed\"));\n multicall.blockAndAggregate(calls);\n }\n\n /// >>>>>>>>>>>>>>>>>>>>>> HELPER TESTS <<<<<<<<<<<<<<<<<<<<<<< ///\n\n function testGetBlockHash(uint256 blockNumber) public {\n assertEq(blockhash(blockNumber), multicall.getBlockHash(blockNumber));\n }\n\n function testGetBlockNumber() public {\n assertEq(block.number, multicall.getBlockNumber());\n }\n\n function testGetCurrentBlockCoinbase() public {\n assertEq(block.coinbase, multicall.getCurrentBlockCoinbase());\n }\n\n function testGetCurrentBlockDifficulty() public {\n assertEq(block.difficulty, multicall.getCurrentBlockDifficulty());\n }\n\n function testGetCurrentBlockGasLimit() public {\n assertEq(block.gaslimit, multicall.getCurrentBlockGasLimit());\n }\n\n function testGetCurrentBlockTimestamp() public {\n assertEq(block.timestamp, multicall.getCurrentBlockTimestamp());\n }\n\n function testGetEthBalance(address addr) public {\n assertEq(addr.balance, multicall.getEthBalance(addr));\n }\n\n function testGetLastBlockHash() public {\n // Prevent arithmetic underflow on the genesis block\n if (block.number == 0) return;\n assertEq(blockhash(block.number - 1), multicall.getLastBlockHash());\n }\n}\n"},"src/test/Multicall3.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.12;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {Multicall3} from \"../Multicall3.sol\";\nimport {MockCallee} from \"./mocks/MockCallee.sol\";\nimport {EtherSink} from \"./mocks/EtherSink.sol\";\n\ncontract Multicall3Test is Test {\n Multicall3 multicall;\n MockCallee callee;\n EtherSink etherSink;\n\n /// @notice Setups up the testing suite\n function setUp() public {\n multicall = new Multicall3();\n callee = new MockCallee();\n etherSink = new EtherSink();\n }\n\n /// >>>>>>>>>>>>>>>>>>>>> AGGREGATE TESTS <<<<<<<<<<<<<<<<<<<<< ///\n\n function testAggregation() public {\n // Test successful call\n Multicall3.Call[] memory calls = new Multicall3.Call[](1);\n calls[0] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n (uint256 blockNumber, bytes[] memory returnData) = multicall.aggregate(calls);\n assertEq(blockNumber, block.number);\n assertEq(keccak256(returnData[0]), keccak256(abi.encodePacked(blockhash(block.number))));\n }\n\n function testUnsuccessfulAggregation() public {\n // Test unexpected revert\n Multicall3.Call[] memory calls = new Multicall3.Call[](2);\n calls[0] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n vm.expectRevert(bytes(\"Multicall3: call failed\"));\n multicall.aggregate(calls);\n }\n\n /// >>>>>>>>>>>>>>>>>>> TRY AGGREGATE TESTS <<<<<<<<<<<<<<<<<<< ///\n\n function testTryAggregate() public {\n Multicall3.Call[] memory calls = new Multicall3.Call[](2);\n calls[0] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n (Multicall3.Result[] memory returnData) = multicall.tryAggregate(false, calls);\n assertTrue(returnData[0].success);\n assertEq(keccak256(returnData[0].returnData), keccak256(abi.encodePacked(blockhash(block.number))));\n assertTrue(!returnData[1].success);\n }\n\n function testTryAggregateUnsuccessful() public {\n Multicall3.Call[] memory calls = new Multicall3.Call[](2);\n calls[0] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n vm.expectRevert(bytes(\"Multicall3: call failed\"));\n multicall.tryAggregate(true, calls);\n }\n\n /// >>>>>>>>>>>>>> TRY BLOCK AND AGGREGATE TESTS <<<<<<<<<<<<<< ///\n\n function testTryBlockAndAggregate() public {\n Multicall3.Call[] memory calls = new Multicall3.Call[](2);\n calls[0] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n (uint256 blockNumber, bytes32 blockHash, Multicall3.Result[] memory returnData) = multicall.tryBlockAndAggregate(false, calls);\n assertEq(blockNumber, block.number);\n assertEq(blockHash, blockhash(block.number));\n assertTrue(returnData[0].success);\n assertEq(keccak256(returnData[0].returnData), keccak256(abi.encodePacked(blockhash(block.number))));\n assertTrue(!returnData[1].success);\n }\n\n function testTryBlockAndAggregateUnsuccessful() public {\n Multicall3.Call[] memory calls = new Multicall3.Call[](2);\n calls[0] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n vm.expectRevert(bytes(\"Multicall3: call failed\"));\n multicall.tryBlockAndAggregate(true, calls);\n }\n\n function testBlockAndAggregateUnsuccessful() public {\n Multicall3.Call[] memory calls = new Multicall3.Call[](2);\n calls[0] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call(address(callee), abi.encodeWithSignature(\"thisMethodReverts()\"));\n vm.expectRevert(bytes(\"Multicall3: call failed\"));\n multicall.blockAndAggregate(calls);\n }\n\n /// >>>>>>>>>>>>>>>>>>> AGGREGATE3 TESTS <<<<<<<<<<<<<<<<<<<<<< ///\n\n function testAggregate3() public {\n Multicall3.Call3[] memory calls = new Multicall3.Call3[](3);\n calls[0] = Multicall3.Call3(address(callee), false, abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call3(address(callee), true, abi.encodeWithSignature(\"thisMethodReverts()\"));\n calls[2] = Multicall3.Call3(address(multicall), true, abi.encodeWithSignature(\"getCurrentBlockTimestamp()\"));\n (Multicall3.Result[] memory returnData) = multicall.aggregate3(calls);\n\n // Call 1.\n assertTrue(returnData[0].success);\n assertEq(blockhash(block.number), abi.decode(returnData[0].returnData, (bytes32)));\n assertEq(keccak256(returnData[0].returnData), keccak256(abi.encodePacked(blockhash(block.number))));\n\n // Call 2.\n assertTrue(!returnData[1].success);\n assertEq(returnData[1].returnData.length, 4);\n assertEq(bytes4(returnData[1].returnData), bytes4(keccak256(\"Unsuccessful()\")));\n\n // Call 3.\n assertTrue(returnData[2].success);\n assertEq(abi.decode(returnData[2].returnData, (uint256)), block.timestamp);\n }\n\n function testAggregate3Unsuccessful() public {\n Multicall3.Call3[] memory calls = new Multicall3.Call3[](2);\n calls[0] = Multicall3.Call3(address(callee), false, abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call3(address(callee), false, abi.encodeWithSignature(\"thisMethodReverts()\"));\n vm.expectRevert(bytes(\"Multicall3: call failed\"));\n multicall.aggregate3(calls);\n }\n\n /// >>>>>>>>>>>>>>>>> AGGREGATE3VALUE TESTS <<<<<<<<<<<<<<<<<<< ///\n\n function testAggregate3Value() public {\n Multicall3.Call3Value[] memory calls = new Multicall3.Call3Value[](3);\n calls[0] = Multicall3.Call3Value(address(callee), false, 0, abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call3Value(address(callee), true, 0, abi.encodeWithSignature(\"thisMethodReverts()\"));\n calls[2] = Multicall3.Call3Value(address(callee), true, 1, abi.encodeWithSignature(\"sendBackValue(address)\", address(etherSink)));\n (Multicall3.Result[] memory returnData) = multicall.aggregate3Value{value: 1}(calls);\n assertTrue(returnData[0].success);\n assertEq(keccak256(returnData[0].returnData), keccak256(abi.encodePacked(blockhash(block.number))));\n assertTrue(!returnData[1].success);\n assertTrue(returnData[2].success);\n }\n\n function testAggregate3ValueUnsuccessful() public {\n Multicall3.Call3Value[] memory calls = new Multicall3.Call3Value[](3);\n calls[0] = Multicall3.Call3Value(address(callee), false, 0, abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls[1] = Multicall3.Call3Value(address(callee), false, 0, abi.encodeWithSignature(\"thisMethodReverts()\"));\n calls[2] = Multicall3.Call3Value(address(callee), false, 1, abi.encodeWithSignature(\"sendBackValue(address)\", address(etherSink)));\n vm.expectRevert(bytes(\"Multicall3: call failed\"));\n multicall.aggregate3Value(calls);\n\n // Should fail if we don't provide enough value\n Multicall3.Call3Value[] memory calls2 = new Multicall3.Call3Value[](3);\n calls2[0] = Multicall3.Call3Value(address(callee), true, 0, abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls2[1] = Multicall3.Call3Value(address(callee), true, 0, abi.encodeWithSignature(\"thisMethodReverts()\"));\n calls2[2] = Multicall3.Call3Value(address(callee), true, 1, abi.encodeWithSignature(\"sendBackValue(address)\", address(etherSink)));\n vm.expectRevert(bytes(\"Multicall3: value mismatch\"));\n multicall.aggregate3Value(calls2);\n\n // Works if we provide enough value\n Multicall3.Call3Value[] memory calls3 = new Multicall3.Call3Value[](3);\n calls3[0] = Multicall3.Call3Value(address(callee), false, 0, abi.encodeWithSignature(\"getBlockHash(uint256)\", block.number));\n calls3[1] = Multicall3.Call3Value(address(callee), true, 0, abi.encodeWithSignature(\"thisMethodReverts()\"));\n calls3[2] = Multicall3.Call3Value(address(callee), false, 1, abi.encodeWithSignature(\"sendBackValue(address)\", address(etherSink)));\n multicall.aggregate3Value{value: 1}(calls3);\n }\n\n /// >>>>>>>>>>>>>>>>>>>>>> HELPER TESTS <<<<<<<<<<<<<<<<<<<<<<< ///\n\n function testGetBlockHash(uint256 blockNumber) public {\n assertEq(blockhash(blockNumber), multicall.getBlockHash(blockNumber));\n }\n\n function testGetBlockNumber() public {\n assertEq(block.number, multicall.getBlockNumber());\n }\n\n function testGetCurrentBlockCoinbase() public {\n assertEq(block.coinbase, multicall.getCurrentBlockCoinbase());\n }\n\n function testGetCurrentBlockDifficulty() public {\n assertEq(block.difficulty, multicall.getCurrentBlockDifficulty());\n }\n\n function testGetCurrentBlockGasLimit() public {\n assertEq(block.gaslimit, multicall.getCurrentBlockGasLimit());\n }\n\n function testGetCurrentBlockTimestamp() public {\n assertEq(block.timestamp, multicall.getCurrentBlockTimestamp());\n }\n\n function testGetEthBalance(address addr) public {\n assertEq(addr.balance, multicall.getEthBalance(addr));\n }\n\n function testGetLastBlockHash() public {\n // Prevent arithmetic underflow on the genesis block\n if (block.number == 0) return;\n assertEq(blockhash(block.number - 1), multicall.getLastBlockHash());\n }\n\n function testGetBasefee() public {\n assertEq(block.basefee, multicall.getBasefee());\n }\n\n function testGetChainId() public {\n assertEq(block.chainid, multicall.getChainId());\n }\n}\n"},"src/test/mocks/EtherSink.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.12;\n\n/// @title EtherSink\n/// @notice Receives Ether, that's about it \\( o_o )/\n/// @author andreas@nascent.xyz\ncontract EtherSink {\n\n /// >>>>>>>>>>>>>>>>>>>>>> ACCEPT CALLS <<<<<<<<<<<<<<<<<<<<<<< ///\n\n /// @notice Allows the test to receive eth via low level calls\n receive() external payable {}\n}"},"src/test/mocks/MockCallee.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.12;\n\n/// @title MockCallee\n/// @notice Receives calls from the Multicaller\n/// @author andreas@nascent.xyz\ncontract MockCallee {\n\n /// @notice Failure\n error Unsuccessful();\n\n /// @notice Returns the block hash for the given block number\n /// @param blockNumber The block number\n /// @return blockHash The 32 byte block hash\n function getBlockHash(uint256 blockNumber) public view returns (bytes32 blockHash) {\n blockHash = blockhash(blockNumber);\n }\n\n /// @notice Reverts o______O\n function thisMethodReverts() public pure {\n revert Unsuccessful();\n }\n\n /// @notice Accepts a value\n function sendBackValue(address target) public payable {\n (bool ok, ) = target.call{value: msg.value}(\"\");\n if (!ok) revert Unsuccessful();\n }\n}\n"}},"settings":{"remappings":["ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/"],"optimizer":{"enabled":true,"runs":10000000},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs"},"outputSelection":{"lib/forge-std/lib/ds-test/src/test.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/Base.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdAssertions.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdChains.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdCheats.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdError.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdInvariant.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdJson.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdMath.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdStorage.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdStyle.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdUtils.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/Test.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/Vm.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/console.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/console2.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/interfaces/IMulticall3.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/Multicall.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/Multicall2.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/Multicall3.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/interfaces/IMulticall.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/interfaces/IMulticall2.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/interfaces/IMulticall3.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/test/Multicall.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/test/Multicall2.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/test/Multicall3.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/test/mocks/EtherSink.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/test/mocks/MockCallee.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]}},"evmVersion":"london","viaIR":false,"libraries":{}},"allowPaths":["/Users/shunkakinoki/ghq/github.com/mds1/multicall3","/Users/shunkakinoki/ghq/github.com/mds1/multicall3/lib"],"basePath":"/Users/shunkakinoki/ghq/github.com/mds1/multicall3","includePaths":["/Users/shunkakinoki/ghq/github.com/mds1/multicall3"]},"output":{"contracts":{"lib/forge-std/lib/ds-test/src/test.sol":{"DSTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"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_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_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}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"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\":\"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\":\"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\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/lib/ds-test/src/test.sol\":\"DSTest\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60806040526000805460ff1916600117905534801561001d57600080fd5b506102a68061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156101bf5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093526000929091610129917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101ff565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526101619161023b565b6000604051808303816000865af19150503d806000811461019e576040519150601f19603f3d011682016040523d82523d6000602084013e6101a3565b606091505b50915050808060200190518101906101bb919061024e565b9150505b919050565b6000815160005b818110156101e557602081850181015186830152016101cb565b818111156101f4576000828601525b509290920192915050565b7fffffffff0000000000000000000000000000000000000000000000000000000083168152600061023360048301846101c4565b949350505050565b600061024782846101c4565b9392505050565b60006020828403121561026057600080fd5b8151801515811461024757600080fdfea264697066735822122006ff742e518c8a89ef236729f13d9be621f49cc5a621650b2cf794738fd4e66164736f6c634300080c0033","sourceMap":"715:15442:0:-:0;;;1572:26;;;-1:-1:-1;;1572:26:0;1594:4;1572:26;;;715:15442;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156101bf5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093526000929091610129917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101ff565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526101619161023b565b6000604051808303816000865af19150503d806000811461019e576040519150601f19603f3d011682016040523d82523d6000602084013e6101a3565b606091505b50915050808060200190518101906101bb919061024e565b9150505b919050565b6000815160005b818110156101e557602081850181015186830152016101cb565b818111156101f4576000828601525b509290920192915050565b7fffffffff0000000000000000000000000000000000000000000000000000000083168152600061023360048301846101c4565b949350505050565b600061024782846101c4565b9392505050565b60006020828403121561026057600080fd5b8151801515811461024757600080fdfea264697066735822122006ff742e518c8a89ef236729f13d9be621f49cc5a621650b2cf794738fd4e66164736f6c634300080c0033","sourceMap":"715:15442:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584;;;:::i;:::-;;;179:14:28;;172:22;154:41;;142:2;127:18;1819:584:0;;;;;;;1572:26;;;;;;;;;1819:584;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:0;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;380:74:28;;;2221:17:0;470:18:28;;;463:34;2196:43:0;;;;;;;;;353:18:28;;;2196:43:0;;;-1:-1:-1;;1671:64:0;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;;;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:0:o;508:336:28:-;549:3;587:5;581:12;611:1;621:128;635:6;632:1;629:13;621:128;;;732:4;717:13;;;713:24;;707:31;694:11;;;687:52;650:12;621:128;;;767:6;764:1;761:13;758:48;;;802:1;793:6;788:3;784:16;777:27;758:48;-1:-1:-1;822:16:28;;;;;508:336;-1:-1:-1;;508:336:28:o;849:324::-;1046:66;1038:6;1034:79;1029:3;1022:92;1004:3;1130:37;1164:1;1159:3;1155:11;1147:6;1130:37;:::i;:::-;1123:44;849:324;-1:-1:-1;;;;849:324:28:o;1178:189::-;1307:3;1332:29;1357:3;1349:6;1332:29;:::i;:::-;1325:36;1178:189;-1:-1:-1;;;1178:189:28:o;1372:277::-;1439:6;1492:2;1480:9;1471:7;1467:23;1463:32;1460:52;;;1508:1;1505;1498:12;1460:52;1540:9;1534:16;1593:5;1586:13;1579:21;1572:5;1569:32;1559:60;;1615:1;1612;1605:12","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","failed()":"ba414fa6"}}}},"lib/forge-std/src/Base.sol":{"CommonBase":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"CommonBase\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"ScriptBase":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"ScriptBase\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"TestBase":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"TestBase\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/StdAssertions.sol":{"StdAssertions":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"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}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"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\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdAssertions.sol\":\"StdAssertions\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","failed()":"ba414fa6"}}}},"lib/forge-std/src/StdChains.sol":{"StdChains":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"StdChains provides information about EVM compatible chains that can be used in scripts/tests. For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the alias used in this contract, which can be found as the first argument to the `setChainWithDefaultRpcUrl` call in the `initialize` function. There are two main ways to use this contract: 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or `setChain(string memory chainAlias, Chain memory chain)` 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`. The first time either of those are used, chains are initialized with the default set of RPC URLs. This is done in `initialize`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in `defaultRpcUrls`. The `setChain` function is straightforward, and it simply saves off the given chain data. The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say we want to retrieve `mainnet`'s RPC URL: - If you haven't set any mainnet chain info with `setChain`, you haven't specified that chain in `foundry.toml` and no env var is set, the default data and RPC URL will be returned. - If you have set a mainnet RPC URL in `foundry.toml` it will return that, if valid (e.g. if a URL is given or if an environment variable is given and that environment variable exists). Otherwise, the default data is returned. - If you specified data with `setChain` it will return that. Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdChains.sol\":\"StdChains\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/StdCheats.sol":{"StdCheats":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheats\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"StdCheatsSafe":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheatsSafe\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/StdError.sol":{"stdError":{"abi":[{"type":"function","name":"arithmeticError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"assertionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"divisionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"encodeStorageError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"enumConversionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"indexOOBError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"memOverflowError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"popError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"zeroVarError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"arithmeticError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assertionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"divisionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeStorageError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enumConversionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"indexOOBError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"memOverflowError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"popError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zeroVarError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdError.sol\":\"stdError\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6102d061003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100ad5760003560e01c8063986c5f6811610080578063b67689da11610065578063b67689da146100f8578063d160e4de14610100578063fa784a441461010857600080fd5b8063986c5f68146100e8578063b22dc54d146100f057600080fd5b806305ee8612146100b257806310332977146100d05780631de45560146100d85780638995290f146100e0575b600080fd5b6100ba610110565b6040516100c79190610227565b60405180910390f35b6100ba610197565b6100ba6101a9565b6100ba6101bb565b6100ba6101cd565b6100ba6101df565b6100ba6101f1565b6100ba610203565b6100ba610215565b604051603260248201526044015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f4e487b710000000000000000000000000000000000000000000000000000000017905281565b6040516001602482015260440161011e565b6040516021602482015260440161011e565b6040516011602482015260440161011e565b6040516041602482015260440161011e565b6040516031602482015260440161011e565b6040516051602482015260440161011e565b6040516022602482015260440161011e565b6040516012602482015260440161011e565b600060208083528351808285015260005b8181101561025457858101830151858201604001528201610238565b81811115610266576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201604001939250505056fea2646970667358221220267e9f0245dff5b350f311f2729aeb86b18579965abe42a7a5f6ac660d0556b164736f6c634300080c0033","sourceMap":"162:850:5:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;162:850:5;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"73000000000000000000000000000000000000000030146080604052600436106100ad5760003560e01c8063986c5f6811610080578063b67689da11610065578063b67689da146100f8578063d160e4de14610100578063fa784a441461010857600080fd5b8063986c5f68146100e8578063b22dc54d146100f057600080fd5b806305ee8612146100b257806310332977146100d05780631de45560146100d85780638995290f146100e0575b600080fd5b6100ba610110565b6040516100c79190610227565b60405180910390f35b6100ba610197565b6100ba6101a9565b6100ba6101bb565b6100ba6101cd565b6100ba6101df565b6100ba6101f1565b6100ba610203565b6100ba610215565b604051603260248201526044015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f4e487b710000000000000000000000000000000000000000000000000000000017905281565b6040516001602482015260440161011e565b6040516021602482015260440161011e565b6040516011602482015260440161011e565b6040516041602482015260440161011e565b6040516031602482015260440161011e565b6040516051602482015260440161011e565b6040516022602482015260440161011e565b6040516012602482015260440161011e565b600060208083528351808285015260005b8181101561025457858101830151858201604001528201610238565b81811115610266576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201604001939250505056fea2646970667358221220267e9f0245dff5b350f311f2729aeb86b18579965abe42a7a5f6ac660d0556b164736f6c634300080c0033","sourceMap":"162:850:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;740:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;185:86;;;:::i;461:91::-;;;:::i;277:87::-;;;:::i;831:88::-;;;:::i;654:80::-;;;:::i;925:84::-;;;:::i;558:90::-;;;:::i;370:85::-;;;:::i;740:::-;778:47;;820:4;778:47;;;834:36:28;807:18;;778:47:5;;;;;;;;;;;;;;;;;;;;;;;;;740:85;:::o;185:86::-;224:47;;266:4;224:47;;;834:36:28;807:18;;224:47:5;681:195:28;461:91:5;505:47;;547:4;505:47;;;834:36:28;807:18;;505:47:5;681:195:28;277:87:5;317:47;;359:4;317:47;;;834:36:28;807:18;;317:47:5;681:195:28;831:88:5;872:47;;914:4;872:47;;;834:36:28;807:18;;872:47:5;681:195:28;654:80:5;687:47;;729:4;687:47;;;834:36:28;807:18;;687:47:5;681:195:28;925:84:5;962:47;;1004:4;962:47;;;834:36:28;807:18;;962:47:5;681:195:28;558:90:5;601:47;;643:4;601:47;;;834:36:28;807:18;;601:47:5;681:195:28;370:85:5;408:47;;450:4;408:47;;;834:36:28;807:18;;408:47:5;681:195:28;14:662;132:4;161:2;190;179:9;172:21;222:6;216:13;265:6;260:2;249:9;245:18;238:34;290:1;300:140;314:6;311:1;308:13;300:140;;;409:14;;;405:23;;399:30;375:17;;;394:2;371:26;364:66;329:10;;300:140;;;458:6;455:1;452:13;449:91;;;528:1;523:2;514:6;503:9;499:22;495:31;488:42;449:91;-1:-1:-1;592:2:28;580:15;597:66;576:88;561:104;;;;667:2;557:113;;14:662;-1:-1:-1;;;14:662:28:o","linkReferences":{}},"methodIdentifiers":{"arithmeticError()":"8995290f","assertionError()":"10332977","divisionError()":"fa784a44","encodeStorageError()":"d160e4de","enumConversionError()":"1de45560","indexOOBError()":"05ee8612","memOverflowError()":"986c5f68","popError()":"b22dc54d","zeroVarError()":"b67689da"}}}},"lib/forge-std/src/StdInvariant.sol":{"StdInvariant":{"abi":[{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdInvariant.sol\":\"StdInvariant\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608060405234801561001057600080fd5b5061091d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806385226c811161005b57806385226c81146100d0578063916a17c6146100e5578063b5508aa9146100ed578063e20c9f71146100f557600080fd5b80631ed7831c1461008d5780633e5e3c23146100ab5780633f7286f4146100b357806366d9a9a0146100bb575b600080fd5b6100956100fd565b6040516100a2919061066c565b60405180910390f35b61009561016c565b6100956101d9565b6100c3610246565b6040516100a291906106c6565b6100d8610357565b6040516100a291906107bc565b6100c3610427565b6100d861052f565b6100956105ff565b6060600180548060200260200160405190810160405280929190818152602001828054801561016257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610137575b5050505050905090565b606060038054806020026020016040519081016040528092919081815260200182805480156101625760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610137575050505050905090565b606060028054806020026020016040519081016040528092919081815260200182805480156101625760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610137575050505050905090565b60606006805480602002602001604051908101604052809291908181526020016000905b8282101561034e57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561033657602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116102e35790505b5050505050815250508152602001906001019061026a565b50505050905090565b60606005805480602002602001604051908101604052809291908181526020016000905b8282101561034e57838290600052602060002001805461039a90610893565b80601f01602080910402602001604051908101604052809291908181526020018280546103c690610893565b80156104135780601f106103e857610100808354040283529160200191610413565b820191906000526020600020905b8154815290600101906020018083116103f657829003601f168201915b50505050508152602001906001019061037b565b60606007805480602002602001604051908101604052809291908181526020016000905b8282101561034e57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561051757602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116104c45790505b5050505050815250508152602001906001019061044b565b60606004805480602002602001604051908101604052809291908181526020016000905b8282101561034e57838290600052602060002001805461057290610893565b80601f016020809104026020016040519081016040528092919081815260200182805461059e90610893565b80156105eb5780601f106105c0576101008083540402835291602001916105eb565b820191906000526020600020905b8154815290600101906020018083116105ce57829003601f168201915b505050505081526020019060010190610553565b606060008054806020026020016040519081016040528092919081815260200182805480156101625760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610137575050505050905090565b6020808252825182820181905260009190848201906040850190845b818110156106ba57835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101610688565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156107ad578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b808310156107985783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190610756565b50978a019795505050918701916001016106ee565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b87010192508387016000805b83811015610885577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089870301855282518051808852835b81811015610837578281018a01518982018b0152890161081c565b8181111561084757848a838b0101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016969096018701955093860193918601916001016107e4565b509398975050505050505050565b600181811c908216806108a757607f821691505b602082108114156108e1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122089ca52a04d2e8bb13cfed6e97e1861e8f9a2b0af0eaee23884e4be4693cc7c4b64736f6c634300080c0033","sourceMap":"100:2965:6:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561001057600080fd5b50600436106100885760003560e01c806385226c811161005b57806385226c81146100d0578063916a17c6146100e5578063b5508aa9146100ed578063e20c9f71146100f557600080fd5b80631ed7831c1461008d5780633e5e3c23146100ab5780633f7286f4146100b357806366d9a9a0146100bb575b600080fd5b6100956100fd565b6040516100a2919061066c565b60405180910390f35b61009561016c565b6100956101d9565b6100c3610246565b6040516100a291906106c6565b6100d8610357565b6040516100a291906107bc565b6100c3610427565b6100d861052f565b6100956105ff565b6060600180548060200260200160405190810160405280929190818152602001828054801561016257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610137575b5050505050905090565b606060038054806020026020016040519081016040528092919081815260200182805480156101625760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610137575050505050905090565b606060028054806020026020016040519081016040528092919081815260200182805480156101625760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610137575050505050905090565b60606006805480602002602001604051908101604052809291908181526020016000905b8282101561034e57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561033657602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116102e35790505b5050505050815250508152602001906001019061026a565b50505050905090565b60606005805480602002602001604051908101604052809291908181526020016000905b8282101561034e57838290600052602060002001805461039a90610893565b80601f01602080910402602001604051908101604052809291908181526020018280546103c690610893565b80156104135780601f106103e857610100808354040283529160200191610413565b820191906000526020600020905b8154815290600101906020018083116103f657829003601f168201915b50505050508152602001906001019061037b565b60606007805480602002602001604051908101604052809291908181526020016000905b8282101561034e57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561051757602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116104c45790505b5050505050815250508152602001906001019061044b565b60606004805480602002602001604051908101604052809291908181526020016000905b8282101561034e57838290600052602060002001805461057290610893565b80601f016020809104026020016040519081016040528092919081815260200182805461059e90610893565b80156105eb5780601f106105c0576101008083540402835291602001916105eb565b820191906000526020600020905b8154815290600101906020018083116105ce57829003601f168201915b505050505081526020019060010190610553565b606060008054806020026020016040519081016040528092919081815260200182805480156101625760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610137575050505050905090565b6020808252825182820181905260009190848201906040850190845b818110156106ba57835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101610688565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156107ad578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b808310156107985783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190610756565b50978a019795505050918701916001016106ee565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b87010192508387016000805b83811015610885577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089870301855282518051808852835b81811015610837578281018a01518982018b0152890161081c565b8181111561084757848a838b0101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016969096018701955093860193918601916001016107e4565b509398975050505050505050565b600181811c908216806108a757607f821691505b602082108114156108e1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122089ca52a04d2e8bb13cfed6e97e1861e8f9a2b0af0eaee23884e4be4693cc7c4b64736f6c634300080c0033","sourceMap":"100:2965:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2161:134;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2930:133;;;:::i;2631:141::-;;;:::i;2447:178::-;;;:::i;:::-;;;;;;;:::i;2301:140::-;;;:::i;:::-;;;;;;;:::i;2778:146::-;;;:::i;1866:141::-;;;:::i;2013:142::-;;;:::i;2161:134::-;2208:33;2272:16;2253:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2161:134;:::o;2930:133::-;2976:33;3040:16;3021:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2930:133;:::o;2631:141::-;2679:35;2747:18;2726:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2631:141;:::o;2447:178::-;2503:48;2592:26;2563:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2447:178;:::o;2301:140::-;2349:34;2416:18;2395:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2778:146;2826:40;2899:18;2878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1866:141;1915:34;1982:18;1961:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2013:142;2062:35;2130:18;2109:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2013:142;:::o;14:681:28:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:218;465:6;462:1;459:13;451:218;;;530:13;;545:42;526:62;514:75;;644:15;;;;609:12;;;;487:1;480:9;451:218;;;-1:-1:-1;686:3:28;;14:681;-1:-1:-1;;;;;;14:681:28:o;700:1695::-;902:4;931:2;971;960:9;956:18;1001:2;990:9;983:21;1024:6;1059;1053:13;1090:6;1082;1075:22;1116:2;1106:12;;1149:2;1138:9;1134:18;1127:25;;1211:2;1201:6;1198:1;1194:14;1183:9;1179:30;1175:39;1249:2;1241:6;1237:15;1270:1;1291;1301:1065;1317:6;1312:3;1309:15;1301:1065;;;1386:22;;;1410:66;1382:95;1370:108;;1501:13;;1588:9;;1599:42;1584:58;1569:74;;1682:11;;1676:18;1714:15;;;1707:27;;;1795:19;;1541:15;;;1827:24;;;1917:21;;;;1962:1;;1885:2;1873:15;;;1976:282;1992:8;1987:3;1984:17;1976:282;;;2073:15;;2090:66;2069:88;2055:103;;2227:17;;;;2020:1;2011:11;;;;;2184:14;;;;1976:282;;;-1:-1:-1;2344:12:28;;;;2281:5;-1:-1:-1;;;2309:15:28;;;;1343:1;1334:11;1301:1065;;;-1:-1:-1;2383:6:28;;700:1695;-1:-1:-1;;;;;;;;;700:1695:28:o;2400:1386::-;2562:4;2591:2;2631;2620:9;2616:18;2661:2;2650:9;2643:21;2684:6;2719;2713:13;2750:6;2742;2735:22;2788:2;2777:9;2773:18;2766:25;;2850:2;2840:6;2837:1;2833:14;2822:9;2818:30;2814:39;2800:53;;2888:2;2880:6;2876:15;2909:1;2930;2940:817;2956:6;2951:3;2948:15;2940:817;;;3049:66;3037:9;3029:6;3025:22;3021:95;3016:3;3009:108;3146:6;3140:13;3188:2;3182:9;3219:8;3211:6;3204:24;3252:1;3266:157;3282:8;3277:3;3274:17;3266:157;;;3390:12;;;3386:21;;3380:28;3357:16;;;3353:25;;3346:63;3301:12;;3266:157;;;3447:8;3442:3;3439:17;3436:106;;;3526:1;3521:2;3510:8;3502:6;3498:21;3494:30;3487:41;3436:106;-1:-1:-1;3599:2:28;3585:17;3604:66;3581:90;3569:103;;;;3565:112;;;-1:-1:-1;3735:12:28;;;;3700:15;;;;2982:1;2973:11;2940:817;;;-1:-1:-1;3774:6:28;;2400:1386;-1:-1:-1;;;;;;;;2400:1386:28:o;3791:437::-;3870:1;3866:12;;;;3913;;;3934:61;;3988:4;3980:6;3976:17;3966:27;;3934:61;4041:2;4033:6;4030:14;4010:18;4007:38;4004:218;;;4078:77;4075:1;4068:88;4179:4;4176:1;4169:15;4207:4;4204:1;4197:15;4004:218;;3791:437;;;:::o","linkReferences":{}},"methodIdentifiers":{"excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"}}}},"lib/forge-std/src/StdJson.sol":{"stdJson":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdJson.sol\":\"stdJson\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122062a3445e361e0506d42ed4b28d8960d30898f4d02f36c80cb3ec5c97719b7d8964736f6c634300080c0033","sourceMap":"830:5374:7:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;830:5374:7;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122062a3445e361e0506d42ed4b28d8960d30898f4d02f36c80cb3ec5c97719b7d8964736f6c634300080c0033","sourceMap":"830:5374:7:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/StdMath.sol":{"stdMath":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdMath.sol\":\"stdMath\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200a2a322299d09dbc211ad2dc523d6bc5792f960254f383956fb67a3836b44f0164736f6c634300080c0033","sourceMap":"65:1294:8:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;65:1294:8;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200a2a322299d09dbc211ad2dc523d6bc5792f960254f383956fb67a3836b44f0164736f6c634300080c0033","sourceMap":"65:1294:8:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/StdStorage.sol":{"stdStorage":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122034537c39af2490aede6c0a2413053d1347b02cb5b9debd33b312f6543c98974064736f6c634300080c0033","sourceMap":"7339:4527:9:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;7339:4527:9;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122034537c39af2490aede6c0a2413053d1347b02cb5b9debd33b312f6543c98974064736f6c634300080c0033","sourceMap":"7339:4527:9:-:0;;;;;;;;","linkReferences":{}}}},"stdStorageSafe":{"abi":[{"type":"event","name":"SlotFound","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"fsig","type":"bytes4","indexed":false,"internalType":"bytes4"},{"name":"keysHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"WARNING_UninitedSlot","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"fsig\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"keysHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"SlotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"WARNING_UninitedSlot\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorageSafe\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d0e1a1ca1086568415947aee5c2b9601d6aed536c3864c1f54f3c6fe0b093d9d64736f6c634300080c0033","sourceMap":"368:6969:9:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;368:6969:9;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d0e1a1ca1086568415947aee5c2b9601d6aed536c3864c1f54f3c6fe0b093d9d64736f6c634300080c0033","sourceMap":"368:6969:9:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/StdStyle.sol":{"StdStyle":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStyle.sol\":\"StdStyle\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ba175f52d5c3af8a0f4788f458b4221795df5b09fa2bfc1d18d8a0d6f6f5b96a64736f6c634300080c0033","sourceMap":"96:10353:10:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;96:10353:10;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ba175f52d5c3af8a0f4788f458b4221795df5b09fa2bfc1d18d8a0d6f6f5b96a64736f6c634300080c0033","sourceMap":"96:10353:10:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/StdUtils.sol":{"StdUtils":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdUtils.sol\":\"StdUtils\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/Test.sol":{"Test":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"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}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"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\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Test.sol\":\"Test\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"}}}},"lib/forge-std/src/Vm.sol":{"Vm":{"abi":[{"type":"function","name":"accesses","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"readSlots","type":"bytes32[]","internalType":"bytes32[]"},{"name":"writeSlots","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"activeFork","inputs":[],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"addr","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"allowCheatcodes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"assume","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"broadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"chainId","inputs":[{"name":"newChainId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"clearMockedCalls","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"closeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"coinbase","inputs":[{"name":"newCoinbase","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"deal","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newBalance","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"difficulty","inputs":[{"name":"newDifficulty","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool","internalType":"bool"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256","internalType":"int256"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"etch","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"newRuntimeBytecode","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"gas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCallMinGas","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fee","inputs":[{"name":"newBasefee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ffi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"fsMetadata","inputs":[{"name":"fileOrDir","type":"string","internalType":"string"}],"outputs":[{"name":"metadata","type":"tuple","internalType":"struct VmSafe.FsMetadata","components":[{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"},{"name":"length","type":"uint256","internalType":"uint256"},{"name":"readOnly","type":"bool","internalType":"bool"},{"name":"modified","type":"uint256","internalType":"uint256"},{"name":"accessed","type":"uint256","internalType":"uint256"},{"name":"created","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"getCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"creationBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployedCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"runtimeBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getRecordedLogs","inputs":[],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.Log[]","components":[{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"emitter","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"isPersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"persistent","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"label","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newLabel","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"load","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"makePersistent","inputs":[{"name":"accounts","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account0","type":"address","internalType":"address"},{"name":"account1","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account0","type":"address","internalType":"address"},{"name":"account1","type":"address","internalType":"address"},{"name":"account2","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"parseAddress","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseBool","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes32","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseInt","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddress","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonAddressArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBool","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBoolArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytes","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytes32","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytes32Array","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytesArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonInt","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonIntArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonString","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonStringArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonUint","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonUintArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseUint","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"pauseGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"projectRoot","inputs":[],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"readLine","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"line","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"record","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordLogs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKey","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"removeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resumeGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revertTo","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revokePersistent","inputs":[{"name":"accounts","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokePersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"roll","inputs":[{"name":"newHeight","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rpcUrl","inputs":[{"name":"rpcAlias","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"rpcUrlStructs","inputs":[],"outputs":[{"name":"urls","type":"tuple[]","internalType":"struct VmSafe.Rpc[]","components":[{"name":"key","type":"string","internalType":"string"},{"name":"url","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"rpcUrls","inputs":[],"outputs":[{"name":"urls","type":"string[2][]","internalType":"string[2][]"}],"stateMutability":"view"},{"type":"function","name":"selectFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"setEnv","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newNonce","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"snapshot","inputs":[],"outputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopPrank","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"store","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"transact","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transact","inputs":[{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"warp","inputs":[{"name":"newTimestamp","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFile","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeLine","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"allowCheatcodes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newChainId\",\"type\":\"uint256\"}],\"name\":\"chainId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clearMockedCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newCoinbase\",\"type\":\"address\"}],\"name\":\"coinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"deal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newDifficulty\",\"type\":\"uint256\"}],\"name\":\"difficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"newRuntimeBytecode\",\"type\":\"bytes\"}],\"name\":\"etch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBasefee\",\"type\":\"uint256\"}],\"name\":\"fee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"fileOrDir\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPersistent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"persistent\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account2\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newHeight\",\"type\":\"uint256\"}],\"name\":\"roll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"name\":\"selectFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newTimestamp\",\"type\":\"uint256\"}],\"name\":\"warp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activeFork()\":{\"notice\":\"Returns the identifier of the currently active fork. Reverts if no fork is currently active.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"Vm\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"accesses(address)":"65bc9481","activeFork()":"2f103f22","addr(uint256)":"ffa18649","allowCheatcodes(address)":"ea060291","assume(bool)":"4c63e562","broadcast()":"afc98040","broadcast(address)":"e6962cdb","broadcast(uint256)":"f67a965b","chainId(uint256)":"4049ddd2","clearMockedCalls()":"3fdf4e15","closeFile(string)":"48c3241f","coinbase(address)":"ff483c54","createFork(string)":"31ba3498","createFork(string,bytes32)":"7ca29682","createFork(string,uint256)":"6ba3ba2b","createSelectFork(string)":"98680034","createSelectFork(string,bytes32)":"84d52b7a","createSelectFork(string,uint256)":"71ee464d","deal(address,uint256)":"c88a5e6d","deriveKey(string,string,uint32)":"6bcb2c1b","deriveKey(string,uint32)":"6229498b","difficulty(uint256)":"46cc92d9","envAddress(string)":"350d56bf","envAddress(string,string)":"ad31b9fa","envBool(string)":"7ed1ec7d","envBool(string,string)":"aaaddeaf","envBytes(string)":"4d7baf06","envBytes(string,string)":"ddc2651b","envBytes32(string)":"97949042","envBytes32(string,string)":"5af231c1","envInt(string)":"892a0c61","envInt(string,string)":"42181150","envOr(string,address)":"561fe540","envOr(string,bool)":"4777f3cf","envOr(string,bytes)":"b3e47705","envOr(string,bytes32)":"b4a85892","envOr(string,int256)":"bbcb713e","envOr(string,string)":"d145736c","envOr(string,string,address[])":"c74e9deb","envOr(string,string,bool[])":"eb85e83b","envOr(string,string,bytes32[])":"2281f367","envOr(string,string,bytes[])":"64bc3e64","envOr(string,string,int256[])":"4700d74b","envOr(string,string,string[])":"859216bc","envOr(string,string,uint256[])":"74318528","envOr(string,uint256)":"5e97348f","envString(string)":"f877cb19","envString(string,string)":"14b02bc9","envUint(string)":"c1978d1f","envUint(string,string)":"f3dec099","etch(address,bytes)":"b4d6c782","expectCall(address,bytes)":"bd6af434","expectCall(address,uint256,bytes)":"f30c7ba3","expectCall(address,uint256,uint64,bytes)":"23361207","expectCallMinGas(address,uint256,uint64,bytes)":"08e4e116","expectEmit(bool,bool,bool,bool)":"491cc7c2","expectEmit(bool,bool,bool,bool,address)":"81bad6f3","expectRevert()":"f4844814","expectRevert(bytes)":"f28dceb3","expectRevert(bytes4)":"c31eb0e0","fee(uint256)":"39b37ab0","ffi(string[])":"89160467","fsMetadata(string)":"af368a08","getCode(string)":"8d1cc925","getDeployedCode(string)":"3ebf73b4","getNonce(address)":"2d0335ab","getRecordedLogs()":"191553a4","isPersistent(address)":"d92d8efd","label(address,string)":"c657c718","load(address,bytes32)":"667f9d70","makePersistent(address)":"57e22dde","makePersistent(address,address)":"4074e0a8","makePersistent(address,address,address)":"efb77a75","makePersistent(address[])":"1d9e269e","mockCall(address,bytes,bytes)":"b96213e4","mockCall(address,uint256,bytes,bytes)":"81409b91","parseAddress(string)":"c6ce059d","parseBool(string)":"974ef924","parseBytes(string)":"8f5d232d","parseBytes32(string)":"087e6e81","parseInt(string)":"42346c5e","parseJson(string)":"6a82600a","parseJson(string,string)":"85940ef1","parseJsonAddress(string,string)":"1e19e657","parseJsonAddressArray(string,string)":"2fce7883","parseJsonBool(string,string)":"9f86dc91","parseJsonBoolArray(string,string)":"91f3b94f","parseJsonBytes(string,string)":"fd921be8","parseJsonBytes32(string,string)":"1777e59d","parseJsonBytes32Array(string,string)":"91c75bc3","parseJsonBytesArray(string,string)":"6631aa99","parseJsonInt(string,string)":"7b048ccd","parseJsonIntArray(string,string)":"9983c28a","parseJsonString(string,string)":"49c4fac8","parseJsonStringArray(string,string)":"498fdcf4","parseJsonUint(string,string)":"addde2b6","parseJsonUintArray(string,string)":"522074ab","parseUint(string)":"fa91454d","pauseGasMetering()":"d1a5b36f","prank(address)":"ca669fa7","prank(address,address)":"47e50cce","projectRoot()":"d930a0e6","readFile(string)":"60f9bb11","readFileBinary(string)":"16ed7bc4","readLine(string)":"70f55728","record()":"266cf109","recordLogs()":"41af2f52","rememberKey(uint256)":"22100064","removeFile(string)":"f1afe04d","resumeGasMetering()":"2bcd50e0","revertTo(uint256)":"44d7f0a4","revokePersistent(address)":"997a0222","revokePersistent(address[])":"3ce969e6","roll(uint256)":"1f7b4f30","rollFork(bytes32)":"0f29772b","rollFork(uint256)":"d9bbf3a1","rollFork(uint256,bytes32)":"f2830f7b","rollFork(uint256,uint256)":"d74c83a4","rpcUrl(string)":"975a6ce9","rpcUrlStructs()":"9d2ad72a","rpcUrls()":"a85a8418","selectFork(uint256)":"9ebf6827","serializeAddress(string,string,address)":"972c6062","serializeAddress(string,string,address[])":"1e356e1a","serializeBool(string,string,bool)":"ac22e971","serializeBool(string,string,bool[])":"92925aa1","serializeBytes(string,string,bytes)":"f21d52c7","serializeBytes(string,string,bytes[])":"9884b232","serializeBytes32(string,string,bytes32)":"2d812b44","serializeBytes32(string,string,bytes32[])":"201e43e2","serializeInt(string,string,int256)":"3f33db60","serializeInt(string,string,int256[])":"7676e127","serializeString(string,string,string)":"88da6d35","serializeString(string,string,string[])":"561cd6f3","serializeUint(string,string,uint256)":"129e9002","serializeUint(string,string,uint256[])":"fee9a469","setEnv(string,string)":"3d5923ee","setNonce(address,uint64)":"f8e18b57","sign(uint256,bytes32)":"e341eaa4","snapshot()":"9711715a","startBroadcast()":"7fb5297f","startBroadcast(address)":"7fec2a8d","startBroadcast(uint256)":"ce817d47","startPrank(address)":"06447d56","startPrank(address,address)":"45b56078","stopBroadcast()":"76eadd36","stopPrank()":"90c5013b","store(address,bytes32,bytes32)":"70ca10bb","toString(address)":"56ca623e","toString(bool)":"71dce7da","toString(bytes)":"71aad10d","toString(bytes32)":"b11a19e8","toString(int256)":"a322c40e","toString(uint256)":"6900a3ae","transact(bytes32)":"be646da1","transact(uint256,bytes32)":"4d8abc4b","warp(uint256)":"e5d6bf02","writeFile(string,string)":"897e0a97","writeFileBinary(string,bytes)":"1f21fc80","writeJson(string,string)":"e23cd19f","writeJson(string,string,string)":"35d6ad46","writeLine(string,string)":"619d897f"}}},"VmSafe":{"abi":[{"type":"function","name":"accesses","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"readSlots","type":"bytes32[]","internalType":"bytes32[]"},{"name":"writeSlots","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"addr","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"assume","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"broadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"closeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool","internalType":"bool"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256","internalType":"int256"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"ffi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"fsMetadata","inputs":[{"name":"fileOrDir","type":"string","internalType":"string"}],"outputs":[{"name":"metadata","type":"tuple","internalType":"struct VmSafe.FsMetadata","components":[{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"},{"name":"length","type":"uint256","internalType":"uint256"},{"name":"readOnly","type":"bool","internalType":"bool"},{"name":"modified","type":"uint256","internalType":"uint256"},{"name":"accessed","type":"uint256","internalType":"uint256"},{"name":"created","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"getCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"creationBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployedCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"runtimeBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getRecordedLogs","inputs":[],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.Log[]","components":[{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"emitter","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"label","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newLabel","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"load","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"parseAddress","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseBool","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes32","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseInt","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddress","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonAddressArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBool","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBoolArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytes","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytes32","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytes32Array","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytesArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonInt","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonIntArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonString","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonStringArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonUint","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonUintArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseUint","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"pauseGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"projectRoot","inputs":[],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"readLine","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"line","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"record","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordLogs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKey","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"removeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resumeGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rpcUrl","inputs":[{"name":"rpcAlias","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"rpcUrlStructs","inputs":[],"outputs":[{"name":"urls","type":"tuple[]","internalType":"struct VmSafe.Rpc[]","components":[{"name":"key","type":"string","internalType":"string"},{"name":"url","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"rpcUrls","inputs":[],"outputs":[{"name":"urls","type":"string[2][]","internalType":"string[2][]"}],"stateMutability":"view"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"setEnv","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"startBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"writeFile","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeLine","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"fileOrDir\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"VmSafe\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"accesses(address)":"65bc9481","addr(uint256)":"ffa18649","assume(bool)":"4c63e562","broadcast()":"afc98040","broadcast(address)":"e6962cdb","broadcast(uint256)":"f67a965b","closeFile(string)":"48c3241f","deriveKey(string,string,uint32)":"6bcb2c1b","deriveKey(string,uint32)":"6229498b","envAddress(string)":"350d56bf","envAddress(string,string)":"ad31b9fa","envBool(string)":"7ed1ec7d","envBool(string,string)":"aaaddeaf","envBytes(string)":"4d7baf06","envBytes(string,string)":"ddc2651b","envBytes32(string)":"97949042","envBytes32(string,string)":"5af231c1","envInt(string)":"892a0c61","envInt(string,string)":"42181150","envOr(string,address)":"561fe540","envOr(string,bool)":"4777f3cf","envOr(string,bytes)":"b3e47705","envOr(string,bytes32)":"b4a85892","envOr(string,int256)":"bbcb713e","envOr(string,string)":"d145736c","envOr(string,string,address[])":"c74e9deb","envOr(string,string,bool[])":"eb85e83b","envOr(string,string,bytes32[])":"2281f367","envOr(string,string,bytes[])":"64bc3e64","envOr(string,string,int256[])":"4700d74b","envOr(string,string,string[])":"859216bc","envOr(string,string,uint256[])":"74318528","envOr(string,uint256)":"5e97348f","envString(string)":"f877cb19","envString(string,string)":"14b02bc9","envUint(string)":"c1978d1f","envUint(string,string)":"f3dec099","ffi(string[])":"89160467","fsMetadata(string)":"af368a08","getCode(string)":"8d1cc925","getDeployedCode(string)":"3ebf73b4","getNonce(address)":"2d0335ab","getRecordedLogs()":"191553a4","label(address,string)":"c657c718","load(address,bytes32)":"667f9d70","parseAddress(string)":"c6ce059d","parseBool(string)":"974ef924","parseBytes(string)":"8f5d232d","parseBytes32(string)":"087e6e81","parseInt(string)":"42346c5e","parseJson(string)":"6a82600a","parseJson(string,string)":"85940ef1","parseJsonAddress(string,string)":"1e19e657","parseJsonAddressArray(string,string)":"2fce7883","parseJsonBool(string,string)":"9f86dc91","parseJsonBoolArray(string,string)":"91f3b94f","parseJsonBytes(string,string)":"fd921be8","parseJsonBytes32(string,string)":"1777e59d","parseJsonBytes32Array(string,string)":"91c75bc3","parseJsonBytesArray(string,string)":"6631aa99","parseJsonInt(string,string)":"7b048ccd","parseJsonIntArray(string,string)":"9983c28a","parseJsonString(string,string)":"49c4fac8","parseJsonStringArray(string,string)":"498fdcf4","parseJsonUint(string,string)":"addde2b6","parseJsonUintArray(string,string)":"522074ab","parseUint(string)":"fa91454d","pauseGasMetering()":"d1a5b36f","projectRoot()":"d930a0e6","readFile(string)":"60f9bb11","readFileBinary(string)":"16ed7bc4","readLine(string)":"70f55728","record()":"266cf109","recordLogs()":"41af2f52","rememberKey(uint256)":"22100064","removeFile(string)":"f1afe04d","resumeGasMetering()":"2bcd50e0","rpcUrl(string)":"975a6ce9","rpcUrlStructs()":"9d2ad72a","rpcUrls()":"a85a8418","serializeAddress(string,string,address)":"972c6062","serializeAddress(string,string,address[])":"1e356e1a","serializeBool(string,string,bool)":"ac22e971","serializeBool(string,string,bool[])":"92925aa1","serializeBytes(string,string,bytes)":"f21d52c7","serializeBytes(string,string,bytes[])":"9884b232","serializeBytes32(string,string,bytes32)":"2d812b44","serializeBytes32(string,string,bytes32[])":"201e43e2","serializeInt(string,string,int256)":"3f33db60","serializeInt(string,string,int256[])":"7676e127","serializeString(string,string,string)":"88da6d35","serializeString(string,string,string[])":"561cd6f3","serializeUint(string,string,uint256)":"129e9002","serializeUint(string,string,uint256[])":"fee9a469","setEnv(string,string)":"3d5923ee","sign(uint256,bytes32)":"e341eaa4","startBroadcast()":"7fb5297f","startBroadcast(address)":"7fec2a8d","startBroadcast(uint256)":"ce817d47","stopBroadcast()":"76eadd36","toString(address)":"56ca623e","toString(bool)":"71dce7da","toString(bytes)":"71aad10d","toString(bytes32)":"b11a19e8","toString(int256)":"a322c40e","toString(uint256)":"6900a3ae","writeFile(string,string)":"897e0a97","writeFileBinary(string,bytes)":"1f21fc80","writeJson(string,string)":"e23cd19f","writeJson(string,string,string)":"35d6ad46","writeLine(string,string)":"619d897f"}}}},"lib/forge-std/src/console.sol":{"console":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console.sol\":\"console\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201d0d3f62fe7a3755d3439a48db450bc7d8d9256c05da19ed5058d0e02725c0bd64736f6c634300080c0033","sourceMap":"66:66622:14:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;66:66622:14;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201d0d3f62fe7a3755d3439a48db450bc7d8d9256c05da19ed5058d0e02725c0bd64736f6c634300080c0033","sourceMap":"66:66622:14:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/console2.sol":{"console2":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"The original console.sol uses `int` and `uint` for computing function selectors, but it should use `int256` and `uint256`. This modified version fixes that. This version is recommended over `console.sol` if you don't need compatibility with Hardhat as the logs will show up in forge stack traces. If you do need compatibility with Hardhat, you must use `console.sol`. Reference: https://github.com/NomicFoundation/hardhat/issues/2178\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console2.sol\":\"console2\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122092ec33c329e616799a8fec82ba9f0b4e51f7c74aebc32c6029013a15e2f946bc64736f6c634300080c0033","sourceMap":"525:68782:15:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;525:68782:15;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122092ec33c329e616799a8fec82ba9f0b4e51f7c74aebc32c6029013a15e2f946bc64736f6c634300080c0033","sourceMap":"525:68782:15:-:0;;;;;;;;","linkReferences":{}}}}},"lib/forge-std/src/interfaces/IMulticall3.sol":{"IMulticall3":{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"payable"},{"type":"function","name":"aggregate3","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"blockAndAggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"getBasefee","inputs":[],"outputs":[{"name":"basefee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getChainId","inputs":[],"outputs":[{"name":"chainid","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tryAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"tryBlockAndAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":\"IMulticall3\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","aggregate3((address,bool,bytes)[])":"82ad56cb","aggregate3Value((address,bool,uint256,bytes)[])":"174dea71","blockAndAggregate((address,bytes)[])":"c3077fa9","getBasefee()":"3e64a696","getBlockHash(uint256)":"ee82ac5e","getBlockNumber()":"42cbb15c","getChainId()":"3408e470","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e","tryAggregate(bool,(address,bytes)[])":"bce38bd7","tryBlockAndAggregate(bool,(address,bytes)[])":"399542e9"}}}},"src/Multicall.sol":{"Multicall":{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct Multicall.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Michael Elliot Joshua Levine Nick Johnson \",\"kind\":\"dev\",\"methods\":{},\"title\":\"Multicall - Aggregate results from multiple read-only function calls\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Multicall.sol\":\"Multicall\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/Multicall.sol\":{\"keccak256\":\"0x117ad98f28e53388f21baae456066a3fdcdbaaca09e96a032eadc358b0263e32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acea4417df8bad0f502cf2c21f079a1ba5d222671698a2e10baa636ea7baac25\",\"dweb:/ipfs/QmPSvy6SKWw8GeQiFu3K9s9kvq7NUGCbsifcop3gPjVrz3\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608060405234801561001057600080fd5b5061061d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806372425d9d1161005b57806372425d9d146100f357806386d516e8146100f9578063a8b0574e146100ff578063ee82ac5e1461010d57600080fd5b80630f28c97d1461008d578063252dba42146100a257806327e86d6e146100c35780634d2301cc146100cb575b600080fd5b425b6040519081526020015b60405180910390f35b6100b56100b03660046102a6565b61011f565b60405161009992919061031b565b61008f610293565b61008f6100d93660046103fa565b73ffffffffffffffffffffffffffffffffffffffff163190565b4461008f565b4561008f565b604051418152602001610099565b61008f61011b366004610437565b4090565b4360608267ffffffffffffffff81111561013b5761013b610450565b60405190808252806020026020018201604052801561016e57816020015b60608152602001906001900390816101595790505b50905060005b8381101561028b576000808686848181106101915761019161047f565b90506020028101906101a391906104ae565b6101b19060208101906103fa565b73ffffffffffffffffffffffffffffffffffffffff168787858181106101d9576101d961047f565b90506020028101906101eb91906104ae565b6101f99060208101906104ec565b604051610207929190610558565b6000604051808303816000865af19150503d8060008114610244576040519150601f19603f3d011682016040523d82523d6000602084013e610249565b606091505b50915091508161025857600080fd5b8084848151811061026b5761026b61047f565b60200260200101819052505050808061028390610597565b915050610174565b509250929050565b60006102a06001436105d0565b40905090565b600080602083850312156102b957600080fd5b823567ffffffffffffffff808211156102d157600080fd5b818501915085601f8301126102e557600080fd5b8135818111156102f457600080fd5b8660208260051b850101111561030957600080fd5b60209290920196919550909350505050565b600060408201848352602060408185015281855180845260608601915060608160051b87010193508287016000805b838110156103eb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa089880301855282518051808952835b8181101561039d578281018901518a82018a01528801610382565b818111156103ad578489838c0101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169790970186019650938501939185019160010161034a565b50949998505050505050505050565b60006020828403121561040c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043057600080fd5b9392505050565b60006020828403121561044957600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18336030181126104e257600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261052157600080fd5b83018035915067ffffffffffffffff82111561053c57600080fd5b60200191503681900382131561055157600080fd5b9250929050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156105c9576105c9610568565b5060010190565b6000828210156105e2576105e2610568565b50039056fea2646970667358221220da399b6e256d79127a8ea91c123c0847d97289d882064a4e78f6ce4a2a9a4fff64736f6c634300080c0033","sourceMap":"280:1425:17:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561001057600080fd5b50600436106100885760003560e01c806372425d9d1161005b57806372425d9d146100f357806386d516e8146100f9578063a8b0574e146100ff578063ee82ac5e1461010d57600080fd5b80630f28c97d1461008d578063252dba42146100a257806327e86d6e146100c35780634d2301cc146100cb575b600080fd5b425b6040519081526020015b60405180910390f35b6100b56100b03660046102a6565b61011f565b60405161009992919061031b565b61008f610293565b61008f6100d93660046103fa565b73ffffffffffffffffffffffffffffffffffffffff163190565b4461008f565b4561008f565b604051418152602001610099565b61008f61011b366004610437565b4090565b4360608267ffffffffffffffff81111561013b5761013b610450565b60405190808252806020026020018201604052801561016e57816020015b60608152602001906001900390816101595790505b50905060005b8381101561028b576000808686848181106101915761019161047f565b90506020028101906101a391906104ae565b6101b19060208101906103fa565b73ffffffffffffffffffffffffffffffffffffffff168787858181106101d9576101d961047f565b90506020028101906101eb91906104ae565b6101f99060208101906104ec565b604051610207929190610558565b6000604051808303816000865af19150503d8060008114610244576040519150601f19603f3d011682016040523d82523d6000602084013e610249565b606091505b50915091508161025857600080fd5b8084848151811061026b5761026b61047f565b60200260200101819052505050808061028390610597565b915050610174565b509250929050565b60006102a06001436105d0565b40905090565b600080602083850312156102b957600080fd5b823567ffffffffffffffff808211156102d157600080fd5b818501915085601f8301126102e557600080fd5b8135818111156102f457600080fd5b8660208260051b850101111561030957600080fd5b60209290920196919550909350505050565b600060408201848352602060408185015281855180845260608601915060608160051b87010193508287016000805b838110156103eb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa089880301855282518051808952835b8181101561039d578281018901518a82018a01528801610382565b818111156103ad578489838c0101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169790970186019650938501939185019160010161034a565b50949998505050505050505050565b60006020828403121561040c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043057600080fd5b9392505050565b60006020828403121561044957600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18336030181126104e257600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261052157600080fd5b83018035915067ffffffffffffffff82111561053c57600080fd5b60200191503681900382131561055157600080fd5b9250929050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156105c9576105c9610568565b5060010190565b6000828210156105e2576105e2610568565b50039056fea2646970667358221220da399b6e256d79127a8ea91c123c0847d97289d882064a4e78f6ce4a2a9a4fff64736f6c634300080c0033","sourceMap":"280:1425:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1209:120;1307:15;1209:120;;;160:25:28;;;148:2;133:18;1209:120:17;;;;;;;;378:411;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;1079:124::-;;;:::i;819:114::-;;;;;;:::i;:::-;914:12;;;;819:114;1335:124;1436:16;1335:124;;1465:116;1560:14;1465:116;;1587;;;1682:14;2943:74:28;;2931:2;2916:18;1587:116:17;2797:226:28;939:134:17;;;;;;:::i;:::-;1044:22;;939:134;378:411;508:12;457:25;555:5;543:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;530:38;;583:9;578:205;598:16;;;578:205;;;636:12;650:16;670:5;;676:1;670:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:15;;;;;;;:::i;:::-;:20;;691:5;;697:1;691:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:17;;;;;;;:::i;:::-;670:39;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;635:74;;;;731:7;723:16;;;;;;769:3;753:10;764:1;753:13;;;;;;;;:::i;:::-;;;;;;:19;;;;621:162;;616:3;;;;;:::i;:::-;;;;578:205;;;;378:411;;;;;:::o;1079:124::-;1128:17;1179:16;1194:1;1179:12;:16;:::i;:::-;1169:27;1157:39;;1079:124;:::o;196:640:28:-;307:6;315;368:2;356:9;347:7;343:23;339:32;336:52;;;384:1;381;374:12;336:52;424:9;411:23;453:18;494:2;486:6;483:14;480:34;;;510:1;507;500:12;480:34;548:6;537:9;533:22;523:32;;593:7;586:4;582:2;578:13;574:27;564:55;;615:1;612;605:12;564:55;655:2;642:16;681:2;673:6;670:14;667:34;;;697:1;694;687:12;667:34;750:7;745:2;735:6;732:1;728:14;724:2;720:23;716:32;713:45;710:65;;;771:1;768;761:12;710:65;802:2;794:11;;;;;824:6;;-1:-1:-1;196:640:28;;-1:-1:-1;;;;196:640:28:o;841:1455::-;1029:4;1077:2;1066:9;1062:18;1107:6;1096:9;1089:25;1133:2;1171;1166;1155:9;1151:18;1144:30;1194:6;1229;1223:13;1260:6;1252;1245:22;1298:2;1287:9;1283:18;1276:25;;1360:2;1350:6;1347:1;1343:14;1332:9;1328:30;1324:39;1310:53;;1398:2;1390:6;1386:15;1419:1;1440;1450:817;1466:6;1461:3;1458:15;1450:817;;;1559:66;1547:9;1539:6;1535:22;1531:95;1526:3;1519:108;1656:6;1650:13;1698:2;1692:9;1729:8;1721:6;1714:24;1762:1;1776:157;1792:8;1787:3;1784:17;1776:157;;;1900:12;;;1896:21;;1890:28;1867:16;;;1863:25;;1856:63;1811:12;;1776:157;;;1957:8;1952:3;1949:17;1946:106;;;2036:1;2031:2;2020:8;2012:6;2008:21;2004:30;1997:41;1946:106;-1:-1:-1;2109:2:28;2095:17;2114:66;2091:90;2079:103;;;;2075:112;;;-1:-1:-1;2245:12:28;;;;2210:15;;;;1492:1;1483:11;1450:817;;;-1:-1:-1;2284:6:28;;841:1455;-1:-1:-1;;;;;;;;;841:1455:28:o;2483:309::-;2542:6;2595:2;2583:9;2574:7;2570:23;2566:32;2563:52;;;2611:1;2608;2601:12;2563:52;2650:9;2637:23;2700:42;2693:5;2689:54;2682:5;2679:65;2669:93;;2758:1;2755;2748:12;2669:93;2781:5;2483:309;-1:-1:-1;;;2483:309:28:o;3028:180::-;3087:6;3140:2;3128:9;3119:7;3115:23;3111:32;3108:52;;;3156:1;3153;3146:12;3108:52;-1:-1:-1;3179:23:28;;3028:180;-1:-1:-1;3028:180:28:o;3213:184::-;3265:77;3262:1;3255:88;3362:4;3359:1;3352:15;3386:4;3383:1;3376:15;3402:184;3454:77;3451:1;3444:88;3551:4;3548:1;3541:15;3575:4;3572:1;3565:15;3591:381;3682:4;3740:11;3727:25;3830:66;3819:8;3803:14;3799:29;3795:102;3775:18;3771:127;3761:155;;3912:1;3909;3902:12;3761:155;3933:33;;;;;3591:381;-1:-1:-1;;3591:381:28:o;3977:580::-;4054:4;4060:6;4120:11;4107:25;4210:66;4199:8;4183:14;4179:29;4175:102;4155:18;4151:127;4141:155;;4292:1;4289;4282:12;4141:155;4319:33;;4371:20;;;-1:-1:-1;4414:18:28;4403:30;;4400:50;;;4446:1;4443;4436:12;4400:50;4479:4;4467:17;;-1:-1:-1;4510:14:28;4506:27;;;4496:38;;4493:58;;;4547:1;4544;4537:12;4493:58;3977:580;;;;;:::o;4562:271::-;4745:6;4737;4732:3;4719:33;4701:3;4771:16;;4796:13;;;4771:16;4562:271;-1:-1:-1;4562:271:28:o;4838:184::-;4890:77;4887:1;4880:88;4987:4;4984:1;4977:15;5011:4;5008:1;5001:15;5027:195;5066:3;5097:66;5090:5;5087:77;5084:103;;;5167:18;;:::i;:::-;-1:-1:-1;5214:1:28;5203:13;;5027:195::o;5227:125::-;5267:4;5295:1;5292;5289:8;5286:34;;;5300:18;;:::i;:::-;-1:-1:-1;5337:9:28;;5227:125::o","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","getBlockHash(uint256)":"ee82ac5e","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e"}}}},"src/Multicall2.sol":{"Multicall2":{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct Multicall2.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"blockAndAggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct Multicall2.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct Multicall2.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tryAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct Multicall2.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct Multicall2.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"tryBlockAndAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct Multicall2.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct Multicall2.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall2.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall2.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall2.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall2.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall2.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall2.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall2.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Michael Elliot Joshua Levine Nick Johnson \",\"kind\":\"dev\",\"methods\":{},\"title\":\"Multicall2 - Aggregate results from multiple read-only function calls\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Multicall2.sol\":\"Multicall2\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/Multicall2.sol\":{\"keccak256\":\"0xf3cb5cc1c489a5b0a779688b37e003a2881a72aaae66d63a6e3dd2f7e866d4ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06fe0d178277f33bdb65c0dc3ce2e8414fccc695594d6dc18c311ceef1142878\",\"dweb:/ipfs/QmQuGU5MszL8jMsk45i8Hu2arAN5yCNvNszNzREFyURqbv\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608060405234801561001057600080fd5b50610aa8806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806372425d9d11610081578063bce38bd71161005b578063bce38bd714610181578063c3077fa9146101a1578063ee82ac5e146101b457600080fd5b806372425d9d1461016757806386d516e81461016d578063a8b0574e1461017357600080fd5b8063399542e9116100b2578063399542e91461011757806342cbb15c146101395780634d2301cc1461013f57600080fd5b80630f28c97d146100d9578063252dba42146100ee57806327e86d6e1461010f575b600080fd5b425b6040519081526020015b60405180910390f35b6101016100fc36600461065a565b6101c6565b6040516100e5929190610707565b6100db61039c565b61012a61012536600461078f565b6103af565b6040516100e593929190610851565b436100db565b6100db61014d366004610879565b73ffffffffffffffffffffffffffffffffffffffff163190565b446100db565b456100db565b6040514181526020016100e5565b61019461018f36600461078f565b6103ca565b6040516100e591906108b6565b61012a6101af36600461065a565b6105ef565b6100db6101c23660046108c9565b4090565b4360608267ffffffffffffffff8111156101e2576101e26108e2565b60405190808252806020026020018201604052801561021557816020015b60608152602001906001900390816102005790505b50905060005b838110156103945760008086868481811061023857610238610911565b905060200281019061024a9190610940565b610258906020810190610879565b73ffffffffffffffffffffffffffffffffffffffff1687878581811061028057610280610911565b90506020028101906102929190610940565b6102a090602081019061097e565b6040516102ae9291906109e3565b6000604051808303816000865af19150503d80600081146102eb576040519150601f19603f3d011682016040523d82523d6000602084013e6102f0565b606091505b509150915081610361576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c656460448201526064015b60405180910390fd5b8084848151811061037457610374610911565b60200260200101819052505050808061038c90610a22565b91505061021b565b509250929050565b60006103a9600143610a5b565b40905090565b43804060606103bf8686866103ca565b905093509350939050565b60608167ffffffffffffffff8111156103e5576103e56108e2565b60405190808252806020026020018201604052801561042b57816020015b6040805180820190915260008152606060208201528152602001906001900390816104035790505b50905060005b828110156105e75760008085858481811061044e5761044e610911565b90506020028101906104609190610940565b61046e906020810190610879565b73ffffffffffffffffffffffffffffffffffffffff1686868581811061049657610496610911565b90506020028101906104a89190610940565b6104b690602081019061097e565b6040516104c49291906109e3565b6000604051808303816000865af19150503d8060008114610501576040519150601f19603f3d011682016040523d82523d6000602084013e610506565b606091505b5091509150861561059e578161059e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610358565b60405180604001604052808315158152602001828152508484815181106105c7576105c7610911565b6020026020010181905250505080806105df90610a22565b915050610431565b509392505050565b6000806060610600600186866103af565b919790965090945092505050565b60008083601f84011261062057600080fd5b50813567ffffffffffffffff81111561063857600080fd5b6020830191508360208260051b850101111561065357600080fd5b9250929050565b6000806020838503121561066d57600080fd5b823567ffffffffffffffff81111561068457600080fd5b6106908582860161060e565b90969095509350505050565b6000815180845260005b818110156106c2576020818501810151868301820152016106a6565b818111156106d4576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610781577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa088870301845261076f86835161069c565b95509284019290840190600101610735565b509398975050505050505050565b6000806000604084860312156107a457600080fd5b833580151581146107b457600080fd5b9250602084013567ffffffffffffffff8111156107d057600080fd5b6107dc8682870161060e565b9497909650939450505050565b6000815180845260208085019450848260051b860182860160005b85811015610844578383038952815180511515845285015160408685018190526108308186018361069c565b9a87019a9450505090840190600101610804565b5090979650505050505050565b83815282602082015260606040820152600061087060608301846107e9565b95945050505050565b60006020828403121561088b57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146108af57600080fd5b9392505050565b6020815260006108af60208301846107e9565b6000602082840312156108db57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261097457600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126109b357600080fd5b83018035915067ffffffffffffffff8211156109ce57600080fd5b60200191503681900382131561065357600080fd5b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610a5457610a546109f3565b5060010190565b600082821015610a6d57610a6d6109f3565b50039056fea264697066735822122077208ff8ba60b1b1bbe5fdbec804b772ca19cb783a1a4c407178c27cab82157764736f6c634300080c0033","sourceMap":"280:2663:18:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561001057600080fd5b50600436106100d45760003560e01c806372425d9d11610081578063bce38bd71161005b578063bce38bd714610181578063c3077fa9146101a1578063ee82ac5e146101b457600080fd5b806372425d9d1461016757806386d516e81461016d578063a8b0574e1461017357600080fd5b8063399542e9116100b2578063399542e91461011757806342cbb15c146101395780634d2301cc1461013f57600080fd5b80630f28c97d146100d9578063252dba42146100ee57806327e86d6e1461010f575b600080fd5b425b6040519081526020015b60405180910390f35b6101016100fc36600461065a565b6101c6565b6040516100e5929190610707565b6100db61039c565b61012a61012536600461078f565b6103af565b6040516100e593929190610851565b436100db565b6100db61014d366004610879565b73ffffffffffffffffffffffffffffffffffffffff163190565b446100db565b456100db565b6040514181526020016100e5565b61019461018f36600461078f565b6103ca565b6040516100e591906108b6565b61012a6101af36600461065a565b6105ef565b6100db6101c23660046108c9565b4090565b4360608267ffffffffffffffff8111156101e2576101e26108e2565b60405190808252806020026020018201604052801561021557816020015b60608152602001906001900390816102005790505b50905060005b838110156103945760008086868481811061023857610238610911565b905060200281019061024a9190610940565b610258906020810190610879565b73ffffffffffffffffffffffffffffffffffffffff1687878581811061028057610280610911565b90506020028101906102929190610940565b6102a090602081019061097e565b6040516102ae9291906109e3565b6000604051808303816000865af19150503d80600081146102eb576040519150601f19603f3d011682016040523d82523d6000602084013e6102f0565b606091505b509150915081610361576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c656460448201526064015b60405180910390fd5b8084848151811061037457610374610911565b60200260200101819052505050808061038c90610a22565b91505061021b565b509250929050565b60006103a9600143610a5b565b40905090565b43804060606103bf8686866103ca565b905093509350939050565b60608167ffffffffffffffff8111156103e5576103e56108e2565b60405190808252806020026020018201604052801561042b57816020015b6040805180820190915260008152606060208201528152602001906001900390816104035790505b50905060005b828110156105e75760008085858481811061044e5761044e610911565b90506020028101906104609190610940565b61046e906020810190610879565b73ffffffffffffffffffffffffffffffffffffffff1686868581811061049657610496610911565b90506020028101906104a89190610940565b6104b690602081019061097e565b6040516104c49291906109e3565b6000604051808303816000865af19150503d8060008114610501576040519150601f19603f3d011682016040523d82523d6000602084013e610506565b606091505b5091509150861561059e578161059e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610358565b60405180604001604052808315158152602001828152508484815181106105c7576105c7610911565b6020026020010181905250505080806105df90610a22565b915050610431565b509392505050565b6000806060610600600186866103af565b919790965090945092505050565b60008083601f84011261062057600080fd5b50813567ffffffffffffffff81111561063857600080fd5b6020830191508360208260051b850101111561065357600080fd5b9250929050565b6000806020838503121561066d57600080fd5b823567ffffffffffffffff81111561068457600080fd5b6106908582860161060e565b90969095509350505050565b6000815180845260005b818110156106c2576020818501810151868301820152016106a6565b818111156106d4576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610781577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa088870301845261076f86835161069c565b95509284019290840190600101610735565b509398975050505050505050565b6000806000604084860312156107a457600080fd5b833580151581146107b457600080fd5b9250602084013567ffffffffffffffff8111156107d057600080fd5b6107dc8682870161060e565b9497909650939450505050565b6000815180845260208085019450848260051b860182860160005b85811015610844578383038952815180511515845285015160408685018190526108308186018361069c565b9a87019a9450505090840190600101610804565b5090979650505050505050565b83815282602082015260606040820152600061087060608301846107e9565b95945050505050565b60006020828403121561088b57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146108af57600080fd5b9392505050565b6020815260006108af60208301846107e9565b6000602082840312156108db57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261097457600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126109b357600080fd5b83018035915067ffffffffffffffff8211156109ce57600080fd5b60200191503681900382131561065357600080fd5b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610a5457610a546109f3565b5060010190565b600082821015610a6d57610a6d6109f3565b50039056fea264697066735822122077208ff8ba60b1b1bbe5fdbec804b772ca19cb783a1a4c407178c27cab82157764736f6c634300080c0033","sourceMap":"280:2663:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2571:120;2669:15;2571:120;;;160:25:28;;;148:2;133:18;2571:120:18;;;;;;;;454:447;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;2817:124::-;;;:::i;1401:304::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;2080:111::-;2172:12;2080:111;;2697:114;;;;;;:::i;:::-;2792:12;;;;2697:114;2319:124;2420:16;2319:124;;2449:116;2544:14;2449:116;;2197;;;2292:14;5068:74:28;;5056:2;5041:18;2197:116:18;4922:226:28;907:488:18;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1711:223::-;;;;;;:::i;:::-;;:::i;1940:134::-;;;;;;:::i;:::-;2045:22;;1940:134;454:447;584:12;533:25;631:5;619:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;606:38;;659:9;654:241;674:16;;;654:241;;;712:12;726:16;746:5;;752:1;746:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:15;;;;;;;:::i;:::-;:20;;767:5;;773:1;767:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:17;;;;;;;:::i;:::-;746:39;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;711:74;;;;807:7;799:52;;;;;;;7487:2:28;799:52:18;;;7469:21:28;;;7506:18;;;7499:30;7565:34;7545:18;;;7538:62;7617:18;;799:52:18;;;;;;;;;881:3;865:10;876:1;865:13;;;;;;;;:::i;:::-;;;;;;:19;;;;697:198;;692:3;;;;;:::i;:::-;;;;654:241;;;;454:447;;;;;:::o;2817:124::-;2866:17;2917:16;2932:1;2917:12;:16;:::i;:::-;2907:27;2895:39;;2817:124;:::o;1401:304::-;1583:12;1617:23;;1531:26;1663:35;1676:14;1692:5;;1663:12;:35::i;:::-;1650:48;;1401:304;;;;;;;:::o;907:488::-;989:26;1053:5;1040:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;1040:26:18;;;;;;;;;;;;;;;;1027:39;;1081:9;1076:313;1096:16;;;1076:313;;;1134:12;1148:16;1168:5;;1174:1;1168:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:15;;;;;;;:::i;:::-;:20;;1189:5;;1195:1;1189:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:17;;;;;;;:::i;:::-;1168:39;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1133:74;;;;1226:14;1222:106;;;1268:7;1260:53;;;;;;;8367:2:28;1260:53:18;;;8349:21:28;8406:2;8386:18;;;8379:30;8445:34;8425:18;;;8418:62;8516:3;8496:18;;;8489:31;8537:19;;1260:53:18;8165:397:28;1260:53:18;1358:20;;;;;;;;1365:7;1358:20;;;;;;1374:3;1358:20;;;1342:10;1353:1;1342:13;;;;;;;;:::i;:::-;;;;;;:36;;;;1119:270;;1114:3;;;;;:::i;:::-;;;;1076:313;;;;907:488;;;;;:::o;1711:223::-;1777:19;1798:17;1817:26;1894:33;1915:4;1921:5;;1894:20;:33::i;:::-;1855:72;;;;-1:-1:-1;1855:72:18;;-1:-1:-1;1711:223:18;-1:-1:-1;;;1711:223:18:o;196:380:28:-;272:8;282:6;336:3;329:4;321:6;317:17;313:27;303:55;;354:1;351;344:12;303:55;-1:-1:-1;377:20:28;;420:18;409:30;;406:50;;;452:1;449;442:12;406:50;489:4;481:6;477:17;465:29;;549:3;542:4;532:6;529:1;525:14;517:6;513:27;509:38;506:47;503:67;;;566:1;563;556:12;503:67;196:380;;;;;:::o;581:475::-;692:6;700;753:2;741:9;732:7;728:23;724:32;721:52;;;769:1;766;759:12;721:52;809:9;796:23;842:18;834:6;831:30;828:50;;;874:1;871;864:12;828:50;913:83;988:7;979:6;968:9;964:22;913:83;:::i;:::-;1015:8;;887:109;;-1:-1:-1;581:475:28;-1:-1:-1;;;;581:475:28:o;1061:530::-;1102:3;1140:5;1134:12;1167:6;1162:3;1155:19;1192:1;1202:162;1216:6;1213:1;1210:13;1202:162;;;1278:4;1334:13;;;1330:22;;1324:29;1306:11;;;1302:20;;1295:59;1231:12;1202:162;;;1382:6;1379:1;1376:13;1373:87;;;1448:1;1441:4;1432:6;1427:3;1423:16;1419:27;1412:38;1373:87;-1:-1:-1;1505:2:28;1493:15;1510:66;1489:88;1480:98;;;;1580:4;1476:109;;1061:530;-1:-1:-1;;1061:530:28:o;1596:930::-;1784:4;1832:2;1821:9;1817:18;1862:6;1851:9;1844:25;1888:2;1926;1921;1910:9;1906:18;1899:30;1949:6;1984;1978:13;2015:6;2007;2000:22;2053:2;2042:9;2038:18;2031:25;;2115:2;2105:6;2102:1;2098:14;2087:9;2083:30;2079:39;2065:53;;2153:2;2145:6;2141:15;2174:1;2184:313;2198:6;2195:1;2192:13;2184:313;;;2287:66;2275:9;2267:6;2263:22;2259:95;2254:3;2247:108;2378:39;2410:6;2401;2395:13;2378:39;:::i;:::-;2368:49;-1:-1:-1;2475:12:28;;;;2440:15;;;;2220:1;2213:9;2184:313;;;-1:-1:-1;2514:6:28;;1596:930;-1:-1:-1;;;;;;;;1596:930:28:o;2713:636::-;2830:6;2838;2846;2899:2;2887:9;2878:7;2874:23;2870:32;2867:52;;;2915:1;2912;2905:12;2867:52;2954:9;2941:23;3007:5;3000:13;2993:21;2986:5;2983:32;2973:60;;3029:1;3026;3019:12;2973:60;3052:5;-1:-1:-1;3108:2:28;3093:18;;3080:32;3135:18;3124:30;;3121:50;;;3167:1;3164;3157:12;3121:50;3206:83;3281:7;3272:6;3261:9;3257:22;3206:83;:::i;:::-;2713:636;;3308:8;;-1:-1:-1;3180:109:28;;-1:-1:-1;;;;2713:636:28:o;3354:785::-;3413:3;3451:5;3445:12;3478:6;3473:3;3466:19;3504:4;3533:2;3528:3;3524:12;3517:19;;3558:3;3598:6;3595:1;3591:14;3586:3;3582:24;3640:2;3633:5;3629:14;3661:1;3671:442;3685:6;3682:1;3679:13;3671:442;;;3746:16;;;3734:29;;3786:13;;3866:9;;3859:17;3852:25;3839:39;;3917:11;;3911:18;3822:4;3949:13;;;3942:25;;;3988:45;4019:13;;;3911:18;3988:45;:::i;:::-;4091:12;;;;3980:53;-1:-1:-1;;;4056:15:28;;;;3707:1;3700:9;3671:442;;;-1:-1:-1;4129:4:28;;3354:785;-1:-1:-1;;;;;;;3354:785:28:o;4144:459::-;4429:6;4418:9;4411:25;4472:6;4467:2;4456:9;4452:18;4445:34;4515:2;4510;4499:9;4495:18;4488:30;4392:4;4535:62;4593:2;4582:9;4578:18;4570:6;4535:62;:::i;:::-;4527:70;4144:459;-1:-1:-1;;;;;4144:459:28:o;4608:309::-;4667:6;4720:2;4708:9;4699:7;4695:23;4691:32;4688:52;;;4736:1;4733;4726:12;4688:52;4775:9;4762:23;4825:42;4818:5;4814:54;4807:5;4804:65;4794:93;;4883:1;4880;4873:12;4794:93;4906:5;4608:309;-1:-1:-1;;;4608:309:28:o;5153:317::-;5382:2;5371:9;5364:21;5345:4;5402:62;5460:2;5449:9;5445:18;5437:6;5402:62;:::i;5475:180::-;5534:6;5587:2;5575:9;5566:7;5562:23;5558:32;5555:52;;;5603:1;5600;5593:12;5555:52;-1:-1:-1;5626:23:28;;5475:180;-1:-1:-1;5475:180:28:o;5660:184::-;5712:77;5709:1;5702:88;5809:4;5806:1;5799:15;5833:4;5830:1;5823:15;5849:184;5901:77;5898:1;5891:88;5998:4;5995:1;5988:15;6022:4;6019:1;6012:15;6038:381;6129:4;6187:11;6174:25;6277:66;6266:8;6250:14;6246:29;6242:102;6222:18;6218:127;6208:155;;6359:1;6356;6349:12;6208:155;6380:33;;;;;6038:381;-1:-1:-1;;6038:381:28:o;6424:580::-;6501:4;6507:6;6567:11;6554:25;6657:66;6646:8;6630:14;6626:29;6622:102;6602:18;6598:127;6588:155;;6739:1;6736;6729:12;6588:155;6766:33;;6818:20;;;-1:-1:-1;6861:18:28;6850:30;;6847:50;;;6893:1;6890;6883:12;6847:50;6926:4;6914:17;;-1:-1:-1;6957:14:28;6953:27;;;6943:38;;6940:58;;;6994:1;6991;6984:12;7009:271;7192:6;7184;7179:3;7166:33;7148:3;7218:16;;7243:13;;;7218:16;7009:271;-1:-1:-1;7009:271:28:o;7646:184::-;7698:77;7695:1;7688:88;7795:4;7792:1;7785:15;7819:4;7816:1;7809:15;7835:195;7874:3;7905:66;7898:5;7895:77;7892:103;;;7975:18;;:::i;:::-;-1:-1:-1;8022:1:28;8011:13;;7835:195::o;8035:125::-;8075:4;8103:1;8100;8097:8;8094:34;;;8108:18;;:::i;:::-;-1:-1:-1;8145:9:28;;8035:125::o","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","blockAndAggregate((address,bytes)[])":"c3077fa9","getBlockHash(uint256)":"ee82ac5e","getBlockNumber()":"42cbb15c","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e","tryAggregate(bool,(address,bytes)[])":"bce38bd7","tryBlockAndAggregate(bool,(address,bytes)[])":"399542e9"}}}},"src/Multicall3.sol":{"Multicall3":{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct Multicall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"payable"},{"type":"function","name":"aggregate3","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct Multicall3.Call3[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct Multicall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct Multicall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct Multicall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"blockAndAggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct Multicall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct Multicall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"getBasefee","inputs":[],"outputs":[{"name":"basefee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getChainId","inputs":[],"outputs":[{"name":"chainid","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tryAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct Multicall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct Multicall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"tryBlockAndAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct Multicall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct Multicall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Michael Elliot Joshua Levine Nick Johnson Andreas Bigger Matt Solomon \",\"details\":\"Multicall & Multicall2 backwards-compatibleAggregate methods are marked `payable` to save 24 gas per call\",\"kind\":\"dev\",\"methods\":{\"aggregate((address,bytes)[])\":{\"params\":{\"calls\":\"An array of Call structs\"},\"returns\":{\"blockNumber\":\"The block number where the calls were executed\",\"returnData\":\"An array of bytes containing the responses\"}},\"aggregate3((address,bool,bytes)[])\":{\"params\":{\"calls\":\"An array of Call3 structs\"},\"returns\":{\"returnData\":\"An array of Result structs\"}},\"aggregate3Value((address,bool,uint256,bytes)[])\":{\"params\":{\"calls\":\"An array of Call3Value structs\"},\"returns\":{\"returnData\":\"An array of Result structs\"}},\"blockAndAggregate((address,bytes)[])\":{\"params\":{\"calls\":\"An array of Call structs\"},\"returns\":{\"blockHash\":\"The hash of the block where the calls were executed\",\"blockNumber\":\"The block number where the calls were executed\",\"returnData\":\"An array of Result structs\"}},\"getBlockHash(uint256)\":{\"params\":{\"blockNumber\":\"The block number\"}},\"tryAggregate(bool,(address,bytes)[])\":{\"params\":{\"calls\":\"An array of Call structs\",\"requireSuccess\":\"If true, require all calls to succeed\"},\"returns\":{\"returnData\":\"An array of Result structs\"}},\"tryBlockAndAggregate(bool,(address,bytes)[])\":{\"params\":{\"calls\":\"An array of Call structs\"},\"returns\":{\"blockHash\":\"The hash of the block where the calls were executed\",\"blockNumber\":\"The block number where the calls were executed\",\"returnData\":\"An array of Result structs\"}}},\"title\":\"Multicall3\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"aggregate((address,bytes)[])\":{\"notice\":\"Backwards-compatible call aggregation with Multicall\"},\"aggregate3((address,bool,bytes)[])\":{\"notice\":\"Aggregate calls, ensuring each returns success if required\"},\"aggregate3Value((address,bool,uint256,bytes)[])\":{\"notice\":\"Aggregate calls with a msg valueReverts if msg.value is less than the sum of the call values\"},\"blockAndAggregate((address,bytes)[])\":{\"notice\":\"Backwards-compatible with Multicall2Aggregate calls and allow failures using tryAggregate\"},\"getBasefee()\":{\"notice\":\"Gets the base fee of the given blockCan revert if the BASEFEE opcode is not implemented by the given chain\"},\"getBlockHash(uint256)\":{\"notice\":\"Returns the block hash for the given block number\"},\"getBlockNumber()\":{\"notice\":\"Returns the block number\"},\"getChainId()\":{\"notice\":\"Returns the chain id\"},\"getCurrentBlockCoinbase()\":{\"notice\":\"Returns the block coinbase\"},\"getCurrentBlockDifficulty()\":{\"notice\":\"Returns the block difficulty\"},\"getCurrentBlockGasLimit()\":{\"notice\":\"Returns the block gas limit\"},\"getCurrentBlockTimestamp()\":{\"notice\":\"Returns the block timestamp\"},\"getEthBalance(address)\":{\"notice\":\"Returns the (ETH) balance of a given address\"},\"getLastBlockHash()\":{\"notice\":\"Returns the block hash of the last block\"},\"tryAggregate(bool,(address,bytes)[])\":{\"notice\":\"Backwards-compatible with Multicall2Aggregate calls without requiring success\"},\"tryBlockAndAggregate(bool,(address,bytes)[])\":{\"notice\":\"Backwards-compatible with Multicall2Aggregate calls and allow failures using tryAggregate\"}},\"notice\":\"Aggregate results from multiple function calls\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Multicall3.sol\":\"Multicall3\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/Multicall3.sol\":{\"keccak256\":\"0x95dfd0a2dd6626c7119ff7c3f214d56b289145f81a0521cd93a6252a326966f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead513cb13fe5373523cb3e1f3f1a1052791503269f4cc22e5e6177ed57d03ae\",\"dweb:/ipfs/Qmd5sRoq3rxHpBkcHr4baM2zP6Sud6eAL7AFoBbizFnWji\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608060405234801561001057600080fd5b50610ee0806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e1461025a578063bce38bd714610275578063c3077fa914610288578063ee82ac5e1461029b57600080fd5b80634d2301cc146101ec57806372425d9d1461022157806382ad56cb1461023457806386d516e81461024757600080fd5b80633408e470116100c65780633408e47014610191578063399542e9146101a45780633e64a696146101c657806342cbb15c146101d957600080fd5b80630f28c97d146100f8578063174dea711461011a578063252dba421461013a57806327e86d6e1461015b575b600080fd5b34801561010457600080fd5b50425b6040519081526020015b60405180910390f35b61012d610128366004610a85565b6102ba565b6040516101119190610bbe565b61014d610148366004610a85565b6104ef565b604051610111929190610bd8565b34801561016757600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610107565b34801561019d57600080fd5b5046610107565b6101b76101b2366004610c60565b610690565b60405161011193929190610cba565b3480156101d257600080fd5b5048610107565b3480156101e557600080fd5b5043610107565b3480156101f857600080fd5b50610107610207366004610ce2565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561022d57600080fd5b5044610107565b61012d610242366004610a85565b6106ab565b34801561025357600080fd5b5045610107565b34801561026657600080fd5b50604051418152602001610111565b61012d610283366004610c60565b61085a565b6101b7610296366004610a85565b610a1a565b3480156102a757600080fd5b506101076102b6366004610d18565b4090565b60606000828067ffffffffffffffff8111156102d8576102d8610d31565b60405190808252806020026020018201604052801561031e57816020015b6040805180820190915260008152606060208201528152602001906001900390816102f65790505b5092503660005b8281101561047757600085828151811061034157610341610d60565b6020026020010151905087878381811061035d5761035d610d60565b905060200281019061036f9190610d8f565b6040810135958601959093506103886020850185610ce2565b73ffffffffffffffffffffffffffffffffffffffff16816103ac6060870187610dcd565b6040516103ba929190610e32565b60006040518083038185875af1925050503d80600081146103f7576040519150601f19603f3d011682016040523d82523d6000602084013e6103fc565b606091505b50602080850191909152901515808452908501351761046d577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b5050600101610325565b508234146104e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d756c746963616c6c333a2076616c7565206d69736d6174636800000000000060448201526064015b60405180910390fd5b50505092915050565b436060828067ffffffffffffffff81111561050c5761050c610d31565b60405190808252806020026020018201604052801561053f57816020015b606081526020019060019003908161052a5790505b5091503660005b8281101561068657600087878381811061056257610562610d60565b90506020028101906105749190610e42565b92506105836020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166105a66020850185610dcd565b6040516105b4929190610e32565b6000604051808303816000865af19150503d80600081146105f1576040519150601f19603f3d011682016040523d82523d6000602084013e6105f6565b606091505b5086848151811061060957610609610d60565b602090810291909101015290508061067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b50600101610546565b5050509250929050565b43804060606106a086868661085a565b905093509350939050565b6060818067ffffffffffffffff8111156106c7576106c7610d31565b60405190808252806020026020018201604052801561070d57816020015b6040805180820190915260008152606060208201528152602001906001900390816106e55790505b5091503660005b828110156104e657600084828151811061073057610730610d60565b6020026020010151905086868381811061074c5761074c610d60565b905060200281019061075e9190610e76565b925061076d6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166107906040850185610dcd565b60405161079e929190610e32565b6000604051808303816000865af19150503d80600081146107db576040519150601f19603f3d011682016040523d82523d6000602084013e6107e0565b606091505b506020808401919091529015158083529084013517610851577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b50600101610714565b6060818067ffffffffffffffff81111561087657610876610d31565b6040519080825280602002602001820160405280156108bc57816020015b6040805180820190915260008152606060208201528152602001906001900390816108945790505b5091503660005b82811015610a105760008482815181106108df576108df610d60565b602002602001015190508686838181106108fb576108fb610d60565b905060200281019061090d9190610e42565b925061091c6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff1661093f6020850185610dcd565b60405161094d929190610e32565b6000604051808303816000865af19150503d806000811461098a576040519150601f19603f3d011682016040523d82523d6000602084013e61098f565b606091505b506020830152151581528715610a07578051610a07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b506001016108c3565b5050509392505050565b6000806060610a2b60018686610690565b919790965090945092505050565b60008083601f840112610a4b57600080fd5b50813567ffffffffffffffff811115610a6357600080fd5b6020830191508360208260051b8501011115610a7e57600080fd5b9250929050565b60008060208385031215610a9857600080fd5b823567ffffffffffffffff811115610aaf57600080fd5b610abb85828601610a39565b90969095509350505050565b6000815180845260005b81811015610aed57602081850181015186830182015201610ad1565b81811115610aff576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610bb1578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610b9d81860183610ac7565b9a86019a9450505090830190600101610b4f565b5090979650505050505050565b602081526000610bd16020830184610b32565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610c52577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610c40868351610ac7565b95509284019290840190600101610c06565b509398975050505050505050565b600080600060408486031215610c7557600080fd5b83358015158114610c8557600080fd5b9250602084013567ffffffffffffffff811115610ca157600080fd5b610cad86828701610a39565b9497909650939450505050565b838152826020820152606060408201526000610cd96060830184610b32565b95945050505050565b600060208284031215610cf457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610bd157600080fd5b600060208284031215610d2a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610dc357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610e0257600080fd5b83018035915067ffffffffffffffff821115610e1d57600080fd5b602001915036819003821315610a7e57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610dc357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610dc357600080fdfea2646970667358221220449a18ce35be1adaedc9fa8ac86170e8c0f9b35e4a63d7b367123a4743501ae564736f6c634300080c0033","sourceMap":"502:9107:19:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e1461025a578063bce38bd714610275578063c3077fa914610288578063ee82ac5e1461029b57600080fd5b80634d2301cc146101ec57806372425d9d1461022157806382ad56cb1461023457806386d516e81461024757600080fd5b80633408e470116100c65780633408e47014610191578063399542e9146101a45780633e64a696146101c657806342cbb15c146101d957600080fd5b80630f28c97d146100f8578063174dea711461011a578063252dba421461013a57806327e86d6e1461015b575b600080fd5b34801561010457600080fd5b50425b6040519081526020015b60405180910390f35b61012d610128366004610a85565b6102ba565b6040516101119190610bbe565b61014d610148366004610a85565b6104ef565b604051610111929190610bd8565b34801561016757600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610107565b34801561019d57600080fd5b5046610107565b6101b76101b2366004610c60565b610690565b60405161011193929190610cba565b3480156101d257600080fd5b5048610107565b3480156101e557600080fd5b5043610107565b3480156101f857600080fd5b50610107610207366004610ce2565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561022d57600080fd5b5044610107565b61012d610242366004610a85565b6106ab565b34801561025357600080fd5b5045610107565b34801561026657600080fd5b50604051418152602001610111565b61012d610283366004610c60565b61085a565b6101b7610296366004610a85565b610a1a565b3480156102a757600080fd5b506101076102b6366004610d18565b4090565b60606000828067ffffffffffffffff8111156102d8576102d8610d31565b60405190808252806020026020018201604052801561031e57816020015b6040805180820190915260008152606060208201528152602001906001900390816102f65790505b5092503660005b8281101561047757600085828151811061034157610341610d60565b6020026020010151905087878381811061035d5761035d610d60565b905060200281019061036f9190610d8f565b6040810135958601959093506103886020850185610ce2565b73ffffffffffffffffffffffffffffffffffffffff16816103ac6060870187610dcd565b6040516103ba929190610e32565b60006040518083038185875af1925050503d80600081146103f7576040519150601f19603f3d011682016040523d82523d6000602084013e6103fc565b606091505b50602080850191909152901515808452908501351761046d577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b5050600101610325565b508234146104e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d756c746963616c6c333a2076616c7565206d69736d6174636800000000000060448201526064015b60405180910390fd5b50505092915050565b436060828067ffffffffffffffff81111561050c5761050c610d31565b60405190808252806020026020018201604052801561053f57816020015b606081526020019060019003908161052a5790505b5091503660005b8281101561068657600087878381811061056257610562610d60565b90506020028101906105749190610e42565b92506105836020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166105a66020850185610dcd565b6040516105b4929190610e32565b6000604051808303816000865af19150503d80600081146105f1576040519150601f19603f3d011682016040523d82523d6000602084013e6105f6565b606091505b5086848151811061060957610609610d60565b602090810291909101015290508061067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b50600101610546565b5050509250929050565b43804060606106a086868661085a565b905093509350939050565b6060818067ffffffffffffffff8111156106c7576106c7610d31565b60405190808252806020026020018201604052801561070d57816020015b6040805180820190915260008152606060208201528152602001906001900390816106e55790505b5091503660005b828110156104e657600084828151811061073057610730610d60565b6020026020010151905086868381811061074c5761074c610d60565b905060200281019061075e9190610e76565b925061076d6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166107906040850185610dcd565b60405161079e929190610e32565b6000604051808303816000865af19150503d80600081146107db576040519150601f19603f3d011682016040523d82523d6000602084013e6107e0565b606091505b506020808401919091529015158083529084013517610851577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b50600101610714565b6060818067ffffffffffffffff81111561087657610876610d31565b6040519080825280602002602001820160405280156108bc57816020015b6040805180820190915260008152606060208201528152602001906001900390816108945790505b5091503660005b82811015610a105760008482815181106108df576108df610d60565b602002602001015190508686838181106108fb576108fb610d60565b905060200281019061090d9190610e42565b925061091c6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff1661093f6020850185610dcd565b60405161094d929190610e32565b6000604051808303816000865af19150503d806000811461098a576040519150601f19603f3d011682016040523d82523d6000602084013e61098f565b606091505b506020830152151581528715610a07578051610a07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b506001016108c3565b5050509392505050565b6000806060610a2b60018686610690565b919790965090945092505050565b60008083601f840112610a4b57600080fd5b50813567ffffffffffffffff811115610a6357600080fd5b6020830191508360208260051b8501011115610a7e57600080fd5b9250929050565b60008060208385031215610a9857600080fd5b823567ffffffffffffffff811115610aaf57600080fd5b610abb85828601610a39565b90969095509350505050565b6000815180845260005b81811015610aed57602081850181015186830182015201610ad1565b81811115610aff576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610bb1578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610b9d81860183610ac7565b9a86019a9450505090830190600101610b4f565b5090979650505050505050565b602081526000610bd16020830184610b32565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610c52577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610c40868351610ac7565b95509284019290840190600101610c06565b509398975050505050505050565b600080600060408486031215610c7557600080fd5b83358015158114610c8557600080fd5b9250602084013567ffffffffffffffff811115610ca157600080fd5b610cad86828701610a39565b9497909650939450505050565b838152826020820152606060408201526000610cd96060830184610b32565b95945050505050565b600060208284031215610cf457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610bd157600080fd5b600060208284031215610d2a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610dc357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610e0257600080fd5b83018035915067ffffffffffffffff821115610e1d57600080fd5b602001915036819003821315610a7e57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610dc357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610dc357600080fdfea2646970667358221220449a18ce35be1adaedc9fa8ac86170e8c0f9b35e4a63d7b367123a4743501ae564736f6c634300080c0033","sourceMap":"502:9107:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8696:120;;;;;;;;;;-1:-1:-1;8794:15:19;8696:120;;;160:25:28;;;148:2;133:18;8696:120:19;;;;;;;;5771:1961;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1166:534::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;9060:158::-;;;;;;;;;;-1:-1:-1;9184:12:19;:16;;9174:27;9060:158;;9507:100;;;;;;;;;;-1:-1:-1;9587:13:19;9507:100;;2932:312;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;9364:100::-;;;;;;;;;;-1:-1:-1;9444:13:19;9364:100;;8029:111;;;;;;;;;;-1:-1:-1;8121:12:19;8029:111;;8883:114;;;;;;;;;;-1:-1:-1;8883:114:19;;;;;:::i;:::-;8978:12;;;;8883:114;8356:124;;;;;;;;;;-1:-1:-1;8457:16:19;8356:124;;4039:1494;;;;;;:::i;:::-;;:::i;8530:116::-;;;;;;;;;;-1:-1:-1;8625:14:19;8530:116;;8189;;;;;;;;;;-1:-1:-1;8189:116:19;;8284:14;6471:74:28;;6459:2;6444:18;8189:116:19;6325:226:28;1985:565:19;;;;;;:::i;:::-;;:::i;3626:231::-;;;;;;:::i;:::-;;:::i;7848:134::-;;;;;;;;;;-1:-1:-1;7848:134:19;;;;;:::i;:::-;7953:22;;7848:134;5771:1961;5849:26;5887:22;5936:5;;5971:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;5971:20:19;;;;;;;;;;;;;;;;5958:33;;6001:25;6041:9;6036:1545;6060:6;6056:1;:10;6036:1545;;;6083:20;6106:10;6117:1;6106:13;;;;;;;;:::i;:::-;;;;;;;6083:36;;6141:5;;6147:1;6141:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;6177:11;;;;6389:21;;;;6133:16;;-1:-1:-1;6464:12:19;;;;6133:16;6464:12;:::i;:::-;:17;;6489:3;6494:14;;;;:5;:14;:::i;:::-;6464:45;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6443:17:19;;;;6426:83;;;;;;;;;;6746:16;;;6733:30;6730:49;6720:806;;6914:66;6908:4;6901:80;7054:66;7048:4;7041:80;7206:66;7200:4;7193:80;7402:66;7396:4;7389:80;7503:4;7497;7490:18;6720:806;-1:-1:-1;;7565:3:19;;6036:1545;;;;7680:14;7667:9;:27;7659:66;;;;;;;8574:2:28;7659:66:19;;;8556:21:28;8613:2;8593:18;;;8586:30;8652:28;8632:18;;;8625:56;8698:18;;7659:66:19;;;;;;;;;5877:1855;;;5771:1961;;;;:::o;1166:534::-;1304:12;1253:25;1343:5;;1378:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1365:32;;1407:18;1440:9;1435:259;1459:6;1455:1;:10;1435:259;;;1482:12;1515:5;;1521:1;1515:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;1508:15;-1:-1:-1;1564:11:19;;;;1508:15;1564:11;:::i;:::-;:16;;1581:13;;;;:4;:13;:::i;:::-;1564:31;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1547:10;1558:1;1547:13;;;;;;;;:::i;:::-;;;;;;;;;;1537:58;;-1:-1:-1;1537:58:19;1609:43;;;;;;;9315:2:28;1609:43:19;;;9297:21:28;9354:2;9334:18;;;9327:30;9393:25;9373:18;;;9366:53;9436:18;;1609:43:19;9113:347:28;1609:43:19;-1:-1:-1;1678:3:19;;1435:259;;;;1280:420;;1166:534;;;;;:::o;2932:312::-;3122:12;3156:23;;3070:26;3202:35;3215:14;3231:5;;3202:12;:35::i;:::-;3189:48;;2932:312;;;;;;;:::o;4039:1494::-;4107:26;4162:5;;4197:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;4197:20:19;;;;;;;;;;;;;;;;4184:33;;4227:20;4262:9;4257:1270;4281:6;4277:1;:10;4257:1270;;;4304:20;4327:10;4338:1;4327:13;;;;;;;;:::i;:::-;;;;;;;4304:36;;4362:5;;4368:1;4362:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;4354:16;-1:-1:-1;4422:12:19;;;;4354:16;4422:12;:::i;:::-;:17;;4440:14;;;;:5;:14;:::i;:::-;4422:33;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4401:17:19;;;;4384:71;;;;;;;;;;4692:16;;;4679:30;4676:49;4666:806;;4860:66;4854:4;4847:80;5000:66;4994:4;4987:80;5152:66;5146:4;5139:80;5348:66;5342:4;5335:80;5449:4;5443;5436:18;4666:806;-1:-1:-1;5511:3:19;;4257:1270;;1985:565;2075:26;2130:5;;2165:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;2165:20:19;;;;;;;;;;;;;;;;2152:33;;2195:18;2228:9;2223:321;2247:6;2243:1;:10;2223:321;;;2270:20;2293:10;2304:1;2293:13;;;;;;;;:::i;:::-;;;;;;;2270:36;;2327:5;;2333:1;2327:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;2320:15;-1:-1:-1;2387:11:19;;;;2320:15;2387:11;:::i;:::-;:16;;2404:13;;;;:4;:13;:::i;:::-;2387:31;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2366:17:19;;;2349:69;;;;;2432:70;;;;2460:14;;2452:50;;;;;;;9315:2:28;2452:50:19;;;9297:21:28;9354:2;9334:18;;;9327:30;9393:25;9373:18;;;9366:53;9436:18;;2452:50:19;9113:347:28;2452:50:19;-1:-1:-1;2528:3:19;;2223:321;;;;2103:447;;1985:565;;;;;:::o;3626:231::-;3700:19;3721:17;3740:26;3817:33;3838:4;3844:5;;3817:20;:33::i;:::-;3778:72;;;;-1:-1:-1;3778:72:19;;-1:-1:-1;3626:231:19;-1:-1:-1;;;3626:231:19:o;196:386:28:-;278:8;288:6;342:3;335:4;327:6;323:17;319:27;309:55;;360:1;357;350:12;309:55;-1:-1:-1;383:20:28;;426:18;415:30;;412:50;;;458:1;455;448:12;412:50;495:4;487:6;483:17;471:29;;555:3;548:4;538:6;535:1;531:14;523:6;519:27;515:38;512:47;509:67;;;572:1;569;562:12;509:67;196:386;;;;;:::o;587:487::-;704:6;712;765:2;753:9;744:7;740:23;736:32;733:52;;;781:1;778;771:12;733:52;821:9;808:23;854:18;846:6;843:30;840:50;;;886:1;883;876:12;840:50;925:89;1006:7;997:6;986:9;982:22;925:89;:::i;:::-;1033:8;;899:115;;-1:-1:-1;587:487:28;-1:-1:-1;;;;587:487:28:o;1079:530::-;1120:3;1158:5;1152:12;1185:6;1180:3;1173:19;1210:1;1220:162;1234:6;1231:1;1228:13;1220:162;;;1296:4;1352:13;;;1348:22;;1342:29;1324:11;;;1320:20;;1313:59;1249:12;1220:162;;;1400:6;1397:1;1394:13;1391:87;;;1466:1;1459:4;1450:6;1445:3;1441:16;1437:27;1430:38;1391:87;-1:-1:-1;1523:2:28;1511:15;1528:66;1507:88;1498:98;;;;1598:4;1494:109;;1079:530;-1:-1:-1;;1079:530:28:o;1614:869::-;1673:3;1704;1736:5;1730:12;1763:6;1758:3;1751:19;1789:4;1818:2;1813:3;1809:12;1802:19;;1874:2;1864:6;1861:1;1857:14;1850:5;1846:26;1842:35;1911:2;1904:5;1900:14;1932:1;1942:515;1956:6;1953:1;1950:13;1942:515;;;2021:16;;;2039:66;2017:89;2005:102;;2130:13;;2210:9;;2203:17;2196:25;2183:39;;2261:11;;2255:18;2166:4;2293:13;;;2286:25;;;2332:45;2363:13;;;2255:18;2332:45;:::i;:::-;2435:12;;;;2324:53;-1:-1:-1;;;2400:15:28;;;;1978:1;1971:9;1942:515;;;-1:-1:-1;2473:4:28;;1614:869;-1:-1:-1;;;;;;;1614:869:28:o;2488:317::-;2717:2;2706:9;2699:21;2680:4;2737:62;2795:2;2784:9;2780:18;2772:6;2737:62;:::i;:::-;2729:70;2488:317;-1:-1:-1;;;2488:317:28:o;3296:930::-;3484:4;3532:2;3521:9;3517:18;3562:6;3551:9;3544:25;3588:2;3626;3621;3610:9;3606:18;3599:30;3649:6;3684;3678:13;3715:6;3707;3700:22;3753:2;3742:9;3738:18;3731:25;;3815:2;3805:6;3802:1;3798:14;3787:9;3783:30;3779:39;3765:53;;3853:2;3845:6;3841:15;3874:1;3884:313;3898:6;3895:1;3892:13;3884:313;;;3987:66;3975:9;3967:6;3963:22;3959:95;3954:3;3947:108;4078:39;4110:6;4101;4095:13;4078:39;:::i;:::-;4068:49;-1:-1:-1;4175:12:28;;;;4140:15;;;;3920:1;3913:9;3884:313;;;-1:-1:-1;4214:6:28;;3296:930;-1:-1:-1;;;;;;;;3296:930:28:o;4413:642::-;4530:6;4538;4546;4599:2;4587:9;4578:7;4574:23;4570:32;4567:52;;;4615:1;4612;4605:12;4567:52;4654:9;4641:23;4707:5;4700:13;4693:21;4686:5;4683:32;4673:60;;4729:1;4726;4719:12;4673:60;4752:5;-1:-1:-1;4808:2:28;4793:18;;4780:32;4835:18;4824:30;;4821:50;;;4867:1;4864;4857:12;4821:50;4906:89;4987:7;4978:6;4967:9;4963:22;4906:89;:::i;:::-;4413:642;;5014:8;;-1:-1:-1;4880:115:28;;-1:-1:-1;;;;4413:642:28:o;5060:459::-;5345:6;5334:9;5327:25;5388:6;5383:2;5372:9;5368:18;5361:34;5431:2;5426;5415:9;5411:18;5404:30;5308:4;5451:62;5509:2;5498:9;5494:18;5486:6;5451:62;:::i;:::-;5443:70;5060:459;-1:-1:-1;;;;;5060:459:28:o;5524:309::-;5583:6;5636:2;5624:9;5615:7;5611:23;5607:32;5604:52;;;5652:1;5649;5642:12;5604:52;5691:9;5678:23;5741:42;5734:5;5730:54;5723:5;5720:65;5710:93;;5799:1;5796;5789:12;6556:180;6615:6;6668:2;6656:9;6647:7;6643:23;6639:32;6636:52;;;6684:1;6681;6674:12;6636:52;-1:-1:-1;6707:23:28;;6556:180;-1:-1:-1;6556:180:28:o;6741:184::-;6793:77;6790:1;6783:88;6890:4;6887:1;6880:15;6914:4;6911:1;6904:15;6930:184;6982:77;6979:1;6972:88;7079:4;7076:1;7069:15;7103:4;7100:1;7093:15;7119:387;7216:4;7274:11;7261:25;7364:66;7353:8;7337:14;7333:29;7329:102;7309:18;7305:127;7295:155;;7446:1;7443;7436:12;7295:155;7467:33;;;;;7119:387;-1:-1:-1;;7119:387:28:o;7511:580::-;7588:4;7594:6;7654:11;7641:25;7744:66;7733:8;7717:14;7713:29;7709:102;7689:18;7685:127;7675:155;;7826:1;7823;7816:12;7675:155;7853:33;;7905:20;;;-1:-1:-1;7948:18:28;7937:30;;7934:50;;;7980:1;7977;7970:12;7934:50;8013:4;8001:17;;-1:-1:-1;8044:14:28;8040:27;;;8030:38;;8027:58;;;8081:1;8078;8071:12;8096:271;8279:6;8271;8266:3;8253:33;8235:3;8305:16;;8330:13;;;8305:16;8096:271;-1:-1:-1;8096:271:28:o;8727:381::-;8818:4;8876:11;8863:25;8966:66;8955:8;8939:14;8935:29;8931:102;8911:18;8907:127;8897:155;;9048:1;9045;9038:12;9465:382;9557:4;9615:11;9602:25;9705:66;9694:8;9678:14;9674:29;9670:102;9650:18;9646:127;9636:155;;9787:1;9784;9777:12","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","aggregate3((address,bool,bytes)[])":"82ad56cb","aggregate3Value((address,bool,uint256,bytes)[])":"174dea71","blockAndAggregate((address,bytes)[])":"c3077fa9","getBasefee()":"3e64a696","getBlockHash(uint256)":"ee82ac5e","getBlockNumber()":"42cbb15c","getChainId()":"3408e470","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e","tryAggregate(bool,(address,bytes)[])":"bce38bd7","tryBlockAndAggregate(bool,(address,bytes)[])":"399542e9"}}}},"src/interfaces/IMulticall.sol":{"IMulticall":{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IMulticall.sol\":\"IMulticall\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/interfaces/IMulticall.sol\":{\"keccak256\":\"0x51e0491a333d34ec908d7965ffece690d54afee75bf82af96958f1dc3ca2e783\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://50f90adf483a3acaa3b0068cbd10a46f3a542dd021b9635d3f9e24fdc0e6538d\",\"dweb:/ipfs/QmdDbUrV4sBGTtRsKEfipJY7unBSreiZJJaL3xuoyks1n1\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","getBlockHash(uint256)":"ee82ac5e","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e"}}}},"src/interfaces/IMulticall2.sol":{"IMulticall2":{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall2.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"blockAndAggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall2.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall2.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tryAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall2.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall2.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"tryBlockAndAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall2.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall2.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall2.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall2.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall2.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall2.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall2.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall2.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall2.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IMulticall2.sol\":\"IMulticall2\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/interfaces/IMulticall2.sol\":{\"keccak256\":\"0x869ae5f254316aa9632ee4d46ada83997e18a0251a67787de80c846de628fa3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f9b3abf0cb4f97760c6885a977ff4d297d5b8c4649e554edeffe74f12e665ed\",\"dweb:/ipfs/QmaoSbZpEK49MxvNSHY86FvTkgdEJrr9DngR4BtHL7mGfu\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","blockAndAggregate((address,bytes)[])":"c3077fa9","getBlockHash(uint256)":"ee82ac5e","getBlockNumber()":"42cbb15c","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e","tryAggregate(bool,(address,bytes)[])":"bce38bd7","tryBlockAndAggregate(bool,(address,bytes)[])":"399542e9"}}}},"src/interfaces/IMulticall3.sol":{"IMulticall3":{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"payable"},{"type":"function","name":"aggregate3","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"blockAndAggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"getBasefee","inputs":[],"outputs":[{"name":"basefee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getChainId","inputs":[],"outputs":[{"name":"chainid","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tryAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"tryBlockAndAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IMulticall3.sol\":\"IMulticall3\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x9a8117c426e1265aaf9f523c284c1caf63bd1568e4d6b379d80c9ac214c539b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e35ffef4b3a96f8f0d3f6f4d7256b9c5f890b6e7c861f4f64b7b95eebf137541\",\"dweb:/ipfs/QmPWjRA3PwphJeq4QEHsXqsazfpPRYSjFb5tKx87ZXGsPk\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","aggregate3((address,bool,bytes)[])":"82ad56cb","aggregate3Value((address,bool,uint256,bytes)[])":"174dea71","blockAndAggregate((address,bytes)[])":"c3077fa9","getBasefee()":"3e64a696","getBlockHash(uint256)":"ee82ac5e","getBlockNumber()":"42cbb15c","getChainId()":"3408e470","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e","tryAggregate(bool,(address,bytes)[])":"bce38bd7","tryBlockAndAggregate(bool,(address,bytes)[])":"399542e9"}}}},"src/test/Multicall.t.sol":{"MulticallTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testAggregation","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockCoinbase","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockDifficulty","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockGasLimit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockTimestamp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetLastBlockHash","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testUnsuccessfulAggregation","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"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\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAggregation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"testGetBlockHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockCoinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockDifficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockGasLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockTimestamp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"testGetEthBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetLastBlockHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testUnsuccessfulAggregation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"setUp()\":{\"notice\":\"Setups up the testing suite\"},\"testAggregation()\":{\"notice\":\">>>>>>>>>>>>>>>>>>>> AGGREGATION TESTS <<<<<<<<<<<<<<<<<<<< ///\"},\"testGetEthBalance(address)\":{\"notice\":\">>>>>>>>>>>>>>>>>>>>>> HELPER TESTS <<<<<<<<<<<<<<<<<<<<<<< ///\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/Multicall.t.sol\":\"MulticallTest\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"src/Multicall.sol\":{\"keccak256\":\"0x117ad98f28e53388f21baae456066a3fdcdbaaca09e96a032eadc358b0263e32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acea4417df8bad0f502cf2c21f079a1ba5d222671698a2e10baa636ea7baac25\",\"dweb:/ipfs/QmPSvy6SKWw8GeQiFu3K9s9kvq7NUGCbsifcop3gPjVrz3\"]},\"src/test/Multicall.t.sol\":{\"keccak256\":\"0x65fe69329f006962538ec1e895ab39cdde6d33e5c0e1781648df0d9ffb64eac1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ab73587c42d88342502612145b9ef27768bcc2ec907b488d0fbe1decd68d79\",\"dweb:/ipfs/QmfTTryPX6jbzjgeXFAAr1PsBV7G8X19qQY4yrhcmKRgnr\"]},\"src/test/mocks/MockCallee.sol\":{\"keccak256\":\"0x71cb32f7523d3b0f3304ba44a27e11d20d852fc041f44bd86deac14db74d3900\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94abae22bf2a1504705a8f1ce14cf45ef27caea856dc6e81131594c0e557ee78\",\"dweb:/ipfs/QmNtv3JjtVnHAJjBg8YyMpkHu8TAwfTde5GNsoknifXsXT\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608060405260008054600160ff19918216811790925560048054909116909117905534801561002d57600080fd5b506128088061003d6000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80638ef09210116100cd578063af05609211610081578063ba414fa611610066578063ba414fa614610241578063e20c9f7114610259578063fa7626d41461026157600080fd5b8063af05609214610231578063b5508aa91461023957600080fd5b8063916a17c6116100b2578063916a17c614610219578063943849a914610221578063a28c5e341461022957600080fd5b80638ef09210146101fe5780639027c03f1461021157600080fd5b80634059c0021161012457806366d9a9a01161010957806366d9a9a0146101cc57806377185968146101e157806385226c81146101e957600080fd5b80634059c002146101b157806341e299fe146101b957600080fd5b80632fc1b6ab116101555780632fc1b6ab146101995780633e5e3c23146101a15780633f7286f4146101a957600080fd5b80630a9254e4146101715780631ed7831c1461017b575b600080fd5b61017961026e565b005b61018361034c565b60405161019091906117c1565b60405180910390f35b6101796103bb565b6101836105ef565b61018361065c565b6101796106c9565b6101796101c736600461181b565b610765565b6101d4610807565b6040516101909190611834565b610179610918565b6101f1610989565b60405161019091906119a4565b61017961020c366004611a46565b610a59565b610179610ad1565b6101d4610b6b565b610179610c73565b610179610ce4565b610179610fdd565b6101f1611060565b610249611130565b6040519015158152602001610190565b610183611290565b6000546102499060ff1681565b60405161027a906117a7565b604051809103906000f080158015610296573d6000803e3d6000fd5b50601b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790556040516102e8906117b4565b604051809103906000f080158015610304573d6000803e3d6000fd5b50601c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6060600d8054806020026020016040519081016040528092919081815260200182805480156103b157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610386575b5050505050905090565b604080516001808252818301909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816103d257905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906104bd576104bd611a99565b6020908102919091010152601b546040517f252dba42000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff9091169063252dba4290610523908690600401611ac8565b6000604051808303816000875af1158015610542573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526105889190810190611bbf565b9150915061059682436112fd565b6105ea816000815181106105ac576105ac611a99565b60200260200101518051906020012043406040516020016105cf91815260200190565b6040516020818303038152906040528051906020012061140b565b505050565b6060600f8054806020026020016040519081016040528092919081815260200182805480156103b15760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610386575050505050905090565b6060600e8054806020026020016040519081016040528092919081815260200182805480156103b15760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610386575050505050905090565b61076342601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630f28c97d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075e9190611cfe565b6112fd565b565b601b546040517fee82ac5e000000000000000000000000000000000000000000000000000000008152600481018390526108049183409173ffffffffffffffffffffffffffffffffffffffff9091169063ee82ac5e90602401602060405180830381865afa1580156107db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ff9190611cfe565b61140b565b50565b60606012805480602002602001604051908101604052809291908181526020016000905b8282101561090f57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff1683526001810180548351818702810187019094528084529394919385830193928301828280156108f757602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116108a45790505b5050505050815250508152602001906001019061082b565b50505050905090565b61076344601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166372425d9d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073a573d6000803e3d6000fd5b60606011805480602002602001604051908101604052809291908181526020016000905b8282101561090f5783829060005260206000200180546109cc90611d17565b80601f01602080910402602001604051908101604052809291908181526020018280546109f890611d17565b8015610a455780601f10610a1a57610100808354040283529160200191610a45565b820191906000526020600020905b815481529060010190602001808311610a2857829003601f168201915b5050505050815260200190600101906109ad565b601b546040517f4d2301cc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830181905261080493903192911690634d2301cc90602401602060405180830381865afa15801561073a573d6000803e3d6000fd5b61076341601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8b0574e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b669190611d6b565b611505565b60606013805480602002602001604051908101604052809291908181526020016000905b8282101561090f57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939491938583019392830182828015610c5b57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610c085790505b50505050508152505081526020019060010190610b8f565b61076345601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166386d516e86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073a573d6000803e3d6000fd5b60408051600280825260608201909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081610cfc57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090610de757610de7611a99565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110610e8757610e87611a99565b60209081029190910181019190915260408051918201815260008252517ff28dceb3000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb391610ef09190600401611d88565b600060405180830381600087803b158015610f0a57600080fd5b505af1158015610f1e573d6000803e3d6000fd5b5050601b546040517f252dba4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063252dba429150610f78908490600401611ac8565b6000604051808303816000875af1158015610f97573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526105ea9190810190611bbf565b43610fe457565b610763610ff2600143611d9b565b40601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327e86d6e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107db573d6000803e3d6000fd5b60606010805480602002602001604051908101604052809291908181526020016000905b8282101561090f5783829060005260206000200180546110a390611d17565b80601f01602080910402602001604051908101604052809291908181526020018280546110cf90611d17565b801561111c5780601f106110f15761010080835404028352916020019161111c565b820191906000526020600020905b8154815290600101906020018083116110ff57829003601f168201915b505050505081526020019060010190611084565b60008054610100900460ff16156111505750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561128b5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c65640000000000000000000000000000000000000000000000000000828401528251808303840181526060830190935260009290916111f5917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001611dd9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261122d91611e21565b6000604051808303816000865af19150503d806000811461126a576040519150601f19603f3d011682016040523d82523d6000602084013e61126f565b606091505b50915050808060200190518101906112879190611e3d565b9150505b919050565b6060600c8054806020026020016040519081016040528092919081815260200182805480156103b15760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610386575050505050905090565b808214611407577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516113899060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8826040516113c09190611e5f565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8816040516113f79190611eaa565b60405180910390a161140761162b565b5050565b808214611407577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516114979060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99826040516114ce9190611e5f565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99816040516113f79190611eaa565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611407577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516115bd9060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b61646460408201527f726573735d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f826040516115f49190611ee7565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f816040516113f79190611f48565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156117795760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc490608001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526116fa9291602001611dd9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261173291611e21565b6000604051808303816000865af19150503d806000811461176f576040519150601f19603f3d011682016040523d82523d6000602084013e611774565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b61063d80611f8683390190565b610210806125c383390190565b6020808252825182820181905260009190848201906040850190845b8181101561180f57835173ffffffffffffffffffffffffffffffffffffffff16835292840192918401916001016117dd565b50909695505050505050565b60006020828403121561182d57600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561191b578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b808310156119065783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906118c4565b50978a0197955050509187019160010161185c565b50919998505050505050505050565b60005b8381101561194557818101518382015260200161192d565b83811115611954576000848401525b50505050565b6000815180845261197281602086016020860161192a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611a17577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611a0585835161195a565b945092850192908501906001016119cb565b5092979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461080457600080fd5b600060208284031215611a5857600080fd5b8135611a6381611a24565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015611b62578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff168452870151878401879052611b4f8785018261195a565b9588019593505090860190600101611aef565b509098975050505050505050565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611bb757611bb7611a6a565b604052919050565b6000806040808486031215611bd357600080fd5b8351925060208085015167ffffffffffffffff80821115611bf357600080fd5b8187019150601f8881840112611c0857600080fd5b825182811115611c1a57611c1a611a6a565b8060051b611c29868201611b70565b918252848101860191868101908c841115611c4357600080fd5b87870192505b83831015611ceb57825186811115611c615760008081fd5b8701603f81018e13611c735760008081fd5b8881015187811115611c8757611c87611a6a565b611cb68a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08984011601611b70565b8181528f8c838501011115611ccb5760008081fd5b611cda828c83018e860161192a565b845250509187019190870190611c49565b8099505050505050505050509250929050565b600060208284031215611d1057600080fd5b5051919050565b600181811c90821680611d2b57607f821691505b60208210811415611d65577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215611d7d57600080fd5b8151611a6381611a24565b602081526000611a63602083018461195a565b600082821015611dd4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251611e1381600485016020870161192a565b919091016004019392505050565b60008251611e3381846020870161192a565b9190910192915050565b600060208284031215611e4f57600080fd5b81518015158114611a6357600080fd5b604081526000611e9c60408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b604081526000611e9c60408301600a81527f2020202020526967687400000000000000000000000000000000000000000000602082015260400190565b604081526000611f2460408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905073ffffffffffffffffffffffffffffffffffffffff8316602083015292915050565b604081526000611f2460408301600a81527f202020202052696768740000000000000000000000000000000000000000000060208201526040019056fe608060405234801561001057600080fd5b5061061d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806372425d9d1161005b57806372425d9d146100f357806386d516e8146100f9578063a8b0574e146100ff578063ee82ac5e1461010d57600080fd5b80630f28c97d1461008d578063252dba42146100a257806327e86d6e146100c35780634d2301cc146100cb575b600080fd5b425b6040519081526020015b60405180910390f35b6100b56100b03660046102a6565b61011f565b60405161009992919061031b565b61008f610293565b61008f6100d93660046103fa565b73ffffffffffffffffffffffffffffffffffffffff163190565b4461008f565b4561008f565b604051418152602001610099565b61008f61011b366004610437565b4090565b4360608267ffffffffffffffff81111561013b5761013b610450565b60405190808252806020026020018201604052801561016e57816020015b60608152602001906001900390816101595790505b50905060005b8381101561028b576000808686848181106101915761019161047f565b90506020028101906101a391906104ae565b6101b19060208101906103fa565b73ffffffffffffffffffffffffffffffffffffffff168787858181106101d9576101d961047f565b90506020028101906101eb91906104ae565b6101f99060208101906104ec565b604051610207929190610558565b6000604051808303816000865af19150503d8060008114610244576040519150601f19603f3d011682016040523d82523d6000602084013e610249565b606091505b50915091508161025857600080fd5b8084848151811061026b5761026b61047f565b60200260200101819052505050808061028390610597565b915050610174565b509250929050565b60006102a06001436105d0565b40905090565b600080602083850312156102b957600080fd5b823567ffffffffffffffff808211156102d157600080fd5b818501915085601f8301126102e557600080fd5b8135818111156102f457600080fd5b8660208260051b850101111561030957600080fd5b60209290920196919550909350505050565b600060408201848352602060408185015281855180845260608601915060608160051b87010193508287016000805b838110156103eb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa089880301855282518051808952835b8181101561039d578281018901518a82018a01528801610382565b818111156103ad578489838c0101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169790970186019650938501939185019160010161034a565b50949998505050505050505050565b60006020828403121561040c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043057600080fd5b9392505050565b60006020828403121561044957600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18336030181126104e257600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261052157600080fd5b83018035915067ffffffffffffffff82111561053c57600080fd5b60200191503681900382131561055157600080fd5b9250929050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156105c9576105c9610568565b5060010190565b6000828210156105e2576105e2610568565b50039056fea2646970667358221220da399b6e256d79127a8ea91c123c0847d97289d882064a4e78f6ce4a2a9a4fff64736f6c634300080c0033608060405234801561001057600080fd5b506101f0806100206000396000f3fe6080604052600436106100345760003560e01c8063032d00741461003957806336c40ea614610050578063ee82ac5e14610063575b600080fd5b34801561004557600080fd5b5061004e610094565b005b61004e61005e366004610164565b6100c6565b34801561006f57600080fd5b5061008261007e3660046101a1565b4090565b60405190815260200160405180910390f35b6040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff163460405160006040518083038185875af1925050503d8060008114610120576040519150601f19603f3d011682016040523d82523d6000602084013e610125565b606091505b5050905080610160576040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006020828403121561017657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019a57600080fd5b9392505050565b6000602082840312156101b357600080fd5b503591905056fea26469706673582212201346a6ce8930e965d60a2c42ebca53035036f2623f64330bfd093e3ddbe06dc164736f6c634300080c0033a2646970667358221220298e45c18bea68c000009d990c95cc76b52f02f07961e494a1d9f8bf68a873fe64736f6c634300080c0033","sourceMap":"194:2234:23:-:0;;;1572:26:0;;;1594:4;-1:-1:-1;;1572:26:0;;;;;;;;3288:44:3;;;;;;;;;;;194:2234:23;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561001057600080fd5b506004361061016c5760003560e01c80638ef09210116100cd578063af05609211610081578063ba414fa611610066578063ba414fa614610241578063e20c9f7114610259578063fa7626d41461026157600080fd5b8063af05609214610231578063b5508aa91461023957600080fd5b8063916a17c6116100b2578063916a17c614610219578063943849a914610221578063a28c5e341461022957600080fd5b80638ef09210146101fe5780639027c03f1461021157600080fd5b80634059c0021161012457806366d9a9a01161010957806366d9a9a0146101cc57806377185968146101e157806385226c81146101e957600080fd5b80634059c002146101b157806341e299fe146101b957600080fd5b80632fc1b6ab116101555780632fc1b6ab146101995780633e5e3c23146101a15780633f7286f4146101a957600080fd5b80630a9254e4146101715780631ed7831c1461017b575b600080fd5b61017961026e565b005b61018361034c565b60405161019091906117c1565b60405180910390f35b6101796103bb565b6101836105ef565b61018361065c565b6101796106c9565b6101796101c736600461181b565b610765565b6101d4610807565b6040516101909190611834565b610179610918565b6101f1610989565b60405161019091906119a4565b61017961020c366004611a46565b610a59565b610179610ad1565b6101d4610b6b565b610179610c73565b610179610ce4565b610179610fdd565b6101f1611060565b610249611130565b6040519015158152602001610190565b610183611290565b6000546102499060ff1681565b60405161027a906117a7565b604051809103906000f080158015610296573d6000803e3d6000fd5b50601b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790556040516102e8906117b4565b604051809103906000f080158015610304573d6000803e3d6000fd5b50601c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6060600d8054806020026020016040519081016040528092919081815260200182805480156103b157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610386575b5050505050905090565b604080516001808252818301909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816103d257905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906104bd576104bd611a99565b6020908102919091010152601b546040517f252dba42000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff9091169063252dba4290610523908690600401611ac8565b6000604051808303816000875af1158015610542573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526105889190810190611bbf565b9150915061059682436112fd565b6105ea816000815181106105ac576105ac611a99565b60200260200101518051906020012043406040516020016105cf91815260200190565b6040516020818303038152906040528051906020012061140b565b505050565b6060600f8054806020026020016040519081016040528092919081815260200182805480156103b15760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610386575050505050905090565b6060600e8054806020026020016040519081016040528092919081815260200182805480156103b15760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610386575050505050905090565b61076342601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630f28c97d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075e9190611cfe565b6112fd565b565b601b546040517fee82ac5e000000000000000000000000000000000000000000000000000000008152600481018390526108049183409173ffffffffffffffffffffffffffffffffffffffff9091169063ee82ac5e90602401602060405180830381865afa1580156107db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ff9190611cfe565b61140b565b50565b60606012805480602002602001604051908101604052809291908181526020016000905b8282101561090f57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff1683526001810180548351818702810187019094528084529394919385830193928301828280156108f757602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116108a45790505b5050505050815250508152602001906001019061082b565b50505050905090565b61076344601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166372425d9d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073a573d6000803e3d6000fd5b60606011805480602002602001604051908101604052809291908181526020016000905b8282101561090f5783829060005260206000200180546109cc90611d17565b80601f01602080910402602001604051908101604052809291908181526020018280546109f890611d17565b8015610a455780601f10610a1a57610100808354040283529160200191610a45565b820191906000526020600020905b815481529060010190602001808311610a2857829003601f168201915b5050505050815260200190600101906109ad565b601b546040517f4d2301cc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830181905261080493903192911690634d2301cc90602401602060405180830381865afa15801561073a573d6000803e3d6000fd5b61076341601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8b0574e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b669190611d6b565b611505565b60606013805480602002602001604051908101604052809291908181526020016000905b8282101561090f57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939491938583019392830182828015610c5b57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610c085790505b50505050508152505081526020019060010190610b8f565b61076345601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166386d516e86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073a573d6000803e3d6000fd5b60408051600280825260608201909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081610cfc57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090610de757610de7611a99565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110610e8757610e87611a99565b60209081029190910181019190915260408051918201815260008252517ff28dceb3000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb391610ef09190600401611d88565b600060405180830381600087803b158015610f0a57600080fd5b505af1158015610f1e573d6000803e3d6000fd5b5050601b546040517f252dba4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063252dba429150610f78908490600401611ac8565b6000604051808303816000875af1158015610f97573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526105ea9190810190611bbf565b43610fe457565b610763610ff2600143611d9b565b40601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327e86d6e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107db573d6000803e3d6000fd5b60606010805480602002602001604051908101604052809291908181526020016000905b8282101561090f5783829060005260206000200180546110a390611d17565b80601f01602080910402602001604051908101604052809291908181526020018280546110cf90611d17565b801561111c5780601f106110f15761010080835404028352916020019161111c565b820191906000526020600020905b8154815290600101906020018083116110ff57829003601f168201915b505050505081526020019060010190611084565b60008054610100900460ff16156111505750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561128b5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c65640000000000000000000000000000000000000000000000000000828401528251808303840181526060830190935260009290916111f5917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001611dd9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261122d91611e21565b6000604051808303816000865af19150503d806000811461126a576040519150601f19603f3d011682016040523d82523d6000602084013e61126f565b606091505b50915050808060200190518101906112879190611e3d565b9150505b919050565b6060600c8054806020026020016040519081016040528092919081815260200182805480156103b15760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610386575050505050905090565b808214611407577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516113899060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8826040516113c09190611e5f565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8816040516113f79190611eaa565b60405180910390a161140761162b565b5050565b808214611407577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516114979060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99826040516114ce9190611e5f565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99816040516113f79190611eaa565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611407577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516115bd9060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b61646460408201527f726573735d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f826040516115f49190611ee7565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f816040516113f79190611f48565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156117795760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc490608001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526116fa9291602001611dd9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261173291611e21565b6000604051808303816000865af19150503d806000811461176f576040519150601f19603f3d011682016040523d82523d6000602084013e611774565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b61063d80611f8683390190565b610210806125c383390190565b6020808252825182820181905260009190848201906040850190845b8181101561180f57835173ffffffffffffffffffffffffffffffffffffffff16835292840192918401916001016117dd565b50909695505050505050565b60006020828403121561182d57600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561191b578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b808310156119065783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906118c4565b50978a0197955050509187019160010161185c565b50919998505050505050505050565b60005b8381101561194557818101518382015260200161192d565b83811115611954576000848401525b50505050565b6000815180845261197281602086016020860161192a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611a17577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611a0585835161195a565b945092850192908501906001016119cb565b5092979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461080457600080fd5b600060208284031215611a5857600080fd5b8135611a6381611a24565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015611b62578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff168452870151878401879052611b4f8785018261195a565b9588019593505090860190600101611aef565b509098975050505050505050565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611bb757611bb7611a6a565b604052919050565b6000806040808486031215611bd357600080fd5b8351925060208085015167ffffffffffffffff80821115611bf357600080fd5b8187019150601f8881840112611c0857600080fd5b825182811115611c1a57611c1a611a6a565b8060051b611c29868201611b70565b918252848101860191868101908c841115611c4357600080fd5b87870192505b83831015611ceb57825186811115611c615760008081fd5b8701603f81018e13611c735760008081fd5b8881015187811115611c8757611c87611a6a565b611cb68a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08984011601611b70565b8181528f8c838501011115611ccb5760008081fd5b611cda828c83018e860161192a565b845250509187019190870190611c49565b8099505050505050505050509250929050565b600060208284031215611d1057600080fd5b5051919050565b600181811c90821680611d2b57607f821691505b60208210811415611d65577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215611d7d57600080fd5b8151611a6381611a24565b602081526000611a63602083018461195a565b600082821015611dd4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251611e1381600485016020870161192a565b919091016004019392505050565b60008251611e3381846020870161192a565b9190910192915050565b600060208284031215611e4f57600080fd5b81518015158114611a6357600080fd5b604081526000611e9c60408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b604081526000611e9c60408301600a81527f2020202020526967687400000000000000000000000000000000000000000000602082015260400190565b604081526000611f2460408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905073ffffffffffffffffffffffffffffffffffffffff8316602083015292915050565b604081526000611f2460408301600a81527f202020202052696768740000000000000000000000000000000000000000000060208201526040019056fe608060405234801561001057600080fd5b5061061d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806372425d9d1161005b57806372425d9d146100f357806386d516e8146100f9578063a8b0574e146100ff578063ee82ac5e1461010d57600080fd5b80630f28c97d1461008d578063252dba42146100a257806327e86d6e146100c35780634d2301cc146100cb575b600080fd5b425b6040519081526020015b60405180910390f35b6100b56100b03660046102a6565b61011f565b60405161009992919061031b565b61008f610293565b61008f6100d93660046103fa565b73ffffffffffffffffffffffffffffffffffffffff163190565b4461008f565b4561008f565b604051418152602001610099565b61008f61011b366004610437565b4090565b4360608267ffffffffffffffff81111561013b5761013b610450565b60405190808252806020026020018201604052801561016e57816020015b60608152602001906001900390816101595790505b50905060005b8381101561028b576000808686848181106101915761019161047f565b90506020028101906101a391906104ae565b6101b19060208101906103fa565b73ffffffffffffffffffffffffffffffffffffffff168787858181106101d9576101d961047f565b90506020028101906101eb91906104ae565b6101f99060208101906104ec565b604051610207929190610558565b6000604051808303816000865af19150503d8060008114610244576040519150601f19603f3d011682016040523d82523d6000602084013e610249565b606091505b50915091508161025857600080fd5b8084848151811061026b5761026b61047f565b60200260200101819052505050808061028390610597565b915050610174565b509250929050565b60006102a06001436105d0565b40905090565b600080602083850312156102b957600080fd5b823567ffffffffffffffff808211156102d157600080fd5b818501915085601f8301126102e557600080fd5b8135818111156102f457600080fd5b8660208260051b850101111561030957600080fd5b60209290920196919550909350505050565b600060408201848352602060408185015281855180845260608601915060608160051b87010193508287016000805b838110156103eb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa089880301855282518051808952835b8181101561039d578281018901518a82018a01528801610382565b818111156103ad578489838c0101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169790970186019650938501939185019160010161034a565b50949998505050505050505050565b60006020828403121561040c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043057600080fd5b9392505050565b60006020828403121561044957600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18336030181126104e257600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261052157600080fd5b83018035915067ffffffffffffffff82111561053c57600080fd5b60200191503681900382131561055157600080fd5b9250929050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156105c9576105c9610568565b5060010190565b6000828210156105e2576105e2610568565b50039056fea2646970667358221220da399b6e256d79127a8ea91c123c0847d97289d882064a4e78f6ce4a2a9a4fff64736f6c634300080c0033608060405234801561001057600080fd5b506101f0806100206000396000f3fe6080604052600436106100345760003560e01c8063032d00741461003957806336c40ea614610050578063ee82ac5e14610063575b600080fd5b34801561004557600080fd5b5061004e610094565b005b61004e61005e366004610164565b6100c6565b34801561006f57600080fd5b5061008261007e3660046101a1565b4090565b60405190815260200160405180910390f35b6040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff163460405160006040518083038185875af1925050503d8060008114610120576040519150601f19603f3d011682016040523d82523d6000602084013e610125565b606091505b5050905080610160576040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006020828403121561017657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019a57600080fd5b9392505050565b6000602082840312156101b357600080fd5b503591905056fea26469706673582212201346a6ce8930e965d60a2c42ebca53035036f2623f64330bfd093e3ddbe06dc164736f6c634300080c0033a2646970667358221220298e45c18bea68c000009d990c95cc76b52f02f07961e494a1d9f8bf68a873fe64736f6c634300080c0033","sourceMap":"194:2234:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;316:93;;;:::i;:::-;;2161:134:6;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;486:458:23;;;:::i;2930:133:6:-;;;:::i;2631:141::-;;;:::i;1933:121:23:-;;;:::i;1582:134::-;;;;;;:::i;:::-;;:::i;2447:178:6:-;;;:::i;:::-;;;;;;;:::i;2058:124:23:-;;;:::i;2301:140:6:-;;;:::i;:::-;;;;;;;:::i;1466:112:23:-;;;;;;:::i;:::-;;:::i;2308:118::-;;;:::i;2778:146:6:-;;;:::i;2186:118:23:-;;;:::i;948:441::-;;;:::i;1720:209::-;;;:::i;1866:141:6:-;;;:::i;1819:584:0:-;;;:::i;:::-;;;4613:14:28;;4606:22;4588:41;;4576:2;4561:18;1819:584:0;4448:187:28;2013:142:6;;;:::i;1572:26:0:-;;;;;;;;;316:93:23;358:15;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;346:9:23;:27;;;;;;;;;;;;;;;388:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;379:6:23;:25;;;;;;;;;;;;;;;316:93::o;2161:134:6:-;2208:33;2272:16;2253:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2161:134;:::o;486:458:23:-;586:23;;;607:1;586:23;;;;;;;;;554:29;;586:23;;;;-1:-1:-1;;;;;;;;;;;;;;;;;586:23:23;;;;;;;;;;;;;;-1:-1:-1;626:95:23;;;;;;;;649:6;;;;626:95;;658:62;;707:12;658:62;;;4975:25:28;554:55:23;;-1:-1:-1;626:95:23;;;;;4948:18:28;;658:62:23;;;;;;;;;;;;;;;;;;;;;;;;626:95;;615:8;;:5;;-1:-1:-1;;615:8:23;;;;:::i;:::-;;;;;;;;;;:106;778:9;;:26;;;;;728:19;;;;778:9;;;;;:19;;:26;;798:5;;778:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;727:77;;;;810:35;819:11;832:12;810:8;:35::i;:::-;851:88;870:10;881:1;870:13;;;;;;;;:::i;:::-;;;;;;;860:24;;;;;;923:12;913:23;896:41;;;;;;8666:19:28;;8710:2;8701:12;;8537:182;896:41:23;;;;;;;;;;;;;886:52;;;;;;851:8;:88::i;:::-;520:424;;;486:458::o;2930:133:6:-;2976:33;3040:16;3021:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2930:133;:::o;2631:141::-;2679:35;2747:18;2726:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2631:141;:::o;1933:121:23:-;1986:63;1995:15;2012:9;;;;;;;;;;;:34;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1986:8;:63::i;:::-;1933:121::o;1582:134::-;1675:9;;:35;;;;;;;;4975:25:28;;;1642:69:23;;1651:22;;;1675:9;;;;;:22;;4948:18:28;;1675:35:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1642:8;:69::i;:::-;1582:134;:::o;2447:178:6:-;2503:48;2592:26;2563:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2447:178;:::o;2058:124:23:-;2112:65;2121:16;2139:9;;;;;;;;;;;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2301:140:6;2349:34;2416:18;2395:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1466:112:23;1543:9;;:29;;;;;1529:12;;;;1543:29;;;9690:74:28;;;1520:53:23;;1529:12;;;1543:9;;;:23;;9663:18:28;;1543:29:23;;;;;;;;;;;;;;;;;;;;;;2308:118;2360:61;2369:14;2385:9;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2360:8;:61::i;2778:146:6:-;2826:40;2899:18;2878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2186:118:23;2238:61;2247:14;2263:9;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;948:441;1062:23;;;1083:1;1062:23;;;;;;;;;1030:29;;1062:23;;;;-1:-1:-1;;;;;;;;;;;;;;;;;1062:23:23;;;;;;;;;;;;;;-1:-1:-1;1102:117:23;;;;;;;;1134:6;;;;1102:117;;1151:62;;1200:12;1151:62;;;4975:25:28;1030:55:23;;-1:-1:-1;1102:117:23;;;;;4948:18:28;;1151:62:23;;;;;;;;;;;;;;;;;;;;;;;;1102:117;;1091:8;;:5;;-1:-1:-1;;1091:8:23;;;;:::i;:::-;;;;;;;;;;;:128;;;;1236:84;;;;;;;;1259:6;;;;1236:84;;1268:46;;;;;;;;;;;;;;;;;;;;;;1236:84;;;;1225:8;;:5;;1259:6;;1225:8;;;;;;:::i;:::-;;;;;;;;;;;:95;;;;1342:9;;;;;;;;309:37:1;1342:9:23;;1326:26;;;;:15;;;;:26;;1342:9;1326:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1358:9:23;;:26;;;;;:9;;;;;-1:-1:-1;1358:19:23;;-1:-1:-1;1358:26:23;;1378:5;;1358:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1720:209::-;1826:12;1822:30;;1720:209::o;1822:30::-;1857:67;1876:16;1891:1;1876:12;:16;:::i;:::-;1866:27;1895:9;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1866:141:6;1915:34;1982:18;1961:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:0;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:0;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;10712:74:28;;;2221:17:0;10802:18:28;;;10795:34;2196:43:0;;;;;;;;;10685:18:28;;;2196:43:0;;;-1:-1:-1;;1671:64:0;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;;;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:0:o;2013:142:6:-;2062:35;2130:18;2109:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2013:142;:::o;5209:262:0:-;5271:1;5266;:6;5262:203;;5293:41;;;;;12025:2:28;12007:21;;;12064:2;12044:18;;;12037:30;12103:34;12098:2;12083:18;;12076:62;12174:4;12169:2;12154:18;;12147:32;12211:3;12196:19;;11823:398;5293:41:0;;;;;;;;5353:31;5382:1;5353:31;;;;;;:::i;:::-;;;;;;;;5403;5432:1;5403:31;;;;;;:::i;:::-;;;;;;;;5448:6;:4;:6::i;:::-;5209:262;;:::o;4095:277::-;4163:1;4158;:6;4154:212;;4185:44;;;;;13462:2:28;13444:21;;;13501:2;13481:18;;;13474:30;13540:34;13535:2;13520:18;;13513:62;13611:7;13606:2;13591:18;;13584:35;13651:3;13636:19;;13260:401;4185:44:0;;;;;;;;4248:34;4280:1;4248:34;;;;;;:::i;:::-;;;;;;;;4301;4333:1;4301:34;;;;;;:::i;3622:277::-;3690:1;3685:6;;:1;:6;;;3681:212;;3712:44;;;;;14574:2:28;14556:21;;;14613:2;14593:18;;;14586:30;14652:34;14647:2;14632:18;;14625:62;14723:7;14718:2;14703:18;;14696:35;14763:3;14748:19;;14372:401;3712:44:0;;;;;;;;3775:34;3807:1;3775:34;;;;;;:::i;:::-;;;;;;;;3828;3860:1;3828:34;;;;;;:::i;2409:432::-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;15784:74:28;;;2677:17:0;15874:18:28;;;15867:34;;;;2712:4:0;15917:18:28;;;15910:34;2489:11:0;;1671:64;2586:43;;15757:18:28;;2652:67:0;;;;;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;;;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:0;2820:7;:14;;;;;;;;2409:432::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:681:28:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:218;465:6;462:1;459:13;451:218;;;530:13;;545:42;526:62;514:75;;644:15;;;;609:12;;;;487:1;480:9;451:218;;;-1:-1:-1;686:3:28;;14:681;-1:-1:-1;;;;;;14:681:28:o;700:180::-;759:6;812:2;800:9;791:7;787:23;783:32;780:52;;;828:1;825;818:12;780:52;-1:-1:-1;851:23:28;;700:180;-1:-1:-1;700:180:28:o;885:1695::-;1087:4;1116:2;1156;1145:9;1141:18;1186:2;1175:9;1168:21;1209:6;1244;1238:13;1275:6;1267;1260:22;1301:2;1291:12;;1334:2;1323:9;1319:18;1312:25;;1396:2;1386:6;1383:1;1379:14;1368:9;1364:30;1360:39;1434:2;1426:6;1422:15;1455:1;1476;1486:1065;1502:6;1497:3;1494:15;1486:1065;;;1571:22;;;1595:66;1567:95;1555:108;;1686:13;;1773:9;;1784:42;1769:58;1754:74;;1867:11;;1861:18;1899:15;;;1892:27;;;1980:19;;1726:15;;;2012:24;;;2102:21;;;;2147:1;;2070:2;2058:15;;;2161:282;2177:8;2172:3;2169:17;2161:282;;;2258:15;;2275:66;2254:88;2240:103;;2412:17;;;;2205:1;2196:11;;;;;2369:14;;;;2161:282;;;-1:-1:-1;2529:12:28;;;;2466:5;-1:-1:-1;;;2494:15:28;;;;1528:1;1519:11;1486:1065;;;-1:-1:-1;2568:6:28;;885:1695;-1:-1:-1;;;;;;;;;885:1695:28:o;2585:258::-;2657:1;2667:113;2681:6;2678:1;2675:13;2667:113;;;2757:11;;;2751:18;2738:11;;;2731:39;2703:2;2696:10;2667:113;;;2798:6;2795:1;2792:13;2789:48;;;2833:1;2824:6;2819:3;2815:16;2808:27;2789:48;;2585:258;;;:::o;2848:317::-;2890:3;2928:5;2922:12;2955:6;2950:3;2943:19;2971:63;3027:6;3020:4;3015:3;3011:14;3004:4;2997:5;2993:16;2971:63;:::i;:::-;3079:2;3067:15;3084:66;3063:88;3054:98;;;;3154:4;3050:109;;2848:317;-1:-1:-1;;2848:317:28:o;3170:862::-;3332:4;3361:2;3401;3390:9;3386:18;3431:2;3420:9;3413:21;3454:6;3489;3483:13;3520:6;3512;3505:22;3558:2;3547:9;3543:18;3536:25;;3620:2;3610:6;3607:1;3603:14;3592:9;3588:30;3584:39;3570:53;;3658:2;3650:6;3646:15;3679:1;3689:314;3703:6;3700:1;3697:13;3689:314;;;3792:66;3780:9;3772:6;3768:22;3764:95;3759:3;3752:108;3883:40;3916:6;3907;3901:13;3883:40;:::i;:::-;3873:50;-1:-1:-1;3981:12:28;;;;3946:15;;;;3725:1;3718:9;3689:314;;;-1:-1:-1;4020:6:28;;3170:862;-1:-1:-1;;;;;;;3170:862:28:o;4037:154::-;4123:42;4116:5;4112:54;4105:5;4102:65;4092:93;;4181:1;4178;4171:12;4196:247;4255:6;4308:2;4296:9;4287:7;4283:23;4279:32;4276:52;;;4324:1;4321;4314:12;4276:52;4363:9;4350:23;4382:31;4407:5;4382:31;:::i;:::-;4432:5;4196:247;-1:-1:-1;;;4196:247:28:o;4640:184::-;4692:77;4689:1;4682:88;4789:4;4786:1;4779:15;4813:4;4810:1;4803:15;5011:184;5063:77;5060:1;5053:88;5160:4;5157:1;5150:15;5184:4;5181:1;5174:15;5200:1131;5388:4;5417:2;5457;5446:9;5442:18;5487:2;5476:9;5469:21;5510:6;5545;5539:13;5576:6;5568;5561:22;5602:2;5592:12;;5635:2;5624:9;5620:18;5613:25;;5697:2;5687:6;5684:1;5680:14;5669:9;5665:30;5661:39;5735:2;5727:6;5723:15;5756:1;5766:536;5780:6;5777:1;5774:13;5766:536;;;5845:22;;;5869:66;5841:95;5829:108;;5960:13;;6005:9;;6016:42;6001:58;5986:74;;6099:11;;6093:18;6131:15;;;6124:27;;;6174:48;6206:15;;;6093:18;6174:48;:::i;:::-;6280:12;;;;6164:58;-1:-1:-1;;6245:15:28;;;;5802:1;5795:9;5766:536;;;-1:-1:-1;6319:6:28;;5200:1131;-1:-1:-1;;;;;;;;5200:1131:28:o;6336:334::-;6407:2;6401:9;6463:2;6453:13;;6468:66;6449:86;6437:99;;6566:18;6551:34;;6587:22;;;6548:62;6545:88;;;6613:18;;:::i;:::-;6649:2;6642:22;6336:334;;-1:-1:-1;6336:334:28:o;6675:1857::-;6788:6;6796;6827:2;6870;6858:9;6849:7;6845:23;6841:32;6838:52;;;6886:1;6883;6876:12;6838:52;6915:9;6909:16;6899:26;;6944:2;6990;6979:9;6975:18;6969:25;7013:18;7054:2;7046:6;7043:14;7040:34;;;7070:1;7067;7060:12;7040:34;7108:6;7097:9;7093:22;7083:32;;7134:4;7174:7;7169:2;7165;7161:11;7157:25;7147:53;;7196:1;7193;7186:12;7147:53;7225:2;7219:9;7247:2;7243;7240:10;7237:36;;;7253:18;;:::i;:::-;7299:2;7296:1;7292:10;7322:28;7346:2;7342;7338:11;7322:28;:::i;:::-;7384:15;;;7454:11;;;7450:20;;;7415:12;;;;7482:19;;;7479:39;;;7514:1;7511;7504:12;7479:39;7546:2;7542;7538:11;7527:22;;7558:944;7574:6;7569:3;7566:15;7558:944;;;7653:3;7647:10;7689:2;7676:11;7673:19;7670:109;;;7733:1;7762:2;7758;7751:14;7670:109;7802:20;;7857:2;7849:11;;7845:25;-1:-1:-1;7835:126:28;;7913:1;7943:3;7938;7931:16;7835:126;7999:2;7995;7991:11;7985:18;8027:2;8022:3;8019:11;8016:37;;;8033:18;;:::i;:::-;8079:111;8186:2;8117:66;8112:2;8107:3;8103:12;8099:85;8095:94;8079:111;:::i;:::-;8217:3;8210:5;8203:18;8263:7;8258:2;8252:3;8248:2;8244:12;8240:21;8237:34;8234:127;;;8313:1;8343:3;8338;8331:16;8234:127;8374:55;8425:3;8420:2;8413:5;8409:14;8404:2;8400;8396:11;8374:55;:::i;:::-;8442:18;;-1:-1:-1;;7591:12:28;;;;8480;;;;7558:944;;;8521:5;8511:15;;;;;;;;;;;6675:1857;;;;;:::o;8724:184::-;8794:6;8847:2;8835:9;8826:7;8822:23;8818:32;8815:52;;;8863:1;8860;8853:12;8815:52;-1:-1:-1;8886:16:28;;8724:184;-1:-1:-1;8724:184:28:o;9102:437::-;9181:1;9177:12;;;;9224;;;9245:61;;9299:4;9291:6;9287:17;9277:27;;9245:61;9352:2;9344:6;9341:14;9321:18;9318:38;9315:218;;;9389:77;9386:1;9379:88;9490:4;9487:1;9480:15;9518:4;9515:1;9508:15;9315:218;;9102:437;;;:::o;9775:251::-;9845:6;9898:2;9886:9;9877:7;9873:23;9869:32;9866:52;;;9914:1;9911;9904:12;9866:52;9946:9;9940:16;9965:31;9990:5;9965:31;:::i;10031:218::-;10178:2;10167:9;10160:21;10141:4;10198:45;10239:2;10228:9;10224:18;10216:6;10198:45;:::i;10254:279::-;10294:4;10322:1;10319;10316:8;10313:188;;;10357:77;10354:1;10347:88;10458:4;10455:1;10448:15;10486:4;10483:1;10476:15;10313:188;-1:-1:-1;10518:9:28;;10254:279::o;10840:417::-;11037:66;11029:6;11025:79;11020:3;11013:92;10995:3;11134:6;11128:13;11150:61;11204:6;11200:1;11195:3;11191:11;11184:4;11176:6;11172:17;11150:61;:::i;:::-;11231:16;;;;11249:1;11227:24;;10840:417;-1:-1:-1;;;10840:417:28:o;11262:274::-;11391:3;11429:6;11423:13;11445:53;11491:6;11486:3;11479:4;11471:6;11467:17;11445:53;:::i;:::-;11514:16;;;;;11262:274;-1:-1:-1;;11262:274:28:o;11541:277::-;11608:6;11661:2;11649:9;11640:7;11636:23;11632:32;11629:52;;;11677:1;11674;11667:12;11629:52;11709:9;11703:16;11762:5;11755:13;11748:21;11741:5;11738:32;11728:60;;11784:1;11781;11774:12;12390:348;12620:2;12609:9;12602:21;12583:4;12640:49;12685:2;12674:9;12670:18;12303:2;12291:15;;12338:12;12331:4;12322:14;;12315:36;12376:2;12367:12;;12226:159;12640:49;12632:57;;12725:6;12720:2;12709:9;12705:18;12698:34;12390:348;;;;:::o;12907:::-;13137:2;13126:9;13119:21;13100:4;13157:49;13202:2;13191:9;13187:18;12820:2;12808:15;;12855:12;12848:4;12839:14;;12832:36;12893:2;12884:12;;12743:159;14778:397;15008:2;14997:9;14990:21;14971:4;15028:49;15073:2;15062:9;15058:18;12303:2;12291:15;;12338:12;12331:4;12322:14;;12315:36;12376:2;12367:12;;12226:159;15028:49;15020:57;;15125:42;15117:6;15113:55;15108:2;15097:9;15093:18;15086:83;14778:397;;;;:::o;15180:::-;15410:2;15399:9;15392:21;15373:4;15430:49;15475:2;15464:9;15460:18;12820:2;12808:15;;12855:12;12848:4;12839:14;;12832:36;12893:2;12884:12;;12743:159","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testAggregation()":"2fc1b6ab","testGetBlockHash(uint256)":"41e299fe","testGetCurrentBlockCoinbase()":"9027c03f","testGetCurrentBlockDifficulty()":"77185968","testGetCurrentBlockGasLimit()":"943849a9","testGetCurrentBlockTimestamp()":"4059c002","testGetEthBalance(address)":"8ef09210","testGetLastBlockHash()":"af056092","testUnsuccessfulAggregation()":"a28c5e34"}}}},"src/test/Multicall2.t.sol":{"Multicall2Test":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testAggregation","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testBlockAndAggregateUnsuccessful","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetBlockNumber","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockCoinbase","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockDifficulty","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockGasLimit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockTimestamp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetLastBlockHash","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testTryAggregate","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testTryAggregateUnsuccessful","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testTryBlockAndAggregate","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testTryBlockAndAggregateUnsuccessful","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testUnsuccessfulAggregation","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"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\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAggregation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBlockAndAggregateUnsuccessful\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"testGetBlockHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetBlockNumber\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockCoinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockDifficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockGasLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockTimestamp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"testGetEthBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetLastBlockHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTryAggregate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTryAggregateUnsuccessful\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTryBlockAndAggregate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTryBlockAndAggregateUnsuccessful\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testUnsuccessfulAggregation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"setUp()\":{\"notice\":\"Setups up the testing suite\"},\"testAggregation()\":{\"notice\":\">>>>>>>>>>>>>>>>>>>>> AGGREGATE TESTS <<<<<<<<<<<<<<<<<<<<< ///\"},\"testGetBlockHash(uint256)\":{\"notice\":\">>>>>>>>>>>>>>>>>>>>>> HELPER TESTS <<<<<<<<<<<<<<<<<<<<<<< ///\"},\"testTryAggregate()\":{\"notice\":\">>>>>>>>>>>>>>>>>>> TRY AGGREGATE TESTS <<<<<<<<<<<<<<<<<<< ///\"},\"testTryBlockAndAggregate()\":{\"notice\":\">>>>>>>>>>>>>> TRY BLOCK AND AGGREGATE TESTS <<<<<<<<<<<<<< ///\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/Multicall2.t.sol\":\"Multicall2Test\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"src/Multicall2.sol\":{\"keccak256\":\"0xf3cb5cc1c489a5b0a779688b37e003a2881a72aaae66d63a6e3dd2f7e866d4ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06fe0d178277f33bdb65c0dc3ce2e8414fccc695594d6dc18c311ceef1142878\",\"dweb:/ipfs/QmQuGU5MszL8jMsk45i8Hu2arAN5yCNvNszNzREFyURqbv\"]},\"src/test/Multicall2.t.sol\":{\"keccak256\":\"0xf3ecbf8e3faeb7a3444bd6fc5d25a8ec8a6d170fe46526279480fde4067ae37c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c36a5594f3033331c4e99177e6bc358d835908b7614a629159880b9675487ed8\",\"dweb:/ipfs/QmTgbsNVrgPtci7DJ7p7fWpk2Hxk6TYAWFUh4sBnqcgGRG\"]},\"src/test/mocks/MockCallee.sol\":{\"keccak256\":\"0x71cb32f7523d3b0f3304ba44a27e11d20d852fc041f44bd86deac14db74d3900\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94abae22bf2a1504705a8f1ce14cf45ef27caea856dc6e81131594c0e557ee78\",\"dweb:/ipfs/QmNtv3JjtVnHAJjBg8YyMpkHu8TAwfTde5GNsoknifXsXT\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608060405260008054600160ff19918216811790925560048054909116909117905534801561002d57600080fd5b50613eb58061003d6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806385226c81116100ee578063a28c5e3411610097578063b668ab7d11610071578063b668ab7d146102ab578063ba414fa6146102b3578063e20c9f71146102cb578063fa7626d4146102d357600080fd5b8063a28c5e3414610293578063af0560921461029b578063b5508aa9146102a357600080fd5b806390c6e931116100c857806390c6e9311461027b578063916a17c614610283578063943849a91461028b57600080fd5b806385226c811461024b5780638ef09210146102605780639027c03f1461027357600080fd5b80633f7286f41161015b578063434004ec11610135578063434004ec1461021e57806366d9a9a014610226578063771859681461023b5780637e5ed4db1461024357600080fd5b80633f7286f4146101fb5780634059c0021461020357806341e299fe1461020b57600080fd5b806323b4ffe01161018c57806323b4ffe0146101e35780632fc1b6ab146101eb5780633e5e3c23146101f357600080fd5b80630a9254e4146101b35780631d303931146101bd5780631ed7831c146101c5575b600080fd5b6101bb6102e0565b005b6101bb6103be565b6101cd6106d3565b6040516101da91906127e6565b60405180910390f35b6101bb610742565b6101bb6107de565b6101cd610a12565b6101cd610a7f565b6101bb610aec565b6101bb610219366004612840565b610b5d565b6101bb610bff565b61022e610f15565b6040516101da9190612859565b6101bb611026565b6101bb611097565b610253611391565b6040516101da91906129c5565b6101bb61026e366004612a67565b611461565b6101bb6114d9565b6101bb611573565b61022e611820565b6101bb611928565b6101bb611999565b6101bb611cc5565b610253611d48565b6101bb611e18565b6102bb6120e5565b60405190151581526020016101da565b6101cd612245565b6000546102bb9060ff1681565b6040516102ec906127cc565b604051809103906000f080158015610308573d6000803e3d6000fd5b50601b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905560405161035a906127d9565b604051809103906000f080158015610376573d6000803e3d6000fd5b50601c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816103d657905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906104c1576104c1612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529182015281518290600190811061056157610561612aba565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb3604051806060016040528060218152602001613e5f602191396040518263ffffffff1660e01b81526004016105e09190612ae9565b600060405180830381600087803b1580156105fa57600080fd5b505af115801561060e573d6000803e3d6000fd5b5050601b546040517fc3077fa900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063c3077fa99150610668908490600401612b7b565b6000604051808303816000875af1158015610687573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526106cd9190810190612dbc565b50505050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561073857602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161070d575b5050505050905090565b6107dc43601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342cbb15c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d79190612e0c565b6122b2565b565b604080516001808252818301909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816107f557905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906108e0576108e0612aba565b6020908102919091010152601b546040517f252dba42000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff9091169063252dba4290610946908690600401612b7b565b6000604051808303816000875af1158015610965573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526109ab9190810190612e25565b915091506109b982436122b2565b610a0d816000815181106109cf576109cf612aba565b60200260200101518051906020012043406040516020016109f291815260200190565b604051602081830303815290604052805190602001206123bc565b505050565b6060600f8054806020026020016040519081016040528092919081815260200182805480156107385760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161070d575050505050905090565b6060600e8054806020026020016040519081016040528092919081815260200182805480156107385760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161070d575050505050905090565b6107dc42601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630f28c97d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b601b546040517fee82ac5e00000000000000000000000000000000000000000000000000000000815260048101839052610bfc9183409173ffffffffffffffffffffffffffffffffffffffff9091169063ee82ac5e90602401602060405180830381865afa158015610bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf79190612e0c565b6123bc565b50565b60408051600280825260608201909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081610c1757905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090610d0257610d02612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110610da257610da2612aba565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb3604051806060016040528060218152602001613e5f602191396040518263ffffffff1660e01b8152600401610e219190612ae9565b600060405180830381600087803b158015610e3b57600080fd5b505af1158015610e4f573d6000803e3d6000fd5b5050601b546040517fbce38bd700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063bce38bd79150610eac906001908590600401612ee2565b6000604051808303816000875af1158015610ecb573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610f119190810190612efd565b5050565b60606012805480602002602001604051908101604052809291908181526020016000905b8282101561101d57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561100557602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610fb25790505b50505050508152505081526020019060010190610f39565b50505050905090565b6107dc44601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166372425d9d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816110af57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e0000000000000000000000000000000000000000000000000000000017905290528151829060009061119a5761119a612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529182015281518290600190811061123a5761123a612aba565b6020908102919091010152601b546040517fbce38bd700000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063bce38bd79061129e9084908690600401612ee2565b6000604051808303816000875af11580156112bd573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526113039190810190612efd565b905061132c8160008151811061131b5761131b612aba565b6020026020010151600001516124b6565b6113698160008151811061134257611342612aba565b6020026020010151602001518051906020012043406040516020016109f291815260200190565b610f118160018151811061137f5761137f612aba565b602002602001015160000151156124b6565b60606011805480602002602001604051908101604052809291908181526020016000905b8282101561101d5783829060005260206000200180546113d490612f32565b80601f016020809104026020016040519081016040528092919081815260200182805461140090612f32565b801561144d5780601f106114225761010080835404028352916020019161144d565b820191906000526020600020905b81548152906001019060200180831161143057829003601f168201915b5050505050815260200190600101906113b5565b601b546040517f4d2301cc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301819052610bfc93903192911690634d2301cc90602401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b6107dc41601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8b0574e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561154a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156e9190612f86565b61252a565b60408051600280825260608201909252600091816020015b60408051808201909152600081526060602082015281526020019060019003908161158b57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e0000000000000000000000000000000000000000000000000000000017905290528151829060009061167657611676612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529182015281518290600190811061171657611716612aba565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb3604051806060016040528060218152602001613e5f602191396040518263ffffffff1660e01b81526004016117959190612ae9565b600060405180830381600087803b1580156117af57600080fd5b505af11580156117c3573d6000803e3d6000fd5b5050601b546040517f399542e900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063399542e99150610668906001908590600401612ee2565b60606013805480602002602001604051908101604052809291908181526020016000905b8282101561101d57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561191057602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116118bd5790505b50505050508152505081526020019060010190611844565b6107dc45601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166386d516e86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816119b157905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090611a9c57611a9c612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110611b3c57611b3c612aba565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280602081526020017f4d756c746963616c6c206167677265676174653a2063616c6c206661696c65648152506040518263ffffffff1660e01b8152600401611bd89190612ae9565b600060405180830381600087803b158015611bf257600080fd5b505af1158015611c06573d6000803e3d6000fd5b5050601b546040517f252dba4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063252dba429150611c60908490600401612b7b565b6000604051808303816000875af1158015611c7f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a0d9190810190612e25565b43611ccc57565b6107dc611cda600143612fa3565b40601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327e86d6e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bd3573d6000803e3d6000fd5b60606010805480602002602001604051908101604052809291908181526020016000905b8282101561101d578382906000526020600020018054611d8b90612f32565b80601f0160208091040260200160405190810160405280929190818152602001828054611db790612f32565b8015611e045780601f10611dd957610100808354040283529160200191611e04565b820191906000526020600020905b815481529060010190602001808311611de757829003601f168201915b505050505081526020019060010190611d6c565b60408051600280825260608201909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081611e3057905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090611f1b57611f1b612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110611fbb57611fbb612aba565b6020908102919091010152601b546040517f399542e90000000000000000000000000000000000000000000000000000000081526000918291829173ffffffffffffffffffffffffffffffffffffffff169063399542e9906120239084908890600401612ee2565b6000604051808303816000875af1158015612042573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526120889190810190612dbc565b92509250925061209883436122b2565b6120a38243406123bc565b6120b98160008151811061131b5761131b612aba565b6120cf8160008151811061134257611342612aba565b6106cd8160018151811061137f5761137f612aba565b60008054610100900460ff16156121055750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156122405760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c65640000000000000000000000000000000000000000000000000000828401528251808303840181526060830190935260009290916121aa917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001612fe1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526121e291613029565b6000604051808303816000865af19150503d806000811461221f576040519150601f19603f3d011682016040523d82523d6000602084013e612224565b606091505b509150508080602001905181019061223c9190613045565b9150505b919050565b6060600c8054806020026020016040519081016040528092919081815260200182805480156107385760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161070d575050505050905090565b808214610f11577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405161233e9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8826040516123759190613060565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8816040516123ac91906130ab565b60405180910390a1610f11612650565b808214610f11577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516124489060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998260405161247f9190613060565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99816040516123ac91906130ab565b80610bfc577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405161251a9060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a1610bfc612650565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610f11577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516125e29060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b61646460408201527f726573735d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f8260405161261991906130e8565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f816040516123ac9190613149565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561279e5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc490608001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261271f9291602001612fe1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261275791613029565b6000604051808303816000865af19150503d8060008114612794576040519150601f19603f3d011682016040523d82523d6000602084013e612799565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b610ac88061318783390190565b61021080613c4f83390190565b6020808252825182820181905260009190848201906040850190845b8181101561283457835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101612802565b50909695505050505050565b60006020828403121561285257600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015612940578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b8083101561292b5783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906128e9565b50978a01979550505091870191600101612881565b50919998505050505050505050565b60005b8381101561296a578181015183820152602001612952565b838111156106cd5750506000910152565b6000815180845261299381602086016020860161294f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612a38577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612a2685835161297b565b945092850192908501906001016129ec565b5092979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610bfc57600080fd5b600060208284031215612a7957600080fd5b8135612a8481612a45565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602081526000612a84602083018461297b565b600081518084526020808501808196508360051b8101915082860160005b85811015612b6e5782840389528151805173ffffffffffffffffffffffffffffffffffffffff1685528501516040868601819052612b5a8187018361297b565b9a87019a9550505090840190600101612b1a565b5091979650505050505050565b602081526000612a846020830184612afc565b6040805190810167ffffffffffffffff81118282101715612bb157612bb1612a8b565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612bfe57612bfe612a8b565b604052919050565b600067ffffffffffffffff821115612c2057612c20612a8b565b5060051b60200190565b8051801515811461224057600080fd5b600082601f830112612c4b57600080fd5b815167ffffffffffffffff811115612c6557612c65612a8b565b612c9660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612bb7565b818152846020838601011115612cab57600080fd5b612cbc82602083016020870161294f565b949350505050565b600082601f830112612cd557600080fd5b81516020612cea612ce583612c06565b612bb7565b82815260059290921b84018101918181019086841115612d0957600080fd5b8286015b84811015612db157805167ffffffffffffffff80821115612d2e5760008081fd5b81890191506040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848d03011215612d675760008081fd5b612d6f612b8e565b612d7a888501612c2a565b8152908301519082821115612d8f5760008081fd5b612d9d8c8984870101612c3a565b818901528652505050918301918301612d0d565b509695505050505050565b600080600060608486031215612dd157600080fd5b8351925060208401519150604084015167ffffffffffffffff811115612df657600080fd5b612e0286828701612cc4565b9150509250925092565b600060208284031215612e1e57600080fd5b5051919050565b60008060408385031215612e3857600080fd5b8251915060208084015167ffffffffffffffff80821115612e5857600080fd5b818601915086601f830112612e6c57600080fd5b8151612e7a612ce582612c06565b81815260059190911b83018401908481019089831115612e9957600080fd5b8585015b83811015612ed157805185811115612eb55760008081fd5b612ec38c89838a0101612c3a565b845250918601918601612e9d565b508096505050505050509250929050565b8215158152604060208201526000612cbc6040830184612afc565b600060208284031215612f0f57600080fd5b815167ffffffffffffffff811115612f2657600080fd5b612cbc84828501612cc4565b600181811c90821680612f4657607f821691505b60208210811415612f80577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215612f9857600080fd5b8151612a8481612a45565b600082821015612fdc577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7fffffffff00000000000000000000000000000000000000000000000000000000831681526000825161301b81600485016020870161294f565b919091016004019392505050565b6000825161303b81846020870161294f565b9190910192915050565b60006020828403121561305757600080fd5b612a8482612c2a565b60408152600061309d60408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b60408152600061309d60408301600a81527f2020202020526967687400000000000000000000000000000000000000000000602082015260400190565b60408152600061312560408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905073ffffffffffffffffffffffffffffffffffffffff8316602083015292915050565b60408152600061312560408301600a81527f202020202052696768740000000000000000000000000000000000000000000060208201526040019056fe608060405234801561001057600080fd5b50610aa8806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806372425d9d11610081578063bce38bd71161005b578063bce38bd714610181578063c3077fa9146101a1578063ee82ac5e146101b457600080fd5b806372425d9d1461016757806386d516e81461016d578063a8b0574e1461017357600080fd5b8063399542e9116100b2578063399542e91461011757806342cbb15c146101395780634d2301cc1461013f57600080fd5b80630f28c97d146100d9578063252dba42146100ee57806327e86d6e1461010f575b600080fd5b425b6040519081526020015b60405180910390f35b6101016100fc36600461065a565b6101c6565b6040516100e5929190610707565b6100db61039c565b61012a61012536600461078f565b6103af565b6040516100e593929190610851565b436100db565b6100db61014d366004610879565b73ffffffffffffffffffffffffffffffffffffffff163190565b446100db565b456100db565b6040514181526020016100e5565b61019461018f36600461078f565b6103ca565b6040516100e591906108b6565b61012a6101af36600461065a565b6105ef565b6100db6101c23660046108c9565b4090565b4360608267ffffffffffffffff8111156101e2576101e26108e2565b60405190808252806020026020018201604052801561021557816020015b60608152602001906001900390816102005790505b50905060005b838110156103945760008086868481811061023857610238610911565b905060200281019061024a9190610940565b610258906020810190610879565b73ffffffffffffffffffffffffffffffffffffffff1687878581811061028057610280610911565b90506020028101906102929190610940565b6102a090602081019061097e565b6040516102ae9291906109e3565b6000604051808303816000865af19150503d80600081146102eb576040519150601f19603f3d011682016040523d82523d6000602084013e6102f0565b606091505b509150915081610361576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c656460448201526064015b60405180910390fd5b8084848151811061037457610374610911565b60200260200101819052505050808061038c90610a22565b91505061021b565b509250929050565b60006103a9600143610a5b565b40905090565b43804060606103bf8686866103ca565b905093509350939050565b60608167ffffffffffffffff8111156103e5576103e56108e2565b60405190808252806020026020018201604052801561042b57816020015b6040805180820190915260008152606060208201528152602001906001900390816104035790505b50905060005b828110156105e75760008085858481811061044e5761044e610911565b90506020028101906104609190610940565b61046e906020810190610879565b73ffffffffffffffffffffffffffffffffffffffff1686868581811061049657610496610911565b90506020028101906104a89190610940565b6104b690602081019061097e565b6040516104c49291906109e3565b6000604051808303816000865af19150503d8060008114610501576040519150601f19603f3d011682016040523d82523d6000602084013e610506565b606091505b5091509150861561059e578161059e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610358565b60405180604001604052808315158152602001828152508484815181106105c7576105c7610911565b6020026020010181905250505080806105df90610a22565b915050610431565b509392505050565b6000806060610600600186866103af565b919790965090945092505050565b60008083601f84011261062057600080fd5b50813567ffffffffffffffff81111561063857600080fd5b6020830191508360208260051b850101111561065357600080fd5b9250929050565b6000806020838503121561066d57600080fd5b823567ffffffffffffffff81111561068457600080fd5b6106908582860161060e565b90969095509350505050565b6000815180845260005b818110156106c2576020818501810151868301820152016106a6565b818111156106d4576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610781577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa088870301845261076f86835161069c565b95509284019290840190600101610735565b509398975050505050505050565b6000806000604084860312156107a457600080fd5b833580151581146107b457600080fd5b9250602084013567ffffffffffffffff8111156107d057600080fd5b6107dc8682870161060e565b9497909650939450505050565b6000815180845260208085019450848260051b860182860160005b85811015610844578383038952815180511515845285015160408685018190526108308186018361069c565b9a87019a9450505090840190600101610804565b5090979650505050505050565b83815282602082015260606040820152600061087060608301846107e9565b95945050505050565b60006020828403121561088b57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146108af57600080fd5b9392505050565b6020815260006108af60208301846107e9565b6000602082840312156108db57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261097457600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126109b357600080fd5b83018035915067ffffffffffffffff8211156109ce57600080fd5b60200191503681900382131561065357600080fd5b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610a5457610a546109f3565b5060010190565b600082821015610a6d57610a6d6109f3565b50039056fea264697066735822122077208ff8ba60b1b1bbe5fdbec804b772ca19cb783a1a4c407178c27cab82157764736f6c634300080c0033608060405234801561001057600080fd5b506101f0806100206000396000f3fe6080604052600436106100345760003560e01c8063032d00741461003957806336c40ea614610050578063ee82ac5e14610063575b600080fd5b34801561004557600080fd5b5061004e610094565b005b61004e61005e366004610164565b6100c6565b34801561006f57600080fd5b5061008261007e3660046101a1565b4090565b60405190815260200160405180910390f35b6040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff163460405160006040518083038185875af1925050503d8060008114610120576040519150601f19603f3d011682016040523d82523d6000602084013e610125565b606091505b5050905080610160576040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006020828403121561017657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019a57600080fd5b9392505050565b6000602082840312156101b357600080fd5b503591905056fea26469706673582212201346a6ce8930e965d60a2c42ebca53035036f2623f64330bfd093e3ddbe06dc164736f6c634300080c00334d756c746963616c6c32206167677265676174653a2063616c6c206661696c6564a26469706673582212207399be967c0714225fc41a74c9f19ef09ed68dd849cfe8a576b3e9568df14c2364736f6c634300080c0033","sourceMap":"196:5139:24:-:0;;;1572:26:0;;;1594:4;-1:-1:-1;;1572:26:0;;;;;;;;3288:44:3;;;;;;;;;;;196:5139:24;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561001057600080fd5b50600436106101ae5760003560e01c806385226c81116100ee578063a28c5e3411610097578063b668ab7d11610071578063b668ab7d146102ab578063ba414fa6146102b3578063e20c9f71146102cb578063fa7626d4146102d357600080fd5b8063a28c5e3414610293578063af0560921461029b578063b5508aa9146102a357600080fd5b806390c6e931116100c857806390c6e9311461027b578063916a17c614610283578063943849a91461028b57600080fd5b806385226c811461024b5780638ef09210146102605780639027c03f1461027357600080fd5b80633f7286f41161015b578063434004ec11610135578063434004ec1461021e57806366d9a9a014610226578063771859681461023b5780637e5ed4db1461024357600080fd5b80633f7286f4146101fb5780634059c0021461020357806341e299fe1461020b57600080fd5b806323b4ffe01161018c57806323b4ffe0146101e35780632fc1b6ab146101eb5780633e5e3c23146101f357600080fd5b80630a9254e4146101b35780631d303931146101bd5780631ed7831c146101c5575b600080fd5b6101bb6102e0565b005b6101bb6103be565b6101cd6106d3565b6040516101da91906127e6565b60405180910390f35b6101bb610742565b6101bb6107de565b6101cd610a12565b6101cd610a7f565b6101bb610aec565b6101bb610219366004612840565b610b5d565b6101bb610bff565b61022e610f15565b6040516101da9190612859565b6101bb611026565b6101bb611097565b610253611391565b6040516101da91906129c5565b6101bb61026e366004612a67565b611461565b6101bb6114d9565b6101bb611573565b61022e611820565b6101bb611928565b6101bb611999565b6101bb611cc5565b610253611d48565b6101bb611e18565b6102bb6120e5565b60405190151581526020016101da565b6101cd612245565b6000546102bb9060ff1681565b6040516102ec906127cc565b604051809103906000f080158015610308573d6000803e3d6000fd5b50601b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905560405161035a906127d9565b604051809103906000f080158015610376573d6000803e3d6000fd5b50601c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816103d657905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906104c1576104c1612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529182015281518290600190811061056157610561612aba565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb3604051806060016040528060218152602001613e5f602191396040518263ffffffff1660e01b81526004016105e09190612ae9565b600060405180830381600087803b1580156105fa57600080fd5b505af115801561060e573d6000803e3d6000fd5b5050601b546040517fc3077fa900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063c3077fa99150610668908490600401612b7b565b6000604051808303816000875af1158015610687573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526106cd9190810190612dbc565b50505050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561073857602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161070d575b5050505050905090565b6107dc43601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342cbb15c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d79190612e0c565b6122b2565b565b604080516001808252818301909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816107f557905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906108e0576108e0612aba565b6020908102919091010152601b546040517f252dba42000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff9091169063252dba4290610946908690600401612b7b565b6000604051808303816000875af1158015610965573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526109ab9190810190612e25565b915091506109b982436122b2565b610a0d816000815181106109cf576109cf612aba565b60200260200101518051906020012043406040516020016109f291815260200190565b604051602081830303815290604052805190602001206123bc565b505050565b6060600f8054806020026020016040519081016040528092919081815260200182805480156107385760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161070d575050505050905090565b6060600e8054806020026020016040519081016040528092919081815260200182805480156107385760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161070d575050505050905090565b6107dc42601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630f28c97d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b601b546040517fee82ac5e00000000000000000000000000000000000000000000000000000000815260048101839052610bfc9183409173ffffffffffffffffffffffffffffffffffffffff9091169063ee82ac5e90602401602060405180830381865afa158015610bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf79190612e0c565b6123bc565b50565b60408051600280825260608201909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081610c1757905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090610d0257610d02612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110610da257610da2612aba565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb3604051806060016040528060218152602001613e5f602191396040518263ffffffff1660e01b8152600401610e219190612ae9565b600060405180830381600087803b158015610e3b57600080fd5b505af1158015610e4f573d6000803e3d6000fd5b5050601b546040517fbce38bd700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063bce38bd79150610eac906001908590600401612ee2565b6000604051808303816000875af1158015610ecb573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610f119190810190612efd565b5050565b60606012805480602002602001604051908101604052809291908181526020016000905b8282101561101d57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561100557602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610fb25790505b50505050508152505081526020019060010190610f39565b50505050905090565b6107dc44601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166372425d9d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816110af57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e0000000000000000000000000000000000000000000000000000000017905290528151829060009061119a5761119a612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529182015281518290600190811061123a5761123a612aba565b6020908102919091010152601b546040517fbce38bd700000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063bce38bd79061129e9084908690600401612ee2565b6000604051808303816000875af11580156112bd573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526113039190810190612efd565b905061132c8160008151811061131b5761131b612aba565b6020026020010151600001516124b6565b6113698160008151811061134257611342612aba565b6020026020010151602001518051906020012043406040516020016109f291815260200190565b610f118160018151811061137f5761137f612aba565b602002602001015160000151156124b6565b60606011805480602002602001604051908101604052809291908181526020016000905b8282101561101d5783829060005260206000200180546113d490612f32565b80601f016020809104026020016040519081016040528092919081815260200182805461140090612f32565b801561144d5780601f106114225761010080835404028352916020019161144d565b820191906000526020600020905b81548152906001019060200180831161143057829003601f168201915b5050505050815260200190600101906113b5565b601b546040517f4d2301cc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301819052610bfc93903192911690634d2301cc90602401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b6107dc41601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8b0574e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561154a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156e9190612f86565b61252a565b60408051600280825260608201909252600091816020015b60408051808201909152600081526060602082015281526020019060019003908161158b57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e0000000000000000000000000000000000000000000000000000000017905290528151829060009061167657611676612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529182015281518290600190811061171657611716612aba565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb3604051806060016040528060218152602001613e5f602191396040518263ffffffff1660e01b81526004016117959190612ae9565b600060405180830381600087803b1580156117af57600080fd5b505af11580156117c3573d6000803e3d6000fd5b5050601b546040517f399542e900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063399542e99150610668906001908590600401612ee2565b60606013805480602002602001604051908101604052809291908181526020016000905b8282101561101d57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff16835260018101805483518187028101870190945280845293949193858301939283018282801561191057602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116118bd5790505b50505050508152505081526020019060010190611844565b6107dc45601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166386d516e86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b3573d6000803e3d6000fd5b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816119b157905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090611a9c57611a9c612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110611b3c57611b3c612aba565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280602081526020017f4d756c746963616c6c206167677265676174653a2063616c6c206661696c65648152506040518263ffffffff1660e01b8152600401611bd89190612ae9565b600060405180830381600087803b158015611bf257600080fd5b505af1158015611c06573d6000803e3d6000fd5b5050601b546040517f252dba4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063252dba429150611c60908490600401612b7b565b6000604051808303816000875af1158015611c7f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a0d9190810190612e25565b43611ccc57565b6107dc611cda600143612fa3565b40601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327e86d6e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bd3573d6000803e3d6000fd5b60606010805480602002602001604051908101604052809291908181526020016000905b8282101561101d578382906000526020600020018054611d8b90612f32565b80601f0160208091040260200160405190810160405280929190818152602001828054611db790612f32565b8015611e045780601f10611dd957610100808354040283529160200191611e04565b820191906000526020600020905b815481529060010190602001808311611de757829003601f168201915b505050505081526020019060010190611d6c565b60408051600280825260608201909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081611e3057905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090611f1b57611f1b612aba565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110611fbb57611fbb612aba565b6020908102919091010152601b546040517f399542e90000000000000000000000000000000000000000000000000000000081526000918291829173ffffffffffffffffffffffffffffffffffffffff169063399542e9906120239084908890600401612ee2565b6000604051808303816000875af1158015612042573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526120889190810190612dbc565b92509250925061209883436122b2565b6120a38243406123bc565b6120b98160008151811061131b5761131b612aba565b6120cf8160008151811061134257611342612aba565b6106cd8160018151811061137f5761137f612aba565b60008054610100900460ff16156121055750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156122405760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c65640000000000000000000000000000000000000000000000000000828401528251808303840181526060830190935260009290916121aa917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001612fe1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526121e291613029565b6000604051808303816000865af19150503d806000811461221f576040519150601f19603f3d011682016040523d82523d6000602084013e612224565b606091505b509150508080602001905181019061223c9190613045565b9150505b919050565b6060600c8054806020026020016040519081016040528092919081815260200182805480156107385760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161070d575050505050905090565b808214610f11577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405161233e9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8826040516123759190613060565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8816040516123ac91906130ab565b60405180910390a1610f11612650565b808214610f11577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516124489060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998260405161247f9190613060565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99816040516123ac91906130ab565b80610bfc577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f5060405161251a9060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a1610bfc612650565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610f11577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516125e29060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b61646460408201527f726573735d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f8260405161261991906130e8565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f816040516123ac9190613149565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561279e5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc490608001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261271f9291602001612fe1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261275791613029565b6000604051808303816000865af19150503d8060008114612794576040519150601f19603f3d011682016040523d82523d6000602084013e612799565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b610ac88061318783390190565b61021080613c4f83390190565b6020808252825182820181905260009190848201906040850190845b8181101561283457835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101612802565b50909695505050505050565b60006020828403121561285257600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015612940578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b8083101561292b5783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906128e9565b50978a01979550505091870191600101612881565b50919998505050505050505050565b60005b8381101561296a578181015183820152602001612952565b838111156106cd5750506000910152565b6000815180845261299381602086016020860161294f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612a38577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612a2685835161297b565b945092850192908501906001016129ec565b5092979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610bfc57600080fd5b600060208284031215612a7957600080fd5b8135612a8481612a45565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602081526000612a84602083018461297b565b600081518084526020808501808196508360051b8101915082860160005b85811015612b6e5782840389528151805173ffffffffffffffffffffffffffffffffffffffff1685528501516040868601819052612b5a8187018361297b565b9a87019a9550505090840190600101612b1a565b5091979650505050505050565b602081526000612a846020830184612afc565b6040805190810167ffffffffffffffff81118282101715612bb157612bb1612a8b565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612bfe57612bfe612a8b565b604052919050565b600067ffffffffffffffff821115612c2057612c20612a8b565b5060051b60200190565b8051801515811461224057600080fd5b600082601f830112612c4b57600080fd5b815167ffffffffffffffff811115612c6557612c65612a8b565b612c9660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612bb7565b818152846020838601011115612cab57600080fd5b612cbc82602083016020870161294f565b949350505050565b600082601f830112612cd557600080fd5b81516020612cea612ce583612c06565b612bb7565b82815260059290921b84018101918181019086841115612d0957600080fd5b8286015b84811015612db157805167ffffffffffffffff80821115612d2e5760008081fd5b81890191506040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848d03011215612d675760008081fd5b612d6f612b8e565b612d7a888501612c2a565b8152908301519082821115612d8f5760008081fd5b612d9d8c8984870101612c3a565b818901528652505050918301918301612d0d565b509695505050505050565b600080600060608486031215612dd157600080fd5b8351925060208401519150604084015167ffffffffffffffff811115612df657600080fd5b612e0286828701612cc4565b9150509250925092565b600060208284031215612e1e57600080fd5b5051919050565b60008060408385031215612e3857600080fd5b8251915060208084015167ffffffffffffffff80821115612e5857600080fd5b818601915086601f830112612e6c57600080fd5b8151612e7a612ce582612c06565b81815260059190911b83018401908481019089831115612e9957600080fd5b8585015b83811015612ed157805185811115612eb55760008081fd5b612ec38c89838a0101612c3a565b845250918601918601612e9d565b508096505050505050509250929050565b8215158152604060208201526000612cbc6040830184612afc565b600060208284031215612f0f57600080fd5b815167ffffffffffffffff811115612f2657600080fd5b612cbc84828501612cc4565b600181811c90821680612f4657607f821691505b60208210811415612f80577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215612f9857600080fd5b8151612a8481612a45565b600082821015612fdc577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7fffffffff00000000000000000000000000000000000000000000000000000000831681526000825161301b81600485016020870161294f565b919091016004019392505050565b6000825161303b81846020870161294f565b9190910192915050565b60006020828403121561305757600080fd5b612a8482612c2a565b60408152600061309d60408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b60408152600061309d60408301600a81527f2020202020526967687400000000000000000000000000000000000000000000602082015260400190565b60408152600061312560408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905073ffffffffffffffffffffffffffffffffffffffff8316602083015292915050565b60408152600061312560408301600a81527f202020202052696768740000000000000000000000000000000000000000000060208201526040019056fe608060405234801561001057600080fd5b50610aa8806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806372425d9d11610081578063bce38bd71161005b578063bce38bd714610181578063c3077fa9146101a1578063ee82ac5e146101b457600080fd5b806372425d9d1461016757806386d516e81461016d578063a8b0574e1461017357600080fd5b8063399542e9116100b2578063399542e91461011757806342cbb15c146101395780634d2301cc1461013f57600080fd5b80630f28c97d146100d9578063252dba42146100ee57806327e86d6e1461010f575b600080fd5b425b6040519081526020015b60405180910390f35b6101016100fc36600461065a565b6101c6565b6040516100e5929190610707565b6100db61039c565b61012a61012536600461078f565b6103af565b6040516100e593929190610851565b436100db565b6100db61014d366004610879565b73ffffffffffffffffffffffffffffffffffffffff163190565b446100db565b456100db565b6040514181526020016100e5565b61019461018f36600461078f565b6103ca565b6040516100e591906108b6565b61012a6101af36600461065a565b6105ef565b6100db6101c23660046108c9565b4090565b4360608267ffffffffffffffff8111156101e2576101e26108e2565b60405190808252806020026020018201604052801561021557816020015b60608152602001906001900390816102005790505b50905060005b838110156103945760008086868481811061023857610238610911565b905060200281019061024a9190610940565b610258906020810190610879565b73ffffffffffffffffffffffffffffffffffffffff1687878581811061028057610280610911565b90506020028101906102929190610940565b6102a090602081019061097e565b6040516102ae9291906109e3565b6000604051808303816000865af19150503d80600081146102eb576040519150601f19603f3d011682016040523d82523d6000602084013e6102f0565b606091505b509150915081610361576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c656460448201526064015b60405180910390fd5b8084848151811061037457610374610911565b60200260200101819052505050808061038c90610a22565b91505061021b565b509250929050565b60006103a9600143610a5b565b40905090565b43804060606103bf8686866103ca565b905093509350939050565b60608167ffffffffffffffff8111156103e5576103e56108e2565b60405190808252806020026020018201604052801561042b57816020015b6040805180820190915260008152606060208201528152602001906001900390816104035790505b50905060005b828110156105e75760008085858481811061044e5761044e610911565b90506020028101906104609190610940565b61046e906020810190610879565b73ffffffffffffffffffffffffffffffffffffffff1686868581811061049657610496610911565b90506020028101906104a89190610940565b6104b690602081019061097e565b6040516104c49291906109e3565b6000604051808303816000865af19150503d8060008114610501576040519150601f19603f3d011682016040523d82523d6000602084013e610506565b606091505b5091509150861561059e578161059e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610358565b60405180604001604052808315158152602001828152508484815181106105c7576105c7610911565b6020026020010181905250505080806105df90610a22565b915050610431565b509392505050565b6000806060610600600186866103af565b919790965090945092505050565b60008083601f84011261062057600080fd5b50813567ffffffffffffffff81111561063857600080fd5b6020830191508360208260051b850101111561065357600080fd5b9250929050565b6000806020838503121561066d57600080fd5b823567ffffffffffffffff81111561068457600080fd5b6106908582860161060e565b90969095509350505050565b6000815180845260005b818110156106c2576020818501810151868301820152016106a6565b818111156106d4576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610781577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa088870301845261076f86835161069c565b95509284019290840190600101610735565b509398975050505050505050565b6000806000604084860312156107a457600080fd5b833580151581146107b457600080fd5b9250602084013567ffffffffffffffff8111156107d057600080fd5b6107dc8682870161060e565b9497909650939450505050565b6000815180845260208085019450848260051b860182860160005b85811015610844578383038952815180511515845285015160408685018190526108308186018361069c565b9a87019a9450505090840190600101610804565b5090979650505050505050565b83815282602082015260606040820152600061087060608301846107e9565b95945050505050565b60006020828403121561088b57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146108af57600080fd5b9392505050565b6020815260006108af60208301846107e9565b6000602082840312156108db57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261097457600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126109b357600080fd5b83018035915067ffffffffffffffff8211156109ce57600080fd5b60200191503681900382131561065357600080fd5b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610a5457610a546109f3565b5060010190565b600082821015610a6d57610a6d6109f3565b50039056fea264697066735822122077208ff8ba60b1b1bbe5fdbec804b772ca19cb783a1a4c407178c27cab82157764736f6c634300080c0033608060405234801561001057600080fd5b506101f0806100206000396000f3fe6080604052600436106100345760003560e01c8063032d00741461003957806336c40ea614610050578063ee82ac5e14610063575b600080fd5b34801561004557600080fd5b5061004e610094565b005b61004e61005e366004610164565b6100c6565b34801561006f57600080fd5b5061008261007e3660046101a1565b4090565b60405190815260200160405180910390f35b6040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff163460405160006040518083038185875af1925050503d8060008114610120576040519150601f19603f3d011682016040523d82523d6000602084013e610125565b606091505b5050905080610160576040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006020828403121561017657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019a57600080fd5b9392505050565b6000602082840312156101b357600080fd5b503591905056fea26469706673582212201346a6ce8930e965d60a2c42ebca53035036f2623f64330bfd093e3ddbe06dc164736f6c634300080c00334d756c746963616c6c32206167677265676174653a2063616c6c206661696c6564a26469706673582212207399be967c0714225fc41a74c9f19ef09ed68dd849cfe8a576b3e9568df14c2364736f6c634300080c0033","sourceMap":"196:5139:24:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;320:94;;;:::i;:::-;;3759:435;;;:::i;2161:134:6:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4409:98:24;;;:::i;491:461::-;;;:::i;2930:133:6:-;;;:::i;2631:141::-;;;:::i;4883:121:24:-;;;:::i;4271:134::-;;;;;;:::i;:::-;;:::i;2068:431::-;;;:::i;2447:178:6:-;;;:::i;:::-;;;;;;;:::i;4633:124:24:-;;;:::i;1483:581::-;;;:::i;2301:140:6:-;;;:::i;:::-;;;;;;;:::i;5008:112:24:-;;;;;;:::i;:::-;;:::i;4511:118::-;;;:::i;3308:447::-;;;:::i;2778:146:6:-;;;:::i;4761:118:24:-;;;:::i;956:450::-;;;:::i;5124:209::-;;;:::i;1866:141:6:-;;;:::i;2576:728:24:-;;;:::i;1819:584:0:-;;;:::i;:::-;;;4613:14:28;;4606:22;4588:41;;4576:2;4561:18;1819:584:0;4448:187:28;2013:142:6;;;:::i;1572:26:0:-;;;;;;;;;320:94:24;362:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;350:9:24;:28;;;;;;;;;;;;;;;393:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;384:6:24;:25;;;;;;;;;;;;;;;320:94::o;3759:435::-;3850:24;;;3872:1;3850:24;;;;;;;;;3817:30;;3850:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;3850:24:24;;;;;;;;;;;;;;-1:-1:-1;3891:96:24;;;;;;;;3915:6;;;;3891:96;;3924:62;;3973:12;3924:62;;;4975:25:28;3817:57:24;;-1:-1:-1;3891:96:24;;;;;4948:18:28;;3924:62:24;;;;;;;;;;;;;;;;;;;;;;;;3891:96;;3880:8;;:5;;-1:-1:-1;;3880:8:24;;;;:::i;:::-;;;;;;;;;;;:107;;;;4004:80;;;;;;;;4028:6;;;;4004:80;;4037:46;;;;;;;;;;;;;;;;;;;;;;4004:80;;;;3993:8;;:5;;4028:6;;3993:8;;;;;;:::i;:::-;;;;;;:91;;;;317:28:1;309:37;;4090:15:24;;;4106:42;;;;;;;;;;;;;;;;;4090:59;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4155:9:24;;:34;;;;;:9;;;;;-1:-1:-1;4155:27:24;;-1:-1:-1;4155:34:24;;4183:5;;4155:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;3811:383;3759:435::o;2161:134:6:-;2208:33;2272:16;2253:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2161:134;:::o;4409:98:24:-;4452:50;4461:12;4475:9;;;;;;;;;;;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4452:8;:50::i;:::-;4409:98::o;491:461::-;592:24;;;614:1;592:24;;;;;;;;;559:30;;592:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;592:24:24;;;;;;;;;;;;;;-1:-1:-1;633:96:24;;;;;;;;657:6;;;;633:96;;666:62;;715:12;666:62;;;4975:25:28;559:57:24;;-1:-1:-1;633:96:24;;;;;4948:18:28;;666:62:24;;;;;;;;;;;;;;;;;;;;;;;;633:96;;622:8;;:5;;-1:-1:-1;;622:8:24;;;;:::i;:::-;;;;;;;;;;:107;786:9;;:26;;;;;736:19;;;;786:9;;;;;:19;;:26;;806:5;;786:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;735:77;;;;818:35;827:11;840:12;818:8;:35::i;:::-;859:88;878:10;889:1;878:13;;;;;;;;:::i;:::-;;;;;;;868:24;;;;;;931:12;921:23;904:41;;;;;;11702:19:28;;11746:2;11737:12;;11573:182;904:41:24;;;;;;;;;;;;;894:52;;;;;;859:8;:88::i;:::-;525:427;;;491:461::o;2930:133:6:-;2976:33;3040:16;3021:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2930:133;:::o;2631:141::-;2679:35;2747:18;2726:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2631:141;:::o;4883:121:24:-;4936:63;4945:15;4962:9;;;;;;;;;;;:34;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4271:134;4364:9;;:35;;;;;;;;4975:25:28;;;4331:69:24;;4340:22;;;4364:9;;;;;:22;;4948:18:28;;4364:35:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4331:8;:69::i;:::-;4271:134;:::o;2068:431::-;2154:24;;;2176:1;2154:24;;;;;;;;;2121:30;;2154:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;2154:24:24;;;;;;;;;;;;;;-1:-1:-1;2195:96:24;;;;;;;;2219:6;;;;2195:96;;2228:62;;2277:12;2228:62;;;4975:25:28;2121:57:24;;-1:-1:-1;2195:96:24;;;;;4948:18:28;;2228:62:24;;;;;;;;;;;;;;;;;;;;;;;;2195:96;;2184:8;;:5;;-1:-1:-1;;2184:8:24;;;;:::i;:::-;;;;;;;;;;;:107;;;;2308:80;;;;;;;;2332:6;;;;2308:80;;2341:46;;;;;;;;;;;;;;;;;;;;;;2308:80;;;;2297:8;;:5;;2332:6;;2297:8;;;;;;:::i;:::-;;;;;;:91;;;;317:28:1;309:37;;2394:15:24;;;2410:42;;;;;;;;;;;;;;;;;2394:59;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2459:9:24;;:35;;;;;:9;;;;;-1:-1:-1;2459:22:24;;-1:-1:-1;2459:35:24;;:9;;2488:5;;2459:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2115:384;2068:431::o;2447:178:6:-;2503:48;2592:26;2563:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2447:178;:::o;4633:124:24:-;4687:65;4696:16;4714:9;;;;;;;;;;;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1483:581;1557:24;;;1579:1;1557:24;;;;;;;;;1524:30;;1557:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;1557:24:24;;;;;;;;;;;;;;-1:-1:-1;1598:96:24;;;;;;;;1622:6;;;;1598:96;;1631:62;;1680:12;1631:62;;;4975:25:28;1524:57:24;;-1:-1:-1;1598:96:24;;;;;4948:18:28;;1631:62:24;;;;;;;;;;;;;;;;;;;;;;;;1598:96;;1587:8;;:5;;-1:-1:-1;;1587:8:24;;;;:::i;:::-;;;;;;;;;;;:107;;;;1711:80;;;;;;;;1735:6;;;;1711:80;;1744:46;;;;;;;;;;;;;;;;;;;;;;1711:80;;;;1700:8;;:5;;1735:6;;1700:8;;;;;;:::i;:::-;;;;;;;;;;:91;1839:9;;:36;;;;;1798:37;;1839:9;;;:22;;:36;;1798:37;;1869:5;;1839:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1797:78;;1881:33;1892:10;1903:1;1892:13;;;;;;;;:::i;:::-;;;;;;;:21;;;1881:10;:33::i;:::-;1920:99;1939:10;1950:1;1939:13;;;;;;;;:::i;:::-;;;;;;;:24;;;1929:35;;;;;;2003:12;1993:23;1976:41;;;;;;11702:19:28;;11746:2;11737:12;;11573:182;1920:99:24;2025:34;2037:10;2048:1;2037:13;;;;;;;;:::i;:::-;;;;;;;:21;;;2036:22;2025:10;:34::i;2301:140:6:-;2349:34;2416:18;2395:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5008:112:24;5085:9;;:29;;;;;5071:12;;;;5085:29;;;13333:74:28;;;5062:53:24;;5071:12;;;5085:9;;;:23;;13306:18:28;;5085:29:24;;;;;;;;;;;;;;;;;;;;;;4511:118;4563:61;4572:14;4588:9;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4563:8;:61::i;3308:447::-;3402:24;;;3424:1;3402:24;;;;;;;;;3369:30;;3402:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;3402:24:24;;;;;;;;;;;;;;-1:-1:-1;3443:96:24;;;;;;;;3467:6;;;;3443:96;;3476:62;;3525:12;3476:62;;;4975:25:28;3369:57:24;;-1:-1:-1;3443:96:24;;;;;4948:18:28;;3476:62:24;;;;;;;;;;;;;;;;;;;;;;;;3443:96;;3432:8;;:5;;-1:-1:-1;;3432:8:24;;;;:::i;:::-;;;;;;;;;;;:107;;;;3556:80;;;;;;;;3580:6;;;;3556:80;;3589:46;;;;;;;;;;;;;;;;;;;;;;3556:80;;;;3545:8;;:5;;3580:6;;3545:8;;;;;;:::i;:::-;;;;;;:91;;;;317:28:1;309:37;;3642:15:24;;;3658:42;;;;;;;;;;;;;;;;;3642:59;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3707:9:24;;:43;;;;;:9;;;;;-1:-1:-1;3707:30:24;;-1:-1:-1;3707:43:24;;:9;;3744:5;;3707:43;;;:::i;2778:146:6:-;2826:40;2899:18;2878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4761:118:24;4813:61;4822:14;4838:9;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;956:450;1071:24;;;1093:1;1071:24;;;;;;;;;1038:30;;1071:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;1071:24:24;;;;;;;;;;;;;;-1:-1:-1;1112:96:24;;;;;;;;1136:6;;;;1112:96;;1145:62;;1194:12;1145:62;;;4975:25:28;1038:57:24;;-1:-1:-1;1112:96:24;;;;;4948:18:28;;1145:62:24;;;;;;;;;;;;;;;;;;;;;;;;1112:96;;1101:8;;:5;;-1:-1:-1;;1101:8:24;;;;:::i;:::-;;;;;;;;;;;:107;;;;1225:80;;;;;;;;1249:6;;;;1225:80;;1258:46;;;;;;;;;;;;;;;;;;;;;;1225:80;;;;1214:8;;:5;;1249:6;;1214:8;;;;;;:::i;:::-;;;;;;:91;;;;317:28:1;309:37;;1311:15:24;;;1327:41;;;;;;;;;;;;;;;;;1311:58;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1375:9:24;;:26;;;;;:9;;;;;-1:-1:-1;1375:19:24;;-1:-1:-1;1375:26:24;;1395:5;;1375:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5124:209::-;5230:12;5226:30;;5124:209::o;5226:30::-;5261:67;5280:16;5295:1;5280:12;:16;:::i;:::-;5270:27;5299:9;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1866:141:6;1915:34;1982:18;1961:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2576:728:24;2658:24;;;2680:1;2658:24;;;;;;;;;2625:30;;2658:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;2658:24:24;;;;;;;;;;;;;;-1:-1:-1;2699:96:24;;;;;;;;2723:6;;;;2699:96;;2732:62;;2781:12;2732:62;;;4975:25:28;2625:57:24;;-1:-1:-1;2699:96:24;;;;;4948:18:28;;2732:62:24;;;;;;;;;;;;;;;;;;;;;;;;2699:96;;2688:8;;:5;;-1:-1:-1;;2688:8:24;;;;:::i;:::-;;;;;;;;;;;:107;;;;2812:80;;;;;;;;2836:6;;;;2812:80;;2845:46;;;;;;;;;;;;;;;;;;;;;;2812:80;;;;2801:8;;:5;;2836:6;;2801:8;;;;;;:::i;:::-;;;;;;;;;;:91;2980:9;;:44;;;;;2899:19;;;;;;2980:9;;;:30;;:44;;2899:19;;3018:5;;2980:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2898:126;;;;;;3030:35;3039:11;3052:12;3030:8;:35::i;:::-;3071:44;3080:9;3101:12;3091:23;3071:8;:44::i;:::-;3121:33;3132:10;3143:1;3132:13;;;;;;;;:::i;3121:33::-;3160:99;3179:10;3190:1;3179:13;;;;;;;;:::i;3160:99::-;3265:34;3277:10;3288:1;3277:13;;;;;;;;:::i;1819:584:0:-;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:0;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;14132:74:28;;;2221:17:0;14222:18:28;;;14215:34;2196:43:0;;;;;;;;;14105:18:28;;;2196:43:0;;;-1:-1:-1;;1671:64:0;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;;;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:0:o;2013:142:6:-;2062:35;2130:18;2109:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2013:142;:::o;5209:262:0:-;5271:1;5266;:6;5262:203;;5293:41;;;;;15370:2:28;15352:21;;;15409:2;15389:18;;;15382:30;15448:34;15443:2;15428:18;;15421:62;15519:4;15514:2;15499:18;;15492:32;15556:3;15541:19;;15168:398;5293:41:0;;;;;;;;5353:31;5382:1;5353:31;;;;;;:::i;:::-;;;;;;;;5403;5432:1;5403:31;;;;;;:::i;:::-;;;;;;;;5448:6;:4;:6::i;4095:277::-;4163:1;4158;:6;4154:212;;4185:44;;;;;16807:2:28;16789:21;;;16846:2;16826:18;;;16819:30;16885:34;16880:2;16865:18;;16858:62;16956:7;16951:2;16936:18;;16929:35;16996:3;16981:19;;16605:401;4185:44:0;;;;;;;;4248:34;4280:1;4248:34;;;;;;:::i;:::-;;;;;;;;4301;4333:1;4301:34;;;;;;:::i;3262:157::-;3322:9;3317:96;;3352:30;;;;;17919:2:28;17901:21;;;17958:2;17938:18;;;17931:30;17997:25;17992:2;17977:18;;17970:53;18055:2;18040:18;;17717:347;3352:30:0;;;;;;;;3396:6;:4;:6::i;3622:277::-;3690:1;3685:6;;:1;:6;;;3681:212;;3712:44;;;;;18271:2:28;18253:21;;;18310:2;18290:18;;;18283:30;18349:34;18344:2;18329:18;;18322:62;18420:7;18415:2;18400:18;;18393:35;18460:3;18445:19;;18069:401;3712:44:0;;;;;;;;3775:34;3807:1;3775:34;;;;;;:::i;:::-;;;;;;;;3828;3860:1;3828:34;;;;;;:::i;2409:432::-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;19481:74:28;;;2677:17:0;19571:18:28;;;19564:34;;;;2712:4:0;19614:18:28;;;19607:34;2489:11:0;;1671:64;2586:43;;19454:18:28;;2652:67:0;;;;;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;;;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:0;2820:7;:14;;;;;;;;2409:432::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:681:28:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:218;465:6;462:1;459:13;451:218;;;530:13;;545:42;526:62;514:75;;644:15;;;;609:12;;;;487:1;480:9;451:218;;;-1:-1:-1;686:3:28;;14:681;-1:-1:-1;;;;;;14:681:28:o;700:180::-;759:6;812:2;800:9;791:7;787:23;783:32;780:52;;;828:1;825;818:12;780:52;-1:-1:-1;851:23:28;;700:180;-1:-1:-1;700:180:28:o;885:1695::-;1087:4;1116:2;1156;1145:9;1141:18;1186:2;1175:9;1168:21;1209:6;1244;1238:13;1275:6;1267;1260:22;1301:2;1291:12;;1334:2;1323:9;1319:18;1312:25;;1396:2;1386:6;1383:1;1379:14;1368:9;1364:30;1360:39;1434:2;1426:6;1422:15;1455:1;1476;1486:1065;1502:6;1497:3;1494:15;1486:1065;;;1571:22;;;1595:66;1567:95;1555:108;;1686:13;;1773:9;;1784:42;1769:58;1754:74;;1867:11;;1861:18;1899:15;;;1892:27;;;1980:19;;1726:15;;;2012:24;;;2102:21;;;;2147:1;;2070:2;2058:15;;;2161:282;2177:8;2172:3;2169:17;2161:282;;;2258:15;;2275:66;2254:88;2240:103;;2412:17;;;;2205:1;2196:11;;;;;2369:14;;;;2161:282;;;-1:-1:-1;2529:12:28;;;;2466:5;-1:-1:-1;;;2494:15:28;;;;1528:1;1519:11;1486:1065;;;-1:-1:-1;2568:6:28;;885:1695;-1:-1:-1;;;;;;;;;885:1695:28:o;2585:258::-;2657:1;2667:113;2681:6;2678:1;2675:13;2667:113;;;2757:11;;;2751:18;2738:11;;;2731:39;2703:2;2696:10;2667:113;;;2798:6;2795:1;2792:13;2789:48;;;-1:-1:-1;;2833:1:28;2815:16;;2808:27;2585:258::o;2848:317::-;2890:3;2928:5;2922:12;2955:6;2950:3;2943:19;2971:63;3027:6;3020:4;3015:3;3011:14;3004:4;2997:5;2993:16;2971:63;:::i;:::-;3079:2;3067:15;3084:66;3063:88;3054:98;;;;3154:4;3050:109;;2848:317;-1:-1:-1;;2848:317:28:o;3170:862::-;3332:4;3361:2;3401;3390:9;3386:18;3431:2;3420:9;3413:21;3454:6;3489;3483:13;3520:6;3512;3505:22;3558:2;3547:9;3543:18;3536:25;;3620:2;3610:6;3607:1;3603:14;3592:9;3588:30;3584:39;3570:53;;3658:2;3650:6;3646:15;3679:1;3689:314;3703:6;3700:1;3697:13;3689:314;;;3792:66;3780:9;3772:6;3768:22;3764:95;3759:3;3752:108;3883:40;3916:6;3907;3901:13;3883:40;:::i;:::-;3873:50;-1:-1:-1;3981:12:28;;;;3946:15;;;;3725:1;3718:9;3689:314;;;-1:-1:-1;4020:6:28;;3170:862;-1:-1:-1;;;;;;;3170:862:28:o;4037:154::-;4123:42;4116:5;4112:54;4105:5;4102:65;4092:93;;4181:1;4178;4171:12;4196:247;4255:6;4308:2;4296:9;4287:7;4283:23;4279:32;4276:52;;;4324:1;4321;4314:12;4276:52;4363:9;4350:23;4382:31;4407:5;4382:31;:::i;:::-;4432:5;4196:247;-1:-1:-1;;;4196:247:28:o;4640:184::-;4692:77;4689:1;4682:88;4789:4;4786:1;4779:15;4813:4;4810:1;4803:15;5011:184;5063:77;5060:1;5053:88;5160:4;5157:1;5150:15;5184:4;5181:1;5174:15;5200:218;5347:2;5336:9;5329:21;5310:4;5367:45;5408:2;5397:9;5393:18;5385:6;5367:45;:::i;5423:866::-;5480:3;5518:5;5512:12;5545:6;5540:3;5533:19;5571:4;5612:2;5607:3;5603:12;5637:11;5664;5657:18;;5714:6;5711:1;5707:14;5700:5;5696:26;5684:38;;5756:2;5749:5;5745:14;5777:1;5787:476;5801:6;5798:1;5795:13;5787:476;;;5862:16;;;5850:29;;5902:13;;5972:9;;5983:42;5968:58;5955:72;;6066:11;;6060:18;5938:4;6098:13;;;6091:25;;;6137:46;6169:13;;;6060:18;6137:46;:::i;:::-;6241:12;;;;6129:54;-1:-1:-1;;;6206:15:28;;;;5823:1;5816:9;5787:476;;;-1:-1:-1;6279:4:28;;5423:866;-1:-1:-1;;;;;;;5423:866:28:o;6294:311::-;6519:2;6508:9;6501:21;6482:4;6539:60;6595:2;6584:9;6580:18;6572:6;6539:60;:::i;6610:257::-;6682:4;6676:11;;;6714:17;;6761:18;6746:34;;6782:22;;;6743:62;6740:88;;;6808:18;;:::i;:::-;6844:4;6837:24;6610:257;:::o;6872:334::-;6943:2;6937:9;6999:2;6989:13;;7004:66;6985:86;6973:99;;7102:18;7087:34;;7123:22;;;7084:62;7081:88;;;7149:18;;:::i;:::-;7185:2;7178:22;6872:334;;-1:-1:-1;6872:334:28:o;7211:189::-;7277:4;7310:18;7302:6;7299:30;7296:56;;;7332:18;;:::i;:::-;-1:-1:-1;7377:1:28;7373:14;7389:4;7369:25;;7211:189::o;7405:164::-;7481:13;;7530;;7523:21;7513:32;;7503:60;;7559:1;7556;7549:12;7574:555;7627:5;7680:3;7673:4;7665:6;7661:17;7657:27;7647:55;;7698:1;7695;7688:12;7647:55;7727:6;7721:13;7753:18;7749:2;7746:26;7743:52;;;7775:18;;:::i;:::-;7819:114;7927:4;7858:66;7851:4;7847:2;7843:13;7839:86;7835:97;7819:114;:::i;:::-;7958:2;7949:7;7942:19;8004:3;7997:4;7992:2;7984:6;7980:15;7976:26;7973:35;7970:55;;;8021:1;8018;8011:12;7970:55;8034:64;8095:2;8088:4;8079:7;8075:18;8068:4;8060:6;8056:17;8034:64;:::i;:::-;8116:7;7574:555;-1:-1:-1;;;;7574:555:28:o;8134:1520::-;8205:5;8258:3;8251:4;8243:6;8239:17;8235:27;8225:55;;8276:1;8273;8266:12;8225:55;8305:6;8299:13;8331:4;8355:66;8371:49;8417:2;8371:49;:::i;:::-;8355:66;:::i;:::-;8455:15;;;8541:1;8537:10;;;;8525:23;;8521:32;;;8486:12;;;;8565:15;;;8562:35;;;8593:1;8590;8583:12;8562:35;8629:2;8621:6;8617:15;8641:984;8657:6;8652:3;8649:15;8641:984;;;8736:3;8730:10;8763:18;8813:2;8800:11;8797:19;8794:109;;;8857:1;8886:2;8882;8875:14;8794:109;8938:11;8930:6;8926:24;8916:34;;8973:4;9084:2;9015:66;9010:2;9005:3;9001:12;8997:85;8993:94;8990:184;;;9128:1;9157:2;9153;9146:14;8990:184;9200:22;;:::i;:::-;9249:39;9284:2;9280;9276:11;9249:39;:::i;:::-;9235:54;;9324:11;;;9318:18;;9352:16;;;9349:106;;;9409:1;9438:2;9434;9427:14;9349:106;9491:60;9547:3;9542:2;9531:8;9527:2;9523:17;9519:26;9491:60;:::i;:::-;9475:14;;;9468:84;9565:18;;-1:-1:-1;;;9603:12:28;;;;8674;;8641:984;;;-1:-1:-1;9643:5:28;8134:1520;-1:-1:-1;;;;;;8134:1520:28:o;9659:516::-;9797:6;9805;9813;9866:2;9854:9;9845:7;9841:23;9837:32;9834:52;;;9882:1;9879;9872:12;9834:52;9911:9;9905:16;9895:26;;9961:2;9950:9;9946:18;9940:25;9930:35;;10009:2;9998:9;9994:18;9988:25;10036:18;10028:6;10025:30;10022:50;;;10068:1;10065;10058:12;10022:50;10091:78;10161:7;10152:6;10141:9;10137:22;10091:78;:::i;:::-;10081:88;;;9659:516;;;;;:::o;10180:184::-;10250:6;10303:2;10291:9;10282:7;10278:23;10274:32;10271:52;;;10319:1;10316;10309:12;10271:52;-1:-1:-1;10342:16:28;;10180:184;-1:-1:-1;10180:184:28:o;10369:1199::-;10482:6;10490;10543:2;10531:9;10522:7;10518:23;10514:32;10511:52;;;10559:1;10556;10549:12;10511:52;10588:9;10582:16;10572:26;;10617:2;10663;10652:9;10648:18;10642:25;10686:18;10727:2;10719:6;10716:14;10713:34;;;10743:1;10740;10733:12;10713:34;10781:6;10770:9;10766:22;10756:32;;10826:7;10819:4;10815:2;10811:13;10807:27;10797:55;;10848:1;10845;10838:12;10797:55;10877:2;10871:9;10900:66;10916:49;10962:2;10916:49;:::i;10900:66::-;11000:15;;;11082:1;11078:10;;;;11070:19;;11066:28;;;11031:12;;;;11106:19;;;11103:39;;;11138:1;11135;11128:12;11103:39;11170:2;11166;11162:11;11182:356;11198:6;11193:3;11190:15;11182:356;;;11277:3;11271:10;11313:2;11300:11;11297:19;11294:109;;;11357:1;11386:2;11382;11375:14;11294:109;11428:67;11487:7;11482:2;11468:11;11464:2;11460:20;11456:29;11428:67;:::i;:::-;11416:80;;-1:-1:-1;11516:12:28;;;;11215;;11182:356;;;11186:3;11557:5;11547:15;;;;;;;;10369:1199;;;;;:::o;11949:392::-;12210:6;12203:14;12196:22;12185:9;12178:41;12255:2;12250;12239:9;12235:18;12228:30;12159:4;12275:60;12331:2;12320:9;12316:18;12308:6;12275:60;:::i;12346:394::-;12466:6;12519:2;12507:9;12498:7;12494:23;12490:32;12487:52;;;12535:1;12532;12525:12;12487:52;12568:9;12562:16;12601:18;12593:6;12590:30;12587:50;;;12633:1;12630;12623:12;12587:50;12656:78;12726:7;12717:6;12706:9;12702:22;12656:78;:::i;12745:437::-;12824:1;12820:12;;;;12867;;;12888:61;;12942:4;12934:6;12930:17;12920:27;;12888:61;12995:2;12987:6;12984:14;12964:18;12961:38;12958:218;;;13032:77;13029:1;13022:88;13133:4;13130:1;13123:15;13161:4;13158:1;13151:15;12958:218;;12745:437;;;:::o;13418:251::-;13488:6;13541:2;13529:9;13520:7;13516:23;13512:32;13509:52;;;13557:1;13554;13547:12;13509:52;13589:9;13583:16;13608:31;13633:5;13608:31;:::i;13674:279::-;13714:4;13742:1;13739;13736:8;13733:188;;;13777:77;13774:1;13767:88;13878:4;13875:1;13868:15;13906:4;13903:1;13896:15;13733:188;-1:-1:-1;13938:9:28;;13674:279::o;14260:417::-;14457:66;14449:6;14445:79;14440:3;14433:92;14415:3;14554:6;14548:13;14570:61;14624:6;14620:1;14615:3;14611:11;14604:4;14596:6;14592:17;14570:61;:::i;:::-;14651:16;;;;14669:1;14647:24;;14260:417;-1:-1:-1;;;14260:417:28:o;14682:274::-;14811:3;14849:6;14843:13;14865:53;14911:6;14906:3;14899:4;14891:6;14887:17;14865:53;:::i;:::-;14934:16;;;;;14682:274;-1:-1:-1;;14682:274:28:o;14961:202::-;15028:6;15081:2;15069:9;15060:7;15056:23;15052:32;15049:52;;;15097:1;15094;15087:12;15049:52;15120:37;15147:9;15120:37;:::i;15735:348::-;15965:2;15954:9;15947:21;15928:4;15985:49;16030:2;16019:9;16015:18;15648:2;15636:15;;15683:12;15676:4;15667:14;;15660:36;15721:2;15712:12;;15571:159;15985:49;15977:57;;16070:6;16065:2;16054:9;16050:18;16043:34;15735:348;;;;:::o;16252:::-;16482:2;16471:9;16464:21;16445:4;16502:49;16547:2;16536:9;16532:18;16165:2;16153:15;;16200:12;16193:4;16184:14;;16177:36;16238:2;16229:12;;16088:159;18475:397;18705:2;18694:9;18687:21;18668:4;18725:49;18770:2;18759:9;18755:18;15648:2;15636:15;;15683:12;15676:4;15667:14;;15660:36;15721:2;15712:12;;15571:159;18725:49;18717:57;;18822:42;18814:6;18810:55;18805:2;18794:9;18790:18;18783:83;18475:397;;;;:::o;18877:::-;19107:2;19096:9;19089:21;19070:4;19127:49;19172:2;19161:9;19157:18;16165:2;16153:15;;16200:12;16193:4;16184:14;;16177:36;16238:2;16229:12;;16088:159","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testAggregation()":"2fc1b6ab","testBlockAndAggregateUnsuccessful()":"1d303931","testGetBlockHash(uint256)":"41e299fe","testGetBlockNumber()":"23b4ffe0","testGetCurrentBlockCoinbase()":"9027c03f","testGetCurrentBlockDifficulty()":"77185968","testGetCurrentBlockGasLimit()":"943849a9","testGetCurrentBlockTimestamp()":"4059c002","testGetEthBalance(address)":"8ef09210","testGetLastBlockHash()":"af056092","testTryAggregate()":"7e5ed4db","testTryAggregateUnsuccessful()":"434004ec","testTryBlockAndAggregate()":"b668ab7d","testTryBlockAndAggregateUnsuccessful()":"90c6e931","testUnsuccessfulAggregation()":"a28c5e34"}}}},"src/test/Multicall3.t.sol":{"Multicall3Test":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testAggregate3","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testAggregate3Unsuccessful","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testAggregate3Value","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testAggregate3ValueUnsuccessful","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testAggregation","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testBlockAndAggregateUnsuccessful","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetBasefee","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetBlockNumber","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetChainId","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockCoinbase","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockDifficulty","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockGasLimit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetCurrentBlockTimestamp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetLastBlockHash","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testTryAggregate","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testTryAggregateUnsuccessful","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testTryBlockAndAggregate","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testTryBlockAndAggregateUnsuccessful","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testUnsuccessfulAggregation","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"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\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAggregate3\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAggregate3Unsuccessful\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAggregate3Value\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAggregate3ValueUnsuccessful\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAggregation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBlockAndAggregateUnsuccessful\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetBasefee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"testGetBlockHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetBlockNumber\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetChainId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockCoinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockDifficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockGasLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetCurrentBlockTimestamp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"testGetEthBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetLastBlockHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTryAggregate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTryAggregateUnsuccessful\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTryBlockAndAggregate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testTryBlockAndAggregateUnsuccessful\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testUnsuccessfulAggregation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"setUp()\":{\"notice\":\"Setups up the testing suite\"},\"testAggregate3()\":{\"notice\":\">>>>>>>>>>>>>>>>>>> AGGREGATE3 TESTS <<<<<<<<<<<<<<<<<<<<<< ///\"},\"testAggregate3Value()\":{\"notice\":\">>>>>>>>>>>>>>>>> AGGREGATE3VALUE TESTS <<<<<<<<<<<<<<<<<<< ///\"},\"testAggregation()\":{\"notice\":\">>>>>>>>>>>>>>>>>>>>> AGGREGATE TESTS <<<<<<<<<<<<<<<<<<<<< ///\"},\"testGetBlockHash(uint256)\":{\"notice\":\">>>>>>>>>>>>>>>>>>>>>> HELPER TESTS <<<<<<<<<<<<<<<<<<<<<<< ///\"},\"testTryAggregate()\":{\"notice\":\">>>>>>>>>>>>>>>>>>> TRY AGGREGATE TESTS <<<<<<<<<<<<<<<<<<< ///\"},\"testTryBlockAndAggregate()\":{\"notice\":\">>>>>>>>>>>>>> TRY BLOCK AND AGGREGATE TESTS <<<<<<<<<<<<<< ///\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/Multicall3.t.sol\":\"Multicall3Test\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"src/Multicall3.sol\":{\"keccak256\":\"0x95dfd0a2dd6626c7119ff7c3f214d56b289145f81a0521cd93a6252a326966f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead513cb13fe5373523cb3e1f3f1a1052791503269f4cc22e5e6177ed57d03ae\",\"dweb:/ipfs/Qmd5sRoq3rxHpBkcHr4baM2zP6Sud6eAL7AFoBbizFnWji\"]},\"src/test/Multicall3.t.sol\":{\"keccak256\":\"0x38483a5fff27fcf921f5f2acec7b585bd0d626aaa985468e75581f66292b2755\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c0acd53162844812a54eba52d717e831acfdc8b98eb0715b8077cd17a7657d0\",\"dweb:/ipfs/QmRtmgjt1qBsosuTj4BEDEDsg9f4qmXZ56nm11DPSwH1ds\"]},\"src/test/mocks/EtherSink.sol\":{\"keccak256\":\"0x9b3803e1bbefbae6b754c72da622fae849413991cfe20a9b73cb9234b292d8fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26b9734afc98dbee5b3baa8c3e9e5793f251964a0f77be5947fd0b6db1eb076f\",\"dweb:/ipfs/QmWvhaFdjTRJesGpGZSEqxs5xFFCc3Nk4PMwtS63XSBUpp\"]},\"src/test/mocks/MockCallee.sol\":{\"keccak256\":\"0x71cb32f7523d3b0f3304ba44a27e11d20d852fc041f44bd86deac14db74d3900\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94abae22bf2a1504705a8f1ce14cf45ef27caea856dc6e81131594c0e557ee78\",\"dweb:/ipfs/QmNtv3JjtVnHAJjBg8YyMpkHu8TAwfTde5GNsoknifXsXT\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608060405260008054600160ff19918216811790925560048054909116909117905534801561002d57600080fd5b50615ec98061003d6000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806385226c811161010f578063b5508aa9116100a2578063e20c9f7111610071578063e20c9f711461032d578063e3d37d7814610335578063f69f11f91461033d578063fa7626d41461034557600080fd5b8063b5508aa9146102fd578063b668ab7d14610305578063ba414fa61461030d578063d924f1801461032557600080fd5b8063916a17c6116100de578063916a17c6146102dd578063943849a9146102e5578063a28c5e34146102ed578063af056092146102f557600080fd5b806385226c81146102a55780638ef09210146102ba5780639027c03f146102cd57806390c6e931146102d557600080fd5b80634059c0021161018757806372f70f661161015657806372f70f6614610285578063771859681461028d5780637d498da7146102955780637e5ed4db1461029d57600080fd5b80634059c0021461024d57806341e299fe14610255578063434004ec1461026857806366d9a9a01461027057600080fd5b80632fc1b6ab116101c35780632fc1b6ab1461022d5780633ab461c7146102355780633e5e3c231461023d5780633f7286f41461024557600080fd5b80630a9254e4146101f55780631d303931146101ff5780631ed7831c1461020757806323b4ffe014610225575b600080fd5b6101fd610352565b005b6101fd61049e565b61020f6107d0565b60405161021c91906141c9565b60405180910390f35b6101fd61083f565b6101fd6108db565b6101fd610b0f565b61020f611764565b61020f6117d1565b6101fd61183e565b6101fd610263366004614223565b6118af565b6101fd611951565b610278611c84565b60405161021c919061423c565b6101fd611d95565b6101fd611e06565b6101fd611e77565b6101fd612354565b6102ad612604565b60405161021c91906143a8565b6101fd6102c836600461444a565b6126d4565b6101fd61274c565b6101fd6127e6565b610278612ab0565b6101fd612bb8565b6101fd612c29565b6101fd612f55565b6102ad612fd8565b6101fd6130a8565b610315613375565b604051901515815260200161021c565b6101fd6134d5565b61020f613546565b6101fd6135b3565b6101fd613891565b6000546103159060ff1681565b60405161035e906141a3565b604051809103906000f08015801561037a573d6000803e3d6000fd5b50601b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790556040516103cc906141b0565b604051809103906000f0801580156103e8573d6000803e3d6000fd5b50601c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905560405161043a906141bd565b604051809103906000f080158015610456573d6000803e3d6000fd5b50601d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816104b657905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906105a1576105a161449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052918201528151829060019081106106415761064161449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b81526004016106dd91906144cc565b600060405180830381600087803b1580156106f757600080fd5b505af115801561070b573d6000803e3d6000fd5b5050601b546040517fc3077fa900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063c3077fa9915061076590849060040161455e565b6000604051808303816000875af1158015610784573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107ca919081019061479f565b50505050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561083557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161080a575b5050505050905090565b6108d943601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342cbb15c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d491906147ef565b613c89565b565b604080516001808252818301909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816108f257905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906109dd576109dd61449d565b6020908102919091010152601b546040517f252dba42000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff9091169063252dba4290610a4390869060040161455e565b6000604051808303816000875af1158015610a62573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610aa89190810190614808565b91509150610ab68243613c89565b610b0a81600081518110610acc57610acc61449d565b6020026020010151805190602001204340604051602001610aef91815260200190565b60405160208183030381529060405280519060200120613d93565b505050565b60408051600380825260808201909252600091816020015b60408051608081018252600080825260208083018290529282015260608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610b275790505060408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600060208201819052818301529051436024820152919250906060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090610c4957610c4961449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff1681526000818401819052818301528151600481526024810190925291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790526060820152815182906001908110610cf757610cf761449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff9081168252600093820193909352600181830152601d5491519190921660248201526060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f36c40ea6000000000000000000000000000000000000000000000000000000001790529052815182906002908110610ddf57610ddf61449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b8152600401610e7b91906144cc565b600060405180830381600087803b158015610e9557600080fd5b505af1158015610ea9573d6000803e3d6000fd5b5050601b546040517f174dea7100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063174dea719150610f039084906004016148c5565b6000604051808303816000875af1158015610f22573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610f689190810190614986565b5060408051600380825260808201909252600091816020015b60408051608081018252600080825260208083018290529282015260608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610f815790505060408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600160208201526000818301529051436024820152919250906060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906110a3576110a361449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff16815260018184018190526000828401528251600481526024810190935292820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052606081019190915282519091839181106111555761115561449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff9081168252600193820184905281830193909352601d5491519190921660248201526060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f36c40ea600000000000000000000000000000000000000000000000000000000179052905281518290600290811061123d5761123d61449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601a81526020017f4d756c746963616c6c333a2076616c7565206d69736d617463680000000000008152506040518263ffffffff1660e01b81526004016112d991906144cc565b600060405180830381600087803b1580156112f357600080fd5b505af1158015611307573d6000803e3d6000fd5b5050601b546040517f174dea7100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063174dea7191506113619084906004016148c5565b6000604051808303816000875af1158015611380573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526113c69190810190614986565b5060408051600380825260808201909252600091816020015b60408051608081018252600080825260208083018290529282015260608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816113df5790505060408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600060208201819052818301529051436024820152919250906060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906115015761150161449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff16815260018184018190526000828401528251600481526024810190935292820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052606081019190915282519091839181106115b3576115b361449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff9081168252600093820193909352600181830152601d5491519190921660248201526060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f36c40ea600000000000000000000000000000000000000000000000000000000179052905281518290600290811061169b5761169b61449d565b6020908102919091010152601b546040517f174dea7100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063174dea71906001906116ff9085906004016148c5565b60006040518083038185885af115801561171d573d6000803e3d6000fd5b50505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107ca9190810190614986565b6060600f8054806020026020016040519081016040528092919081815260200182805480156108355760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161080a575050505050905090565b6060600e8054806020026020016040519081016040528092919081815260200182805480156108355760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161080a575050505050905090565b6108d942601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630f28c97d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b601b546040517fee82ac5e0000000000000000000000000000000000000000000000000000000081526004810183905261194e9183409173ffffffffffffffffffffffffffffffffffffffff9091169063ee82ac5e90602401602060405180830381865afa158015611925573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194991906147ef565b613d93565b50565b60408051600280825260608201909252600091816020015b60408051808201909152600081526060602082015281526020019060019003908161196957905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090611a5457611a5461449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110611af457611af461449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b8152600401611b9091906144cc565b600060405180830381600087803b158015611baa57600080fd5b505af1158015611bbe573d6000803e3d6000fd5b5050601b546040517fbce38bd700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063bce38bd79150611c1b9060019085906004016149bb565b6000604051808303816000875af1158015611c3a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611c809190810190614986565b5050565b60606012805480602002602001604051908101604052809291908181526020016000905b82821015611d8c57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939491938583019392830182828015611d7457602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411611d215790505b50505050508152505081526020019060010190611ca8565b50505050905090565b6108d948601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633e64a6966040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b6108d944601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166372425d9d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b60408051600380825260808201909252600091816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611e8f5790505060408051606081018252601c5473ffffffffffffffffffffffffffffffffffffffff1681526000602082015281514360248201529293509190820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090611f8857611f8861449d565b60209081029190910181019190915260408051606081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600181840181905282516004815260248101845293840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291810192909252825183919081106120315761203161449d565b60209081029190910181019190915260408051606081018252601b5473ffffffffffffffffffffffffffffffffffffffff16815260018184015281516004815260248101835292830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f0f28c97d00000000000000000000000000000000000000000000000000000000179052908101919091528151829060029081106120da576120da61449d565b6020908102919091010152601b546040517f82ad56cb00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff16906382ad56cb9061213c9085906004016149d6565b6000604051808303816000875af115801561215b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526121a19190810190614986565b90506121ca816000815181106121b9576121b961449d565b602002602001015160000151613e8d565b6122014340826000815181106121e2576121e261449d565b60200260200101516020015180602001905181019061194991906147ef565b61223e816000815181106122175761221761449d565b602002602001015160200151805190602001204340604051602001610aef91815260200190565b612266816001815181106122545761225461449d565b60200260200101516000015115613e8d565b6122908160018151811061227c5761227c61449d565b602002602001015160200151516004613c89565b612303816001815181106122a6576122a661449d565b6020026020010151602001516122bb90614a7d565b7fffffffff00000000000000000000000000000000000000000000000000000000167f81775cc300000000000000000000000000000000000000000000000000000000613d93565b612319816002815181106121b9576121b961449d565b611c808160028151811061232f5761232f61449d565b60200260200101516020015180602001905181019061234e91906147ef565b42613c89565b60408051600280825260608201909252600091816020015b60408051808201909152600081526060602082015281526020019060019003908161236c57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906124575761245761449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052918201528151829060019081106124f7576124f761449d565b6020908102919091010152601b546040517fbce38bd700000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063bce38bd79061255b90849086906004016149bb565b6000604051808303816000875af115801561257a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526125c09190810190614986565b90506125d8816000815181106121b9576121b961449d565b6125ee816000815181106122175761221761449d565b611c80816001815181106122545761225461449d565b60606011805480602002602001604051908101604052809291908181526020016000905b82821015611d8c57838290600052602060002001805461264790614acd565b80601f016020809104026020016040519081016040528092919081815260200182805461267390614acd565b80156126c05780601f10612695576101008083540402835291602001916126c0565b820191906000526020600020905b8154815290600101906020018083116126a357829003601f168201915b505050505081526020019060010190612628565b601b546040517f4d2301cc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830181905261194e93903192911690634d2301cc90602401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b6108d941601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8b0574e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e19190614b21565b613f01565b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816127fe57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906128e9576128e961449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052918201528151829060019081106129895761298961449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b8152600401612a2591906144cc565b600060405180830381600087803b158015612a3f57600080fd5b505af1158015612a53573d6000803e3d6000fd5b5050601b546040517f399542e900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063399542e991506107659060019085906004016149bb565b60606013805480602002602001604051908101604052809291908181526020016000905b82821015611d8c57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939491938583019392830182828015612ba057602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411612b4d5790505b50505050508152505081526020019060010190612ad4565b6108d945601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166386d516e86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b60408051600280825260608201909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081612c4157905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090612d2c57612d2c61449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110612dcc57612dcc61449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b8152600401612e6891906144cc565b600060405180830381600087803b158015612e8257600080fd5b505af1158015612e96573d6000803e3d6000fd5b5050601b546040517f252dba4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063252dba429150612ef090849060040161455e565b6000604051808303816000875af1158015612f0f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610b0a9190810190614808565b43612f5c57565b6108d9612f6a600143614b3e565b40601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327e86d6e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611925573d6000803e3d6000fd5b60606010805480602002602001604051908101604052809291908181526020016000905b82821015611d8c57838290600052602060002001805461301b90614acd565b80601f016020809104026020016040519081016040528092919081815260200182805461304790614acd565b80156130945780601f1061306957610100808354040283529160200191613094565b820191906000526020600020905b81548152906001019060200180831161307757829003601f168201915b505050505081526020019060010190612ffc565b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816130c057905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906131ab576131ab61449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529182015281518290600190811061324b5761324b61449d565b6020908102919091010152601b546040517f399542e90000000000000000000000000000000000000000000000000000000081526000918291829173ffffffffffffffffffffffffffffffffffffffff169063399542e9906132b390849088906004016149bb565b6000604051808303816000875af11580156132d2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613318919081019061479f565b9250925092506133288343613c89565b613333824340613d93565b613349816000815181106121b9576121b961449d565b61335f816000815181106122175761221761449d565b6107ca816001815181106122545761225461449d565b60008054610100900460ff16156133955750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156134d05760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909161343a917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001614b7c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261347291614bc4565b6000604051808303816000865af19150503d80600081146134af576040519150601f19603f3d011682016040523d82523d6000602084013e6134b4565b606091505b50915050808060200190518101906134cc9190614be0565b9150505b919050565b6108d946601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633408e4706040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b6060600c8054806020026020016040519081016040528092919081815260200182805480156108355760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161080a575050505050905090565b60408051600280825260608201909252600091816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816135cb5790505060408051606081018252601c5473ffffffffffffffffffffffffffffffffffffffff1681526000602082015281514360248201529293509190820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906136c4576136c461449d565b60209081029190910181019190915260408051606081018252601c5473ffffffffffffffffffffffffffffffffffffffff16815260008184015281516004815260248101835292830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529081019190915281518290600190811061376d5761376d61449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b815260040161380991906144cc565b600060405180830381600087803b15801561382357600080fd5b505af1158015613837573d6000803e3d6000fd5b5050601b546040517f82ad56cb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911692506382ad56cb9150611c1b9084906004016149d6565b60408051600380825260808201909252600091816020015b60408051608081018252600080825260208083018290529282015260608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816138a95790505060408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600060208201819052818301529051436024820152919250906060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906139cb576139cb61449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff16815260018184018190526000828401528251600481526024810190935292820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905260608101919091528251909183918110613a7d57613a7d61449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff9081168252600193820184905281830193909352601d5491519190921660248201526060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f36c40ea6000000000000000000000000000000000000000000000000000000001790529052815182906002908110613b6557613b6561449d565b6020908102919091010152601b546040517f174dea7100000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063174dea7190600190613bca9086906004016148c5565b60006040518083038185885af1158015613be8573d6000803e3d6000fd5b50505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613c2f9190810190614986565b9050613c47816000815181106121b9576121b961449d565b613c5d816000815181106122175761221761449d565b613c73816001815181106122545761225461449d565b611c80816002815181106121b9576121b961449d565b808214611c80577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051613d159060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a882604051613d4c9190614bfb565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a881604051613d839190614c46565b60405180910390a1611c80614027565b808214611c80577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051613e1f9060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f9982604051613e569190614bfb565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f9981604051613d839190614c46565b8061194e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051613ef19060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a161194e614027565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611c80577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051613fb99060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b61646460408201527f726573735d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f82604051613ff09190614c83565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f81604051613d839190614ce4565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156141755760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc490608001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526140f69291602001614b7c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261412e91614bc4565b6000604051808303816000865af19150503d806000811461416b576040519150601f19603f3d011682016040523d82523d6000602084013e614170565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b610f0080614d2283390190565b61021080615c2283390190565b606280615e3283390190565b6020808252825182820181905260009190848201906040850190845b8181101561421757835173ffffffffffffffffffffffffffffffffffffffff16835292840192918401916001016141e5565b50909695505050505050565b60006020828403121561423557600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015614323578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b8083101561430e5783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906142cc565b50978a01979550505091870191600101614264565b50919998505050505050505050565b60005b8381101561434d578181015183820152602001614335565b838111156107ca5750506000910152565b60008151808452614376816020860160208601614332565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561441b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261440985835161435e565b945092850192908501906001016143cf565b5092979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461194e57600080fd5b60006020828403121561445c57600080fd5b813561446781614428565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602081526000614467602083018461435e565b600081518084526020808501808196508360051b8101915082860160005b858110156145515782840389528151805173ffffffffffffffffffffffffffffffffffffffff168552850151604086860181905261453d8187018361435e565b9a87019a95505050908401906001016144fd565b5091979650505050505050565b60208152600061446760208301846144df565b6040805190810167ffffffffffffffff811182821017156145945761459461446e565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156145e1576145e161446e565b604052919050565b600067ffffffffffffffff8211156146035761460361446e565b5060051b60200190565b805180151581146134d057600080fd5b600082601f83011261462e57600080fd5b815167ffffffffffffffff8111156146485761464861446e565b61467960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161459a565b81815284602083860101111561468e57600080fd5b61469f826020830160208701614332565b949350505050565b600082601f8301126146b857600080fd5b815160206146cd6146c8836145e9565b61459a565b82815260059290921b840181019181810190868411156146ec57600080fd5b8286015b8481101561479457805167ffffffffffffffff808211156147115760008081fd5b81890191506040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848d0301121561474a5760008081fd5b614752614571565b61475d88850161460d565b81529083015190828211156147725760008081fd5b6147808c898487010161461d565b8189015286525050509183019183016146f0565b509695505050505050565b6000806000606084860312156147b457600080fd5b8351925060208401519150604084015167ffffffffffffffff8111156147d957600080fd5b6147e5868287016146a7565b9150509250925092565b60006020828403121561480157600080fd5b5051919050565b6000806040838503121561481b57600080fd5b8251915060208084015167ffffffffffffffff8082111561483b57600080fd5b818601915086601f83011261484f57600080fd5b815161485d6146c8826145e9565b81815260059190911b8301840190848101908983111561487c57600080fd5b8585015b838110156148b4578051858111156148985760008081fd5b6148a68c89838a010161461d565b845250918601918601614880565b508096505050505050509250929050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015614978578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff1684528781015115158885015286810151878501526060908101516080918501829052906149648186018361435e565b9689019694505050908601906001016148ec565b509098975050505050505050565b60006020828403121561499857600080fd5b815167ffffffffffffffff8111156149af57600080fd5b61469f848285016146a7565b821515815260406020820152600061469f60408301846144df565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015614978578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff168452878101511515888501528601516060878501819052614a698186018361435e565b9689019694505050908601906001016149fd565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015614ac55780818460040360031b1b83161693505b505050919050565b600181811c90821680614ae157607f821691505b60208210811415614b1b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215614b3357600080fd5b815161446781614428565b600082821015614b77577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251614bb6816004850160208701614332565b919091016004019392505050565b60008251614bd6818460208701614332565b9190910192915050565b600060208284031215614bf257600080fd5b6144678261460d565b604081526000614c3860408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b604081526000614c3860408301600a81527f2020202020526967687400000000000000000000000000000000000000000000602082015260400190565b604081526000614cc060408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905073ffffffffffffffffffffffffffffffffffffffff8316602083015292915050565b604081526000614cc060408301600a81527f202020202052696768740000000000000000000000000000000000000000000060208201526040019056fe608060405234801561001057600080fd5b50610ee0806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e1461025a578063bce38bd714610275578063c3077fa914610288578063ee82ac5e1461029b57600080fd5b80634d2301cc146101ec57806372425d9d1461022157806382ad56cb1461023457806386d516e81461024757600080fd5b80633408e470116100c65780633408e47014610191578063399542e9146101a45780633e64a696146101c657806342cbb15c146101d957600080fd5b80630f28c97d146100f8578063174dea711461011a578063252dba421461013a57806327e86d6e1461015b575b600080fd5b34801561010457600080fd5b50425b6040519081526020015b60405180910390f35b61012d610128366004610a85565b6102ba565b6040516101119190610bbe565b61014d610148366004610a85565b6104ef565b604051610111929190610bd8565b34801561016757600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610107565b34801561019d57600080fd5b5046610107565b6101b76101b2366004610c60565b610690565b60405161011193929190610cba565b3480156101d257600080fd5b5048610107565b3480156101e557600080fd5b5043610107565b3480156101f857600080fd5b50610107610207366004610ce2565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561022d57600080fd5b5044610107565b61012d610242366004610a85565b6106ab565b34801561025357600080fd5b5045610107565b34801561026657600080fd5b50604051418152602001610111565b61012d610283366004610c60565b61085a565b6101b7610296366004610a85565b610a1a565b3480156102a757600080fd5b506101076102b6366004610d18565b4090565b60606000828067ffffffffffffffff8111156102d8576102d8610d31565b60405190808252806020026020018201604052801561031e57816020015b6040805180820190915260008152606060208201528152602001906001900390816102f65790505b5092503660005b8281101561047757600085828151811061034157610341610d60565b6020026020010151905087878381811061035d5761035d610d60565b905060200281019061036f9190610d8f565b6040810135958601959093506103886020850185610ce2565b73ffffffffffffffffffffffffffffffffffffffff16816103ac6060870187610dcd565b6040516103ba929190610e32565b60006040518083038185875af1925050503d80600081146103f7576040519150601f19603f3d011682016040523d82523d6000602084013e6103fc565b606091505b50602080850191909152901515808452908501351761046d577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b5050600101610325565b508234146104e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d756c746963616c6c333a2076616c7565206d69736d6174636800000000000060448201526064015b60405180910390fd5b50505092915050565b436060828067ffffffffffffffff81111561050c5761050c610d31565b60405190808252806020026020018201604052801561053f57816020015b606081526020019060019003908161052a5790505b5091503660005b8281101561068657600087878381811061056257610562610d60565b90506020028101906105749190610e42565b92506105836020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166105a66020850185610dcd565b6040516105b4929190610e32565b6000604051808303816000865af19150503d80600081146105f1576040519150601f19603f3d011682016040523d82523d6000602084013e6105f6565b606091505b5086848151811061060957610609610d60565b602090810291909101015290508061067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b50600101610546565b5050509250929050565b43804060606106a086868661085a565b905093509350939050565b6060818067ffffffffffffffff8111156106c7576106c7610d31565b60405190808252806020026020018201604052801561070d57816020015b6040805180820190915260008152606060208201528152602001906001900390816106e55790505b5091503660005b828110156104e657600084828151811061073057610730610d60565b6020026020010151905086868381811061074c5761074c610d60565b905060200281019061075e9190610e76565b925061076d6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166107906040850185610dcd565b60405161079e929190610e32565b6000604051808303816000865af19150503d80600081146107db576040519150601f19603f3d011682016040523d82523d6000602084013e6107e0565b606091505b506020808401919091529015158083529084013517610851577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b50600101610714565b6060818067ffffffffffffffff81111561087657610876610d31565b6040519080825280602002602001820160405280156108bc57816020015b6040805180820190915260008152606060208201528152602001906001900390816108945790505b5091503660005b82811015610a105760008482815181106108df576108df610d60565b602002602001015190508686838181106108fb576108fb610d60565b905060200281019061090d9190610e42565b925061091c6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff1661093f6020850185610dcd565b60405161094d929190610e32565b6000604051808303816000865af19150503d806000811461098a576040519150601f19603f3d011682016040523d82523d6000602084013e61098f565b606091505b506020830152151581528715610a07578051610a07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b506001016108c3565b5050509392505050565b6000806060610a2b60018686610690565b919790965090945092505050565b60008083601f840112610a4b57600080fd5b50813567ffffffffffffffff811115610a6357600080fd5b6020830191508360208260051b8501011115610a7e57600080fd5b9250929050565b60008060208385031215610a9857600080fd5b823567ffffffffffffffff811115610aaf57600080fd5b610abb85828601610a39565b90969095509350505050565b6000815180845260005b81811015610aed57602081850181015186830182015201610ad1565b81811115610aff576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610bb1578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610b9d81860183610ac7565b9a86019a9450505090830190600101610b4f565b5090979650505050505050565b602081526000610bd16020830184610b32565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610c52577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610c40868351610ac7565b95509284019290840190600101610c06565b509398975050505050505050565b600080600060408486031215610c7557600080fd5b83358015158114610c8557600080fd5b9250602084013567ffffffffffffffff811115610ca157600080fd5b610cad86828701610a39565b9497909650939450505050565b838152826020820152606060408201526000610cd96060830184610b32565b95945050505050565b600060208284031215610cf457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610bd157600080fd5b600060208284031215610d2a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610dc357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610e0257600080fd5b83018035915067ffffffffffffffff821115610e1d57600080fd5b602001915036819003821315610a7e57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610dc357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610dc357600080fdfea2646970667358221220449a18ce35be1adaedc9fa8ac86170e8c0f9b35e4a63d7b367123a4743501ae564736f6c634300080c0033608060405234801561001057600080fd5b506101f0806100206000396000f3fe6080604052600436106100345760003560e01c8063032d00741461003957806336c40ea614610050578063ee82ac5e14610063575b600080fd5b34801561004557600080fd5b5061004e610094565b005b61004e61005e366004610164565b6100c6565b34801561006f57600080fd5b5061008261007e3660046101a1565b4090565b60405190815260200160405180910390f35b6040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff163460405160006040518083038185875af1925050503d8060008114610120576040519150601f19603f3d011682016040523d82523d6000602084013e610125565b606091505b5050905080610160576040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006020828403121561017657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019a57600080fd5b9392505050565b6000602082840312156101b357600080fd5b503591905056fea26469706673582212201346a6ce8930e965d60a2c42ebca53035036f2623f64330bfd093e3ddbe06dc164736f6c634300080c00336080604052348015600f57600080fd5b50604580601d6000396000f3fe608060405236600a57005b600080fdfea2646970667358221220436eb91872afe4157e5f088e49de50a733d5681111213f338e5b696087741bb664736f6c634300080c0033a26469706673582212204355840cf43ac6a9e4a1bcbe63b21105d99ce71c08f80d9de5ccbc3f347c689764736f6c634300080c0033","sourceMap":"245:9586:25:-:0;;;1572:26:0;;;1594:4;-1:-1:-1;;1572:26:0;;;;;;;;3288:44:3;;;;;;;;;;;245:9586:25;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405234801561001057600080fd5b50600436106101f05760003560e01c806385226c811161010f578063b5508aa9116100a2578063e20c9f7111610071578063e20c9f711461032d578063e3d37d7814610335578063f69f11f91461033d578063fa7626d41461034557600080fd5b8063b5508aa9146102fd578063b668ab7d14610305578063ba414fa61461030d578063d924f1801461032557600080fd5b8063916a17c6116100de578063916a17c6146102dd578063943849a9146102e5578063a28c5e34146102ed578063af056092146102f557600080fd5b806385226c81146102a55780638ef09210146102ba5780639027c03f146102cd57806390c6e931146102d557600080fd5b80634059c0021161018757806372f70f661161015657806372f70f6614610285578063771859681461028d5780637d498da7146102955780637e5ed4db1461029d57600080fd5b80634059c0021461024d57806341e299fe14610255578063434004ec1461026857806366d9a9a01461027057600080fd5b80632fc1b6ab116101c35780632fc1b6ab1461022d5780633ab461c7146102355780633e5e3c231461023d5780633f7286f41461024557600080fd5b80630a9254e4146101f55780631d303931146101ff5780631ed7831c1461020757806323b4ffe014610225575b600080fd5b6101fd610352565b005b6101fd61049e565b61020f6107d0565b60405161021c91906141c9565b60405180910390f35b6101fd61083f565b6101fd6108db565b6101fd610b0f565b61020f611764565b61020f6117d1565b6101fd61183e565b6101fd610263366004614223565b6118af565b6101fd611951565b610278611c84565b60405161021c919061423c565b6101fd611d95565b6101fd611e06565b6101fd611e77565b6101fd612354565b6102ad612604565b60405161021c91906143a8565b6101fd6102c836600461444a565b6126d4565b6101fd61274c565b6101fd6127e6565b610278612ab0565b6101fd612bb8565b6101fd612c29565b6101fd612f55565b6102ad612fd8565b6101fd6130a8565b610315613375565b604051901515815260200161021c565b6101fd6134d5565b61020f613546565b6101fd6135b3565b6101fd613891565b6000546103159060ff1681565b60405161035e906141a3565b604051809103906000f08015801561037a573d6000803e3d6000fd5b50601b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790556040516103cc906141b0565b604051809103906000f0801580156103e8573d6000803e3d6000fd5b50601c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905560405161043a906141bd565b604051809103906000f080158015610456573d6000803e3d6000fd5b50601d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816104b657905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906105a1576105a161449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052918201528151829060019081106106415761064161449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b81526004016106dd91906144cc565b600060405180830381600087803b1580156106f757600080fd5b505af115801561070b573d6000803e3d6000fd5b5050601b546040517fc3077fa900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063c3077fa9915061076590849060040161455e565b6000604051808303816000875af1158015610784573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107ca919081019061479f565b50505050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561083557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161080a575b5050505050905090565b6108d943601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342cbb15c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d491906147ef565b613c89565b565b604080516001808252818301909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816108f257905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906109dd576109dd61449d565b6020908102919091010152601b546040517f252dba42000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff9091169063252dba4290610a4390869060040161455e565b6000604051808303816000875af1158015610a62573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610aa89190810190614808565b91509150610ab68243613c89565b610b0a81600081518110610acc57610acc61449d565b6020026020010151805190602001204340604051602001610aef91815260200190565b60405160208183030381529060405280519060200120613d93565b505050565b60408051600380825260808201909252600091816020015b60408051608081018252600080825260208083018290529282015260608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610b275790505060408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600060208201819052818301529051436024820152919250906060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090610c4957610c4961449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff1681526000818401819052818301528151600481526024810190925291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790526060820152815182906001908110610cf757610cf761449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff9081168252600093820193909352600181830152601d5491519190921660248201526060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f36c40ea6000000000000000000000000000000000000000000000000000000001790529052815182906002908110610ddf57610ddf61449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b8152600401610e7b91906144cc565b600060405180830381600087803b158015610e9557600080fd5b505af1158015610ea9573d6000803e3d6000fd5b5050601b546040517f174dea7100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063174dea719150610f039084906004016148c5565b6000604051808303816000875af1158015610f22573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610f689190810190614986565b5060408051600380825260808201909252600091816020015b60408051608081018252600080825260208083018290529282015260608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610f815790505060408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600160208201526000818301529051436024820152919250906060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906110a3576110a361449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff16815260018184018190526000828401528251600481526024810190935292820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052606081019190915282519091839181106111555761115561449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff9081168252600193820184905281830193909352601d5491519190921660248201526060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f36c40ea600000000000000000000000000000000000000000000000000000000179052905281518290600290811061123d5761123d61449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601a81526020017f4d756c746963616c6c333a2076616c7565206d69736d617463680000000000008152506040518263ffffffff1660e01b81526004016112d991906144cc565b600060405180830381600087803b1580156112f357600080fd5b505af1158015611307573d6000803e3d6000fd5b5050601b546040517f174dea7100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063174dea7191506113619084906004016148c5565b6000604051808303816000875af1158015611380573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526113c69190810190614986565b5060408051600380825260808201909252600091816020015b60408051608081018252600080825260208083018290529282015260608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816113df5790505060408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600060208201819052818301529051436024820152919250906060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906115015761150161449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff16815260018184018190526000828401528251600481526024810190935292820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052606081019190915282519091839181106115b3576115b361449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff9081168252600093820193909352600181830152601d5491519190921660248201526060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f36c40ea600000000000000000000000000000000000000000000000000000000179052905281518290600290811061169b5761169b61449d565b6020908102919091010152601b546040517f174dea7100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063174dea71906001906116ff9085906004016148c5565b60006040518083038185885af115801561171d573d6000803e3d6000fd5b50505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107ca9190810190614986565b6060600f8054806020026020016040519081016040528092919081815260200182805480156108355760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161080a575050505050905090565b6060600e8054806020026020016040519081016040528092919081815260200182805480156108355760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161080a575050505050905090565b6108d942601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630f28c97d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b601b546040517fee82ac5e0000000000000000000000000000000000000000000000000000000081526004810183905261194e9183409173ffffffffffffffffffffffffffffffffffffffff9091169063ee82ac5e90602401602060405180830381865afa158015611925573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194991906147ef565b613d93565b50565b60408051600280825260608201909252600091816020015b60408051808201909152600081526060602082015281526020019060019003908161196957905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090611a5457611a5461449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110611af457611af461449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b8152600401611b9091906144cc565b600060405180830381600087803b158015611baa57600080fd5b505af1158015611bbe573d6000803e3d6000fd5b5050601b546040517fbce38bd700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063bce38bd79150611c1b9060019085906004016149bb565b6000604051808303816000875af1158015611c3a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611c809190810190614986565b5050565b60606012805480602002602001604051908101604052809291908181526020016000905b82821015611d8c57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939491938583019392830182828015611d7457602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411611d215790505b50505050508152505081526020019060010190611ca8565b50505050905090565b6108d948601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633e64a6966040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b6108d944601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166372425d9d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b60408051600380825260808201909252600091816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611e8f5790505060408051606081018252601c5473ffffffffffffffffffffffffffffffffffffffff1681526000602082015281514360248201529293509190820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090611f8857611f8861449d565b60209081029190910181019190915260408051606081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600181840181905282516004815260248101845293840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291810192909252825183919081106120315761203161449d565b60209081029190910181019190915260408051606081018252601b5473ffffffffffffffffffffffffffffffffffffffff16815260018184015281516004815260248101835292830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f0f28c97d00000000000000000000000000000000000000000000000000000000179052908101919091528151829060029081106120da576120da61449d565b6020908102919091010152601b546040517f82ad56cb00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff16906382ad56cb9061213c9085906004016149d6565b6000604051808303816000875af115801561215b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526121a19190810190614986565b90506121ca816000815181106121b9576121b961449d565b602002602001015160000151613e8d565b6122014340826000815181106121e2576121e261449d565b60200260200101516020015180602001905181019061194991906147ef565b61223e816000815181106122175761221761449d565b602002602001015160200151805190602001204340604051602001610aef91815260200190565b612266816001815181106122545761225461449d565b60200260200101516000015115613e8d565b6122908160018151811061227c5761227c61449d565b602002602001015160200151516004613c89565b612303816001815181106122a6576122a661449d565b6020026020010151602001516122bb90614a7d565b7fffffffff00000000000000000000000000000000000000000000000000000000167f81775cc300000000000000000000000000000000000000000000000000000000613d93565b612319816002815181106121b9576121b961449d565b611c808160028151811061232f5761232f61449d565b60200260200101516020015180602001905181019061234e91906147ef565b42613c89565b60408051600280825260608201909252600091816020015b60408051808201909152600081526060602082015281526020019060019003908161236c57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906124575761245761449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052918201528151829060019081106124f7576124f761449d565b6020908102919091010152601b546040517fbce38bd700000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063bce38bd79061255b90849086906004016149bb565b6000604051808303816000875af115801561257a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526125c09190810190614986565b90506125d8816000815181106121b9576121b961449d565b6125ee816000815181106122175761221761449d565b611c80816001815181106122545761225461449d565b60606011805480602002602001604051908101604052809291908181526020016000905b82821015611d8c57838290600052602060002001805461264790614acd565b80601f016020809104026020016040519081016040528092919081815260200182805461267390614acd565b80156126c05780601f10612695576101008083540402835291602001916126c0565b820191906000526020600020905b8154815290600101906020018083116126a357829003601f168201915b505050505081526020019060010190612628565b601b546040517f4d2301cc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830181905261194e93903192911690634d2301cc90602401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b6108d941601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8b0574e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e19190614b21565b613f01565b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816127fe57905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906128e9576128e961449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d007400000000000000000000000000000000000000000000000000000000179052918201528151829060019081106129895761298961449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b8152600401612a2591906144cc565b600060405180830381600087803b158015612a3f57600080fd5b505af1158015612a53573d6000803e3d6000fd5b5050601b546040517f399542e900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063399542e991506107659060019085906004016149bb565b60606013805480602002602001604051908101604052809291908181526020016000905b82821015611d8c57600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939491938583019392830182828015612ba057602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411612b4d5790505b50505050508152505081526020019060010190612ad4565b6108d945601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166386d516e86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b60408051600280825260608201909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081612c4157905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e00000000000000000000000000000000000000000000000000000000179052905281518290600090612d2c57612d2c61449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905291820152815182906001908110612dcc57612dcc61449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b8152600401612e6891906144cc565b600060405180830381600087803b158015612e8257600080fd5b505af1158015612e96573d6000803e3d6000fd5b5050601b546040517f252dba4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116925063252dba429150612ef090849060040161455e565b6000604051808303816000875af1158015612f0f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610b0a9190810190614808565b43612f5c57565b6108d9612f6a600143614b3e565b40601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327e86d6e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611925573d6000803e3d6000fd5b60606010805480602002602001604051908101604052809291908181526020016000905b82821015611d8c57838290600052602060002001805461301b90614acd565b80601f016020809104026020016040519081016040528092919081815260200182805461304790614acd565b80156130945780601f1061306957610100808354040283529160200191613094565b820191906000526020600020905b81548152906001019060200180831161307757829003601f168201915b505050505081526020019060010190612ffc565b60408051600280825260608201909252600091816020015b6040805180820190915260008152606060208201528152602001906001900390816130c057905050604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681529051436024820152919250906020820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906131ab576131ab61449d565b602090810291909101810191909152604080518082018252601c5473ffffffffffffffffffffffffffffffffffffffff1681528151600481526024810190925281830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529182015281518290600190811061324b5761324b61449d565b6020908102919091010152601b546040517f399542e90000000000000000000000000000000000000000000000000000000081526000918291829173ffffffffffffffffffffffffffffffffffffffff169063399542e9906132b390849088906004016149bb565b6000604051808303816000875af11580156132d2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613318919081019061479f565b9250925092506133288343613c89565b613333824340613d93565b613349816000815181106121b9576121b961449d565b61335f816000815181106122175761221761449d565b6107ca816001815181106122545761225461449d565b60008054610100900460ff16156133955750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156134d05760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000008284015282518083038401815260608301909352600092909161343a917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001614b7c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261347291614bc4565b6000604051808303816000865af19150503d80600081146134af576040519150601f19603f3d011682016040523d82523d6000602084013e6134b4565b606091505b50915050808060200190518101906134cc9190614be0565b9150505b919050565b6108d946601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633408e4706040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b0573d6000803e3d6000fd5b6060600c8054806020026020016040519081016040528092919081815260200182805480156108355760200282019190600052602060002090815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161080a575050505050905090565b60408051600280825260608201909252600091816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816135cb5790505060408051606081018252601c5473ffffffffffffffffffffffffffffffffffffffff1681526000602082015281514360248201529293509190820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906136c4576136c461449d565b60209081029190910181019190915260408051606081018252601c5473ffffffffffffffffffffffffffffffffffffffff16815260008184015281516004815260248101835292830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d0074000000000000000000000000000000000000000000000000000000001790529081019190915281518290600190811061376d5761376d61449d565b60200260200101819052507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518060400160405280601781526020017f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000008152506040518263ffffffff1660e01b815260040161380991906144cc565b600060405180830381600087803b15801561382357600080fd5b505af1158015613837573d6000803e3d6000fd5b5050601b546040517f82ad56cb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911692506382ad56cb9150611c1b9084906004016149d6565b60408051600380825260808201909252600091816020015b60408051608081018252600080825260208083018290529282015260608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816138a95790505060408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff168152600060208201819052818301529051436024820152919250906060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee82ac5e000000000000000000000000000000000000000000000000000000001790529052815182906000906139cb576139cb61449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff16815260018184018190526000828401528251600481526024810190935292820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f032d00740000000000000000000000000000000000000000000000000000000017905260608101919091528251909183918110613a7d57613a7d61449d565b60209081029190910181019190915260408051608081018252601c5473ffffffffffffffffffffffffffffffffffffffff9081168252600193820184905281830193909352601d5491519190921660248201526060820190604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f36c40ea6000000000000000000000000000000000000000000000000000000001790529052815182906002908110613b6557613b6561449d565b6020908102919091010152601b546040517f174dea7100000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063174dea7190600190613bca9086906004016148c5565b60006040518083038185885af1158015613be8573d6000803e3d6000fd5b50505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613c2f9190810190614986565b9050613c47816000815181106121b9576121b961449d565b613c5d816000815181106122175761221761449d565b613c73816001815181106122545761225461449d565b611c80816002815181106121b9576121b961449d565b808214611c80577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051613d159060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a882604051613d4c9190614bfb565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a881604051613d839190614c46565b60405180910390a1611c80614027565b808214611c80577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051613e1f9060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f9982604051613e569190614bfb565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f9981604051613d839190614c46565b8061194e577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051613ef19060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a161194e614027565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611c80577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051613fb99060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b61646460408201527f726573735d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f82604051613ff09190614c83565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f81604051613d839190614ce4565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156141755760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc490608001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526140f69291602001614b7c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261412e91614bc4565b6000604051808303816000865af19150503d806000811461416b576040519150601f19603f3d011682016040523d82523d6000602084013e614170565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b610f0080614d2283390190565b61021080615c2283390190565b606280615e3283390190565b6020808252825182820181905260009190848201906040850190845b8181101561421757835173ffffffffffffffffffffffffffffffffffffffff16835292840192918401916001016141e5565b50909695505050505050565b60006020828403121561423557600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015614323578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00186528251805173ffffffffffffffffffffffffffffffffffffffff168552880151888501889052805188860181905290890190839060608701905b8083101561430e5783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906142cc565b50978a01979550505091870191600101614264565b50919998505050505050505050565b60005b8381101561434d578181015183820152602001614335565b838111156107ca5750506000910152565b60008151808452614376816020860160208601614332565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561441b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261440985835161435e565b945092850192908501906001016143cf565b5092979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461194e57600080fd5b60006020828403121561445c57600080fd5b813561446781614428565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602081526000614467602083018461435e565b600081518084526020808501808196508360051b8101915082860160005b858110156145515782840389528151805173ffffffffffffffffffffffffffffffffffffffff168552850151604086860181905261453d8187018361435e565b9a87019a95505050908401906001016144fd565b5091979650505050505050565b60208152600061446760208301846144df565b6040805190810167ffffffffffffffff811182821017156145945761459461446e565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156145e1576145e161446e565b604052919050565b600067ffffffffffffffff8211156146035761460361446e565b5060051b60200190565b805180151581146134d057600080fd5b600082601f83011261462e57600080fd5b815167ffffffffffffffff8111156146485761464861446e565b61467960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161459a565b81815284602083860101111561468e57600080fd5b61469f826020830160208701614332565b949350505050565b600082601f8301126146b857600080fd5b815160206146cd6146c8836145e9565b61459a565b82815260059290921b840181019181810190868411156146ec57600080fd5b8286015b8481101561479457805167ffffffffffffffff808211156147115760008081fd5b81890191506040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848d0301121561474a5760008081fd5b614752614571565b61475d88850161460d565b81529083015190828211156147725760008081fd5b6147808c898487010161461d565b8189015286525050509183019183016146f0565b509695505050505050565b6000806000606084860312156147b457600080fd5b8351925060208401519150604084015167ffffffffffffffff8111156147d957600080fd5b6147e5868287016146a7565b9150509250925092565b60006020828403121561480157600080fd5b5051919050565b6000806040838503121561481b57600080fd5b8251915060208084015167ffffffffffffffff8082111561483b57600080fd5b818601915086601f83011261484f57600080fd5b815161485d6146c8826145e9565b81815260059190911b8301840190848101908983111561487c57600080fd5b8585015b838110156148b4578051858111156148985760008081fd5b6148a68c89838a010161461d565b845250918601918601614880565b508096505050505050509250929050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015614978578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff1684528781015115158885015286810151878501526060908101516080918501829052906149648186018361435e565b9689019694505050908601906001016148ec565b509098975050505050505050565b60006020828403121561499857600080fd5b815167ffffffffffffffff8111156149af57600080fd5b61469f848285016146a7565b821515815260406020820152600061469f60408301846144df565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015614978578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805173ffffffffffffffffffffffffffffffffffffffff168452878101511515888501528601516060878501819052614a698186018361435e565b9689019694505050908601906001016149fd565b6000815160208301517fffffffff0000000000000000000000000000000000000000000000000000000080821693506004831015614ac55780818460040360031b1b83161693505b505050919050565b600181811c90821680614ae157607f821691505b60208210811415614b1b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600060208284031215614b3357600080fd5b815161446781614428565b600082821015614b77577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251614bb6816004850160208701614332565b919091016004019392505050565b60008251614bd6818460208701614332565b9190910192915050565b600060208284031215614bf257600080fd5b6144678261460d565b604081526000614c3860408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b604081526000614c3860408301600a81527f2020202020526967687400000000000000000000000000000000000000000000602082015260400190565b604081526000614cc060408301600a81527f2020202020204c65667400000000000000000000000000000000000000000000602082015260400190565b905073ffffffffffffffffffffffffffffffffffffffff8316602083015292915050565b604081526000614cc060408301600a81527f202020202052696768740000000000000000000000000000000000000000000060208201526040019056fe608060405234801561001057600080fd5b50610ee0806100206000396000f3fe6080604052600436106100f35760003560e01c80634d2301cc1161008a578063a8b0574e11610059578063a8b0574e1461025a578063bce38bd714610275578063c3077fa914610288578063ee82ac5e1461029b57600080fd5b80634d2301cc146101ec57806372425d9d1461022157806382ad56cb1461023457806386d516e81461024757600080fd5b80633408e470116100c65780633408e47014610191578063399542e9146101a45780633e64a696146101c657806342cbb15c146101d957600080fd5b80630f28c97d146100f8578063174dea711461011a578063252dba421461013a57806327e86d6e1461015b575b600080fd5b34801561010457600080fd5b50425b6040519081526020015b60405180910390f35b61012d610128366004610a85565b6102ba565b6040516101119190610bbe565b61014d610148366004610a85565b6104ef565b604051610111929190610bd8565b34801561016757600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610107565b34801561019d57600080fd5b5046610107565b6101b76101b2366004610c60565b610690565b60405161011193929190610cba565b3480156101d257600080fd5b5048610107565b3480156101e557600080fd5b5043610107565b3480156101f857600080fd5b50610107610207366004610ce2565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561022d57600080fd5b5044610107565b61012d610242366004610a85565b6106ab565b34801561025357600080fd5b5045610107565b34801561026657600080fd5b50604051418152602001610111565b61012d610283366004610c60565b61085a565b6101b7610296366004610a85565b610a1a565b3480156102a757600080fd5b506101076102b6366004610d18565b4090565b60606000828067ffffffffffffffff8111156102d8576102d8610d31565b60405190808252806020026020018201604052801561031e57816020015b6040805180820190915260008152606060208201528152602001906001900390816102f65790505b5092503660005b8281101561047757600085828151811061034157610341610d60565b6020026020010151905087878381811061035d5761035d610d60565b905060200281019061036f9190610d8f565b6040810135958601959093506103886020850185610ce2565b73ffffffffffffffffffffffffffffffffffffffff16816103ac6060870187610dcd565b6040516103ba929190610e32565b60006040518083038185875af1925050503d80600081146103f7576040519150601f19603f3d011682016040523d82523d6000602084013e6103fc565b606091505b50602080850191909152901515808452908501351761046d577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260846000fd5b5050600101610325565b508234146104e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d756c746963616c6c333a2076616c7565206d69736d6174636800000000000060448201526064015b60405180910390fd5b50505092915050565b436060828067ffffffffffffffff81111561050c5761050c610d31565b60405190808252806020026020018201604052801561053f57816020015b606081526020019060019003908161052a5790505b5091503660005b8281101561068657600087878381811061056257610562610d60565b90506020028101906105749190610e42565b92506105836020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166105a66020850185610dcd565b6040516105b4929190610e32565b6000604051808303816000865af19150503d80600081146105f1576040519150601f19603f3d011682016040523d82523d6000602084013e6105f6565b606091505b5086848151811061060957610609610d60565b602090810291909101015290508061067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b50600101610546565b5050509250929050565b43804060606106a086868661085a565b905093509350939050565b6060818067ffffffffffffffff8111156106c7576106c7610d31565b60405190808252806020026020018201604052801561070d57816020015b6040805180820190915260008152606060208201528152602001906001900390816106e55790505b5091503660005b828110156104e657600084828151811061073057610730610d60565b6020026020010151905086868381811061074c5761074c610d60565b905060200281019061075e9190610e76565b925061076d6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff166107906040850185610dcd565b60405161079e929190610e32565b6000604051808303816000865af19150503d80600081146107db576040519150601f19603f3d011682016040523d82523d6000602084013e6107e0565b606091505b506020808401919091529015158083529084013517610851577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b50600101610714565b6060818067ffffffffffffffff81111561087657610876610d31565b6040519080825280602002602001820160405280156108bc57816020015b6040805180820190915260008152606060208201528152602001906001900390816108945790505b5091503660005b82811015610a105760008482815181106108df576108df610d60565b602002602001015190508686838181106108fb576108fb610d60565b905060200281019061090d9190610e42565b925061091c6020840184610ce2565b73ffffffffffffffffffffffffffffffffffffffff1661093f6020850185610dcd565b60405161094d929190610e32565b6000604051808303816000865af19150503d806000811461098a576040519150601f19603f3d011682016040523d82523d6000602084013e61098f565b606091505b506020830152151581528715610a07578051610a07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064016104dd565b506001016108c3565b5050509392505050565b6000806060610a2b60018686610690565b919790965090945092505050565b60008083601f840112610a4b57600080fd5b50813567ffffffffffffffff811115610a6357600080fd5b6020830191508360208260051b8501011115610a7e57600080fd5b9250929050565b60008060208385031215610a9857600080fd5b823567ffffffffffffffff811115610aaf57600080fd5b610abb85828601610a39565b90969095509350505050565b6000815180845260005b81811015610aed57602081850181015186830182015201610ad1565b81811115610aff576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610bb1578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610b9d81860183610ac7565b9a86019a9450505090830190600101610b4f565b5090979650505050505050565b602081526000610bd16020830184610b32565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610c52577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610c40868351610ac7565b95509284019290840190600101610c06565b509398975050505050505050565b600080600060408486031215610c7557600080fd5b83358015158114610c8557600080fd5b9250602084013567ffffffffffffffff811115610ca157600080fd5b610cad86828701610a39565b9497909650939450505050565b838152826020820152606060408201526000610cd96060830184610b32565b95945050505050565b600060208284031215610cf457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610bd157600080fd5b600060208284031215610d2a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610dc357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610e0257600080fd5b83018035915067ffffffffffffffff821115610e1d57600080fd5b602001915036819003821315610a7e57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610dc357600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610dc357600080fdfea2646970667358221220449a18ce35be1adaedc9fa8ac86170e8c0f9b35e4a63d7b367123a4743501ae564736f6c634300080c0033608060405234801561001057600080fd5b506101f0806100206000396000f3fe6080604052600436106100345760003560e01c8063032d00741461003957806336c40ea614610050578063ee82ac5e14610063575b600080fd5b34801561004557600080fd5b5061004e610094565b005b61004e61005e366004610164565b6100c6565b34801561006f57600080fd5b5061008261007e3660046101a1565b4090565b60405190815260200160405180910390f35b6040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff163460405160006040518083038185875af1925050503d8060008114610120576040519150601f19603f3d011682016040523d82523d6000602084013e610125565b606091505b5050905080610160576040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006020828403121561017657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019a57600080fd5b9392505050565b6000602082840312156101b357600080fd5b503591905056fea26469706673582212201346a6ce8930e965d60a2c42ebca53035036f2623f64330bfd093e3ddbe06dc164736f6c634300080c00336080604052348015600f57600080fd5b50604580601d6000396000f3fe608060405236600a57005b600080fdfea2646970667358221220436eb91872afe4157e5f088e49de50a733d5681111213f338e5b696087741bb664736f6c634300080c0033a26469706673582212204355840cf43ac6a9e4a1bcbe63b21105d99ce71c08f80d9de5ccbc3f347c689764736f6c634300080c0033","sourceMap":"245:9586:25:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;392:127;;;:::i;:::-;;3835:425;;;:::i;2161:134:6:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8715:98:25;;;:::i;596:461::-;;;:::i;6749:1751::-;;;:::i;2930:133:6:-;;;:::i;2631:141::-;;;:::i;9189:121:25:-;;;:::i;8577:134::-;;;;;;:::i;:::-;;:::i;2164:421::-;;;:::i;2447:178:6:-;;;:::i;:::-;;;;;;;:::i;9643:91:25:-;;;:::i;8939:124::-;;;:::i;4337:1091::-;;;:::i;1579:581::-;;;:::i;2301:140:6:-;;;:::i;:::-;;;;;;;:::i;9314:112:25:-;;;;;;:::i;:::-;;:::i;8817:118::-;;;:::i;3394:437::-;;;:::i;2778:146:6:-;;;:::i;9067:118:25:-;;;:::i;1061:441::-;;;:::i;9430:209::-;;;:::i;1866:141:6:-;;;:::i;2662:728:25:-;;;:::i;1819:584:0:-;;;:::i;:::-;;;4613:14:28;;4606:22;4588:41;;4576:2;4561:18;1819:584:0;4448:187:28;9738:91:25;;;:::i;2013:142:6:-;;;:::i;5432:429:25:-;;;:::i;5938:807::-;;;:::i;1572:26:0:-;;;;;;;;;392:127:25;434:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;422:9:25;:28;;;;;;;;;;;;;;;465:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;456:6:25;:25;;;;;;;;;;;;;;;499:15;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;487:9:25;:27;;;;;;;;;;;;;;;392:127::o;3835:425::-;3926:24;;;3948:1;3926:24;;;;;;;;;3893:30;;3926:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;3926:24:25;;;;;;;;;;;;;;-1:-1:-1;3967:96:25;;;;;;;;3991:6;;;;3967:96;;4000:62;;4049:12;4000:62;;;4975:25:28;3893:57:25;;-1:-1:-1;3967:96:25;;;;;4948:18:28;;4000:62:25;;;;;;;;;;;;;;;;;;;;;;;;3967:96;;3956:8;;:5;;-1:-1:-1;;3956:8:25;;;;:::i;:::-;;;;;;;;;;;:107;;;;4080:80;;;;;;;;4104:6;;;;4080:80;;4113:46;;;;;;;;;;;;;;;;;;;;;;4080:80;;;;4069:8;;:5;;4104:6;;4069:8;;;;;;:::i;:::-;;;;;;:91;;;;317:28:1;309:37;;4166:15:25;;;4182:32;;;;;;;;;;;;;;;;;4166:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4221:9:25;;:34;;;;;:9;;;;;-1:-1:-1;4221:27:25;;-1:-1:-1;4221:34:25;;4249:5;;4221:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;3887:373;3835:425::o;2161:134:6:-;2208:33;2272:16;2253:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2161:134;:::o;8715:98:25:-;8758:50;8767:12;8781:9;;;;;;;;;;;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8758:8;:50::i;:::-;8715:98::o;596:461::-;697:24;;;719:1;697:24;;;;;;;;;664:30;;697:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;697:24:25;;;;;;;;;;;;;;-1:-1:-1;738:96:25;;;;;;;;762:6;;;;738:96;;771:62;;820:12;771:62;;;4975:25:28;664:57:25;;-1:-1:-1;738:96:25;;;;;4948:18:28;;771:62:25;;;;;;;;;;;;;;;;;;;;;;;;738:96;;727:8;;:5;;-1:-1:-1;;727:8:25;;;;:::i;:::-;;;;;;;;;;:107;891:9;;:26;;;;;841:19;;;;891:9;;;;;:19;;:26;;911:5;;891:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;840:77;;;;923:35;932:11;945:12;923:8;:35::i;:::-;964:88;983:10;994:1;983:13;;;;;;;;:::i;:::-;;;;;;;973:24;;;;;;1036:12;1026:23;1009:41;;;;;;11702:19:28;;11746:2;11737:12;;11573:182;1009:41:25;;;;;;;;;;;;;999:52;;;;;;964:8;:88::i;:::-;630:427;;;596:461::o;6749:1751::-;6844:30;;;6872:1;6844:30;;;;;;;;;6805:36;;6844:30;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;6844:30:25;;;;;;;;;;;;;-1:-1:-1;6891:112:25;;;;;;;;6921:6;;;;6891:112;;-1:-1:-1;6891:112:25;;;;;;;;;;6940:62;;6989:12;6940:62;;;4975:25:28;6805:69:25;;-1:-1:-1;6891:112:25;;;;;4948:18:28;;6940:62:25;;;;;;;;;;;;;;;;;;;;;;;;6891:112;;6880:8;;:5;;-1:-1:-1;;6880:8:25;;;;:::i;:::-;;;;;;;;;;;:123;;;;7020:96;;;;;;;;7050:6;;;;7020:96;;-1:-1:-1;7020:96:25;;;;;;;;;;7069:46;;;;;;;;;;;;;;;;;;;;;;7020:96;;;;7009:8;;:5;;7050:6;;7009:8;;;;;;:::i;:::-;;;;;;;;;;;:107;;;;7133:119;;;;;;;;7163:6;;;;;;7133:119;;-1:-1:-1;7133:119:25;;;;;;;7163:6;7133:119;;;;7240:9;;7182:69;;7240:9;;;;7182:69;;;11906:74:28;7133:119:25;;;;11879:18:28;;7182:69:25;;;;;;;;;;;;;;;;;;;;;;;;7133:119;;7122:8;;:5;;7128:1;;7122:8;;;;;;:::i;:::-;;;;;;:130;;;;317:28:1;309:37;;7258:15:25;;;7274:32;;;;;;;;;;;;;;;;;7258:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7313:9:25;;:32;;;;;:9;;;;;-1:-1:-1;7313:25:25;;-1:-1:-1;7313:32:25;;7339:5;;7313:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;7444:30:25;;;7472:1;7444:30;;;;;;;;;7404:37;;7444:30;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;7444:30:25;;;;;;;;;;;;;-1:-1:-1;7492:111:25;;;;;;;;7522:6;;;;7492:111;;7522:6;7492:111;;;;-1:-1:-1;7492:111:25;;;;7540:62;;7589:12;7540:62;;;4975:25:28;7404:70:25;;-1:-1:-1;7492:111:25;;;;;4948:18:28;;7540:62:25;;;;;;;;;;;;;;;;;;;;;;;;7492:111;;7480:9;;:6;;-1:-1:-1;;7480:9:25;;;;:::i;:::-;;;;;;;;;;;:123;;;;7621:95;;;;;;;;7651:6;;;;7621:95;;7651:6;7621:95;;;;;;-1:-1:-1;7621:95:25;;;;7669:46;;;;;;;;;;;;;;;;;;;;;;7621:95;;;;;;;7609:9;;7621:95;;7609:6;;:9;;;;;;:::i;:::-;;;;;;;;;;;:107;;;;7734:118;;;;;;;;7764:6;;;;;;7734:118;;7764:6;7734:118;;;;;;;;;;;;;7840:9;;7782:69;;7840:9;;;;7782:69;;;11906:74:28;7734:118:25;;;;11879:18:28;;7782:69:25;;;;;;;;;;;;;;;;;;;;;;;;7734:118;;7722:9;;:6;;7729:1;;7722:9;;;;;;:::i;:::-;;;;;;:130;;;;317:28:1;309:37;;7858:15:25;;;7874:35;;;;;;;;;;;;;;;;;7858:52;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7916:9:25;;:33;;;;;:9;;;;;-1:-1:-1;7916:25:25;;-1:-1:-1;7916:33:25;;7942:6;;7916:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8036:30:25;;;8064:1;8036:30;;;;;;;;;7996:37;;8036:30;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;8036:30:25;;;;;;;;;;;;;-1:-1:-1;8084:112:25;;;;;;;;8114:6;;;;8084:112;;-1:-1:-1;8084:112:25;;;;;;;;;;8133:62;;8182:12;8133:62;;;4975:25:28;7996:70:25;;-1:-1:-1;8084:112:25;;;;;4948:18:28;;8133:62:25;;;;;;;;;;;;;;;;;;;;;;;;8084:112;;8072:9;;:6;;-1:-1:-1;;8072:9:25;;;;:::i;:::-;;;;;;;;;;;:124;;;;8214:95;;;;;;;;8244:6;;;;8214:95;;8244:6;8214:95;;;;;;-1:-1:-1;8214:95:25;;;;8262:46;;;;;;;;;;;;;;;;;;;;;;8214:95;;;;;;;8202:9;;8214:95;;8202:6;;:9;;;;;;:::i;:::-;;;;;;;;;;;:107;;;;8327:119;;;;;;;;8357:6;;;;;;8327:119;;-1:-1:-1;8327:119:25;;;;;;;8357:6;8327:119;;;;8434:9;;8376:69;;8434:9;;;;8376:69;;;11906:74:28;8327:119:25;;;;11879:18:28;;8376:69:25;;;;;;;;;;;;;;;;;;;;;;;;8327:119;;8315:9;;:6;;8322:1;;8315:9;;;;;;:::i;:::-;;;;;;;;;;:131;8452:9;;:43;;;;;:9;;;;;:25;;:9;;:43;;8488:6;;8452:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2930:133:6:-;2976:33;3040:16;3021:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2930:133;:::o;2631:141::-;2679:35;2747:18;2726:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2631:141;:::o;9189:121:25:-;9242:63;9251:15;9268:9;;;;;;;;;;;:34;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8577:134;8670:9;;:35;;;;;;;;4975:25:28;;;8637:69:25;;8646:22;;;8670:9;;;;;:22;;4948:18:28;;8670:35:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8637:8;:69::i;:::-;8577:134;:::o;2164:421::-;2250:24;;;2272:1;2250:24;;;;;;;;;2217:30;;2250:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;2250:24:25;;;;;;;;;;;;;;-1:-1:-1;2291:96:25;;;;;;;;2315:6;;;;2291:96;;2324:62;;2373:12;2324:62;;;4975:25:28;2217:57:25;;-1:-1:-1;2291:96:25;;;;;4948:18:28;;2324:62:25;;;;;;;;;;;;;;;;;;;;;;;;2291:96;;2280:8;;:5;;-1:-1:-1;;2280:8:25;;;;:::i;:::-;;;;;;;;;;;:107;;;;2404:80;;;;;;;;2428:6;;;;2404:80;;2437:46;;;;;;;;;;;;;;;;;;;;;;2404:80;;;;2393:8;;:5;;2428:6;;2393:8;;;;;;:::i;:::-;;;;;;:91;;;;317:28:1;309:37;;2490:15:25;;;2506:32;;;;;;;;;;;;;;;;;2490:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2545:9:25;;:35;;;;;:9;;;;;-1:-1:-1;2545:22:25;;-1:-1:-1;2545:35:25;;:9;;2574:5;;2545:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2211:374;2164:421::o;2447:178:6:-;2503:48;2592:26;2563:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2447:178;:::o;9643:91:25:-;9682:47;9691:13;9706:9;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8939:124;8993:65;9002:16;9020:9;;;;;;;;;;;:35;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4337:1091;4410:25;;;4433:1;4410:25;;;;;;;;;4376:31;;4410:25;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;4410:25:25;;;;;;;;;;;;;;-1:-1:-1;4452:104:25;;;;;;;;4477:6;;;;4452:104;;-1:-1:-1;4452:104:25;;;;4493:62;;4542:12;4493:62;;;4975:25:28;4376:59:25;;-1:-1:-1;4452:104:25;;;;;4948:18:28;;4493:62:25;;;;;;;;;;;;;;;;;;;;;;;;4452:104;;4441:8;;:5;;-1:-1:-1;;4441:8:25;;;;:::i;:::-;;;;;;;;;;;:115;;;;4573:87;;;;;;;;4598:6;;;;4573:87;;4598:6;4573:87;;;;;;4613:46;;;;;;;;;;;;;;;;;;;;;4573:87;;;;;;;4562:8;;:5;;4598:6;4562:8;;;;;;:::i;:::-;;;;;;;;;;;:98;;;;4677:97;;;;;;;;4702:9;;;;4677:97;;4702:9;4677:97;;;;4720:53;;;;;;;;;;;;;;;;;;;;;4677:97;;;;;;;4666:8;;:5;;4672:1;;4666:8;;;;;;:::i;:::-;;;;;;;;;;:108;4822:9;;:27;;;;;4781:37;;4822:9;;;:20;;:27;;4843:5;;4822:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4780:69;;4871:33;4882:10;4893:1;4882:13;;;;;;;;:::i;:::-;;;;;;;:21;;;4871:10;:33::i;:::-;4910:82;4929:12;4919:23;4955:10;4966:1;4955:13;;;;;;;;:::i;:::-;;;;;;;:24;;;4944:47;;;;;;;;;;;;:::i;4910:82::-;4998:99;5017:10;5028:1;5017:13;;;;;;;;:::i;:::-;;;;;;;:24;;;5007:35;;;;;;5081:12;5071:23;5054:41;;;;;;11702:19:28;;11746:2;11737:12;;11573:182;4998:99:25;5119:34;5131:10;5142:1;5131:13;;;;;;;;:::i;:::-;;;;;;;:21;;;5130:22;5119:10;:34::i;:::-;5159:44;5168:10;5179:1;5168:13;;;;;;;;:::i;:::-;;;;;;;:24;;;:31;5201:1;5159:8;:44::i;:::-;5209:79;5225:10;5236:1;5225:13;;;;;;;;:::i;:::-;;;;;;;:24;;;5218:32;;;:::i;:::-;5209:79;;;:8;:79::i;:::-;5310:33;5321:10;5332:1;5321:13;;;;;;;;:::i;5310:33::-;5349:74;5369:10;5380:1;5369:13;;;;;;;;:::i;:::-;;;;;;;:24;;;5358:47;;;;;;;;;;;;:::i;:::-;5407:15;5349:8;:74::i;1579:581::-;1653:24;;;1675:1;1653:24;;;;;;;;;1620:30;;1653:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;1653:24:25;;;;;;;;;;;;;;-1:-1:-1;1694:96:25;;;;;;;;1718:6;;;;1694:96;;1727:62;;1776:12;1727:62;;;4975:25:28;1620:57:25;;-1:-1:-1;1694:96:25;;;;;4948:18:28;;1727:62:25;;;;;;;;;;;;;;;;;;;;;;;;1694:96;;1683:8;;:5;;-1:-1:-1;;1683:8:25;;;;:::i;:::-;;;;;;;;;;;:107;;;;1807:80;;;;;;;;1831:6;;;;1807:80;;1840:46;;;;;;;;;;;;;;;;;;;;;;1807:80;;;;1796:8;;:5;;1831:6;;1796:8;;;;;;:::i;:::-;;;;;;;;;;:91;1935:9;;:36;;;;;1894:37;;1935:9;;;:22;;:36;;1894:37;;1965:5;;1935:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1893:78;;1977:33;1988:10;1999:1;1988:13;;;;;;;;:::i;1977:33::-;2016:99;2035:10;2046:1;2035:13;;;;;;;;:::i;2016:99::-;2121:34;2133:10;2144:1;2133:13;;;;;;;;:::i;2301:140:6:-;2349:34;2416:18;2395:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9314:112:25;9391:9;;:29;;;;;9377:12;;;;9391:29;;;11906:74:28;;;9368:53:25;;9377:12;;;9391:9;;;:23;;11879:18:28;;9391:29:25;;;;;;;;;;;;;;;;;;;;;;8817:118;8869:61;8878:14;8894:9;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8869:8;:61::i;3394:437::-;3488:24;;;3510:1;3488:24;;;;;;;;;3455:30;;3488:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;3488:24:25;;;;;;;;;;;;;;-1:-1:-1;3529:96:25;;;;;;;;3553:6;;;;3529:96;;3562:62;;3611:12;3562:62;;;4975:25:28;3455:57:25;;-1:-1:-1;3529:96:25;;;;;4948:18:28;;3562:62:25;;;;;;;;;;;;;;;;;;;;;;;;3529:96;;3518:8;;:5;;-1:-1:-1;;3518:8:25;;;;:::i;:::-;;;;;;;;;;;:107;;;;3642:80;;;;;;;;3666:6;;;;3642:80;;3675:46;;;;;;;;;;;;;;;;;;;;;;3642:80;;;;3631:8;;:5;;3666:6;;3631:8;;;;;;:::i;:::-;;;;;;:91;;;;317:28:1;309:37;;3728:15:25;;;3744:32;;;;;;;;;;;;;;;;;3728:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3783:9:25;;:43;;;;;:9;;;;;-1:-1:-1;3783:30:25;;-1:-1:-1;3783:43:25;;:9;;3820:5;;3783:43;;;:::i;2778:146:6:-;2826:40;2899:18;2878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9067:118:25;9119:61;9128:14;9144:9;;;;;;;;;;;:33;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1061:441;1176:24;;;1198:1;1176:24;;;;;;;;;1143:30;;1176:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;1176:24:25;;;;;;;;;;;;;;-1:-1:-1;1217:96:25;;;;;;;;1241:6;;;;1217:96;;1250:62;;1299:12;1250:62;;;4975:25:28;1143:57:25;;-1:-1:-1;1217:96:25;;;;;4948:18:28;;1250:62:25;;;;;;;;;;;;;;;;;;;;;;;;1217:96;;1206:8;;:5;;-1:-1:-1;;1206:8:25;;;;:::i;:::-;;;;;;;;;;;:107;;;;1330:80;;;;;;;;1354:6;;;;1330:80;;1363:46;;;;;;;;;;;;;;;;;;;;;;1330:80;;;;1319:8;;:5;;1354:6;;1319:8;;;;;;:::i;:::-;;;;;;:91;;;;317:28:1;309:37;;1416:15:25;;;1432:32;;;;;;;;;;;;;;;;;1416:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1471:9:25;;:26;;;;;:9;;;;;-1:-1:-1;1471:19:25;;-1:-1:-1;1471:26:25;;1491:5;;1471:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9430:209::-;9536:12;9532:30;;9430:209::o;9532:30::-;9567:67;9586:16;9601:1;9586:12;:16;:::i;:::-;9576:27;9605:9;;;;;;;;;;;:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1866:141:6;1915:34;1982:18;1961:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2662:728:25;2744:24;;;2766:1;2744:24;;;;;;;;;2711:30;;2744:24;;;;-1:-1:-1;;;;;;;;;;;;;;;;;2744:24:25;;;;;;;;;;;;;;-1:-1:-1;2785:96:25;;;;;;;;2809:6;;;;2785:96;;2818:62;;2867:12;2818:62;;;4975:25:28;2711:57:25;;-1:-1:-1;2785:96:25;;;;;4948:18:28;;2818:62:25;;;;;;;;;;;;;;;;;;;;;;;;2785:96;;2774:8;;:5;;-1:-1:-1;;2774:8:25;;;;:::i;:::-;;;;;;;;;;;:107;;;;2898:80;;;;;;;;2922:6;;;;2898:80;;2931:46;;;;;;;;;;;;;;;;;;;;;;2898:80;;;;2887:8;;:5;;2922:6;;2887:8;;;;;;:::i;:::-;;;;;;;;;;:91;3066:9;;:44;;;;;2985:19;;;;;;3066:9;;;:30;;:44;;2985:19;;3104:5;;3066:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2984:126;;;;;;3116:35;3125:11;3138:12;3116:8;:35::i;:::-;3157:44;3166:9;3187:12;3177:23;3157:8;:44::i;:::-;3207:33;3218:10;3229:1;3218:13;;;;;;;;:::i;3207:33::-;3246:99;3265:10;3276:1;3265:13;;;;;;;;:::i;3246:99::-;3351:34;3363:10;3374:1;3363:13;;;;;;;;:::i;1819:584:0:-;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:0;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;17111:74:28;;;2221:17:0;17201:18:28;;;17194:34;2196:43:0;;;;;;;;;17084:18:28;;;2196:43:0;;;-1:-1:-1;;1671:64:0;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;;;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:0:o;9738:91:25:-;9777:47;9786:13;9801:9;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2013:142:6;2062:35;2130:18;2109:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2013:142;:::o;5432:429:25:-;5517:25;;;5540:1;5517:25;;;;;;;;;5483:31;;5517:25;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;5517:25:25;;;;;;;;;;;;;;-1:-1:-1;5559:104:25;;;;;;;;5584:6;;;;5559:104;;-1:-1:-1;5559:104:25;;;;5600:62;;5649:12;5600:62;;;4975:25:28;5483:59:25;;-1:-1:-1;5559:104:25;;;;;4948:18:28;;5600:62:25;;;;;;;;;;;;;;;;;;;;;;;;5559:104;;5548:8;;:5;;-1:-1:-1;;5548:8:25;;;;:::i;:::-;;;;;;;;;;;:115;;;;5680:88;;;;;;;;5705:6;;;;5680:88;;-1:-1:-1;5680:88:25;;;;5721:46;;;;;;;;;;;;;;;;;;;;;5680:88;;;;;;;5669:8;;:5;;5705:6;;5669:8;;;;;;:::i;:::-;;;;;;:99;;;;317:28:1;309:37;;5774:15:25;;;5790:32;;;;;;;;;;;;;;;;;5774:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5829:9:25;;:27;;;;;:9;;;;;-1:-1:-1;5829:20:25;;-1:-1:-1;5829:27:25;;5850:5;;5829:27;;;:::i;5938:807::-;6021:30;;;6049:1;6021:30;;;;;;;;;5982:36;;6021:30;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;6021:30:25;;;;;;;;;;;;;-1:-1:-1;6068:112:25;;;;;;;;6098:6;;;;6068:112;;-1:-1:-1;6068:112:25;;;;;;;;;;6117:62;;6166:12;6117:62;;;4975:25:28;5982:69:25;;-1:-1:-1;6068:112:25;;;;;4948:18:28;;6117:62:25;;;;;;;;;;;;;;;;;;;;;;;;6068:112;;6057:8;;:5;;-1:-1:-1;;6057:8:25;;;;:::i;:::-;;;;;;;;;;;:123;;;;6197:95;;;;;;;;6227:6;;;;6197:95;;6227:6;6197:95;;;;;;-1:-1:-1;6197:95:25;;;;6245:46;;;;;;;;;;;;;;;;;;;;;;6197:95;;;;;;;6186:8;;6197:95;;6186:5;;:8;;;;;;:::i;:::-;;;;;;;;;;;:106;;;;6309:118;;;;;;;;6339:6;;;;;;6309:118;;6339:6;6309:118;;;;;;;;;;;;;6415:9;;6357:69;;6415:9;;;;6357:69;;;11906:74:28;6309:118:25;;;;11879:18:28;;6357:69:25;;;;;;;;;;;;;;;;;;;;;;;;6309:118;;6298:8;;:5;;6304:1;;6298:8;;;;;;:::i;:::-;;;;;;;;;;:129;6475:9;;:42;;;;;6434:37;;6475:9;;;:25;;:9;;:42;;6511:5;;6475:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6433:84;;6523:33;6534:10;6545:1;6534:13;;;;;;;;:::i;6523:33::-;6562:99;6581:10;6592:1;6581:13;;;;;;;;:::i;6562:99::-;6667:34;6679:10;6690:1;6679:13;;;;;;;;:::i;6667:34::-;6707:33;6718:10;6729:1;6718:13;;;;;;;;:::i;5209:262:0:-;5271:1;5266;:6;5262:203;;5293:41;;;;;18349:2:28;18331:21;;;18388:2;18368:18;;;18361:30;18427:34;18422:2;18407:18;;18400:62;18498:4;18493:2;18478:18;;18471:32;18535:3;18520:19;;18147:398;5293:41:0;;;;;;;;5353:31;5382:1;5353:31;;;;;;:::i;:::-;;;;;;;;5403;5432:1;5403:31;;;;;;:::i;:::-;;;;;;;;5448:6;:4;:6::i;4095:277::-;4163:1;4158;:6;4154:212;;4185:44;;;;;19786:2:28;19768:21;;;19825:2;19805:18;;;19798:30;19864:34;19859:2;19844:18;;19837:62;19935:7;19930:2;19915:18;;19908:35;19975:3;19960:19;;19584:401;4185:44:0;;;;;;;;4248:34;4280:1;4248:34;;;;;;:::i;:::-;;;;;;;;4301;4333:1;4301:34;;;;;;:::i;3262:157::-;3322:9;3317:96;;3352:30;;;;;20898:2:28;20880:21;;;20937:2;20917:18;;;20910:30;20976:25;20971:2;20956:18;;20949:53;21034:2;21019:18;;20696:347;3352:30:0;;;;;;;;3396:6;:4;:6::i;3622:277::-;3690:1;3685:6;;:1;:6;;;3681:212;;3712:44;;;;;21250:2:28;21232:21;;;21289:2;21269:18;;;21262:30;21328:34;21323:2;21308:18;;21301:62;21399:7;21394:2;21379:18;;21372:35;21439:3;21424:19;;21048:401;3712:44:0;;;;;;;;3775:34;3807:1;3775:34;;;;;;:::i;:::-;;;;;;;;3828;3860:1;3828:34;;;;;;:::i;2409:432::-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;22460:74:28;;;2677:17:0;22550:18:28;;;22543:34;;;;2712:4:0;22593:18:28;;;22586:34;2489:11:0;;1671:64;2586:43;;22433:18:28;;2652:67:0;;;;;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;;;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:0;2820:7;:14;;;;;;;;2409:432::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:681:28:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:218;465:6;462:1;459:13;451:218;;;530:13;;545:42;526:62;514:75;;644:15;;;;609:12;;;;487:1;480:9;451:218;;;-1:-1:-1;686:3:28;;14:681;-1:-1:-1;;;;;;14:681:28:o;700:180::-;759:6;812:2;800:9;791:7;787:23;783:32;780:52;;;828:1;825;818:12;780:52;-1:-1:-1;851:23:28;;700:180;-1:-1:-1;700:180:28:o;885:1695::-;1087:4;1116:2;1156;1145:9;1141:18;1186:2;1175:9;1168:21;1209:6;1244;1238:13;1275:6;1267;1260:22;1301:2;1291:12;;1334:2;1323:9;1319:18;1312:25;;1396:2;1386:6;1383:1;1379:14;1368:9;1364:30;1360:39;1434:2;1426:6;1422:15;1455:1;1476;1486:1065;1502:6;1497:3;1494:15;1486:1065;;;1571:22;;;1595:66;1567:95;1555:108;;1686:13;;1773:9;;1784:42;1769:58;1754:74;;1867:11;;1861:18;1899:15;;;1892:27;;;1980:19;;1726:15;;;2012:24;;;2102:21;;;;2147:1;;2070:2;2058:15;;;2161:282;2177:8;2172:3;2169:17;2161:282;;;2258:15;;2275:66;2254:88;2240:103;;2412:17;;;;2205:1;2196:11;;;;;2369:14;;;;2161:282;;;-1:-1:-1;2529:12:28;;;;2466:5;-1:-1:-1;;;2494:15:28;;;;1528:1;1519:11;1486:1065;;;-1:-1:-1;2568:6:28;;885:1695;-1:-1:-1;;;;;;;;;885:1695:28:o;2585:258::-;2657:1;2667:113;2681:6;2678:1;2675:13;2667:113;;;2757:11;;;2751:18;2738:11;;;2731:39;2703:2;2696:10;2667:113;;;2798:6;2795:1;2792:13;2789:48;;;-1:-1:-1;;2833:1:28;2815:16;;2808:27;2585:258::o;2848:317::-;2890:3;2928:5;2922:12;2955:6;2950:3;2943:19;2971:63;3027:6;3020:4;3015:3;3011:14;3004:4;2997:5;2993:16;2971:63;:::i;:::-;3079:2;3067:15;3084:66;3063:88;3054:98;;;;3154:4;3050:109;;2848:317;-1:-1:-1;;2848:317:28:o;3170:862::-;3332:4;3361:2;3401;3390:9;3386:18;3431:2;3420:9;3413:21;3454:6;3489;3483:13;3520:6;3512;3505:22;3558:2;3547:9;3543:18;3536:25;;3620:2;3610:6;3607:1;3603:14;3592:9;3588:30;3584:39;3570:53;;3658:2;3650:6;3646:15;3679:1;3689:314;3703:6;3700:1;3697:13;3689:314;;;3792:66;3780:9;3772:6;3768:22;3764:95;3759:3;3752:108;3883:40;3916:6;3907;3901:13;3883:40;:::i;:::-;3873:50;-1:-1:-1;3981:12:28;;;;3946:15;;;;3725:1;3718:9;3689:314;;;-1:-1:-1;4020:6:28;;3170:862;-1:-1:-1;;;;;;;3170:862:28:o;4037:154::-;4123:42;4116:5;4112:54;4105:5;4102:65;4092:93;;4181:1;4178;4171:12;4196:247;4255:6;4308:2;4296:9;4287:7;4283:23;4279:32;4276:52;;;4324:1;4321;4314:12;4276:52;4363:9;4350:23;4382:31;4407:5;4382:31;:::i;:::-;4432:5;4196:247;-1:-1:-1;;;4196:247:28:o;4640:184::-;4692:77;4689:1;4682:88;4789:4;4786:1;4779:15;4813:4;4810:1;4803:15;5011:184;5063:77;5060:1;5053:88;5160:4;5157:1;5150:15;5184:4;5181:1;5174:15;5200:218;5347:2;5336:9;5329:21;5310:4;5367:45;5408:2;5397:9;5393:18;5385:6;5367:45;:::i;5423:866::-;5480:3;5518:5;5512:12;5545:6;5540:3;5533:19;5571:4;5612:2;5607:3;5603:12;5637:11;5664;5657:18;;5714:6;5711:1;5707:14;5700:5;5696:26;5684:38;;5756:2;5749:5;5745:14;5777:1;5787:476;5801:6;5798:1;5795:13;5787:476;;;5862:16;;;5850:29;;5902:13;;5972:9;;5983:42;5968:58;5955:72;;6066:11;;6060:18;5938:4;6098:13;;;6091:25;;;6137:46;6169:13;;;6060:18;6137:46;:::i;:::-;6241:12;;;;6129:54;-1:-1:-1;;;6206:15:28;;;;5823:1;5816:9;5787:476;;;-1:-1:-1;6279:4:28;;5423:866;-1:-1:-1;;;;;;;5423:866:28:o;6294:311::-;6519:2;6508:9;6501:21;6482:4;6539:60;6595:2;6584:9;6580:18;6572:6;6539:60;:::i;6610:257::-;6682:4;6676:11;;;6714:17;;6761:18;6746:34;;6782:22;;;6743:62;6740:88;;;6808:18;;:::i;:::-;6844:4;6837:24;6610:257;:::o;6872:334::-;6943:2;6937:9;6999:2;6989:13;;7004:66;6985:86;6973:99;;7102:18;7087:34;;7123:22;;;7084:62;7081:88;;;7149:18;;:::i;:::-;7185:2;7178:22;6872:334;;-1:-1:-1;6872:334:28:o;7211:189::-;7277:4;7310:18;7302:6;7299:30;7296:56;;;7332:18;;:::i;:::-;-1:-1:-1;7377:1:28;7373:14;7389:4;7369:25;;7211:189::o;7405:164::-;7481:13;;7530;;7523:21;7513:32;;7503:60;;7559:1;7556;7549:12;7574:555;7627:5;7680:3;7673:4;7665:6;7661:17;7657:27;7647:55;;7698:1;7695;7688:12;7647:55;7727:6;7721:13;7753:18;7749:2;7746:26;7743:52;;;7775:18;;:::i;:::-;7819:114;7927:4;7858:66;7851:4;7847:2;7843:13;7839:86;7835:97;7819:114;:::i;:::-;7958:2;7949:7;7942:19;8004:3;7997:4;7992:2;7984:6;7980:15;7976:26;7973:35;7970:55;;;8021:1;8018;8011:12;7970:55;8034:64;8095:2;8088:4;8079:7;8075:18;8068:4;8060:6;8056:17;8034:64;:::i;:::-;8116:7;7574:555;-1:-1:-1;;;;7574:555:28:o;8134:1520::-;8205:5;8258:3;8251:4;8243:6;8239:17;8235:27;8225:55;;8276:1;8273;8266:12;8225:55;8305:6;8299:13;8331:4;8355:66;8371:49;8417:2;8371:49;:::i;:::-;8355:66;:::i;:::-;8455:15;;;8541:1;8537:10;;;;8525:23;;8521:32;;;8486:12;;;;8565:15;;;8562:35;;;8593:1;8590;8583:12;8562:35;8629:2;8621:6;8617:15;8641:984;8657:6;8652:3;8649:15;8641:984;;;8736:3;8730:10;8763:18;8813:2;8800:11;8797:19;8794:109;;;8857:1;8886:2;8882;8875:14;8794:109;8938:11;8930:6;8926:24;8916:34;;8973:4;9084:2;9015:66;9010:2;9005:3;9001:12;8997:85;8993:94;8990:184;;;9128:1;9157:2;9153;9146:14;8990:184;9200:22;;:::i;:::-;9249:39;9284:2;9280;9276:11;9249:39;:::i;:::-;9235:54;;9324:11;;;9318:18;;9352:16;;;9349:106;;;9409:1;9438:2;9434;9427:14;9349:106;9491:60;9547:3;9542:2;9531:8;9527:2;9523:17;9519:26;9491:60;:::i;:::-;9475:14;;;9468:84;9565:18;;-1:-1:-1;;;9603:12:28;;;;8674;;8641:984;;;-1:-1:-1;9643:5:28;8134:1520;-1:-1:-1;;;;;;8134:1520:28:o;9659:516::-;9797:6;9805;9813;9866:2;9854:9;9845:7;9841:23;9837:32;9834:52;;;9882:1;9879;9872:12;9834:52;9911:9;9905:16;9895:26;;9961:2;9950:9;9946:18;9940:25;9930:35;;10009:2;9998:9;9994:18;9988:25;10036:18;10028:6;10025:30;10022:50;;;10068:1;10065;10058:12;10022:50;10091:78;10161:7;10152:6;10141:9;10137:22;10091:78;:::i;:::-;10081:88;;;9659:516;;;;;:::o;10180:184::-;10250:6;10303:2;10291:9;10282:7;10278:23;10274:32;10271:52;;;10319:1;10316;10309:12;10271:52;-1:-1:-1;10342:16:28;;10180:184;-1:-1:-1;10180:184:28:o;10369:1199::-;10482:6;10490;10543:2;10531:9;10522:7;10518:23;10514:32;10511:52;;;10559:1;10556;10549:12;10511:52;10588:9;10582:16;10572:26;;10617:2;10663;10652:9;10648:18;10642:25;10686:18;10727:2;10719:6;10716:14;10713:34;;;10743:1;10740;10733:12;10713:34;10781:6;10770:9;10766:22;10756:32;;10826:7;10819:4;10815:2;10811:13;10807:27;10797:55;;10848:1;10845;10838:12;10797:55;10877:2;10871:9;10900:66;10916:49;10962:2;10916:49;:::i;10900:66::-;11000:15;;;11082:1;11078:10;;;;11070:19;;11066:28;;;11031:12;;;;11106:19;;;11103:39;;;11138:1;11135;11128:12;11103:39;11170:2;11166;11162:11;11182:356;11198:6;11193:3;11190:15;11182:356;;;11277:3;11271:10;11313:2;11300:11;11297:19;11294:109;;;11357:1;11386:2;11382;11375:14;11294:109;11428:67;11487:7;11482:2;11468:11;11464:2;11460:20;11456:29;11428:67;:::i;:::-;11416:80;;-1:-1:-1;11516:12:28;;;;11215;;11182:356;;;11186:3;11557:5;11547:15;;;;;;;;10369:1199;;;;;:::o;11991:1325::-;12191:4;12220:2;12260;12249:9;12245:18;12290:2;12279:9;12272:21;12313:6;12348;12342:13;12379:6;12371;12364:22;12405:2;12395:12;;12438:2;12427:9;12423:18;12416:25;;12500:2;12490:6;12487:1;12483:14;12472:9;12468:30;12464:39;12538:2;12530:6;12526:15;12559:1;12569:718;12583:6;12580:1;12577:13;12569:718;;;12648:22;;;12672:66;12644:95;12632:108;;12763:13;;12835:9;;12846:42;12831:58;12816:74;;12947:11;;;12941:18;12934:26;12927:34;12910:15;;;12903:59;13005:11;;;12999:18;12982:15;;;12975:43;13041:4;13084:11;;;13078:18;12799:4;13116:15;;;13109:27;;;13078:18;13159:48;13191:15;;;13078:18;13159:48;:::i;:::-;13265:12;;;;13149:58;-1:-1:-1;;;13230:15:28;;;;12605:1;12598:9;12569:718;;;-1:-1:-1;13304:6:28;;11991:1325;-1:-1:-1;;;;;;;;11991:1325:28:o;13321:394::-;13441:6;13494:2;13482:9;13473:7;13469:23;13465:32;13462:52;;;13510:1;13507;13500:12;13462:52;13543:9;13537:16;13576:18;13568:6;13565:30;13562:50;;;13608:1;13605;13598:12;13562:50;13631:78;13701:7;13692:6;13681:9;13677:22;13631:78;:::i;13909:392::-;14170:6;14163:14;14156:22;14145:9;14138:41;14215:2;14210;14199:9;14195:18;14188:30;14119:4;14235:60;14291:2;14280:9;14276:18;14268:6;14235:60;:::i;14306:1232::-;14496:4;14525:2;14565;14554:9;14550:18;14595:2;14584:9;14577:21;14618:6;14653;14647:13;14684:6;14676;14669:22;14710:2;14700:12;;14743:2;14732:9;14728:18;14721:25;;14805:2;14795:6;14792:1;14788:14;14777:9;14773:30;14769:39;14843:2;14835:6;14831:15;14864:1;14874:635;14888:6;14885:1;14882:13;14874:635;;;14953:22;;;14977:66;14949:95;14937:108;;15068:13;;15140:9;;15151:42;15136:58;15121:74;;15252:11;;;15246:18;15239:26;15232:34;15215:15;;;15208:59;15306:11;;15300:18;15104:4;15338:15;;;15331:27;;;15381:48;15413:15;;;15300:18;15381:48;:::i;:::-;15487:12;;;;15371:58;-1:-1:-1;;;15452:15:28;;;;14910:1;14903:9;14874:635;;15543:407;15626:5;15666;15660:12;15708:4;15701:5;15697:16;15691:23;15733:66;15825:2;15821;15817:11;15808:20;;15851:1;15843:6;15840:13;15837:107;;;15931:2;15925;15915:6;15912:1;15908:14;15905:1;15901:22;15897:31;15893:2;15889:40;15885:49;15876:58;;15837:107;;;;15543:407;;;:::o;15955:437::-;16034:1;16030:12;;;;16077;;;16098:61;;16152:4;16144:6;16140:17;16130:27;;16098:61;16205:2;16197:6;16194:14;16174:18;16171:38;16168:218;;;16242:77;16239:1;16232:88;16343:4;16340:1;16333:15;16371:4;16368:1;16361:15;16168:218;;15955:437;;;:::o;16397:251::-;16467:6;16520:2;16508:9;16499:7;16495:23;16491:32;16488:52;;;16536:1;16533;16526:12;16488:52;16568:9;16562:16;16587:31;16612:5;16587:31;:::i;16653:279::-;16693:4;16721:1;16718;16715:8;16712:188;;;16756:77;16753:1;16746:88;16857:4;16854:1;16847:15;16885:4;16882:1;16875:15;16712:188;-1:-1:-1;16917:9:28;;16653:279::o;17239:417::-;17436:66;17428:6;17424:79;17419:3;17412:92;17394:3;17533:6;17527:13;17549:61;17603:6;17599:1;17594:3;17590:11;17583:4;17575:6;17571:17;17549:61;:::i;:::-;17630:16;;;;17648:1;17626:24;;17239:417;-1:-1:-1;;;17239:417:28:o;17661:274::-;17790:3;17828:6;17822:13;17844:53;17890:6;17885:3;17878:4;17870:6;17866:17;17844:53;:::i;:::-;17913:16;;;;;17661:274;-1:-1:-1;;17661:274:28:o;17940:202::-;18007:6;18060:2;18048:9;18039:7;18035:23;18031:32;18028:52;;;18076:1;18073;18066:12;18028:52;18099:37;18126:9;18099:37;:::i;18714:348::-;18944:2;18933:9;18926:21;18907:4;18964:49;19009:2;18998:9;18994:18;18627:2;18615:15;;18662:12;18655:4;18646:14;;18639:36;18700:2;18691:12;;18550:159;18964:49;18956:57;;19049:6;19044:2;19033:9;19029:18;19022:34;18714:348;;;;:::o;19231:::-;19461:2;19450:9;19443:21;19424:4;19481:49;19526:2;19515:9;19511:18;19144:2;19132:15;;19179:12;19172:4;19163:14;;19156:36;19217:2;19208:12;;19067:159;21454:397;21684:2;21673:9;21666:21;21647:4;21704:49;21749:2;21738:9;21734:18;18627:2;18615:15;;18662:12;18655:4;18646:14;;18639:36;18700:2;18691:12;;18550:159;21704:49;21696:57;;21801:42;21793:6;21789:55;21784:2;21773:9;21769:18;21762:83;21454:397;;;;:::o;21856:::-;22086:2;22075:9;22068:21;22049:4;22106:49;22151:2;22140:9;22136:18;19144:2;19132:15;;19179:12;19172:4;19163:14;;19156:36;19217:2;19208:12;;19067:159","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testAggregate3()":"7d498da7","testAggregate3Unsuccessful()":"e3d37d78","testAggregate3Value()":"f69f11f9","testAggregate3ValueUnsuccessful()":"3ab461c7","testAggregation()":"2fc1b6ab","testBlockAndAggregateUnsuccessful()":"1d303931","testGetBasefee()":"72f70f66","testGetBlockHash(uint256)":"41e299fe","testGetBlockNumber()":"23b4ffe0","testGetChainId()":"d924f180","testGetCurrentBlockCoinbase()":"9027c03f","testGetCurrentBlockDifficulty()":"77185968","testGetCurrentBlockGasLimit()":"943849a9","testGetCurrentBlockTimestamp()":"4059c002","testGetEthBalance(address)":"8ef09210","testGetLastBlockHash()":"af056092","testTryAggregate()":"7e5ed4db","testTryAggregateUnsuccessful()":"434004ec","testTryBlockAndAggregate()":"b668ab7d","testTryBlockAndAggregateUnsuccessful()":"90c6e931","testUnsuccessfulAggregation()":"a28c5e34"}}}},"src/test/mocks/EtherSink.sol":{"EtherSink":{"abi":[{"type":"receive","stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"andreas@nascent.xyz\",\"kind\":\"dev\",\"methods\":{},\"title\":\"EtherSink\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Receives Ether, that's about it \\\\( o_o )/\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/mocks/EtherSink.sol\":\"EtherSink\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/test/mocks/EtherSink.sol\":{\"keccak256\":\"0x9b3803e1bbefbae6b754c72da622fae849413991cfe20a9b73cb9234b292d8fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26b9734afc98dbee5b3baa8c3e9e5793f251964a0f77be5947fd0b6db1eb076f\",\"dweb:/ipfs/QmWvhaFdjTRJesGpGZSEqxs5xFFCc3Nk4PMwtS63XSBUpp\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080604052348015600f57600080fd5b50604580601d6000396000f3fe608060405236600a57005b600080fdfea2646970667358221220436eb91872afe4157e5f088e49de50a733d5681111213f338e5b696087741bb664736f6c634300080c0033","sourceMap":"164:193:26:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060405236600a57005b600080fdfea2646970667358221220436eb91872afe4157e5f088e49de50a733d5681111213f338e5b696087741bb664736f6c634300080c0033","sourceMap":"164:193:26:-:0;;;;;;;;;;","linkReferences":{}}}}},"src/test/mocks/MockCallee.sol":{"MockCallee":{"abi":[{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"sendBackValue","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"thisMethodReverts","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"error","name":"Unsuccessful","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"Unsuccessful\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"sendBackValue\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"thisMethodReverts\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"andreas@nascent.xyz\",\"kind\":\"dev\",\"methods\":{\"getBlockHash(uint256)\":{\"params\":{\"blockNumber\":\"The block number\"},\"returns\":{\"blockHash\":\"The 32 byte block hash\"}}},\"title\":\"MockCallee\",\"version\":1},\"userdoc\":{\"errors\":{\"Unsuccessful()\":[{\"notice\":\"Failure\"}]},\"kind\":\"user\",\"methods\":{\"getBlockHash(uint256)\":{\"notice\":\"Returns the block hash for the given block number\"},\"sendBackValue(address)\":{\"notice\":\"Accepts a value\"},\"thisMethodReverts()\":{\"notice\":\"Reverts o______O\"}},\"notice\":\"Receives calls from the Multicaller\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/mocks/MockCallee.sol\":\"MockCallee\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/test/mocks/MockCallee.sol\":{\"keccak256\":\"0x71cb32f7523d3b0f3304ba44a27e11d20d852fc041f44bd86deac14db74d3900\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://94abae22bf2a1504705a8f1ce14cf45ef27caea856dc6e81131594c0e557ee78\",\"dweb:/ipfs/QmNtv3JjtVnHAJjBg8YyMpkHu8TAwfTde5GNsoknifXsXT\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608060405234801561001057600080fd5b506101f0806100206000396000f3fe6080604052600436106100345760003560e01c8063032d00741461003957806336c40ea614610050578063ee82ac5e14610063575b600080fd5b34801561004557600080fd5b5061004e610094565b005b61004e61005e366004610164565b6100c6565b34801561006f57600080fd5b5061008261007e3660046101a1565b4090565b60405190815260200160405180910390f35b6040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff163460405160006040518083038185875af1925050503d8060008114610120576040519150601f19603f3d011682016040523d82523d6000602084013e610125565b606091505b5050905080610160576040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006020828403121561017657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019a57600080fd5b9392505050565b6000602082840312156101b357600080fd5b503591905056fea26469706673582212201346a6ce8930e965d60a2c42ebca53035036f2623f64330bfd093e3ddbe06dc164736f6c634300080c0033","sourceMap":"159:645:27:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080604052600436106100345760003560e01c8063032d00741461003957806336c40ea614610050578063ee82ac5e14610063575b600080fd5b34801561004557600080fd5b5061004e610094565b005b61004e61005e366004610164565b6100c6565b34801561006f57600080fd5b5061008261007e3660046101a1565b4090565b60405190815260200160405180910390f35b6040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff163460405160006040518083038185875af1925050503d8060008114610120576040519150601f19603f3d011682016040523d82523d6000602084013e610125565b606091505b5050905080610160576040517f81775cc300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006020828403121561017657600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461019a57600080fd5b9392505050565b6000602082840312156101b357600080fd5b503591905056fea26469706673582212201346a6ce8930e965d60a2c42ebca53035036f2623f64330bfd093e3ddbe06dc164736f6c634300080c0033","sourceMap":"159:645:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;547:73;;;;;;;;;;;;;:::i;:::-;;654:148;;;;;;:::i;:::-;;:::i;384:128::-;;;;;;;;;;-1:-1:-1;384:128:27;;;;;:::i;:::-;485:22;;384:128;;;;659:25:28;;;647:2;632:18;384:128:27;;;;;;;547:73;601:14;;;;;;;;;;;;;;654:148;715:7;728:6;:11;;747:9;728:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;714:47;;;772:2;767:30;;783:14;;;;;;;;;;;;;;767:30;708:94;654:148;:::o;14:309:28:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;231:42;224:5;220:54;213:5;210:65;200:93;;289:1;286;279:12;200:93;312:5;14:309;-1:-1:-1;;;14:309:28:o;328:180::-;387:6;440:2;428:9;419:7;415:23;411:32;408:52;;;456:1;453;446:12;408:52;-1:-1:-1;479:23:28;;328:180;-1:-1:-1;328:180:28:o","linkReferences":{}},"methodIdentifiers":{"getBlockHash(uint256)":"ee82ac5e","sendBackValue(address)":"36c40ea6","thisMethodReverts()":"032d0074"}}}}},"sources":{"lib/forge-std/lib/ds-test/src/test.sol":{"id":0,"ast":{"absolutePath":"lib/forge-std/lib/ds-test/src/test.sol","id":1787,"exportedSymbols":{"DSTest":[1786]},"nodeType":"SourceUnit","src":"689:15469:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"689:24:0","nodes":[],"literals":["solidity",">=","0.5",".0"]},{"id":1786,"nodeType":"ContractDefinition","src":"715:15442:0","nodes":[{"id":5,"nodeType":"EventDefinition","src":"737:38:0","nodes":[],"anonymous":false,"name":"log","nameLocation":"743:3:0","parameters":{"id":4,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5,"src":"767:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2,"name":"string","nodeType":"ElementaryTypeName","src":"767:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"766:8:0"}},{"id":9,"nodeType":"EventDefinition","src":"780:37:0","nodes":[],"anonymous":false,"name":"logs","nameLocation":"786:4:0","parameters":{"id":8,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9,"src":"810:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6,"name":"bytes","nodeType":"ElementaryTypeName","src":"810:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"809:7:0"}},{"id":13,"nodeType":"EventDefinition","src":"823:39:0","nodes":[],"anonymous":false,"name":"log_address","nameLocation":"829:11:0","parameters":{"id":12,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13,"src":"853:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10,"name":"address","nodeType":"ElementaryTypeName","src":"853:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"852:9:0"}},{"id":17,"nodeType":"EventDefinition","src":"867:39:0","nodes":[],"anonymous":false,"name":"log_bytes32","nameLocation":"873:11:0","parameters":{"id":16,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":17,"src":"897:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14,"name":"bytes32","nodeType":"ElementaryTypeName","src":"897:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"896:9:0"}},{"id":21,"nodeType":"EventDefinition","src":"911:35:0","nodes":[],"anonymous":false,"name":"log_int","nameLocation":"917:7:0","parameters":{"id":20,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":21,"src":"941:3:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":18,"name":"int","nodeType":"ElementaryTypeName","src":"941:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"940:5:0"}},{"id":25,"nodeType":"EventDefinition","src":"951:36:0","nodes":[],"anonymous":false,"name":"log_uint","nameLocation":"957:8:0","parameters":{"id":24,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":25,"src":"981:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22,"name":"uint","nodeType":"ElementaryTypeName","src":"981:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"980:6:0"}},{"id":29,"nodeType":"EventDefinition","src":"992:37:0","nodes":[],"anonymous":false,"name":"log_bytes","nameLocation":"998:9:0","parameters":{"id":28,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29,"src":"1022:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":26,"name":"bytes","nodeType":"ElementaryTypeName","src":"1022:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1021:7:0"}},{"id":33,"nodeType":"EventDefinition","src":"1034:38:0","nodes":[],"anonymous":false,"name":"log_string","nameLocation":"1040:10:0","parameters":{"id":32,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33,"src":"1064:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30,"name":"string","nodeType":"ElementaryTypeName","src":"1064:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1063:8:0"}},{"id":39,"nodeType":"EventDefinition","src":"1078:55:0","nodes":[],"anonymous":false,"name":"log_named_address","nameLocation":"1084:17:0","parameters":{"id":38,"nodeType":"ParameterList","parameters":[{"constant":false,"id":35,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1115:3:0","nodeType":"VariableDeclaration","scope":39,"src":"1108:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":34,"name":"string","nodeType":"ElementaryTypeName","src":"1108:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":37,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1128:3:0","nodeType":"VariableDeclaration","scope":39,"src":"1120:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":36,"name":"address","nodeType":"ElementaryTypeName","src":"1120:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1107:25:0"}},{"id":45,"nodeType":"EventDefinition","src":"1138:55:0","nodes":[],"anonymous":false,"name":"log_named_bytes32","nameLocation":"1144:17:0","parameters":{"id":44,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1175:3:0","nodeType":"VariableDeclaration","scope":45,"src":"1168:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":40,"name":"string","nodeType":"ElementaryTypeName","src":"1168:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1188:3:0","nodeType":"VariableDeclaration","scope":45,"src":"1180:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1180:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1167:25:0"}},{"id":53,"nodeType":"EventDefinition","src":"1198:66:0","nodes":[],"anonymous":false,"name":"log_named_decimal_int","nameLocation":"1204:21:0","parameters":{"id":52,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1235:3:0","nodeType":"VariableDeclaration","scope":53,"src":"1228:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46,"name":"string","nodeType":"ElementaryTypeName","src":"1228:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":49,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1244:3:0","nodeType":"VariableDeclaration","scope":53,"src":"1240:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":48,"name":"int","nodeType":"ElementaryTypeName","src":"1240:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":51,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"1254:8:0","nodeType":"VariableDeclaration","scope":53,"src":"1249:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50,"name":"uint","nodeType":"ElementaryTypeName","src":"1249:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1227:36:0"}},{"id":61,"nodeType":"EventDefinition","src":"1269:67:0","nodes":[],"anonymous":false,"name":"log_named_decimal_uint","nameLocation":"1275:22:0","parameters":{"id":60,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1306:3:0","nodeType":"VariableDeclaration","scope":61,"src":"1299:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54,"name":"string","nodeType":"ElementaryTypeName","src":"1299:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":57,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1316:3:0","nodeType":"VariableDeclaration","scope":61,"src":"1311:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56,"name":"uint","nodeType":"ElementaryTypeName","src":"1311:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"1326:8:0","nodeType":"VariableDeclaration","scope":61,"src":"1321:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58,"name":"uint","nodeType":"ElementaryTypeName","src":"1321:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1298:37:0"}},{"id":67,"nodeType":"EventDefinition","src":"1341:51:0","nodes":[],"anonymous":false,"name":"log_named_int","nameLocation":"1347:13:0","parameters":{"id":66,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1378:3:0","nodeType":"VariableDeclaration","scope":67,"src":"1371:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":62,"name":"string","nodeType":"ElementaryTypeName","src":"1371:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":65,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1387:3:0","nodeType":"VariableDeclaration","scope":67,"src":"1383:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":64,"name":"int","nodeType":"ElementaryTypeName","src":"1383:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1370:21:0"}},{"id":73,"nodeType":"EventDefinition","src":"1397:52:0","nodes":[],"anonymous":false,"name":"log_named_uint","nameLocation":"1403:14:0","parameters":{"id":72,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1434:3:0","nodeType":"VariableDeclaration","scope":73,"src":"1427:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":68,"name":"string","nodeType":"ElementaryTypeName","src":"1427:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":71,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1444:3:0","nodeType":"VariableDeclaration","scope":73,"src":"1439:8:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":70,"name":"uint","nodeType":"ElementaryTypeName","src":"1439:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1426:22:0"}},{"id":79,"nodeType":"EventDefinition","src":"1454:53:0","nodes":[],"anonymous":false,"name":"log_named_bytes","nameLocation":"1460:15:0","parameters":{"id":78,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1491:3:0","nodeType":"VariableDeclaration","scope":79,"src":"1484:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":74,"name":"string","nodeType":"ElementaryTypeName","src":"1484:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":77,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1502:3:0","nodeType":"VariableDeclaration","scope":79,"src":"1496:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":76,"name":"bytes","nodeType":"ElementaryTypeName","src":"1496:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1483:23:0"}},{"id":85,"nodeType":"EventDefinition","src":"1512:54:0","nodes":[],"anonymous":false,"name":"log_named_string","nameLocation":"1518:16:0","parameters":{"id":84,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1549:3:0","nodeType":"VariableDeclaration","scope":85,"src":"1542:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":80,"name":"string","nodeType":"ElementaryTypeName","src":"1542:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":83,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1561:3:0","nodeType":"VariableDeclaration","scope":85,"src":"1554:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":82,"name":"string","nodeType":"ElementaryTypeName","src":"1554:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1541:24:0"}},{"id":88,"nodeType":"VariableDeclaration","src":"1572:26:0","nodes":[],"constant":false,"functionSelector":"fa7626d4","mutability":"mutable","name":"IS_TEST","nameLocation":"1584:7:0","scope":1786,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":86,"name":"bool","nodeType":"ElementaryTypeName","src":"1572:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":87,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1594:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"public"},{"id":90,"nodeType":"VariableDeclaration","src":"1604:20:0","nodes":[],"constant":false,"mutability":"mutable","name":"_failed","nameLocation":"1617:7:0","scope":1786,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":89,"name":"bool","nodeType":"ElementaryTypeName","src":"1604:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":107,"nodeType":"VariableDeclaration","src":"1631:104:0","nodes":[],"constant":true,"mutability":"constant","name":"HEVM_ADDRESS","nameLocation":"1648:12:0","scope":1786,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91,"name":"address","nodeType":"ElementaryTypeName","src":"1631:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1713:17:0","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":100,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1703:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1703:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":99,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1695:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":98,"name":"uint256","nodeType":"ElementaryTypeName","src":"1695:7:0","typeDescriptions":{}}},"id":103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1695:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1687:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":96,"name":"uint160","nodeType":"ElementaryTypeName","src":"1687:7:0","typeDescriptions":{}}},"id":104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1687:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":95,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1679:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes20_$","typeString":"type(bytes20)"},"typeName":{"id":94,"name":"bytes20","nodeType":"ElementaryTypeName","src":"1679:7:0","typeDescriptions":{}}},"id":105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1679:55:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"id":93,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1671:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92,"name":"address","nodeType":"ElementaryTypeName","src":"1671:7:0","typeDescriptions":{}}},"id":106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1671:64:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":111,"nodeType":"ModifierDefinition","src":"1742:27:0","nodes":[],"body":{"id":110,"nodeType":"Block","src":"1763:6:0","nodes":[],"statements":[{"id":109,"nodeType":"PlaceholderStatement","src":"1765:1:0"}]},"name":"mayRevert","nameLocation":"1751:9:0","parameters":{"id":108,"nodeType":"ParameterList","parameters":[],"src":"1760:2:0"},"virtual":false,"visibility":"internal"},{"id":117,"nodeType":"ModifierDefinition","src":"1774:39:0","nodes":[],"body":{"id":116,"nodeType":"Block","src":"1807:6:0","nodes":[],"statements":[{"id":115,"nodeType":"PlaceholderStatement","src":"1809:1:0"}]},"name":"testopts","nameLocation":"1783:8:0","parameters":{"id":114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":113,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":117,"src":"1792:13:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":112,"name":"string","nodeType":"ElementaryTypeName","src":"1792:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1791:15:0"},"virtual":false,"visibility":"internal"},{"id":172,"nodeType":"FunctionDefinition","src":"1819:584:0","nodes":[],"body":{"id":171,"nodeType":"Block","src":"1859:544:0","nodes":[],"statements":[{"condition":{"id":122,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90,"src":"1873:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":169,"nodeType":"Block","src":"1927:470:0","statements":[{"assignments":[127],"declarations":[{"constant":false,"id":127,"mutability":"mutable","name":"globalFailed","nameLocation":"1946:12:0","nodeType":"VariableDeclaration","scope":169,"src":"1941:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":126,"name":"bool","nodeType":"ElementaryTypeName","src":"1941:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":129,"initialValue":{"hexValue":"66616c7365","id":128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1961:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"1941:25:0"},{"condition":{"arguments":[],"expression":{"argumentTypes":[],"id":130,"name":"hasHEVMContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":231,"src":"1984:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1984:16:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":166,"nodeType":"IfStatement","src":"1980:374:0","trueBody":{"id":165,"nodeType":"Block","src":"2002:352:0","statements":[{"assignments":[null,133],"declarations":[null,{"constant":false,"id":133,"mutability":"mutable","name":"retdata","nameLocation":"2036:7:0","nodeType":"VariableDeclaration","scope":165,"src":"2023:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":132,"name":"bytes","nodeType":"ElementaryTypeName","src":"2023:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":154,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6c6f616428616464726573732c6279746573333229","id":141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2145:23:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4","typeString":"literal_string \"load(address,bytes32)\""},"value":"load(address,bytes32)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4","typeString":"literal_string \"load(address,bytes32)\""}],"id":140,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2135:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2135:34:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2128:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":138,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2128:6:0","typeDescriptions":{}}},"id":143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2128:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":146,"name":"HEVM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107,"src":"2207:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"6661696c6564","id":149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2229:8:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""},"value":"failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""}],"id":148,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2221:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":147,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2221:7:0","typeDescriptions":{}}},"id":150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2221:17:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":144,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2196:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":145,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2196:10:0","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2196:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":136,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2086:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2086:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2086:175:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":134,"name":"HEVM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107,"src":"2047:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"2047:17:0","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":153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2047:232:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2020:259:0"},{"expression":{"id":163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":155,"name":"globalFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127,"src":"2297:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":158,"name":"retdata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":133,"src":"2323:7:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":160,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2333:4:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":159,"name":"bool","nodeType":"ElementaryTypeName","src":"2333:4:0","typeDescriptions":{}}}],"id":161,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2332:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":156,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2312:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"2312:10:0","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2312:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2297:42:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":164,"nodeType":"ExpressionStatement","src":"2297:42:0"}]}},{"expression":{"id":167,"name":"globalFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127,"src":"2374:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":121,"id":168,"nodeType":"Return","src":"2367:19:0"}]},"id":170,"nodeType":"IfStatement","src":"1869:528:0","trueBody":{"id":125,"nodeType":"Block","src":"1882:39:0","statements":[{"expression":{"id":123,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90,"src":"1903:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":121,"id":124,"nodeType":"Return","src":"1896:14:0"}]}}]},"functionSelector":"ba414fa6","implemented":true,"kind":"function","modifiers":[],"name":"failed","nameLocation":"1828:6:0","parameters":{"id":118,"nodeType":"ParameterList","parameters":[],"src":"1834:2:0"},"returnParameters":{"id":121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":120,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":172,"src":"1853:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":119,"name":"bool","nodeType":"ElementaryTypeName","src":"1853:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1852:6:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":216,"nodeType":"FunctionDefinition","src":"2409:432:0","nodes":[],"body":{"id":215,"nodeType":"Block","src":"2442:399:0","nodes":[],"statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"id":175,"name":"hasHEVMContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":231,"src":"2456:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2456:16:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":210,"nodeType":"IfStatement","src":"2452:359:0","trueBody":{"id":209,"nodeType":"Block","src":"2474:337:0","statements":[{"assignments":[178,null],"declarations":[{"constant":false,"id":178,"mutability":"mutable","name":"status","nameLocation":"2494:6:0","nodeType":"VariableDeclaration","scope":209,"src":"2489:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":177,"name":"bool","nodeType":"ElementaryTypeName","src":"2489:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":206,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"73746f726528616464726573732c627974657333322c6279746573333229","id":186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2596:32:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4","typeString":"literal_string \"store(address,bytes32,bytes32)\""},"value":"store(address,bytes32,bytes32)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4","typeString":"literal_string \"store(address,bytes32,bytes32)\""}],"id":185,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2586:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2586:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2579:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":183,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2579:6:0","typeDescriptions":{}}},"id":188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2579:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":191,"name":"HEVM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107,"src":"2663:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"6661696c6564","id":194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2685:8:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""},"value":"failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""}],"id":193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2677:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":192,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2677:7:0","typeDescriptions":{}}},"id":195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2677:17:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"hexValue":"30783031","id":200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2712:4:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2704:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":198,"name":"uint256","nodeType":"ElementaryTypeName","src":"2704:7:0","typeDescriptions":{}}},"id":201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2704:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2696:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":196,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2696:7:0","typeDescriptions":{}}},"id":202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2696:22:0","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":189,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2652:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2652:10:0","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2652:67:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":181,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2541:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2541:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2541:196:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":179,"name":"HEVM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107,"src":"2506:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"2506:17:0","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":205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2506:245:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2488:263:0"},{"expression":{"id":207,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":178,"src":"2765:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":208,"nodeType":"ExpressionStatement","src":"2765:6:0"}]}},{"expression":{"id":213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":211,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90,"src":"2820:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2830:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2820:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":214,"nodeType":"ExpressionStatement","src":"2820:14:0"}]},"implemented":true,"kind":"function","modifiers":[],"name":"fail","nameLocation":"2418:4:0","parameters":{"id":173,"nodeType":"ParameterList","parameters":[],"src":"2422:2:0"},"returnParameters":{"id":174,"nodeType":"ParameterList","parameters":[],"src":"2442:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":231,"nodeType":"FunctionDefinition","src":"2847:242:0","nodes":[],"body":{"id":230,"nodeType":"Block","src":"2902:187:0","nodes":[],"statements":[{"assignments":[222],"declarations":[{"constant":false,"id":222,"mutability":"mutable","name":"hevmCodeSize","nameLocation":"2920:12:0","nodeType":"VariableDeclaration","scope":230,"src":"2912:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":221,"name":"uint256","nodeType":"ElementaryTypeName","src":"2912:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":224,"initialValue":{"hexValue":"30","id":223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2935:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2912:24:0"},{"AST":{"nodeType":"YulBlock","src":"2955:95:0","statements":[{"nodeType":"YulAssignment","src":"2969:71:0","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2997:42:0","type":"","value":"0x7109709ECfa91a80626fF3989D68f67F5b1DD12D"}],"functionName":{"name":"extcodesize","nodeType":"YulIdentifier","src":"2985:11:0"},"nodeType":"YulFunctionCall","src":"2985:55:0"},"variableNames":[{"name":"hevmCodeSize","nodeType":"YulIdentifier","src":"2969:12:0"}]}]},"evmVersion":"london","externalReferences":[{"declaration":222,"isOffset":false,"isSlot":false,"src":"2969:12:0","valueSize":1}],"id":225,"nodeType":"InlineAssembly","src":"2946:104:0"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":226,"name":"hevmCodeSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":222,"src":"3066:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3081:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3066:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":220,"id":229,"nodeType":"Return","src":"3059:23:0"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hasHEVMContext","nameLocation":"2856:14:0","parameters":{"id":217,"nodeType":"ParameterList","parameters":[],"src":"2870:2:0"},"returnParameters":{"id":220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":231,"src":"2896:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":218,"name":"bool","nodeType":"ElementaryTypeName","src":"2896:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2895:6:0"},"scope":1786,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":252,"nodeType":"ModifierDefinition","src":"3095:161:0","nodes":[],"body":{"id":251,"nodeType":"Block","src":"3115:141:0","nodes":[],"statements":[{"assignments":[234],"declarations":[{"constant":false,"id":234,"mutability":"mutable","name":"startGas","nameLocation":"3130:8:0","nodeType":"VariableDeclaration","scope":251,"src":"3125:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":233,"name":"uint","nodeType":"ElementaryTypeName","src":"3125:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":237,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":235,"name":"gasleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-7,"src":"3141:7:0","typeDescriptions":{"typeIdentifier":"t_function_gasleft_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3141:9:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3125:25:0"},{"id":238,"nodeType":"PlaceholderStatement","src":"3160:1:0"},{"assignments":[240],"declarations":[{"constant":false,"id":240,"mutability":"mutable","name":"endGas","nameLocation":"3176:6:0","nodeType":"VariableDeclaration","scope":251,"src":"3171:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":239,"name":"uint","nodeType":"ElementaryTypeName","src":"3171:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":243,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":241,"name":"gasleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-7,"src":"3185:7:0","typeDescriptions":{"typeIdentifier":"t_function_gasleft_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3185:9:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3171:23:0"},{"eventCall":{"arguments":[{"hexValue":"676173","id":245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3224:5:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_4498c2139ad6cf2beef3ae7bec34c4856d471c8680dfd28d553f117df74df6b7","typeString":"literal_string \"gas\""},"value":"gas"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":246,"name":"startGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":234,"src":"3231:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":247,"name":"endGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":240,"src":"3242:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3231:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4498c2139ad6cf2beef3ae7bec34c4856d471c8680dfd28d553f117df74df6b7","typeString":"literal_string \"gas\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":244,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"3209:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3209:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":250,"nodeType":"EmitStatement","src":"3204:45:0"}]},"name":"logs_gas","nameLocation":"3104:8:0","parameters":{"id":232,"nodeType":"ParameterList","parameters":[],"src":"3112:2:0"},"virtual":false,"visibility":"internal"},{"id":269,"nodeType":"FunctionDefinition","src":"3262:157:0","nodes":[],"body":{"id":268,"nodeType":"Block","src":"3307:112:0","nodes":[],"statements":[{"condition":{"id":258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3321:10:0","subExpression":{"id":257,"name":"condition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":254,"src":"3322:9:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":267,"nodeType":"IfStatement","src":"3317:96:0","trueBody":{"id":266,"nodeType":"Block","src":"3333:80:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a20417373657274696f6e204661696c6564","id":260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3356:25:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc8bd7d7034d6f139e4d0b1fc61bcb3025672e801833991d94fa7390aceb1687","typeString":"literal_string \"Error: Assertion Failed\""},"value":"Error: Assertion Failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cc8bd7d7034d6f139e4d0b1fc61bcb3025672e801833991d94fa7390aceb1687","typeString":"literal_string \"Error: Assertion Failed\""}],"id":259,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"3352:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3352:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":262,"nodeType":"EmitStatement","src":"3347:35:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":263,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"3396:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3396:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":265,"nodeType":"ExpressionStatement","src":"3396:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"3271:10:0","parameters":{"id":255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":254,"mutability":"mutable","name":"condition","nameLocation":"3287:9:0","nodeType":"VariableDeclaration","scope":269,"src":"3282:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":253,"name":"bool","nodeType":"ElementaryTypeName","src":"3282:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3281:16:0"},"returnParameters":{"id":256,"nodeType":"ParameterList","parameters":[],"src":"3307:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":290,"nodeType":"FunctionDefinition","src":"3425:191:0","nodes":[],"body":{"id":289,"nodeType":"Block","src":"3489:127:0","nodes":[],"statements":[{"condition":{"id":277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3503:10:0","subExpression":{"id":276,"name":"condition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":271,"src":"3504:9:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":288,"nodeType":"IfStatement","src":"3499:111:0","trueBody":{"id":287,"nodeType":"Block","src":"3515:95:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3551:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":280,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":273,"src":"3560:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":278,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"3534:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3534:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":282,"nodeType":"EmitStatement","src":"3529:35:0"},{"expression":{"arguments":[{"id":284,"name":"condition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":271,"src":"3589:9:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":283,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"3578:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3578:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":286,"nodeType":"ExpressionStatement","src":"3578:21:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"3434:10:0","parameters":{"id":274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":271,"mutability":"mutable","name":"condition","nameLocation":"3450:9:0","nodeType":"VariableDeclaration","scope":290,"src":"3445:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":270,"name":"bool","nodeType":"ElementaryTypeName","src":"3445:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":273,"mutability":"mutable","name":"err","nameLocation":"3475:3:0","nodeType":"VariableDeclaration","scope":290,"src":"3461:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":272,"name":"string","nodeType":"ElementaryTypeName","src":"3461:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3444:35:0"},"returnParameters":{"id":275,"nodeType":"ParameterList","parameters":[],"src":"3489:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":320,"nodeType":"FunctionDefinition","src":"3622:277:0","nodes":[],"body":{"id":319,"nodeType":"Block","src":"3671:228:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":297,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":292,"src":"3685:1:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":298,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":294,"src":"3690:1:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3685:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":318,"nodeType":"IfStatement","src":"3681:212:0","trueBody":{"id":317,"nodeType":"Block","src":"3693:200:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735d","id":301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3716:39:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fc6ddd126630392f6812bf6b1418b5ec062ae84acc54ee474317255c7d57017","typeString":"literal_string \"Error: a == b not satisfied [address]\""},"value":"Error: a == b not satisfied [address]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9fc6ddd126630392f6812bf6b1418b5ec062ae84acc54ee474317255c7d57017","typeString":"literal_string \"Error: a == b not satisfied [address]\""}],"id":300,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"3712:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3712:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":303,"nodeType":"EmitStatement","src":"3707:49:0"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3793:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":306,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":292,"src":"3807:1:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_address","typeString":"address"}],"id":304,"name":"log_named_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39,"src":"3775:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address)"}},"id":307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3775:34:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":308,"nodeType":"EmitStatement","src":"3770:39:0"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3846:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":311,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":294,"src":"3860:1:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_address","typeString":"address"}],"id":309,"name":"log_named_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39,"src":"3828:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address)"}},"id":312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3828:34:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":313,"nodeType":"EmitStatement","src":"3823:39:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":314,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"3876:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3876:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":316,"nodeType":"ExpressionStatement","src":"3876:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3631:8:0","parameters":{"id":295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":292,"mutability":"mutable","name":"a","nameLocation":"3648:1:0","nodeType":"VariableDeclaration","scope":320,"src":"3640:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":291,"name":"address","nodeType":"ElementaryTypeName","src":"3640:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":294,"mutability":"mutable","name":"b","nameLocation":"3659:1:0","nodeType":"VariableDeclaration","scope":320,"src":"3651:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":293,"name":"address","nodeType":"ElementaryTypeName","src":"3651:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3639:22:0"},"returnParameters":{"id":296,"nodeType":"ParameterList","parameters":[],"src":"3671:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":345,"nodeType":"FunctionDefinition","src":"3904:185:0","nodes":[],"body":{"id":344,"nodeType":"Block","src":"3972:117:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":329,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":322,"src":"3986:1:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":330,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":324,"src":"3991:1:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3986:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":343,"nodeType":"IfStatement","src":"3982:101:0","trueBody":{"id":342,"nodeType":"Block","src":"3994:89:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4031:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":334,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":326,"src":"4040:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":332,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"4013:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4013:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":336,"nodeType":"EmitStatement","src":"4008:36:0"},{"expression":{"arguments":[{"id":338,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":322,"src":"4067:1:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":339,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":324,"src":"4070:1:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":337,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":320,"src":"4058:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4058:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":341,"nodeType":"ExpressionStatement","src":"4058:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3913:8:0","parameters":{"id":327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":322,"mutability":"mutable","name":"a","nameLocation":"3930:1:0","nodeType":"VariableDeclaration","scope":345,"src":"3922:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":321,"name":"address","nodeType":"ElementaryTypeName","src":"3922:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":324,"mutability":"mutable","name":"b","nameLocation":"3941:1:0","nodeType":"VariableDeclaration","scope":345,"src":"3933:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":323,"name":"address","nodeType":"ElementaryTypeName","src":"3933:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":326,"mutability":"mutable","name":"err","nameLocation":"3958:3:0","nodeType":"VariableDeclaration","scope":345,"src":"3944:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":325,"name":"string","nodeType":"ElementaryTypeName","src":"3944:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3921:41:0"},"returnParameters":{"id":328,"nodeType":"ParameterList","parameters":[],"src":"3972:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":375,"nodeType":"FunctionDefinition","src":"4095:277:0","nodes":[],"body":{"id":374,"nodeType":"Block","src":"4144:228:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":352,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":347,"src":"4158:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":353,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":349,"src":"4163:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4158:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":373,"nodeType":"IfStatement","src":"4154:212:0","trueBody":{"id":372,"nodeType":"Block","src":"4166:200:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b627974657333325d","id":356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4189:39:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_6605dedc99dd4e0a76d4678a99cc6956499fe2b523ca6525b248ca3582cef3ef","typeString":"literal_string \"Error: a == b not satisfied [bytes32]\""},"value":"Error: a == b not satisfied [bytes32]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6605dedc99dd4e0a76d4678a99cc6956499fe2b523ca6525b248ca3582cef3ef","typeString":"literal_string \"Error: a == b not satisfied [bytes32]\""}],"id":355,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"4185:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4185:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":358,"nodeType":"EmitStatement","src":"4180:49:0"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4266:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":361,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":347,"src":"4280:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":359,"name":"log_named_bytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45,"src":"4248:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes32_$returns$__$","typeString":"function (string memory,bytes32)"}},"id":362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4248:34:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":363,"nodeType":"EmitStatement","src":"4243:39:0"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4319:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":366,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":349,"src":"4333:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":364,"name":"log_named_bytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45,"src":"4301:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes32_$returns$__$","typeString":"function (string memory,bytes32)"}},"id":367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4301:34:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":368,"nodeType":"EmitStatement","src":"4296:39:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":369,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"4349:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4349:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":371,"nodeType":"ExpressionStatement","src":"4349:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4104:8:0","parameters":{"id":350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":347,"mutability":"mutable","name":"a","nameLocation":"4121:1:0","nodeType":"VariableDeclaration","scope":375,"src":"4113:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":346,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4113:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":349,"mutability":"mutable","name":"b","nameLocation":"4132:1:0","nodeType":"VariableDeclaration","scope":375,"src":"4124:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":348,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4124:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4112:22:0"},"returnParameters":{"id":351,"nodeType":"ParameterList","parameters":[],"src":"4144:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":400,"nodeType":"FunctionDefinition","src":"4377:185:0","nodes":[],"body":{"id":399,"nodeType":"Block","src":"4445:117:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":384,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":377,"src":"4459:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":385,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":379,"src":"4464:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4459:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":398,"nodeType":"IfStatement","src":"4455:101:0","trueBody":{"id":397,"nodeType":"Block","src":"4467:89:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4504:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":389,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":381,"src":"4513:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":387,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"4486:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4486:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":391,"nodeType":"EmitStatement","src":"4481:36:0"},{"expression":{"arguments":[{"id":393,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":377,"src":"4540:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":394,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":379,"src":"4543:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":392,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"4531:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4531:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":396,"nodeType":"ExpressionStatement","src":"4531:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4386:8:0","parameters":{"id":382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":377,"mutability":"mutable","name":"a","nameLocation":"4403:1:0","nodeType":"VariableDeclaration","scope":400,"src":"4395:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4395:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":379,"mutability":"mutable","name":"b","nameLocation":"4414:1:0","nodeType":"VariableDeclaration","scope":400,"src":"4406:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":378,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4406:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":381,"mutability":"mutable","name":"err","nameLocation":"4431:3:0","nodeType":"VariableDeclaration","scope":400,"src":"4417:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":380,"name":"string","nodeType":"ElementaryTypeName","src":"4417:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4394:41:0"},"returnParameters":{"id":383,"nodeType":"ParameterList","parameters":[],"src":"4445:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":413,"nodeType":"FunctionDefinition","src":"4567:82:0","nodes":[],"body":{"id":412,"nodeType":"Block","src":"4618:31:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":408,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"4637:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":409,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":404,"src":"4640:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":407,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"4628:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4628:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":411,"nodeType":"ExpressionStatement","src":"4628:14:0"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"4576:10:0","parameters":{"id":405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":402,"mutability":"mutable","name":"a","nameLocation":"4595:1:0","nodeType":"VariableDeclaration","scope":413,"src":"4587:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4587:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":404,"mutability":"mutable","name":"b","nameLocation":"4606:1:0","nodeType":"VariableDeclaration","scope":413,"src":"4598:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":403,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4598:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4586:22:0"},"returnParameters":{"id":406,"nodeType":"ParameterList","parameters":[],"src":"4618:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":429,"nodeType":"FunctionDefinition","src":"4654:106:0","nodes":[],"body":{"id":428,"nodeType":"Block","src":"4724:36:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":423,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":415,"src":"4743:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":424,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":417,"src":"4746:1:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":425,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":419,"src":"4749:3:0","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":422,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":400,"src":"4734:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory)"}},"id":426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4734:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":427,"nodeType":"ExpressionStatement","src":"4734:19:0"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"4663:10:0","parameters":{"id":420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":415,"mutability":"mutable","name":"a","nameLocation":"4682:1:0","nodeType":"VariableDeclaration","scope":429,"src":"4674:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":414,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4674:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":417,"mutability":"mutable","name":"b","nameLocation":"4693:1:0","nodeType":"VariableDeclaration","scope":429,"src":"4685:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4685:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":419,"mutability":"mutable","name":"err","nameLocation":"4710:3:0","nodeType":"VariableDeclaration","scope":429,"src":"4696:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":418,"name":"string","nodeType":"ElementaryTypeName","src":"4696:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4673:41:0"},"returnParameters":{"id":421,"nodeType":"ParameterList","parameters":[],"src":"4724:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":459,"nodeType":"FunctionDefinition","src":"4766:257:0","nodes":[],"body":{"id":458,"nodeType":"Block","src":"4807:216:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":436,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":431,"src":"4821:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":437,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":433,"src":"4826:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"4821:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":457,"nodeType":"IfStatement","src":"4817:200:0","trueBody":{"id":456,"nodeType":"Block","src":"4829:188:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b696e745d","id":440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4852:35:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c510d1b16a7b86013fe25431f855bed96290957b4566f7ab53d5bf1855a3a81","typeString":"literal_string \"Error: a == b not satisfied [int]\""},"value":"Error: a == b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0c510d1b16a7b86013fe25431f855bed96290957b4566f7ab53d5bf1855a3a81","typeString":"literal_string \"Error: a == b not satisfied [int]\""}],"id":439,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"4848:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4848:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":442,"nodeType":"EmitStatement","src":"4843:45:0"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4921:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":445,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":431,"src":"4935:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":443,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"4907:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4907:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":447,"nodeType":"EmitStatement","src":"4902:35:0"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4970:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":450,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":433,"src":"4984:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":448,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"4956:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4956:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":452,"nodeType":"EmitStatement","src":"4951:35:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":453,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"5000:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5000:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":455,"nodeType":"ExpressionStatement","src":"5000:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4775:8:0","parameters":{"id":434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":431,"mutability":"mutable","name":"a","nameLocation":"4788:1:0","nodeType":"VariableDeclaration","scope":459,"src":"4784:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":430,"name":"int","nodeType":"ElementaryTypeName","src":"4784:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":433,"mutability":"mutable","name":"b","nameLocation":"4795:1:0","nodeType":"VariableDeclaration","scope":459,"src":"4791:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":432,"name":"int","nodeType":"ElementaryTypeName","src":"4791:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4783:14:0"},"returnParameters":{"id":435,"nodeType":"ParameterList","parameters":[],"src":"4807:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":484,"nodeType":"FunctionDefinition","src":"5028:176:0","nodes":[],"body":{"id":483,"nodeType":"Block","src":"5088:116:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":468,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"5102:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":469,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":463,"src":"5107:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"5102:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":482,"nodeType":"IfStatement","src":"5098:100:0","trueBody":{"id":481,"nodeType":"Block","src":"5110:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5146:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":473,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":465,"src":"5155:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":471,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"5129:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5129:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":475,"nodeType":"EmitStatement","src":"5124:35:0"},{"expression":{"arguments":[{"id":477,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":461,"src":"5182:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":478,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":463,"src":"5185:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":476,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":459,"src":"5173:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5173:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":480,"nodeType":"ExpressionStatement","src":"5173:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5037:8:0","parameters":{"id":466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":461,"mutability":"mutable","name":"a","nameLocation":"5050:1:0","nodeType":"VariableDeclaration","scope":484,"src":"5046:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":460,"name":"int","nodeType":"ElementaryTypeName","src":"5046:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":463,"mutability":"mutable","name":"b","nameLocation":"5057:1:0","nodeType":"VariableDeclaration","scope":484,"src":"5053:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":462,"name":"int","nodeType":"ElementaryTypeName","src":"5053:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":465,"mutability":"mutable","name":"err","nameLocation":"5074:3:0","nodeType":"VariableDeclaration","scope":484,"src":"5060:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":464,"name":"string","nodeType":"ElementaryTypeName","src":"5060:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5045:33:0"},"returnParameters":{"id":467,"nodeType":"ParameterList","parameters":[],"src":"5088:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":514,"nodeType":"FunctionDefinition","src":"5209:262:0","nodes":[],"body":{"id":513,"nodeType":"Block","src":"5252:219:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":491,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":486,"src":"5266:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":492,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":488,"src":"5271:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5266:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":512,"nodeType":"IfStatement","src":"5262:203:0","trueBody":{"id":511,"nodeType":"Block","src":"5274:191:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e745d","id":495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5297:36:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_3bb05d3ba160a011999668447ff4a7cdd52bf87aeb1d7b9b284ef23b37a2b183","typeString":"literal_string \"Error: a == b not satisfied [uint]\""},"value":"Error: a == b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3bb05d3ba160a011999668447ff4a7cdd52bf87aeb1d7b9b284ef23b37a2b183","typeString":"literal_string \"Error: a == b not satisfied [uint]\""}],"id":494,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"5293:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5293:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":497,"nodeType":"EmitStatement","src":"5288:46:0"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5368:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":500,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":486,"src":"5382:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":498,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"5353:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5353:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":502,"nodeType":"EmitStatement","src":"5348:36:0"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5418:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":505,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":488,"src":"5432:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":503,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"5403:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5403:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":507,"nodeType":"EmitStatement","src":"5398:36:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":508,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"5448:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5448:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":510,"nodeType":"ExpressionStatement","src":"5448:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5218:8:0","parameters":{"id":489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":486,"mutability":"mutable","name":"a","nameLocation":"5232:1:0","nodeType":"VariableDeclaration","scope":514,"src":"5227:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":485,"name":"uint","nodeType":"ElementaryTypeName","src":"5227:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":488,"mutability":"mutable","name":"b","nameLocation":"5240:1:0","nodeType":"VariableDeclaration","scope":514,"src":"5235:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":487,"name":"uint","nodeType":"ElementaryTypeName","src":"5235:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5226:16:0"},"returnParameters":{"id":490,"nodeType":"ParameterList","parameters":[],"src":"5252:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":539,"nodeType":"FunctionDefinition","src":"5476:178:0","nodes":[],"body":{"id":538,"nodeType":"Block","src":"5538:116:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":523,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":516,"src":"5552:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":524,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":518,"src":"5557:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5552:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":537,"nodeType":"IfStatement","src":"5548:100:0","trueBody":{"id":536,"nodeType":"Block","src":"5560:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5596:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":528,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":520,"src":"5605:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":526,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"5579:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5579:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":530,"nodeType":"EmitStatement","src":"5574:35:0"},{"expression":{"arguments":[{"id":532,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":516,"src":"5632:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":533,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":518,"src":"5635:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":531,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"5623:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5623:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":535,"nodeType":"ExpressionStatement","src":"5623:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5485:8:0","parameters":{"id":521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":516,"mutability":"mutable","name":"a","nameLocation":"5499:1:0","nodeType":"VariableDeclaration","scope":539,"src":"5494:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":515,"name":"uint","nodeType":"ElementaryTypeName","src":"5494:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":518,"mutability":"mutable","name":"b","nameLocation":"5507:1:0","nodeType":"VariableDeclaration","scope":539,"src":"5502:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":517,"name":"uint","nodeType":"ElementaryTypeName","src":"5502:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":520,"mutability":"mutable","name":"err","nameLocation":"5524:3:0","nodeType":"VariableDeclaration","scope":539,"src":"5510:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":519,"name":"string","nodeType":"ElementaryTypeName","src":"5510:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5493:35:0"},"returnParameters":{"id":522,"nodeType":"ParameterList","parameters":[],"src":"5538:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":573,"nodeType":"FunctionDefinition","src":"5659:323:0","nodes":[],"body":{"id":572,"nodeType":"Block","src":"5722:260:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":548,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":541,"src":"5736:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":549,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":543,"src":"5741:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"5736:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":571,"nodeType":"IfStatement","src":"5732:244:0","trueBody":{"id":570,"nodeType":"Block","src":"5744:232:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b646563696d616c20696e745d","id":552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5767:43:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_3ee6ef9b326324a79dedc7af5585ef9f689364368b4e76dd3a37559719a19fe6","typeString":"literal_string \"Error: a == b not satisfied [decimal int]\""},"value":"Error: a == b not satisfied [decimal int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3ee6ef9b326324a79dedc7af5585ef9f689364368b4e76dd3a37559719a19fe6","typeString":"literal_string \"Error: a == b not satisfied [decimal int]\""}],"id":551,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"5763:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5763:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":554,"nodeType":"EmitStatement","src":"5758:53:0"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5852:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":557,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":541,"src":"5866:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":558,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":545,"src":"5869:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":555,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"5830:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5830:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":560,"nodeType":"EmitStatement","src":"5825:53:0"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5919:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":563,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":543,"src":"5933:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":564,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":545,"src":"5936:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":561,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"5897:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5897:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":566,"nodeType":"EmitStatement","src":"5892:53:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":567,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"5959:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5959:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":569,"nodeType":"ExpressionStatement","src":"5959:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"5668:15:0","parameters":{"id":546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":541,"mutability":"mutable","name":"a","nameLocation":"5688:1:0","nodeType":"VariableDeclaration","scope":573,"src":"5684:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":540,"name":"int","nodeType":"ElementaryTypeName","src":"5684:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":543,"mutability":"mutable","name":"b","nameLocation":"5695:1:0","nodeType":"VariableDeclaration","scope":573,"src":"5691:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":542,"name":"int","nodeType":"ElementaryTypeName","src":"5691:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":545,"mutability":"mutable","name":"decimals","nameLocation":"5703:8:0","nodeType":"VariableDeclaration","scope":573,"src":"5698:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":544,"name":"uint","nodeType":"ElementaryTypeName","src":"5698:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5683:29:0"},"returnParameters":{"id":547,"nodeType":"ParameterList","parameters":[],"src":"5722:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":601,"nodeType":"FunctionDefinition","src":"5987:215:0","nodes":[],"body":{"id":600,"nodeType":"Block","src":"6069:133:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":584,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":575,"src":"6083:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":585,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":577,"src":"6088:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"6083:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":599,"nodeType":"IfStatement","src":"6079:117:0","trueBody":{"id":598,"nodeType":"Block","src":"6091:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6127:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":589,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":581,"src":"6136:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":587,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"6110:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6110:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":591,"nodeType":"EmitStatement","src":"6105:35:0"},{"expression":{"arguments":[{"id":593,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":575,"src":"6170:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":594,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":577,"src":"6173:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":595,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":579,"src":"6176:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":592,"name":"assertEqDecimal","nodeType":"Identifier","overloadedDeclarations":[573,601,635,663],"referencedDeclaration":573,"src":"6154:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6154:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":597,"nodeType":"ExpressionStatement","src":"6154:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"5996:15:0","parameters":{"id":582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":575,"mutability":"mutable","name":"a","nameLocation":"6016:1:0","nodeType":"VariableDeclaration","scope":601,"src":"6012:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":574,"name":"int","nodeType":"ElementaryTypeName","src":"6012:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":577,"mutability":"mutable","name":"b","nameLocation":"6023:1:0","nodeType":"VariableDeclaration","scope":601,"src":"6019:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":576,"name":"int","nodeType":"ElementaryTypeName","src":"6019:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":579,"mutability":"mutable","name":"decimals","nameLocation":"6031:8:0","nodeType":"VariableDeclaration","scope":601,"src":"6026:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":578,"name":"uint","nodeType":"ElementaryTypeName","src":"6026:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":581,"mutability":"mutable","name":"err","nameLocation":"6055:3:0","nodeType":"VariableDeclaration","scope":601,"src":"6041:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":580,"name":"string","nodeType":"ElementaryTypeName","src":"6041:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6011:48:0"},"returnParameters":{"id":583,"nodeType":"ParameterList","parameters":[],"src":"6069:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":635,"nodeType":"FunctionDefinition","src":"6207:328:0","nodes":[],"body":{"id":634,"nodeType":"Block","src":"6272:263:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":610,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"6286:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":611,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":605,"src":"6291:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6286:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":633,"nodeType":"IfStatement","src":"6282:247:0","trueBody":{"id":632,"nodeType":"Block","src":"6294:235:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b646563696d616c2075696e745d","id":614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6317:44:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_acd59a69b2dc4bcee2d5b2a205a178a5eace192e68808cc4db1cea91cdc48141","typeString":"literal_string \"Error: a == b not satisfied [decimal uint]\""},"value":"Error: a == b not satisfied [decimal uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_acd59a69b2dc4bcee2d5b2a205a178a5eace192e68808cc4db1cea91cdc48141","typeString":"literal_string \"Error: a == b not satisfied [decimal uint]\""}],"id":613,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"6313:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6313:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":616,"nodeType":"EmitStatement","src":"6308:54:0"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6404:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":619,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":603,"src":"6418:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":620,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":607,"src":"6421:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":617,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"6381:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6381:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":622,"nodeType":"EmitStatement","src":"6376:54:0"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6472:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":625,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":605,"src":"6486:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":626,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":607,"src":"6489:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":623,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"6449:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6449:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":628,"nodeType":"EmitStatement","src":"6444:54:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":629,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"6512:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6512:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":631,"nodeType":"ExpressionStatement","src":"6512:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"6216:15:0","parameters":{"id":608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":603,"mutability":"mutable","name":"a","nameLocation":"6237:1:0","nodeType":"VariableDeclaration","scope":635,"src":"6232:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":602,"name":"uint","nodeType":"ElementaryTypeName","src":"6232:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":605,"mutability":"mutable","name":"b","nameLocation":"6245:1:0","nodeType":"VariableDeclaration","scope":635,"src":"6240:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":604,"name":"uint","nodeType":"ElementaryTypeName","src":"6240:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":607,"mutability":"mutable","name":"decimals","nameLocation":"6253:8:0","nodeType":"VariableDeclaration","scope":635,"src":"6248:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":606,"name":"uint","nodeType":"ElementaryTypeName","src":"6248:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6231:31:0"},"returnParameters":{"id":609,"nodeType":"ParameterList","parameters":[],"src":"6272:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":663,"nodeType":"FunctionDefinition","src":"6540:217:0","nodes":[],"body":{"id":662,"nodeType":"Block","src":"6624:133:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":646,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":637,"src":"6638:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":647,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":639,"src":"6643:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6638:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":661,"nodeType":"IfStatement","src":"6634:117:0","trueBody":{"id":660,"nodeType":"Block","src":"6646:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6682:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":651,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":643,"src":"6691:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":649,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"6665:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6665:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":653,"nodeType":"EmitStatement","src":"6660:35:0"},{"expression":{"arguments":[{"id":655,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":637,"src":"6725:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":656,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":639,"src":"6728:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":657,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":641,"src":"6731:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":654,"name":"assertEqDecimal","nodeType":"Identifier","overloadedDeclarations":[573,601,635,663],"referencedDeclaration":635,"src":"6709:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6709:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":659,"nodeType":"ExpressionStatement","src":"6709:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"6549:15:0","parameters":{"id":644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":637,"mutability":"mutable","name":"a","nameLocation":"6570:1:0","nodeType":"VariableDeclaration","scope":663,"src":"6565:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":636,"name":"uint","nodeType":"ElementaryTypeName","src":"6565:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":639,"mutability":"mutable","name":"b","nameLocation":"6578:1:0","nodeType":"VariableDeclaration","scope":663,"src":"6573:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":638,"name":"uint","nodeType":"ElementaryTypeName","src":"6573:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":641,"mutability":"mutable","name":"decimals","nameLocation":"6586:8:0","nodeType":"VariableDeclaration","scope":663,"src":"6581:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":640,"name":"uint","nodeType":"ElementaryTypeName","src":"6581:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":643,"mutability":"mutable","name":"err","nameLocation":"6610:3:0","nodeType":"VariableDeclaration","scope":663,"src":"6596:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":642,"name":"string","nodeType":"ElementaryTypeName","src":"6596:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6564:50:0"},"returnParameters":{"id":645,"nodeType":"ParameterList","parameters":[],"src":"6624:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":693,"nodeType":"FunctionDefinition","src":"6763:259:0","nodes":[],"body":{"id":692,"nodeType":"Block","src":"6806:216:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":670,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":665,"src":"6820:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":671,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":667,"src":"6825:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6820:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":691,"nodeType":"IfStatement","src":"6816:200:0","trueBody":{"id":690,"nodeType":"Block","src":"6828:188:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e2062206e6f7420736174697366696564205b75696e745d","id":674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6851:35:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_71977b46fbd6a64b4465b93c7a77bcaa06103df599ead9f7e7004b34129c9e3a","typeString":"literal_string \"Error: a > b not satisfied [uint]\""},"value":"Error: a > b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71977b46fbd6a64b4465b93c7a77bcaa06103df599ead9f7e7004b34129c9e3a","typeString":"literal_string \"Error: a > b not satisfied [uint]\""}],"id":673,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"6847:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6847:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":676,"nodeType":"EmitStatement","src":"6842:45:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6921:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":679,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":665,"src":"6934:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":677,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"6906:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6906:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":681,"nodeType":"EmitStatement","src":"6901:35:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6970:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":684,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":667,"src":"6983:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":682,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"6955:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6955:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":686,"nodeType":"EmitStatement","src":"6950:35:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":687,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"6999:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6999:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":689,"nodeType":"ExpressionStatement","src":"6999:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"6772:8:0","parameters":{"id":668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":665,"mutability":"mutable","name":"a","nameLocation":"6786:1:0","nodeType":"VariableDeclaration","scope":693,"src":"6781:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":664,"name":"uint","nodeType":"ElementaryTypeName","src":"6781:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":667,"mutability":"mutable","name":"b","nameLocation":"6794:1:0","nodeType":"VariableDeclaration","scope":693,"src":"6789:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":666,"name":"uint","nodeType":"ElementaryTypeName","src":"6789:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6780:16:0"},"returnParameters":{"id":669,"nodeType":"ParameterList","parameters":[],"src":"6806:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":718,"nodeType":"FunctionDefinition","src":"7027:178:0","nodes":[],"body":{"id":717,"nodeType":"Block","src":"7089:116:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":702,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":695,"src":"7103:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":703,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"7108:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7103:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":716,"nodeType":"IfStatement","src":"7099:100:0","trueBody":{"id":715,"nodeType":"Block","src":"7111:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7147:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":707,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":699,"src":"7156:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":705,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"7130:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7130:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":709,"nodeType":"EmitStatement","src":"7125:35:0"},{"expression":{"arguments":[{"id":711,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":695,"src":"7183:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":712,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"7186:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":710,"name":"assertGt","nodeType":"Identifier","overloadedDeclarations":[693,718,748,773],"referencedDeclaration":693,"src":"7174:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7174:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":714,"nodeType":"ExpressionStatement","src":"7174:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"7036:8:0","parameters":{"id":700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":695,"mutability":"mutable","name":"a","nameLocation":"7050:1:0","nodeType":"VariableDeclaration","scope":718,"src":"7045:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":694,"name":"uint","nodeType":"ElementaryTypeName","src":"7045:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":697,"mutability":"mutable","name":"b","nameLocation":"7058:1:0","nodeType":"VariableDeclaration","scope":718,"src":"7053:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":696,"name":"uint","nodeType":"ElementaryTypeName","src":"7053:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":699,"mutability":"mutable","name":"err","nameLocation":"7075:3:0","nodeType":"VariableDeclaration","scope":718,"src":"7061:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":698,"name":"string","nodeType":"ElementaryTypeName","src":"7061:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7044:35:0"},"returnParameters":{"id":701,"nodeType":"ParameterList","parameters":[],"src":"7089:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":748,"nodeType":"FunctionDefinition","src":"7210:254:0","nodes":[],"body":{"id":747,"nodeType":"Block","src":"7251:213:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":725,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"7265:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":726,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"7270:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"7265:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":746,"nodeType":"IfStatement","src":"7261:197:0","trueBody":{"id":745,"nodeType":"Block","src":"7273:185:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e2062206e6f7420736174697366696564205b696e745d","id":729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7296:34:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6338b3f9677628b4efbdc683490461f2a94469341c3d2ff3d117001fb77d49b","typeString":"literal_string \"Error: a > b not satisfied [int]\""},"value":"Error: a > b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6338b3f9677628b4efbdc683490461f2a94469341c3d2ff3d117001fb77d49b","typeString":"literal_string \"Error: a > b not satisfied [int]\""}],"id":728,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"7292:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7292:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":731,"nodeType":"EmitStatement","src":"7287:44:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7364:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":734,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"7377:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":732,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"7350:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7350:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":736,"nodeType":"EmitStatement","src":"7345:34:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7412:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":739,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"7425:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":737,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"7398:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7398:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":741,"nodeType":"EmitStatement","src":"7393:34:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":742,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"7441:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7441:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":744,"nodeType":"ExpressionStatement","src":"7441:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"7219:8:0","parameters":{"id":723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":720,"mutability":"mutable","name":"a","nameLocation":"7232:1:0","nodeType":"VariableDeclaration","scope":748,"src":"7228:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":719,"name":"int","nodeType":"ElementaryTypeName","src":"7228:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":722,"mutability":"mutable","name":"b","nameLocation":"7239:1:0","nodeType":"VariableDeclaration","scope":748,"src":"7235:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":721,"name":"int","nodeType":"ElementaryTypeName","src":"7235:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7227:14:0"},"returnParameters":{"id":724,"nodeType":"ParameterList","parameters":[],"src":"7251:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":773,"nodeType":"FunctionDefinition","src":"7469:176:0","nodes":[],"body":{"id":772,"nodeType":"Block","src":"7529:116:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":757,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"7543:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":758,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":752,"src":"7548:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"7543:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":771,"nodeType":"IfStatement","src":"7539:100:0","trueBody":{"id":770,"nodeType":"Block","src":"7551:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7587:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":762,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":754,"src":"7596:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":760,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"7570:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7570:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":764,"nodeType":"EmitStatement","src":"7565:35:0"},{"expression":{"arguments":[{"id":766,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"7623:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":767,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":752,"src":"7626:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":765,"name":"assertGt","nodeType":"Identifier","overloadedDeclarations":[693,718,748,773],"referencedDeclaration":748,"src":"7614:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7614:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":769,"nodeType":"ExpressionStatement","src":"7614:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"7478:8:0","parameters":{"id":755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":750,"mutability":"mutable","name":"a","nameLocation":"7491:1:0","nodeType":"VariableDeclaration","scope":773,"src":"7487:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":749,"name":"int","nodeType":"ElementaryTypeName","src":"7487:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":752,"mutability":"mutable","name":"b","nameLocation":"7498:1:0","nodeType":"VariableDeclaration","scope":773,"src":"7494:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":751,"name":"int","nodeType":"ElementaryTypeName","src":"7494:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":754,"mutability":"mutable","name":"err","nameLocation":"7515:3:0","nodeType":"VariableDeclaration","scope":773,"src":"7501:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":753,"name":"string","nodeType":"ElementaryTypeName","src":"7501:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7486:33:0"},"returnParameters":{"id":756,"nodeType":"ParameterList","parameters":[],"src":"7529:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":807,"nodeType":"FunctionDefinition","src":"7650:320:0","nodes":[],"body":{"id":806,"nodeType":"Block","src":"7713:257:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":782,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":775,"src":"7727:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":783,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":777,"src":"7732:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"7727:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":805,"nodeType":"IfStatement","src":"7723:241:0","trueBody":{"id":804,"nodeType":"Block","src":"7735:229:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e2062206e6f7420736174697366696564205b646563696d616c20696e745d","id":786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7758:42:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_85ee98c18b4560d5bfeeef41e54955cef93f7b8071348c487f1fd81bd1aaf2ad","typeString":"literal_string \"Error: a > b not satisfied [decimal int]\""},"value":"Error: a > b not satisfied [decimal int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85ee98c18b4560d5bfeeef41e54955cef93f7b8071348c487f1fd81bd1aaf2ad","typeString":"literal_string \"Error: a > b not satisfied [decimal int]\""}],"id":785,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"7754:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7754:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":788,"nodeType":"EmitStatement","src":"7749:52:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7842:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":791,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":775,"src":"7855:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":792,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":779,"src":"7858:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":789,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"7820:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7820:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":794,"nodeType":"EmitStatement","src":"7815:52:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7908:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":797,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":777,"src":"7921:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":798,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":779,"src":"7924:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":795,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"7886:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7886:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":800,"nodeType":"EmitStatement","src":"7881:52:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":801,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"7947:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7947:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":803,"nodeType":"ExpressionStatement","src":"7947:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"7659:15:0","parameters":{"id":780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":775,"mutability":"mutable","name":"a","nameLocation":"7679:1:0","nodeType":"VariableDeclaration","scope":807,"src":"7675:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":774,"name":"int","nodeType":"ElementaryTypeName","src":"7675:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":777,"mutability":"mutable","name":"b","nameLocation":"7686:1:0","nodeType":"VariableDeclaration","scope":807,"src":"7682:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":776,"name":"int","nodeType":"ElementaryTypeName","src":"7682:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":779,"mutability":"mutable","name":"decimals","nameLocation":"7694:8:0","nodeType":"VariableDeclaration","scope":807,"src":"7689:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":778,"name":"uint","nodeType":"ElementaryTypeName","src":"7689:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7674:29:0"},"returnParameters":{"id":781,"nodeType":"ParameterList","parameters":[],"src":"7713:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":835,"nodeType":"FunctionDefinition","src":"7975:215:0","nodes":[],"body":{"id":834,"nodeType":"Block","src":"8057:133:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":818,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":809,"src":"8071:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":819,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":811,"src":"8076:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"8071:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":833,"nodeType":"IfStatement","src":"8067:117:0","trueBody":{"id":832,"nodeType":"Block","src":"8079:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8115:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":823,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":815,"src":"8124:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":821,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"8098:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8098:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":825,"nodeType":"EmitStatement","src":"8093:35:0"},{"expression":{"arguments":[{"id":827,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":809,"src":"8158:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":828,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":811,"src":"8161:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":829,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":813,"src":"8164:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":826,"name":"assertGtDecimal","nodeType":"Identifier","overloadedDeclarations":[807,835,869,897],"referencedDeclaration":807,"src":"8142:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8142:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":831,"nodeType":"ExpressionStatement","src":"8142:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"7984:15:0","parameters":{"id":816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":809,"mutability":"mutable","name":"a","nameLocation":"8004:1:0","nodeType":"VariableDeclaration","scope":835,"src":"8000:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":808,"name":"int","nodeType":"ElementaryTypeName","src":"8000:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":811,"mutability":"mutable","name":"b","nameLocation":"8011:1:0","nodeType":"VariableDeclaration","scope":835,"src":"8007:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":810,"name":"int","nodeType":"ElementaryTypeName","src":"8007:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":813,"mutability":"mutable","name":"decimals","nameLocation":"8019:8:0","nodeType":"VariableDeclaration","scope":835,"src":"8014:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":812,"name":"uint","nodeType":"ElementaryTypeName","src":"8014:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":815,"mutability":"mutable","name":"err","nameLocation":"8043:3:0","nodeType":"VariableDeclaration","scope":835,"src":"8029:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":814,"name":"string","nodeType":"ElementaryTypeName","src":"8029:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7999:48:0"},"returnParameters":{"id":817,"nodeType":"ParameterList","parameters":[],"src":"8057:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":869,"nodeType":"FunctionDefinition","src":"8195:325:0","nodes":[],"body":{"id":868,"nodeType":"Block","src":"8260:260:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":844,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":837,"src":"8274:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":845,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":839,"src":"8279:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8274:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":867,"nodeType":"IfStatement","src":"8270:244:0","trueBody":{"id":866,"nodeType":"Block","src":"8282:232:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e2062206e6f7420736174697366696564205b646563696d616c2075696e745d","id":848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8305:43:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a2cca6a3a53808b9763cfdafa62d083cc161a243845052a9c6e09d6d624c69f","typeString":"literal_string \"Error: a > b not satisfied [decimal uint]\""},"value":"Error: a > b not satisfied [decimal uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2a2cca6a3a53808b9763cfdafa62d083cc161a243845052a9c6e09d6d624c69f","typeString":"literal_string \"Error: a > b not satisfied [decimal uint]\""}],"id":847,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"8301:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8301:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":850,"nodeType":"EmitStatement","src":"8296:53:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8391:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":853,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":837,"src":"8404:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":854,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":841,"src":"8407:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":851,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"8368:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8368:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":856,"nodeType":"EmitStatement","src":"8363:53:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8458:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":859,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":839,"src":"8471:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":860,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":841,"src":"8474:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":857,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"8435:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8435:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":862,"nodeType":"EmitStatement","src":"8430:53:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":863,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"8497:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8497:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":865,"nodeType":"ExpressionStatement","src":"8497:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"8204:15:0","parameters":{"id":842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":837,"mutability":"mutable","name":"a","nameLocation":"8225:1:0","nodeType":"VariableDeclaration","scope":869,"src":"8220:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":836,"name":"uint","nodeType":"ElementaryTypeName","src":"8220:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":839,"mutability":"mutable","name":"b","nameLocation":"8233:1:0","nodeType":"VariableDeclaration","scope":869,"src":"8228:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":838,"name":"uint","nodeType":"ElementaryTypeName","src":"8228:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":841,"mutability":"mutable","name":"decimals","nameLocation":"8241:8:0","nodeType":"VariableDeclaration","scope":869,"src":"8236:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":840,"name":"uint","nodeType":"ElementaryTypeName","src":"8236:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8219:31:0"},"returnParameters":{"id":843,"nodeType":"ParameterList","parameters":[],"src":"8260:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":897,"nodeType":"FunctionDefinition","src":"8525:217:0","nodes":[],"body":{"id":896,"nodeType":"Block","src":"8609:133:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":880,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":871,"src":"8623:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":881,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":873,"src":"8628:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8623:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":895,"nodeType":"IfStatement","src":"8619:117:0","trueBody":{"id":894,"nodeType":"Block","src":"8631:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8667:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":885,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":877,"src":"8676:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":883,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"8650:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8650:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":887,"nodeType":"EmitStatement","src":"8645:35:0"},{"expression":{"arguments":[{"id":889,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":871,"src":"8710:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":890,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":873,"src":"8713:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":891,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":875,"src":"8716:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":888,"name":"assertGtDecimal","nodeType":"Identifier","overloadedDeclarations":[807,835,869,897],"referencedDeclaration":869,"src":"8694:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8694:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":893,"nodeType":"ExpressionStatement","src":"8694:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"8534:15:0","parameters":{"id":878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":871,"mutability":"mutable","name":"a","nameLocation":"8555:1:0","nodeType":"VariableDeclaration","scope":897,"src":"8550:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":870,"name":"uint","nodeType":"ElementaryTypeName","src":"8550:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":873,"mutability":"mutable","name":"b","nameLocation":"8563:1:0","nodeType":"VariableDeclaration","scope":897,"src":"8558:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":872,"name":"uint","nodeType":"ElementaryTypeName","src":"8558:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":875,"mutability":"mutable","name":"decimals","nameLocation":"8571:8:0","nodeType":"VariableDeclaration","scope":897,"src":"8566:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":874,"name":"uint","nodeType":"ElementaryTypeName","src":"8566:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":877,"mutability":"mutable","name":"err","nameLocation":"8595:3:0","nodeType":"VariableDeclaration","scope":897,"src":"8581:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":876,"name":"string","nodeType":"ElementaryTypeName","src":"8581:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8549:50:0"},"returnParameters":{"id":879,"nodeType":"ParameterList","parameters":[],"src":"8609:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":927,"nodeType":"FunctionDefinition","src":"8748:259:0","nodes":[],"body":{"id":926,"nodeType":"Block","src":"8791:216:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":904,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":899,"src":"8805:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":905,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":901,"src":"8809:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8805:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":925,"nodeType":"IfStatement","src":"8801:200:0","trueBody":{"id":924,"nodeType":"Block","src":"8812:189:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e3d2062206e6f7420736174697366696564205b75696e745d","id":908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8835:36:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_ad79593ab7a8c163bd9b5379945ad36a940281a5ef1023478b9c309b02ea375e","typeString":"literal_string \"Error: a >= b not satisfied [uint]\""},"value":"Error: a >= b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ad79593ab7a8c163bd9b5379945ad36a940281a5ef1023478b9c309b02ea375e","typeString":"literal_string \"Error: a >= b not satisfied [uint]\""}],"id":907,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"8831:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8831:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":910,"nodeType":"EmitStatement","src":"8826:46:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8906:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":913,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":899,"src":"8919:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":911,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"8891:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8891:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":915,"nodeType":"EmitStatement","src":"8886:35:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8955:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":918,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":901,"src":"8968:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":916,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"8940:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8940:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":920,"nodeType":"EmitStatement","src":"8935:35:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":921,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"8984:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8984:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":923,"nodeType":"ExpressionStatement","src":"8984:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"8757:8:0","parameters":{"id":902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":899,"mutability":"mutable","name":"a","nameLocation":"8771:1:0","nodeType":"VariableDeclaration","scope":927,"src":"8766:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":898,"name":"uint","nodeType":"ElementaryTypeName","src":"8766:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":901,"mutability":"mutable","name":"b","nameLocation":"8779:1:0","nodeType":"VariableDeclaration","scope":927,"src":"8774:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":900,"name":"uint","nodeType":"ElementaryTypeName","src":"8774:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8765:16:0"},"returnParameters":{"id":903,"nodeType":"ParameterList","parameters":[],"src":"8791:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":952,"nodeType":"FunctionDefinition","src":"9012:177:0","nodes":[],"body":{"id":951,"nodeType":"Block","src":"9074:115:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":936,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":929,"src":"9088:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":937,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":931,"src":"9092:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9088:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":950,"nodeType":"IfStatement","src":"9084:99:0","trueBody":{"id":949,"nodeType":"Block","src":"9095:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9131:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":941,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":933,"src":"9140:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":939,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"9114:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9114:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":943,"nodeType":"EmitStatement","src":"9109:35:0"},{"expression":{"arguments":[{"id":945,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":929,"src":"9167:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":946,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":931,"src":"9170:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":944,"name":"assertGe","nodeType":"Identifier","overloadedDeclarations":[927,952,982,1007],"referencedDeclaration":927,"src":"9158:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9158:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":948,"nodeType":"ExpressionStatement","src":"9158:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"9021:8:0","parameters":{"id":934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":929,"mutability":"mutable","name":"a","nameLocation":"9035:1:0","nodeType":"VariableDeclaration","scope":952,"src":"9030:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":928,"name":"uint","nodeType":"ElementaryTypeName","src":"9030:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":931,"mutability":"mutable","name":"b","nameLocation":"9043:1:0","nodeType":"VariableDeclaration","scope":952,"src":"9038:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":930,"name":"uint","nodeType":"ElementaryTypeName","src":"9038:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":933,"mutability":"mutable","name":"err","nameLocation":"9060:3:0","nodeType":"VariableDeclaration","scope":952,"src":"9046:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":932,"name":"string","nodeType":"ElementaryTypeName","src":"9046:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9029:35:0"},"returnParameters":{"id":935,"nodeType":"ParameterList","parameters":[],"src":"9074:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":982,"nodeType":"FunctionDefinition","src":"9194:254:0","nodes":[],"body":{"id":981,"nodeType":"Block","src":"9235:213:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":959,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":954,"src":"9249:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":960,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":956,"src":"9253:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"9249:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":980,"nodeType":"IfStatement","src":"9245:197:0","trueBody":{"id":979,"nodeType":"Block","src":"9256:186:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e3d2062206e6f7420736174697366696564205b696e745d","id":963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9279:35:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_9dd34d7cd7d190bc9855e4326f563fd4539c0d764699b480d53bfd72aa5807a6","typeString":"literal_string \"Error: a >= b not satisfied [int]\""},"value":"Error: a >= b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9dd34d7cd7d190bc9855e4326f563fd4539c0d764699b480d53bfd72aa5807a6","typeString":"literal_string \"Error: a >= b not satisfied [int]\""}],"id":962,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"9275:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9275:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":965,"nodeType":"EmitStatement","src":"9270:45:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9348:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":968,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":954,"src":"9361:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":966,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"9334:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9334:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":970,"nodeType":"EmitStatement","src":"9329:34:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9396:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":973,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":956,"src":"9409:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":971,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"9382:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9382:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":975,"nodeType":"EmitStatement","src":"9377:34:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":976,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"9425:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9425:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":978,"nodeType":"ExpressionStatement","src":"9425:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"9203:8:0","parameters":{"id":957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":954,"mutability":"mutable","name":"a","nameLocation":"9216:1:0","nodeType":"VariableDeclaration","scope":982,"src":"9212:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":953,"name":"int","nodeType":"ElementaryTypeName","src":"9212:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":956,"mutability":"mutable","name":"b","nameLocation":"9223:1:0","nodeType":"VariableDeclaration","scope":982,"src":"9219:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":955,"name":"int","nodeType":"ElementaryTypeName","src":"9219:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9211:14:0"},"returnParameters":{"id":958,"nodeType":"ParameterList","parameters":[],"src":"9235:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1007,"nodeType":"FunctionDefinition","src":"9453:175:0","nodes":[],"body":{"id":1006,"nodeType":"Block","src":"9513:115:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":991,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":984,"src":"9527:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":992,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":986,"src":"9531:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"9527:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1005,"nodeType":"IfStatement","src":"9523:99:0","trueBody":{"id":1004,"nodeType":"Block","src":"9534:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9570:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":996,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":988,"src":"9579:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":994,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"9553:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9553:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":998,"nodeType":"EmitStatement","src":"9548:35:0"},{"expression":{"arguments":[{"id":1000,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":984,"src":"9606:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1001,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":986,"src":"9609:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":999,"name":"assertGe","nodeType":"Identifier","overloadedDeclarations":[927,952,982,1007],"referencedDeclaration":982,"src":"9597:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":1002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9597:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1003,"nodeType":"ExpressionStatement","src":"9597:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"9462:8:0","parameters":{"id":989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":984,"mutability":"mutable","name":"a","nameLocation":"9475:1:0","nodeType":"VariableDeclaration","scope":1007,"src":"9471:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":983,"name":"int","nodeType":"ElementaryTypeName","src":"9471:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":986,"mutability":"mutable","name":"b","nameLocation":"9482:1:0","nodeType":"VariableDeclaration","scope":1007,"src":"9478:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":985,"name":"int","nodeType":"ElementaryTypeName","src":"9478:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":988,"mutability":"mutable","name":"err","nameLocation":"9499:3:0","nodeType":"VariableDeclaration","scope":1007,"src":"9485:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":987,"name":"string","nodeType":"ElementaryTypeName","src":"9485:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9470:33:0"},"returnParameters":{"id":990,"nodeType":"ParameterList","parameters":[],"src":"9513:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1041,"nodeType":"FunctionDefinition","src":"9633:320:0","nodes":[],"body":{"id":1040,"nodeType":"Block","src":"9696:257:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1016,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1009,"src":"9710:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1017,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1011,"src":"9714:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"9710:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1039,"nodeType":"IfStatement","src":"9706:241:0","trueBody":{"id":1038,"nodeType":"Block","src":"9717:230:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e3d2062206e6f7420736174697366696564205b646563696d616c20696e745d","id":1020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9740:43:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_0f02f65375ca93c3f3c485b8b2455303d1a8668a2b626cba00789d1c4ebd8736","typeString":"literal_string \"Error: a >= b not satisfied [decimal int]\""},"value":"Error: a >= b not satisfied [decimal int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0f02f65375ca93c3f3c485b8b2455303d1a8668a2b626cba00789d1c4ebd8736","typeString":"literal_string \"Error: a >= b not satisfied [decimal int]\""}],"id":1019,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"9736:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9736:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1022,"nodeType":"EmitStatement","src":"9731:53:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9825:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1025,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1009,"src":"9838:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1026,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1013,"src":"9841:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1023,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"9803:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":1027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9803:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1028,"nodeType":"EmitStatement","src":"9798:52:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9891:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1031,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1011,"src":"9904:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1032,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1013,"src":"9907:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1029,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"9869:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":1033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9869:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1034,"nodeType":"EmitStatement","src":"9864:52:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1035,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"9930:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9930:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1037,"nodeType":"ExpressionStatement","src":"9930:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"9642:15:0","parameters":{"id":1014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1009,"mutability":"mutable","name":"a","nameLocation":"9662:1:0","nodeType":"VariableDeclaration","scope":1041,"src":"9658:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1008,"name":"int","nodeType":"ElementaryTypeName","src":"9658:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1011,"mutability":"mutable","name":"b","nameLocation":"9669:1:0","nodeType":"VariableDeclaration","scope":1041,"src":"9665:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1010,"name":"int","nodeType":"ElementaryTypeName","src":"9665:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1013,"mutability":"mutable","name":"decimals","nameLocation":"9677:8:0","nodeType":"VariableDeclaration","scope":1041,"src":"9672:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1012,"name":"uint","nodeType":"ElementaryTypeName","src":"9672:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9657:29:0"},"returnParameters":{"id":1015,"nodeType":"ParameterList","parameters":[],"src":"9696:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1069,"nodeType":"FunctionDefinition","src":"9958:214:0","nodes":[],"body":{"id":1068,"nodeType":"Block","src":"10040:132:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1052,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1043,"src":"10054:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1053,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1045,"src":"10058:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"10054:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1067,"nodeType":"IfStatement","src":"10050:116:0","trueBody":{"id":1066,"nodeType":"Block","src":"10061:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10097:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1057,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1049,"src":"10106:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1055,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"10080:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10080:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1059,"nodeType":"EmitStatement","src":"10075:35:0"},{"expression":{"arguments":[{"id":1061,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1043,"src":"10140:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1062,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1045,"src":"10143:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1063,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1047,"src":"10146:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1060,"name":"assertGeDecimal","nodeType":"Identifier","overloadedDeclarations":[1041,1069,1103,1131],"referencedDeclaration":1041,"src":"10124:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":1064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10124:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1065,"nodeType":"ExpressionStatement","src":"10124:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"9967:15:0","parameters":{"id":1050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1043,"mutability":"mutable","name":"a","nameLocation":"9987:1:0","nodeType":"VariableDeclaration","scope":1069,"src":"9983:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1042,"name":"int","nodeType":"ElementaryTypeName","src":"9983:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1045,"mutability":"mutable","name":"b","nameLocation":"9994:1:0","nodeType":"VariableDeclaration","scope":1069,"src":"9990:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1044,"name":"int","nodeType":"ElementaryTypeName","src":"9990:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1047,"mutability":"mutable","name":"decimals","nameLocation":"10002:8:0","nodeType":"VariableDeclaration","scope":1069,"src":"9997:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1046,"name":"uint","nodeType":"ElementaryTypeName","src":"9997:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1049,"mutability":"mutable","name":"err","nameLocation":"10026:3:0","nodeType":"VariableDeclaration","scope":1069,"src":"10012:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1048,"name":"string","nodeType":"ElementaryTypeName","src":"10012:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9982:48:0"},"returnParameters":{"id":1051,"nodeType":"ParameterList","parameters":[],"src":"10040:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1103,"nodeType":"FunctionDefinition","src":"10177:325:0","nodes":[],"body":{"id":1102,"nodeType":"Block","src":"10242:260:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1078,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1071,"src":"10256:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1079,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1073,"src":"10260:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10256:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1101,"nodeType":"IfStatement","src":"10252:244:0","trueBody":{"id":1100,"nodeType":"Block","src":"10263:233:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e3d2062206e6f7420736174697366696564205b646563696d616c2075696e745d","id":1082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10286:44:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_1192304a51ee70969886576ac83224cad7adddc5aab218616c612e9fa634c616","typeString":"literal_string \"Error: a >= b not satisfied [decimal uint]\""},"value":"Error: a >= b not satisfied [decimal uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1192304a51ee70969886576ac83224cad7adddc5aab218616c612e9fa634c616","typeString":"literal_string \"Error: a >= b not satisfied [decimal uint]\""}],"id":1081,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"10282:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10282:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1084,"nodeType":"EmitStatement","src":"10277:54:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10373:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1087,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1071,"src":"10386:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1088,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1075,"src":"10389:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1085,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"10350:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":1089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10350:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1090,"nodeType":"EmitStatement","src":"10345:53:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10440:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1093,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1073,"src":"10453:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1094,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1075,"src":"10456:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1091,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"10417:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":1095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10417:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1096,"nodeType":"EmitStatement","src":"10412:53:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1097,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"10479:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10479:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1099,"nodeType":"ExpressionStatement","src":"10479:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"10186:15:0","parameters":{"id":1076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1071,"mutability":"mutable","name":"a","nameLocation":"10207:1:0","nodeType":"VariableDeclaration","scope":1103,"src":"10202:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1070,"name":"uint","nodeType":"ElementaryTypeName","src":"10202:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1073,"mutability":"mutable","name":"b","nameLocation":"10215:1:0","nodeType":"VariableDeclaration","scope":1103,"src":"10210:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1072,"name":"uint","nodeType":"ElementaryTypeName","src":"10210:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1075,"mutability":"mutable","name":"decimals","nameLocation":"10223:8:0","nodeType":"VariableDeclaration","scope":1103,"src":"10218:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1074,"name":"uint","nodeType":"ElementaryTypeName","src":"10218:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10201:31:0"},"returnParameters":{"id":1077,"nodeType":"ParameterList","parameters":[],"src":"10242:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1131,"nodeType":"FunctionDefinition","src":"10507:216:0","nodes":[],"body":{"id":1130,"nodeType":"Block","src":"10591:132:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1114,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1105,"src":"10605:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1115,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1107,"src":"10609:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10605:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1129,"nodeType":"IfStatement","src":"10601:116:0","trueBody":{"id":1128,"nodeType":"Block","src":"10612:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10648:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1119,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1111,"src":"10657:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1117,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"10631:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10631:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1121,"nodeType":"EmitStatement","src":"10626:35:0"},{"expression":{"arguments":[{"id":1123,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1105,"src":"10691:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1124,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1107,"src":"10694:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1125,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1109,"src":"10697:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1122,"name":"assertGeDecimal","nodeType":"Identifier","overloadedDeclarations":[1041,1069,1103,1131],"referencedDeclaration":1103,"src":"10675:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":1126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10675:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1127,"nodeType":"ExpressionStatement","src":"10675:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"10516:15:0","parameters":{"id":1112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1105,"mutability":"mutable","name":"a","nameLocation":"10537:1:0","nodeType":"VariableDeclaration","scope":1131,"src":"10532:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1104,"name":"uint","nodeType":"ElementaryTypeName","src":"10532:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1107,"mutability":"mutable","name":"b","nameLocation":"10545:1:0","nodeType":"VariableDeclaration","scope":1131,"src":"10540:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1106,"name":"uint","nodeType":"ElementaryTypeName","src":"10540:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1109,"mutability":"mutable","name":"decimals","nameLocation":"10553:8:0","nodeType":"VariableDeclaration","scope":1131,"src":"10548:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1108,"name":"uint","nodeType":"ElementaryTypeName","src":"10548:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1111,"mutability":"mutable","name":"err","nameLocation":"10577:3:0","nodeType":"VariableDeclaration","scope":1131,"src":"10563:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1110,"name":"string","nodeType":"ElementaryTypeName","src":"10563:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10531:50:0"},"returnParameters":{"id":1113,"nodeType":"ParameterList","parameters":[],"src":"10591:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1161,"nodeType":"FunctionDefinition","src":"10729:259:0","nodes":[],"body":{"id":1160,"nodeType":"Block","src":"10772:216:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1138,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1133,"src":"10786:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1139,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"10791:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10786:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1159,"nodeType":"IfStatement","src":"10782:200:0","trueBody":{"id":1158,"nodeType":"Block","src":"10794:188:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c2062206e6f7420736174697366696564205b75696e745d","id":1142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10817:35:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4a5f85d4936ddbc273c762d0b3a90fefdc47bf4d5496816359b86f70b5c74f9","typeString":"literal_string \"Error: a < b not satisfied [uint]\""},"value":"Error: a < b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4a5f85d4936ddbc273c762d0b3a90fefdc47bf4d5496816359b86f70b5c74f9","typeString":"literal_string \"Error: a < b not satisfied [uint]\""}],"id":1141,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"10813:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10813:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1144,"nodeType":"EmitStatement","src":"10808:45:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10887:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1147,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1133,"src":"10900:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1145,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"10872:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":1148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10872:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1149,"nodeType":"EmitStatement","src":"10867:35:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10936:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1152,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"10949:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1150,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"10921:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":1153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10921:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1154,"nodeType":"EmitStatement","src":"10916:35:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1155,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"10965:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10965:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1157,"nodeType":"ExpressionStatement","src":"10965:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"10738:8:0","parameters":{"id":1136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1133,"mutability":"mutable","name":"a","nameLocation":"10752:1:0","nodeType":"VariableDeclaration","scope":1161,"src":"10747:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1132,"name":"uint","nodeType":"ElementaryTypeName","src":"10747:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1135,"mutability":"mutable","name":"b","nameLocation":"10760:1:0","nodeType":"VariableDeclaration","scope":1161,"src":"10755:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1134,"name":"uint","nodeType":"ElementaryTypeName","src":"10755:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10746:16:0"},"returnParameters":{"id":1137,"nodeType":"ParameterList","parameters":[],"src":"10772:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1186,"nodeType":"FunctionDefinition","src":"10993:178:0","nodes":[],"body":{"id":1185,"nodeType":"Block","src":"11055:116:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1170,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1163,"src":"11069:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1171,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1165,"src":"11074:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11069:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1184,"nodeType":"IfStatement","src":"11065:100:0","trueBody":{"id":1183,"nodeType":"Block","src":"11077:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11113:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1175,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1167,"src":"11122:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1173,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"11096:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11096:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1177,"nodeType":"EmitStatement","src":"11091:35:0"},{"expression":{"arguments":[{"id":1179,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1163,"src":"11149:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1180,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1165,"src":"11152:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1178,"name":"assertLt","nodeType":"Identifier","overloadedDeclarations":[1161,1186,1216,1241],"referencedDeclaration":1161,"src":"11140:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":1181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11140:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1182,"nodeType":"ExpressionStatement","src":"11140:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"11002:8:0","parameters":{"id":1168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1163,"mutability":"mutable","name":"a","nameLocation":"11016:1:0","nodeType":"VariableDeclaration","scope":1186,"src":"11011:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1162,"name":"uint","nodeType":"ElementaryTypeName","src":"11011:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1165,"mutability":"mutable","name":"b","nameLocation":"11024:1:0","nodeType":"VariableDeclaration","scope":1186,"src":"11019:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1164,"name":"uint","nodeType":"ElementaryTypeName","src":"11019:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1167,"mutability":"mutable","name":"err","nameLocation":"11041:3:0","nodeType":"VariableDeclaration","scope":1186,"src":"11027:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1166,"name":"string","nodeType":"ElementaryTypeName","src":"11027:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11010:35:0"},"returnParameters":{"id":1169,"nodeType":"ParameterList","parameters":[],"src":"11055:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1216,"nodeType":"FunctionDefinition","src":"11176:254:0","nodes":[],"body":{"id":1215,"nodeType":"Block","src":"11217:213:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1193,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"11231:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1194,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"11236:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"11231:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1214,"nodeType":"IfStatement","src":"11227:197:0","trueBody":{"id":1213,"nodeType":"Block","src":"11239:185:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c2062206e6f7420736174697366696564205b696e745d","id":1197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11262:34:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_62edb5e296dde1308ab599c3156f51dcd32b6d82784df4b0c0246d307d4bd055","typeString":"literal_string \"Error: a < b not satisfied [int]\""},"value":"Error: a < b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_62edb5e296dde1308ab599c3156f51dcd32b6d82784df4b0c0246d307d4bd055","typeString":"literal_string \"Error: a < b not satisfied [int]\""}],"id":1196,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"11258:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11258:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1199,"nodeType":"EmitStatement","src":"11253:44:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11330:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1202,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"11343:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":1200,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"11316:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":1203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11316:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1204,"nodeType":"EmitStatement","src":"11311:34:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11378:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1207,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"11391:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":1205,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"11364:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":1208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11364:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1209,"nodeType":"EmitStatement","src":"11359:34:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1210,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"11407:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11407:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1212,"nodeType":"ExpressionStatement","src":"11407:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"11185:8:0","parameters":{"id":1191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1188,"mutability":"mutable","name":"a","nameLocation":"11198:1:0","nodeType":"VariableDeclaration","scope":1216,"src":"11194:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1187,"name":"int","nodeType":"ElementaryTypeName","src":"11194:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1190,"mutability":"mutable","name":"b","nameLocation":"11205:1:0","nodeType":"VariableDeclaration","scope":1216,"src":"11201:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1189,"name":"int","nodeType":"ElementaryTypeName","src":"11201:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"11193:14:0"},"returnParameters":{"id":1192,"nodeType":"ParameterList","parameters":[],"src":"11217:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1241,"nodeType":"FunctionDefinition","src":"11435:176:0","nodes":[],"body":{"id":1240,"nodeType":"Block","src":"11495:116:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1225,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1218,"src":"11509:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1226,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"11514:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"11509:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1239,"nodeType":"IfStatement","src":"11505:100:0","trueBody":{"id":1238,"nodeType":"Block","src":"11517:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11553:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1230,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1222,"src":"11562:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1228,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"11536:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11536:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1232,"nodeType":"EmitStatement","src":"11531:35:0"},{"expression":{"arguments":[{"id":1234,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1218,"src":"11589:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1235,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"11592:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":1233,"name":"assertLt","nodeType":"Identifier","overloadedDeclarations":[1161,1186,1216,1241],"referencedDeclaration":1216,"src":"11580:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":1236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11580:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1237,"nodeType":"ExpressionStatement","src":"11580:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"11444:8:0","parameters":{"id":1223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1218,"mutability":"mutable","name":"a","nameLocation":"11457:1:0","nodeType":"VariableDeclaration","scope":1241,"src":"11453:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1217,"name":"int","nodeType":"ElementaryTypeName","src":"11453:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1220,"mutability":"mutable","name":"b","nameLocation":"11464:1:0","nodeType":"VariableDeclaration","scope":1241,"src":"11460:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1219,"name":"int","nodeType":"ElementaryTypeName","src":"11460:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1222,"mutability":"mutable","name":"err","nameLocation":"11481:3:0","nodeType":"VariableDeclaration","scope":1241,"src":"11467:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1221,"name":"string","nodeType":"ElementaryTypeName","src":"11467:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11452:33:0"},"returnParameters":{"id":1224,"nodeType":"ParameterList","parameters":[],"src":"11495:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1275,"nodeType":"FunctionDefinition","src":"11616:320:0","nodes":[],"body":{"id":1274,"nodeType":"Block","src":"11679:257:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1250,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1243,"src":"11693:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1251,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1245,"src":"11698:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"11693:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1273,"nodeType":"IfStatement","src":"11689:241:0","trueBody":{"id":1272,"nodeType":"Block","src":"11701:229:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c2062206e6f7420736174697366696564205b646563696d616c20696e745d","id":1254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11724:42:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_a598de9e78c706978d3e40be19632446c2f234152ee02226f88acff1b63da79a","typeString":"literal_string \"Error: a < b not satisfied [decimal int]\""},"value":"Error: a < b not satisfied [decimal int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a598de9e78c706978d3e40be19632446c2f234152ee02226f88acff1b63da79a","typeString":"literal_string \"Error: a < b not satisfied [decimal int]\""}],"id":1253,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"11720:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11720:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1256,"nodeType":"EmitStatement","src":"11715:52:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11808:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1259,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1243,"src":"11821:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1260,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1247,"src":"11824:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1257,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"11786:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":1261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11786:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1262,"nodeType":"EmitStatement","src":"11781:52:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11874:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1265,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1245,"src":"11887:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1266,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1247,"src":"11890:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1263,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"11852:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":1267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11852:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1268,"nodeType":"EmitStatement","src":"11847:52:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1269,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"11913:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11913:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1271,"nodeType":"ExpressionStatement","src":"11913:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"11625:15:0","parameters":{"id":1248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1243,"mutability":"mutable","name":"a","nameLocation":"11645:1:0","nodeType":"VariableDeclaration","scope":1275,"src":"11641:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1242,"name":"int","nodeType":"ElementaryTypeName","src":"11641:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1245,"mutability":"mutable","name":"b","nameLocation":"11652:1:0","nodeType":"VariableDeclaration","scope":1275,"src":"11648:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1244,"name":"int","nodeType":"ElementaryTypeName","src":"11648:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1247,"mutability":"mutable","name":"decimals","nameLocation":"11660:8:0","nodeType":"VariableDeclaration","scope":1275,"src":"11655:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1246,"name":"uint","nodeType":"ElementaryTypeName","src":"11655:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11640:29:0"},"returnParameters":{"id":1249,"nodeType":"ParameterList","parameters":[],"src":"11679:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1303,"nodeType":"FunctionDefinition","src":"11941:215:0","nodes":[],"body":{"id":1302,"nodeType":"Block","src":"12023:133:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1286,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1277,"src":"12037:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1287,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"12042:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"12037:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1301,"nodeType":"IfStatement","src":"12033:117:0","trueBody":{"id":1300,"nodeType":"Block","src":"12045:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12081:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1291,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1283,"src":"12090:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1289,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"12064:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12064:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1293,"nodeType":"EmitStatement","src":"12059:35:0"},{"expression":{"arguments":[{"id":1295,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1277,"src":"12124:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1296,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"12127:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1297,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"12130:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1294,"name":"assertLtDecimal","nodeType":"Identifier","overloadedDeclarations":[1275,1303,1337,1365],"referencedDeclaration":1275,"src":"12108:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":1298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12108:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1299,"nodeType":"ExpressionStatement","src":"12108:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"11950:15:0","parameters":{"id":1284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1277,"mutability":"mutable","name":"a","nameLocation":"11970:1:0","nodeType":"VariableDeclaration","scope":1303,"src":"11966:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1276,"name":"int","nodeType":"ElementaryTypeName","src":"11966:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1279,"mutability":"mutable","name":"b","nameLocation":"11977:1:0","nodeType":"VariableDeclaration","scope":1303,"src":"11973:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1278,"name":"int","nodeType":"ElementaryTypeName","src":"11973:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1281,"mutability":"mutable","name":"decimals","nameLocation":"11985:8:0","nodeType":"VariableDeclaration","scope":1303,"src":"11980:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1280,"name":"uint","nodeType":"ElementaryTypeName","src":"11980:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1283,"mutability":"mutable","name":"err","nameLocation":"12009:3:0","nodeType":"VariableDeclaration","scope":1303,"src":"11995:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1282,"name":"string","nodeType":"ElementaryTypeName","src":"11995:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11965:48:0"},"returnParameters":{"id":1285,"nodeType":"ParameterList","parameters":[],"src":"12023:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1337,"nodeType":"FunctionDefinition","src":"12161:325:0","nodes":[],"body":{"id":1336,"nodeType":"Block","src":"12226:260:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1312,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1305,"src":"12240:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1313,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1307,"src":"12245:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12240:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1335,"nodeType":"IfStatement","src":"12236:244:0","trueBody":{"id":1334,"nodeType":"Block","src":"12248:232:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c2062206e6f7420736174697366696564205b646563696d616c2075696e745d","id":1316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12271:43:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_8057606f9e67842ac0149f4a7ffdaca59331aea176cd1419e89b7b4b21bbc6d9","typeString":"literal_string \"Error: a < b not satisfied [decimal uint]\""},"value":"Error: a < b not satisfied [decimal uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8057606f9e67842ac0149f4a7ffdaca59331aea176cd1419e89b7b4b21bbc6d9","typeString":"literal_string \"Error: a < b not satisfied [decimal uint]\""}],"id":1315,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"12267:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12267:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1318,"nodeType":"EmitStatement","src":"12262:53:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12357:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1321,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1305,"src":"12370:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1322,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1309,"src":"12373:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1319,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"12334:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":1323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12334:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1324,"nodeType":"EmitStatement","src":"12329:53:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12424:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1327,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1307,"src":"12437:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1328,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1309,"src":"12440:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1325,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"12401:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":1329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12401:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1330,"nodeType":"EmitStatement","src":"12396:53:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1331,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"12463:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12463:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1333,"nodeType":"ExpressionStatement","src":"12463:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12170:15:0","parameters":{"id":1310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1305,"mutability":"mutable","name":"a","nameLocation":"12191:1:0","nodeType":"VariableDeclaration","scope":1337,"src":"12186:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1304,"name":"uint","nodeType":"ElementaryTypeName","src":"12186:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1307,"mutability":"mutable","name":"b","nameLocation":"12199:1:0","nodeType":"VariableDeclaration","scope":1337,"src":"12194:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1306,"name":"uint","nodeType":"ElementaryTypeName","src":"12194:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1309,"mutability":"mutable","name":"decimals","nameLocation":"12207:8:0","nodeType":"VariableDeclaration","scope":1337,"src":"12202:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1308,"name":"uint","nodeType":"ElementaryTypeName","src":"12202:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12185:31:0"},"returnParameters":{"id":1311,"nodeType":"ParameterList","parameters":[],"src":"12226:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1365,"nodeType":"FunctionDefinition","src":"12491:217:0","nodes":[],"body":{"id":1364,"nodeType":"Block","src":"12575:133:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1348,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1339,"src":"12589:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1349,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1341,"src":"12594:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12589:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1363,"nodeType":"IfStatement","src":"12585:117:0","trueBody":{"id":1362,"nodeType":"Block","src":"12597:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12633:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1353,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1345,"src":"12642:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1351,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"12616:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12616:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1355,"nodeType":"EmitStatement","src":"12611:35:0"},{"expression":{"arguments":[{"id":1357,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1339,"src":"12676:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1358,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1341,"src":"12679:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1359,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1343,"src":"12682:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1356,"name":"assertLtDecimal","nodeType":"Identifier","overloadedDeclarations":[1275,1303,1337,1365],"referencedDeclaration":1337,"src":"12660:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":1360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12660:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1361,"nodeType":"ExpressionStatement","src":"12660:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"12500:15:0","parameters":{"id":1346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1339,"mutability":"mutable","name":"a","nameLocation":"12521:1:0","nodeType":"VariableDeclaration","scope":1365,"src":"12516:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1338,"name":"uint","nodeType":"ElementaryTypeName","src":"12516:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1341,"mutability":"mutable","name":"b","nameLocation":"12529:1:0","nodeType":"VariableDeclaration","scope":1365,"src":"12524:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1340,"name":"uint","nodeType":"ElementaryTypeName","src":"12524:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1343,"mutability":"mutable","name":"decimals","nameLocation":"12537:8:0","nodeType":"VariableDeclaration","scope":1365,"src":"12532:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1342,"name":"uint","nodeType":"ElementaryTypeName","src":"12532:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1345,"mutability":"mutable","name":"err","nameLocation":"12561:3:0","nodeType":"VariableDeclaration","scope":1365,"src":"12547:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1344,"name":"string","nodeType":"ElementaryTypeName","src":"12547:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12515:50:0"},"returnParameters":{"id":1347,"nodeType":"ParameterList","parameters":[],"src":"12575:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1395,"nodeType":"FunctionDefinition","src":"12714:259:0","nodes":[],"body":{"id":1394,"nodeType":"Block","src":"12757:216:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1372,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1367,"src":"12771:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1373,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1369,"src":"12775:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12771:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1393,"nodeType":"IfStatement","src":"12767:200:0","trueBody":{"id":1392,"nodeType":"Block","src":"12778:189:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c3d2062206e6f7420736174697366696564205b75696e745d","id":1376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12801:36:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d5420eec28b94f3fd7dd1c7ce81f45c79bfa9fab37300faf965a8d6272e32ff","typeString":"literal_string \"Error: a <= b not satisfied [uint]\""},"value":"Error: a <= b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d5420eec28b94f3fd7dd1c7ce81f45c79bfa9fab37300faf965a8d6272e32ff","typeString":"literal_string \"Error: a <= b not satisfied [uint]\""}],"id":1375,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"12797:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12797:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1378,"nodeType":"EmitStatement","src":"12792:46:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12872:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1381,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1367,"src":"12885:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1379,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"12857:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":1382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12857:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1383,"nodeType":"EmitStatement","src":"12852:35:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12921:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1386,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1369,"src":"12934:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1384,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"12906:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":1387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12906:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1388,"nodeType":"EmitStatement","src":"12901:35:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1389,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"12950:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12950:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1391,"nodeType":"ExpressionStatement","src":"12950:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"12723:8:0","parameters":{"id":1370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1367,"mutability":"mutable","name":"a","nameLocation":"12737:1:0","nodeType":"VariableDeclaration","scope":1395,"src":"12732:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1366,"name":"uint","nodeType":"ElementaryTypeName","src":"12732:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1369,"mutability":"mutable","name":"b","nameLocation":"12745:1:0","nodeType":"VariableDeclaration","scope":1395,"src":"12740:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1368,"name":"uint","nodeType":"ElementaryTypeName","src":"12740:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12731:16:0"},"returnParameters":{"id":1371,"nodeType":"ParameterList","parameters":[],"src":"12757:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1420,"nodeType":"FunctionDefinition","src":"12978:177:0","nodes":[],"body":{"id":1419,"nodeType":"Block","src":"13040:115:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1404,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1397,"src":"13054:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1405,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1399,"src":"13058:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13054:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1418,"nodeType":"IfStatement","src":"13050:99:0","trueBody":{"id":1417,"nodeType":"Block","src":"13061:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13097:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1409,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1401,"src":"13106:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1407,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"13080:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13080:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1411,"nodeType":"EmitStatement","src":"13075:35:0"},{"expression":{"arguments":[{"id":1413,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1397,"src":"13133:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1414,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1399,"src":"13136:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1412,"name":"assertLe","nodeType":"Identifier","overloadedDeclarations":[1395,1420,1450,1475],"referencedDeclaration":1395,"src":"13124:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":1415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13124:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1416,"nodeType":"ExpressionStatement","src":"13124:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"12987:8:0","parameters":{"id":1402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1397,"mutability":"mutable","name":"a","nameLocation":"13001:1:0","nodeType":"VariableDeclaration","scope":1420,"src":"12996:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1396,"name":"uint","nodeType":"ElementaryTypeName","src":"12996:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1399,"mutability":"mutable","name":"b","nameLocation":"13009:1:0","nodeType":"VariableDeclaration","scope":1420,"src":"13004:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1398,"name":"uint","nodeType":"ElementaryTypeName","src":"13004:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1401,"mutability":"mutable","name":"err","nameLocation":"13026:3:0","nodeType":"VariableDeclaration","scope":1420,"src":"13012:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1400,"name":"string","nodeType":"ElementaryTypeName","src":"13012:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12995:35:0"},"returnParameters":{"id":1403,"nodeType":"ParameterList","parameters":[],"src":"13040:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1450,"nodeType":"FunctionDefinition","src":"13160:254:0","nodes":[],"body":{"id":1449,"nodeType":"Block","src":"13201:213:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1427,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1422,"src":"13215:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1428,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1424,"src":"13219:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"13215:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1448,"nodeType":"IfStatement","src":"13211:197:0","trueBody":{"id":1447,"nodeType":"Block","src":"13222:186:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c3d2062206e6f7420736174697366696564205b696e745d","id":1431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13245:35:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_558ba41c44b763b352271d6c22f0cb02f5c0c4dbb25ed68172916a4e6a662555","typeString":"literal_string \"Error: a <= b not satisfied [int]\""},"value":"Error: a <= b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_558ba41c44b763b352271d6c22f0cb02f5c0c4dbb25ed68172916a4e6a662555","typeString":"literal_string \"Error: a <= b not satisfied [int]\""}],"id":1430,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"13241:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13241:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1433,"nodeType":"EmitStatement","src":"13236:45:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13314:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1436,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1422,"src":"13327:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":1434,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"13300:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":1437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13300:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1438,"nodeType":"EmitStatement","src":"13295:34:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13362:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1441,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1424,"src":"13375:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":1439,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"13348:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":1442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13348:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1443,"nodeType":"EmitStatement","src":"13343:34:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1444,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"13391:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13391:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1446,"nodeType":"ExpressionStatement","src":"13391:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"13169:8:0","parameters":{"id":1425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1422,"mutability":"mutable","name":"a","nameLocation":"13182:1:0","nodeType":"VariableDeclaration","scope":1450,"src":"13178:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1421,"name":"int","nodeType":"ElementaryTypeName","src":"13178:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1424,"mutability":"mutable","name":"b","nameLocation":"13189:1:0","nodeType":"VariableDeclaration","scope":1450,"src":"13185:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1423,"name":"int","nodeType":"ElementaryTypeName","src":"13185:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"13177:14:0"},"returnParameters":{"id":1426,"nodeType":"ParameterList","parameters":[],"src":"13201:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1475,"nodeType":"FunctionDefinition","src":"13419:175:0","nodes":[],"body":{"id":1474,"nodeType":"Block","src":"13479:115:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1459,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1452,"src":"13493:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1460,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1454,"src":"13497:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"13493:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1473,"nodeType":"IfStatement","src":"13489:99:0","trueBody":{"id":1472,"nodeType":"Block","src":"13500:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13536:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1464,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1456,"src":"13545:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1462,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"13519:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13519:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1466,"nodeType":"EmitStatement","src":"13514:35:0"},{"expression":{"arguments":[{"id":1468,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1452,"src":"13572:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1469,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1454,"src":"13575:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":1467,"name":"assertLe","nodeType":"Identifier","overloadedDeclarations":[1395,1420,1450,1475],"referencedDeclaration":1450,"src":"13563:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":1470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13563:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1471,"nodeType":"ExpressionStatement","src":"13563:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"13428:8:0","parameters":{"id":1457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1452,"mutability":"mutable","name":"a","nameLocation":"13441:1:0","nodeType":"VariableDeclaration","scope":1475,"src":"13437:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1451,"name":"int","nodeType":"ElementaryTypeName","src":"13437:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1454,"mutability":"mutable","name":"b","nameLocation":"13448:1:0","nodeType":"VariableDeclaration","scope":1475,"src":"13444:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1453,"name":"int","nodeType":"ElementaryTypeName","src":"13444:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1456,"mutability":"mutable","name":"err","nameLocation":"13465:3:0","nodeType":"VariableDeclaration","scope":1475,"src":"13451:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1455,"name":"string","nodeType":"ElementaryTypeName","src":"13451:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13436:33:0"},"returnParameters":{"id":1458,"nodeType":"ParameterList","parameters":[],"src":"13479:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1509,"nodeType":"FunctionDefinition","src":"13599:320:0","nodes":[],"body":{"id":1508,"nodeType":"Block","src":"13662:257:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1484,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1477,"src":"13676:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1485,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1479,"src":"13680:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"13676:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1507,"nodeType":"IfStatement","src":"13672:241:0","trueBody":{"id":1506,"nodeType":"Block","src":"13683:230:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c3d2062206e6f7420736174697366696564205b646563696d616c20696e745d","id":1488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13706:43:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_a855fbfffc345e8a0ab544e824618dabd995fdc5bda653c7d4869b57deb1d23a","typeString":"literal_string \"Error: a <= b not satisfied [decimal int]\""},"value":"Error: a <= b not satisfied [decimal int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a855fbfffc345e8a0ab544e824618dabd995fdc5bda653c7d4869b57deb1d23a","typeString":"literal_string \"Error: a <= b not satisfied [decimal int]\""}],"id":1487,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"13702:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13702:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1490,"nodeType":"EmitStatement","src":"13697:53:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13791:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1493,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1477,"src":"13804:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1494,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1481,"src":"13807:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1491,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"13769:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":1495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13769:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1496,"nodeType":"EmitStatement","src":"13764:52:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13857:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1499,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1479,"src":"13870:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1500,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1481,"src":"13873:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1497,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"13835:21:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":1501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13835:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1502,"nodeType":"EmitStatement","src":"13830:52:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1503,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"13896:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13896:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1505,"nodeType":"ExpressionStatement","src":"13896:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"13608:15:0","parameters":{"id":1482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1477,"mutability":"mutable","name":"a","nameLocation":"13628:1:0","nodeType":"VariableDeclaration","scope":1509,"src":"13624:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1476,"name":"int","nodeType":"ElementaryTypeName","src":"13624:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1479,"mutability":"mutable","name":"b","nameLocation":"13635:1:0","nodeType":"VariableDeclaration","scope":1509,"src":"13631:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1478,"name":"int","nodeType":"ElementaryTypeName","src":"13631:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1481,"mutability":"mutable","name":"decimals","nameLocation":"13643:8:0","nodeType":"VariableDeclaration","scope":1509,"src":"13638:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1480,"name":"uint","nodeType":"ElementaryTypeName","src":"13638:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13623:29:0"},"returnParameters":{"id":1483,"nodeType":"ParameterList","parameters":[],"src":"13662:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1537,"nodeType":"FunctionDefinition","src":"13924:214:0","nodes":[],"body":{"id":1536,"nodeType":"Block","src":"14006:132:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1520,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1511,"src":"14020:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1521,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1513,"src":"14024:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"14020:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1535,"nodeType":"IfStatement","src":"14016:116:0","trueBody":{"id":1534,"nodeType":"Block","src":"14027:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14063:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1525,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1517,"src":"14072:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1523,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"14046:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14046:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1527,"nodeType":"EmitStatement","src":"14041:35:0"},{"expression":{"arguments":[{"id":1529,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1511,"src":"14106:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1530,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1513,"src":"14109:1:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1531,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1515,"src":"14112:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1528,"name":"assertLeDecimal","nodeType":"Identifier","overloadedDeclarations":[1509,1537,1571,1599],"referencedDeclaration":1509,"src":"14090:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":1532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14090:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1533,"nodeType":"ExpressionStatement","src":"14090:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"13933:15:0","parameters":{"id":1518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1511,"mutability":"mutable","name":"a","nameLocation":"13953:1:0","nodeType":"VariableDeclaration","scope":1537,"src":"13949:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1510,"name":"int","nodeType":"ElementaryTypeName","src":"13949:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1513,"mutability":"mutable","name":"b","nameLocation":"13960:1:0","nodeType":"VariableDeclaration","scope":1537,"src":"13956:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1512,"name":"int","nodeType":"ElementaryTypeName","src":"13956:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1515,"mutability":"mutable","name":"decimals","nameLocation":"13968:8:0","nodeType":"VariableDeclaration","scope":1537,"src":"13963:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1514,"name":"uint","nodeType":"ElementaryTypeName","src":"13963:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1517,"mutability":"mutable","name":"err","nameLocation":"13992:3:0","nodeType":"VariableDeclaration","scope":1537,"src":"13978:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1516,"name":"string","nodeType":"ElementaryTypeName","src":"13978:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13948:48:0"},"returnParameters":{"id":1519,"nodeType":"ParameterList","parameters":[],"src":"14006:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1571,"nodeType":"FunctionDefinition","src":"14143:325:0","nodes":[],"body":{"id":1570,"nodeType":"Block","src":"14208:260:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1546,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1539,"src":"14222:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1547,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1541,"src":"14226:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14222:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1569,"nodeType":"IfStatement","src":"14218:244:0","trueBody":{"id":1568,"nodeType":"Block","src":"14229:233:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c3d2062206e6f7420736174697366696564205b646563696d616c2075696e745d","id":1550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14252:44:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_32bce37771ce1d01bc601c73b51f2296c0d8e2a50c2d19a6ac89c6b917715c51","typeString":"literal_string \"Error: a <= b not satisfied [decimal uint]\""},"value":"Error: a <= b not satisfied [decimal uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32bce37771ce1d01bc601c73b51f2296c0d8e2a50c2d19a6ac89c6b917715c51","typeString":"literal_string \"Error: a <= b not satisfied [decimal uint]\""}],"id":1549,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"14248:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14248:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1552,"nodeType":"EmitStatement","src":"14243:54:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":1554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14339:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":1555,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1539,"src":"14352:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1556,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1543,"src":"14355:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1553,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"14316:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":1557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14316:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1558,"nodeType":"EmitStatement","src":"14311:53:0"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":1560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14406:11:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":1561,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1541,"src":"14419:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1562,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1543,"src":"14422:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1559,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"14383:22:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":1563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14383:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1564,"nodeType":"EmitStatement","src":"14378:53:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1565,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"14445:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14445:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1567,"nodeType":"ExpressionStatement","src":"14445:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"14152:15:0","parameters":{"id":1544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1539,"mutability":"mutable","name":"a","nameLocation":"14173:1:0","nodeType":"VariableDeclaration","scope":1571,"src":"14168:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1538,"name":"uint","nodeType":"ElementaryTypeName","src":"14168:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1541,"mutability":"mutable","name":"b","nameLocation":"14181:1:0","nodeType":"VariableDeclaration","scope":1571,"src":"14176:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1540,"name":"uint","nodeType":"ElementaryTypeName","src":"14176:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1543,"mutability":"mutable","name":"decimals","nameLocation":"14189:8:0","nodeType":"VariableDeclaration","scope":1571,"src":"14184:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1542,"name":"uint","nodeType":"ElementaryTypeName","src":"14184:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14167:31:0"},"returnParameters":{"id":1545,"nodeType":"ParameterList","parameters":[],"src":"14208:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1599,"nodeType":"FunctionDefinition","src":"14473:216:0","nodes":[],"body":{"id":1598,"nodeType":"Block","src":"14557:132:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1582,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1573,"src":"14571:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1583,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1575,"src":"14575:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14571:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1597,"nodeType":"IfStatement","src":"14567:116:0","trueBody":{"id":1596,"nodeType":"Block","src":"14578:105:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14614:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1587,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1579,"src":"14623:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1585,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"14597:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14597:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1589,"nodeType":"EmitStatement","src":"14592:35:0"},{"expression":{"arguments":[{"id":1591,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1573,"src":"14657:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1592,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1575,"src":"14660:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1593,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1577,"src":"14663:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1590,"name":"assertLeDecimal","nodeType":"Identifier","overloadedDeclarations":[1509,1537,1571,1599],"referencedDeclaration":1571,"src":"14641:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":1594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14641:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1595,"nodeType":"ExpressionStatement","src":"14641:31:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"14482:15:0","parameters":{"id":1580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1573,"mutability":"mutable","name":"a","nameLocation":"14503:1:0","nodeType":"VariableDeclaration","scope":1599,"src":"14498:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1572,"name":"uint","nodeType":"ElementaryTypeName","src":"14498:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1575,"mutability":"mutable","name":"b","nameLocation":"14511:1:0","nodeType":"VariableDeclaration","scope":1599,"src":"14506:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1574,"name":"uint","nodeType":"ElementaryTypeName","src":"14506:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1577,"mutability":"mutable","name":"decimals","nameLocation":"14519:8:0","nodeType":"VariableDeclaration","scope":1599,"src":"14514:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1576,"name":"uint","nodeType":"ElementaryTypeName","src":"14514:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1579,"mutability":"mutable","name":"err","nameLocation":"14543:3:0","nodeType":"VariableDeclaration","scope":1599,"src":"14529:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1578,"name":"string","nodeType":"ElementaryTypeName","src":"14529:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14497:50:0"},"returnParameters":{"id":1581,"nodeType":"ParameterList","parameters":[],"src":"14557:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1639,"nodeType":"FunctionDefinition","src":"14695:344:0","nodes":[],"body":{"id":1638,"nodeType":"Block","src":"14756:283:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":1609,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1601,"src":"14797:1:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1607,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14780:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1608,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"14780:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":1610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14780:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1606,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"14770:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14770:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":1615,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1603,"src":"14831:1:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1613,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14814:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"14814:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":1616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14814:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1612,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"14804:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14804:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"14770:64:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1637,"nodeType":"IfStatement","src":"14766:267:0","trueBody":{"id":1636,"nodeType":"Block","src":"14836:197:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b737472696e675d","id":1620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14859:38:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_58e3ca0e65e73c038df3db6a7cab1bf7de300d13038b802ce0f4435889c48e5e","typeString":"literal_string \"Error: a == b not satisfied [string]\""},"value":"Error: a == b not satisfied [string]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_58e3ca0e65e73c038df3db6a7cab1bf7de300d13038b802ce0f4435889c48e5e","typeString":"literal_string \"Error: a == b not satisfied [string]\""}],"id":1619,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"14855:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14855:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1622,"nodeType":"EmitStatement","src":"14850:48:0"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":1624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14934:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":1625,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1601,"src":"14948:1:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1623,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"14917:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14917:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1627,"nodeType":"EmitStatement","src":"14912:38:0"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":1629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14986:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":1630,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1603,"src":"15000:1:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1628,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"14969:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14969:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1632,"nodeType":"EmitStatement","src":"14964:38:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1633,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"15016:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15016:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1635,"nodeType":"ExpressionStatement","src":"15016:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"14704:8:0","parameters":{"id":1604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1601,"mutability":"mutable","name":"a","nameLocation":"14727:1:0","nodeType":"VariableDeclaration","scope":1639,"src":"14713:15:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1600,"name":"string","nodeType":"ElementaryTypeName","src":"14713:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1603,"mutability":"mutable","name":"b","nameLocation":"14744:1:0","nodeType":"VariableDeclaration","scope":1639,"src":"14730:15:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1602,"name":"string","nodeType":"ElementaryTypeName","src":"14730:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14712:34:0"},"returnParameters":{"id":1605,"nodeType":"ParameterList","parameters":[],"src":"14756:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1674,"nodeType":"FunctionDefinition","src":"15044:254:0","nodes":[],"body":{"id":1673,"nodeType":"Block","src":"15124:174:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":1651,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1641,"src":"15165:1:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1649,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15148:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1650,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"15148:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":1652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15148:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1648,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15138:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15138:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":1657,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1643,"src":"15199:1:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1655,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15182:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1656,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"15182:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":1658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15182:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1654,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15172:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15172:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"15138:64:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1672,"nodeType":"IfStatement","src":"15134:158:0","trueBody":{"id":1671,"nodeType":"Block","src":"15204:88:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15240:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1663,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1645,"src":"15249:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1661,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"15223:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15223:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1665,"nodeType":"EmitStatement","src":"15218:35:0"},{"expression":{"arguments":[{"id":1667,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1641,"src":"15276:1:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1668,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1643,"src":"15279:1:0","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"}],"id":1666,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":1639,"src":"15267:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15267:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1670,"nodeType":"ExpressionStatement","src":"15267:14:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"15053:8:0","parameters":{"id":1646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1641,"mutability":"mutable","name":"a","nameLocation":"15076:1:0","nodeType":"VariableDeclaration","scope":1674,"src":"15062:15:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1640,"name":"string","nodeType":"ElementaryTypeName","src":"15062:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1643,"mutability":"mutable","name":"b","nameLocation":"15093:1:0","nodeType":"VariableDeclaration","scope":1674,"src":"15079:15:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1642,"name":"string","nodeType":"ElementaryTypeName","src":"15079:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1645,"mutability":"mutable","name":"err","nameLocation":"15110:3:0","nodeType":"VariableDeclaration","scope":1674,"src":"15096:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1644,"name":"string","nodeType":"ElementaryTypeName","src":"15096:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15061:53:0"},"returnParameters":{"id":1647,"nodeType":"ParameterList","parameters":[],"src":"15124:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1726,"nodeType":"FunctionDefinition","src":"15304:345:0","nodes":[],"body":{"id":1725,"nodeType":"Block","src":"15386:263:0","nodes":[],"statements":[{"expression":{"id":1685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1683,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1681,"src":"15396:2:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":1684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15401:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"15396:9:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1686,"nodeType":"ExpressionStatement","src":"15396:9:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1687,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1676,"src":"15419:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"15419:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":1689,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1678,"src":"15431:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"15431:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15419:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1723,"nodeType":"Block","src":"15608:35:0","statements":[{"expression":{"id":1721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1719,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1681,"src":"15622:2:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":1720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15627:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"15622:10:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1722,"nodeType":"ExpressionStatement","src":"15622:10:0"}]},"id":1724,"nodeType":"IfStatement","src":"15415:228:0","trueBody":{"id":1718,"nodeType":"Block","src":"15441:161:0","statements":[{"body":{"id":1716,"nodeType":"Block","src":"15491:101:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":1709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":1703,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1676,"src":"15513:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1705,"indexExpression":{"id":1704,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1693,"src":"15515:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15513:4:0","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"baseExpression":{"id":1706,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1678,"src":"15521:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1708,"indexExpression":{"id":1707,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1693,"src":"15523:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15521:4:0","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"15513:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1715,"nodeType":"IfStatement","src":"15509:69:0","trueBody":{"id":1714,"nodeType":"Block","src":"15527:51:0","statements":[{"expression":{"id":1712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1710,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1681,"src":"15549:2:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":1711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15554:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"15549:10:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1713,"nodeType":"ExpressionStatement","src":"15549:10:0"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1696,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1693,"src":"15472:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":1697,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1676,"src":"15476:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":1698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"15476:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15472:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1717,"initializationExpression":{"assignments":[1693],"declarations":[{"constant":false,"id":1693,"mutability":"mutable","name":"i","nameLocation":"15465:1:0","nodeType":"VariableDeclaration","scope":1717,"src":"15460:6:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1692,"name":"uint","nodeType":"ElementaryTypeName","src":"15460:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1695,"initialValue":{"hexValue":"30","id":1694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15469:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15460:10:0"},"loopExpression":{"expression":{"id":1701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15486:3:0","subExpression":{"id":1700,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1693,"src":"15486:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1702,"nodeType":"ExpressionStatement","src":"15486:3:0"},"nodeType":"ForStatement","src":"15455:137:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkEq0","nameLocation":"15313:8:0","parameters":{"id":1679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1676,"mutability":"mutable","name":"a","nameLocation":"15335:1:0","nodeType":"VariableDeclaration","scope":1726,"src":"15322:14:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1675,"name":"bytes","nodeType":"ElementaryTypeName","src":"15322:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1678,"mutability":"mutable","name":"b","nameLocation":"15351:1:0","nodeType":"VariableDeclaration","scope":1726,"src":"15338:14:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1677,"name":"bytes","nodeType":"ElementaryTypeName","src":"15338:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15321:32:0"},"returnParameters":{"id":1682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1681,"mutability":"mutable","name":"ok","nameLocation":"15382:2:0","nodeType":"VariableDeclaration","scope":1726,"src":"15377:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1680,"name":"bool","nodeType":"ElementaryTypeName","src":"15377:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15376:9:0"},"scope":1786,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":1758,"nodeType":"FunctionDefinition","src":"15654:291:0","nodes":[],"body":{"id":1757,"nodeType":"Block","src":"15714:231:0","nodes":[],"statements":[{"condition":{"id":1737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"15728:15:0","subExpression":{"arguments":[{"id":1734,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1728,"src":"15738:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1735,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1730,"src":"15741:1:0","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":1733,"name":"checkEq0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1726,"src":"15729:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (bytes memory,bytes memory) pure returns (bool)"}},"id":1736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15729:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1756,"nodeType":"IfStatement","src":"15724:215:0","trueBody":{"id":1755,"nodeType":"Block","src":"15745:194:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797465735d","id":1739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15768:37:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bb7b728691fe2872efdd27bd07c4a95b3586c3b7ec3afa731a7c21a76e39cfc","typeString":"literal_string \"Error: a == b not satisfied [bytes]\""},"value":"Error: a == b not satisfied [bytes]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9bb7b728691fe2872efdd27bd07c4a95b3586c3b7ec3afa731a7c21a76e39cfc","typeString":"literal_string \"Error: a == b not satisfied [bytes]\""}],"id":1738,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"15764:3:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15764:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1741,"nodeType":"EmitStatement","src":"15759:47:0"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":1743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15841:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":1744,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1728,"src":"15855:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1742,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"15825:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":1745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15825:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1746,"nodeType":"EmitStatement","src":"15820:37:0"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":1748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15892:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":1749,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1730,"src":"15906:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":1747,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"15876:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":1750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15876:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1751,"nodeType":"EmitStatement","src":"15871:37:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1752,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":216,"src":"15922:4:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15922:6:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1754,"nodeType":"ExpressionStatement","src":"15922:6:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"15663:9:0","parameters":{"id":1731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1728,"mutability":"mutable","name":"a","nameLocation":"15686:1:0","nodeType":"VariableDeclaration","scope":1758,"src":"15673:14:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1727,"name":"bytes","nodeType":"ElementaryTypeName","src":"15673:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1730,"mutability":"mutable","name":"b","nameLocation":"15702:1:0","nodeType":"VariableDeclaration","scope":1758,"src":"15689:14:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1729,"name":"bytes","nodeType":"ElementaryTypeName","src":"15689:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15672:32:0"},"returnParameters":{"id":1732,"nodeType":"ParameterList","parameters":[],"src":"15714:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1785,"nodeType":"FunctionDefinition","src":"15950:205:0","nodes":[],"body":{"id":1784,"nodeType":"Block","src":"16029:126:0","nodes":[],"statements":[{"condition":{"id":1771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16043:15:0","subExpression":{"arguments":[{"id":1768,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1760,"src":"16053:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1769,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1762,"src":"16056:1:0","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":1767,"name":"checkEq0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1726,"src":"16044:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (bytes memory,bytes memory) pure returns (bool)"}},"id":1770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16044:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1783,"nodeType":"IfStatement","src":"16039:110:0","trueBody":{"id":1782,"nodeType":"Block","src":"16060:89:0","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16096:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1774,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1764,"src":"16105:3:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1772,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"16079:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16079:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1776,"nodeType":"EmitStatement","src":"16074:35:0"},{"expression":{"arguments":[{"id":1778,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1760,"src":"16133:1:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1779,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1762,"src":"16136:1:0","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":1777,"name":"assertEq0","nodeType":"Identifier","overloadedDeclarations":[1758,1785],"referencedDeclaration":1758,"src":"16123:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory)"}},"id":1780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16123:15:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1781,"nodeType":"ExpressionStatement","src":"16123:15:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"15959:9:0","parameters":{"id":1765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1760,"mutability":"mutable","name":"a","nameLocation":"15982:1:0","nodeType":"VariableDeclaration","scope":1785,"src":"15969:14:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1759,"name":"bytes","nodeType":"ElementaryTypeName","src":"15969:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1762,"mutability":"mutable","name":"b","nameLocation":"15998:1:0","nodeType":"VariableDeclaration","scope":1785,"src":"15985:14:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1761,"name":"bytes","nodeType":"ElementaryTypeName","src":"15985:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1764,"mutability":"mutable","name":"err","nameLocation":"16015:3:0","nodeType":"VariableDeclaration","scope":1785,"src":"16001:17:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1763,"name":"string","nodeType":"ElementaryTypeName","src":"16001:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15968:51:0"},"returnParameters":{"id":1766,"nodeType":"ParameterList","parameters":[],"src":"16029:0:0"},"scope":1786,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"DSTest","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[1786],"name":"DSTest","nameLocation":"724:6:0","scope":1787,"usedErrors":[]}],"license":"GPL-3.0-or-later"}},"lib/forge-std/src/Base.sol":{"id":1,"ast":{"absolutePath":"lib/forge-std/src/Base.sol","id":1859,"exportedSymbols":{"CommonBase":[1843],"ScriptBase":[1858],"StdStorage":[7225],"TestBase":[1846],"Vm":[12037],"VmSafe":[11690]},"nodeType":"SourceUnit","src":"32:1585:1","nodes":[{"id":1788,"nodeType":"PragmaDirective","src":"32:31:1","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":1790,"nodeType":"ImportDirective","src":"65:44:1","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":1859,"sourceUnit":8659,"symbolAliases":[{"foreign":{"id":1789,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7225,"src":"73:10:1","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"type(struct StdStorage storage pointer)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1793,"nodeType":"ImportDirective","src":"110:36:1","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":1859,"sourceUnit":12038,"symbolAliases":[{"foreign":{"id":1791,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"118:2:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":1792,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"122:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$11690_$","typeString":"type(contract VmSafe)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1843,"nodeType":"ContractDefinition","src":"148:1123:1","nodes":[{"id":1807,"nodeType":"VariableDeclaration","src":"254:94:1","nodes":[],"constant":true,"mutability":"constant","name":"VM_ADDRESS","nameLocation":"280:10:1","scope":1843,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1794,"name":"address","nodeType":"ElementaryTypeName","src":"254:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":1802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"327:17:1","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":1801,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"317:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"317:28:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"309:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":1799,"name":"uint256","nodeType":"ElementaryTypeName","src":"309:7:1","typeDescriptions":{}}},"id":1804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"309:37:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"301:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":1797,"name":"uint160","nodeType":"ElementaryTypeName","src":"301:7:1","typeDescriptions":{}}},"id":1805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"301:46:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":1796,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"293:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1795,"name":"address","nodeType":"ElementaryTypeName","src":"293:7:1","typeDescriptions":{}}},"id":1806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"293:55:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":1810,"nodeType":"VariableDeclaration","src":"438:78:1","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE","nameLocation":"464:7:1","scope":1843,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1808,"name":"address","nodeType":"ElementaryTypeName","src":"438:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":1809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"474:42:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"id":1824,"nodeType":"VariableDeclaration","src":"619:105:1","nodes":[],"constant":true,"mutability":"constant","name":"DEFAULT_SENDER","nameLocation":"645:14:1","scope":1843,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1811,"name":"address","nodeType":"ElementaryTypeName","src":"619:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"666f756e6472792064656661756c742063616c6c6572","id":1819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"696:24:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38","typeString":"literal_string \"foundry default caller\""},"value":"foundry default caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee6e12ba256a78bc5d3ab9651804c8ab1f12e6bbf3894d4083f33e07309d1f38","typeString":"literal_string \"foundry default caller\""}],"id":1818,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"686:9:1","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"686:35:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"678:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":1816,"name":"uint256","nodeType":"ElementaryTypeName","src":"678:7:1","typeDescriptions":{}}},"id":1821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"678:44:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1815,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"670:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":1814,"name":"uint160","nodeType":"ElementaryTypeName","src":"670:7:1","typeDescriptions":{}}},"id":1822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"670:53:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":1813,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"662:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1812,"name":"address","nodeType":"ElementaryTypeName","src":"662:7:1","typeDescriptions":{}}},"id":1823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"662:62:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":1827,"nodeType":"VariableDeclaration","src":"799:92:1","nodes":[],"constant":true,"mutability":"constant","name":"DEFAULT_TEST_CONTRACT","nameLocation":"825:21:1","scope":1843,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1825,"name":"address","nodeType":"ElementaryTypeName","src":"799:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307835363135644542373938424233453464466130313339644661316233443433334363323362373266","id":1826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"849:42:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f"},"visibility":"internal"},{"id":1830,"nodeType":"VariableDeclaration","src":"965:89:1","nodes":[],"constant":true,"mutability":"constant","name":"MULTICALL3_ADDRESS","nameLocation":"991:18:1","scope":1843,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1828,"name":"address","nodeType":"ElementaryTypeName","src":"965:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":1829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1012:42:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},"visibility":"internal"},{"id":1833,"nodeType":"VariableDeclaration","src":"1061:126:1","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"1087:11:1","scope":1843,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1831,"name":"uint256","nodeType":"ElementaryTypeName","src":"1061:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":1832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1109:78:1","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"internal"},{"id":1839,"nodeType":"VariableDeclaration","src":"1194:40:1","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"1215:2:1","scope":1843,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"},"typeName":{"id":1835,"nodeType":"UserDefinedTypeName","pathNode":{"id":1834,"name":"Vm","nodeType":"IdentifierPath","referencedDeclaration":12037,"src":"1194:2:1"},"referencedDeclaration":12037,"src":"1194:2:1","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"value":{"arguments":[{"id":1837,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1807,"src":"1223:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1836,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"1220:2:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"id":1838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1220:14:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"visibility":"internal"},{"id":1842,"nodeType":"VariableDeclaration","src":"1240:28:1","nodes":[],"constant":false,"mutability":"mutable","name":"stdstore","nameLocation":"1260:8:1","scope":1843,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage","typeString":"struct StdStorage"},"typeName":{"id":1841,"nodeType":"UserDefinedTypeName","pathNode":{"id":1840,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"1240:10:1"},"referencedDeclaration":7225,"src":"1240:10:1","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"CommonBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[1843],"name":"CommonBase","nameLocation":"166:10:1","scope":1859,"usedErrors":[]},{"id":1846,"nodeType":"ContractDefinition","src":"1273:43:1","nodes":[],"abstract":true,"baseContracts":[{"baseName":{"id":1844,"name":"CommonBase","nodeType":"IdentifierPath","referencedDeclaration":1843,"src":"1303:10:1"},"id":1845,"nodeType":"InheritanceSpecifier","src":"1303:10:1"}],"canonicalName":"TestBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[1846,1843],"name":"TestBase","nameLocation":"1291:8:1","scope":1859,"usedErrors":[]},{"id":1858,"nodeType":"ContractDefinition","src":"1318:298:1","nodes":[{"id":1851,"nodeType":"VariableDeclaration","src":"1468:86:1","nodes":[],"constant":true,"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"1494:15:1","scope":1858,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1849,"name":"address","nodeType":"ElementaryTypeName","src":"1468:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":1850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1512:42:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"internal"},{"id":1857,"nodeType":"VariableDeclaration","src":"1561:52:1","nodes":[],"constant":true,"mutability":"constant","name":"vmSafe","nameLocation":"1586:6:1","scope":1858,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"},"typeName":{"id":1853,"nodeType":"UserDefinedTypeName","pathNode":{"id":1852,"name":"VmSafe","nodeType":"IdentifierPath","referencedDeclaration":11690,"src":"1561:6:1"},"referencedDeclaration":11690,"src":"1561:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"value":{"arguments":[{"id":1855,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1807,"src":"1602:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1854,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"1595:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$11690_$","typeString":"type(contract VmSafe)"}},"id":1856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1595:18:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":1847,"name":"CommonBase","nodeType":"IdentifierPath","referencedDeclaration":1843,"src":"1350:10:1"},"id":1848,"nodeType":"InheritanceSpecifier","src":"1350:10:1"}],"canonicalName":"ScriptBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[1858,1843],"name":"ScriptBase","nameLocation":"1336:10:1","scope":1859,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdAssertions.sol":{"id":2,"ast":{"absolutePath":"lib/forge-std/src/StdAssertions.sol","id":3261,"exportedSymbols":{"DSTest":[1786],"StdAssertions":[3260],"stdMath":[7193]},"nodeType":"SourceUnit","src":"32:13591:2","nodes":[{"id":1860,"nodeType":"PragmaDirective","src":"32:31:2","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":1862,"nodeType":"ImportDirective","src":"65:40:2","nodes":[],"absolutePath":"lib/forge-std/lib/ds-test/src/test.sol","file":"ds-test/test.sol","nameLocation":"-1:-1:-1","scope":3261,"sourceUnit":1787,"symbolAliases":[{"foreign":{"id":1861,"name":"DSTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1786,"src":"73:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DSTest_$1786_$","typeString":"type(contract DSTest)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1864,"nodeType":"ImportDirective","src":"106:38:2","nodes":[],"absolutePath":"lib/forge-std/src/StdMath.sol","file":"./StdMath.sol","nameLocation":"-1:-1:-1","scope":3261,"sourceUnit":7194,"symbolAliases":[{"foreign":{"id":1863,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"114:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":3260,"nodeType":"ContractDefinition","src":"146:13476:2","nodes":[{"id":1871,"nodeType":"EventDefinition","src":"194:31:2","nodes":[],"anonymous":false,"name":"log_array","nameLocation":"200:9:2","parameters":{"id":1870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1869,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"220:3:2","nodeType":"VariableDeclaration","scope":1871,"src":"210:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1867,"name":"uint256","nodeType":"ElementaryTypeName","src":"210:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1868,"nodeType":"ArrayTypeName","src":"210:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"209:15:2"}},{"id":1876,"nodeType":"EventDefinition","src":"230:30:2","nodes":[],"anonymous":false,"name":"log_array","nameLocation":"236:9:2","parameters":{"id":1875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1874,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"255:3:2","nodeType":"VariableDeclaration","scope":1876,"src":"246:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1872,"name":"int256","nodeType":"ElementaryTypeName","src":"246:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1873,"nodeType":"ArrayTypeName","src":"246:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"245:14:2"}},{"id":1881,"nodeType":"EventDefinition","src":"265:31:2","nodes":[],"anonymous":false,"name":"log_array","nameLocation":"271:9:2","parameters":{"id":1880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1879,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"291:3:2","nodeType":"VariableDeclaration","scope":1881,"src":"281:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1877,"name":"address","nodeType":"ElementaryTypeName","src":"281:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1878,"nodeType":"ArrayTypeName","src":"281:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"280:15:2"}},{"id":1888,"nodeType":"EventDefinition","src":"301:49:2","nodes":[],"anonymous":false,"name":"log_named_array","nameLocation":"307:15:2","parameters":{"id":1887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1883,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"330:3:2","nodeType":"VariableDeclaration","scope":1888,"src":"323:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1882,"name":"string","nodeType":"ElementaryTypeName","src":"323:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1886,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"345:3:2","nodeType":"VariableDeclaration","scope":1888,"src":"335:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1884,"name":"uint256","nodeType":"ElementaryTypeName","src":"335:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1885,"nodeType":"ArrayTypeName","src":"335:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"322:27:2"}},{"id":1895,"nodeType":"EventDefinition","src":"355:48:2","nodes":[],"anonymous":false,"name":"log_named_array","nameLocation":"361:15:2","parameters":{"id":1894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1890,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"384:3:2","nodeType":"VariableDeclaration","scope":1895,"src":"377:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1889,"name":"string","nodeType":"ElementaryTypeName","src":"377:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1893,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"398:3:2","nodeType":"VariableDeclaration","scope":1895,"src":"389:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1891,"name":"int256","nodeType":"ElementaryTypeName","src":"389:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1892,"nodeType":"ArrayTypeName","src":"389:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"376:26:2"}},{"id":1902,"nodeType":"EventDefinition","src":"408:49:2","nodes":[],"anonymous":false,"name":"log_named_array","nameLocation":"414:15:2","parameters":{"id":1901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1897,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"437:3:2","nodeType":"VariableDeclaration","scope":1902,"src":"430:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1896,"name":"string","nodeType":"ElementaryTypeName","src":"430:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1900,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"452:3:2","nodeType":"VariableDeclaration","scope":1902,"src":"442:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1898,"name":"address","nodeType":"ElementaryTypeName","src":"442:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1899,"nodeType":"ArrayTypeName","src":"442:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"429:27:2"}},{"id":1916,"nodeType":"FunctionDefinition","src":"463:118:2","nodes":[],"body":{"id":1915,"nodeType":"Block","src":"513:68:2","nodes":[],"statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"545:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1909,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1904,"src":"554:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1907,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"528:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"528:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1911,"nodeType":"EmitStatement","src":"523:35:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1912,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"568:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"568:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1914,"nodeType":"ExpressionStatement","src":"568:6:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"fail","nameLocation":"472:4:2","parameters":{"id":1905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1904,"mutability":"mutable","name":"err","nameLocation":"491:3:2","nodeType":"VariableDeclaration","scope":1916,"src":"477:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1903,"name":"string","nodeType":"ElementaryTypeName","src":"477:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"476:19:2"},"returnParameters":{"id":1906,"nodeType":"ParameterList","parameters":[],"src":"513:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":1927,"nodeType":"FunctionDefinition","src":"587:83:2","nodes":[],"body":{"id":1926,"nodeType":"Block","src":"636:34:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"657:5:2","subExpression":{"id":1922,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1918,"src":"658:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1921,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"646:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":1924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"646:17:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1925,"nodeType":"ExpressionStatement","src":"646:17:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"596:11:2","parameters":{"id":1919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1918,"mutability":"mutable","name":"data","nameLocation":"613:4:2","nodeType":"VariableDeclaration","scope":1927,"src":"608:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1917,"name":"bool","nodeType":"ElementaryTypeName","src":"608:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"607:11:2"},"returnParameters":{"id":1920,"nodeType":"ParameterList","parameters":[],"src":"636:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":1941,"nodeType":"FunctionDefinition","src":"676:107:2","nodes":[],"body":{"id":1940,"nodeType":"Block","src":"744:39:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"765:5:2","subExpression":{"id":1935,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"766:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1937,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1931,"src":"772: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"}],"id":1934,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":290,"src":"754:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory)"}},"id":1938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"754:22:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1939,"nodeType":"ExpressionStatement","src":"754:22:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"685:11:2","parameters":{"id":1932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1929,"mutability":"mutable","name":"data","nameLocation":"702:4:2","nodeType":"VariableDeclaration","scope":1941,"src":"697:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1928,"name":"bool","nodeType":"ElementaryTypeName","src":"697:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1931,"mutability":"mutable","name":"err","nameLocation":"722:3:2","nodeType":"VariableDeclaration","scope":1941,"src":"708:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1930,"name":"string","nodeType":"ElementaryTypeName","src":"708:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"696:30:2"},"returnParameters":{"id":1933,"nodeType":"ParameterList","parameters":[],"src":"744:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":1977,"nodeType":"FunctionDefinition","src":"789:312:2","nodes":[],"body":{"id":1976,"nodeType":"Block","src":"840:261:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1948,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1943,"src":"854:1:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1949,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1945,"src":"859:1:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"854:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1975,"nodeType":"IfStatement","src":"850:245:2","trueBody":{"id":1974,"nodeType":"Block","src":"862:233:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b626f6f6c5d","id":1952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"885:36:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b48ec9ac4dc7123ad32509232067c63ebae61bff18d5e06bf4dea2a25240ed2","typeString":"literal_string \"Error: a == b not satisfied [bool]\""},"value":"Error: a == b not satisfied [bool]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b48ec9ac4dc7123ad32509232067c63ebae61bff18d5e06bf4dea2a25240ed2","typeString":"literal_string \"Error: a == b not satisfied [bool]\""}],"id":1951,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"881:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":1953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"881:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1954,"nodeType":"EmitStatement","src":"876:46:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":1956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"958:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"condition":{"id":1957,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1943,"src":"972:1:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"66616c7365","id":1959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"985:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba9154e0baa69c78e0ca563b867df81bae9d177c4ea1452c35c84386a70f0f7a","typeString":"literal_string \"false\""},"value":"false"},"id":1960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"972:20:2","trueExpression":{"hexValue":"74727565","id":1958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"976:6:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_6273151f959616268004b58dbb21e5c851b7b8d04498b4aabee12291d22fc034","typeString":"literal_string \"true\""},"value":"true"},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1955,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"941:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"941:52:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1962,"nodeType":"EmitStatement","src":"936:57:2"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":1964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1029:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"condition":{"id":1965,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1945,"src":"1043:1:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"66616c7365","id":1967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1056:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba9154e0baa69c78e0ca563b867df81bae9d177c4ea1452c35c84386a70f0f7a","typeString":"literal_string \"false\""},"value":"false"},"id":1968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1043:20:2","trueExpression":{"hexValue":"74727565","id":1966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1047:6:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_6273151f959616268004b58dbb21e5c851b7b8d04498b4aabee12291d22fc034","typeString":"literal_string \"true\""},"value":"true"},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1963,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"1012:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1012:52:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1970,"nodeType":"EmitStatement","src":"1007:57:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1971,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"1078:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1078:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1973,"nodeType":"ExpressionStatement","src":"1078:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"798:8:2","parameters":{"id":1946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1943,"mutability":"mutable","name":"a","nameLocation":"812:1:2","nodeType":"VariableDeclaration","scope":1977,"src":"807:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1942,"name":"bool","nodeType":"ElementaryTypeName","src":"807:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1945,"mutability":"mutable","name":"b","nameLocation":"820:1:2","nodeType":"VariableDeclaration","scope":1977,"src":"815:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1944,"name":"bool","nodeType":"ElementaryTypeName","src":"815:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"806:16:2"},"returnParameters":{"id":1947,"nodeType":"ParameterList","parameters":[],"src":"840:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2002,"nodeType":"FunctionDefinition","src":"1107:186:2","nodes":[],"body":{"id":2001,"nodeType":"Block","src":"1177:116:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1986,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1979,"src":"1191:1:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1987,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1981,"src":"1196:1:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1191:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2000,"nodeType":"IfStatement","src":"1187:100:2","trueBody":{"id":1999,"nodeType":"Block","src":"1199:88:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":1990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1235:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":1991,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1983,"src":"1244:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1989,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"1218:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":1992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1218:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1993,"nodeType":"EmitStatement","src":"1213:35:2"},{"expression":{"arguments":[{"id":1995,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1979,"src":"1271:1:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1996,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1981,"src":"1274:1:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1994,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":1977,"src":"1262:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool)"}},"id":1997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1262:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1998,"nodeType":"ExpressionStatement","src":"1262:14:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"1116:8:2","parameters":{"id":1984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1979,"mutability":"mutable","name":"a","nameLocation":"1130:1:2","nodeType":"VariableDeclaration","scope":2002,"src":"1125:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1978,"name":"bool","nodeType":"ElementaryTypeName","src":"1125:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1981,"mutability":"mutable","name":"b","nameLocation":"1138:1:2","nodeType":"VariableDeclaration","scope":2002,"src":"1133:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1980,"name":"bool","nodeType":"ElementaryTypeName","src":"1133:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1983,"mutability":"mutable","name":"err","nameLocation":"1155:3:2","nodeType":"VariableDeclaration","scope":2002,"src":"1141:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1982,"name":"string","nodeType":"ElementaryTypeName","src":"1141:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1124:35:2"},"returnParameters":{"id":1985,"nodeType":"ParameterList","parameters":[],"src":"1177:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2015,"nodeType":"FunctionDefinition","src":"1299:99:2","nodes":[],"body":{"id":2014,"nodeType":"Block","src":"1366:32:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2010,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2004,"src":"1386:1:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2011,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2006,"src":"1389:1: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":2009,"name":"assertEq0","nodeType":"Identifier","overloadedDeclarations":[1758,1785],"referencedDeclaration":1758,"src":"1376:9:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory)"}},"id":2012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1376:15:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2013,"nodeType":"ExpressionStatement","src":"1376:15:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"1308:8:2","parameters":{"id":2007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2004,"mutability":"mutable","name":"a","nameLocation":"1330:1:2","nodeType":"VariableDeclaration","scope":2015,"src":"1317:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2003,"name":"bytes","nodeType":"ElementaryTypeName","src":"1317:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2006,"mutability":"mutable","name":"b","nameLocation":"1346:1:2","nodeType":"VariableDeclaration","scope":2015,"src":"1333:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2005,"name":"bytes","nodeType":"ElementaryTypeName","src":"1333:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1316:32:2"},"returnParameters":{"id":2008,"nodeType":"ParameterList","parameters":[],"src":"1366:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2031,"nodeType":"FunctionDefinition","src":"1404:123:2","nodes":[],"body":{"id":2030,"nodeType":"Block","src":"1490:37:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2025,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2017,"src":"1510:1:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2026,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2019,"src":"1513:1:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2027,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2021,"src":"1516: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":2024,"name":"assertEq0","nodeType":"Identifier","overloadedDeclarations":[1758,1785],"referencedDeclaration":1785,"src":"1500:9:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory)"}},"id":2028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1500:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2029,"nodeType":"ExpressionStatement","src":"1500:20:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"1413:8:2","parameters":{"id":2022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2017,"mutability":"mutable","name":"a","nameLocation":"1435:1:2","nodeType":"VariableDeclaration","scope":2031,"src":"1422:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2016,"name":"bytes","nodeType":"ElementaryTypeName","src":"1422:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2019,"mutability":"mutable","name":"b","nameLocation":"1451:1:2","nodeType":"VariableDeclaration","scope":2031,"src":"1438:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2018,"name":"bytes","nodeType":"ElementaryTypeName","src":"1438:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2021,"mutability":"mutable","name":"err","nameLocation":"1468:3:2","nodeType":"VariableDeclaration","scope":2031,"src":"1454:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2020,"name":"string","nodeType":"ElementaryTypeName","src":"1454:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1421:51:2"},"returnParameters":{"id":2023,"nodeType":"ParameterList","parameters":[],"src":"1490:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2073,"nodeType":"FunctionDefinition","src":"1533:344:2","nodes":[],"body":{"id":2072,"nodeType":"Block","src":"1608:269:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2043,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2034,"src":"1643:1: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"}],"expression":{"id":2041,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1632:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"1632:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1632:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2040,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1622:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1622:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":2049,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2037,"src":"1671:1: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"}],"expression":{"id":2047,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1660:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"1660:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1660:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2046,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1650:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1650:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1622:52:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2071,"nodeType":"IfStatement","src":"1618:253:2","trueBody":{"id":2070,"nodeType":"Block","src":"1676:195:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e745b5d5d","id":2054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1699:38:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_521d63632bd73b6c06245b96e4e8f1b767ee309607c65899b409e5c9e6c384eb","typeString":"literal_string \"Error: a == b not satisfied [uint[]]\""},"value":"Error: a == b not satisfied [uint[]]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_521d63632bd73b6c06245b96e4e8f1b767ee309607c65899b409e5c9e6c384eb","typeString":"literal_string \"Error: a == b not satisfied [uint[]]\""}],"id":2053,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"1695:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1695:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2056,"nodeType":"EmitStatement","src":"1690:48:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":2058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1773:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2059,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2034,"src":"1787:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":2057,"name":"log_named_array","nodeType":"Identifier","overloadedDeclarations":[1888,1895,1902],"referencedDeclaration":1888,"src":"1757:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory,uint256[] memory)"}},"id":2060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1757:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2061,"nodeType":"EmitStatement","src":"1752:37:2"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":2063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1824:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2064,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2037,"src":"1838:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":2062,"name":"log_named_array","nodeType":"Identifier","overloadedDeclarations":[1888,1895,1902],"referencedDeclaration":1888,"src":"1808:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory,uint256[] memory)"}},"id":2065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1808:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2066,"nodeType":"EmitStatement","src":"1803:37:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2067,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"1854:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1854:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2069,"nodeType":"ExpressionStatement","src":"1854:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"1542:8:2","parameters":{"id":2038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2034,"mutability":"mutable","name":"a","nameLocation":"1568:1:2","nodeType":"VariableDeclaration","scope":2073,"src":"1551:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2032,"name":"uint256","nodeType":"ElementaryTypeName","src":"1551:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2033,"nodeType":"ArrayTypeName","src":"1551:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2037,"mutability":"mutable","name":"b","nameLocation":"1588:1:2","nodeType":"VariableDeclaration","scope":2073,"src":"1571:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2035,"name":"uint256","nodeType":"ElementaryTypeName","src":"1571:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2036,"nodeType":"ArrayTypeName","src":"1571:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1550:40:2"},"returnParameters":{"id":2039,"nodeType":"ParameterList","parameters":[],"src":"1608:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2115,"nodeType":"FunctionDefinition","src":"1883:341:2","nodes":[],"body":{"id":2114,"nodeType":"Block","src":"1956:268:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2085,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2076,"src":"1991:1: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"}],"expression":{"id":2083,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1980:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"1980:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1980:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2082,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1970:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1970:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":2091,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"2019:1: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"}],"expression":{"id":2089,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2008:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2090,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2008:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2008:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2088,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1998:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1998:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1970:52:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2113,"nodeType":"IfStatement","src":"1966:252:2","trueBody":{"id":2112,"nodeType":"Block","src":"2024:194:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b696e745b5d5d","id":2096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2047:37:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_6c8a6638f7c95c9ee18ffcfc37ffe04d6270c2db7493e9b7a14add834054a5f5","typeString":"literal_string \"Error: a == b not satisfied [int[]]\""},"value":"Error: a == b not satisfied [int[]]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6c8a6638f7c95c9ee18ffcfc37ffe04d6270c2db7493e9b7a14add834054a5f5","typeString":"literal_string \"Error: a == b not satisfied [int[]]\""}],"id":2095,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"2043:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2043:42:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2098,"nodeType":"EmitStatement","src":"2038:47:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":2100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2120:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2101,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2076,"src":"2134:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"id":2099,"name":"log_named_array","nodeType":"Identifier","overloadedDeclarations":[1888,1895,1902],"referencedDeclaration":1895,"src":"2104:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory,int256[] memory)"}},"id":2102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2104:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2103,"nodeType":"EmitStatement","src":"2099:37:2"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":2105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2171:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2106,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"2185:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"id":2104,"name":"log_named_array","nodeType":"Identifier","overloadedDeclarations":[1888,1895,1902],"referencedDeclaration":1895,"src":"2155:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory,int256[] memory)"}},"id":2107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2155:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2108,"nodeType":"EmitStatement","src":"2150:37:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2109,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"2201:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2201:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2111,"nodeType":"ExpressionStatement","src":"2201:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"1892:8:2","parameters":{"id":2080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2076,"mutability":"mutable","name":"a","nameLocation":"1917:1:2","nodeType":"VariableDeclaration","scope":2115,"src":"1901:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":2074,"name":"int256","nodeType":"ElementaryTypeName","src":"1901:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":2075,"nodeType":"ArrayTypeName","src":"1901:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":2079,"mutability":"mutable","name":"b","nameLocation":"1936:1:2","nodeType":"VariableDeclaration","scope":2115,"src":"1920:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":2077,"name":"int256","nodeType":"ElementaryTypeName","src":"1920:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":2078,"nodeType":"ArrayTypeName","src":"1920:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1900:38:2"},"returnParameters":{"id":2081,"nodeType":"ParameterList","parameters":[],"src":"1956:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2157,"nodeType":"FunctionDefinition","src":"2230:347:2","nodes":[],"body":{"id":2156,"nodeType":"Block","src":"2305:272:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2127,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"2340:1: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"}],"expression":{"id":2125,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2329:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2329:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2329:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2124,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2319:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2319:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":2133,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2121,"src":"2368:1: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"}],"expression":{"id":2131,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2357:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2357:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2357:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2130,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2347:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2347:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2319:52:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2155,"nodeType":"IfStatement","src":"2315:256:2","trueBody":{"id":2154,"nodeType":"Block","src":"2373:198:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735b5d5d","id":2138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2396:41:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_18b6dc04296758144a4e9b271bd3d79214335bb195df00f93d1706586d5041f8","typeString":"literal_string \"Error: a == b not satisfied [address[]]\""},"value":"Error: a == b not satisfied [address[]]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_18b6dc04296758144a4e9b271bd3d79214335bb195df00f93d1706586d5041f8","typeString":"literal_string \"Error: a == b not satisfied [address[]]\""}],"id":2137,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"2392:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2392:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2140,"nodeType":"EmitStatement","src":"2387:51:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":2142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2473:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2143,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"2487:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":2141,"name":"log_named_array","nodeType":"Identifier","overloadedDeclarations":[1888,1895,1902],"referencedDeclaration":1902,"src":"2457:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory,address[] memory)"}},"id":2144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2457:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2145,"nodeType":"EmitStatement","src":"2452:37:2"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":2147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2524:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2148,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2121,"src":"2538:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":2146,"name":"log_named_array","nodeType":"Identifier","overloadedDeclarations":[1888,1895,1902],"referencedDeclaration":1902,"src":"2508:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (string memory,address[] memory)"}},"id":2149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2508:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2150,"nodeType":"EmitStatement","src":"2503:37:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2151,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"2554:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2554:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2153,"nodeType":"ExpressionStatement","src":"2554:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2239:8:2","parameters":{"id":2122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2118,"mutability":"mutable","name":"a","nameLocation":"2265:1:2","nodeType":"VariableDeclaration","scope":2157,"src":"2248:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2116,"name":"address","nodeType":"ElementaryTypeName","src":"2248:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2117,"nodeType":"ArrayTypeName","src":"2248:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":2121,"mutability":"mutable","name":"b","nameLocation":"2285:1:2","nodeType":"VariableDeclaration","scope":2157,"src":"2268:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2119,"name":"address","nodeType":"ElementaryTypeName","src":"2268:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2120,"nodeType":"ArrayTypeName","src":"2268:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2247:40:2"},"returnParameters":{"id":2123,"nodeType":"ParameterList","parameters":[],"src":"2305:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2194,"nodeType":"FunctionDefinition","src":"2583:256:2","nodes":[],"body":{"id":2193,"nodeType":"Block","src":"2677:162:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2171,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2160,"src":"2712:1: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"}],"expression":{"id":2169,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2701:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2701:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2701:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2168,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2691:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2691:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":2177,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2163,"src":"2740:1: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"}],"expression":{"id":2175,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2729:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2729:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2729:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2174,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2719:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2719:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2691:52:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2192,"nodeType":"IfStatement","src":"2687:146:2","trueBody":{"id":2191,"nodeType":"Block","src":"2745:88:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2781:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2183,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2165,"src":"2790:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2181,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"2764:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2764:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2185,"nodeType":"EmitStatement","src":"2759:35:2"},{"expression":{"arguments":[{"id":2187,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2160,"src":"2817:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":2188,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2163,"src":"2820:1: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"}],"id":2186,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":2073,"src":"2808:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256[] memory,uint256[] memory)"}},"id":2189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2808:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2190,"nodeType":"ExpressionStatement","src":"2808:14:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2592:8:2","parameters":{"id":2166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2160,"mutability":"mutable","name":"a","nameLocation":"2618:1:2","nodeType":"VariableDeclaration","scope":2194,"src":"2601:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2158,"name":"uint256","nodeType":"ElementaryTypeName","src":"2601:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2159,"nodeType":"ArrayTypeName","src":"2601:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2163,"mutability":"mutable","name":"b","nameLocation":"2638:1:2","nodeType":"VariableDeclaration","scope":2194,"src":"2621:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2161,"name":"uint256","nodeType":"ElementaryTypeName","src":"2621:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2162,"nodeType":"ArrayTypeName","src":"2621:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2165,"mutability":"mutable","name":"err","nameLocation":"2655:3:2","nodeType":"VariableDeclaration","scope":2194,"src":"2641:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2164,"name":"string","nodeType":"ElementaryTypeName","src":"2641:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2600:59:2"},"returnParameters":{"id":2167,"nodeType":"ParameterList","parameters":[],"src":"2677:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2231,"nodeType":"FunctionDefinition","src":"2845:254:2","nodes":[],"body":{"id":2230,"nodeType":"Block","src":"2937:162:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2208,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2197,"src":"2972:1: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"}],"expression":{"id":2206,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2961:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2961:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2961:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2205,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2951:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2951:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":2214,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2200,"src":"3000:1: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"}],"expression":{"id":2212,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2989:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"2989:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2989:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2211,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2979:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2979:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2951:52:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2229,"nodeType":"IfStatement","src":"2947:146:2","trueBody":{"id":2228,"nodeType":"Block","src":"3005:88:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3041:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2220,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2202,"src":"3050:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2218,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"3024:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3024:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2222,"nodeType":"EmitStatement","src":"3019:35:2"},{"expression":{"arguments":[{"id":2224,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2197,"src":"3077:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":2225,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2200,"src":"3080:1: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"}],"id":2223,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":2115,"src":"3068:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_int256_$dyn_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$__$","typeString":"function (int256[] memory,int256[] memory)"}},"id":2226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3068:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2227,"nodeType":"ExpressionStatement","src":"3068:14:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2854:8:2","parameters":{"id":2203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2197,"mutability":"mutable","name":"a","nameLocation":"2879:1:2","nodeType":"VariableDeclaration","scope":2231,"src":"2863:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":2195,"name":"int256","nodeType":"ElementaryTypeName","src":"2863:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":2196,"nodeType":"ArrayTypeName","src":"2863:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":2200,"mutability":"mutable","name":"b","nameLocation":"2898:1:2","nodeType":"VariableDeclaration","scope":2231,"src":"2882:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":2198,"name":"int256","nodeType":"ElementaryTypeName","src":"2882:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":2199,"nodeType":"ArrayTypeName","src":"2882:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":2202,"mutability":"mutable","name":"err","nameLocation":"2915:3:2","nodeType":"VariableDeclaration","scope":2231,"src":"2901:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2201,"name":"string","nodeType":"ElementaryTypeName","src":"2901:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2862:57:2"},"returnParameters":{"id":2204,"nodeType":"ParameterList","parameters":[],"src":"2937:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2268,"nodeType":"FunctionDefinition","src":"3105:256:2","nodes":[],"body":{"id":2267,"nodeType":"Block","src":"3199:162:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":2245,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"3234:1: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"}],"expression":{"id":2243,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3223:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"3223:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3223:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2242,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3213:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3213:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":2251,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2237,"src":"3262:1: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"}],"expression":{"id":2249,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3251:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"3251:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3251:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2248,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3241:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3241:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3213:52:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2266,"nodeType":"IfStatement","src":"3209:146:2","trueBody":{"id":2265,"nodeType":"Block","src":"3267:88:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3303:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2257,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2239,"src":"3312:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2255,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"3286:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3286:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2259,"nodeType":"EmitStatement","src":"3281:35:2"},{"expression":{"arguments":[{"id":2261,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"3339:1:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":2262,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2237,"src":"3342:1: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"}],"id":2260,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":2157,"src":"3330:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$","typeString":"function (address[] memory,address[] memory)"}},"id":2263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3330:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2264,"nodeType":"ExpressionStatement","src":"3330:14:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3114:8:2","parameters":{"id":2240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2234,"mutability":"mutable","name":"a","nameLocation":"3140:1:2","nodeType":"VariableDeclaration","scope":2268,"src":"3123:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2232,"name":"address","nodeType":"ElementaryTypeName","src":"3123:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2233,"nodeType":"ArrayTypeName","src":"3123:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":2237,"mutability":"mutable","name":"b","nameLocation":"3160:1:2","nodeType":"VariableDeclaration","scope":2268,"src":"3143:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2235,"name":"address","nodeType":"ElementaryTypeName","src":"3143:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2236,"nodeType":"ArrayTypeName","src":"3143:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":2239,"mutability":"mutable","name":"err","nameLocation":"3177:3:2","nodeType":"VariableDeclaration","scope":2268,"src":"3163:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2238,"name":"string","nodeType":"ElementaryTypeName","src":"3163:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3122:59:2"},"returnParameters":{"id":2241,"nodeType":"ParameterList","parameters":[],"src":"3199:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2287,"nodeType":"FunctionDefinition","src":"3388:110:2","nodes":[],"body":{"id":2286,"nodeType":"Block","src":"3449:49:2","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":2278,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2270,"src":"3476:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3468:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2276,"name":"uint256","nodeType":"ElementaryTypeName","src":"3468:7:2","typeDescriptions":{}}},"id":2279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3468:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":2282,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2272,"src":"3488:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3480:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2280,"name":"uint256","nodeType":"ElementaryTypeName","src":"3480:7:2","typeDescriptions":{}}},"id":2283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3480:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2275,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"3459:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":2284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3459:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2285,"nodeType":"ExpressionStatement","src":"3459:32:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqUint","nameLocation":"3397:12:2","parameters":{"id":2273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2270,"mutability":"mutable","name":"a","nameLocation":"3418:1:2","nodeType":"VariableDeclaration","scope":2287,"src":"3410:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2269,"name":"uint256","nodeType":"ElementaryTypeName","src":"3410:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2272,"mutability":"mutable","name":"b","nameLocation":"3429:1:2","nodeType":"VariableDeclaration","scope":2287,"src":"3421:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2271,"name":"uint256","nodeType":"ElementaryTypeName","src":"3421:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3409:22:2"},"returnParameters":{"id":2274,"nodeType":"ParameterList","parameters":[],"src":"3449:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2337,"nodeType":"FunctionDefinition","src":"3504:470:2","nodes":[],"body":{"id":2336,"nodeType":"Block","src":"3588:386:2","nodes":[],"statements":[{"assignments":[2297],"declarations":[{"constant":false,"id":2297,"mutability":"mutable","name":"delta","nameLocation":"3606:5:2","nodeType":"VariableDeclaration","scope":2336,"src":"3598:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2296,"name":"uint256","nodeType":"ElementaryTypeName","src":"3598:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2303,"initialValue":{"arguments":[{"id":2300,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2289,"src":"3628:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2301,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2291,"src":"3631:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2298,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"3614:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delta","nodeType":"MemberAccess","referencedDeclaration":7104,"src":"3614:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3614:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3598:35:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2304,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2297,"src":"3648:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2305,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2293,"src":"3656:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3648:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2335,"nodeType":"IfStatement","src":"3644:324:2","trueBody":{"id":2334,"nodeType":"Block","src":"3666:302:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061207e3d2062206e6f7420736174697366696564205b75696e745d","id":2308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3689:36:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe","typeString":"literal_string \"Error: a ~= b not satisfied [uint]\""},"value":"Error: a ~= b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe","typeString":"literal_string \"Error: a ~= b not satisfied [uint]\""}],"id":2307,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"3685:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3685:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2310,"nodeType":"EmitStatement","src":"3680:46:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":2312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3760:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2313,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2289,"src":"3774:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2311,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"3745:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":2314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3745:31:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2315,"nodeType":"EmitStatement","src":"3740:36:2"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":2317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3810:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2318,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2291,"src":"3824:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2316,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"3795:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":2319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3795:31:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2320,"nodeType":"EmitStatement","src":"3790:36:2"},{"eventCall":{"arguments":[{"hexValue":"204d61782044656c7461","id":2322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3860:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5","typeString":"literal_string \" Max Delta\""},"value":" Max Delta"},{"id":2323,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2293,"src":"3874:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5","typeString":"literal_string \" Max Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2321,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"3845:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":2324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3845:38:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2325,"nodeType":"EmitStatement","src":"3840:43:2"},{"eventCall":{"arguments":[{"hexValue":"202020202044656c7461","id":2327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3917:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f","typeString":"literal_string \" Delta\""},"value":" Delta"},{"id":2328,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2297,"src":"3931:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f","typeString":"literal_string \" Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2326,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"3902:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":2329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3902:35:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2330,"nodeType":"EmitStatement","src":"3897:40:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2331,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"3951:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3951:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2333,"nodeType":"ExpressionStatement","src":"3951:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"3513:17:2","parameters":{"id":2294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2289,"mutability":"mutable","name":"a","nameLocation":"3539:1:2","nodeType":"VariableDeclaration","scope":2337,"src":"3531:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2288,"name":"uint256","nodeType":"ElementaryTypeName","src":"3531:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2291,"mutability":"mutable","name":"b","nameLocation":"3550:1:2","nodeType":"VariableDeclaration","scope":2337,"src":"3542:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2290,"name":"uint256","nodeType":"ElementaryTypeName","src":"3542:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2293,"mutability":"mutable","name":"maxDelta","nameLocation":"3561:8:2","nodeType":"VariableDeclaration","scope":2337,"src":"3553:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2292,"name":"uint256","nodeType":"ElementaryTypeName","src":"3553:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3530:40:2"},"returnParameters":{"id":2295,"nodeType":"ParameterList","parameters":[],"src":"3588:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2373,"nodeType":"FunctionDefinition","src":"3980:294:2","nodes":[],"body":{"id":2372,"nodeType":"Block","src":"4083:191:2","nodes":[],"statements":[{"assignments":[2349],"declarations":[{"constant":false,"id":2349,"mutability":"mutable","name":"delta","nameLocation":"4101:5:2","nodeType":"VariableDeclaration","scope":2372,"src":"4093:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2348,"name":"uint256","nodeType":"ElementaryTypeName","src":"4093:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2355,"initialValue":{"arguments":[{"id":2352,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2339,"src":"4123:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2353,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2341,"src":"4126:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2350,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"4109:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delta","nodeType":"MemberAccess","referencedDeclaration":7104,"src":"4109:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4109:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4093:35:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2356,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2349,"src":"4143:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2357,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2343,"src":"4151:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4143:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2371,"nodeType":"IfStatement","src":"4139:129:2","trueBody":{"id":2370,"nodeType":"Block","src":"4161:107:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4197:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2361,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2345,"src":"4206:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2359,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"4180:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4180:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2363,"nodeType":"EmitStatement","src":"4175:35:2"},{"expression":{"arguments":[{"id":2365,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2339,"src":"4242:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2366,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2341,"src":"4245:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2367,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2343,"src":"4248: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"}],"id":2364,"name":"assertApproxEqAbs","nodeType":"Identifier","overloadedDeclarations":[2337,2373,2518,2554],"referencedDeclaration":2337,"src":"4224:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":2368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4224:33:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2369,"nodeType":"ExpressionStatement","src":"4224:33:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"3989:17:2","parameters":{"id":2346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2339,"mutability":"mutable","name":"a","nameLocation":"4015:1:2","nodeType":"VariableDeclaration","scope":2373,"src":"4007:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2338,"name":"uint256","nodeType":"ElementaryTypeName","src":"4007:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2341,"mutability":"mutable","name":"b","nameLocation":"4026:1:2","nodeType":"VariableDeclaration","scope":2373,"src":"4018:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2340,"name":"uint256","nodeType":"ElementaryTypeName","src":"4018:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2343,"mutability":"mutable","name":"maxDelta","nameLocation":"4037:8:2","nodeType":"VariableDeclaration","scope":2373,"src":"4029:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2342,"name":"uint256","nodeType":"ElementaryTypeName","src":"4029:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2345,"mutability":"mutable","name":"err","nameLocation":"4061:3:2","nodeType":"VariableDeclaration","scope":2373,"src":"4047:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2344,"name":"string","nodeType":"ElementaryTypeName","src":"4047:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4006:59:2"},"returnParameters":{"id":2347,"nodeType":"ParameterList","parameters":[],"src":"4083:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2429,"nodeType":"FunctionDefinition","src":"4280:567:2","nodes":[],"body":{"id":2428,"nodeType":"Block","src":"4389:458:2","nodes":[],"statements":[{"assignments":[2385],"declarations":[{"constant":false,"id":2385,"mutability":"mutable","name":"delta","nameLocation":"4407:5:2","nodeType":"VariableDeclaration","scope":2428,"src":"4399:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2384,"name":"uint256","nodeType":"ElementaryTypeName","src":"4399:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2391,"initialValue":{"arguments":[{"id":2388,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2375,"src":"4429:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2389,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2377,"src":"4432:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2386,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"4415:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delta","nodeType":"MemberAccess","referencedDeclaration":7104,"src":"4415:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4415:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4399:35:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2392,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2385,"src":"4449:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2393,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2379,"src":"4457:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4449:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2427,"nodeType":"IfStatement","src":"4445:396:2","trueBody":{"id":2426,"nodeType":"Block","src":"4467:374:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061207e3d2062206e6f7420736174697366696564205b75696e745d","id":2396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4490:36:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe","typeString":"literal_string \"Error: a ~= b not satisfied [uint]\""},"value":"Error: a ~= b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe","typeString":"literal_string \"Error: a ~= b not satisfied [uint]\""}],"id":2395,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"4486:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4486:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2398,"nodeType":"EmitStatement","src":"4481:46:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":2400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4569:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2401,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2375,"src":"4583:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2402,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2381,"src":"4586:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2399,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"4546:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4546:49:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2404,"nodeType":"EmitStatement","src":"4541:54:2"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":2406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4637:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2407,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2377,"src":"4651:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2408,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2381,"src":"4654:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2405,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"4614:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4614:49:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2410,"nodeType":"EmitStatement","src":"4609:54:2"},{"eventCall":{"arguments":[{"hexValue":"204d61782044656c7461","id":2412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4705:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5","typeString":"literal_string \" Max Delta\""},"value":" Max Delta"},{"id":2413,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2379,"src":"4719:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2414,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2381,"src":"4729:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5","typeString":"literal_string \" Max Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2411,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"4682:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4682:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2416,"nodeType":"EmitStatement","src":"4677:61:2"},{"eventCall":{"arguments":[{"hexValue":"202020202044656c7461","id":2418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4780:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f","typeString":"literal_string \" Delta\""},"value":" Delta"},{"id":2419,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2385,"src":"4794:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2420,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2381,"src":"4801:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f","typeString":"literal_string \" Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2417,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"4757:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4757:53:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2422,"nodeType":"EmitStatement","src":"4752:58:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2423,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"4824:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4824:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2425,"nodeType":"ExpressionStatement","src":"4824:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"4289:24:2","parameters":{"id":2382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2375,"mutability":"mutable","name":"a","nameLocation":"4322:1:2","nodeType":"VariableDeclaration","scope":2429,"src":"4314:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2374,"name":"uint256","nodeType":"ElementaryTypeName","src":"4314:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2377,"mutability":"mutable","name":"b","nameLocation":"4333:1:2","nodeType":"VariableDeclaration","scope":2429,"src":"4325:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2376,"name":"uint256","nodeType":"ElementaryTypeName","src":"4325:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2379,"mutability":"mutable","name":"maxDelta","nameLocation":"4344:8:2","nodeType":"VariableDeclaration","scope":2429,"src":"4336:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2378,"name":"uint256","nodeType":"ElementaryTypeName","src":"4336:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2381,"mutability":"mutable","name":"decimals","nameLocation":"4362:8:2","nodeType":"VariableDeclaration","scope":2429,"src":"4354:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2380,"name":"uint256","nodeType":"ElementaryTypeName","src":"4354:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4313:58:2"},"returnParameters":{"id":2383,"nodeType":"ParameterList","parameters":[],"src":"4389:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2468,"nodeType":"FunctionDefinition","src":"4853:356:2","nodes":[],"body":{"id":2467,"nodeType":"Block","src":"5001:208:2","nodes":[],"statements":[{"assignments":[2443],"declarations":[{"constant":false,"id":2443,"mutability":"mutable","name":"delta","nameLocation":"5019:5:2","nodeType":"VariableDeclaration","scope":2467,"src":"5011:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2442,"name":"uint256","nodeType":"ElementaryTypeName","src":"5011:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2449,"initialValue":{"arguments":[{"id":2446,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2431,"src":"5041:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2447,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2433,"src":"5044:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2444,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"5027:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delta","nodeType":"MemberAccess","referencedDeclaration":7104,"src":"5027:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5027:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5011:35:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2450,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2443,"src":"5061:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2451,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2435,"src":"5069:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5061:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2466,"nodeType":"IfStatement","src":"5057:146:2","trueBody":{"id":2465,"nodeType":"Block","src":"5079:124:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5115:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2455,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2439,"src":"5124:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2453,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"5098:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5098:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2457,"nodeType":"EmitStatement","src":"5093:35:2"},{"expression":{"arguments":[{"id":2459,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2431,"src":"5167:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2460,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2433,"src":"5170:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2461,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2435,"src":"5173:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2462,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2437,"src":"5183: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"}],"id":2458,"name":"assertApproxEqAbsDecimal","nodeType":"Identifier","overloadedDeclarations":[2429,2468,2610,2649],"referencedDeclaration":2429,"src":"5142:24:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256)"}},"id":2463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5142:50:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2464,"nodeType":"ExpressionStatement","src":"5142:50:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"4862:24:2","parameters":{"id":2440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2431,"mutability":"mutable","name":"a","nameLocation":"4895:1:2","nodeType":"VariableDeclaration","scope":2468,"src":"4887:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2430,"name":"uint256","nodeType":"ElementaryTypeName","src":"4887:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2433,"mutability":"mutable","name":"b","nameLocation":"4906:1:2","nodeType":"VariableDeclaration","scope":2468,"src":"4898:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2432,"name":"uint256","nodeType":"ElementaryTypeName","src":"4898:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2435,"mutability":"mutable","name":"maxDelta","nameLocation":"4917:8:2","nodeType":"VariableDeclaration","scope":2468,"src":"4909:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2434,"name":"uint256","nodeType":"ElementaryTypeName","src":"4909:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2437,"mutability":"mutable","name":"decimals","nameLocation":"4935:8:2","nodeType":"VariableDeclaration","scope":2468,"src":"4927:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2436,"name":"uint256","nodeType":"ElementaryTypeName","src":"4927:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2439,"mutability":"mutable","name":"err","nameLocation":"4959:3:2","nodeType":"VariableDeclaration","scope":2468,"src":"4945:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2438,"name":"string","nodeType":"ElementaryTypeName","src":"4945:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4886:77:2"},"returnParameters":{"id":2441,"nodeType":"ParameterList","parameters":[],"src":"5001:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2518,"nodeType":"FunctionDefinition","src":"5215:467:2","nodes":[],"body":{"id":2517,"nodeType":"Block","src":"5297:385:2","nodes":[],"statements":[{"assignments":[2478],"declarations":[{"constant":false,"id":2478,"mutability":"mutable","name":"delta","nameLocation":"5315:5:2","nodeType":"VariableDeclaration","scope":2517,"src":"5307:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2477,"name":"uint256","nodeType":"ElementaryTypeName","src":"5307:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2484,"initialValue":{"arguments":[{"id":2481,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2470,"src":"5337:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2482,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2472,"src":"5340:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2479,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"5323:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delta","nodeType":"MemberAccess","referencedDeclaration":7140,"src":"5323:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":2483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5323:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5307:35:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2485,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2478,"src":"5357:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2486,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2474,"src":"5365:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5357:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2516,"nodeType":"IfStatement","src":"5353:323:2","trueBody":{"id":2515,"nodeType":"Block","src":"5375:301:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061207e3d2062206e6f7420736174697366696564205b696e745d","id":2489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5398:35:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d","typeString":"literal_string \"Error: a ~= b not satisfied [int]\""},"value":"Error: a ~= b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d","typeString":"literal_string \"Error: a ~= b not satisfied [int]\""}],"id":2488,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"5394:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5394:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2491,"nodeType":"EmitStatement","src":"5389:45:2"},{"eventCall":{"arguments":[{"hexValue":"202020202020204c656674","id":2493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5467:13:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d86233afabb8b3973e071db5489b096a3194445fead9d01245809171b4e3927","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2494,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2470,"src":"5482:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d86233afabb8b3973e071db5489b096a3194445fead9d01245809171b4e3927","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":2492,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"5453:13:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":2495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5453:31:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2496,"nodeType":"EmitStatement","src":"5448:36:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020205269676874","id":2498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5517:13:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_49df7c349e5ac2a2258473415d7a60c524ff5057a99dca9437d1a93b96f3739d","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2499,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2472,"src":"5532:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_49df7c349e5ac2a2258473415d7a60c524ff5057a99dca9437d1a93b96f3739d","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":2497,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"5503:13:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":2500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5503:31:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2501,"nodeType":"EmitStatement","src":"5498:36:2"},{"eventCall":{"arguments":[{"hexValue":"204d61782044656c7461","id":2503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5568:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5","typeString":"literal_string \" Max Delta\""},"value":" Max Delta"},{"id":2504,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2474,"src":"5582:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5","typeString":"literal_string \" Max Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2502,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"5553:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":2505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5553:38:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2506,"nodeType":"EmitStatement","src":"5548:43:2"},{"eventCall":{"arguments":[{"hexValue":"202020202044656c7461","id":2508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5625:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f","typeString":"literal_string \" Delta\""},"value":" Delta"},{"id":2509,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2478,"src":"5639:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f","typeString":"literal_string \" Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2507,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"5610:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":2510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5610:35:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2511,"nodeType":"EmitStatement","src":"5605:40:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2512,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"5659:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5659:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2514,"nodeType":"ExpressionStatement","src":"5659:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"5224:17:2","parameters":{"id":2475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2470,"mutability":"mutable","name":"a","nameLocation":"5249:1:2","nodeType":"VariableDeclaration","scope":2518,"src":"5242:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2469,"name":"int256","nodeType":"ElementaryTypeName","src":"5242:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2472,"mutability":"mutable","name":"b","nameLocation":"5259:1:2","nodeType":"VariableDeclaration","scope":2518,"src":"5252:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2471,"name":"int256","nodeType":"ElementaryTypeName","src":"5252:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2474,"mutability":"mutable","name":"maxDelta","nameLocation":"5270:8:2","nodeType":"VariableDeclaration","scope":2518,"src":"5262:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2473,"name":"uint256","nodeType":"ElementaryTypeName","src":"5262:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5241:38:2"},"returnParameters":{"id":2476,"nodeType":"ParameterList","parameters":[],"src":"5297:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2554,"nodeType":"FunctionDefinition","src":"5688:292:2","nodes":[],"body":{"id":2553,"nodeType":"Block","src":"5789:191:2","nodes":[],"statements":[{"assignments":[2530],"declarations":[{"constant":false,"id":2530,"mutability":"mutable","name":"delta","nameLocation":"5807:5:2","nodeType":"VariableDeclaration","scope":2553,"src":"5799:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2529,"name":"uint256","nodeType":"ElementaryTypeName","src":"5799:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2536,"initialValue":{"arguments":[{"id":2533,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2520,"src":"5829:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2534,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2522,"src":"5832:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2531,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"5815:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delta","nodeType":"MemberAccess","referencedDeclaration":7140,"src":"5815:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":2535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5815:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5799:35:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2537,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2530,"src":"5849:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2538,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2524,"src":"5857:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5849:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2552,"nodeType":"IfStatement","src":"5845:129:2","trueBody":{"id":2551,"nodeType":"Block","src":"5867:107:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5903:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2542,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2526,"src":"5912:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2540,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"5886:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5886:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2544,"nodeType":"EmitStatement","src":"5881:35:2"},{"expression":{"arguments":[{"id":2546,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2520,"src":"5948:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2547,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2522,"src":"5951:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2548,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2524,"src":"5954: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"}],"id":2545,"name":"assertApproxEqAbs","nodeType":"Identifier","overloadedDeclarations":[2337,2373,2518,2554],"referencedDeclaration":2518,"src":"5930:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":2549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5930:33:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2550,"nodeType":"ExpressionStatement","src":"5930:33:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"5697:17:2","parameters":{"id":2527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2520,"mutability":"mutable","name":"a","nameLocation":"5722:1:2","nodeType":"VariableDeclaration","scope":2554,"src":"5715:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2519,"name":"int256","nodeType":"ElementaryTypeName","src":"5715:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2522,"mutability":"mutable","name":"b","nameLocation":"5732:1:2","nodeType":"VariableDeclaration","scope":2554,"src":"5725:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2521,"name":"int256","nodeType":"ElementaryTypeName","src":"5725:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2524,"mutability":"mutable","name":"maxDelta","nameLocation":"5743:8:2","nodeType":"VariableDeclaration","scope":2554,"src":"5735:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2523,"name":"uint256","nodeType":"ElementaryTypeName","src":"5735:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2526,"mutability":"mutable","name":"err","nameLocation":"5767:3:2","nodeType":"VariableDeclaration","scope":2554,"src":"5753:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2525,"name":"string","nodeType":"ElementaryTypeName","src":"5753:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5714:57:2"},"returnParameters":{"id":2528,"nodeType":"ParameterList","parameters":[],"src":"5789:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2610,"nodeType":"FunctionDefinition","src":"5986:562:2","nodes":[],"body":{"id":2609,"nodeType":"Block","src":"6093:455:2","nodes":[],"statements":[{"assignments":[2566],"declarations":[{"constant":false,"id":2566,"mutability":"mutable","name":"delta","nameLocation":"6111:5:2","nodeType":"VariableDeclaration","scope":2609,"src":"6103:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2565,"name":"uint256","nodeType":"ElementaryTypeName","src":"6103:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2572,"initialValue":{"arguments":[{"id":2569,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2556,"src":"6133:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2570,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2558,"src":"6136:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2567,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"6119:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delta","nodeType":"MemberAccess","referencedDeclaration":7140,"src":"6119:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":2571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6119:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6103:35:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2573,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2566,"src":"6153:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2574,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2560,"src":"6161:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6153:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2608,"nodeType":"IfStatement","src":"6149:393:2","trueBody":{"id":2607,"nodeType":"Block","src":"6171:371:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061207e3d2062206e6f7420736174697366696564205b696e745d","id":2577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6194:35:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d","typeString":"literal_string \"Error: a ~= b not satisfied [int]\""},"value":"Error: a ~= b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d","typeString":"literal_string \"Error: a ~= b not satisfied [int]\""}],"id":2576,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"6190:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6190:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2579,"nodeType":"EmitStatement","src":"6185:45:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":2581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6271:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2582,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2556,"src":"6285:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2583,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2562,"src":"6288:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2580,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"6249:21:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":2584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6249:48:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2585,"nodeType":"EmitStatement","src":"6244:53:2"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":2587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6338:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2588,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2558,"src":"6352:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2589,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2562,"src":"6355:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2586,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"6316:21:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":2590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6316:48:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2591,"nodeType":"EmitStatement","src":"6311:53:2"},{"eventCall":{"arguments":[{"hexValue":"204d61782044656c7461","id":2593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6406:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5","typeString":"literal_string \" Max Delta\""},"value":" Max Delta"},{"id":2594,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2560,"src":"6420:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2595,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2562,"src":"6430:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cd2884c74a25327f5cafe8471ed73da28ba1991b65dde72feb1cd4f78f5dc2a5","typeString":"literal_string \" Max Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2592,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"6383:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6383:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2597,"nodeType":"EmitStatement","src":"6378:61:2"},{"eventCall":{"arguments":[{"hexValue":"202020202044656c7461","id":2599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6481:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f","typeString":"literal_string \" Delta\""},"value":" Delta"},{"id":2600,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2566,"src":"6495:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2601,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2562,"src":"6502:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_39d8d5e74991bbc141eb1ca770e60e69523d5c43706b72685708d217b293c55f","typeString":"literal_string \" Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2598,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"6458:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6458:53:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2603,"nodeType":"EmitStatement","src":"6453:58:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2604,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"6525:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6525:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2606,"nodeType":"ExpressionStatement","src":"6525:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"5995:24:2","parameters":{"id":2563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2556,"mutability":"mutable","name":"a","nameLocation":"6027:1:2","nodeType":"VariableDeclaration","scope":2610,"src":"6020:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2555,"name":"int256","nodeType":"ElementaryTypeName","src":"6020:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2558,"mutability":"mutable","name":"b","nameLocation":"6037:1:2","nodeType":"VariableDeclaration","scope":2610,"src":"6030:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2557,"name":"int256","nodeType":"ElementaryTypeName","src":"6030:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2560,"mutability":"mutable","name":"maxDelta","nameLocation":"6048:8:2","nodeType":"VariableDeclaration","scope":2610,"src":"6040:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2559,"name":"uint256","nodeType":"ElementaryTypeName","src":"6040:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2562,"mutability":"mutable","name":"decimals","nameLocation":"6066:8:2","nodeType":"VariableDeclaration","scope":2610,"src":"6058:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2561,"name":"uint256","nodeType":"ElementaryTypeName","src":"6058:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6019:56:2"},"returnParameters":{"id":2564,"nodeType":"ParameterList","parameters":[],"src":"6093:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2649,"nodeType":"FunctionDefinition","src":"6554:354:2","nodes":[],"body":{"id":2648,"nodeType":"Block","src":"6700:208:2","nodes":[],"statements":[{"assignments":[2624],"declarations":[{"constant":false,"id":2624,"mutability":"mutable","name":"delta","nameLocation":"6718:5:2","nodeType":"VariableDeclaration","scope":2648,"src":"6710:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2623,"name":"uint256","nodeType":"ElementaryTypeName","src":"6710:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2630,"initialValue":{"arguments":[{"id":2627,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2612,"src":"6740:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2628,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2614,"src":"6743:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2625,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"6726:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delta","nodeType":"MemberAccess","referencedDeclaration":7140,"src":"6726:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":2629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6726:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6710:35:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2631,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2624,"src":"6760:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2632,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2616,"src":"6768:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6760:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2647,"nodeType":"IfStatement","src":"6756:146:2","trueBody":{"id":2646,"nodeType":"Block","src":"6778:124:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6814:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2636,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2620,"src":"6823:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2634,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"6797:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6797:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2638,"nodeType":"EmitStatement","src":"6792:35:2"},{"expression":{"arguments":[{"id":2640,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2612,"src":"6866:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2641,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2614,"src":"6869:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2642,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2616,"src":"6872:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2643,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2618,"src":"6882: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"}],"id":2639,"name":"assertApproxEqAbsDecimal","nodeType":"Identifier","overloadedDeclarations":[2429,2468,2610,2649],"referencedDeclaration":2610,"src":"6841:24:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256,uint256)"}},"id":2644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6841:50:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2645,"nodeType":"ExpressionStatement","src":"6841:50:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"6563:24:2","parameters":{"id":2621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2612,"mutability":"mutable","name":"a","nameLocation":"6595:1:2","nodeType":"VariableDeclaration","scope":2649,"src":"6588:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2611,"name":"int256","nodeType":"ElementaryTypeName","src":"6588:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2614,"mutability":"mutable","name":"b","nameLocation":"6605:1:2","nodeType":"VariableDeclaration","scope":2649,"src":"6598:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2613,"name":"int256","nodeType":"ElementaryTypeName","src":"6598:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2616,"mutability":"mutable","name":"maxDelta","nameLocation":"6616:8:2","nodeType":"VariableDeclaration","scope":2649,"src":"6608:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2615,"name":"uint256","nodeType":"ElementaryTypeName","src":"6608:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2618,"mutability":"mutable","name":"decimals","nameLocation":"6634:8:2","nodeType":"VariableDeclaration","scope":2649,"src":"6626:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2617,"name":"uint256","nodeType":"ElementaryTypeName","src":"6626:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2620,"mutability":"mutable","name":"err","nameLocation":"6658:3:2","nodeType":"VariableDeclaration","scope":2649,"src":"6644:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2619,"name":"string","nodeType":"ElementaryTypeName","src":"6644:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6587:75:2"},"returnParameters":{"id":2622,"nodeType":"ParameterList","parameters":[],"src":"6700:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2710,"nodeType":"FunctionDefinition","src":"6914:721:2","nodes":[],"body":{"id":2709,"nodeType":"Block","src":"7091:544:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2658,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2653,"src":"7105:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7110:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7105:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2666,"nodeType":"IfStatement","src":"7101:33:2","trueBody":{"expression":{"arguments":[{"id":2662,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2651,"src":"7129:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2663,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2653,"src":"7132:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2661,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"7120:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":2664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7120:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":2657,"id":2665,"nodeType":"Return","src":"7113:21:2"}},{"assignments":[2668],"declarations":[{"constant":false,"id":2668,"mutability":"mutable","name":"percentDelta","nameLocation":"7193:12:2","nodeType":"VariableDeclaration","scope":2709,"src":"7185:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2667,"name":"uint256","nodeType":"ElementaryTypeName","src":"7185:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2674,"initialValue":{"arguments":[{"id":2671,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2651,"src":"7229:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2672,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2653,"src":"7232:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2669,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"7208:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"percentDelta","nodeType":"MemberAccess","referencedDeclaration":7163,"src":"7208:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7208:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7185:49:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2675,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2668,"src":"7249:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2676,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2655,"src":"7264:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7249:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2708,"nodeType":"IfStatement","src":"7245:384:2","trueBody":{"id":2707,"nodeType":"Block","src":"7281:348:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061207e3d2062206e6f7420736174697366696564205b75696e745d","id":2679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7304:36:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe","typeString":"literal_string \"Error: a ~= b not satisfied [uint]\""},"value":"Error: a ~= b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe","typeString":"literal_string \"Error: a ~= b not satisfied [uint]\""}],"id":2678,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"7300:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7300:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2681,"nodeType":"EmitStatement","src":"7295:46:2"},{"eventCall":{"arguments":[{"hexValue":"20202020202020204c656674","id":2683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7375:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f6217da0e9e1e8e3afbc25e930358ad2d4e2a699b783f5770a33f4ed6b592df8","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2684,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2651,"src":"7391:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f6217da0e9e1e8e3afbc25e930358ad2d4e2a699b783f5770a33f4ed6b592df8","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2682,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"7360:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":2685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7360:33:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2686,"nodeType":"EmitStatement","src":"7355:38:2"},{"eventCall":{"arguments":[{"hexValue":"202020202020205269676874","id":2688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7427:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_d9b31153d6e7e750f2f69f035ad70ea4ecc1e34ecdfd4456407493e5f00fcc1d","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2689,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2653,"src":"7443:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d9b31153d6e7e750f2f69f035ad70ea4ecc1e34ecdfd4456407493e5f00fcc1d","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2687,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73,"src":"7412:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":2690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7412:33:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2691,"nodeType":"EmitStatement","src":"7407:38:2"},{"eventCall":{"arguments":[{"hexValue":"204d617820252044656c7461","id":2693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7487:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d","typeString":"literal_string \" Max % Delta\""},"value":" Max % Delta"},{"id":2694,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2655,"src":"7503:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3138","id":2695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7520:2:2","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d","typeString":"literal_string \" Max % Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":2692,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"7464:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7464:59:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2697,"nodeType":"EmitStatement","src":"7459:64:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020252044656c7461","id":2699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7565:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7","typeString":"literal_string \" % Delta\""},"value":" % Delta"},{"id":2700,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2668,"src":"7581:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3138","id":2701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7595:2:2","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7","typeString":"literal_string \" % Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":2698,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"7542:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7542:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2703,"nodeType":"EmitStatement","src":"7537:61:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2704,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"7612:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7612:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2706,"nodeType":"ExpressionStatement","src":"7612:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"6923:17:2","parameters":{"id":2656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2651,"mutability":"mutable","name":"a","nameLocation":"6958:1:2","nodeType":"VariableDeclaration","scope":2710,"src":"6950:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2650,"name":"uint256","nodeType":"ElementaryTypeName","src":"6950:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2653,"mutability":"mutable","name":"b","nameLocation":"6977:1:2","nodeType":"VariableDeclaration","scope":2710,"src":"6969:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2652,"name":"uint256","nodeType":"ElementaryTypeName","src":"6969:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2655,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"6996:15:2","nodeType":"VariableDeclaration","scope":2710,"src":"6988:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2654,"name":"uint256","nodeType":"ElementaryTypeName","src":"6988:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6940:133:2"},"returnParameters":{"id":2657,"nodeType":"ParameterList","parameters":[],"src":"7091:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2756,"nodeType":"FunctionDefinition","src":"7641:519:2","nodes":[],"body":{"id":2755,"nodeType":"Block","src":"7845:315:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2721,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2714,"src":"7859:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7864:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7859:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2730,"nodeType":"IfStatement","src":"7855:38:2","trueBody":{"expression":{"arguments":[{"id":2725,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2712,"src":"7883:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2726,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2714,"src":"7886:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2727,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2718,"src":"7889: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"}],"id":2724,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":539,"src":"7874:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":2728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7874:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":2720,"id":2729,"nodeType":"Return","src":"7867:26:2"}},{"assignments":[2732],"declarations":[{"constant":false,"id":2732,"mutability":"mutable","name":"percentDelta","nameLocation":"7952:12:2","nodeType":"VariableDeclaration","scope":2755,"src":"7944:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2731,"name":"uint256","nodeType":"ElementaryTypeName","src":"7944:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2738,"initialValue":{"arguments":[{"id":2735,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2712,"src":"7988:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2736,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2714,"src":"7991:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2733,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"7967:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"percentDelta","nodeType":"MemberAccess","referencedDeclaration":7163,"src":"7967:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7967:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7944:49:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2739,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2732,"src":"8008:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2740,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2716,"src":"8023:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8008:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2754,"nodeType":"IfStatement","src":"8004:150:2","trueBody":{"id":2753,"nodeType":"Block","src":"8040:114:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8076:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2744,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2718,"src":"8085:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2742,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"8059:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8059:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2746,"nodeType":"EmitStatement","src":"8054:35:2"},{"expression":{"arguments":[{"id":2748,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2712,"src":"8121:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2749,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2714,"src":"8124:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2750,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2716,"src":"8127: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"}],"id":2747,"name":"assertApproxEqRel","nodeType":"Identifier","overloadedDeclarations":[2710,2756,2931,2977],"referencedDeclaration":2710,"src":"8103:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":2751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8103:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2752,"nodeType":"ExpressionStatement","src":"8103:40:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"7650:17:2","parameters":{"id":2719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2712,"mutability":"mutable","name":"a","nameLocation":"7685:1:2","nodeType":"VariableDeclaration","scope":2756,"src":"7677:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2711,"name":"uint256","nodeType":"ElementaryTypeName","src":"7677:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2714,"mutability":"mutable","name":"b","nameLocation":"7704:1:2","nodeType":"VariableDeclaration","scope":2756,"src":"7696:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2713,"name":"uint256","nodeType":"ElementaryTypeName","src":"7696:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2716,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"7723:15:2","nodeType":"VariableDeclaration","scope":2756,"src":"7715:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2715,"name":"uint256","nodeType":"ElementaryTypeName","src":"7715:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2718,"mutability":"mutable","name":"err","nameLocation":"7818:3:2","nodeType":"VariableDeclaration","scope":2756,"src":"7804:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2717,"name":"string","nodeType":"ElementaryTypeName","src":"7804:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7667:160:2"},"returnParameters":{"id":2720,"nodeType":"ParameterList","parameters":[],"src":"7845:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2821,"nodeType":"FunctionDefinition","src":"8166:790:2","nodes":[],"body":{"id":2820,"nodeType":"Block","src":"8376:580:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2767,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2760,"src":"8390:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8395:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8390:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2775,"nodeType":"IfStatement","src":"8386:33:2","trueBody":{"expression":{"arguments":[{"id":2771,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2758,"src":"8414:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2772,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2760,"src":"8417:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2770,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"8405:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":2773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8405:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":2766,"id":2774,"nodeType":"Return","src":"8398:21:2"}},{"assignments":[2777],"declarations":[{"constant":false,"id":2777,"mutability":"mutable","name":"percentDelta","nameLocation":"8478:12:2","nodeType":"VariableDeclaration","scope":2820,"src":"8470:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2776,"name":"uint256","nodeType":"ElementaryTypeName","src":"8470:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2783,"initialValue":{"arguments":[{"id":2780,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2758,"src":"8514:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2781,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2760,"src":"8517:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2778,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"8493:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"percentDelta","nodeType":"MemberAccess","referencedDeclaration":7163,"src":"8493:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8493:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8470:49:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2784,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2777,"src":"8534:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2785,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2762,"src":"8549:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8534:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2819,"nodeType":"IfStatement","src":"8530:420:2","trueBody":{"id":2818,"nodeType":"Block","src":"8566:384:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061207e3d2062206e6f7420736174697366696564205b75696e745d","id":2788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8589:36:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe","typeString":"literal_string \"Error: a ~= b not satisfied [uint]\""},"value":"Error: a ~= b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b3cfa1421f120a399b6064fcc8d5188a4e28bcc717972b37d8e8a5e5cc07c7fe","typeString":"literal_string \"Error: a ~= b not satisfied [uint]\""}],"id":2787,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"8585:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8585:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2790,"nodeType":"EmitStatement","src":"8580:46:2"},{"eventCall":{"arguments":[{"hexValue":"20202020202020204c656674","id":2792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8668:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f6217da0e9e1e8e3afbc25e930358ad2d4e2a699b783f5770a33f4ed6b592df8","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2793,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2758,"src":"8684:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2794,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2764,"src":"8687:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f6217da0e9e1e8e3afbc25e930358ad2d4e2a699b783f5770a33f4ed6b592df8","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2791,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"8645:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8645:51:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2796,"nodeType":"EmitStatement","src":"8640:56:2"},{"eventCall":{"arguments":[{"hexValue":"202020202020205269676874","id":2798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8738:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_d9b31153d6e7e750f2f69f035ad70ea4ecc1e34ecdfd4456407493e5f00fcc1d","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2799,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2760,"src":"8754:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2800,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2764,"src":"8757:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d9b31153d6e7e750f2f69f035ad70ea4ecc1e34ecdfd4456407493e5f00fcc1d","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2797,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"8715:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8715:51:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2802,"nodeType":"EmitStatement","src":"8710:56:2"},{"eventCall":{"arguments":[{"hexValue":"204d617820252044656c7461","id":2804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8808:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d","typeString":"literal_string \" Max % Delta\""},"value":" Max % Delta"},{"id":2805,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2762,"src":"8824:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3138","id":2806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8841:2:2","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d","typeString":"literal_string \" Max % Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":2803,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"8785:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8785:59:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2808,"nodeType":"EmitStatement","src":"8780:64:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020252044656c7461","id":2810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8886:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7","typeString":"literal_string \" % Delta\""},"value":" % Delta"},{"id":2811,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2777,"src":"8902:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3138","id":2812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8916:2:2","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7","typeString":"literal_string \" % Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":2809,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"8863:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8863:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2814,"nodeType":"EmitStatement","src":"8858:61:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2815,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"8933:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8933:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2817,"nodeType":"ExpressionStatement","src":"8933:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"8175:24:2","parameters":{"id":2765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2758,"mutability":"mutable","name":"a","nameLocation":"8217:1:2","nodeType":"VariableDeclaration","scope":2821,"src":"8209:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2757,"name":"uint256","nodeType":"ElementaryTypeName","src":"8209:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2760,"mutability":"mutable","name":"b","nameLocation":"8236:1:2","nodeType":"VariableDeclaration","scope":2821,"src":"8228:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2759,"name":"uint256","nodeType":"ElementaryTypeName","src":"8228:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2762,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"8255:15:2","nodeType":"VariableDeclaration","scope":2821,"src":"8247:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2761,"name":"uint256","nodeType":"ElementaryTypeName","src":"8247:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2764,"mutability":"mutable","name":"decimals","nameLocation":"8344:8:2","nodeType":"VariableDeclaration","scope":2821,"src":"8336:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2763,"name":"uint256","nodeType":"ElementaryTypeName","src":"8336:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8199:159:2"},"returnParameters":{"id":2766,"nodeType":"ParameterList","parameters":[],"src":"8376:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2870,"nodeType":"FunctionDefinition","src":"8962:569:2","nodes":[],"body":{"id":2869,"nodeType":"Block","src":"9199:332:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2834,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2825,"src":"9213:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9218:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9213:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2843,"nodeType":"IfStatement","src":"9209:38:2","trueBody":{"expression":{"arguments":[{"id":2838,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2823,"src":"9237:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2839,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2825,"src":"9240:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2840,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2831,"src":"9243: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"}],"id":2837,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":539,"src":"9228:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":2841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9228:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":2833,"id":2842,"nodeType":"Return","src":"9221:26:2"}},{"assignments":[2845],"declarations":[{"constant":false,"id":2845,"mutability":"mutable","name":"percentDelta","nameLocation":"9306:12:2","nodeType":"VariableDeclaration","scope":2869,"src":"9298:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2844,"name":"uint256","nodeType":"ElementaryTypeName","src":"9298:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2851,"initialValue":{"arguments":[{"id":2848,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2823,"src":"9342:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2849,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2825,"src":"9345:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2846,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"9321:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"percentDelta","nodeType":"MemberAccess","referencedDeclaration":7163,"src":"9321:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":2850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9321:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9298:49:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2852,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2845,"src":"9362:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2853,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2827,"src":"9377:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9362:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2868,"nodeType":"IfStatement","src":"9358:167:2","trueBody":{"id":2867,"nodeType":"Block","src":"9394:131:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9430:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2857,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2831,"src":"9439:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2855,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"9413:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9413:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2859,"nodeType":"EmitStatement","src":"9408:35:2"},{"expression":{"arguments":[{"id":2861,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2823,"src":"9482:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2862,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2825,"src":"9485:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2863,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2827,"src":"9488:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2864,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2829,"src":"9505: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"}],"id":2860,"name":"assertApproxEqRelDecimal","nodeType":"Identifier","overloadedDeclarations":[2821,2870,3042,3091],"referencedDeclaration":2821,"src":"9457:24:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256)"}},"id":2865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9457:57:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2866,"nodeType":"ExpressionStatement","src":"9457:57:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"8971:24:2","parameters":{"id":2832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2823,"mutability":"mutable","name":"a","nameLocation":"9013:1:2","nodeType":"VariableDeclaration","scope":2870,"src":"9005:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2822,"name":"uint256","nodeType":"ElementaryTypeName","src":"9005:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2825,"mutability":"mutable","name":"b","nameLocation":"9032:1:2","nodeType":"VariableDeclaration","scope":2870,"src":"9024:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2824,"name":"uint256","nodeType":"ElementaryTypeName","src":"9024:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2827,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"9051:15:2","nodeType":"VariableDeclaration","scope":2870,"src":"9043:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2826,"name":"uint256","nodeType":"ElementaryTypeName","src":"9043:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2829,"mutability":"mutable","name":"decimals","nameLocation":"9140:8:2","nodeType":"VariableDeclaration","scope":2870,"src":"9132:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2828,"name":"uint256","nodeType":"ElementaryTypeName","src":"9132:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2831,"mutability":"mutable","name":"err","nameLocation":"9172:3:2","nodeType":"VariableDeclaration","scope":2870,"src":"9158:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2830,"name":"string","nodeType":"ElementaryTypeName","src":"9158:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8995:186:2"},"returnParameters":{"id":2833,"nodeType":"ParameterList","parameters":[],"src":"9199:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2931,"nodeType":"FunctionDefinition","src":"9537:630:2","nodes":[],"body":{"id":2930,"nodeType":"Block","src":"9626:541:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2879,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2874,"src":"9640:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9645:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9640:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2887,"nodeType":"IfStatement","src":"9636:33:2","trueBody":{"expression":{"arguments":[{"id":2883,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2872,"src":"9664:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2884,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2874,"src":"9667:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":2882,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":459,"src":"9655:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":2885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9655:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":2878,"id":2886,"nodeType":"Return","src":"9648:21:2"}},{"assignments":[2889],"declarations":[{"constant":false,"id":2889,"mutability":"mutable","name":"percentDelta","nameLocation":"9728:12:2","nodeType":"VariableDeclaration","scope":2930,"src":"9720:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2888,"name":"uint256","nodeType":"ElementaryTypeName","src":"9720:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2895,"initialValue":{"arguments":[{"id":2892,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2872,"src":"9764:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2893,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2874,"src":"9767:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2890,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"9743:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"percentDelta","nodeType":"MemberAccess","referencedDeclaration":7192,"src":"9743:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":2894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9743:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9720:49:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2896,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2889,"src":"9784:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2897,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2876,"src":"9799:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9784:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2929,"nodeType":"IfStatement","src":"9780:381:2","trueBody":{"id":2928,"nodeType":"Block","src":"9816:345:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061207e3d2062206e6f7420736174697366696564205b696e745d","id":2900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9839:35:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d","typeString":"literal_string \"Error: a ~= b not satisfied [int]\""},"value":"Error: a ~= b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d","typeString":"literal_string \"Error: a ~= b not satisfied [int]\""}],"id":2899,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"9835:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":2901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9835:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2902,"nodeType":"EmitStatement","src":"9830:45:2"},{"eventCall":{"arguments":[{"hexValue":"20202020202020204c656674","id":2904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9908:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f6217da0e9e1e8e3afbc25e930358ad2d4e2a699b783f5770a33f4ed6b592df8","typeString":"literal_string \" Left\""},"value":" Left"},{"id":2905,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2872,"src":"9924:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f6217da0e9e1e8e3afbc25e930358ad2d4e2a699b783f5770a33f4ed6b592df8","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":2903,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"9894:13:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":2906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9894:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2907,"nodeType":"EmitStatement","src":"9889:37:2"},{"eventCall":{"arguments":[{"hexValue":"202020202020205269676874","id":2909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9959:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_d9b31153d6e7e750f2f69f035ad70ea4ecc1e34ecdfd4456407493e5f00fcc1d","typeString":"literal_string \" Right\""},"value":" Right"},{"id":2910,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2874,"src":"9975:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d9b31153d6e7e750f2f69f035ad70ea4ecc1e34ecdfd4456407493e5f00fcc1d","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":2908,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"9945:13:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":2911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9945:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2912,"nodeType":"EmitStatement","src":"9940:37:2"},{"eventCall":{"arguments":[{"hexValue":"204d617820252044656c7461","id":2914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10019:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d","typeString":"literal_string \" Max % Delta\""},"value":" Max % Delta"},{"id":2915,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2876,"src":"10035:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3138","id":2916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10052:2:2","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d","typeString":"literal_string \" Max % Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":2913,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"9996:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9996:59:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2918,"nodeType":"EmitStatement","src":"9991:64:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020252044656c7461","id":2920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10097:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7","typeString":"literal_string \" % Delta\""},"value":" % Delta"},{"id":2921,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2889,"src":"10113:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3138","id":2922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10127:2:2","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7","typeString":"literal_string \" % Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":2919,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"10074:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":2923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10074:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2924,"nodeType":"EmitStatement","src":"10069:61:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2925,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"10144:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10144:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2927,"nodeType":"ExpressionStatement","src":"10144:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"9546:17:2","parameters":{"id":2877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2872,"mutability":"mutable","name":"a","nameLocation":"9571:1:2","nodeType":"VariableDeclaration","scope":2931,"src":"9564:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2871,"name":"int256","nodeType":"ElementaryTypeName","src":"9564:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2874,"mutability":"mutable","name":"b","nameLocation":"9581:1:2","nodeType":"VariableDeclaration","scope":2931,"src":"9574:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2873,"name":"int256","nodeType":"ElementaryTypeName","src":"9574:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2876,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"9592:15:2","nodeType":"VariableDeclaration","scope":2931,"src":"9584:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2875,"name":"uint256","nodeType":"ElementaryTypeName","src":"9584:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9563:45:2"},"returnParameters":{"id":2878,"nodeType":"ParameterList","parameters":[],"src":"9626:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2977,"nodeType":"FunctionDefinition","src":"10173:423:2","nodes":[],"body":{"id":2976,"nodeType":"Block","src":"10281:315:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2942,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2935,"src":"10295:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10300:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10295:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2951,"nodeType":"IfStatement","src":"10291:38:2","trueBody":{"expression":{"arguments":[{"id":2946,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2933,"src":"10319:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2947,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2935,"src":"10322:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2948,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2939,"src":"10325: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"}],"id":2945,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":484,"src":"10310:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":2949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10310:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":2941,"id":2950,"nodeType":"Return","src":"10303:26:2"}},{"assignments":[2953],"declarations":[{"constant":false,"id":2953,"mutability":"mutable","name":"percentDelta","nameLocation":"10388:12:2","nodeType":"VariableDeclaration","scope":2976,"src":"10380:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2952,"name":"uint256","nodeType":"ElementaryTypeName","src":"10380:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2959,"initialValue":{"arguments":[{"id":2956,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2933,"src":"10424:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2957,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2935,"src":"10427:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2954,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"10403:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":2955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"percentDelta","nodeType":"MemberAccess","referencedDeclaration":7192,"src":"10403:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":2958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10403:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10380:49:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2960,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2953,"src":"10444:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2961,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2937,"src":"10459:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10444:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2975,"nodeType":"IfStatement","src":"10440:150:2","trueBody":{"id":2974,"nodeType":"Block","src":"10476:114:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":2964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10512:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":2965,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2939,"src":"10521:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2963,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"10495:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":2966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10495:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2967,"nodeType":"EmitStatement","src":"10490:35:2"},{"expression":{"arguments":[{"id":2969,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2933,"src":"10557:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2970,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2935,"src":"10560:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2971,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2937,"src":"10563: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"}],"id":2968,"name":"assertApproxEqRel","nodeType":"Identifier","overloadedDeclarations":[2710,2756,2931,2977],"referencedDeclaration":2931,"src":"10539:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":2972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10539:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2973,"nodeType":"ExpressionStatement","src":"10539:40:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"10182:17:2","parameters":{"id":2940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2933,"mutability":"mutable","name":"a","nameLocation":"10207:1:2","nodeType":"VariableDeclaration","scope":2977,"src":"10200:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2932,"name":"int256","nodeType":"ElementaryTypeName","src":"10200:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2935,"mutability":"mutable","name":"b","nameLocation":"10217:1:2","nodeType":"VariableDeclaration","scope":2977,"src":"10210:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2934,"name":"int256","nodeType":"ElementaryTypeName","src":"10210:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2937,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"10228:15:2","nodeType":"VariableDeclaration","scope":2977,"src":"10220:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2936,"name":"uint256","nodeType":"ElementaryTypeName","src":"10220:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2939,"mutability":"mutable","name":"err","nameLocation":"10259:3:2","nodeType":"VariableDeclaration","scope":2977,"src":"10245:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2938,"name":"string","nodeType":"ElementaryTypeName","src":"10245:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10199:64:2"},"returnParameters":{"id":2941,"nodeType":"ParameterList","parameters":[],"src":"10281:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3042,"nodeType":"FunctionDefinition","src":"10602:691:2","nodes":[],"body":{"id":3041,"nodeType":"Block","src":"10716:577:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2988,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2981,"src":"10730:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10735:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10730:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2996,"nodeType":"IfStatement","src":"10726:33:2","trueBody":{"expression":{"arguments":[{"id":2992,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2979,"src":"10754:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2993,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2981,"src":"10757:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":2991,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":459,"src":"10745:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":2994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10745:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":2987,"id":2995,"nodeType":"Return","src":"10738:21:2"}},{"assignments":[2998],"declarations":[{"constant":false,"id":2998,"mutability":"mutable","name":"percentDelta","nameLocation":"10818:12:2","nodeType":"VariableDeclaration","scope":3041,"src":"10810:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2997,"name":"uint256","nodeType":"ElementaryTypeName","src":"10810:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3004,"initialValue":{"arguments":[{"id":3001,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2979,"src":"10854:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3002,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2981,"src":"10857:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2999,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"10833:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":3000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"percentDelta","nodeType":"MemberAccess","referencedDeclaration":7192,"src":"10833:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":3003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10833:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10810:49:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3005,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2998,"src":"10874:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":3006,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2983,"src":"10889:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10874:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3040,"nodeType":"IfStatement","src":"10870:417:2","trueBody":{"id":3039,"nodeType":"Block","src":"10906:381:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061207e3d2062206e6f7420736174697366696564205b696e745d","id":3009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10929:35:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d","typeString":"literal_string \"Error: a ~= b not satisfied [int]\""},"value":"Error: a ~= b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_11d61c8cdd58caffa5994831eb66eb6db7a7b4d13b2c9d187ffbe992d75f810d","typeString":"literal_string \"Error: a ~= b not satisfied [int]\""}],"id":3008,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"10925:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":3010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10925:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3011,"nodeType":"EmitStatement","src":"10920:45:2"},{"eventCall":{"arguments":[{"hexValue":"20202020202020204c656674","id":3013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11006:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_f6217da0e9e1e8e3afbc25e930358ad2d4e2a699b783f5770a33f4ed6b592df8","typeString":"literal_string \" Left\""},"value":" Left"},{"id":3014,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2979,"src":"11022:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3015,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2985,"src":"11025:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f6217da0e9e1e8e3afbc25e930358ad2d4e2a699b783f5770a33f4ed6b592df8","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3012,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"10984:21:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":3016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10984:50:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3017,"nodeType":"EmitStatement","src":"10979:55:2"},{"eventCall":{"arguments":[{"hexValue":"202020202020205269676874","id":3019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11075:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_d9b31153d6e7e750f2f69f035ad70ea4ecc1e34ecdfd4456407493e5f00fcc1d","typeString":"literal_string \" Right\""},"value":" Right"},{"id":3020,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2981,"src":"11091:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3021,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2985,"src":"11094:8:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d9b31153d6e7e750f2f69f035ad70ea4ecc1e34ecdfd4456407493e5f00fcc1d","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3018,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"11053:21:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":3022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11053:50:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3023,"nodeType":"EmitStatement","src":"11048:55:2"},{"eventCall":{"arguments":[{"hexValue":"204d617820252044656c7461","id":3025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11145:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d","typeString":"literal_string \" Max % Delta\""},"value":" Max % Delta"},{"id":3026,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2983,"src":"11161:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3138","id":3027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11178:2:2","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_476fe8c6eb42275e4a879ea3f97d4c8aa2f38a65ce8511d323ad7a22579f732d","typeString":"literal_string \" Max % Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":3024,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"11122:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":3028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11122:59:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3029,"nodeType":"EmitStatement","src":"11117:64:2"},{"eventCall":{"arguments":[{"hexValue":"2020202020252044656c7461","id":3031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11223:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7","typeString":"literal_string \" % Delta\""},"value":" % Delta"},{"id":3032,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2998,"src":"11239:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"3138","id":3033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11253:2:2","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a4ade1e1607945ca481fbcd7c0ca5baa7e21e413316ae3997404f04177b03d7","typeString":"literal_string \" % Delta\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"id":3030,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"11200:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":3034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11200:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3035,"nodeType":"EmitStatement","src":"11195:61:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3036,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"11270:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11270:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3038,"nodeType":"ExpressionStatement","src":"11270:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"10611:24:2","parameters":{"id":2986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2979,"mutability":"mutable","name":"a","nameLocation":"10643:1:2","nodeType":"VariableDeclaration","scope":3042,"src":"10636:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2978,"name":"int256","nodeType":"ElementaryTypeName","src":"10636:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2981,"mutability":"mutable","name":"b","nameLocation":"10653:1:2","nodeType":"VariableDeclaration","scope":3042,"src":"10646:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2980,"name":"int256","nodeType":"ElementaryTypeName","src":"10646:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2983,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"10664:15:2","nodeType":"VariableDeclaration","scope":3042,"src":"10656:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2982,"name":"uint256","nodeType":"ElementaryTypeName","src":"10656:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2985,"mutability":"mutable","name":"decimals","nameLocation":"10689:8:2","nodeType":"VariableDeclaration","scope":3042,"src":"10681:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2984,"name":"uint256","nodeType":"ElementaryTypeName","src":"10681:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10635:63:2"},"returnParameters":{"id":2987,"nodeType":"ParameterList","parameters":[],"src":"10716:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3091,"nodeType":"FunctionDefinition","src":"11299:485:2","nodes":[],"body":{"id":3090,"nodeType":"Block","src":"11452:332:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":3057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3055,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3046,"src":"11466:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11471:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11466:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3064,"nodeType":"IfStatement","src":"11462:38:2","trueBody":{"expression":{"arguments":[{"id":3059,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3044,"src":"11490:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3060,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3046,"src":"11493:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3061,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3052,"src":"11496: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"}],"id":3058,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":484,"src":"11481:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":3062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11481:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":3054,"id":3063,"nodeType":"Return","src":"11474:26:2"}},{"assignments":[3066],"declarations":[{"constant":false,"id":3066,"mutability":"mutable","name":"percentDelta","nameLocation":"11559:12:2","nodeType":"VariableDeclaration","scope":3090,"src":"11551:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3065,"name":"uint256","nodeType":"ElementaryTypeName","src":"11551:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3072,"initialValue":{"arguments":[{"id":3069,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3044,"src":"11595:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3070,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3046,"src":"11598:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":3067,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"11574:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"id":3068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"percentDelta","nodeType":"MemberAccess","referencedDeclaration":7192,"src":"11574:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":3071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11574:26:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11551:49:2"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3073,"name":"percentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3066,"src":"11615:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":3074,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3048,"src":"11630:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11615:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3089,"nodeType":"IfStatement","src":"11611:167:2","trueBody":{"id":3088,"nodeType":"Block","src":"11647:131:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":3077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11683:7:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":3078,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3052,"src":"11692:3:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3076,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"11666:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":3079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11666:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3080,"nodeType":"EmitStatement","src":"11661:35:2"},{"expression":{"arguments":[{"id":3082,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3044,"src":"11735:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3083,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3046,"src":"11738:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3084,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3048,"src":"11741:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3085,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3050,"src":"11758: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"}],"id":3081,"name":"assertApproxEqRelDecimal","nodeType":"Identifier","overloadedDeclarations":[2821,2870,3042,3091],"referencedDeclaration":3042,"src":"11710:24:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256,uint256)"}},"id":3086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11710:57:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3087,"nodeType":"ExpressionStatement","src":"11710:57:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"11308:24:2","parameters":{"id":3053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3044,"mutability":"mutable","name":"a","nameLocation":"11340:1:2","nodeType":"VariableDeclaration","scope":3091,"src":"11333:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3043,"name":"int256","nodeType":"ElementaryTypeName","src":"11333:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3046,"mutability":"mutable","name":"b","nameLocation":"11350:1:2","nodeType":"VariableDeclaration","scope":3091,"src":"11343:8:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3045,"name":"int256","nodeType":"ElementaryTypeName","src":"11343:6:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3048,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"11361:15:2","nodeType":"VariableDeclaration","scope":3091,"src":"11353:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3047,"name":"uint256","nodeType":"ElementaryTypeName","src":"11353:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3050,"mutability":"mutable","name":"decimals","nameLocation":"11386:8:2","nodeType":"VariableDeclaration","scope":3091,"src":"11378:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3049,"name":"uint256","nodeType":"ElementaryTypeName","src":"11378:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3052,"mutability":"mutable","name":"err","nameLocation":"11410:3:2","nodeType":"VariableDeclaration","scope":3091,"src":"11396:17:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3051,"name":"string","nodeType":"ElementaryTypeName","src":"11396:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11332:82:2"},"returnParameters":{"id":3054,"nodeType":"ParameterList","parameters":[],"src":"11452:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3109,"nodeType":"FunctionDefinition","src":"11790:176:2","nodes":[],"body":{"id":3108,"nodeType":"Block","src":"11893:73:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":3101,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3093,"src":"11916:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3102,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3095,"src":"11924:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3103,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3093,"src":"11935:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3104,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3097,"src":"11943:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":3105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11954: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":3100,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[3109,3129,3149,3259],"referencedDeclaration":3259,"src":"11903: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":3106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11903:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3107,"nodeType":"ExpressionStatement","src":"11903:56:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"11799:12:2","parameters":{"id":3098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3093,"mutability":"mutable","name":"target","nameLocation":"11820:6:2","nodeType":"VariableDeclaration","scope":3109,"src":"11812:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3092,"name":"address","nodeType":"ElementaryTypeName","src":"11812:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3095,"mutability":"mutable","name":"callDataA","nameLocation":"11841:9:2","nodeType":"VariableDeclaration","scope":3109,"src":"11828:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3094,"name":"bytes","nodeType":"ElementaryTypeName","src":"11828:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3097,"mutability":"mutable","name":"callDataB","nameLocation":"11865:9:2","nodeType":"VariableDeclaration","scope":3109,"src":"11852:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3096,"name":"bytes","nodeType":"ElementaryTypeName","src":"11852:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11811:64:2"},"returnParameters":{"id":3099,"nodeType":"ParameterList","parameters":[],"src":"11893:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3129,"nodeType":"FunctionDefinition","src":"11972:216:2","nodes":[],"body":{"id":3128,"nodeType":"Block","src":"12113:75:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":3121,"name":"targetA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3111,"src":"12136:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3122,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3113,"src":"12145:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3123,"name":"targetB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3115,"src":"12156:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3124,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3117,"src":"12165:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":3125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12176: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":3120,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[3109,3129,3149,3259],"referencedDeclaration":3259,"src":"12123: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":3126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12123:58:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3127,"nodeType":"ExpressionStatement","src":"12123:58:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"11981:12:2","parameters":{"id":3118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3111,"mutability":"mutable","name":"targetA","nameLocation":"12002:7:2","nodeType":"VariableDeclaration","scope":3129,"src":"11994:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3110,"name":"address","nodeType":"ElementaryTypeName","src":"11994:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3113,"mutability":"mutable","name":"callDataA","nameLocation":"12024:9:2","nodeType":"VariableDeclaration","scope":3129,"src":"12011:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3112,"name":"bytes","nodeType":"ElementaryTypeName","src":"12011:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3115,"mutability":"mutable","name":"targetB","nameLocation":"12043:7:2","nodeType":"VariableDeclaration","scope":3129,"src":"12035:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3114,"name":"address","nodeType":"ElementaryTypeName","src":"12035:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3117,"mutability":"mutable","name":"callDataB","nameLocation":"12065:9:2","nodeType":"VariableDeclaration","scope":3129,"src":"12052:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3116,"name":"bytes","nodeType":"ElementaryTypeName","src":"12052:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11993:82:2"},"returnParameters":{"id":3119,"nodeType":"ParameterList","parameters":[],"src":"12113:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3149,"nodeType":"FunctionDefinition","src":"12194:231:2","nodes":[],"body":{"id":3148,"nodeType":"Block","src":"12340:85:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":3141,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3131,"src":"12363:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3142,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3133,"src":"12371:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3143,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3131,"src":"12382:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3144,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3135,"src":"12390:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3145,"name":"strictRevertData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3137,"src":"12401: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":3140,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[3109,3129,3149,3259],"referencedDeclaration":3259,"src":"12350: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":3146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12350:68:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3147,"nodeType":"ExpressionStatement","src":"12350:68:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"12203:12:2","parameters":{"id":3138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3131,"mutability":"mutable","name":"target","nameLocation":"12224:6:2","nodeType":"VariableDeclaration","scope":3149,"src":"12216:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3130,"name":"address","nodeType":"ElementaryTypeName","src":"12216:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3133,"mutability":"mutable","name":"callDataA","nameLocation":"12245:9:2","nodeType":"VariableDeclaration","scope":3149,"src":"12232:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3132,"name":"bytes","nodeType":"ElementaryTypeName","src":"12232:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3135,"mutability":"mutable","name":"callDataB","nameLocation":"12269:9:2","nodeType":"VariableDeclaration","scope":3149,"src":"12256:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3134,"name":"bytes","nodeType":"ElementaryTypeName","src":"12256:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3137,"mutability":"mutable","name":"strictRevertData","nameLocation":"12285:16:2","nodeType":"VariableDeclaration","scope":3149,"src":"12280:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3136,"name":"bool","nodeType":"ElementaryTypeName","src":"12280:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12215:87:2"},"returnParameters":{"id":3139,"nodeType":"ParameterList","parameters":[],"src":"12340:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3259,"nodeType":"FunctionDefinition","src":"12431:1189:2","nodes":[],"body":{"id":3258,"nodeType":"Block","src":"12621:999:2","nodes":[],"statements":[{"assignments":[3163,3165],"declarations":[{"constant":false,"id":3163,"mutability":"mutable","name":"successA","nameLocation":"12637:8:2","nodeType":"VariableDeclaration","scope":3258,"src":"12632:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3162,"name":"bool","nodeType":"ElementaryTypeName","src":"12632:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3165,"mutability":"mutable","name":"returnDataA","nameLocation":"12660:11:2","nodeType":"VariableDeclaration","scope":3258,"src":"12647:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3164,"name":"bytes","nodeType":"ElementaryTypeName","src":"12647:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3173,"initialValue":{"arguments":[{"id":3171,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3153,"src":"12697:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":3168,"name":"targetA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3151,"src":"12683:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12675:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3166,"name":"address","nodeType":"ElementaryTypeName","src":"12675:7:2","typeDescriptions":{}}},"id":3169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12675:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"12675: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":3172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12675:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"12631:76:2"},{"assignments":[3175,3177],"declarations":[{"constant":false,"id":3175,"mutability":"mutable","name":"successB","nameLocation":"12723:8:2","nodeType":"VariableDeclaration","scope":3258,"src":"12718:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3174,"name":"bool","nodeType":"ElementaryTypeName","src":"12718:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3177,"mutability":"mutable","name":"returnDataB","nameLocation":"12746:11:2","nodeType":"VariableDeclaration","scope":3258,"src":"12733:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3176,"name":"bytes","nodeType":"ElementaryTypeName","src":"12733:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3185,"initialValue":{"arguments":[{"id":3183,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3157,"src":"12783:9:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":3180,"name":"targetB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3155,"src":"12769:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12761:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3178,"name":"address","nodeType":"ElementaryTypeName","src":"12761:7:2","typeDescriptions":{}}},"id":3181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12761:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"12761: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":3184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12761:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"12717:76:2"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3186,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3163,"src":"12808:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3187,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3175,"src":"12820:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12808:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3196,"nodeType":"IfStatement","src":"12804:120:2","trueBody":{"id":3195,"nodeType":"Block","src":"12830:94:2","statements":[{"expression":{"arguments":[{"id":3190,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3165,"src":"12853:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3191,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3177,"src":"12866:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"43616c6c2072657475726e206461746120646f6573206e6f74206d61746368","id":3192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12879: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":3189,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":2031,"src":"12844:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory)"}},"id":3193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12844:69:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3194,"nodeType":"ExpressionStatement","src":"12844:69:2"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12938:9:2","subExpression":{"id":3197,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3163,"src":"12939:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12951:9:2","subExpression":{"id":3199,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3175,"src":"12952:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12938:22:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3202,"name":"strictRevertData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3159,"src":"12964:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12938:42:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3211,"nodeType":"IfStatement","src":"12934:142:2","trueBody":{"id":3210,"nodeType":"Block","src":"12982:94:2","statements":[{"expression":{"arguments":[{"id":3205,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3165,"src":"13005:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3206,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3177,"src":"13018:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"43616c6c20726576657274206461746120646f6573206e6f74206d61746368","id":3207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13031: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":3204,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":2031,"src":"12996:8:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory,string memory)"}},"id":3208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12996:69:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3209,"nodeType":"ExpressionStatement","src":"12996:69:2"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13090:9:2","subExpression":{"id":3212,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3163,"src":"13091:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3214,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3175,"src":"13103:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13090:21:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3234,"nodeType":"IfStatement","src":"13086:259:2","trueBody":{"id":3233,"nodeType":"Block","src":"13113:232:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2043616c6c732077657265206e6f7420657175616c","id":3217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13136: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":3216,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"13132:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":3218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13132:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3219,"nodeType":"EmitStatement","src":"13127:39:2"},{"eventCall":{"arguments":[{"hexValue":"20204c6566742063616c6c207265766572742064617461","id":3221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13201:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_d7308eff46cc177523801826a9076ec6e32f003b8da409c4d39812f8e534c573","typeString":"literal_string \" Left call revert data\""},"value":" Left call revert data"},{"id":3222,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3165,"src":"13228: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":3220,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"13185:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13185:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3224,"nodeType":"EmitStatement","src":"13180:60:2"},{"eventCall":{"arguments":[{"hexValue":"2052696768742063616c6c2072657475726e2064617461","id":3226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13275:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_688c5b0ecbf27f0fe1b748e920d97ecaaa6ff424050ac2e32936b79dcfbe27d9","typeString":"literal_string \" Right call return data\""},"value":" Right call return data"},{"id":3227,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3177,"src":"13302: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":3225,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"13259:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13259:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3229,"nodeType":"EmitStatement","src":"13254:60:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3230,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"13328:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13328:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3232,"nodeType":"ExpressionStatement","src":"13328:6:2"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3235,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3163,"src":"13359:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13371:9:2","subExpression":{"id":3236,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3175,"src":"13372:8:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13359:21:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3257,"nodeType":"IfStatement","src":"13355:259:2","trueBody":{"id":3256,"nodeType":"Block","src":"13382:232:2","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2043616c6c732077657265206e6f7420657175616c","id":3240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13405: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":3239,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5,"src":"13401:3:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":3241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13401:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3242,"nodeType":"EmitStatement","src":"13396:39:2"},{"eventCall":{"arguments":[{"hexValue":"20204c6566742063616c6c2072657475726e2064617461","id":3244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13470:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_596a9779ba89cf63b8ee3ff9d9ab391dc33d379f762c747717807c6af488f86f","typeString":"literal_string \" Left call return data\""},"value":" Left call return data"},{"id":3245,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3165,"src":"13497: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":3243,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"13454:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13454:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3247,"nodeType":"EmitStatement","src":"13449:60:2"},{"eventCall":{"arguments":[{"hexValue":"2052696768742063616c6c207265766572742064617461","id":3249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13544:25:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_07ebd1833884933dbc5d408273462f380b6eb526f9bb29a66115cfe3ede76145","typeString":"literal_string \" Right call revert data\""},"value":" Right call revert data"},{"id":3250,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3177,"src":"13571: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":3248,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"13528:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13528:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3252,"nodeType":"EmitStatement","src":"13523:60:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3253,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[1916,216],"referencedDeclaration":216,"src":"13597:4:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13597:6:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3255,"nodeType":"ExpressionStatement","src":"13597:6:2"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"12440:12:2","parameters":{"id":3160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3151,"mutability":"mutable","name":"targetA","nameLocation":"12470:7:2","nodeType":"VariableDeclaration","scope":3259,"src":"12462:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3150,"name":"address","nodeType":"ElementaryTypeName","src":"12462:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3153,"mutability":"mutable","name":"callDataA","nameLocation":"12500:9:2","nodeType":"VariableDeclaration","scope":3259,"src":"12487:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3152,"name":"bytes","nodeType":"ElementaryTypeName","src":"12487:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3155,"mutability":"mutable","name":"targetB","nameLocation":"12527:7:2","nodeType":"VariableDeclaration","scope":3259,"src":"12519:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3154,"name":"address","nodeType":"ElementaryTypeName","src":"12519:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3157,"mutability":"mutable","name":"callDataB","nameLocation":"12557:9:2","nodeType":"VariableDeclaration","scope":3259,"src":"12544:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3156,"name":"bytes","nodeType":"ElementaryTypeName","src":"12544:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3159,"mutability":"mutable","name":"strictRevertData","nameLocation":"12581:16:2","nodeType":"VariableDeclaration","scope":3259,"src":"12576:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3158,"name":"bool","nodeType":"ElementaryTypeName","src":"12576:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12452:151:2"},"returnParameters":{"id":3161,"nodeType":"ParameterList","parameters":[],"src":"12621:0:2"},"scope":3260,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":1865,"name":"DSTest","nodeType":"IdentifierPath","referencedDeclaration":1786,"src":"181:6:2"},"id":1866,"nodeType":"InheritanceSpecifier","src":"181:6:2"}],"canonicalName":"StdAssertions","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[3260,1786],"name":"StdAssertions","nameLocation":"164:13:2","scope":3261,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdChains.sol":{"id":3,"ast":{"absolutePath":"lib/forge-std/src/StdChains.sol","id":3955,"exportedSymbols":{"StdChains":[3954],"VmSafe":[11690]},"nodeType":"SourceUnit","src":"32:10619:3","nodes":[{"id":3262,"nodeType":"PragmaDirective","src":"32:31:3","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":3263,"nodeType":"PragmaDirective","src":"65:33:3","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":3265,"nodeType":"ImportDirective","src":"100:32:3","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":3955,"sourceUnit":12038,"symbolAliases":[{"foreign":{"id":3264,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"108:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$11690_$","typeString":"type(contract VmSafe)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":3954,"nodeType":"ContractDefinition","src":"2070:8580:3","nodes":[{"id":3283,"nodeType":"VariableDeclaration","src":"2104:92:3","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"2128:2:3","scope":3954,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"},"typeName":{"id":3268,"nodeType":"UserDefinedTypeName","pathNode":{"id":3267,"name":"VmSafe","nodeType":"IdentifierPath","referencedDeclaration":11690,"src":"2104:6:3"},"referencedDeclaration":11690,"src":"2104:6:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":3277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2174:17:3","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":3276,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2164:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2164:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3275,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2156:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3274,"name":"uint256","nodeType":"ElementaryTypeName","src":"2156:7:3","typeDescriptions":{}}},"id":3279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2156:37:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2148:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":3272,"name":"uint160","nodeType":"ElementaryTypeName","src":"2148:7:3","typeDescriptions":{}}},"id":3280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2148:46:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":3271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2140:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3270,"name":"address","nodeType":"ElementaryTypeName","src":"2140:7:3","typeDescriptions":{}}},"id":3281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2140:55:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3269,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"2133:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$11690_$","typeString":"type(contract VmSafe)"}},"id":3282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2133:63:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"visibility":"private"},{"id":3285,"nodeType":"VariableDeclaration","src":"2203:24:3","nodes":[],"constant":false,"mutability":"mutable","name":"initialized","nameLocation":"2216:11:3","scope":3954,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3284,"name":"bool","nodeType":"ElementaryTypeName","src":"2203:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":3292,"nodeType":"StructDefinition","src":"2234:93:3","nodes":[],"canonicalName":"StdChains.ChainData","members":[{"constant":false,"id":3287,"mutability":"mutable","name":"name","nameLocation":"2268:4:3","nodeType":"VariableDeclaration","scope":3292,"src":"2261:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3286,"name":"string","nodeType":"ElementaryTypeName","src":"2261:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3289,"mutability":"mutable","name":"chainId","nameLocation":"2290:7:3","nodeType":"VariableDeclaration","scope":3292,"src":"2282:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3288,"name":"uint256","nodeType":"ElementaryTypeName","src":"2282:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3291,"mutability":"mutable","name":"rpcUrl","nameLocation":"2314:6:3","nodeType":"VariableDeclaration","scope":3292,"src":"2307:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3290,"name":"string","nodeType":"ElementaryTypeName","src":"2307:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"ChainData","nameLocation":"2241:9:3","scope":3954,"visibility":"public"},{"id":3301,"nodeType":"StructDefinition","src":"2333:598:3","nodes":[],"canonicalName":"StdChains.Chain","members":[{"constant":false,"id":3294,"mutability":"mutable","name":"name","nameLocation":"2390:4:3","nodeType":"VariableDeclaration","scope":3301,"src":"2383:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3293,"name":"string","nodeType":"ElementaryTypeName","src":"2383:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3296,"mutability":"mutable","name":"chainId","nameLocation":"2445:7:3","nodeType":"VariableDeclaration","scope":3301,"src":"2437:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3295,"name":"uint256","nodeType":"ElementaryTypeName","src":"2437:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3298,"mutability":"mutable","name":"chainAlias","nameLocation":"2545:10:3","nodeType":"VariableDeclaration","scope":3301,"src":"2538:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3297,"name":"string","nodeType":"ElementaryTypeName","src":"2538:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3300,"mutability":"mutable","name":"rpcUrl","nameLocation":"2918:6:3","nodeType":"VariableDeclaration","scope":3301,"src":"2911:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3299,"name":"string","nodeType":"ElementaryTypeName","src":"2911:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Chain","nameLocation":"2340:5:3","scope":3954,"visibility":"public"},{"id":3306,"nodeType":"VariableDeclaration","src":"3035:39:3","nodes":[],"constant":false,"mutability":"mutable","name":"chains","nameLocation":"3068:6:3","scope":3954,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3301_storage_$","typeString":"mapping(string => struct StdChains.Chain)"},"typeName":{"id":3305,"keyType":{"id":3302,"name":"string","nodeType":"ElementaryTypeName","src":"3043:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"3035:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3301_storage_$","typeString":"mapping(string => struct StdChains.Chain)"},"valueType":{"id":3304,"nodeType":"UserDefinedTypeName","pathNode":{"id":3303,"name":"Chain","nodeType":"IdentifierPath","referencedDeclaration":3301,"src":"3053:5:3"},"referencedDeclaration":3301,"src":"3053:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage_ptr","typeString":"struct StdChains.Chain"}}},"visibility":"private"},{"id":3310,"nodeType":"VariableDeclaration","src":"3140:48:3","nodes":[],"constant":false,"mutability":"mutable","name":"defaultRpcUrls","nameLocation":"3174:14:3","scope":3954,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string => string)"},"typeName":{"id":3309,"keyType":{"id":3307,"name":"string","nodeType":"ElementaryTypeName","src":"3148:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"3140:25:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string => string)"},"valueType":{"id":3308,"name":"string","nodeType":"ElementaryTypeName","src":"3158:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"id":3314,"nodeType":"VariableDeclaration","src":"3237:44:3","nodes":[],"constant":false,"mutability":"mutable","name":"idToAlias","nameLocation":"3272:9:3","scope":3954,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"typeName":{"id":3313,"keyType":{"id":3311,"name":"uint256","nodeType":"ElementaryTypeName","src":"3245:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3237:26:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"valueType":{"id":3312,"name":"string","nodeType":"ElementaryTypeName","src":"3256:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"id":3317,"nodeType":"VariableDeclaration","src":"3288:44:3","nodes":[],"constant":false,"mutability":"mutable","name":"fallbackToDefaultRpcUrls","nameLocation":"3301:24:3","scope":3954,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3315,"name":"bool","nodeType":"ElementaryTypeName","src":"3288:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":3316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3328:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"private"},{"id":3369,"nodeType":"FunctionDefinition","src":"3417:515:3","nodes":[],"body":{"id":3368,"nodeType":"Block","src":"3507:425:3","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":3328,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3319,"src":"3531:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3327,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3525:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3326,"name":"bytes","nodeType":"ElementaryTypeName","src":"3525:5:3","typeDescriptions":{}}},"id":3329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3525:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3525:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3553:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3525:29:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320676574436861696e28737472696e67293a20436861696e20616c6961732063616e6e6f742062652074686520656d70747920737472696e672e","id":3333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3556:69:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d920aad82cc068f1a73b0fb2c703d0169baa46c8c67097012e1aca0cc8c8b70","typeString":"literal_string \"StdChains getChain(string): Chain alias cannot be the empty string.\""},"value":"StdChains getChain(string): Chain alias cannot be the empty string."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3d920aad82cc068f1a73b0fb2c703d0169baa46c8c67097012e1aca0cc8c8b70","typeString":"literal_string \"StdChains getChain(string): Chain alias cannot be the empty string.\""}],"id":3325,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3517:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3517:109:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3335,"nodeType":"ExpressionStatement","src":"3517:109:3"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3336,"name":"initialize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3916,"src":"3637:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3637:12:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3338,"nodeType":"ExpressionStatement","src":"3637:12:3"},{"expression":{"id":3343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3339,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3323,"src":"3659:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":3340,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3306,"src":"3667:6:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3301_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":3342,"indexExpression":{"id":3341,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3319,"src":"3674:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3667:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage","typeString":"struct StdChains.Chain storage ref"}},"src":"3659:26:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3344,"nodeType":"ExpressionStatement","src":"3659:26:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3346,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3323,"src":"3716:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3347,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3296,"src":"3716:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3733:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3716:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320676574436861696e28737472696e67293a20436861696e207769746820616c6961732022","id":3354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3772:49:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_be183459e9329da9bfc4a2fec17224f102b8a68c1139772e954a2d6fd9877e00","typeString":"literal_string \"StdChains getChain(string): Chain with alias \"\""},"value":"StdChains getChain(string): Chain with alias \""},{"id":3355,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3319,"src":"3823:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"22206e6f7420666f756e642e","id":3356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3835:15:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_be956cec6682d51b49f30c9beff2857436402411b7eee4082594e44819bcd397","typeString":"literal_string \"\" not found.\""},"value":"\" not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be183459e9329da9bfc4a2fec17224f102b8a68c1139772e954a2d6fd9877e00","typeString":"literal_string \"StdChains getChain(string): Chain with alias \"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_be956cec6682d51b49f30c9beff2857436402411b7eee4082594e44819bcd397","typeString":"literal_string \"\" not found.\""}],"expression":{"id":3352,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3755:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3755:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3755:96:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3748:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3350,"name":"string","nodeType":"ElementaryTypeName","src":"3748:6:3","typeDescriptions":{}}},"id":3358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3748:104:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3345,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3695:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3695:167:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3360,"nodeType":"ExpressionStatement","src":"3695:167:3"},{"expression":{"id":3366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3361,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3323,"src":"3873:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3363,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3319,"src":"3907:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":3364,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3323,"src":"3919:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}],"id":3362,"name":"getChainWithUpdatedRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3751,"src":"3881:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Chain_$3301_memory_ptr_$returns$_t_struct$_Chain_$3301_memory_ptr_$","typeString":"function (string memory,struct StdChains.Chain memory) returns (struct StdChains.Chain memory)"}},"id":3365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3881:44:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"3873:52:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3367,"nodeType":"ExpressionStatement","src":"3873:52:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getChain","nameLocation":"3426:8:3","parameters":{"id":3320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3319,"mutability":"mutable","name":"chainAlias","nameLocation":"3449:10:3","nodeType":"VariableDeclaration","scope":3369,"src":"3435:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3318,"name":"string","nodeType":"ElementaryTypeName","src":"3435:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3434:26:3"},"returnParameters":{"id":3324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3323,"mutability":"mutable","name":"chain","nameLocation":"3500:5:3","nodeType":"VariableDeclaration","scope":3369,"src":"3487:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3322,"nodeType":"UserDefinedTypeName","pathNode":{"id":3321,"name":"Chain","nodeType":"IdentifierPath","referencedDeclaration":3301,"src":"3487:5:3"},"referencedDeclaration":3301,"src":"3487:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"3486:20:3"},"scope":3954,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3426,"nodeType":"FunctionDefinition","src":"3938:532:3","nodes":[],"body":{"id":3425,"nodeType":"Block","src":"4019:451:3","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3378,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3371,"src":"4037:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4048:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4037:12:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320676574436861696e2875696e74323536293a20436861696e2049442063616e6e6f7420626520302e","id":3381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4051:52:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_64f1cd082b277ed92a70b6890cc1e3b6ebd77bc6c9299e7ce82305de04926a4a","typeString":"literal_string \"StdChains getChain(uint256): Chain ID cannot be 0.\""},"value":"StdChains getChain(uint256): Chain ID cannot be 0."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_64f1cd082b277ed92a70b6890cc1e3b6ebd77bc6c9299e7ce82305de04926a4a","typeString":"literal_string \"StdChains getChain(uint256): Chain ID cannot be 0.\""}],"id":3377,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4029:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4029:75:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3383,"nodeType":"ExpressionStatement","src":"4029:75:3"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3384,"name":"initialize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3916,"src":"4114:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4114:12:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3386,"nodeType":"ExpressionStatement","src":"4114:12:3"},{"assignments":[3388],"declarations":[{"constant":false,"id":3388,"mutability":"mutable","name":"chainAlias","nameLocation":"4150:10:3","nodeType":"VariableDeclaration","scope":3425,"src":"4136:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3387,"name":"string","nodeType":"ElementaryTypeName","src":"4136:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3392,"initialValue":{"baseExpression":{"id":3389,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3314,"src":"4163:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":3391,"indexExpression":{"id":3390,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3371,"src":"4173:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4163:18:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4136:45:3"},{"expression":{"id":3397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3393,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3375,"src":"4192:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":3394,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3306,"src":"4200:6:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3301_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":3396,"indexExpression":{"id":3395,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3388,"src":"4207:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4200:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage","typeString":"struct StdChains.Chain storage ref"}},"src":"4192:26:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3398,"nodeType":"ExpressionStatement","src":"4192:26:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3400,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3375,"src":"4250:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3401,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3296,"src":"4250:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4267:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4250:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320676574436861696e2875696e74323536293a20436861696e207769746820494420","id":3408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4306:45:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ce7b2cad45f1a6d0b9b7bb125e9a8742fce8fed7d742c83265d4a2da4caf457d","typeString":"literal_string \"StdChains getChain(uint256): Chain with ID \""},"value":"StdChains getChain(uint256): Chain with ID "},{"arguments":[{"id":3411,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3371,"src":"4365:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3409,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3283,"src":"4353:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":3410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"4353:11:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":3412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4353:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"206e6f7420666f756e642e","id":3413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4375:13:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_f310d2efb88747fac959fa7567a0a1a161dd43a77ba9af074f6191cf5bcf4f8b","typeString":"literal_string \" not found.\""},"value":" not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ce7b2cad45f1a6d0b9b7bb125e9a8742fce8fed7d742c83265d4a2da4caf457d","typeString":"literal_string \"StdChains getChain(uint256): Chain with ID \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_f310d2efb88747fac959fa7567a0a1a161dd43a77ba9af074f6191cf5bcf4f8b","typeString":"literal_string \" not found.\""}],"expression":{"id":3406,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4289:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"4289:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4289:100:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3405,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4282:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3404,"name":"string","nodeType":"ElementaryTypeName","src":"4282:6:3","typeDescriptions":{}}},"id":3415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4282:108:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3399,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4229:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4229:171:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3417,"nodeType":"ExpressionStatement","src":"4229:171:3"},{"expression":{"id":3423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3418,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3375,"src":"4411:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3420,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3388,"src":"4445:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":3421,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3375,"src":"4457:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}],"id":3419,"name":"getChainWithUpdatedRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3751,"src":"4419:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Chain_$3301_memory_ptr_$returns$_t_struct$_Chain_$3301_memory_ptr_$","typeString":"function (string memory,struct StdChains.Chain memory) returns (struct StdChains.Chain memory)"}},"id":3422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4419:44:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"4411:52:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3424,"nodeType":"ExpressionStatement","src":"4411:52:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getChain","nameLocation":"3947:8:3","parameters":{"id":3372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3371,"mutability":"mutable","name":"chainId","nameLocation":"3964:7:3","nodeType":"VariableDeclaration","scope":3426,"src":"3956:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3370,"name":"uint256","nodeType":"ElementaryTypeName","src":"3956:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3955:17:3"},"returnParameters":{"id":3376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3375,"mutability":"mutable","name":"chain","nameLocation":"4012:5:3","nodeType":"VariableDeclaration","scope":3426,"src":"3999:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3374,"nodeType":"UserDefinedTypeName","pathNode":{"id":3373,"name":"Chain","nodeType":"IdentifierPath","referencedDeclaration":3301,"src":"3999:5:3"},"referencedDeclaration":3301,"src":"3999:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"3998:20:3"},"scope":3954,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3536,"nodeType":"FunctionDefinition","src":"4541:1164:3","nodes":[],"body":{"id":3535,"nodeType":"Block","src":"4626:1079:3","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":3437,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3428,"src":"4663:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4657:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3435,"name":"bytes","nodeType":"ElementaryTypeName","src":"4657:5:3","typeDescriptions":{}}},"id":3438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4657:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4657:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4685:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4657:29:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e20616c6961732063616e6e6f742062652074686520656d70747920737472696e672e","id":3442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4700:79:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_30b2334ec57cbeeece39c6405e10d3437560135ecd84835d6b9144db1d575354","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\""},"value":"StdChains setChain(string,ChainData): Chain alias cannot be the empty string."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_30b2334ec57cbeeece39c6405e10d3437560135ecd84835d6b9144db1d575354","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\""}],"id":3434,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4636:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4636:153:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3444,"nodeType":"ExpressionStatement","src":"4636:153:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3446,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3431,"src":"4808:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3447,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3289,"src":"4808:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4825:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4808:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e2049442063616e6e6f7420626520302e","id":3450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4828:61:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab0ba8dace83d80dc1941286e8d0551223497db1b420e58abff2f3db2ad3fbf4","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\""},"value":"StdChains setChain(string,ChainData): Chain ID cannot be 0."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ab0ba8dace83d80dc1941286e8d0551223497db1b420e58abff2f3db2ad3fbf4","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\""}],"id":3445,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4800:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4800:90:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3452,"nodeType":"ExpressionStatement","src":"4800:90:3"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3453,"name":"initialize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3916,"src":"4901:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4901:12:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3455,"nodeType":"ExpressionStatement","src":"4901:12:3"},{"assignments":[3457],"declarations":[{"constant":false,"id":3457,"mutability":"mutable","name":"foundAlias","nameLocation":"4937:10:3","nodeType":"VariableDeclaration","scope":3535,"src":"4923:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3456,"name":"string","nodeType":"ElementaryTypeName","src":"4923:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3462,"initialValue":{"baseExpression":{"id":3458,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3314,"src":"4950:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":3461,"indexExpression":{"expression":{"id":3459,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3431,"src":"4960:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3289,"src":"4960:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4950:24:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4923:51:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":3466,"name":"foundAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3457,"src":"5012:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3465,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5006:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3464,"name":"bytes","nodeType":"ElementaryTypeName","src":"5006:5:3","typeDescriptions":{}}},"id":3467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5006:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"5006:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5034:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5006:29:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":3483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":3474,"name":"foundAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3457,"src":"5055:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5049:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3472,"name":"bytes","nodeType":"ElementaryTypeName","src":"5049:5:3","typeDescriptions":{}}},"id":3475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5049:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3471,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5039:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5039:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"id":3480,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3428,"src":"5087:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5081:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3478,"name":"bytes","nodeType":"ElementaryTypeName","src":"5081:5:3","typeDescriptions":{}}},"id":3481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5081:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3477,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5071:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5071:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5039:60:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5006:93:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e20494420","id":3489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5175:49:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_2f5ddfff35cec202bbf760c515d7332e259c9b0c330efa0b2d03073b34906ba0","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID \""},"value":"StdChains setChain(string,ChainData): Chain ID "},{"arguments":[{"expression":{"id":3492,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3431,"src":"5258:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3493,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3289,"src":"5258:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3490,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3283,"src":"5246:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":3491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"5246:11:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":3494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5246:26:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20616c726561647920757365642062792022","id":3495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5294:21:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_03dcc98944d744f10105f4b63a1d5b4f5b14493812e66201e5f21a3da2662077","typeString":"literal_string \" already used by \"\""},"value":" already used by \""},{"id":3496,"name":"foundAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3457,"src":"5337:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"222e","id":3497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5369:5:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb54fc3dbdac1cb7b87378fdaddeb9e7549db2a108b5270efaa4bcd576270193","typeString":"literal_string \"\".\""},"value":"\"."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2f5ddfff35cec202bbf760c515d7332e259c9b0c330efa0b2d03073b34906ba0","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_03dcc98944d744f10105f4b63a1d5b4f5b14493812e66201e5f21a3da2662077","typeString":"literal_string \" already used by \"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_cb54fc3dbdac1cb7b87378fdaddeb9e7549db2a108b5270efaa4bcd576270193","typeString":"literal_string \"\".\""}],"expression":{"id":3487,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5137:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3488,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"5137:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5137:255:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5113:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3485,"name":"string","nodeType":"ElementaryTypeName","src":"5113:6:3","typeDescriptions":{}}},"id":3499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5113:293:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3463,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4985:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4985:431:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3501,"nodeType":"ExpressionStatement","src":"4985:431:3"},{"assignments":[3503],"declarations":[{"constant":false,"id":3503,"mutability":"mutable","name":"oldChainId","nameLocation":"5435:10:3","nodeType":"VariableDeclaration","scope":3535,"src":"5427:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3502,"name":"uint256","nodeType":"ElementaryTypeName","src":"5427:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3508,"initialValue":{"expression":{"baseExpression":{"id":3504,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3306,"src":"5448:6:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3301_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":3506,"indexExpression":{"id":3505,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3428,"src":"5455:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5448:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage","typeString":"struct StdChains.Chain storage ref"}},"id":3507,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3296,"src":"5448:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5427:47:3"},{"expression":{"id":3512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"5484:28:3","subExpression":{"baseExpression":{"id":3509,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3314,"src":"5491:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":3511,"indexExpression":{"id":3510,"name":"oldChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3503,"src":"5501:10:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5491:21:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3513,"nodeType":"ExpressionStatement","src":"5484:28:3"},{"expression":{"id":3526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3514,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3306,"src":"5523:6:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3301_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":3516,"indexExpression":{"id":3515,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3428,"src":"5530:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5523:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage","typeString":"struct StdChains.Chain storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":3518,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3431,"src":"5569:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3519,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"name","nodeType":"MemberAccess","referencedDeclaration":3287,"src":"5569:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":3520,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3431,"src":"5590:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3521,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3289,"src":"5590:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3522,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3428,"src":"5617:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":3523,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3431,"src":"5637:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3291,"src":"5637:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3517,"name":"Chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3301,"src":"5556:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Chain_$3301_storage_ptr_$","typeString":"type(struct StdChains.Chain storage pointer)"}},"id":3525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["name","chainId","chainAlias","rpcUrl"],"nodeType":"FunctionCall","src":"5556:95:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"5523:128:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage","typeString":"struct StdChains.Chain storage ref"}},"id":3527,"nodeType":"ExpressionStatement","src":"5523:128:3"},{"expression":{"id":3533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3528,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3314,"src":"5661:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":3531,"indexExpression":{"expression":{"id":3529,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3431,"src":"5671:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3530,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3289,"src":"5671:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5661:24:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3532,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3428,"src":"5688:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"5661:37:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":3534,"nodeType":"ExpressionStatement","src":"5661:37:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setChain","nameLocation":"4550:8:3","parameters":{"id":3432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3428,"mutability":"mutable","name":"chainAlias","nameLocation":"4573:10:3","nodeType":"VariableDeclaration","scope":3536,"src":"4559:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3427,"name":"string","nodeType":"ElementaryTypeName","src":"4559:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3431,"mutability":"mutable","name":"chain","nameLocation":"4602:5:3","nodeType":"VariableDeclaration","scope":3536,"src":"4585:22:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData"},"typeName":{"id":3430,"nodeType":"UserDefinedTypeName","pathNode":{"id":3429,"name":"ChainData","nodeType":"IdentifierPath","referencedDeclaration":3292,"src":"4585:9:3"},"referencedDeclaration":3292,"src":"4585:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_storage_ptr","typeString":"struct StdChains.ChainData"}},"visibility":"internal"}],"src":"4558:50:3"},"returnParameters":{"id":3433,"nodeType":"ParameterList","parameters":[],"src":"4626:0:3"},"scope":3954,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3557,"nodeType":"FunctionDefinition","src":"5776:195:3","nodes":[],"body":{"id":3556,"nodeType":"Block","src":"5857:114:3","nodes":[],"statements":[{"expression":{"arguments":[{"id":3545,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3538,"src":"5876:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"expression":{"id":3547,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3541,"src":"5905:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3548,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"name","nodeType":"MemberAccess","referencedDeclaration":3294,"src":"5905:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":3549,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3541,"src":"5926:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3550,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3296,"src":"5926:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":3551,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3541,"src":"5949:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3552,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3300,"src":"5949:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3546,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"5888:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["name","chainId","rpcUrl"],"nodeType":"FunctionCall","src":"5888:75:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3544,"name":"setChain","nodeType":"Identifier","overloadedDeclarations":[3536,3557],"referencedDeclaration":3536,"src":"5867:8:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5867:97:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3555,"nodeType":"ExpressionStatement","src":"5867:97:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setChain","nameLocation":"5785:8:3","parameters":{"id":3542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3538,"mutability":"mutable","name":"chainAlias","nameLocation":"5808:10:3","nodeType":"VariableDeclaration","scope":3557,"src":"5794:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3537,"name":"string","nodeType":"ElementaryTypeName","src":"5794:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3541,"mutability":"mutable","name":"chain","nameLocation":"5833:5:3","nodeType":"VariableDeclaration","scope":3557,"src":"5820:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3540,"nodeType":"UserDefinedTypeName","pathNode":{"id":3539,"name":"Chain","nodeType":"IdentifierPath","referencedDeclaration":3301,"src":"5820:5:3"},"referencedDeclaration":3301,"src":"5820:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"5793:46:3"},"returnParameters":{"id":3543,"nodeType":"ParameterList","parameters":[],"src":"5857:0:3"},"scope":3954,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3634,"nodeType":"FunctionDefinition","src":"5977:451:3","nodes":[],"body":{"id":3633,"nodeType":"Block","src":"6051:377:3","nodes":[],"statements":[{"assignments":[3565],"declarations":[{"constant":false,"id":3565,"mutability":"mutable","name":"strb","nameLocation":"6074:4:3","nodeType":"VariableDeclaration","scope":3633,"src":"6061:17:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3564,"name":"bytes","nodeType":"ElementaryTypeName","src":"6061:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3570,"initialValue":{"arguments":[{"id":3568,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3559,"src":"6087:3:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6081:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3566,"name":"bytes","nodeType":"ElementaryTypeName","src":"6081:5:3","typeDescriptions":{}}},"id":3569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6081:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6061:30:3"},{"assignments":[3572],"declarations":[{"constant":false,"id":3572,"mutability":"mutable","name":"copy","nameLocation":"6114:4:3","nodeType":"VariableDeclaration","scope":3633,"src":"6101:17:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3571,"name":"bytes","nodeType":"ElementaryTypeName","src":"6101:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3578,"initialValue":{"arguments":[{"expression":{"id":3575,"name":"strb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3565,"src":"6131:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6131:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6121:9:3","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":3573,"name":"bytes","nodeType":"ElementaryTypeName","src":"6125:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":3577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6121:22:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6101:42:3"},{"body":{"id":3626,"nodeType":"Block","src":"6195:198:3","statements":[{"assignments":[3591],"declarations":[{"constant":false,"id":3591,"mutability":"mutable","name":"b","nameLocation":"6216:1:3","nodeType":"VariableDeclaration","scope":3626,"src":"6209:8:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":3590,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6209:6:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"id":3595,"initialValue":{"baseExpression":{"id":3592,"name":"strb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3565,"src":"6220:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3594,"indexExpression":{"id":3593,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3580,"src":"6225:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6220:7:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"VariableDeclarationStatement","src":"6209:18:3"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":3598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3596,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3591,"src":"6245:1:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30783631","id":3597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6250:4:3","typeDescriptions":{"typeIdentifier":"t_rational_97_by_1","typeString":"int_const 97"},"value":"0x61"},"src":"6245:9:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":3601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3599,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3591,"src":"6258:1:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30783741","id":3600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6263:4:3","typeDescriptions":{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"},"value":"0x7A"},"src":"6258:9:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6245:22:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3624,"nodeType":"Block","src":"6339:44:3","statements":[{"expression":{"id":3622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3618,"name":"copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3572,"src":"6357:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3620,"indexExpression":{"id":3619,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3580,"src":"6362:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6357:7:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3621,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3591,"src":"6367:1:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"6357:11:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":3623,"nodeType":"ExpressionStatement","src":"6357:11:3"}]},"id":3625,"nodeType":"IfStatement","src":"6241:142:3","trueBody":{"id":3617,"nodeType":"Block","src":"6269:64:3","statements":[{"expression":{"id":3615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3603,"name":"copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3572,"src":"6287:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3605,"indexExpression":{"id":3604,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3580,"src":"6292:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6287:7:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":3613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3610,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3591,"src":"6310:1:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":3609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6304:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":3608,"name":"uint8","nodeType":"ElementaryTypeName","src":"6304:5:3","typeDescriptions":{}}},"id":3611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6304:8:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"3332","id":3612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6315:2:3","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"6304:13:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":3607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6297:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":3606,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6297:6:3","typeDescriptions":{}}},"id":3614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6297:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"6287:31:3","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":3616,"nodeType":"ExpressionStatement","src":"6287:31:3"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3583,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3580,"src":"6173:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":3584,"name":"strb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3565,"src":"6177:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6177:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6173:15:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3627,"initializationExpression":{"assignments":[3580],"declarations":[{"constant":false,"id":3580,"mutability":"mutable","name":"i","nameLocation":"6166:1:3","nodeType":"VariableDeclaration","scope":3627,"src":"6158:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3579,"name":"uint256","nodeType":"ElementaryTypeName","src":"6158:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3582,"initialValue":{"hexValue":"30","id":3581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6170:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6158:13:3"},"loopExpression":{"expression":{"id":3588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6190:3:3","subExpression":{"id":3587,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3580,"src":"6190:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3589,"nodeType":"ExpressionStatement","src":"6190:3:3"},"nodeType":"ForStatement","src":"6153:240:3"},{"expression":{"arguments":[{"id":3630,"name":"copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3572,"src":"6416:4:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6409:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3628,"name":"string","nodeType":"ElementaryTypeName","src":"6409:6:3","typeDescriptions":{}}},"id":3631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6409:12:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":3563,"id":3632,"nodeType":"Return","src":"6402:19:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_toUpper","nameLocation":"5986:8:3","parameters":{"id":3560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3559,"mutability":"mutable","name":"str","nameLocation":"6009:3:3","nodeType":"VariableDeclaration","scope":3634,"src":"5995:17:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3558,"name":"string","nodeType":"ElementaryTypeName","src":"5995:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5994:19:3"},"returnParameters":{"id":3563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3562,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3634,"src":"6036:13:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3561,"name":"string","nodeType":"ElementaryTypeName","src":"6036:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6035:15:3"},"scope":3954,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":3751,"nodeType":"FunctionDefinition","src":"6564:1218:3","nodes":[],"body":{"id":3750,"nodeType":"Block","src":"6676:1106:3","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":3647,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3639,"src":"6696:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3648,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3300,"src":"6696:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6690:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3645,"name":"bytes","nodeType":"ElementaryTypeName","src":"6690:5:3","typeDescriptions":{}}},"id":3649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6690:19:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6690:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6720:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6690:31:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3747,"nodeType":"IfStatement","src":"6686:1068:3","trueBody":{"id":3746,"nodeType":"Block","src":"6723:1031:3","statements":[{"clauses":[{"block":{"id":3666,"nodeType":"Block","src":"6800:60:3","statements":[{"expression":{"id":3664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3660,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3639,"src":"6818:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3662,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3300,"src":"6818:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3663,"name":"configRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3658,"src":"6833:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"6818:27:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3665,"nodeType":"ExpressionStatement","src":"6818:27:3"}]},"errorName":"","id":3667,"nodeType":"TryCatchClause","parameters":{"id":3659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3658,"mutability":"mutable","name":"configRpcUrl","nameLocation":"6786:12:3","nodeType":"VariableDeclaration","scope":3667,"src":"6772:26:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3657,"name":"string","nodeType":"ElementaryTypeName","src":"6772:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6771:28:3"},"src":"6763:97:3"},{"block":{"id":3743,"nodeType":"Block","src":"6886:858:3","statements":[{"assignments":[3672],"declarations":[{"constant":false,"id":3672,"mutability":"mutable","name":"envName","nameLocation":"6918:7:3","nodeType":"VariableDeclaration","scope":3743,"src":"6904:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3671,"name":"string","nodeType":"ElementaryTypeName","src":"6904:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3683,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":3678,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3636,"src":"6961:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3677,"name":"_toUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3634,"src":"6952:8:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":3679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6952:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"5f5250435f55524c","id":3680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6974:10:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_2186fe596dea1a615b7a1cb43899fd18c5b434aa29c8de36d4b8fcc67e3d6ad9","typeString":"literal_string \"_RPC_URL\""},"value":"_RPC_URL"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_2186fe596dea1a615b7a1cb43899fd18c5b434aa29c8de36d4b8fcc67e3d6ad9","typeString":"literal_string \"_RPC_URL\""}],"expression":{"id":3675,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6935:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"6935:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6935:50:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3674,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6928:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3673,"name":"string","nodeType":"ElementaryTypeName","src":"6928:6:3","typeDescriptions":{}}},"id":3682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6928:58:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"6904:82:3"},{"condition":{"id":3684,"name":"fallbackToDefaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3317,"src":"7008:24:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3707,"nodeType":"Block","src":"7141:77:3","statements":[{"expression":{"id":3705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3698,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3639,"src":"7163:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3700,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3300,"src":"7163:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3703,"name":"envName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3672,"src":"7191:7:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3701,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3283,"src":"7178:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":3702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"envString","nodeType":"MemberAccess","referencedDeclaration":10849,"src":"7178:12:3","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":3704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7178:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7163:36:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3706,"nodeType":"ExpressionStatement","src":"7163:36:3"}]},"id":3708,"nodeType":"IfStatement","src":"7004:214:3","trueBody":{"id":3697,"nodeType":"Block","src":"7034:101:3","statements":[{"expression":{"id":3695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3685,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3639,"src":"7056:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3687,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3300,"src":"7056:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3690,"name":"envName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3672,"src":"7080:7:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"baseExpression":{"id":3691,"name":"defaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3310,"src":"7089:14:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string memory => string storage ref)"}},"id":3693,"indexExpression":{"id":3692,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3636,"src":"7104:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7089:26:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":3688,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3283,"src":"7071:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":3689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":10980,"src":"7071:8:3","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) external returns (string memory)"}},"id":3694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7071:45:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7056:60:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3696,"nodeType":"ExpressionStatement","src":"7056:60:3"}]}},{"assignments":[3710],"declarations":[{"constant":false,"id":3710,"mutability":"mutable","name":"notFoundError","nameLocation":"7310:13:3","nodeType":"VariableDeclaration","scope":3743,"src":"7297:26:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3709,"name":"bytes","nodeType":"ElementaryTypeName","src":"7297:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3723,"initialValue":{"arguments":[{"hexValue":"4368656174436f64654572726f72","id":3713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7370:16:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_0bc445031644df03923eb2ab981d332f4354ceab11a95efce72a938e57beaadf","typeString":"literal_string \"CheatCodeError\""},"value":"CheatCodeError"},{"arguments":[{"arguments":[{"hexValue":"696e76616c6964207270632075726c20","id":3718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7412:18:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_2baf3da7b122675739218e635e969f0d1b560b915d35635239551f70fe123eed","typeString":"literal_string \"invalid rpc url \""},"value":"invalid rpc url "},{"id":3719,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3636,"src":"7432:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2baf3da7b122675739218e635e969f0d1b560b915d35635239551f70fe123eed","typeString":"literal_string \"invalid rpc url \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3716,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7395:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3717,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"7395:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7395:48:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3715,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7388:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3714,"name":"string","nodeType":"ElementaryTypeName","src":"7388:6:3","typeDescriptions":{}}},"id":3721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7388:56:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0bc445031644df03923eb2ab981d332f4354ceab11a95efce72a938e57beaadf","typeString":"literal_string \"CheatCodeError\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3711,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7346:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7346:23:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":3722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7346:99:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7297:148:3"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":3730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3725,"name":"notFoundError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3710,"src":"7477:13:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3724,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7467:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7467:24:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":3728,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3669,"src":"7505:3:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3727,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7495:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7495:14:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7467:42:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":3733,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3639,"src":"7519:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3734,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3300,"src":"7519:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7513:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3731,"name":"bytes","nodeType":"ElementaryTypeName","src":"7513:5:3","typeDescriptions":{}}},"id":3735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7513:19:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7513:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7543:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7513:31:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7467:77:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3742,"nodeType":"IfStatement","src":"7463:267:3","trueBody":{"id":3741,"nodeType":"Block","src":"7546:184:3","statements":[{"AST":{"nodeType":"YulBlock","src":"7632:80:3","statements":[{"expression":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7669:2:3","type":"","value":"32"},{"name":"err","nodeType":"YulIdentifier","src":"7673:3:3"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7665:3:3"},"nodeType":"YulFunctionCall","src":"7665:12:3"},{"arguments":[{"name":"err","nodeType":"YulIdentifier","src":"7685:3:3"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7679:5:3"},"nodeType":"YulFunctionCall","src":"7679:10:3"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7658:6:3"},"nodeType":"YulFunctionCall","src":"7658:32:3"},"nodeType":"YulExpressionStatement","src":"7658:32:3"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":3669,"isOffset":false,"isSlot":false,"src":"7673:3:3","valueSize":1},{"declaration":3669,"isOffset":false,"isSlot":false,"src":"7685:3:3","valueSize":1}],"id":3740,"nodeType":"InlineAssembly","src":"7623:89:3"}]}}]},"errorName":"","id":3744,"nodeType":"TryCatchClause","parameters":{"id":3670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3669,"mutability":"mutable","name":"err","nameLocation":"6881:3:3","nodeType":"VariableDeclaration","scope":3744,"src":"6868:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3668,"name":"bytes","nodeType":"ElementaryTypeName","src":"6868:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6867:18:3"},"src":"6861:883:3"}],"externalCall":{"arguments":[{"id":3655,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3636,"src":"6751:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3653,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3283,"src":"6741:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":3654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":11663,"src":"6741:9:3","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":3656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6741:21:3","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3745,"nodeType":"TryStatement","src":"6737:1007:3"}]}},{"expression":{"id":3748,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3639,"src":"7770:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain memory"}},"functionReturnParameters":3644,"id":3749,"nodeType":"Return","src":"7763:12:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getChainWithUpdatedRpcUrl","nameLocation":"6573:25:3","parameters":{"id":3640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3636,"mutability":"mutable","name":"chainAlias","nameLocation":"6613:10:3","nodeType":"VariableDeclaration","scope":3751,"src":"6599:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3635,"name":"string","nodeType":"ElementaryTypeName","src":"6599:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3639,"mutability":"mutable","name":"chain","nameLocation":"6638:5:3","nodeType":"VariableDeclaration","scope":3751,"src":"6625:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3638,"nodeType":"UserDefinedTypeName","pathNode":{"id":3637,"name":"Chain","nodeType":"IdentifierPath","referencedDeclaration":3301,"src":"6625:5:3"},"referencedDeclaration":3301,"src":"6625:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"6598:46:3"},"returnParameters":{"id":3644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3643,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3751,"src":"6662:12:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3642,"nodeType":"UserDefinedTypeName","pathNode":{"id":3641,"name":"Chain","nodeType":"IdentifierPath","referencedDeclaration":3301,"src":"6662:5:3"},"referencedDeclaration":3301,"src":"6662:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3301_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"6661:14:3"},"scope":3954,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":3761,"nodeType":"FunctionDefinition","src":"7788:117:3","nodes":[],"body":{"id":3760,"nodeType":"Block","src":"7851:54:3","nodes":[],"statements":[{"expression":{"id":3758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3756,"name":"fallbackToDefaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3317,"src":"7861:24:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3757,"name":"useDefault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3753,"src":"7888:10:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7861:37:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3759,"nodeType":"ExpressionStatement","src":"7861:37:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setFallbackToDefaultRpcUrls","nameLocation":"7797:27:3","parameters":{"id":3754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3753,"mutability":"mutable","name":"useDefault","nameLocation":"7830:10:3","nodeType":"VariableDeclaration","scope":3761,"src":"7825:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3752,"name":"bool","nodeType":"ElementaryTypeName","src":"7825:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7824:17:3"},"returnParameters":{"id":3755,"nodeType":"ParameterList","parameters":[],"src":"7851:0:3"},"scope":3954,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":3916,"nodeType":"FunctionDefinition","src":"7911:2350:3","nodes":[],"body":{"id":3915,"nodeType":"Block","src":"7941:2320:3","nodes":[],"statements":[{"condition":{"id":3764,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3285,"src":"7955:11:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3766,"nodeType":"IfStatement","src":"7951:24:3","trueBody":{"functionReturnParameters":3763,"id":3765,"nodeType":"Return","src":"7968:7:3"}},{"expression":{"id":3769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3767,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3285,"src":"7985:11:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":3768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7999:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"7985:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3770,"nodeType":"ExpressionStatement","src":"7985:18:3"},{"expression":{"arguments":[{"hexValue":"616e76696c","id":3772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8126:7:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3d859b77cebfdf9da3b485434702c5090ff9e91b7b86c670ebb15f8a00eb72b","typeString":"literal_string \"anvil\""},"value":"anvil"},{"arguments":[{"hexValue":"416e76696c","id":3774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8145:7:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ab1bd2f543bf53e1036abfe292a89809c7285bff756db6e274686afe6fb41b4","typeString":"literal_string \"Anvil\""},"value":"Anvil"},{"hexValue":"3331333337","id":3775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8154:5:3","typeDescriptions":{"typeIdentifier":"t_rational_31337_by_1","typeString":"int_const 31337"},"value":"31337"},{"hexValue":"687474703a2f2f3132372e302e302e313a38353435","id":3776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8161:23:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_308a18cf3d9de3b161a842ef1e873581d7b16a5d4ea08170e123f95d25f33fe0","typeString":"literal_string \"http://127.0.0.1:8545\""},"value":"http://127.0.0.1:8545"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1ab1bd2f543bf53e1036abfe292a89809c7285bff756db6e274686afe6fb41b4","typeString":"literal_string \"Anvil\""},{"typeIdentifier":"t_rational_31337_by_1","typeString":"int_const 31337"},{"typeIdentifier":"t_stringliteral_308a18cf3d9de3b161a842ef1e873581d7b16a5d4ea08170e123f95d25f33fe0","typeString":"literal_string \"http://127.0.0.1:8545\""}],"id":3773,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"8135:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8135:50:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a3d859b77cebfdf9da3b485434702c5090ff9e91b7b86c670ebb15f8a00eb72b","typeString":"literal_string \"anvil\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3771,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"8100:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8100:86:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3779,"nodeType":"ExpressionStatement","src":"8100:86:3"},{"expression":{"arguments":[{"hexValue":"6d61696e6e6574","id":3781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8235:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_7beafa94c8bfb8f1c1a43104a34f72c524268aafbfe83bff17485539345c66ff","typeString":"literal_string \"mainnet\""},"value":"mainnet"},{"arguments":[{"hexValue":"4d61696e6e6574","id":3783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8256:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d646f556e5d9d6f1edcf7a39b77f5ac253776eb34efcfd688aacbee518efc26","typeString":"literal_string \"Mainnet\""},"value":"Mainnet"},{"hexValue":"31","id":3784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8267:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"68747470733a2f2f6d61696e6e65742e696e667572612e696f2f76332f6634613062646164343236373461646162356663306163303737666661623262","id":3785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8270:63:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_651b171e5bfce3901032cbc54dd29185f74f403360e60968dc06ae60322a82dc","typeString":"literal_string \"https://mainnet.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b\""},"value":"https://mainnet.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d646f556e5d9d6f1edcf7a39b77f5ac253776eb34efcfd688aacbee518efc26","typeString":"literal_string \"Mainnet\""},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_651b171e5bfce3901032cbc54dd29185f74f403360e60968dc06ae60322a82dc","typeString":"literal_string \"https://mainnet.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b\""}],"id":3782,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"8246:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8246:88:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7beafa94c8bfb8f1c1a43104a34f72c524268aafbfe83bff17485539345c66ff","typeString":"literal_string \"mainnet\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3780,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"8196:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8196:148:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3788,"nodeType":"ExpressionStatement","src":"8196:148:3"},{"expression":{"arguments":[{"hexValue":"676f65726c69","id":3790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8393:8:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_e24dd81d18a6354d406364c0fc25f4237534cee10d0c3099c9c2a6aa50d7dd0a","typeString":"literal_string \"goerli\""},"value":"goerli"},{"arguments":[{"hexValue":"476f65726c69","id":3792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8413:8:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_736fc55653a3415af498a1309898240f13c5e9e33098fa3cf9e5f2a200d14c3e","typeString":"literal_string \"Goerli\""},"value":"Goerli"},{"hexValue":"35","id":3793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8423:1:3","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},{"hexValue":"68747470733a2f2f676f65726c692e696e667572612e696f2f76332f6634613062646164343236373461646162356663306163303737666661623262","id":3794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8426:62:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a4a8b4d6a5c5e24e93f9ef74fc16c0353f53b662b51d605822780d3316e58cc7","typeString":"literal_string \"https://goerli.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b\""},"value":"https://goerli.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_736fc55653a3415af498a1309898240f13c5e9e33098fa3cf9e5f2a200d14c3e","typeString":"literal_string \"Goerli\""},{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},{"typeIdentifier":"t_stringliteral_a4a8b4d6a5c5e24e93f9ef74fc16c0353f53b662b51d605822780d3316e58cc7","typeString":"literal_string \"https://goerli.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b\""}],"id":3791,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"8403:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8403:86:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e24dd81d18a6354d406364c0fc25f4237534cee10d0c3099c9c2a6aa50d7dd0a","typeString":"literal_string \"goerli\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3789,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"8354:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8354:145:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3797,"nodeType":"ExpressionStatement","src":"8354:145:3"},{"expression":{"arguments":[{"hexValue":"7365706f6c6961","id":3799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8548:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1f58df0b51f34f4835aba989f0aa2f2e66218cab53207bafd3dbf37270bd39a","typeString":"literal_string \"sepolia\""},"value":"sepolia"},{"arguments":[{"hexValue":"5365706f6c6961","id":3801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8569:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6b54cd124a84bb64f1808905ed95fb171a09730726f85e60eefcd47a4831b27","typeString":"literal_string \"Sepolia\""},"value":"Sepolia"},{"hexValue":"3131313535313131","id":3802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8580:8:3","typeDescriptions":{"typeIdentifier":"t_rational_11155111_by_1","typeString":"int_const 11155111"},"value":"11155111"},{"hexValue":"68747470733a2f2f7365706f6c69612e696e667572612e696f2f76332f6634613062646164343236373461646162356663306163303737666661623262","id":3803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8590:63:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_46ad579bb5d9f21dd75a711d1d55f38711d31c11909bca22ac3b7dbcb26f873d","typeString":"literal_string \"https://sepolia.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b\""},"value":"https://sepolia.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a6b54cd124a84bb64f1808905ed95fb171a09730726f85e60eefcd47a4831b27","typeString":"literal_string \"Sepolia\""},{"typeIdentifier":"t_rational_11155111_by_1","typeString":"int_const 11155111"},{"typeIdentifier":"t_stringliteral_46ad579bb5d9f21dd75a711d1d55f38711d31c11909bca22ac3b7dbcb26f873d","typeString":"literal_string \"https://sepolia.infura.io/v3/f4a0bdad42674adab5fc0ac077ffab2b\""}],"id":3800,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"8559:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8559:95:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e1f58df0b51f34f4835aba989f0aa2f2e66218cab53207bafd3dbf37270bd39a","typeString":"literal_string \"sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3798,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"8509:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8509:155:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3806,"nodeType":"ExpressionStatement","src":"8509:155:3"},{"expression":{"arguments":[{"hexValue":"6f7074696d69736d","id":3808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8700:10:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_09d0f27659ee556a8134fa56941e42400e672aecc2d4cfc61cdb0fcea4590e05","typeString":"literal_string \"optimism\""},"value":"optimism"},{"arguments":[{"hexValue":"4f7074696d69736d","id":3810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8722:10:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_f997187c3c319ef9e33fa05f852d1612b66e309dc48d97a4b6b39832090a3bec","typeString":"literal_string \"Optimism\""},"value":"Optimism"},{"hexValue":"3130","id":3811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8734:2:3","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"68747470733a2f2f6d61696e6e65742e6f7074696d69736d2e696f","id":3812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8738:29:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_38b9211512154272cdc8d9677b3720aef06041b8d31b5e68a6ffc7a4bb22d93e","typeString":"literal_string \"https://mainnet.optimism.io\""},"value":"https://mainnet.optimism.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f997187c3c319ef9e33fa05f852d1612b66e309dc48d97a4b6b39832090a3bec","typeString":"literal_string \"Optimism\""},{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_stringliteral_38b9211512154272cdc8d9677b3720aef06041b8d31b5e68a6ffc7a4bb22d93e","typeString":"literal_string \"https://mainnet.optimism.io\""}],"id":3809,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"8712:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8712:56:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_09d0f27659ee556a8134fa56941e42400e672aecc2d4cfc61cdb0fcea4590e05","typeString":"literal_string \"optimism\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3807,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"8674:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8674:95:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3815,"nodeType":"ExpressionStatement","src":"8674:95:3"},{"expression":{"arguments":[{"hexValue":"6f7074696d69736d5f676f65726c69","id":3817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8805:17:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ecf3b2cc678a701bfbf2329b12e6edf723c3043a32339c2eea2efb7c9533c09c","typeString":"literal_string \"optimism_goerli\""},"value":"optimism_goerli"},{"arguments":[{"hexValue":"4f7074696d69736d20476f65726c69","id":3819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8834:17:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_6271e061a2d4ce1b6e267081a40c4dca996efe738d092d650bcfa23669d2fd24","typeString":"literal_string \"Optimism Goerli\""},"value":"Optimism Goerli"},{"hexValue":"343230","id":3820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8853:3:3","typeDescriptions":{"typeIdentifier":"t_rational_420_by_1","typeString":"int_const 420"},"value":"420"},{"hexValue":"68747470733a2f2f676f65726c692e6f7074696d69736d2e696f","id":3821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8858:28:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef3dbe59ba72d73e51c1959c67c0485880270dce59b4642a5dff6497ea5e55ad","typeString":"literal_string \"https://goerli.optimism.io\""},"value":"https://goerli.optimism.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6271e061a2d4ce1b6e267081a40c4dca996efe738d092d650bcfa23669d2fd24","typeString":"literal_string \"Optimism Goerli\""},{"typeIdentifier":"t_rational_420_by_1","typeString":"int_const 420"},{"typeIdentifier":"t_stringliteral_ef3dbe59ba72d73e51c1959c67c0485880270dce59b4642a5dff6497ea5e55ad","typeString":"literal_string \"https://goerli.optimism.io\""}],"id":3818,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"8824:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8824:63:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ecf3b2cc678a701bfbf2329b12e6edf723c3043a32339c2eea2efb7c9533c09c","typeString":"literal_string \"optimism_goerli\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3816,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"8779:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8779:109:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3824,"nodeType":"ExpressionStatement","src":"8779:109:3"},{"expression":{"arguments":[{"hexValue":"617262697472756d5f6f6e65","id":3826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8924:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b44cea7839e0679ac5072602932da9b25ebfb3a9ac42625d9c583a7b6b2eb4","typeString":"literal_string \"arbitrum_one\""},"value":"arbitrum_one"},{"arguments":[{"hexValue":"417262697472756d204f6e65","id":3828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8950:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e42b1aebd5463751aea2c5f6ee37505334a82b4085315a5f4b8b0f81d3b9004","typeString":"literal_string \"Arbitrum One\""},"value":"Arbitrum One"},{"hexValue":"3432313631","id":3829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8966:5:3","typeDescriptions":{"typeIdentifier":"t_rational_42161_by_1","typeString":"int_const 42161"},"value":"42161"},{"hexValue":"68747470733a2f2f617262312e617262697472756d2e696f2f727063","id":3830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8973:30:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ff28c1a1bf3c117d5956efad529d0ee22dcfc0fe5cbf5a03e0bdfcc3c6cac126","typeString":"literal_string \"https://arb1.arbitrum.io/rpc\""},"value":"https://arb1.arbitrum.io/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9e42b1aebd5463751aea2c5f6ee37505334a82b4085315a5f4b8b0f81d3b9004","typeString":"literal_string \"Arbitrum One\""},{"typeIdentifier":"t_rational_42161_by_1","typeString":"int_const 42161"},{"typeIdentifier":"t_stringliteral_ff28c1a1bf3c117d5956efad529d0ee22dcfc0fe5cbf5a03e0bdfcc3c6cac126","typeString":"literal_string \"https://arb1.arbitrum.io/rpc\""}],"id":3827,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"8940:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8940:64:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b44cea7839e0679ac5072602932da9b25ebfb3a9ac42625d9c583a7b6b2eb4","typeString":"literal_string \"arbitrum_one\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3825,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"8898:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8898:107:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3833,"nodeType":"ExpressionStatement","src":"8898:107:3"},{"expression":{"arguments":[{"hexValue":"617262697472756d5f6f6e655f676f65726c69","id":3835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9054:21:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c5068a3a5cdbd747f13200fdd6f590995f99bde231a5dcfa62a5f92af1dc3d4","typeString":"literal_string \"arbitrum_one_goerli\""},"value":"arbitrum_one_goerli"},{"arguments":[{"hexValue":"417262697472756d204f6e6520476f65726c69","id":3837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9087:21:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_57f7b6894161eb541e81676f15adf1e65eee36bdcfd592f252d22d4394480f21","typeString":"literal_string \"Arbitrum One Goerli\""},"value":"Arbitrum One Goerli"},{"hexValue":"343231363133","id":3838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9110:6:3","typeDescriptions":{"typeIdentifier":"t_rational_421613_by_1","typeString":"int_const 421613"},"value":"421613"},{"hexValue":"68747470733a2f2f676f65726c692d726f6c6c75702e617262697472756d2e696f2f727063","id":3839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9118:39:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_d65fa49ed6bf0763184aace821262295f8ad23c20b74cd1f836fe5e06f5dd8ea","typeString":"literal_string \"https://goerli-rollup.arbitrum.io/rpc\""},"value":"https://goerli-rollup.arbitrum.io/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_57f7b6894161eb541e81676f15adf1e65eee36bdcfd592f252d22d4394480f21","typeString":"literal_string \"Arbitrum One Goerli\""},{"typeIdentifier":"t_rational_421613_by_1","typeString":"int_const 421613"},{"typeIdentifier":"t_stringliteral_d65fa49ed6bf0763184aace821262295f8ad23c20b74cd1f836fe5e06f5dd8ea","typeString":"literal_string \"https://goerli-rollup.arbitrum.io/rpc\""}],"id":3836,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"9077:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9077:81:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c5068a3a5cdbd747f13200fdd6f590995f99bde231a5dcfa62a5f92af1dc3d4","typeString":"literal_string \"arbitrum_one_goerli\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3834,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"9015:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9015:153:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3842,"nodeType":"ExpressionStatement","src":"9015:153:3"},{"expression":{"arguments":[{"hexValue":"617262697472756d5f6e6f7661","id":3844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9204:15:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_9338ed1403277416ebb39d4e992ebf5c49e6dded5ec79963ea5fc261cbd7fdac","typeString":"literal_string \"arbitrum_nova\""},"value":"arbitrum_nova"},{"arguments":[{"hexValue":"417262697472756d204e6f7661","id":3846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9231:15:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_25c77b7679bf463420c39c7728b9f65b6a8f1ae05b3335eb9e394b1b61bf8f21","typeString":"literal_string \"Arbitrum Nova\""},"value":"Arbitrum Nova"},{"hexValue":"3432313730","id":3847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9248:5:3","typeDescriptions":{"typeIdentifier":"t_rational_42170_by_1","typeString":"int_const 42170"},"value":"42170"},{"hexValue":"68747470733a2f2f6e6f76612e617262697472756d2e696f2f727063","id":3848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9255:30:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a77f0a686c95785c75ada33247e30dc9ac80330a7f8eb521bebdf48f492ee4ac","typeString":"literal_string \"https://nova.arbitrum.io/rpc\""},"value":"https://nova.arbitrum.io/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_25c77b7679bf463420c39c7728b9f65b6a8f1ae05b3335eb9e394b1b61bf8f21","typeString":"literal_string \"Arbitrum Nova\""},{"typeIdentifier":"t_rational_42170_by_1","typeString":"int_const 42170"},{"typeIdentifier":"t_stringliteral_a77f0a686c95785c75ada33247e30dc9ac80330a7f8eb521bebdf48f492ee4ac","typeString":"literal_string \"https://nova.arbitrum.io/rpc\""}],"id":3845,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"9221:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9221:65:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9338ed1403277416ebb39d4e992ebf5c49e6dded5ec79963ea5fc261cbd7fdac","typeString":"literal_string \"arbitrum_nova\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3843,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"9178:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9178:109:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3851,"nodeType":"ExpressionStatement","src":"9178:109:3"},{"expression":{"arguments":[{"hexValue":"706f6c79676f6e","id":3853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9323:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ac63fa1fe369e75c38d62f0f4d465b48b3cd5159f0fb416332899402031d1408","typeString":"literal_string \"polygon\""},"value":"polygon"},{"arguments":[{"hexValue":"506f6c79676f6e","id":3855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9344:9:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_890af8db8ca1aa1e915857edbc2717639ebd8a22c786f9e0e776d6a1aacb5e71","typeString":"literal_string \"Polygon\""},"value":"Polygon"},{"hexValue":"313337","id":3856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9355:3:3","typeDescriptions":{"typeIdentifier":"t_rational_137_by_1","typeString":"int_const 137"},"value":"137"},{"hexValue":"68747470733a2f2f706f6c79676f6e2d7270632e636f6d","id":3857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9360:25:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_fda46ab670b83929623b4aa9bcfa97ff7b7376fa90a24a450a8561482232c5c0","typeString":"literal_string \"https://polygon-rpc.com\""},"value":"https://polygon-rpc.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_890af8db8ca1aa1e915857edbc2717639ebd8a22c786f9e0e776d6a1aacb5e71","typeString":"literal_string \"Polygon\""},{"typeIdentifier":"t_rational_137_by_1","typeString":"int_const 137"},{"typeIdentifier":"t_stringliteral_fda46ab670b83929623b4aa9bcfa97ff7b7376fa90a24a450a8561482232c5c0","typeString":"literal_string \"https://polygon-rpc.com\""}],"id":3854,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"9334:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9334:52:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ac63fa1fe369e75c38d62f0f4d465b48b3cd5159f0fb416332899402031d1408","typeString":"literal_string \"polygon\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3852,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"9297:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9297:90:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3860,"nodeType":"ExpressionStatement","src":"9297:90:3"},{"expression":{"arguments":[{"hexValue":"706f6c79676f6e5f6d756d626169","id":3862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9436:16:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a7308364e169f5f44de3933205a00d3632b7366702c91dff3452b4dbf6ed70f0","typeString":"literal_string \"polygon_mumbai\""},"value":"polygon_mumbai"},{"arguments":[{"hexValue":"506f6c79676f6e204d756d626169","id":3864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9464:16:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_173b0df64039e25119e26da4408dbd53da69bf06543516209ecc66f21e0c9725","typeString":"literal_string \"Polygon Mumbai\""},"value":"Polygon Mumbai"},{"hexValue":"3830303031","id":3865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9482:5:3","typeDescriptions":{"typeIdentifier":"t_rational_80001_by_1","typeString":"int_const 80001"},"value":"80001"},{"hexValue":"68747470733a2f2f7270632d6d756d6261692e6d61746963766967696c2e636f6d","id":3866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9489:35:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_73b526a6131ddfd959c21485254bd24a6ab94de746e87b78a515c1d42c7ee121","typeString":"literal_string \"https://rpc-mumbai.maticvigil.com\""},"value":"https://rpc-mumbai.maticvigil.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_173b0df64039e25119e26da4408dbd53da69bf06543516209ecc66f21e0c9725","typeString":"literal_string \"Polygon Mumbai\""},{"typeIdentifier":"t_rational_80001_by_1","typeString":"int_const 80001"},{"typeIdentifier":"t_stringliteral_73b526a6131ddfd959c21485254bd24a6ab94de746e87b78a515c1d42c7ee121","typeString":"literal_string \"https://rpc-mumbai.maticvigil.com\""}],"id":3863,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"9454:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9454:71:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a7308364e169f5f44de3933205a00d3632b7366702c91dff3452b4dbf6ed70f0","typeString":"literal_string \"polygon_mumbai\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3861,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"9397:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9397:138:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3869,"nodeType":"ExpressionStatement","src":"9397:138:3"},{"expression":{"arguments":[{"hexValue":"6176616c616e636865","id":3871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9571:11:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e8b0d92516ee4289145e3b78cea58daac177b1c618beeedbc6cdabd388a6e55","typeString":"literal_string \"avalanche\""},"value":"avalanche"},{"arguments":[{"hexValue":"4176616c616e636865","id":3873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9594:11:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_6585177c3aba6cb7ffc0a37e831a958c4ee9278e4c62c7bdad7175ca09883c40","typeString":"literal_string \"Avalanche\""},"value":"Avalanche"},{"hexValue":"3433313134","id":3874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9607:5:3","typeDescriptions":{"typeIdentifier":"t_rational_43114_by_1","typeString":"int_const 43114"},"value":"43114"},{"hexValue":"68747470733a2f2f6170692e617661782e6e6574776f726b2f6578742f62632f432f727063","id":3875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9614:39:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_429365eac47ed6b261c38927d854e528b743fc5a678b1b4ba631c511f305886a","typeString":"literal_string \"https://api.avax.network/ext/bc/C/rpc\""},"value":"https://api.avax.network/ext/bc/C/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6585177c3aba6cb7ffc0a37e831a958c4ee9278e4c62c7bdad7175ca09883c40","typeString":"literal_string \"Avalanche\""},{"typeIdentifier":"t_rational_43114_by_1","typeString":"int_const 43114"},{"typeIdentifier":"t_stringliteral_429365eac47ed6b261c38927d854e528b743fc5a678b1b4ba631c511f305886a","typeString":"literal_string \"https://api.avax.network/ext/bc/C/rpc\""}],"id":3872,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"9584:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9584:70:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e8b0d92516ee4289145e3b78cea58daac177b1c618beeedbc6cdabd388a6e55","typeString":"literal_string \"avalanche\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3870,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"9545:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9545:110:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3878,"nodeType":"ExpressionStatement","src":"9545:110:3"},{"expression":{"arguments":[{"hexValue":"6176616c616e6368655f66756a69","id":3880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9704:16:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1920d2f80060f1c83444622c7eb5adf4484bed8a537b8d13eae53bd800aa692","typeString":"literal_string \"avalanche_fuji\""},"value":"avalanche_fuji"},{"arguments":[{"hexValue":"4176616c616e6368652046756a69","id":3882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9732:16:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_522b176494c651b1a4c5779e66ed19f885df62891abfb18fd5e45b69bdabe11b","typeString":"literal_string \"Avalanche Fuji\""},"value":"Avalanche Fuji"},{"hexValue":"3433313133","id":3883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9750:5:3","typeDescriptions":{"typeIdentifier":"t_rational_43113_by_1","typeString":"int_const 43113"},"value":"43113"},{"hexValue":"68747470733a2f2f6170692e617661782d746573742e6e6574776f726b2f6578742f62632f432f727063","id":3884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9757:44:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6621ea822eabf6c190358ea82de0c52d3503dcce8117b3366a8a3bd96eb422d","typeString":"literal_string \"https://api.avax-test.network/ext/bc/C/rpc\""},"value":"https://api.avax-test.network/ext/bc/C/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_522b176494c651b1a4c5779e66ed19f885df62891abfb18fd5e45b69bdabe11b","typeString":"literal_string \"Avalanche Fuji\""},{"typeIdentifier":"t_rational_43113_by_1","typeString":"int_const 43113"},{"typeIdentifier":"t_stringliteral_d6621ea822eabf6c190358ea82de0c52d3503dcce8117b3366a8a3bd96eb422d","typeString":"literal_string \"https://api.avax-test.network/ext/bc/C/rpc\""}],"id":3881,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"9722:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9722:80:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1920d2f80060f1c83444622c7eb5adf4484bed8a537b8d13eae53bd800aa692","typeString":"literal_string \"avalanche_fuji\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3879,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"9665:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9665:147:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3887,"nodeType":"ExpressionStatement","src":"9665:147:3"},{"expression":{"arguments":[{"hexValue":"626e625f736d6172745f636861696e","id":3889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9861:17:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa8b17ae9aa26749f5dc3a3bb333e0019db0c257f3541e870f73bb48b574361e","typeString":"literal_string \"bnb_smart_chain\""},"value":"bnb_smart_chain"},{"arguments":[{"hexValue":"424e4220536d61727420436861696e","id":3891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9890:17:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_3606544ee65d30d7c7f7d6a1f6618e0d836299fa5b85b88d71a59535c6a1550f","typeString":"literal_string \"BNB Smart Chain\""},"value":"BNB Smart Chain"},{"hexValue":"3536","id":3892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9909:2:3","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},{"hexValue":"68747470733a2f2f6273632d6461746173656564312e62696e616e63652e6f7267","id":3893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9913:35:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2b4215bd50ab260c8c9f18e36ea07b1f952450853bcf024123d5767a40d4719","typeString":"literal_string \"https://bsc-dataseed1.binance.org\""},"value":"https://bsc-dataseed1.binance.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3606544ee65d30d7c7f7d6a1f6618e0d836299fa5b85b88d71a59535c6a1550f","typeString":"literal_string \"BNB Smart Chain\""},{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},{"typeIdentifier":"t_stringliteral_e2b4215bd50ab260c8c9f18e36ea07b1f952450853bcf024123d5767a40d4719","typeString":"literal_string \"https://bsc-dataseed1.binance.org\""}],"id":3890,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"9880:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9880:69:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fa8b17ae9aa26749f5dc3a3bb333e0019db0c257f3541e870f73bb48b574361e","typeString":"literal_string \"bnb_smart_chain\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3888,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"9822:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9822:137:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3896,"nodeType":"ExpressionStatement","src":"9822:137:3"},{"expression":{"arguments":[{"hexValue":"626e625f736d6172745f636861696e5f746573746e6574","id":3898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10008:25:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_1813de9892ab9db3d0c3b0c3eed9c8b820fe0c7e205bed860e6e89f4d7f75f29","typeString":"literal_string \"bnb_smart_chain_testnet\""},"value":"bnb_smart_chain_testnet"},{"arguments":[{"hexValue":"424e4220536d61727420436861696e20546573746e6574","id":3900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10057:25:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b1d88342c4ab079c9a8243ef8dfeb0bb41e1da5dc9fe62ca728dfe4ea21092c","typeString":"literal_string \"BNB Smart Chain Testnet\""},"value":"BNB Smart Chain Testnet"},{"hexValue":"3937","id":3901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10084:2:3","typeDescriptions":{"typeIdentifier":"t_rational_97_by_1","typeString":"int_const 97"},"value":"97"},{"hexValue":"68747470733a2f2f7270632e616e6b722e636f6d2f6273635f746573746e65745f63686170656c","id":3902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10088:41:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_6660930de41ed298fb6a2348f33b08e5736a3823e6ffb86942097b237e075960","typeString":"literal_string \"https://rpc.ankr.com/bsc_testnet_chapel\""},"value":"https://rpc.ankr.com/bsc_testnet_chapel"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b1d88342c4ab079c9a8243ef8dfeb0bb41e1da5dc9fe62ca728dfe4ea21092c","typeString":"literal_string \"BNB Smart Chain Testnet\""},{"typeIdentifier":"t_rational_97_by_1","typeString":"int_const 97"},{"typeIdentifier":"t_stringliteral_6660930de41ed298fb6a2348f33b08e5736a3823e6ffb86942097b237e075960","typeString":"literal_string \"https://rpc.ankr.com/bsc_testnet_chapel\""}],"id":3899,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"10047:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10047:83:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1813de9892ab9db3d0c3b0c3eed9c8b820fe0c7e205bed860e6e89f4d7f75f29","typeString":"literal_string \"bnb_smart_chain_testnet\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3897,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"9969:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9969:171:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3905,"nodeType":"ExpressionStatement","src":"9969:171:3"},{"expression":{"arguments":[{"hexValue":"676e6f7369735f636861696e","id":3907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10176:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_847b7ed4df59b2dfcdba377bf4ac481c502926169e9af948ee2dd45c0e6df595","typeString":"literal_string \"gnosis_chain\""},"value":"gnosis_chain"},{"arguments":[{"hexValue":"476e6f73697320436861696e","id":3909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10202:14:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bfc6ae4a1f5d8ea33b4f631c2f7dfbfa7d613af42ef38137c06d4cd03619b02","typeString":"literal_string \"Gnosis Chain\""},"value":"Gnosis Chain"},{"hexValue":"313030","id":3910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10218:3:3","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"hexValue":"68747470733a2f2f7270632e676e6f736973636861696e2e636f6d","id":3911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10223:29:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_127e02590d58e22164456f76136047039faabc2ca27eb41939081a3e775b50df","typeString":"literal_string \"https://rpc.gnosischain.com\""},"value":"https://rpc.gnosischain.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9bfc6ae4a1f5d8ea33b4f631c2f7dfbfa7d613af42ef38137c06d4cd03619b02","typeString":"literal_string \"Gnosis Chain\""},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_stringliteral_127e02590d58e22164456f76136047039faabc2ca27eb41939081a3e775b50df","typeString":"literal_string \"https://rpc.gnosischain.com\""}],"id":3908,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"10192:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3292_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10192:61:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_847b7ed4df59b2dfcdba377bf4ac481c502926169e9af948ee2dd45c0e6df595","typeString":"literal_string \"gnosis_chain\""},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3906,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"10150:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10150:104:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3914,"nodeType":"ExpressionStatement","src":"10150:104:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"7920:10:3","parameters":{"id":3762,"nodeType":"ParameterList","parameters":[],"src":"7930:2:3"},"returnParameters":{"id":3763,"nodeType":"ParameterList","parameters":[],"src":"7941:0:3"},"scope":3954,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":3953,"nodeType":"FunctionDefinition","src":"10343:305:3","nodes":[],"body":{"id":3952,"nodeType":"Block","src":"10436:212:3","nodes":[],"statements":[{"assignments":[3925],"declarations":[{"constant":false,"id":3925,"mutability":"mutable","name":"rpcUrl","nameLocation":"10460:6:3","nodeType":"VariableDeclaration","scope":3952,"src":"10446:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3924,"name":"string","nodeType":"ElementaryTypeName","src":"10446:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3928,"initialValue":{"expression":{"id":3926,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3921,"src":"10469:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3927,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3291,"src":"10469:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"10446:35:3"},{"expression":{"id":3933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3929,"name":"defaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3310,"src":"10491:14:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string memory => string storage ref)"}},"id":3931,"indexExpression":{"id":3930,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3918,"src":"10506:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10491:26:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3932,"name":"rpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3925,"src":"10520:6:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10491:35:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":3934,"nodeType":"ExpressionStatement","src":"10491:35:3"},{"expression":{"id":3939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3935,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3921,"src":"10536:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3937,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3291,"src":"10536:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"","id":3938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10551:2:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"src":"10536:17:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3940,"nodeType":"ExpressionStatement","src":"10536:17:3"},{"expression":{"arguments":[{"id":3942,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3918,"src":"10572:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":3943,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3921,"src":"10584:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3941,"name":"setChain","nodeType":"Identifier","overloadedDeclarations":[3536,3557],"referencedDeclaration":3536,"src":"10563:8:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3292_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10563:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3945,"nodeType":"ExpressionStatement","src":"10563:27:3"},{"expression":{"id":3950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3946,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3921,"src":"10600:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3948,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3291,"src":"10600:12:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3949,"name":"rpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3925,"src":"10615:6:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10600:21:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3951,"nodeType":"ExpressionStatement","src":"10600:21:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setChainWithDefaultRpcUrl","nameLocation":"10352:25:3","parameters":{"id":3922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3918,"mutability":"mutable","name":"chainAlias","nameLocation":"10392:10:3","nodeType":"VariableDeclaration","scope":3953,"src":"10378:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3917,"name":"string","nodeType":"ElementaryTypeName","src":"10378:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3921,"mutability":"mutable","name":"chain","nameLocation":"10421:5:3","nodeType":"VariableDeclaration","scope":3953,"src":"10404:22:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_memory_ptr","typeString":"struct StdChains.ChainData"},"typeName":{"id":3920,"nodeType":"UserDefinedTypeName","pathNode":{"id":3919,"name":"ChainData","nodeType":"IdentifierPath","referencedDeclaration":3292,"src":"10404:9:3"},"referencedDeclaration":3292,"src":"10404:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3292_storage_ptr","typeString":"struct StdChains.ChainData"}},"visibility":"internal"}],"src":"10377:50:3"},"returnParameters":{"id":3923,"nodeType":"ParameterList","parameters":[],"src":"10436:0:3"},"scope":3954,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[],"canonicalName":"StdChains","contractDependencies":[],"contractKind":"contract","documentation":{"id":3266,"nodeType":"StructuredDocumentation","src":"134:1935:3","text":" StdChains provides information about EVM compatible chains that can be used in scripts/tests.\n For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are\n identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of\n the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the\n alias used in this contract, which can be found as the first argument to the\n `setChainWithDefaultRpcUrl` call in the `initialize` function.\n There are two main ways to use this contract:\n 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or\n `setChain(string memory chainAlias, Chain memory chain)`\n 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`.\n The first time either of those are used, chains are initialized with the default set of RPC URLs.\n This is done in `initialize`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in\n `defaultRpcUrls`.\n The `setChain` function is straightforward, and it simply saves off the given chain data.\n The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say\n we want to retrieve `mainnet`'s RPC URL:\n - If you haven't set any mainnet chain info with `setChain`, you haven't specified that\n chain in `foundry.toml` and no env var is set, the default data and RPC URL will be returned.\n - If you have set a mainnet RPC URL in `foundry.toml` it will return that, if valid (e.g. if\n a URL is given or if an environment variable is given and that environment variable exists).\n Otherwise, the default data is returned.\n - If you specified data with `setChain` it will return that.\n Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults."},"fullyImplemented":true,"linearizedBaseContracts":[3954],"name":"StdChains","nameLocation":"2088:9:3","scope":3955,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdCheats.sol":{"id":4,"ast":{"absolutePath":"lib/forge-std/src/StdCheats.sol","id":6186,"exportedSymbols":{"StdCheats":[6185],"StdCheatsSafe":[5526],"StdStorage":[7225],"Vm":[12037],"stdStorage":[8658]},"nodeType":"SourceUnit","src":"32:23261:4","nodes":[{"id":3956,"nodeType":"PragmaDirective","src":"32:31:4","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":3957,"nodeType":"PragmaDirective","src":"65:33:4","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":3960,"nodeType":"ImportDirective","src":"100:56:4","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":6186,"sourceUnit":8659,"symbolAliases":[{"foreign":{"id":3958,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7225,"src":"108:10:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"type(struct StdStorage storage pointer)"}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":3959,"name":"stdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8658,"src":"120:10:4","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorage_$8658_$","typeString":"type(library stdStorage)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":3962,"nodeType":"ImportDirective","src":"157:28:4","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":6186,"sourceUnit":12038,"symbolAliases":[{"foreign":{"id":3961,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"165:2:4","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5526,"nodeType":"ContractDefinition","src":"187:17285:4","nodes":[{"id":3979,"nodeType":"VariableDeclaration","src":"225:84:4","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"245:2:4","scope":5526,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"},"typeName":{"id":3964,"nodeType":"UserDefinedTypeName","pathNode":{"id":3963,"name":"Vm","nodeType":"IdentifierPath","referencedDeclaration":12037,"src":"225:2:4"},"referencedDeclaration":12037,"src":"225:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":3973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"287:17:4","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":3972,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"277:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"277:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3971,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"269:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3970,"name":"uint256","nodeType":"ElementaryTypeName","src":"269:7:4","typeDescriptions":{}}},"id":3975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"269:37:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"261:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":3968,"name":"uint160","nodeType":"ElementaryTypeName","src":"261:7:4","typeDescriptions":{}}},"id":3976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"261:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":3967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"253:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3966,"name":"address","nodeType":"ElementaryTypeName","src":"253:7:4","typeDescriptions":{}}},"id":3977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"253:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3965,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"250:2:4","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"id":3978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"250:59:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"visibility":"private"},{"id":3981,"nodeType":"VariableDeclaration","src":"316:27:4","nodes":[],"constant":false,"mutability":"mutable","name":"gasMeteringOff","nameLocation":"329:14:4","scope":5526,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3980,"name":"bool","nodeType":"ElementaryTypeName","src":"316:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":3998,"nodeType":"StructDefinition","src":"588:325:4","nodes":[],"canonicalName":"StdCheatsSafe.RawTx1559","members":[{"constant":false,"id":3984,"mutability":"mutable","name":"arguments","nameLocation":"624:9:4","nodeType":"VariableDeclaration","scope":3998,"src":"615:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":3982,"name":"string","nodeType":"ElementaryTypeName","src":"615:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":3983,"nodeType":"ArrayTypeName","src":"615:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":3986,"mutability":"mutable","name":"contractAddress","nameLocation":"651:15:4","nodeType":"VariableDeclaration","scope":3998,"src":"643:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3985,"name":"address","nodeType":"ElementaryTypeName","src":"643:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3988,"mutability":"mutable","name":"contractName","nameLocation":"683:12:4","nodeType":"VariableDeclaration","scope":3998,"src":"676:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3987,"name":"string","nodeType":"ElementaryTypeName","src":"676:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3990,"mutability":"mutable","name":"functionSig","nameLocation":"750:11:4","nodeType":"VariableDeclaration","scope":3998,"src":"743:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3989,"name":"string","nodeType":"ElementaryTypeName","src":"743:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3992,"mutability":"mutable","name":"hash","nameLocation":"779:4:4","nodeType":"VariableDeclaration","scope":3998,"src":"771:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3991,"name":"bytes32","nodeType":"ElementaryTypeName","src":"771:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":3995,"mutability":"mutable","name":"txDetail","nameLocation":"841:8:4","nodeType":"VariableDeclaration","scope":3998,"src":"825:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"},"typeName":{"id":3994,"nodeType":"UserDefinedTypeName","pathNode":{"id":3993,"name":"RawTx1559Detail","nodeType":"IdentifierPath","referencedDeclaration":4017,"src":"825:15:4"},"referencedDeclaration":4017,"src":"825:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"}},"visibility":"internal"},{"constant":false,"id":3997,"mutability":"mutable","name":"opcode","nameLocation":"900:6:4","nodeType":"VariableDeclaration","scope":3998,"src":"893:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3996,"name":"string","nodeType":"ElementaryTypeName","src":"893:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"RawTx1559","nameLocation":"595:9:4","scope":5526,"visibility":"public"},{"id":4017,"nodeType":"StructDefinition","src":"919:208:4","nodes":[],"canonicalName":"StdCheatsSafe.RawTx1559Detail","members":[{"constant":false,"id":4002,"mutability":"mutable","name":"accessList","nameLocation":"965:10:4","nodeType":"VariableDeclaration","scope":4017,"src":"952:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4109_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"},"typeName":{"baseType":{"id":4000,"nodeType":"UserDefinedTypeName","pathNode":{"id":3999,"name":"AccessList","nodeType":"IdentifierPath","referencedDeclaration":4109,"src":"952:10:4"},"referencedDeclaration":4109,"src":"952:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_AccessList_$4109_storage_ptr","typeString":"struct StdCheatsSafe.AccessList"}},"id":4001,"nodeType":"ArrayTypeName","src":"952:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4109_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"}},"visibility":"internal"},{"constant":false,"id":4004,"mutability":"mutable","name":"data","nameLocation":"991:4:4","nodeType":"VariableDeclaration","scope":4017,"src":"985:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4003,"name":"bytes","nodeType":"ElementaryTypeName","src":"985:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4006,"mutability":"mutable","name":"from","nameLocation":"1013:4:4","nodeType":"VariableDeclaration","scope":4017,"src":"1005:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4005,"name":"address","nodeType":"ElementaryTypeName","src":"1005:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4008,"mutability":"mutable","name":"gas","nameLocation":"1033:3:4","nodeType":"VariableDeclaration","scope":4017,"src":"1027:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4007,"name":"bytes","nodeType":"ElementaryTypeName","src":"1027:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4010,"mutability":"mutable","name":"nonce","nameLocation":"1052:5:4","nodeType":"VariableDeclaration","scope":4017,"src":"1046:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4009,"name":"bytes","nodeType":"ElementaryTypeName","src":"1046:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4012,"mutability":"mutable","name":"to","nameLocation":"1075:2:4","nodeType":"VariableDeclaration","scope":4017,"src":"1067:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4011,"name":"address","nodeType":"ElementaryTypeName","src":"1067:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4014,"mutability":"mutable","name":"txType","nameLocation":"1093:6:4","nodeType":"VariableDeclaration","scope":4017,"src":"1087:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4013,"name":"bytes","nodeType":"ElementaryTypeName","src":"1087:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4016,"mutability":"mutable","name":"value","nameLocation":"1115:5:4","nodeType":"VariableDeclaration","scope":4017,"src":"1109:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4015,"name":"bytes","nodeType":"ElementaryTypeName","src":"1109:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"RawTx1559Detail","nameLocation":"926:15:4","scope":5526,"visibility":"public"},{"id":4034,"nodeType":"StructDefinition","src":"1133:215:4","nodes":[],"canonicalName":"StdCheatsSafe.Tx1559","members":[{"constant":false,"id":4020,"mutability":"mutable","name":"arguments","nameLocation":"1166:9:4","nodeType":"VariableDeclaration","scope":4034,"src":"1157:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4018,"name":"string","nodeType":"ElementaryTypeName","src":"1157:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4019,"nodeType":"ArrayTypeName","src":"1157:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4022,"mutability":"mutable","name":"contractAddress","nameLocation":"1193:15:4","nodeType":"VariableDeclaration","scope":4034,"src":"1185:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4021,"name":"address","nodeType":"ElementaryTypeName","src":"1185:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4024,"mutability":"mutable","name":"contractName","nameLocation":"1225:12:4","nodeType":"VariableDeclaration","scope":4034,"src":"1218:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4023,"name":"string","nodeType":"ElementaryTypeName","src":"1218:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4026,"mutability":"mutable","name":"functionSig","nameLocation":"1254:11:4","nodeType":"VariableDeclaration","scope":4034,"src":"1247:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4025,"name":"string","nodeType":"ElementaryTypeName","src":"1247:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4028,"mutability":"mutable","name":"hash","nameLocation":"1283:4:4","nodeType":"VariableDeclaration","scope":4034,"src":"1275:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4027,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1275:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4031,"mutability":"mutable","name":"txDetail","nameLocation":"1310:8:4","nodeType":"VariableDeclaration","scope":4034,"src":"1297:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"},"typeName":{"id":4030,"nodeType":"UserDefinedTypeName","pathNode":{"id":4029,"name":"Tx1559Detail","nodeType":"IdentifierPath","referencedDeclaration":4053,"src":"1297:12:4"},"referencedDeclaration":4053,"src":"1297:12:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"}},"visibility":"internal"},{"constant":false,"id":4033,"mutability":"mutable","name":"opcode","nameLocation":"1335:6:4","nodeType":"VariableDeclaration","scope":4034,"src":"1328:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4032,"name":"string","nodeType":"ElementaryTypeName","src":"1328:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Tx1559","nameLocation":"1140:6:4","scope":5526,"visibility":"public"},{"id":4053,"nodeType":"StructDefinition","src":"1354:213:4","nodes":[],"canonicalName":"StdCheatsSafe.Tx1559Detail","members":[{"constant":false,"id":4038,"mutability":"mutable","name":"accessList","nameLocation":"1397:10:4","nodeType":"VariableDeclaration","scope":4053,"src":"1384:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4109_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"},"typeName":{"baseType":{"id":4036,"nodeType":"UserDefinedTypeName","pathNode":{"id":4035,"name":"AccessList","nodeType":"IdentifierPath","referencedDeclaration":4109,"src":"1384:10:4"},"referencedDeclaration":4109,"src":"1384:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_AccessList_$4109_storage_ptr","typeString":"struct StdCheatsSafe.AccessList"}},"id":4037,"nodeType":"ArrayTypeName","src":"1384:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4109_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"}},"visibility":"internal"},{"constant":false,"id":4040,"mutability":"mutable","name":"data","nameLocation":"1423:4:4","nodeType":"VariableDeclaration","scope":4053,"src":"1417:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4039,"name":"bytes","nodeType":"ElementaryTypeName","src":"1417:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4042,"mutability":"mutable","name":"from","nameLocation":"1445:4:4","nodeType":"VariableDeclaration","scope":4053,"src":"1437:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4041,"name":"address","nodeType":"ElementaryTypeName","src":"1437:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4044,"mutability":"mutable","name":"gas","nameLocation":"1467:3:4","nodeType":"VariableDeclaration","scope":4053,"src":"1459:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4043,"name":"uint256","nodeType":"ElementaryTypeName","src":"1459:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4046,"mutability":"mutable","name":"nonce","nameLocation":"1488:5:4","nodeType":"VariableDeclaration","scope":4053,"src":"1480:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4045,"name":"uint256","nodeType":"ElementaryTypeName","src":"1480:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4048,"mutability":"mutable","name":"to","nameLocation":"1511:2:4","nodeType":"VariableDeclaration","scope":4053,"src":"1503:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4047,"name":"address","nodeType":"ElementaryTypeName","src":"1503:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4050,"mutability":"mutable","name":"txType","nameLocation":"1531:6:4","nodeType":"VariableDeclaration","scope":4053,"src":"1523:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4049,"name":"uint256","nodeType":"ElementaryTypeName","src":"1523:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4052,"mutability":"mutable","name":"value","nameLocation":"1555:5:4","nodeType":"VariableDeclaration","scope":4053,"src":"1547:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4051,"name":"uint256","nodeType":"ElementaryTypeName","src":"1547:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Tx1559Detail","nameLocation":"1361:12:4","scope":5526,"visibility":"public"},{"id":4070,"nodeType":"StructDefinition","src":"1818:221:4","nodes":[],"canonicalName":"StdCheatsSafe.TxLegacy","members":[{"constant":false,"id":4056,"mutability":"mutable","name":"arguments","nameLocation":"1853:9:4","nodeType":"VariableDeclaration","scope":4070,"src":"1844:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4054,"name":"string","nodeType":"ElementaryTypeName","src":"1844:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4055,"nodeType":"ArrayTypeName","src":"1844:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4058,"mutability":"mutable","name":"contractAddress","nameLocation":"1880:15:4","nodeType":"VariableDeclaration","scope":4070,"src":"1872:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4057,"name":"address","nodeType":"ElementaryTypeName","src":"1872:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4060,"mutability":"mutable","name":"contractName","nameLocation":"1912:12:4","nodeType":"VariableDeclaration","scope":4070,"src":"1905:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4059,"name":"string","nodeType":"ElementaryTypeName","src":"1905:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4062,"mutability":"mutable","name":"functionSig","nameLocation":"1941:11:4","nodeType":"VariableDeclaration","scope":4070,"src":"1934:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4061,"name":"string","nodeType":"ElementaryTypeName","src":"1934:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4064,"mutability":"mutable","name":"hash","nameLocation":"1969:4:4","nodeType":"VariableDeclaration","scope":4070,"src":"1962:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4063,"name":"string","nodeType":"ElementaryTypeName","src":"1962:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4066,"mutability":"mutable","name":"opcode","nameLocation":"1990:6:4","nodeType":"VariableDeclaration","scope":4070,"src":"1983:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4065,"name":"string","nodeType":"ElementaryTypeName","src":"1983:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4069,"mutability":"mutable","name":"transaction","nameLocation":"2021:11:4","nodeType":"VariableDeclaration","scope":4070,"src":"2006:26:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_TxDetailLegacy_$4103_storage_ptr","typeString":"struct StdCheatsSafe.TxDetailLegacy"},"typeName":{"id":4068,"nodeType":"UserDefinedTypeName","pathNode":{"id":4067,"name":"TxDetailLegacy","nodeType":"IdentifierPath","referencedDeclaration":4103,"src":"2006:14:4"},"referencedDeclaration":4103,"src":"2006:14:4","typeDescriptions":{"typeIdentifier":"t_struct$_TxDetailLegacy_$4103_storage_ptr","typeString":"struct StdCheatsSafe.TxDetailLegacy"}},"visibility":"internal"}],"name":"TxLegacy","nameLocation":"1825:8:4","scope":5526,"visibility":"public"},{"id":4103,"nodeType":"StructDefinition","src":"2045:366:4","nodes":[],"canonicalName":"StdCheatsSafe.TxDetailLegacy","members":[{"constant":false,"id":4074,"mutability":"mutable","name":"accessList","nameLocation":"2090:10:4","nodeType":"VariableDeclaration","scope":4103,"src":"2077:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4109_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"},"typeName":{"baseType":{"id":4072,"nodeType":"UserDefinedTypeName","pathNode":{"id":4071,"name":"AccessList","nodeType":"IdentifierPath","referencedDeclaration":4109,"src":"2077:10:4"},"referencedDeclaration":4109,"src":"2077:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_AccessList_$4109_storage_ptr","typeString":"struct StdCheatsSafe.AccessList"}},"id":4073,"nodeType":"ArrayTypeName","src":"2077:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4109_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"}},"visibility":"internal"},{"constant":false,"id":4076,"mutability":"mutable","name":"chainId","nameLocation":"2118:7:4","nodeType":"VariableDeclaration","scope":4103,"src":"2110:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4075,"name":"uint256","nodeType":"ElementaryTypeName","src":"2110:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4078,"mutability":"mutable","name":"data","nameLocation":"2141:4:4","nodeType":"VariableDeclaration","scope":4103,"src":"2135:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4077,"name":"bytes","nodeType":"ElementaryTypeName","src":"2135:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4080,"mutability":"mutable","name":"from","nameLocation":"2163:4:4","nodeType":"VariableDeclaration","scope":4103,"src":"2155:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4079,"name":"address","nodeType":"ElementaryTypeName","src":"2155:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4082,"mutability":"mutable","name":"gas","nameLocation":"2185:3:4","nodeType":"VariableDeclaration","scope":4103,"src":"2177:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4081,"name":"uint256","nodeType":"ElementaryTypeName","src":"2177:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4084,"mutability":"mutable","name":"gasPrice","nameLocation":"2206:8:4","nodeType":"VariableDeclaration","scope":4103,"src":"2198:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4083,"name":"uint256","nodeType":"ElementaryTypeName","src":"2198:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4086,"mutability":"mutable","name":"hash","nameLocation":"2232:4:4","nodeType":"VariableDeclaration","scope":4103,"src":"2224:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4085,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2224:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4088,"mutability":"mutable","name":"nonce","nameLocation":"2254:5:4","nodeType":"VariableDeclaration","scope":4103,"src":"2246:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4087,"name":"uint256","nodeType":"ElementaryTypeName","src":"2246:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4090,"mutability":"mutable","name":"opcode","nameLocation":"2276:6:4","nodeType":"VariableDeclaration","scope":4103,"src":"2269:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":4089,"name":"bytes1","nodeType":"ElementaryTypeName","src":"2269:6:4","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"},{"constant":false,"id":4092,"mutability":"mutable","name":"r","nameLocation":"2300:1:4","nodeType":"VariableDeclaration","scope":4103,"src":"2292:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4091,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2292:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4094,"mutability":"mutable","name":"s","nameLocation":"2319:1:4","nodeType":"VariableDeclaration","scope":4103,"src":"2311:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2311:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4096,"mutability":"mutable","name":"txType","nameLocation":"2338:6:4","nodeType":"VariableDeclaration","scope":4103,"src":"2330:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4095,"name":"uint256","nodeType":"ElementaryTypeName","src":"2330:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4098,"mutability":"mutable","name":"to","nameLocation":"2362:2:4","nodeType":"VariableDeclaration","scope":4103,"src":"2354:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4097,"name":"address","nodeType":"ElementaryTypeName","src":"2354:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4100,"mutability":"mutable","name":"v","nameLocation":"2380:1:4","nodeType":"VariableDeclaration","scope":4103,"src":"2374:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4099,"name":"uint8","nodeType":"ElementaryTypeName","src":"2374:5:4","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":4102,"mutability":"mutable","name":"value","nameLocation":"2399:5:4","nodeType":"VariableDeclaration","scope":4103,"src":"2391:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4101,"name":"uint256","nodeType":"ElementaryTypeName","src":"2391:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"TxDetailLegacy","nameLocation":"2052:14:4","scope":5526,"visibility":"public"},{"id":4109,"nodeType":"StructDefinition","src":"2417:87:4","nodes":[],"canonicalName":"StdCheatsSafe.AccessList","members":[{"constant":false,"id":4105,"mutability":"mutable","name":"accessAddress","nameLocation":"2453:13:4","nodeType":"VariableDeclaration","scope":4109,"src":"2445:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4104,"name":"address","nodeType":"ElementaryTypeName","src":"2445:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4108,"mutability":"mutable","name":"storageKeys","nameLocation":"2486:11:4","nodeType":"VariableDeclaration","scope":4109,"src":"2476:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":4106,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2476:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4107,"nodeType":"ArrayTypeName","src":"2476:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"name":"AccessList","nameLocation":"2424:10:4","scope":5526,"visibility":"public"},{"id":4138,"nodeType":"StructDefinition","src":"2720:385:4","nodes":[],"canonicalName":"StdCheatsSafe.RawReceipt","members":[{"constant":false,"id":4111,"mutability":"mutable","name":"blockHash","nameLocation":"2756:9:4","nodeType":"VariableDeclaration","scope":4138,"src":"2748:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4110,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2748:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4113,"mutability":"mutable","name":"blockNumber","nameLocation":"2781:11:4","nodeType":"VariableDeclaration","scope":4138,"src":"2775:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4112,"name":"bytes","nodeType":"ElementaryTypeName","src":"2775:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4115,"mutability":"mutable","name":"contractAddress","nameLocation":"2810:15:4","nodeType":"VariableDeclaration","scope":4138,"src":"2802:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4114,"name":"address","nodeType":"ElementaryTypeName","src":"2802:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4117,"mutability":"mutable","name":"cumulativeGasUsed","nameLocation":"2841:17:4","nodeType":"VariableDeclaration","scope":4138,"src":"2835:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4116,"name":"bytes","nodeType":"ElementaryTypeName","src":"2835:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4119,"mutability":"mutable","name":"effectiveGasPrice","nameLocation":"2874:17:4","nodeType":"VariableDeclaration","scope":4138,"src":"2868:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4118,"name":"bytes","nodeType":"ElementaryTypeName","src":"2868:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4121,"mutability":"mutable","name":"from","nameLocation":"2909:4:4","nodeType":"VariableDeclaration","scope":4138,"src":"2901:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4120,"name":"address","nodeType":"ElementaryTypeName","src":"2901:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4123,"mutability":"mutable","name":"gasUsed","nameLocation":"2929:7:4","nodeType":"VariableDeclaration","scope":4138,"src":"2923:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4122,"name":"bytes","nodeType":"ElementaryTypeName","src":"2923:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4127,"mutability":"mutable","name":"logs","nameLocation":"2962:4:4","nodeType":"VariableDeclaration","scope":4138,"src":"2946:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"},"typeName":{"baseType":{"id":4125,"nodeType":"UserDefinedTypeName","pathNode":{"id":4124,"name":"RawReceiptLog","nodeType":"IdentifierPath","referencedDeclaration":4235,"src":"2946:13:4"},"referencedDeclaration":4235,"src":"2946:13:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog"}},"id":4126,"nodeType":"ArrayTypeName","src":"2946:15:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"}},"visibility":"internal"},{"constant":false,"id":4129,"mutability":"mutable","name":"logsBloom","nameLocation":"2982:9:4","nodeType":"VariableDeclaration","scope":4138,"src":"2976:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4128,"name":"bytes","nodeType":"ElementaryTypeName","src":"2976:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4131,"mutability":"mutable","name":"status","nameLocation":"3007:6:4","nodeType":"VariableDeclaration","scope":4138,"src":"3001:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4130,"name":"bytes","nodeType":"ElementaryTypeName","src":"3001:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4133,"mutability":"mutable","name":"to","nameLocation":"3031:2:4","nodeType":"VariableDeclaration","scope":4138,"src":"3023:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4132,"name":"address","nodeType":"ElementaryTypeName","src":"3023:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4135,"mutability":"mutable","name":"transactionHash","nameLocation":"3051:15:4","nodeType":"VariableDeclaration","scope":4138,"src":"3043:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4134,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3043:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4137,"mutability":"mutable","name":"transactionIndex","nameLocation":"3082:16:4","nodeType":"VariableDeclaration","scope":4138,"src":"3076:22:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4136,"name":"bytes","nodeType":"ElementaryTypeName","src":"3076:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"RawReceipt","nameLocation":"2727:10:4","scope":5526,"visibility":"public"},{"id":4167,"nodeType":"StructDefinition","src":"3111:391:4","nodes":[],"canonicalName":"StdCheatsSafe.Receipt","members":[{"constant":false,"id":4140,"mutability":"mutable","name":"blockHash","nameLocation":"3144:9:4","nodeType":"VariableDeclaration","scope":4167,"src":"3136:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4139,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3136:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4142,"mutability":"mutable","name":"blockNumber","nameLocation":"3171:11:4","nodeType":"VariableDeclaration","scope":4167,"src":"3163:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4141,"name":"uint256","nodeType":"ElementaryTypeName","src":"3163:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4144,"mutability":"mutable","name":"contractAddress","nameLocation":"3200:15:4","nodeType":"VariableDeclaration","scope":4167,"src":"3192:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4143,"name":"address","nodeType":"ElementaryTypeName","src":"3192:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4146,"mutability":"mutable","name":"cumulativeGasUsed","nameLocation":"3233:17:4","nodeType":"VariableDeclaration","scope":4167,"src":"3225:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4145,"name":"uint256","nodeType":"ElementaryTypeName","src":"3225:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4148,"mutability":"mutable","name":"effectiveGasPrice","nameLocation":"3268:17:4","nodeType":"VariableDeclaration","scope":4167,"src":"3260:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4147,"name":"uint256","nodeType":"ElementaryTypeName","src":"3260:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4150,"mutability":"mutable","name":"from","nameLocation":"3303:4:4","nodeType":"VariableDeclaration","scope":4167,"src":"3295:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4149,"name":"address","nodeType":"ElementaryTypeName","src":"3295:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4152,"mutability":"mutable","name":"gasUsed","nameLocation":"3325:7:4","nodeType":"VariableDeclaration","scope":4167,"src":"3317:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4151,"name":"uint256","nodeType":"ElementaryTypeName","src":"3317:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4156,"mutability":"mutable","name":"logs","nameLocation":"3355:4:4","nodeType":"VariableDeclaration","scope":4167,"src":"3342:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"},"typeName":{"baseType":{"id":4154,"nodeType":"UserDefinedTypeName","pathNode":{"id":4153,"name":"ReceiptLog","nodeType":"IdentifierPath","referencedDeclaration":4255,"src":"3342:10:4"},"referencedDeclaration":4255,"src":"3342:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":4155,"nodeType":"ArrayTypeName","src":"3342:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}},"visibility":"internal"},{"constant":false,"id":4158,"mutability":"mutable","name":"logsBloom","nameLocation":"3375:9:4","nodeType":"VariableDeclaration","scope":4167,"src":"3369:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4157,"name":"bytes","nodeType":"ElementaryTypeName","src":"3369:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4160,"mutability":"mutable","name":"status","nameLocation":"3402:6:4","nodeType":"VariableDeclaration","scope":4167,"src":"3394:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4159,"name":"uint256","nodeType":"ElementaryTypeName","src":"3394:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4162,"mutability":"mutable","name":"to","nameLocation":"3426:2:4","nodeType":"VariableDeclaration","scope":4167,"src":"3418:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4161,"name":"address","nodeType":"ElementaryTypeName","src":"3418:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4164,"mutability":"mutable","name":"transactionHash","nameLocation":"3446:15:4","nodeType":"VariableDeclaration","scope":4167,"src":"3438:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4163,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3438:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4166,"mutability":"mutable","name":"transactionIndex","nameLocation":"3479:16:4","nodeType":"VariableDeclaration","scope":4167,"src":"3471:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4165,"name":"uint256","nodeType":"ElementaryTypeName","src":"3471:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Receipt","nameLocation":"3118:7:4","scope":5526,"visibility":"public"},{"id":4190,"nodeType":"StructDefinition","src":"3625:227:4","nodes":[],"canonicalName":"StdCheatsSafe.EIP1559ScriptArtifact","members":[{"constant":false,"id":4170,"mutability":"mutable","name":"libraries","nameLocation":"3673:9:4","nodeType":"VariableDeclaration","scope":4190,"src":"3664:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4168,"name":"string","nodeType":"ElementaryTypeName","src":"3664:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4169,"nodeType":"ArrayTypeName","src":"3664:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4172,"mutability":"mutable","name":"path","nameLocation":"3699:4:4","nodeType":"VariableDeclaration","scope":4190,"src":"3692:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4171,"name":"string","nodeType":"ElementaryTypeName","src":"3692:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4175,"mutability":"mutable","name":"pending","nameLocation":"3722:7:4","nodeType":"VariableDeclaration","scope":4190,"src":"3713:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4173,"name":"string","nodeType":"ElementaryTypeName","src":"3713:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4174,"nodeType":"ArrayTypeName","src":"3713:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4179,"mutability":"mutable","name":"receipts","nameLocation":"3749:8:4","nodeType":"VariableDeclaration","scope":4190,"src":"3739:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":4177,"nodeType":"UserDefinedTypeName","pathNode":{"id":4176,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":4167,"src":"3739:7:4"},"referencedDeclaration":4167,"src":"3739:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":4178,"nodeType":"ArrayTypeName","src":"3739:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"},{"constant":false,"id":4181,"mutability":"mutable","name":"timestamp","nameLocation":"3775:9:4","nodeType":"VariableDeclaration","scope":4190,"src":"3767:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4180,"name":"uint256","nodeType":"ElementaryTypeName","src":"3767:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4185,"mutability":"mutable","name":"transactions","nameLocation":"3803:12:4","nodeType":"VariableDeclaration","scope":4190,"src":"3794:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":4183,"nodeType":"UserDefinedTypeName","pathNode":{"id":4182,"name":"Tx1559","nodeType":"IdentifierPath","referencedDeclaration":4034,"src":"3794:6:4"},"referencedDeclaration":4034,"src":"3794:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":4184,"nodeType":"ArrayTypeName","src":"3794:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"},{"constant":false,"id":4189,"mutability":"mutable","name":"txReturns","nameLocation":"3836:9:4","nodeType":"VariableDeclaration","scope":4190,"src":"3825:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4260_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"},"typeName":{"baseType":{"id":4187,"nodeType":"UserDefinedTypeName","pathNode":{"id":4186,"name":"TxReturn","nodeType":"IdentifierPath","referencedDeclaration":4260,"src":"3825:8:4"},"referencedDeclaration":4260,"src":"3825:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_TxReturn_$4260_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn"}},"id":4188,"nodeType":"ArrayTypeName","src":"3825:10:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4260_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"}},"visibility":"internal"}],"name":"EIP1559ScriptArtifact","nameLocation":"3632:21:4","scope":5526,"visibility":"public"},{"id":4213,"nodeType":"StructDefinition","src":"3858:236:4","nodes":[],"canonicalName":"StdCheatsSafe.RawEIP1559ScriptArtifact","members":[{"constant":false,"id":4193,"mutability":"mutable","name":"libraries","nameLocation":"3909:9:4","nodeType":"VariableDeclaration","scope":4213,"src":"3900:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4191,"name":"string","nodeType":"ElementaryTypeName","src":"3900:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4192,"nodeType":"ArrayTypeName","src":"3900:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4195,"mutability":"mutable","name":"path","nameLocation":"3935:4:4","nodeType":"VariableDeclaration","scope":4213,"src":"3928:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4194,"name":"string","nodeType":"ElementaryTypeName","src":"3928:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4198,"mutability":"mutable","name":"pending","nameLocation":"3958:7:4","nodeType":"VariableDeclaration","scope":4213,"src":"3949:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4196,"name":"string","nodeType":"ElementaryTypeName","src":"3949:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4197,"nodeType":"ArrayTypeName","src":"3949:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4202,"mutability":"mutable","name":"receipts","nameLocation":"3988:8:4","nodeType":"VariableDeclaration","scope":4213,"src":"3975:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"},"typeName":{"baseType":{"id":4200,"nodeType":"UserDefinedTypeName","pathNode":{"id":4199,"name":"RawReceipt","nodeType":"IdentifierPath","referencedDeclaration":4138,"src":"3975:10:4"},"referencedDeclaration":4138,"src":"3975:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"id":4201,"nodeType":"ArrayTypeName","src":"3975:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"}},"visibility":"internal"},{"constant":false,"id":4206,"mutability":"mutable","name":"txReturns","nameLocation":"4017:9:4","nodeType":"VariableDeclaration","scope":4213,"src":"4006:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4260_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"},"typeName":{"baseType":{"id":4204,"nodeType":"UserDefinedTypeName","pathNode":{"id":4203,"name":"TxReturn","nodeType":"IdentifierPath","referencedDeclaration":4260,"src":"4006:8:4"},"referencedDeclaration":4260,"src":"4006:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_TxReturn_$4260_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn"}},"id":4205,"nodeType":"ArrayTypeName","src":"4006:10:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4260_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"}},"visibility":"internal"},{"constant":false,"id":4208,"mutability":"mutable","name":"timestamp","nameLocation":"4044:9:4","nodeType":"VariableDeclaration","scope":4213,"src":"4036:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4207,"name":"uint256","nodeType":"ElementaryTypeName","src":"4036:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4212,"mutability":"mutable","name":"transactions","nameLocation":"4075:12:4","nodeType":"VariableDeclaration","scope":4213,"src":"4063:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"},"typeName":{"baseType":{"id":4210,"nodeType":"UserDefinedTypeName","pathNode":{"id":4209,"name":"RawTx1559","nodeType":"IdentifierPath","referencedDeclaration":3998,"src":"4063:9:4"},"referencedDeclaration":3998,"src":"4063:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"id":4211,"nodeType":"ArrayTypeName","src":"4063:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"}},"visibility":"internal"}],"name":"RawEIP1559ScriptArtifact","nameLocation":"3865:24:4","scope":5526,"visibility":"public"},{"id":4235,"nodeType":"StructDefinition","src":"4100:334:4","nodes":[],"canonicalName":"StdCheatsSafe.RawReceiptLog","members":[{"constant":false,"id":4215,"mutability":"mutable","name":"logAddress","nameLocation":"4171:10:4","nodeType":"VariableDeclaration","scope":4235,"src":"4163:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4214,"name":"address","nodeType":"ElementaryTypeName","src":"4163:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4217,"mutability":"mutable","name":"blockHash","nameLocation":"4199:9:4","nodeType":"VariableDeclaration","scope":4235,"src":"4191:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4216,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4191:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4219,"mutability":"mutable","name":"blockNumber","nameLocation":"4224:11:4","nodeType":"VariableDeclaration","scope":4235,"src":"4218:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4218,"name":"bytes","nodeType":"ElementaryTypeName","src":"4218:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4221,"mutability":"mutable","name":"data","nameLocation":"4251:4:4","nodeType":"VariableDeclaration","scope":4235,"src":"4245:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4220,"name":"bytes","nodeType":"ElementaryTypeName","src":"4245:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4223,"mutability":"mutable","name":"logIndex","nameLocation":"4271:8:4","nodeType":"VariableDeclaration","scope":4235,"src":"4265:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4222,"name":"bytes","nodeType":"ElementaryTypeName","src":"4265:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4225,"mutability":"mutable","name":"removed","nameLocation":"4294:7:4","nodeType":"VariableDeclaration","scope":4235,"src":"4289:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4224,"name":"bool","nodeType":"ElementaryTypeName","src":"4289:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4228,"mutability":"mutable","name":"topics","nameLocation":"4321:6:4","nodeType":"VariableDeclaration","scope":4235,"src":"4311:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":4226,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4311:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4227,"nodeType":"ArrayTypeName","src":"4311:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":4230,"mutability":"mutable","name":"transactionHash","nameLocation":"4345:15:4","nodeType":"VariableDeclaration","scope":4235,"src":"4337:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4229,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4337:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4232,"mutability":"mutable","name":"transactionIndex","nameLocation":"4376:16:4","nodeType":"VariableDeclaration","scope":4235,"src":"4370:22:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4231,"name":"bytes","nodeType":"ElementaryTypeName","src":"4370:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4234,"mutability":"mutable","name":"transactionLogIndex","nameLocation":"4408:19:4","nodeType":"VariableDeclaration","scope":4235,"src":"4402:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4233,"name":"bytes","nodeType":"ElementaryTypeName","src":"4402:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"RawReceiptLog","nameLocation":"4107:13:4","scope":5526,"visibility":"public"},{"id":4255,"nodeType":"StructDefinition","src":"4440:306:4","nodes":[],"canonicalName":"StdCheatsSafe.ReceiptLog","members":[{"constant":false,"id":4237,"mutability":"mutable","name":"logAddress","nameLocation":"4508:10:4","nodeType":"VariableDeclaration","scope":4255,"src":"4500:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4236,"name":"address","nodeType":"ElementaryTypeName","src":"4500:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4239,"mutability":"mutable","name":"blockHash","nameLocation":"4536:9:4","nodeType":"VariableDeclaration","scope":4255,"src":"4528:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4238,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4528:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4241,"mutability":"mutable","name":"blockNumber","nameLocation":"4563:11:4","nodeType":"VariableDeclaration","scope":4255,"src":"4555:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4240,"name":"uint256","nodeType":"ElementaryTypeName","src":"4555:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4243,"mutability":"mutable","name":"data","nameLocation":"4590:4:4","nodeType":"VariableDeclaration","scope":4255,"src":"4584:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4242,"name":"bytes","nodeType":"ElementaryTypeName","src":"4584:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4245,"mutability":"mutable","name":"logIndex","nameLocation":"4612:8:4","nodeType":"VariableDeclaration","scope":4255,"src":"4604:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4244,"name":"uint256","nodeType":"ElementaryTypeName","src":"4604:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4248,"mutability":"mutable","name":"topics","nameLocation":"4640:6:4","nodeType":"VariableDeclaration","scope":4255,"src":"4630:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":4246,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4630:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4247,"nodeType":"ArrayTypeName","src":"4630:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":4250,"mutability":"mutable","name":"transactionIndex","nameLocation":"4664:16:4","nodeType":"VariableDeclaration","scope":4255,"src":"4656:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4249,"name":"uint256","nodeType":"ElementaryTypeName","src":"4656:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4252,"mutability":"mutable","name":"transactionLogIndex","nameLocation":"4698:19:4","nodeType":"VariableDeclaration","scope":4255,"src":"4690:27:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4251,"name":"uint256","nodeType":"ElementaryTypeName","src":"4690:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4254,"mutability":"mutable","name":"removed","nameLocation":"4732:7:4","nodeType":"VariableDeclaration","scope":4255,"src":"4727:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4253,"name":"bool","nodeType":"ElementaryTypeName","src":"4727:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"ReceiptLog","nameLocation":"4447:10:4","scope":5526,"visibility":"public"},{"id":4260,"nodeType":"StructDefinition","src":"4752:74:4","nodes":[],"canonicalName":"StdCheatsSafe.TxReturn","members":[{"constant":false,"id":4257,"mutability":"mutable","name":"internalType","nameLocation":"4785:12:4","nodeType":"VariableDeclaration","scope":4260,"src":"4778:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4256,"name":"string","nodeType":"ElementaryTypeName","src":"4778:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4259,"mutability":"mutable","name":"value","nameLocation":"4814:5:4","nodeType":"VariableDeclaration","scope":4260,"src":"4807:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4258,"name":"string","nodeType":"ElementaryTypeName","src":"4807:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"TxReturn","nameLocation":"4759:8:4","scope":5526,"visibility":"public"},{"id":4275,"nodeType":"FunctionDefinition","src":"4832:274:4","nodes":[],"body":{"id":4274,"nodeType":"Block","src":"4892:214:4","nodes":[],"statements":[{"assignments":[4266],"declarations":[{"constant":false,"id":4266,"mutability":"mutable","name":"chainId","nameLocation":"4986:7:4","nodeType":"VariableDeclaration","scope":4274,"src":"4978:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4265,"name":"uint256","nodeType":"ElementaryTypeName","src":"4978:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4267,"nodeType":"VariableDeclarationStatement","src":"4978:15:4"},{"AST":{"nodeType":"YulBlock","src":"5012:44:4","statements":[{"nodeType":"YulAssignment","src":"5026:20:4","value":{"arguments":[],"functionName":{"name":"chainid","nodeType":"YulIdentifier","src":"5037:7:4"},"nodeType":"YulFunctionCall","src":"5037:9:4"},"variableNames":[{"name":"chainId","nodeType":"YulIdentifier","src":"5026:7:4"}]}]},"evmVersion":"london","externalReferences":[{"declaration":4266,"isOffset":false,"isSlot":false,"src":"5026:7:4","valueSize":1}],"id":4268,"nodeType":"InlineAssembly","src":"5003:53:4"},{"expression":{"arguments":[{"id":4270,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4262,"src":"5085:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4271,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4266,"src":"5091:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4269,"name":"assumeNoPrecompiles","nodeType":"Identifier","overloadedDeclarations":[4275,4418],"referencedDeclaration":4418,"src":"5065:19:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) pure"}},"id":4272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5065:34:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4273,"nodeType":"ExpressionStatement","src":"5065:34:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNoPrecompiles","nameLocation":"4841:19:4","parameters":{"id":4263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4262,"mutability":"mutable","name":"addr","nameLocation":"4869:4:4","nodeType":"VariableDeclaration","scope":4275,"src":"4861:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4261,"name":"address","nodeType":"ElementaryTypeName","src":"4861:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4860:14:4"},"returnParameters":{"id":4264,"nodeType":"ParameterList","parameters":[],"src":"4892:0:4"},"scope":5526,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4418,"nodeType":"FunctionDefinition","src":"5112:1788:4","nodes":[],"body":{"id":4417,"nodeType":"Block","src":"5194:1706:4","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4285,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"5492:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307831","id":4288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5507:3:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":4287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5499:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4286,"name":"address","nodeType":"ElementaryTypeName","src":"5499:7:4","typeDescriptions":{}}},"id":4289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5499:12:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5492:19:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4291,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"5515:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307839","id":4294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5530:3:4","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"0x9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"}],"id":4293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5522:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4292,"name":"address","nodeType":"ElementaryTypeName","src":"5522:7:4","typeDescriptions":{}}},"id":4295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5522:12:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5515:19:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5492:42:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4282,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"5482:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":11683,"src":"5482:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5482:53:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4299,"nodeType":"ExpressionStatement","src":"5482:53:4"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4300,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4279,"src":"5585:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3130","id":4301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5596:2:4","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"5585:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4303,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4279,"src":"5602:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"343230","id":4304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5613:3:4","typeDescriptions":{"typeIdentifier":"t_rational_420_by_1","typeString":"int_const 420"},"value":"420"},"src":"5602:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5585:31:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4326,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4279,"src":"5934:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3432313631","id":4327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5945:5:4","typeDescriptions":{"typeIdentifier":"t_rational_42161_by_1","typeString":"int_const 42161"},"value":"42161"},"src":"5934:16:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4329,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4279,"src":"5954:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"343231363133","id":4330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5965:6:4","typeDescriptions":{"typeIdentifier":"t_rational_421613_by_1","typeString":"int_const 421613"},"value":"421613"},"src":"5954:17:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5934:37:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4352,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4279,"src":"6248:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3433313134","id":4353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6259:5:4","typeDescriptions":{"typeIdentifier":"t_rational_43114_by_1","typeString":"int_const 43114"},"value":"43114"},"src":"6248:16:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4355,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4279,"src":"6268:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3433313133","id":4356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6279:5:4","typeDescriptions":{"typeIdentifier":"t_rational_43113_by_1","typeString":"int_const 43113"},"value":"43113"},"src":"6268:16:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6248:36:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4414,"nodeType":"IfStatement","src":"6244:617:4","trueBody":{"id":4413,"nodeType":"Block","src":"6286:575:4","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4362,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"6439:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830313030303030303030303030303030303030303030303030303030303030303030303030303030","id":4365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6454:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0100000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6446:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4363,"name":"address","nodeType":"ElementaryTypeName","src":"6446:7:4","typeDescriptions":{}}},"id":4366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6446:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6439:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4368,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"6501:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830313030303030303030303030303030303030303030303030303030303030303030303030306666","id":4371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6516:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x01000000000000000000000000000000000000ff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6508:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4369,"name":"address","nodeType":"ElementaryTypeName","src":"6508:7:4","typeDescriptions":{}}},"id":4372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6508:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6501:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6439:120:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4359,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"6429:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":11683,"src":"6429:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6429:131:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4376,"nodeType":"ExpressionStatement","src":"6429:131:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4380,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"6584:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830323030303030303030303030303030303030303030303030303030303030303030303030303030","id":4383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6599:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0200000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6591:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4381,"name":"address","nodeType":"ElementaryTypeName","src":"6591:7:4","typeDescriptions":{}}},"id":4384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6591:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6584:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4386,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"6646:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830323030303030303030303030303030303030303030303030303030303030303030303030304646","id":4389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6661:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x02000000000000000000000000000000000000FF"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4388,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6653:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4387,"name":"address","nodeType":"ElementaryTypeName","src":"6653:7:4","typeDescriptions":{}}},"id":4390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6653:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6646:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6584:120:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4377,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"6574:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":11683,"src":"6574:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6574:131:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4394,"nodeType":"ExpressionStatement","src":"6574:131:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4398,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"6729:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830333030303030303030303030303030303030303030303030303030303030303030303030303030","id":4401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6744:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0300000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6736:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4399,"name":"address","nodeType":"ElementaryTypeName","src":"6736:7:4","typeDescriptions":{}}},"id":4402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6736:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6729:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4404,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"6791:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830333030303030303030303030303030303030303030303030303030303030303030303030304666","id":4407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6806:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x03000000000000000000000000000000000000Ff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6798:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4405,"name":"address","nodeType":"ElementaryTypeName","src":"6798:7:4","typeDescriptions":{}}},"id":4408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6798:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6791:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6729:120:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4395,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"6719:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":11683,"src":"6719:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6719:131:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4412,"nodeType":"ExpressionStatement","src":"6719:131:4"}]}},"id":4415,"nodeType":"IfStatement","src":"5930:931:4","trueBody":{"id":4351,"nodeType":"Block","src":"5973:265:4","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4336,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"6106:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303634","id":4339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6121:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0000000000000000000000000000000000000064"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6113:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4337,"name":"address","nodeType":"ElementaryTypeName","src":"6113:7:4","typeDescriptions":{}}},"id":4340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6113:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6106:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4342,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"6168:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303638","id":4345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6183:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0000000000000000000000000000000000000068"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4344,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6175:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4343,"name":"address","nodeType":"ElementaryTypeName","src":"6175:7:4","typeDescriptions":{}}},"id":4346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6175:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6168:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6106:120:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4333,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"6096:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":11683,"src":"6096:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6096:131:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4350,"nodeType":"ExpressionStatement","src":"6096:131:4"}]}},"id":4416,"nodeType":"IfStatement","src":"5581:1280:4","trueBody":{"id":4325,"nodeType":"Block","src":"5618:306:4","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4310,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"5792:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307834323030303030303030303030303030303030303030303030303030303030303030303030303030","id":4313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5807:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4200000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5799:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4311,"name":"address","nodeType":"ElementaryTypeName","src":"5799:7:4","typeDescriptions":{}}},"id":4314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5799:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5792:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4316,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4277,"src":"5854:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307834323030303030303030303030303030303030303030303030303030303030303030303030383030","id":4319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5869:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4200000000000000000000000000000000000800"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4318,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5861:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4317,"name":"address","nodeType":"ElementaryTypeName","src":"5861:7:4","typeDescriptions":{}}},"id":4320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5861:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5854:58:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5792:120:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4307,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"5782:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":11683,"src":"5782:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5782:131:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4324,"nodeType":"ExpressionStatement","src":"5782:131:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNoPrecompiles","nameLocation":"5121:19:4","parameters":{"id":4280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4277,"mutability":"mutable","name":"addr","nameLocation":"5149:4:4","nodeType":"VariableDeclaration","scope":4418,"src":"5141:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4276,"name":"address","nodeType":"ElementaryTypeName","src":"5141:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4279,"mutability":"mutable","name":"chainId","nameLocation":"5163:7:4","nodeType":"VariableDeclaration","scope":4418,"src":"5155:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4278,"name":"uint256","nodeType":"ElementaryTypeName","src":"5155:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5140:31:4"},"returnParameters":{"id":4281,"nodeType":"ParameterList","parameters":[],"src":"5194:0:4"},"scope":5526,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":4510,"nodeType":"FunctionDefinition","src":"6906:843:4","nodes":[],"body":{"id":4509,"nodeType":"Block","src":"7058:691:4","nodes":[],"statements":[{"assignments":[4427],"declarations":[{"constant":false,"id":4427,"mutability":"mutable","name":"data","nameLocation":"7082:4:4","nodeType":"VariableDeclaration","scope":4509,"src":"7068:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4426,"name":"string","nodeType":"ElementaryTypeName","src":"7068:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4432,"initialValue":{"arguments":[{"id":4430,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4420,"src":"7101:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4428,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"7089:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":11151,"src":"7089:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":4431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7089:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"7068:38:4"},{"assignments":[4434],"declarations":[{"constant":false,"id":4434,"mutability":"mutable","name":"parsedData","nameLocation":"7129:10:4","nodeType":"VariableDeclaration","scope":4509,"src":"7116:23:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4433,"name":"bytes","nodeType":"ElementaryTypeName","src":"7116:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4439,"initialValue":{"arguments":[{"id":4437,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4427,"src":"7155:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4435,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"7142:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":11346,"src":"7142:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure external returns (bytes memory)"}},"id":4438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7142:18:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7116:44:4"},{"assignments":[4442],"declarations":[{"constant":false,"id":4442,"mutability":"mutable","name":"rawArtifact","nameLocation":"7202:11:4","nodeType":"VariableDeclaration","scope":4509,"src":"7170:43:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact"},"typeName":{"id":4441,"nodeType":"UserDefinedTypeName","pathNode":{"id":4440,"name":"RawEIP1559ScriptArtifact","nodeType":"IdentifierPath","referencedDeclaration":4213,"src":"7170:24:4"},"referencedDeclaration":4213,"src":"7170:24:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_storage_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact"}},"visibility":"internal"}],"id":4449,"initialValue":{"arguments":[{"id":4445,"name":"parsedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4434,"src":"7227:10:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":4446,"name":"RawEIP1559ScriptArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4213,"src":"7240:24:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawEIP1559ScriptArtifact_$4213_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"}}],"id":4447,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7239:26:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawEIP1559ScriptArtifact_$4213_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_RawEIP1559ScriptArtifact_$4213_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"}],"expression":{"id":4443,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7216:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"7216:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7216:50:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"nodeType":"VariableDeclarationStatement","src":"7170:96:4"},{"assignments":[4452],"declarations":[{"constant":false,"id":4452,"mutability":"mutable","name":"artifact","nameLocation":"7305:8:4","nodeType":"VariableDeclaration","scope":4509,"src":"7276:37:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"},"typeName":{"id":4451,"nodeType":"UserDefinedTypeName","pathNode":{"id":4450,"name":"EIP1559ScriptArtifact","nodeType":"IdentifierPath","referencedDeclaration":4190,"src":"7276:21:4"},"referencedDeclaration":4190,"src":"7276:21:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_storage_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"}},"visibility":"internal"}],"id":4453,"nodeType":"VariableDeclarationStatement","src":"7276:37:4"},{"expression":{"id":4459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4454,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4452,"src":"7323:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4456,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"libraries","nodeType":"MemberAccess","referencedDeclaration":4170,"src":"7323:18:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4457,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4442,"src":"7344:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4458,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"libraries","nodeType":"MemberAccess","referencedDeclaration":4193,"src":"7344:21:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"7323:42:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":4460,"nodeType":"ExpressionStatement","src":"7323:42:4"},{"expression":{"id":4466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4461,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4452,"src":"7375:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4463,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"path","nodeType":"MemberAccess","referencedDeclaration":4172,"src":"7375:13:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4464,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4442,"src":"7391:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4465,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"path","nodeType":"MemberAccess","referencedDeclaration":4195,"src":"7391:16:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7375:32:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":4467,"nodeType":"ExpressionStatement","src":"7375:32:4"},{"expression":{"id":4473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4468,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4452,"src":"7417:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4470,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":4181,"src":"7417:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4471,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4442,"src":"7438:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":4208,"src":"7438:21:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7417:42:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4474,"nodeType":"ExpressionStatement","src":"7417:42:4"},{"expression":{"id":4480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4475,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4452,"src":"7469:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4477,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"pending","nodeType":"MemberAccess","referencedDeclaration":4175,"src":"7469:16:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4478,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4442,"src":"7488:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"pending","nodeType":"MemberAccess","referencedDeclaration":4198,"src":"7488:19:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"7469:38:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":4481,"nodeType":"ExpressionStatement","src":"7469:38:4"},{"expression":{"id":4487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4482,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4452,"src":"7517:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"txReturns","nodeType":"MemberAccess","referencedDeclaration":4189,"src":"7517:18:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4260_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.TxReturn memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4485,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4442,"src":"7538:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"txReturns","nodeType":"MemberAccess","referencedDeclaration":4206,"src":"7538:21:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4260_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.TxReturn memory[] memory"}},"src":"7517:42:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4260_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.TxReturn memory[] memory"}},"id":4488,"nodeType":"ExpressionStatement","src":"7517:42:4"},{"expression":{"id":4496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4489,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4452,"src":"7569:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4491,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"receipts","nodeType":"MemberAccess","referencedDeclaration":4179,"src":"7569:17:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4493,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4442,"src":"7612:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4494,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"receipts","nodeType":"MemberAccess","referencedDeclaration":4202,"src":"7612:20:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}],"id":4492,"name":"rawToConvertedReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4942,"src":"7589:22:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory[] memory) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"}},"id":4495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7589:44:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"src":"7569:64:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"id":4497,"nodeType":"ExpressionStatement","src":"7569:64:4"},{"expression":{"id":4505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4498,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4452,"src":"7643:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":4500,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"transactions","nodeType":"MemberAccess","referencedDeclaration":4185,"src":"7643:21:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4502,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4442,"src":"7692:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4213_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":4503,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"transactions","nodeType":"MemberAccess","referencedDeclaration":4212,"src":"7692:24:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}],"id":4501,"name":"rawToConvertedEIPTx1559s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4559,"src":"7667:24:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory[] memory) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"}},"id":4504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7667:50:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"src":"7643:74:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"id":4506,"nodeType":"ExpressionStatement","src":"7643:74:4"},{"expression":{"id":4507,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4452,"src":"7734:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"functionReturnParameters":4425,"id":4508,"nodeType":"Return","src":"7727:15:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readEIP1559ScriptArtifact","nameLocation":"6915:25:4","parameters":{"id":4421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4420,"mutability":"mutable","name":"path","nameLocation":"6955:4:4","nodeType":"VariableDeclaration","scope":4510,"src":"6941:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4419,"name":"string","nodeType":"ElementaryTypeName","src":"6941:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6940:20:4"},"returnParameters":{"id":4425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4424,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4510,"src":"7024:28:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"},"typeName":{"id":4423,"nodeType":"UserDefinedTypeName","pathNode":{"id":4422,"name":"EIP1559ScriptArtifact","nodeType":"IdentifierPath","referencedDeclaration":4190,"src":"7024:21:4"},"referencedDeclaration":4190,"src":"7024:21:4","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4190_storage_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"}},"visibility":"internal"}],"src":"7023:30:4"},"scope":5526,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4559,"nodeType":"FunctionDefinition","src":"7755:312:4","nodes":[],"body":{"id":4558,"nodeType":"Block","src":"7864:203:4","nodes":[],"statements":[{"assignments":[4525],"declarations":[{"constant":false,"id":4525,"mutability":"mutable","name":"txs","nameLocation":"7890:3:4","nodeType":"VariableDeclaration","scope":4558,"src":"7874:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":4523,"nodeType":"UserDefinedTypeName","pathNode":{"id":4522,"name":"Tx1559","nodeType":"IdentifierPath","referencedDeclaration":4034,"src":"7874:6:4"},"referencedDeclaration":4034,"src":"7874:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":4524,"nodeType":"ArrayTypeName","src":"7874:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"}],"id":4533,"initialValue":{"arguments":[{"expression":{"id":4530,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4514,"src":"7909:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"id":4531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7909:13:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4529,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7896:12:4","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"},"typeName":{"baseType":{"id":4527,"nodeType":"UserDefinedTypeName","pathNode":{"id":4526,"name":"Tx1559","nodeType":"IdentifierPath","referencedDeclaration":4034,"src":"7900:6:4"},"referencedDeclaration":4034,"src":"7900:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":4528,"nodeType":"ArrayTypeName","src":"7900:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}}},"id":4532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7896:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7874:49:4"},{"body":{"id":4554,"nodeType":"Block","src":"7973:68:4","statements":[{"expression":{"id":4552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4544,"name":"txs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4525,"src":"7987:3:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"id":4546,"indexExpression":{"id":4545,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4535,"src":"7991:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7987:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":4548,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4514,"src":"8020:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"id":4550,"indexExpression":{"id":4549,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4535,"src":"8027:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8020:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}],"id":4547,"name":"rawToConvertedEIPTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4619,"src":"7996:23:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawTx1559_$3998_memory_ptr_$returns$_t_struct$_Tx1559_$4034_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory) pure returns (struct StdCheatsSafe.Tx1559 memory)"}},"id":4551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7996:34:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"src":"7987:43:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4553,"nodeType":"ExpressionStatement","src":"7987:43:4"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4537,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4535,"src":"7949:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":4538,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4514,"src":"7953:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"id":4539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7953:13:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7949:17:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4555,"initializationExpression":{"assignments":[4535],"declarations":[{"constant":false,"id":4535,"mutability":"mutable","name":"i","nameLocation":"7946:1:4","nodeType":"VariableDeclaration","scope":4555,"src":"7938:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4534,"name":"uint256","nodeType":"ElementaryTypeName","src":"7938:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4536,"nodeType":"VariableDeclarationStatement","src":"7938:9:4"},"loopExpression":{"expression":{"id":4542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7968:3:4","subExpression":{"id":4541,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4535,"src":"7968:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4543,"nodeType":"ExpressionStatement","src":"7968:3:4"},"nodeType":"ForStatement","src":"7933:108:4"},{"expression":{"id":4556,"name":"txs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4525,"src":"8057:3:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"functionReturnParameters":4520,"id":4557,"nodeType":"Return","src":"8050:10:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedEIPTx1559s","nameLocation":"7764:24:4","parameters":{"id":4515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4514,"mutability":"mutable","name":"rawTxs","nameLocation":"7808:6:4","nodeType":"VariableDeclaration","scope":4559,"src":"7789:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"},"typeName":{"baseType":{"id":4512,"nodeType":"UserDefinedTypeName","pathNode":{"id":4511,"name":"RawTx1559","nodeType":"IdentifierPath","referencedDeclaration":3998,"src":"7789:9:4"},"referencedDeclaration":3998,"src":"7789:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"id":4513,"nodeType":"ArrayTypeName","src":"7789:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"}},"visibility":"internal"}],"src":"7788:27:4"},"returnParameters":{"id":4520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4519,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4559,"src":"7847:15:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":4517,"nodeType":"UserDefinedTypeName","pathNode":{"id":4516,"name":"Tx1559","nodeType":"IdentifierPath","referencedDeclaration":4034,"src":"7847:6:4"},"referencedDeclaration":4034,"src":"7847:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":4518,"nodeType":"ArrayTypeName","src":"7847:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"}],"src":"7846:17:4"},"scope":5526,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":4619,"nodeType":"FunctionDefinition","src":"8073:488:4","nodes":[],"body":{"id":4618,"nodeType":"Block","src":"8176:385:4","nodes":[],"statements":[{"assignments":[4570],"declarations":[{"constant":false,"id":4570,"mutability":"mutable","name":"transaction","nameLocation":"8200:11:4","nodeType":"VariableDeclaration","scope":4618,"src":"8186:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559"},"typeName":{"id":4569,"nodeType":"UserDefinedTypeName","pathNode":{"id":4568,"name":"Tx1559","nodeType":"IdentifierPath","referencedDeclaration":4034,"src":"8186:6:4"},"referencedDeclaration":4034,"src":"8186:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"visibility":"internal"}],"id":4571,"nodeType":"VariableDeclarationStatement","src":"8186:25:4"},{"expression":{"id":4577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4572,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4570,"src":"8221:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4574,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"arguments","nodeType":"MemberAccess","referencedDeclaration":4020,"src":"8221:21:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4575,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4562,"src":"8245:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":4576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"arguments","nodeType":"MemberAccess","referencedDeclaration":3984,"src":"8245:15:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"8221:39:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":4578,"nodeType":"ExpressionStatement","src":"8221:39:4"},{"expression":{"id":4584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4579,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4570,"src":"8270:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4581,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"contractName","nodeType":"MemberAccess","referencedDeclaration":4024,"src":"8270:24:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4582,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4562,"src":"8297:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":4583,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"contractName","nodeType":"MemberAccess","referencedDeclaration":3988,"src":"8297:18:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"8270:45:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":4585,"nodeType":"ExpressionStatement","src":"8270:45:4"},{"expression":{"id":4591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4586,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4570,"src":"8325:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4588,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"functionSig","nodeType":"MemberAccess","referencedDeclaration":4026,"src":"8325:23:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4589,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4562,"src":"8351:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":4590,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"functionSig","nodeType":"MemberAccess","referencedDeclaration":3990,"src":"8351:17:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"8325:43:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":4592,"nodeType":"ExpressionStatement","src":"8325:43:4"},{"expression":{"id":4598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4593,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4570,"src":"8378:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":4028,"src":"8378:16:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4596,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4562,"src":"8397:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":4597,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":3992,"src":"8397:10:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"8378:29:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4599,"nodeType":"ExpressionStatement","src":"8378:29:4"},{"expression":{"id":4607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4600,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4570,"src":"8417:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4602,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"txDetail","nodeType":"MemberAccess","referencedDeclaration":4031,"src":"8417:20:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4604,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4562,"src":"8468:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":4605,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"txDetail","nodeType":"MemberAccess","referencedDeclaration":3995,"src":"8468:14:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}],"id":4603,"name":"rawToConvertedEIP1559Detail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4699,"src":"8440:27:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawTx1559Detail_$4017_memory_ptr_$returns$_t_struct$_Tx1559Detail_$4053_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559Detail memory) pure returns (struct StdCheatsSafe.Tx1559Detail memory)"}},"id":4606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8440:43:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"src":"8417:66:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4608,"nodeType":"ExpressionStatement","src":"8417:66:4"},{"expression":{"id":4614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4609,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4570,"src":"8493:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":4611,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"opcode","nodeType":"MemberAccess","referencedDeclaration":4033,"src":"8493:18:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4612,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4562,"src":"8514:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":4613,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"opcode","nodeType":"MemberAccess","referencedDeclaration":3997,"src":"8514:12:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"8493:33:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":4615,"nodeType":"ExpressionStatement","src":"8493:33:4"},{"expression":{"id":4616,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4570,"src":"8543:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"functionReturnParameters":4567,"id":4617,"nodeType":"Return","src":"8536:18:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedEIPTx1559","nameLocation":"8082:23:4","parameters":{"id":4563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4562,"mutability":"mutable","name":"rawTx","nameLocation":"8123:5:4","nodeType":"VariableDeclaration","scope":4619,"src":"8106:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559"},"typeName":{"id":4561,"nodeType":"UserDefinedTypeName","pathNode":{"id":4560,"name":"RawTx1559","nodeType":"IdentifierPath","referencedDeclaration":3998,"src":"8106:9:4"},"referencedDeclaration":3998,"src":"8106:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"visibility":"internal"}],"src":"8105:24:4"},"returnParameters":{"id":4567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4566,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4619,"src":"8161:13:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559"},"typeName":{"id":4565,"nodeType":"UserDefinedTypeName","pathNode":{"id":4564,"name":"Tx1559","nodeType":"IdentifierPath","referencedDeclaration":4034,"src":"8161:6:4"},"referencedDeclaration":4034,"src":"8161:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"visibility":"internal"}],"src":"8160:15:4"},"scope":5526,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":4699,"nodeType":"FunctionDefinition","src":"8567:619:4","nodes":[],"body":{"id":4698,"nodeType":"Block","src":"8726:460:4","nodes":[],"statements":[{"assignments":[4630],"declarations":[{"constant":false,"id":4630,"mutability":"mutable","name":"txDetail","nameLocation":"8756:8:4","nodeType":"VariableDeclaration","scope":4698,"src":"8736:28:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"},"typeName":{"id":4629,"nodeType":"UserDefinedTypeName","pathNode":{"id":4628,"name":"Tx1559Detail","nodeType":"IdentifierPath","referencedDeclaration":4053,"src":"8736:12:4"},"referencedDeclaration":4053,"src":"8736:12:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"}},"visibility":"internal"}],"id":4631,"nodeType":"VariableDeclarationStatement","src":"8736:28:4"},{"expression":{"id":4637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4632,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4630,"src":"8774:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4634,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":4040,"src":"8774:13:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4635,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"8790:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4636,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":4004,"src":"8790:14:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"8774:30:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":4638,"nodeType":"ExpressionStatement","src":"8774:30:4"},{"expression":{"id":4644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4639,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4630,"src":"8814:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4641,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4042,"src":"8814:13:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4642,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"8830:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4643,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4006,"src":"8830:14:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8814:30:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4645,"nodeType":"ExpressionStatement","src":"8814:30:4"},{"expression":{"id":4651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4646,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4630,"src":"8854:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4648,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"to","nodeType":"MemberAccess","referencedDeclaration":4048,"src":"8854:11:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4649,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"8868:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4650,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"to","nodeType":"MemberAccess","referencedDeclaration":4012,"src":"8868:12:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8854:26:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4652,"nodeType":"ExpressionStatement","src":"8854:26:4"},{"expression":{"id":4660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4653,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4630,"src":"8890:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":4046,"src":"8890:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4657,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"8920:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4658,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":4010,"src":"8920:15:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4656,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"8907:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":4659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8907:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8890:46:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4661,"nodeType":"ExpressionStatement","src":"8890:46:4"},{"expression":{"id":4669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4662,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4630,"src":"8946:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4664,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"txType","nodeType":"MemberAccess","referencedDeclaration":4050,"src":"8946:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4666,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"8977:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4667,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"txType","nodeType":"MemberAccess","referencedDeclaration":4014,"src":"8977:16:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4665,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"8964:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":4668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8964:30:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8946:48:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4670,"nodeType":"ExpressionStatement","src":"8946:48:4"},{"expression":{"id":4678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4671,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4630,"src":"9004:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4673,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":4052,"src":"9004:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4675,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"9034:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4676,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":4016,"src":"9034:15:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4674,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"9021:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":4677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9021:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9004:46:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4679,"nodeType":"ExpressionStatement","src":"9004:46:4"},{"expression":{"id":4687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4680,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4630,"src":"9060:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4682,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"gas","nodeType":"MemberAccess","referencedDeclaration":4044,"src":"9060:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4684,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"9088:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4685,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"gas","nodeType":"MemberAccess","referencedDeclaration":4008,"src":"9088:13:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4683,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"9075:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":4686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9075:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9060:42:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4688,"nodeType":"ExpressionStatement","src":"9060:42:4"},{"expression":{"id":4694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4689,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4630,"src":"9112:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":4691,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"accessList","nodeType":"MemberAccess","referencedDeclaration":4038,"src":"9112:19:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4109_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.AccessList memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4692,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4622,"src":"9134:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":4693,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"accessList","nodeType":"MemberAccess","referencedDeclaration":4002,"src":"9134:20:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4109_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.AccessList memory[] memory"}},"src":"9112:42:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4109_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.AccessList memory[] memory"}},"id":4695,"nodeType":"ExpressionStatement","src":"9112:42:4"},{"expression":{"id":4696,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4630,"src":"9171:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"functionReturnParameters":4627,"id":4697,"nodeType":"Return","src":"9164:15:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedEIP1559Detail","nameLocation":"8576:27:4","parameters":{"id":4623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4622,"mutability":"mutable","name":"rawDetail","nameLocation":"8627:9:4","nodeType":"VariableDeclaration","scope":4699,"src":"8604:32:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"},"typeName":{"id":4621,"nodeType":"UserDefinedTypeName","pathNode":{"id":4620,"name":"RawTx1559Detail","nodeType":"IdentifierPath","referencedDeclaration":4017,"src":"8604:15:4"},"referencedDeclaration":4017,"src":"8604:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4017_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"}},"visibility":"internal"}],"src":"8603:34:4"},"returnParameters":{"id":4627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4626,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4699,"src":"8701:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"},"typeName":{"id":4625,"nodeType":"UserDefinedTypeName","pathNode":{"id":4624,"name":"Tx1559Detail","nodeType":"IdentifierPath","referencedDeclaration":4053,"src":"8701:12:4"},"referencedDeclaration":4053,"src":"8701:12:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4053_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"}},"visibility":"internal"}],"src":"8700:21:4"},"scope":5526,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":4741,"nodeType":"FunctionDefinition","src":"9192:363:4","nodes":[],"body":{"id":4740,"nodeType":"Block","src":"9281:274:4","nodes":[],"statements":[{"assignments":[4709],"declarations":[{"constant":false,"id":4709,"mutability":"mutable","name":"deployData","nameLocation":"9305:10:4","nodeType":"VariableDeclaration","scope":4740,"src":"9291:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4708,"name":"string","nodeType":"ElementaryTypeName","src":"9291:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4714,"initialValue":{"arguments":[{"id":4712,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4701,"src":"9330:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4710,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"9318:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":11151,"src":"9318:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":4713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9318:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"9291:44:4"},{"assignments":[4716],"declarations":[{"constant":false,"id":4716,"mutability":"mutable","name":"parsedDeployData","nameLocation":"9358:16:4","nodeType":"VariableDeclaration","scope":4740,"src":"9345:29:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4715,"name":"bytes","nodeType":"ElementaryTypeName","src":"9345:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4722,"initialValue":{"arguments":[{"id":4719,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4709,"src":"9390:10:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e7472616e73616374696f6e73","id":4720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9402:15:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b594723e6093f4c1c210e08bcd523373e89874e267b69a9d9a7cb17952e3049","typeString":"literal_string \".transactions\""},"value":".transactions"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_9b594723e6093f4c1c210e08bcd523373e89874e267b69a9d9a7cb17952e3049","typeString":"literal_string \".transactions\""}],"expression":{"id":4717,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"9377:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":11339,"src":"9377:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":4721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9377:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9345:73:4"},{"assignments":[4727],"declarations":[{"constant":false,"id":4727,"mutability":"mutable","name":"rawTxs","nameLocation":"9447:6:4","nodeType":"VariableDeclaration","scope":4740,"src":"9428:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"},"typeName":{"baseType":{"id":4725,"nodeType":"UserDefinedTypeName","pathNode":{"id":4724,"name":"RawTx1559","nodeType":"IdentifierPath","referencedDeclaration":3998,"src":"9428:9:4"},"referencedDeclaration":3998,"src":"9428:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"id":4726,"nodeType":"ArrayTypeName","src":"9428:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"}},"visibility":"internal"}],"id":4735,"initialValue":{"arguments":[{"id":4730,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4716,"src":"9467:16:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":4731,"name":"RawTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3998,"src":"9486:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$3998_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}},"id":4732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"9486:11:4","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 memory[] memory)"}}],"id":4733,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9485:13:4","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 memory[] memory)"}],"expression":{"id":4728,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9456:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4729,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"9456:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9456:43:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9428:71:4"},{"expression":{"arguments":[{"id":4737,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4727,"src":"9541:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}],"id":4736,"name":"rawToConvertedEIPTx1559s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4559,"src":"9516:24:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawTx1559_$3998_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory[] memory) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"}},"id":4738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9516:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"functionReturnParameters":4707,"id":4739,"nodeType":"Return","src":"9509:39:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readTx1559s","nameLocation":"9201:11:4","parameters":{"id":4702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4701,"mutability":"mutable","name":"path","nameLocation":"9227:4:4","nodeType":"VariableDeclaration","scope":4741,"src":"9213:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4700,"name":"string","nodeType":"ElementaryTypeName","src":"9213:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9212:20:4"},"returnParameters":{"id":4707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4706,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4741,"src":"9264:15:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":4704,"nodeType":"UserDefinedTypeName","pathNode":{"id":4703,"name":"Tx1559","nodeType":"IdentifierPath","referencedDeclaration":4034,"src":"9264:6:4"},"referencedDeclaration":4034,"src":"9264:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":4705,"nodeType":"ArrayTypeName","src":"9264:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4034_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"}],"src":"9263:17:4"},"scope":5526,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4796,"nodeType":"FunctionDefinition","src":"9561:453:4","nodes":[],"body":{"id":4795,"nodeType":"Block","src":"9662:352:4","nodes":[],"statements":[{"assignments":[4752],"declarations":[{"constant":false,"id":4752,"mutability":"mutable","name":"deployData","nameLocation":"9686:10:4","nodeType":"VariableDeclaration","scope":4795,"src":"9672:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4751,"name":"string","nodeType":"ElementaryTypeName","src":"9672:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4757,"initialValue":{"arguments":[{"id":4755,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4743,"src":"9711:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4753,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"9699:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":11151,"src":"9699:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":4756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9699:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"9672:44:4"},{"assignments":[4759],"declarations":[{"constant":false,"id":4759,"mutability":"mutable","name":"key","nameLocation":"9740:3:4","nodeType":"VariableDeclaration","scope":4795,"src":"9726:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4758,"name":"string","nodeType":"ElementaryTypeName","src":"9726:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4772,"initialValue":{"arguments":[{"arguments":[{"hexValue":"2e7472616e73616374696f6e735b","id":4764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9770:16:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_7abc4cdd6094bba2d56cb8a26083c756a68ba4e3b40f345f8102e1fc2249cd5c","typeString":"literal_string \".transactions[\""},"value":".transactions["},{"arguments":[{"id":4767,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4745,"src":"9800:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4765,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"9788:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"9788:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":4768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9788:18:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"5d","id":4769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9808:3:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""},"value":"]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7abc4cdd6094bba2d56cb8a26083c756a68ba4e3b40f345f8102e1fc2249cd5c","typeString":"literal_string \".transactions[\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""}],"expression":{"id":4762,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9753:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"9753:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":4770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9753:59:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9746:6:4","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":4760,"name":"string","nodeType":"ElementaryTypeName","src":"9746:6:4","typeDescriptions":{}}},"id":4771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9746:67:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"9726:87:4"},{"assignments":[4774],"declarations":[{"constant":false,"id":4774,"mutability":"mutable","name":"parsedDeployData","nameLocation":"9836:16:4","nodeType":"VariableDeclaration","scope":4795,"src":"9823:29:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4773,"name":"bytes","nodeType":"ElementaryTypeName","src":"9823:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4780,"initialValue":{"arguments":[{"id":4777,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4752,"src":"9868:10:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":4778,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4759,"src":"9880:3:4","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":4775,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"9855:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":11339,"src":"9855:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":4779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9855:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9823:61:4"},{"assignments":[4783],"declarations":[{"constant":false,"id":4783,"mutability":"mutable","name":"rawTx","nameLocation":"9911:5:4","nodeType":"VariableDeclaration","scope":4795,"src":"9894:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559"},"typeName":{"id":4782,"nodeType":"UserDefinedTypeName","pathNode":{"id":4781,"name":"RawTx1559","nodeType":"IdentifierPath","referencedDeclaration":3998,"src":"9894:9:4"},"referencedDeclaration":3998,"src":"9894:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"visibility":"internal"}],"id":4790,"initialValue":{"arguments":[{"id":4786,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4774,"src":"9930:16:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":4787,"name":"RawTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3998,"src":"9949:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$3998_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}}],"id":4788,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9948:11:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$3998_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$3998_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}],"expression":{"id":4784,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9919:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4785,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"9919:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9919:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"nodeType":"VariableDeclarationStatement","src":"9894:66:4"},{"expression":{"arguments":[{"id":4792,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4783,"src":"10001:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawTx1559_$3998_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}],"id":4791,"name":"rawToConvertedEIPTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4619,"src":"9977:23:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawTx1559_$3998_memory_ptr_$returns$_t_struct$_Tx1559_$4034_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory) pure returns (struct StdCheatsSafe.Tx1559 memory)"}},"id":4793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9977:30:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"functionReturnParameters":4750,"id":4794,"nodeType":"Return","src":"9970:37:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readTx1559","nameLocation":"9570:10:4","parameters":{"id":4746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4743,"mutability":"mutable","name":"path","nameLocation":"9595:4:4","nodeType":"VariableDeclaration","scope":4796,"src":"9581:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4742,"name":"string","nodeType":"ElementaryTypeName","src":"9581:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4745,"mutability":"mutable","name":"index","nameLocation":"9609:5:4","nodeType":"VariableDeclaration","scope":4796,"src":"9601:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4744,"name":"uint256","nodeType":"ElementaryTypeName","src":"9601:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9580:35:4"},"returnParameters":{"id":4750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4749,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4796,"src":"9647:13:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559"},"typeName":{"id":4748,"nodeType":"UserDefinedTypeName","pathNode":{"id":4747,"name":"Tx1559","nodeType":"IdentifierPath","referencedDeclaration":4034,"src":"9647:6:4"},"referencedDeclaration":4034,"src":"9647:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4034_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"visibility":"internal"}],"src":"9646:15:4"},"scope":5526,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4838,"nodeType":"FunctionDefinition","src":"10076:371:4","nodes":[],"body":{"id":4837,"nodeType":"Block","src":"10167:280:4","nodes":[],"statements":[{"assignments":[4806],"declarations":[{"constant":false,"id":4806,"mutability":"mutable","name":"deployData","nameLocation":"10191:10:4","nodeType":"VariableDeclaration","scope":4837,"src":"10177:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4805,"name":"string","nodeType":"ElementaryTypeName","src":"10177:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4811,"initialValue":{"arguments":[{"id":4809,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4798,"src":"10216:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4807,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"10204:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":11151,"src":"10204:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":4810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10204:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"10177:44:4"},{"assignments":[4813],"declarations":[{"constant":false,"id":4813,"mutability":"mutable","name":"parsedDeployData","nameLocation":"10244:16:4","nodeType":"VariableDeclaration","scope":4837,"src":"10231:29:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4812,"name":"bytes","nodeType":"ElementaryTypeName","src":"10231:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4819,"initialValue":{"arguments":[{"id":4816,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4806,"src":"10276:10:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e7265636569707473","id":4817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10288:11:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_29a5d3664a45019923b250b65c7d5b7f8c019d3960761fa9ca59b9001f893261","typeString":"literal_string \".receipts\""},"value":".receipts"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_29a5d3664a45019923b250b65c7d5b7f8c019d3960761fa9ca59b9001f893261","typeString":"literal_string \".receipts\""}],"expression":{"id":4814,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"10263:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":11339,"src":"10263:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":4818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10263:37:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"10231:69:4"},{"assignments":[4824],"declarations":[{"constant":false,"id":4824,"mutability":"mutable","name":"rawReceipts","nameLocation":"10330:11:4","nodeType":"VariableDeclaration","scope":4837,"src":"10310:31:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"},"typeName":{"baseType":{"id":4822,"nodeType":"UserDefinedTypeName","pathNode":{"id":4821,"name":"RawReceipt","nodeType":"IdentifierPath","referencedDeclaration":4138,"src":"10310:10:4"},"referencedDeclaration":4138,"src":"10310:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"id":4823,"nodeType":"ArrayTypeName","src":"10310:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"}},"visibility":"internal"}],"id":4832,"initialValue":{"arguments":[{"id":4827,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4813,"src":"10355:16:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":4828,"name":"RawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4138,"src":"10374:10:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$4138_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}},"id":4829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"10374:12:4","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt memory[] memory)"}}],"id":4830,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10373:14:4","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt memory[] memory)"}],"expression":{"id":4825,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10344:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4826,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"10344:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10344:44:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10310:78:4"},{"expression":{"arguments":[{"id":4834,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4824,"src":"10428:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}],"id":4833,"name":"rawToConvertedReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4942,"src":"10405:22:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory[] memory) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"}},"id":4835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10405:35:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"functionReturnParameters":4804,"id":4836,"nodeType":"Return","src":"10398:42:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readReceipts","nameLocation":"10085:12:4","parameters":{"id":4799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4798,"mutability":"mutable","name":"path","nameLocation":"10112:4:4","nodeType":"VariableDeclaration","scope":4838,"src":"10098:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4797,"name":"string","nodeType":"ElementaryTypeName","src":"10098:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10097:20:4"},"returnParameters":{"id":4804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4803,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4838,"src":"10149:16:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":4801,"nodeType":"UserDefinedTypeName","pathNode":{"id":4800,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":4167,"src":"10149:7:4"},"referencedDeclaration":4167,"src":"10149:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":4802,"nodeType":"ArrayTypeName","src":"10149:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"}],"src":"10148:18:4"},"scope":5526,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4893,"nodeType":"FunctionDefinition","src":"10453:461:4","nodes":[],"body":{"id":4892,"nodeType":"Block","src":"10556:358:4","nodes":[],"statements":[{"assignments":[4849],"declarations":[{"constant":false,"id":4849,"mutability":"mutable","name":"deployData","nameLocation":"10580:10:4","nodeType":"VariableDeclaration","scope":4892,"src":"10566:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4848,"name":"string","nodeType":"ElementaryTypeName","src":"10566:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4854,"initialValue":{"arguments":[{"id":4852,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4840,"src":"10605:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4850,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"10593:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":11151,"src":"10593:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":4853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10593:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"10566:44:4"},{"assignments":[4856],"declarations":[{"constant":false,"id":4856,"mutability":"mutable","name":"key","nameLocation":"10634:3:4","nodeType":"VariableDeclaration","scope":4892,"src":"10620:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4855,"name":"string","nodeType":"ElementaryTypeName","src":"10620:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4869,"initialValue":{"arguments":[{"arguments":[{"hexValue":"2e72656365697074735b","id":4861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10664:12:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_1f28b72ce547907c2ae0f1bd0fd1ff00aeea8e573cc3e4076246f258e653d170","typeString":"literal_string \".receipts[\""},"value":".receipts["},{"arguments":[{"id":4864,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4842,"src":"10690:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4862,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"10678:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"10678:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":4865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10678:18:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"5d","id":4866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10698:3:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""},"value":"]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1f28b72ce547907c2ae0f1bd0fd1ff00aeea8e573cc3e4076246f258e653d170","typeString":"literal_string \".receipts[\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""}],"expression":{"id":4859,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10647:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4860,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"10647:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":4867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10647:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10640:6:4","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":4857,"name":"string","nodeType":"ElementaryTypeName","src":"10640:6:4","typeDescriptions":{}}},"id":4868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10640:63:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"10620:83:4"},{"assignments":[4871],"declarations":[{"constant":false,"id":4871,"mutability":"mutable","name":"parsedDeployData","nameLocation":"10726:16:4","nodeType":"VariableDeclaration","scope":4892,"src":"10713:29:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4870,"name":"bytes","nodeType":"ElementaryTypeName","src":"10713:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4877,"initialValue":{"arguments":[{"id":4874,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4849,"src":"10758:10:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":4875,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4856,"src":"10770:3:4","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":4872,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"10745:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":4873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":11339,"src":"10745:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":4876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10745:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"10713:61:4"},{"assignments":[4880],"declarations":[{"constant":false,"id":4880,"mutability":"mutable","name":"rawReceipt","nameLocation":"10802:10:4","nodeType":"VariableDeclaration","scope":4892,"src":"10784:28:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt"},"typeName":{"id":4879,"nodeType":"UserDefinedTypeName","pathNode":{"id":4878,"name":"RawReceipt","nodeType":"IdentifierPath","referencedDeclaration":4138,"src":"10784:10:4"},"referencedDeclaration":4138,"src":"10784:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"visibility":"internal"}],"id":4887,"initialValue":{"arguments":[{"id":4883,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4871,"src":"10826:16:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":4884,"name":"RawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4138,"src":"10845:10:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$4138_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}}],"id":4885,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10844:12:4","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$4138_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$4138_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}],"expression":{"id":4881,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10815:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4882,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"10815:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10815:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"nodeType":"VariableDeclarationStatement","src":"10784:73:4"},{"expression":{"arguments":[{"id":4889,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4880,"src":"10896:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}],"id":4888,"name":"rawToConvertedReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5063,"src":"10874:21:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawReceipt_$4138_memory_ptr_$returns$_t_struct$_Receipt_$4167_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory) pure returns (struct StdCheatsSafe.Receipt memory)"}},"id":4890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10874:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"functionReturnParameters":4847,"id":4891,"nodeType":"Return","src":"10867:40:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readReceipt","nameLocation":"10462:11:4","parameters":{"id":4843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4840,"mutability":"mutable","name":"path","nameLocation":"10488:4:4","nodeType":"VariableDeclaration","scope":4893,"src":"10474:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4839,"name":"string","nodeType":"ElementaryTypeName","src":"10474:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4842,"mutability":"mutable","name":"index","nameLocation":"10502:5:4","nodeType":"VariableDeclaration","scope":4893,"src":"10494:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4841,"name":"uint256","nodeType":"ElementaryTypeName","src":"10494:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10473:35:4"},"returnParameters":{"id":4847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4846,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4893,"src":"10540:14:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt"},"typeName":{"id":4845,"nodeType":"UserDefinedTypeName","pathNode":{"id":4844,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":4167,"src":"10540:7:4"},"referencedDeclaration":4167,"src":"10540:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"visibility":"internal"}],"src":"10539:16:4"},"scope":5526,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4942,"nodeType":"FunctionDefinition","src":"10920:347:4","nodes":[],"body":{"id":4941,"nodeType":"Block","src":"11034:233:4","nodes":[],"statements":[{"assignments":[4908],"declarations":[{"constant":false,"id":4908,"mutability":"mutable","name":"receipts","nameLocation":"11061:8:4","nodeType":"VariableDeclaration","scope":4941,"src":"11044:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":4906,"nodeType":"UserDefinedTypeName","pathNode":{"id":4905,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":4167,"src":"11044:7:4"},"referencedDeclaration":4167,"src":"11044:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":4907,"nodeType":"ArrayTypeName","src":"11044:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"}],"id":4916,"initialValue":{"arguments":[{"expression":{"id":4913,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4897,"src":"11086:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"id":4914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11086:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4912,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11072:13:4","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"},"typeName":{"baseType":{"id":4910,"nodeType":"UserDefinedTypeName","pathNode":{"id":4909,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":4167,"src":"11076:7:4"},"referencedDeclaration":4167,"src":"11076:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":4911,"nodeType":"ArrayTypeName","src":"11076:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}}},"id":4915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11072:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"11044:61:4"},{"body":{"id":4937,"nodeType":"Block","src":"11160:76:4","statements":[{"expression":{"id":4935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4927,"name":"receipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4908,"src":"11174:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"id":4929,"indexExpression":{"id":4928,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4918,"src":"11183:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11174:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":4931,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4897,"src":"11210:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"id":4933,"indexExpression":{"id":4932,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4918,"src":"11222:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11210:14:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}],"id":4930,"name":"rawToConvertedReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5063,"src":"11188:21:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawReceipt_$4138_memory_ptr_$returns$_t_struct$_Receipt_$4167_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory) pure returns (struct StdCheatsSafe.Receipt memory)"}},"id":4934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11188:37:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"src":"11174:51:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":4936,"nodeType":"ExpressionStatement","src":"11174:51:4"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4920,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4918,"src":"11131:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":4921,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4897,"src":"11135:11:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"id":4922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11135:18:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11131:22:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4938,"initializationExpression":{"assignments":[4918],"declarations":[{"constant":false,"id":4918,"mutability":"mutable","name":"i","nameLocation":"11128:1:4","nodeType":"VariableDeclaration","scope":4938,"src":"11120:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4917,"name":"uint256","nodeType":"ElementaryTypeName","src":"11120:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4919,"nodeType":"VariableDeclarationStatement","src":"11120:9:4"},"loopExpression":{"expression":{"id":4925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11155:3:4","subExpression":{"id":4924,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4918,"src":"11155:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4926,"nodeType":"ExpressionStatement","src":"11155:3:4"},"nodeType":"ForStatement","src":"11115:121:4"},{"expression":{"id":4939,"name":"receipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4908,"src":"11252:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"functionReturnParameters":4903,"id":4940,"nodeType":"Return","src":"11245:15:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedReceipts","nameLocation":"10929:22:4","parameters":{"id":4898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4897,"mutability":"mutable","name":"rawReceipts","nameLocation":"10972:11:4","nodeType":"VariableDeclaration","scope":4942,"src":"10952:31:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"},"typeName":{"baseType":{"id":4895,"nodeType":"UserDefinedTypeName","pathNode":{"id":4894,"name":"RawReceipt","nodeType":"IdentifierPath","referencedDeclaration":4138,"src":"10952:10:4"},"referencedDeclaration":4138,"src":"10952:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"id":4896,"nodeType":"ArrayTypeName","src":"10952:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4138_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"}},"visibility":"internal"}],"src":"10951:33:4"},"returnParameters":{"id":4903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4902,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4942,"src":"11016:16:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":4900,"nodeType":"UserDefinedTypeName","pathNode":{"id":4899,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":4167,"src":"11016:7:4"},"referencedDeclaration":4167,"src":"11016:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":4901,"nodeType":"ArrayTypeName","src":"11016:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4167_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"}],"src":"11015:18:4"},"scope":5526,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5063,"nodeType":"FunctionDefinition","src":"11273:962:4","nodes":[],"body":{"id":5062,"nodeType":"Block","src":"11381:854:4","nodes":[],"statements":[{"assignments":[4953],"declarations":[{"constant":false,"id":4953,"mutability":"mutable","name":"receipt","nameLocation":"11406:7:4","nodeType":"VariableDeclaration","scope":5062,"src":"11391:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt"},"typeName":{"id":4952,"nodeType":"UserDefinedTypeName","pathNode":{"id":4951,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":4167,"src":"11391:7:4"},"referencedDeclaration":4167,"src":"11391:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"visibility":"internal"}],"id":4954,"nodeType":"VariableDeclarationStatement","src":"11391:22:4"},{"expression":{"id":4960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4955,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11423:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":4957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":4140,"src":"11423:17:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4958,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"11443:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":4959,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":4111,"src":"11443:20:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11423:40:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4961,"nodeType":"ExpressionStatement","src":"11423:40:4"},{"expression":{"id":4967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4962,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11473:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":4964,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"to","nodeType":"MemberAccess","referencedDeclaration":4162,"src":"11473:10:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4965,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"11486:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":4966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"to","nodeType":"MemberAccess","referencedDeclaration":4133,"src":"11486:13:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11473:26:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4968,"nodeType":"ExpressionStatement","src":"11473:26:4"},{"expression":{"id":4974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4969,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11509:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":4971,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4150,"src":"11509:12:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4972,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"11524:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":4973,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4121,"src":"11524:15:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11509:30:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4975,"nodeType":"ExpressionStatement","src":"11509:30:4"},{"expression":{"id":4981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4976,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11549:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":4978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"contractAddress","nodeType":"MemberAccess","referencedDeclaration":4144,"src":"11549:23:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4979,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"11575:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":4980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"contractAddress","nodeType":"MemberAccess","referencedDeclaration":4115,"src":"11575:26:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11549:52:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4982,"nodeType":"ExpressionStatement","src":"11549:52:4"},{"expression":{"id":4990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4983,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11611:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":4985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"effectiveGasPrice","nodeType":"MemberAccess","referencedDeclaration":4148,"src":"11611:25:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4987,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"11652:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":4988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"effectiveGasPrice","nodeType":"MemberAccess","referencedDeclaration":4119,"src":"11652:28:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4986,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"11639:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":4989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11639:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11611:70:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4991,"nodeType":"ExpressionStatement","src":"11611:70:4"},{"expression":{"id":4999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4992,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11691:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":4994,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"cumulativeGasUsed","nodeType":"MemberAccess","referencedDeclaration":4146,"src":"11691:25:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4996,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"11732:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":4997,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"cumulativeGasUsed","nodeType":"MemberAccess","referencedDeclaration":4117,"src":"11732:28:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4995,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"11719:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":4998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11719:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11691:70:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5000,"nodeType":"ExpressionStatement","src":"11691:70:4"},{"expression":{"id":5008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5001,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11771:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5003,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"gasUsed","nodeType":"MemberAccess","referencedDeclaration":4152,"src":"11771:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5005,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"11802:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5006,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"gasUsed","nodeType":"MemberAccess","referencedDeclaration":4123,"src":"11802:18:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5004,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"11789:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11789:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11771:50:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5009,"nodeType":"ExpressionStatement","src":"11771:50:4"},{"expression":{"id":5017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5010,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11831:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5012,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"status","nodeType":"MemberAccess","referencedDeclaration":4160,"src":"11831:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5014,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"11861:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5015,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"status","nodeType":"MemberAccess","referencedDeclaration":4131,"src":"11861:17:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5013,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"11848:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11848:31:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11831:48:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5018,"nodeType":"ExpressionStatement","src":"11831:48:4"},{"expression":{"id":5026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5019,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11889:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5021,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":4166,"src":"11889:24:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5023,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"11929:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5024,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":4137,"src":"11929:27:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5022,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"11916:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11916:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11889:68:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5027,"nodeType":"ExpressionStatement","src":"11889:68:4"},{"expression":{"id":5035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5028,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"11967:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5030,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":4142,"src":"11967:19:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5032,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"12002:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5033,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":4113,"src":"12002:22:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5031,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"11989:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11989:36:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11967:58:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5036,"nodeType":"ExpressionStatement","src":"11967:58:4"},{"expression":{"id":5044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5037,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"12035:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5039,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"logs","nodeType":"MemberAccess","referencedDeclaration":4156,"src":"12035:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5041,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"12076:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"logs","nodeType":"MemberAccess","referencedDeclaration":4127,"src":"12076:15:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}],"id":5040,"name":"rawToConvertedReceiptLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5200,"src":"12050:25:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceiptLog memory[] memory) pure returns (struct StdCheatsSafe.ReceiptLog memory[] memory)"}},"id":5043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12050:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"src":"12035:57:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5045,"nodeType":"ExpressionStatement","src":"12035:57:4"},{"expression":{"id":5051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5046,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"12102:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5048,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"logsBloom","nodeType":"MemberAccess","referencedDeclaration":4158,"src":"12102:17:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5049,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"12122:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5050,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"logsBloom","nodeType":"MemberAccess","referencedDeclaration":4129,"src":"12122:20:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"12102:40:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5052,"nodeType":"ExpressionStatement","src":"12102:40:4"},{"expression":{"id":5058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5053,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"12152:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5055,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"transactionHash","nodeType":"MemberAccess","referencedDeclaration":4164,"src":"12152:23:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5056,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4945,"src":"12178:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"transactionHash","nodeType":"MemberAccess","referencedDeclaration":4135,"src":"12178:26:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"12152:52:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5059,"nodeType":"ExpressionStatement","src":"12152:52:4"},{"expression":{"id":5060,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4953,"src":"12221:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"functionReturnParameters":4950,"id":5061,"nodeType":"Return","src":"12214:14:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedReceipt","nameLocation":"11282:21:4","parameters":{"id":4946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4945,"mutability":"mutable","name":"rawReceipt","nameLocation":"11322:10:4","nodeType":"VariableDeclaration","scope":5063,"src":"11304:28:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt"},"typeName":{"id":4944,"nodeType":"UserDefinedTypeName","pathNode":{"id":4943,"name":"RawReceipt","nodeType":"IdentifierPath","referencedDeclaration":4138,"src":"11304:10:4"},"referencedDeclaration":4138,"src":"11304:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4138_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"visibility":"internal"}],"src":"11303:30:4"},"returnParameters":{"id":4950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4949,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5063,"src":"11365:14:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_memory_ptr","typeString":"struct StdCheatsSafe.Receipt"},"typeName":{"id":4948,"nodeType":"UserDefinedTypeName","pathNode":{"id":4947,"name":"Receipt","nodeType":"IdentifierPath","referencedDeclaration":4167,"src":"11365:7:4"},"referencedDeclaration":4167,"src":"11365:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4167_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"visibility":"internal"}],"src":"11364:16:4"},"scope":5526,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5200,"nodeType":"FunctionDefinition","src":"12241:873:4","nodes":[],"body":{"id":5199,"nodeType":"Block","src":"12396:718:4","nodes":[],"statements":[{"assignments":[5078],"declarations":[{"constant":false,"id":5078,"mutability":"mutable","name":"logs","nameLocation":"12426:4:4","nodeType":"VariableDeclaration","scope":5199,"src":"12406:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"},"typeName":{"baseType":{"id":5076,"nodeType":"UserDefinedTypeName","pathNode":{"id":5075,"name":"ReceiptLog","nodeType":"IdentifierPath","referencedDeclaration":4255,"src":"12406:10:4"},"referencedDeclaration":4255,"src":"12406:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":5077,"nodeType":"ArrayTypeName","src":"12406:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}},"visibility":"internal"}],"id":5086,"initialValue":{"arguments":[{"expression":{"id":5083,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12450:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"12450:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"12433:16:4","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct StdCheatsSafe.ReceiptLog memory[] memory)"},"typeName":{"baseType":{"id":5080,"nodeType":"UserDefinedTypeName","pathNode":{"id":5079,"name":"ReceiptLog","nodeType":"IdentifierPath","referencedDeclaration":4255,"src":"12437:10:4"},"referencedDeclaration":4255,"src":"12437:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":5081,"nodeType":"ArrayTypeName","src":"12437:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}}},"id":5085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12433:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"12406:59:4"},{"body":{"id":5195,"nodeType":"Block","src":"12516:571:4","statements":[{"expression":{"id":5105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5097,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"12530:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5099,"indexExpression":{"id":5098,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12535:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12530:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"logAddress","nodeType":"MemberAccess","referencedDeclaration":4237,"src":"12530:18:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5101,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12551:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5103,"indexExpression":{"id":5102,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12559:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12551:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5104,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"logAddress","nodeType":"MemberAccess","referencedDeclaration":4215,"src":"12551:21:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12530:42:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5106,"nodeType":"ExpressionStatement","src":"12530:42:4"},{"expression":{"id":5115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5107,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"12586:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5109,"indexExpression":{"id":5108,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12591:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12586:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5110,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":4239,"src":"12586:17:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5111,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12606:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5113,"indexExpression":{"id":5112,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12614:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12606:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5114,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":4217,"src":"12606:20:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"12586:40:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5116,"nodeType":"ExpressionStatement","src":"12586:40:4"},{"expression":{"id":5127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5117,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"12640:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5119,"indexExpression":{"id":5118,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12645:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12640:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5120,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":4241,"src":"12640:19:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5122,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12675:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5124,"indexExpression":{"id":5123,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12683:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12675:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5125,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":4219,"src":"12675:22:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5121,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"12662:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12662:36:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12640:58:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5128,"nodeType":"ExpressionStatement","src":"12640:58:4"},{"expression":{"id":5137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5129,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"12712:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5131,"indexExpression":{"id":5130,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12717:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12712:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5132,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":4243,"src":"12712:12:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5133,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12727:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5135,"indexExpression":{"id":5134,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12735:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12727:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5136,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","referencedDeclaration":4221,"src":"12727:15:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"12712:30:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5138,"nodeType":"ExpressionStatement","src":"12712:30:4"},{"expression":{"id":5149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5139,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"12756:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5141,"indexExpression":{"id":5140,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12761:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12756:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5142,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"logIndex","nodeType":"MemberAccess","referencedDeclaration":4245,"src":"12756:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5144,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12788:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5146,"indexExpression":{"id":5145,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12796:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12788:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5147,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"logIndex","nodeType":"MemberAccess","referencedDeclaration":4223,"src":"12788:19:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5143,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"12775:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12775:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12756:52:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5150,"nodeType":"ExpressionStatement","src":"12756:52:4"},{"expression":{"id":5159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5151,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"12822:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5153,"indexExpression":{"id":5152,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12827:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12822:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5154,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"topics","nodeType":"MemberAccess","referencedDeclaration":4248,"src":"12822:14:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5155,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12839:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5157,"indexExpression":{"id":5156,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12847:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12839:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5158,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"topics","nodeType":"MemberAccess","referencedDeclaration":4228,"src":"12839:17:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"src":"12822:34:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":5160,"nodeType":"ExpressionStatement","src":"12822:34:4"},{"expression":{"id":5171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5161,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"12870:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5163,"indexExpression":{"id":5162,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12875:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12870:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5164,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":4250,"src":"12870:24:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5166,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12910:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5168,"indexExpression":{"id":5167,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12918:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12910:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5169,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":4232,"src":"12910:27:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5165,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"12897:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12897:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12870:68:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5172,"nodeType":"ExpressionStatement","src":"12870:68:4"},{"expression":{"id":5183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5173,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"12952:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5175,"indexExpression":{"id":5174,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12957:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12952:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5176,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"transactionLogIndex","nodeType":"MemberAccess","referencedDeclaration":4252,"src":"12952:27:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5178,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12995:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5180,"indexExpression":{"id":5179,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"13003:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12995:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5181,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"transactionLogIndex","nodeType":"MemberAccess","referencedDeclaration":4234,"src":"12995:30:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5177,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"12982:12:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12982:44:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12952:74:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5184,"nodeType":"ExpressionStatement","src":"12952:74:4"},{"expression":{"id":5193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5185,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"13040:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5187,"indexExpression":{"id":5186,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"13045:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13040:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5188,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"removed","nodeType":"MemberAccess","referencedDeclaration":4254,"src":"13040:15:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5189,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"13058:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5191,"indexExpression":{"id":5190,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"13066:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13058:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5192,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"removed","nodeType":"MemberAccess","referencedDeclaration":4225,"src":"13058:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13040:36:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5194,"nodeType":"ExpressionStatement","src":"13040:36:4"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5090,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12491:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":5091,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5067,"src":"12495:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"12495:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12491:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5196,"initializationExpression":{"assignments":[5088],"declarations":[{"constant":false,"id":5088,"mutability":"mutable","name":"i","nameLocation":"12488:1:4","nodeType":"VariableDeclaration","scope":5196,"src":"12480:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5087,"name":"uint256","nodeType":"ElementaryTypeName","src":"12480:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5089,"nodeType":"VariableDeclarationStatement","src":"12480:9:4"},"loopExpression":{"expression":{"id":5095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12511:3:4","subExpression":{"id":5094,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5088,"src":"12511:1:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5096,"nodeType":"ExpressionStatement","src":"12511:3:4"},"nodeType":"ForStatement","src":"12475:612:4"},{"expression":{"id":5197,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5078,"src":"13103:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"functionReturnParameters":5073,"id":5198,"nodeType":"Return","src":"13096:11:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedReceiptLogs","nameLocation":"12250:25:4","parameters":{"id":5068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5067,"mutability":"mutable","name":"rawLogs","nameLocation":"12299:7:4","nodeType":"VariableDeclaration","scope":5200,"src":"12276:30:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"},"typeName":{"baseType":{"id":5065,"nodeType":"UserDefinedTypeName","pathNode":{"id":5064,"name":"RawReceiptLog","nodeType":"IdentifierPath","referencedDeclaration":4235,"src":"12276:13:4"},"referencedDeclaration":4235,"src":"12276:13:4","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4235_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog"}},"id":5066,"nodeType":"ArrayTypeName","src":"12276:15:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4235_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"}},"visibility":"internal"}],"src":"12275:32:4"},"returnParameters":{"id":5073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5072,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5200,"src":"12371:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"},"typeName":{"baseType":{"id":5070,"nodeType":"UserDefinedTypeName","pathNode":{"id":5069,"name":"ReceiptLog","nodeType":"IdentifierPath","referencedDeclaration":4255,"src":"12371:10:4"},"referencedDeclaration":4255,"src":"12371:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4255_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":5071,"nodeType":"ArrayTypeName","src":"12371:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4255_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}},"visibility":"internal"}],"src":"12370:21:4"},"scope":5526,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5232,"nodeType":"FunctionDefinition","src":"13274:416:4","nodes":[],"body":{"id":5231,"nodeType":"Block","src":"13373:317:4","nodes":[],"statements":[{"assignments":[5210],"declarations":[{"constant":false,"id":5210,"mutability":"mutable","name":"bytecode","nameLocation":"13396:8:4","nodeType":"VariableDeclaration","scope":5231,"src":"13383:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5209,"name":"bytes","nodeType":"ElementaryTypeName","src":"13383:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5219,"initialValue":{"arguments":[{"arguments":[{"id":5215,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5202,"src":"13435:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5213,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"13424:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":11101,"src":"13424:10:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13424:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":5217,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5204,"src":"13442:4:4","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":5211,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13407:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"13407:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13407:40:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"13383:64:4"},{"AST":{"nodeType":"YulBlock","src":"13509:79:4","statements":[{"nodeType":"YulAssignment","src":"13523:55:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13538:1:4","type":"","value":"0"},{"arguments":[{"name":"bytecode","nodeType":"YulIdentifier","src":"13545:8:4"},{"kind":"number","nodeType":"YulLiteral","src":"13555:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13541:3:4"},"nodeType":"YulFunctionCall","src":"13541:19:4"},{"arguments":[{"name":"bytecode","nodeType":"YulIdentifier","src":"13568:8:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13562:5:4"},"nodeType":"YulFunctionCall","src":"13562:15:4"}],"functionName":{"name":"create","nodeType":"YulIdentifier","src":"13531:6:4"},"nodeType":"YulFunctionCall","src":"13531:47:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"13523:4:4"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":5207,"isOffset":false,"isSlot":false,"src":"13523:4:4","valueSize":1},{"declaration":5210,"isOffset":false,"isSlot":false,"src":"13545:8:4","valueSize":1},{"declaration":5210,"isOffset":false,"isSlot":false,"src":"13568:8:4","valueSize":1}],"id":5220,"nodeType":"InlineAssembly","src":"13500:88:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5222,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5207,"src":"13606:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13622:1:4","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":5224,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13614:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5223,"name":"address","nodeType":"ElementaryTypeName","src":"13614:7:4","typeDescriptions":{}}},"id":5226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13614:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13606:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e672c6279746573293a204465706c6f796d656e74206661696c65642e","id":5228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13626:56:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_a8fe98dd1d450e91397ea844d0b9cef01528a963df7b8ac4b93b8aa3ef69cfce","typeString":"literal_string \"StdCheats deployCode(string,bytes): Deployment failed.\""},"value":"StdCheats deployCode(string,bytes): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a8fe98dd1d450e91397ea844d0b9cef01528a963df7b8ac4b93b8aa3ef69cfce","typeString":"literal_string \"StdCheats deployCode(string,bytes): Deployment failed.\""}],"id":5221,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13598:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13598:85:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5230,"nodeType":"ExpressionStatement","src":"13598:85:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"13283:10:4","parameters":{"id":5205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5202,"mutability":"mutable","name":"what","nameLocation":"13308:4:4","nodeType":"VariableDeclaration","scope":5232,"src":"13294:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5201,"name":"string","nodeType":"ElementaryTypeName","src":"13294:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5204,"mutability":"mutable","name":"args","nameLocation":"13327:4:4","nodeType":"VariableDeclaration","scope":5232,"src":"13314:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5203,"name":"bytes","nodeType":"ElementaryTypeName","src":"13314:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13293:39:4"},"returnParameters":{"id":5208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5207,"mutability":"mutable","name":"addr","nameLocation":"13367:4:4","nodeType":"VariableDeclaration","scope":5232,"src":"13359:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5206,"name":"address","nodeType":"ElementaryTypeName","src":"13359:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13358:14:4"},"scope":5526,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5258,"nodeType":"FunctionDefinition","src":"13696:367:4","nodes":[],"body":{"id":5257,"nodeType":"Block","src":"13776:287:4","nodes":[],"statements":[{"assignments":[5240],"declarations":[{"constant":false,"id":5240,"mutability":"mutable","name":"bytecode","nameLocation":"13799:8:4","nodeType":"VariableDeclaration","scope":5257,"src":"13786:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5239,"name":"bytes","nodeType":"ElementaryTypeName","src":"13786:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5245,"initialValue":{"arguments":[{"id":5243,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5234,"src":"13821:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5241,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"13810:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":11101,"src":"13810:10:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13810:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"13786:40:4"},{"AST":{"nodeType":"YulBlock","src":"13888:79:4","statements":[{"nodeType":"YulAssignment","src":"13902:55:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"13917:1:4","type":"","value":"0"},{"arguments":[{"name":"bytecode","nodeType":"YulIdentifier","src":"13924:8:4"},{"kind":"number","nodeType":"YulLiteral","src":"13934:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13920:3:4"},"nodeType":"YulFunctionCall","src":"13920:19:4"},{"arguments":[{"name":"bytecode","nodeType":"YulIdentifier","src":"13947:8:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13941:5:4"},"nodeType":"YulFunctionCall","src":"13941:15:4"}],"functionName":{"name":"create","nodeType":"YulIdentifier","src":"13910:6:4"},"nodeType":"YulFunctionCall","src":"13910:47:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"13902:4:4"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":5237,"isOffset":false,"isSlot":false,"src":"13902:4:4","valueSize":1},{"declaration":5240,"isOffset":false,"isSlot":false,"src":"13924:8:4","valueSize":1},{"declaration":5240,"isOffset":false,"isSlot":false,"src":"13947:8:4","valueSize":1}],"id":5246,"nodeType":"InlineAssembly","src":"13879:88:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5248,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5237,"src":"13985:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14001:1:4","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":5250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13993:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5249,"name":"address","nodeType":"ElementaryTypeName","src":"13993:7:4","typeDescriptions":{}}},"id":5252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13993:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13985:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e67293a204465706c6f796d656e74206661696c65642e","id":5254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14005:50:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_f6ca2d254da27f2f7b444314e77be236e782a4d81876827dbe8fe7dcea90b371","typeString":"literal_string \"StdCheats deployCode(string): Deployment failed.\""},"value":"StdCheats deployCode(string): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f6ca2d254da27f2f7b444314e77be236e782a4d81876827dbe8fe7dcea90b371","typeString":"literal_string \"StdCheats deployCode(string): Deployment failed.\""}],"id":5247,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13977:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13977:79:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5256,"nodeType":"ExpressionStatement","src":"13977:79:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"13705:10:4","parameters":{"id":5235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5234,"mutability":"mutable","name":"what","nameLocation":"13730:4:4","nodeType":"VariableDeclaration","scope":5258,"src":"13716:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5233,"name":"string","nodeType":"ElementaryTypeName","src":"13716:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13715:20:4"},"returnParameters":{"id":5238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5237,"mutability":"mutable","name":"addr","nameLocation":"13770:4:4","nodeType":"VariableDeclaration","scope":5258,"src":"13762:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5236,"name":"address","nodeType":"ElementaryTypeName","src":"13762:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13761:14:4"},"scope":5526,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5293,"nodeType":"FunctionDefinition","src":"14125:439:4","nodes":[],"body":{"id":5292,"nodeType":"Block","src":"14237:327:4","nodes":[],"statements":[{"assignments":[5271],"declarations":[{"constant":false,"id":5271,"mutability":"mutable","name":"bytecode","nameLocation":"14260:8:4","nodeType":"VariableDeclaration","scope":5292,"src":"14247:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5270,"name":"bytes","nodeType":"ElementaryTypeName","src":"14247:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5280,"initialValue":{"arguments":[{"arguments":[{"id":5276,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5261,"src":"14299:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5274,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"14288:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":11101,"src":"14288:10:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14288:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":5278,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5263,"src":"14306:4:4","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":5272,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14271:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"14271:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14271:40:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14247:64:4"},{"AST":{"nodeType":"YulBlock","src":"14373:81:4","statements":[{"nodeType":"YulAssignment","src":"14387:57:4","value":{"arguments":[{"name":"val","nodeType":"YulIdentifier","src":"14402:3:4"},{"arguments":[{"name":"bytecode","nodeType":"YulIdentifier","src":"14411:8:4"},{"kind":"number","nodeType":"YulLiteral","src":"14421:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14407:3:4"},"nodeType":"YulFunctionCall","src":"14407:19:4"},{"arguments":[{"name":"bytecode","nodeType":"YulIdentifier","src":"14434:8:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14428:5:4"},"nodeType":"YulFunctionCall","src":"14428:15:4"}],"functionName":{"name":"create","nodeType":"YulIdentifier","src":"14395:6:4"},"nodeType":"YulFunctionCall","src":"14395:49:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"14387:4:4"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":5268,"isOffset":false,"isSlot":false,"src":"14387:4:4","valueSize":1},{"declaration":5271,"isOffset":false,"isSlot":false,"src":"14411:8:4","valueSize":1},{"declaration":5271,"isOffset":false,"isSlot":false,"src":"14434:8:4","valueSize":1},{"declaration":5265,"isOffset":false,"isSlot":false,"src":"14402:3:4","valueSize":1}],"id":5281,"nodeType":"InlineAssembly","src":"14364:90:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5283,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5268,"src":"14472:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14488:1:4","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":5285,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14480:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5284,"name":"address","nodeType":"ElementaryTypeName","src":"14480:7:4","typeDescriptions":{}}},"id":5287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14480:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14472:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e672c62797465732c75696e74323536293a204465706c6f796d656e74206661696c65642e","id":5289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14492:64:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_b17e0074adb88d93215aea54607c780b63b16eef6aef31eb92005d5de3508fa0","typeString":"literal_string \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\""},"value":"StdCheats deployCode(string,bytes,uint256): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b17e0074adb88d93215aea54607c780b63b16eef6aef31eb92005d5de3508fa0","typeString":"literal_string \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\""}],"id":5282,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14464:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14464:93:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5291,"nodeType":"ExpressionStatement","src":"14464:93:4"}]},"documentation":{"id":5259,"nodeType":"StructuredDocumentation","src":"14069:51:4","text":"@dev deploy contract with value on construction"},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"14134:10:4","parameters":{"id":5266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5261,"mutability":"mutable","name":"what","nameLocation":"14159:4:4","nodeType":"VariableDeclaration","scope":5293,"src":"14145:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5260,"name":"string","nodeType":"ElementaryTypeName","src":"14145:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5263,"mutability":"mutable","name":"args","nameLocation":"14178:4:4","nodeType":"VariableDeclaration","scope":5293,"src":"14165:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5262,"name":"bytes","nodeType":"ElementaryTypeName","src":"14165:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":5265,"mutability":"mutable","name":"val","nameLocation":"14192:3:4","nodeType":"VariableDeclaration","scope":5293,"src":"14184:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5264,"name":"uint256","nodeType":"ElementaryTypeName","src":"14184:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14144:52:4"},"returnParameters":{"id":5269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5268,"mutability":"mutable","name":"addr","nameLocation":"14231:4:4","nodeType":"VariableDeclaration","scope":5293,"src":"14223:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5267,"name":"address","nodeType":"ElementaryTypeName","src":"14223:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14222:14:4"},"scope":5526,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5321,"nodeType":"FunctionDefinition","src":"14570:390:4","nodes":[],"body":{"id":5320,"nodeType":"Block","src":"14663:297:4","nodes":[],"statements":[{"assignments":[5303],"declarations":[{"constant":false,"id":5303,"mutability":"mutable","name":"bytecode","nameLocation":"14686:8:4","nodeType":"VariableDeclaration","scope":5320,"src":"14673:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5302,"name":"bytes","nodeType":"ElementaryTypeName","src":"14673:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5308,"initialValue":{"arguments":[{"id":5306,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5295,"src":"14708:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5304,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"14697:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":11101,"src":"14697:10:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14697:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14673:40:4"},{"AST":{"nodeType":"YulBlock","src":"14775:81:4","statements":[{"nodeType":"YulAssignment","src":"14789:57:4","value":{"arguments":[{"name":"val","nodeType":"YulIdentifier","src":"14804:3:4"},{"arguments":[{"name":"bytecode","nodeType":"YulIdentifier","src":"14813:8:4"},{"kind":"number","nodeType":"YulLiteral","src":"14823:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14809:3:4"},"nodeType":"YulFunctionCall","src":"14809:19:4"},{"arguments":[{"name":"bytecode","nodeType":"YulIdentifier","src":"14836:8:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14830:5:4"},"nodeType":"YulFunctionCall","src":"14830:15:4"}],"functionName":{"name":"create","nodeType":"YulIdentifier","src":"14797:6:4"},"nodeType":"YulFunctionCall","src":"14797:49:4"},"variableNames":[{"name":"addr","nodeType":"YulIdentifier","src":"14789:4:4"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":5300,"isOffset":false,"isSlot":false,"src":"14789:4:4","valueSize":1},{"declaration":5303,"isOffset":false,"isSlot":false,"src":"14813:8:4","valueSize":1},{"declaration":5303,"isOffset":false,"isSlot":false,"src":"14836:8:4","valueSize":1},{"declaration":5297,"isOffset":false,"isSlot":false,"src":"14804:3:4","valueSize":1}],"id":5309,"nodeType":"InlineAssembly","src":"14766:90:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5311,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5300,"src":"14874:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14890:1:4","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":5313,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14882:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5312,"name":"address","nodeType":"ElementaryTypeName","src":"14882:7:4","typeDescriptions":{}}},"id":5315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14882:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14874:18:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e672c75696e74323536293a204465706c6f796d656e74206661696c65642e","id":5317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14894:58:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_cea3fb8155c56e1e84c027eaf19b7f987ed52f1b7ae1ee8bed46141b7ecf08d2","typeString":"literal_string \"StdCheats deployCode(string,uint256): Deployment failed.\""},"value":"StdCheats deployCode(string,uint256): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cea3fb8155c56e1e84c027eaf19b7f987ed52f1b7ae1ee8bed46141b7ecf08d2","typeString":"literal_string \"StdCheats deployCode(string,uint256): Deployment failed.\""}],"id":5310,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14866:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14866:87:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5319,"nodeType":"ExpressionStatement","src":"14866:87:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"14579:10:4","parameters":{"id":5298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5295,"mutability":"mutable","name":"what","nameLocation":"14604:4:4","nodeType":"VariableDeclaration","scope":5321,"src":"14590:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5294,"name":"string","nodeType":"ElementaryTypeName","src":"14590:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5297,"mutability":"mutable","name":"val","nameLocation":"14618:3:4","nodeType":"VariableDeclaration","scope":5321,"src":"14610:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5296,"name":"uint256","nodeType":"ElementaryTypeName","src":"14610:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14589:33:4"},"returnParameters":{"id":5301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5300,"mutability":"mutable","name":"addr","nameLocation":"14657:4:4","nodeType":"VariableDeclaration","scope":5321,"src":"14649:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5299,"name":"address","nodeType":"ElementaryTypeName","src":"14649:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14648:14:4"},"scope":5526,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5357,"nodeType":"FunctionDefinition","src":"15033:242:4","nodes":[],"body":{"id":5356,"nodeType":"Block","src":"15137:138:4","nodes":[],"statements":[{"expression":{"id":5340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5330,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5328,"src":"15147:10:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":5336,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5323,"src":"15195:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5334,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15178:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"15178:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15178:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5333,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15168:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":5338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15168:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5332,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15160:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5331,"name":"uint256","nodeType":"ElementaryTypeName","src":"15160:7:4","typeDescriptions":{}}},"id":5339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15160:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15147:55:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5341,"nodeType":"ExpressionStatement","src":"15147:55:4"},{"expression":{"id":5347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5342,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5326,"src":"15212:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5345,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5328,"src":"15227:10:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5343,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"15219:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":10785,"src":"15219:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":5346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15219:19:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15212:26:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5348,"nodeType":"ExpressionStatement","src":"15212:26:4"},{"expression":{"arguments":[{"id":5352,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5326,"src":"15257:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5353,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5323,"src":"15263:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5349,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"15248:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"label","nodeType":"MemberAccess","referencedDeclaration":11115,"src":"15248:8:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":5354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15248:20:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5355,"nodeType":"ExpressionStatement","src":"15248:20:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"makeAddrAndKey","nameLocation":"15042:14:4","parameters":{"id":5324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5323,"mutability":"mutable","name":"name","nameLocation":"15071:4:4","nodeType":"VariableDeclaration","scope":5357,"src":"15057:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5322,"name":"string","nodeType":"ElementaryTypeName","src":"15057:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15056:20:4"},"returnParameters":{"id":5329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5326,"mutability":"mutable","name":"addr","nameLocation":"15111:4:4","nodeType":"VariableDeclaration","scope":5357,"src":"15103:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5325,"name":"address","nodeType":"ElementaryTypeName","src":"15103:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5328,"mutability":"mutable","name":"privateKey","nameLocation":"15125:10:4","nodeType":"VariableDeclaration","scope":5357,"src":"15117:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5327,"name":"uint256","nodeType":"ElementaryTypeName","src":"15117:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15102:34:4"},"scope":5526,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5372,"nodeType":"FunctionDefinition","src":"15314:125:4","nodes":[],"body":{"id":5371,"nodeType":"Block","src":"15392:47:4","nodes":[],"statements":[{"expression":{"id":5369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":5364,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5362,"src":"15403:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},null],"id":5365,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"15402:7:4","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$__$","typeString":"tuple(address,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5367,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5359,"src":"15427:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":5366,"name":"makeAddrAndKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5357,"src":"15412:14:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$_t_uint256_$","typeString":"function (string memory) returns (address,uint256)"}},"id":5368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15412:20:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}},"src":"15402:30:4","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5370,"nodeType":"ExpressionStatement","src":"15402:30:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"makeAddr","nameLocation":"15323:8:4","parameters":{"id":5360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5359,"mutability":"mutable","name":"name","nameLocation":"15346:4:4","nodeType":"VariableDeclaration","scope":5372,"src":"15332:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5358,"name":"string","nodeType":"ElementaryTypeName","src":"15332:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15331:20:4"},"returnParameters":{"id":5363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5362,"mutability":"mutable","name":"addr","nameLocation":"15386:4:4","nodeType":"VariableDeclaration","scope":5372,"src":"15378:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5361,"name":"address","nodeType":"ElementaryTypeName","src":"15378:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15377:14:4"},"scope":5526,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5399,"nodeType":"FunctionDefinition","src":"15445:253:4","nodes":[],"body":{"id":5398,"nodeType":"Block","src":"15597:101:4","nodes":[],"statements":[{"expression":{"id":5389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5383,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5381,"src":"15607:10:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5386,"name":"mnemonic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5374,"src":"15633:8:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":5387,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5376,"src":"15643:5:4","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"id":5384,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"15620:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deriveKey","nodeType":"MemberAccess","referencedDeclaration":11312,"src":"15620:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_uint32_$returns$_t_uint256_$","typeString":"function (string memory,uint32) pure external returns (uint256)"}},"id":5388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15620:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15607:42:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5390,"nodeType":"ExpressionStatement","src":"15607:42:4"},{"expression":{"id":5396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5391,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5379,"src":"15659:3:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5394,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5381,"src":"15680:10:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5392,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"15665:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"rememberKey","nodeType":"MemberAccess","referencedDeclaration":11330,"src":"15665:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) external returns (address)"}},"id":5395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15665:26:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15659:32:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5397,"nodeType":"ExpressionStatement","src":"15659:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deriveRememberKey","nameLocation":"15454:17:4","parameters":{"id":5377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5374,"mutability":"mutable","name":"mnemonic","nameLocation":"15486:8:4","nodeType":"VariableDeclaration","scope":5399,"src":"15472:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5373,"name":"string","nodeType":"ElementaryTypeName","src":"15472:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5376,"mutability":"mutable","name":"index","nameLocation":"15503:5:4","nodeType":"VariableDeclaration","scope":5399,"src":"15496:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":5375,"name":"uint32","nodeType":"ElementaryTypeName","src":"15496:6:4","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"15471:38:4"},"returnParameters":{"id":5382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5379,"mutability":"mutable","name":"who","nameLocation":"15568:3:4","nodeType":"VariableDeclaration","scope":5399,"src":"15560:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5378,"name":"address","nodeType":"ElementaryTypeName","src":"15560:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5381,"mutability":"mutable","name":"privateKey","nameLocation":"15581:10:4","nodeType":"VariableDeclaration","scope":5399,"src":"15573:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5380,"name":"uint256","nodeType":"ElementaryTypeName","src":"15573:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15559:33:4"},"scope":5526,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5433,"nodeType":"FunctionDefinition","src":"15704:253:4","nodes":[],"body":{"id":5432,"nodeType":"Block","src":"15773:184:4","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5407,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5401,"src":"15791:1:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"15791:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3332","id":5409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15803:2:4","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"15791:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473205f6279746573546f55696e74286279746573293a204279746573206c656e67746820657863656564732033322e","id":5411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15807:57:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_b4b692fb570df93e970ec8540fb3e2b3774022687951840fb5414e81f7899b71","typeString":"literal_string \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\""},"value":"StdCheats _bytesToUint(bytes): Bytes length exceeds 32."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b4b692fb570df93e970ec8540fb3e2b3774022687951840fb5414e81f7899b71","typeString":"literal_string \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\""}],"id":5406,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15783:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15783:82:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5413,"nodeType":"ExpressionStatement","src":"15783:82:4"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":5420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15920:2:4","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":5421,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5401,"src":"15925:1:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"15925:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15920:13:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"15910:9:4","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":5418,"name":"bytes","nodeType":"ElementaryTypeName","src":"15914:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":5424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15910:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":5425,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5401,"src":"15936:1:4","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":5416,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15893:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"15893:16:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15893:45:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5428,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15941:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5427,"name":"uint256","nodeType":"ElementaryTypeName","src":"15941:7:4","typeDescriptions":{}}}],"id":5429,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"15940:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":5414,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15882:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"15882:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15882:68:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5405,"id":5431,"nodeType":"Return","src":"15875:75:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_bytesToUint","nameLocation":"15713:12:4","parameters":{"id":5402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5401,"mutability":"mutable","name":"b","nameLocation":"15739:1:4","nodeType":"VariableDeclaration","scope":5433,"src":"15726:14:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5400,"name":"bytes","nodeType":"ElementaryTypeName","src":"15726:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15725:16:4"},"returnParameters":{"id":5405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5404,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5433,"src":"15764:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5403,"name":"uint256","nodeType":"ElementaryTypeName","src":"15764:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15763:9:4"},"scope":5526,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":5454,"nodeType":"FunctionDefinition","src":"15963:160:4","nodes":[],"body":{"id":5453,"nodeType":"Block","src":"16025:98:4","nodes":[],"statements":[{"clauses":[{"block":{"id":5445,"nodeType":"Block","src":"16055:38:4","statements":[{"expression":{"id":5443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5441,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5436,"src":"16069:6:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":5442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16078:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"16069:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5444,"nodeType":"ExpressionStatement","src":"16069:13:4"}]},"errorName":"","id":5446,"nodeType":"TryCatchClause","src":"16055:38:4"},{"block":{"id":5450,"nodeType":"Block","src":"16115:2:4","statements":[]},"errorName":"","id":5451,"nodeType":"TryCatchClause","parameters":{"id":5449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5448,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5451,"src":"16101:12:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5447,"name":"bytes","nodeType":"ElementaryTypeName","src":"16101:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"16100:14:4"},"src":"16094:23:4"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5438,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"16039:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"activeFork","nodeType":"MemberAccess","referencedDeclaration":11950,"src":"16039:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":5440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16039:15:4","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5452,"nodeType":"TryStatement","src":"16035:82:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"isFork","nameLocation":"15972:6:4","parameters":{"id":5434,"nodeType":"ParameterList","parameters":[],"src":"15978:2:4"},"returnParameters":{"id":5437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5436,"mutability":"mutable","name":"status","nameLocation":"16017:6:4","nodeType":"VariableDeclaration","scope":5454,"src":"16012:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5435,"name":"bool","nodeType":"ElementaryTypeName","src":"16012:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16011:13:4"},"scope":5526,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5463,"nodeType":"ModifierDefinition","src":"16129:84:4","nodes":[],"body":{"id":5462,"nodeType":"Block","src":"16156:57:4","nodes":[],"statements":[{"condition":{"id":5458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16170:9:4","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":5456,"name":"isFork","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"16171:6:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":5457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16171:8:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5461,"nodeType":"IfStatement","src":"16166:41:4","trueBody":{"id":5460,"nodeType":"Block","src":"16181:26:4","statements":[{"id":5459,"nodeType":"PlaceholderStatement","src":"16195:1:4"}]}}]},"name":"skipWhenForking","nameLocation":"16138:15:4","parameters":{"id":5455,"nodeType":"ParameterList","parameters":[],"src":"16153:2:4"},"virtual":false,"visibility":"internal"},{"id":5471,"nodeType":"ModifierDefinition","src":"16219:86:4","nodes":[],"body":{"id":5470,"nodeType":"Block","src":"16249:56:4","nodes":[],"statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"id":5465,"name":"isFork","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"16263:6:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":5466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16263:8:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5469,"nodeType":"IfStatement","src":"16259:40:4","trueBody":{"id":5468,"nodeType":"Block","src":"16273:26:4","statements":[{"id":5467,"nodeType":"PlaceholderStatement","src":"16287:1:4"}]}}]},"name":"skipWhenNotForking","nameLocation":"16228:18:4","parameters":{"id":5464,"nodeType":"ParameterList","parameters":[],"src":"16246:2:4"},"virtual":false,"visibility":"internal"},{"id":5501,"nodeType":"ModifierDefinition","src":"16311:884:4","nodes":[],"body":{"id":5500,"nodeType":"Block","src":"16336:859:4","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5473,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"16346:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pauseGasMetering","nodeType":"MemberAccess","referencedDeclaration":11686,"src":"16346:19:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":5476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16346:21:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5477,"nodeType":"ExpressionStatement","src":"16346:21:4"},{"assignments":[5479],"declarations":[{"constant":false,"id":5479,"mutability":"mutable","name":"gasStartedOff","nameLocation":"16910:13:4","nodeType":"VariableDeclaration","scope":5500,"src":"16905:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5478,"name":"bool","nodeType":"ElementaryTypeName","src":"16905:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":5481,"initialValue":{"id":5480,"name":"gasMeteringOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3981,"src":"16926:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"16905:35:4"},{"expression":{"id":5484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5482,"name":"gasMeteringOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3981,"src":"16950:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":5483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16967:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"16950:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5485,"nodeType":"ExpressionStatement","src":"16950:21:4"},{"id":5486,"nodeType":"PlaceholderStatement","src":"16982:1:4"},{"condition":{"id":5488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17090:14:4","subExpression":{"id":5487,"name":"gasStartedOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5479,"src":"17091:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5499,"nodeType":"IfStatement","src":"17086:103:4","trueBody":{"id":5498,"nodeType":"Block","src":"17106:83:4","statements":[{"expression":{"id":5491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5489,"name":"gasMeteringOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3981,"src":"17120:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":5490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17137:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"17120:22:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5492,"nodeType":"ExpressionStatement","src":"17120:22:4"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5493,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"17156:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"resumeGasMetering","nodeType":"MemberAccess","referencedDeclaration":11689,"src":"17156:20:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":5496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17156:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5497,"nodeType":"ExpressionStatement","src":"17156:22:4"}]}}]},"name":"noGasMetering","nameLocation":"16320:13:4","parameters":{"id":5472,"nodeType":"ParameterList","parameters":[],"src":"16333:2:4"},"virtual":false,"visibility":"internal"},{"id":5525,"nodeType":"FunctionDefinition","src":"17321:149:4","nodes":[],"body":{"id":5524,"nodeType":"Block","src":"17375:95:4","nodes":[],"statements":[{"assignments":[5507,null],"declarations":[{"constant":false,"id":5507,"mutability":"mutable","name":"success","nameLocation":"17391:7:4","nodeType":"VariableDeclaration","scope":5524,"src":"17386:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5506,"name":"bool","nodeType":"ElementaryTypeName","src":"17386:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":5517,"initialValue":{"arguments":[{"hexValue":"","id":5515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17432:2:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"id":5510,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5503,"src":"17411:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5509,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17403:8:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":5508,"name":"address","nodeType":"ElementaryTypeName","src":"17403:8:4","stateMutability":"payable","typeDescriptions":{}}},"id":5511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17403:13:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":5512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"17403:18:4","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":5514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"hexValue":"30","id":5513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17429:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"src":"17403:28:4","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":5516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17403:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"17385:50:4"},{"expression":{"arguments":[{"id":5521,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5507,"src":"17455:7:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":5518,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3979,"src":"17445:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":11683,"src":"17445:9:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":5522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17445:18:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5523,"nodeType":"ExpressionStatement","src":"17445:18:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumePayable","nameLocation":"17330:13:4","parameters":{"id":5504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5503,"mutability":"mutable","name":"addr","nameLocation":"17352:4:4","nodeType":"VariableDeclaration","scope":5525,"src":"17344:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5502,"name":"address","nodeType":"ElementaryTypeName","src":"17344:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17343:14:4"},"returnParameters":{"id":5505,"nodeType":"ParameterList","parameters":[],"src":"17375:0:4"},"scope":5526,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"StdCheatsSafe","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[5526],"name":"StdCheatsSafe","nameLocation":"205:13:4","scope":6186,"usedErrors":[]},{"id":6185,"nodeType":"ContractDefinition","src":"17522:5770:4","nodes":[{"id":5532,"nodeType":"UsingForDirective","src":"17573:32:4","nodes":[],"libraryName":{"id":5529,"name":"stdStorage","nodeType":"IdentifierPath","referencedDeclaration":8658,"src":"17579:10:4"},"typeName":{"id":5531,"nodeType":"UserDefinedTypeName","pathNode":{"id":5530,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"17594:10:4"},"referencedDeclaration":7225,"src":"17594:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}}},{"id":5535,"nodeType":"VariableDeclaration","src":"17611:27:4","nodes":[],"constant":false,"mutability":"mutable","name":"stdstore","nameLocation":"17630:8:4","scope":6185,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage","typeString":"struct StdStorage"},"typeName":{"id":5534,"nodeType":"UserDefinedTypeName","pathNode":{"id":5533,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"17611:10:4"},"referencedDeclaration":7225,"src":"17611:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"private"},{"id":5552,"nodeType":"VariableDeclaration","src":"17644:84:4","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"17664:2:4","scope":6185,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"},"typeName":{"id":5537,"nodeType":"UserDefinedTypeName","pathNode":{"id":5536,"name":"Vm","nodeType":"IdentifierPath","referencedDeclaration":12037,"src":"17644:2:4"},"referencedDeclaration":12037,"src":"17644:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":5546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17706:17:4","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":5545,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"17696:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":5547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17696:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5544,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17688:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5543,"name":"uint256","nodeType":"ElementaryTypeName","src":"17688:7:4","typeDescriptions":{}}},"id":5548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17688:37:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17680:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":5541,"name":"uint160","nodeType":"ElementaryTypeName","src":"17680:7:4","typeDescriptions":{}}},"id":5549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17680:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":5540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17672:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5539,"name":"address","nodeType":"ElementaryTypeName","src":"17672:7:4","typeDescriptions":{}}},"id":5550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17672:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5538,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"17669:2:4","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"id":5551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17669:59:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"visibility":"private"},{"id":5567,"nodeType":"FunctionDefinition","src":"17805:93:4","nodes":[],"body":{"id":5566,"nodeType":"Block","src":"17850:48:4","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5560,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"17868:5:4","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":5561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"17868:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":5562,"name":"time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5554,"src":"17886:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17868:22:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5557,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"17860:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":11697,"src":"17860:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":5564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17860:31:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5565,"nodeType":"ExpressionStatement","src":"17860:31:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"skip","nameLocation":"17814:4:4","parameters":{"id":5555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5554,"mutability":"mutable","name":"time","nameLocation":"17827:4:4","nodeType":"VariableDeclaration","scope":5567,"src":"17819:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5553,"name":"uint256","nodeType":"ElementaryTypeName","src":"17819:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17818:14:4"},"returnParameters":{"id":5556,"nodeType":"ParameterList","parameters":[],"src":"17850:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5582,"nodeType":"FunctionDefinition","src":"17904:95:4","nodes":[],"body":{"id":5581,"nodeType":"Block","src":"17951:48:4","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5575,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"17969:5:4","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":5576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"17969:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":5577,"name":"time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5569,"src":"17987:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17969:22:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5572,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"17961:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":11697,"src":"17961:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":5579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17961:31:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5580,"nodeType":"ExpressionStatement","src":"17961:31:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rewind","nameLocation":"17913:6:4","parameters":{"id":5570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5569,"mutability":"mutable","name":"time","nameLocation":"17928:4:4","nodeType":"VariableDeclaration","scope":5582,"src":"17920:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5568,"name":"uint256","nodeType":"ElementaryTypeName","src":"17920:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17919:14:4"},"returnParameters":{"id":5571,"nodeType":"ParameterList","parameters":[],"src":"17951:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5603,"nodeType":"FunctionDefinition","src":"18062:124:4","nodes":[],"body":{"id":5602,"nodeType":"Block","src":"18112:74:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5590,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5584,"src":"18130:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":5593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":5591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18141:1:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":5592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18146:3:4","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"18141:8:4","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":5587,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18122:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":11767,"src":"18122:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18122:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5595,"nodeType":"ExpressionStatement","src":"18122:28:4"},{"expression":{"arguments":[{"id":5599,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5584,"src":"18169:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5596,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18160:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":11738,"src":"18160:8:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18160:19:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5601,"nodeType":"ExpressionStatement","src":"18160:19:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"18071:4:4","parameters":{"id":5585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5584,"mutability":"mutable","name":"msgSender","nameLocation":"18084:9:4","nodeType":"VariableDeclaration","scope":5603,"src":"18076:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5583,"name":"address","nodeType":"ElementaryTypeName","src":"18076:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18075:19:4"},"returnParameters":{"id":5586,"nodeType":"ParameterList","parameters":[],"src":"18112:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5624,"nodeType":"FunctionDefinition","src":"18192:134:4","nodes":[],"body":{"id":5623,"nodeType":"Block","src":"18256:70:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5613,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5605,"src":"18274:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5614,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5607,"src":"18285:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5610,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18266:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":11767,"src":"18266:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18266:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5616,"nodeType":"ExpressionStatement","src":"18266:24:4"},{"expression":{"arguments":[{"id":5620,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5605,"src":"18309:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5617,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18300:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":11738,"src":"18300:8:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18300:19:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5622,"nodeType":"ExpressionStatement","src":"18300:19:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"18201:4:4","parameters":{"id":5608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5605,"mutability":"mutable","name":"msgSender","nameLocation":"18214:9:4","nodeType":"VariableDeclaration","scope":5624,"src":"18206:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5604,"name":"address","nodeType":"ElementaryTypeName","src":"18206:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5607,"mutability":"mutable","name":"give","nameLocation":"18233:4:4","nodeType":"VariableDeclaration","scope":5624,"src":"18225:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5606,"name":"uint256","nodeType":"ElementaryTypeName","src":"18225:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18205:33:4"},"returnParameters":{"id":5609,"nodeType":"ParameterList","parameters":[],"src":"18256:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5648,"nodeType":"FunctionDefinition","src":"18332:148:4","nodes":[],"body":{"id":5647,"nodeType":"Block","src":"18398:82:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5634,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5626,"src":"18416:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":5637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":5635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18427:1:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":5636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18432:3:4","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"18427:8:4","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":5631,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18408:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":11767,"src":"18408:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18408:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5639,"nodeType":"ExpressionStatement","src":"18408:28:4"},{"expression":{"arguments":[{"id":5643,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5626,"src":"18455:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5644,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5628,"src":"18466:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5640,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18446:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":11750,"src":"18446:8:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":5645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18446:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5646,"nodeType":"ExpressionStatement","src":"18446:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"18341:4:4","parameters":{"id":5629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5626,"mutability":"mutable","name":"msgSender","nameLocation":"18354:9:4","nodeType":"VariableDeclaration","scope":5648,"src":"18346:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5625,"name":"address","nodeType":"ElementaryTypeName","src":"18346:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5628,"mutability":"mutable","name":"origin","nameLocation":"18373:6:4","nodeType":"VariableDeclaration","scope":5648,"src":"18365:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5627,"name":"address","nodeType":"ElementaryTypeName","src":"18365:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18345:35:4"},"returnParameters":{"id":5630,"nodeType":"ParameterList","parameters":[],"src":"18398:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5672,"nodeType":"FunctionDefinition","src":"18486:158:4","nodes":[],"body":{"id":5671,"nodeType":"Block","src":"18566:78:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5660,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5650,"src":"18584:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5661,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5654,"src":"18595:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5657,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18576:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":11767,"src":"18576:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18576:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5663,"nodeType":"ExpressionStatement","src":"18576:24:4"},{"expression":{"arguments":[{"id":5667,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5650,"src":"18619:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5668,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5652,"src":"18630:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5664,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18610:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":11750,"src":"18610:8:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":5669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18610:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5670,"nodeType":"ExpressionStatement","src":"18610:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"18495:4:4","parameters":{"id":5655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5650,"mutability":"mutable","name":"msgSender","nameLocation":"18508:9:4","nodeType":"VariableDeclaration","scope":5672,"src":"18500:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5649,"name":"address","nodeType":"ElementaryTypeName","src":"18500:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5652,"mutability":"mutable","name":"origin","nameLocation":"18527:6:4","nodeType":"VariableDeclaration","scope":5672,"src":"18519:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5651,"name":"address","nodeType":"ElementaryTypeName","src":"18519:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5654,"mutability":"mutable","name":"give","nameLocation":"18543:4:4","nodeType":"VariableDeclaration","scope":5672,"src":"18535:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5653,"name":"uint256","nodeType":"ElementaryTypeName","src":"18535:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18499:49:4"},"returnParameters":{"id":5656,"nodeType":"ParameterList","parameters":[],"src":"18566:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5693,"nodeType":"FunctionDefinition","src":"18715:134:4","nodes":[],"body":{"id":5692,"nodeType":"Block","src":"18770:79:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5680,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5674,"src":"18788:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":5683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":5681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18799:1:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":5682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18804:3:4","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"18799:8:4","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":5677,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18780:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":11767,"src":"18780:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18780:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5685,"nodeType":"ExpressionStatement","src":"18780:28:4"},{"expression":{"arguments":[{"id":5689,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5674,"src":"18832:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5686,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18818:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":11743,"src":"18818:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18818:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5691,"nodeType":"ExpressionStatement","src":"18818:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"18724:9:4","parameters":{"id":5675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5674,"mutability":"mutable","name":"msgSender","nameLocation":"18742:9:4","nodeType":"VariableDeclaration","scope":5693,"src":"18734:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5673,"name":"address","nodeType":"ElementaryTypeName","src":"18734:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18733:19:4"},"returnParameters":{"id":5676,"nodeType":"ParameterList","parameters":[],"src":"18770:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5714,"nodeType":"FunctionDefinition","src":"18855:144:4","nodes":[],"body":{"id":5713,"nodeType":"Block","src":"18924:75:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5703,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5695,"src":"18942:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5704,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5697,"src":"18953:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5700,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18934:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":11767,"src":"18934:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18934:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5706,"nodeType":"ExpressionStatement","src":"18934:24:4"},{"expression":{"arguments":[{"id":5710,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5695,"src":"18982:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5707,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"18968:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":11743,"src":"18968:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18968:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5712,"nodeType":"ExpressionStatement","src":"18968:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"18864:9:4","parameters":{"id":5698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5695,"mutability":"mutable","name":"msgSender","nameLocation":"18882:9:4","nodeType":"VariableDeclaration","scope":5714,"src":"18874:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5694,"name":"address","nodeType":"ElementaryTypeName","src":"18874:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5697,"mutability":"mutable","name":"give","nameLocation":"18901:4:4","nodeType":"VariableDeclaration","scope":5714,"src":"18893:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5696,"name":"uint256","nodeType":"ElementaryTypeName","src":"18893:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18873:33:4"},"returnParameters":{"id":5699,"nodeType":"ParameterList","parameters":[],"src":"18924:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5738,"nodeType":"FunctionDefinition","src":"19118:158:4","nodes":[],"body":{"id":5737,"nodeType":"Block","src":"19189:87:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5724,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5716,"src":"19207:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":5727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":5725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19218:1:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":5726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19223:3:4","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"19218:8:4","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":5721,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"19199:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":11767,"src":"19199:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19199:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5729,"nodeType":"ExpressionStatement","src":"19199:28:4"},{"expression":{"arguments":[{"id":5733,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5716,"src":"19251:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5734,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5718,"src":"19262:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5730,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"19237:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":11757,"src":"19237:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":5735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19237:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5736,"nodeType":"ExpressionStatement","src":"19237:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"19127:9:4","parameters":{"id":5719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5716,"mutability":"mutable","name":"msgSender","nameLocation":"19145:9:4","nodeType":"VariableDeclaration","scope":5738,"src":"19137:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5715,"name":"address","nodeType":"ElementaryTypeName","src":"19137:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5718,"mutability":"mutable","name":"origin","nameLocation":"19164:6:4","nodeType":"VariableDeclaration","scope":5738,"src":"19156:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5717,"name":"address","nodeType":"ElementaryTypeName","src":"19156:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19136:35:4"},"returnParameters":{"id":5720,"nodeType":"ParameterList","parameters":[],"src":"19189:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5762,"nodeType":"FunctionDefinition","src":"19282:168:4","nodes":[],"body":{"id":5761,"nodeType":"Block","src":"19367:83:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5750,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5740,"src":"19385:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5751,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5744,"src":"19396:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5747,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"19377:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":11767,"src":"19377:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19377:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5753,"nodeType":"ExpressionStatement","src":"19377:24:4"},{"expression":{"arguments":[{"id":5757,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5740,"src":"19425:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5758,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5742,"src":"19436:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5754,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"19411:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":11757,"src":"19411:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":5759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19411:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5760,"nodeType":"ExpressionStatement","src":"19411:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"19291:9:4","parameters":{"id":5745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5740,"mutability":"mutable","name":"msgSender","nameLocation":"19309:9:4","nodeType":"VariableDeclaration","scope":5762,"src":"19301:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5739,"name":"address","nodeType":"ElementaryTypeName","src":"19301:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5742,"mutability":"mutable","name":"origin","nameLocation":"19328:6:4","nodeType":"VariableDeclaration","scope":5762,"src":"19320:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5741,"name":"address","nodeType":"ElementaryTypeName","src":"19320:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5744,"mutability":"mutable","name":"give","nameLocation":"19344:4:4","nodeType":"VariableDeclaration","scope":5762,"src":"19336:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5743,"name":"uint256","nodeType":"ElementaryTypeName","src":"19336:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19300:49:4"},"returnParameters":{"id":5746,"nodeType":"ParameterList","parameters":[],"src":"19367:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5779,"nodeType":"FunctionDefinition","src":"19456:122:4","nodes":[],"body":{"id":5778,"nodeType":"Block","src":"19513:65:4","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5767,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"19523:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":11760,"src":"19523:12:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":5770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19523:14:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5771,"nodeType":"ExpressionStatement","src":"19523:14:4"},{"expression":{"arguments":[{"id":5775,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5764,"src":"19561:9:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5772,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"19547:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":11743,"src":"19547:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19547:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5777,"nodeType":"ExpressionStatement","src":"19547:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"changePrank","nameLocation":"19465:11:4","parameters":{"id":5765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5764,"mutability":"mutable","name":"msgSender","nameLocation":"19485:9:4","nodeType":"VariableDeclaration","scope":5779,"src":"19477:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5763,"name":"address","nodeType":"ElementaryTypeName","src":"19477:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19476:19:4"},"returnParameters":{"id":5766,"nodeType":"ParameterList","parameters":[],"src":"19513:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5794,"nodeType":"FunctionDefinition","src":"19669:91:4","nodes":[],"body":{"id":5793,"nodeType":"Block","src":"19726:34:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5789,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5781,"src":"19744:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5790,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5783,"src":"19748:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5786,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5552,"src":"19736:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":5788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":11767,"src":"19736:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":5791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19736:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5792,"nodeType":"ExpressionStatement","src":"19736:17:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deal","nameLocation":"19678:4:4","parameters":{"id":5784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5781,"mutability":"mutable","name":"to","nameLocation":"19691:2:4","nodeType":"VariableDeclaration","scope":5794,"src":"19683:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5780,"name":"address","nodeType":"ElementaryTypeName","src":"19683:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5783,"mutability":"mutable","name":"give","nameLocation":"19703:4:4","nodeType":"VariableDeclaration","scope":5794,"src":"19695:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5782,"name":"uint256","nodeType":"ElementaryTypeName","src":"19695:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19682:26:4"},"returnParameters":{"id":5785,"nodeType":"ParameterList","parameters":[],"src":"19726:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5811,"nodeType":"FunctionDefinition","src":"19884:117:4","nodes":[],"body":{"id":5810,"nodeType":"Block","src":"19956:45:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5804,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5796,"src":"19971:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5805,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5798,"src":"19978:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5806,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5800,"src":"19982:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":5807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19988:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":5803,"name":"deal","nodeType":"Identifier","overloadedDeclarations":[5794,5811,5934],"referencedDeclaration":5934,"src":"19966:4:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,bool)"}},"id":5808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19966:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5809,"nodeType":"ExpressionStatement","src":"19966:28:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deal","nameLocation":"19893:4:4","parameters":{"id":5801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5796,"mutability":"mutable","name":"token","nameLocation":"19906:5:4","nodeType":"VariableDeclaration","scope":5811,"src":"19898:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5795,"name":"address","nodeType":"ElementaryTypeName","src":"19898:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5798,"mutability":"mutable","name":"to","nameLocation":"19921:2:4","nodeType":"VariableDeclaration","scope":5811,"src":"19913:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5797,"name":"address","nodeType":"ElementaryTypeName","src":"19913:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5800,"mutability":"mutable","name":"give","nameLocation":"19933:4:4","nodeType":"VariableDeclaration","scope":5811,"src":"19925:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5799,"name":"uint256","nodeType":"ElementaryTypeName","src":"19925:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19897:41:4"},"returnParameters":{"id":5802,"nodeType":"ParameterList","parameters":[],"src":"19956:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5831,"nodeType":"FunctionDefinition","src":"20127:147:4","nodes":[],"body":{"id":5830,"nodeType":"Block","src":"20218:56:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":5823,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5813,"src":"20240:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5824,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5815,"src":"20247:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5825,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5817,"src":"20251:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5826,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5819,"src":"20255:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":5827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"20261:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":5822,"name":"dealERC1155","nodeType":"Identifier","overloadedDeclarations":[5831,6055],"referencedDeclaration":6055,"src":"20228:11:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,uint256,bool)"}},"id":5828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20228:39:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5829,"nodeType":"ExpressionStatement","src":"20228:39:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dealERC1155","nameLocation":"20136:11:4","parameters":{"id":5820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5813,"mutability":"mutable","name":"token","nameLocation":"20156:5:4","nodeType":"VariableDeclaration","scope":5831,"src":"20148:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5812,"name":"address","nodeType":"ElementaryTypeName","src":"20148:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5815,"mutability":"mutable","name":"to","nameLocation":"20171:2:4","nodeType":"VariableDeclaration","scope":5831,"src":"20163:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5814,"name":"address","nodeType":"ElementaryTypeName","src":"20163:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5817,"mutability":"mutable","name":"id","nameLocation":"20183:2:4","nodeType":"VariableDeclaration","scope":5831,"src":"20175:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5816,"name":"uint256","nodeType":"ElementaryTypeName","src":"20175:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5819,"mutability":"mutable","name":"give","nameLocation":"20195:4:4","nodeType":"VariableDeclaration","scope":5831,"src":"20187:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5818,"name":"uint256","nodeType":"ElementaryTypeName","src":"20187:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20147:53:4"},"returnParameters":{"id":5821,"nodeType":"ParameterList","parameters":[],"src":"20218:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5934,"nodeType":"FunctionDefinition","src":"20280:825:4","nodes":[],"body":{"id":5933,"nodeType":"Block","src":"20365:740:4","nodes":[],"statements":[{"assignments":[null,5843],"declarations":[null,{"constant":false,"id":5843,"mutability":"mutable","name":"balData","nameLocation":"20422:7:4","nodeType":"VariableDeclaration","scope":5933,"src":"20409:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5842,"name":"bytes","nodeType":"ElementaryTypeName","src":"20409:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5852,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783730613038323331","id":5848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20467:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"id":5849,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5835,"src":"20479:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5846,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20444:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"20444:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":5850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20444:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5844,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5833,"src":"20433:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"20433:10:4","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":5851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20433:50:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"20406:77:4"},{"assignments":[5854],"declarations":[{"constant":false,"id":5854,"mutability":"mutable","name":"prevBal","nameLocation":"20501:7:4","nodeType":"VariableDeclaration","scope":5933,"src":"20493:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5853,"name":"uint256","nodeType":"ElementaryTypeName","src":"20493:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5862,"initialValue":{"arguments":[{"id":5857,"name":"balData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5843,"src":"20522:7:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20532:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5858,"name":"uint256","nodeType":"ElementaryTypeName","src":"20532:7:4","typeDescriptions":{}}}],"id":5860,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20531:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":5855,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20511:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5856,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"20511:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20511:30:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20493:48:4"},{"expression":{"arguments":[{"id":5875,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5837,"src":"20644:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":5872,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5835,"src":"20626:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"hexValue":"30783730613038323331","id":5869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20605:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"}],"expression":{"arguments":[{"id":5866,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5833,"src":"20594:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5863,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"20578:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage","typeString":"struct StdStorage storage ref"}},"id":5865,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":8179,"src":"20578:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":5867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20578:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5868,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":8197,"src":"20578:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":5870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20578:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5871,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":8233,"src":"20578:47:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":5873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20578:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5874,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":8327,"src":"20578:65:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":5876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20578:71:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5877,"nodeType":"ExpressionStatement","src":"20578:71:4"},{"condition":{"id":5878,"name":"adjust","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5839,"src":"20695:6:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5932,"nodeType":"IfStatement","src":"20691:408:4","trueBody":{"id":5931,"nodeType":"Block","src":"20703:396:4","statements":[{"assignments":[null,5880],"declarations":[null,{"constant":false,"id":5880,"mutability":"mutable","name":"totSupData","nameLocation":"20733:10:4","nodeType":"VariableDeclaration","scope":5931,"src":"20720:23:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5879,"name":"bytes","nodeType":"ElementaryTypeName","src":"20720:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5888,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783138313630646464","id":5885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20781:10:4","typeDescriptions":{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"},"value":"0x18160ddd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"}],"expression":{"id":5883,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20758:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"20758:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":5886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20758:34:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5881,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5833,"src":"20747:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"20747:10:4","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":5887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20747:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"20717:76:4"},{"assignments":[5890],"declarations":[{"constant":false,"id":5890,"mutability":"mutable","name":"totSup","nameLocation":"20815:6:4","nodeType":"VariableDeclaration","scope":5931,"src":"20807:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5889,"name":"uint256","nodeType":"ElementaryTypeName","src":"20807:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5898,"initialValue":{"arguments":[{"id":5893,"name":"totSupData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5880,"src":"20835:10:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5895,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20848:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5894,"name":"uint256","nodeType":"ElementaryTypeName","src":"20848:7:4","typeDescriptions":{}}}],"id":5896,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20847:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":5891,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20824:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5892,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"20824:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20824:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20807:50:4"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5899,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5837,"src":"20875:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":5900,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5854,"src":"20882:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20875:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":5917,"nodeType":"Block","src":"20956:59:4","statements":[{"expression":{"id":5915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5910,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5890,"src":"20974:6:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5911,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5837,"src":"20985:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":5912,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5854,"src":"20992:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20985:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":5914,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20984:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20974:26:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5916,"nodeType":"ExpressionStatement","src":"20974:26:4"}]},"id":5918,"nodeType":"IfStatement","src":"20871:144:4","trueBody":{"id":5909,"nodeType":"Block","src":"20891:59:4","statements":[{"expression":{"id":5907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5902,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5890,"src":"20909:6:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5903,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5854,"src":"20920:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":5904,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5837,"src":"20930:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20920:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":5906,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20919:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20909:26:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5908,"nodeType":"ExpressionStatement","src":"20909:26:4"}]}},{"expression":{"arguments":[{"id":5928,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5890,"src":"21081:6:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"hexValue":"30783138313630646464","id":5925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21055:10:4","typeDescriptions":{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"},"value":"0x18160ddd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"}],"expression":{"arguments":[{"id":5922,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5833,"src":"21044:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5919,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"21028:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage","typeString":"struct StdStorage storage ref"}},"id":5921,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":8179,"src":"21028:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":5923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21028:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5924,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":8197,"src":"21028:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":5926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21028:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5927,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":8327,"src":"21028:52:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":5929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21028:60:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5930,"nodeType":"ExpressionStatement","src":"21028:60:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"deal","nameLocation":"20289:4:4","parameters":{"id":5840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5833,"mutability":"mutable","name":"token","nameLocation":"20302:5:4","nodeType":"VariableDeclaration","scope":5934,"src":"20294:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5832,"name":"address","nodeType":"ElementaryTypeName","src":"20294:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5835,"mutability":"mutable","name":"to","nameLocation":"20317:2:4","nodeType":"VariableDeclaration","scope":5934,"src":"20309:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5834,"name":"address","nodeType":"ElementaryTypeName","src":"20309:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5837,"mutability":"mutable","name":"give","nameLocation":"20329:4:4","nodeType":"VariableDeclaration","scope":5934,"src":"20321:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5836,"name":"uint256","nodeType":"ElementaryTypeName","src":"20321:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5839,"mutability":"mutable","name":"adjust","nameLocation":"20340:6:4","nodeType":"VariableDeclaration","scope":5934,"src":"20335:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5838,"name":"bool","nodeType":"ElementaryTypeName","src":"20335:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20293:54:4"},"returnParameters":{"id":5841,"nodeType":"ParameterList","parameters":[],"src":"20365:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6055,"nodeType":"FunctionDefinition","src":"21111:1058:4","nodes":[],"body":{"id":6054,"nodeType":"Block","src":"21215:954:4","nodes":[],"statements":[{"assignments":[null,5948],"declarations":[null,{"constant":false,"id":5948,"mutability":"mutable","name":"balData","nameLocation":"21272:7:4","nodeType":"VariableDeclaration","scope":6054,"src":"21259:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5947,"name":"bytes","nodeType":"ElementaryTypeName","src":"21259:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5958,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783030666464353865","id":5953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21317:10:4","typeDescriptions":{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"},"value":"0x00fdd58e"},{"id":5954,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5938,"src":"21329:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5955,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5940,"src":"21333:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5951,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21294:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"21294:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":5956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21294:42:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5949,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5936,"src":"21283:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"21283:10:4","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":5957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21283:54:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"21256:81:4"},{"assignments":[5960],"declarations":[{"constant":false,"id":5960,"mutability":"mutable","name":"prevBal","nameLocation":"21355:7:4","nodeType":"VariableDeclaration","scope":6054,"src":"21347:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5959,"name":"uint256","nodeType":"ElementaryTypeName","src":"21347:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5968,"initialValue":{"arguments":[{"id":5963,"name":"balData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5948,"src":"21376:7:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21386:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5964,"name":"uint256","nodeType":"ElementaryTypeName","src":"21386:7:4","typeDescriptions":{}}}],"id":5966,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21385:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":5961,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21365:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"21365:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21365:30:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21347:48:4"},{"expression":{"arguments":[{"id":5984,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5942,"src":"21511:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":5981,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5940,"src":"21493:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":5978,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5938,"src":"21480:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"hexValue":"30783030666464353865","id":5975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21459:10:4","typeDescriptions":{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"},"value":"0x00fdd58e"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"}],"expression":{"arguments":[{"id":5972,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5936,"src":"21448:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5969,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"21432:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage","typeString":"struct StdStorage storage ref"}},"id":5971,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":8179,"src":"21432:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":5973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21432:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5974,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":8197,"src":"21432:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":5976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21432:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5977,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":8233,"src":"21432:47:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":5979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21432:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":8251,"src":"21432:60:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":5982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21432:64:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":5983,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":8327,"src":"21432:78:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":5985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21432:84:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5986,"nodeType":"ExpressionStatement","src":"21432:84:4"},{"condition":{"id":5987,"name":"adjust","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5944,"src":"21562:6:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6053,"nodeType":"IfStatement","src":"21558:605:4","trueBody":{"id":6052,"nodeType":"Block","src":"21570:593:4","statements":[{"assignments":[null,5989],"declarations":[null,{"constant":false,"id":5989,"mutability":"mutable","name":"totSupData","nameLocation":"21600:10:4","nodeType":"VariableDeclaration","scope":6052,"src":"21587:23:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5988,"name":"bytes","nodeType":"ElementaryTypeName","src":"21587:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5998,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30786264383562303339","id":5994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21648:10:4","typeDescriptions":{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"},"value":"0xbd85b039"},{"id":5995,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5940,"src":"21660:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5992,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21625:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5993,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"21625:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":5996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21625:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":5990,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5936,"src":"21614:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"21614:10:4","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":5997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21614:50:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"21584:80:4"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6000,"name":"totSupData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5989,"src":"21703:10:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":6001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"21703:17:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":6002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21724:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21703:22:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465616c28616464726573732c616464726573732c75696e742c75696e742c626f6f6c293a2074617267657420636f6e7472616374206973206e6f742045524331313535537570706c792e","id":6004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21743:87:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_cbb83c7e91c85bace1157a2500e6a0534b39a660e193440ca8d86c890bf3fb8c","typeString":"literal_string \"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply.\""},"value":"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cbb83c7e91c85bace1157a2500e6a0534b39a660e193440ca8d86c890bf3fb8c","typeString":"literal_string \"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply.\""}],"id":5999,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21678:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21678:166:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6006,"nodeType":"ExpressionStatement","src":"21678:166:4"},{"assignments":[6008],"declarations":[{"constant":false,"id":6008,"mutability":"mutable","name":"totSup","nameLocation":"21866:6:4","nodeType":"VariableDeclaration","scope":6052,"src":"21858:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6007,"name":"uint256","nodeType":"ElementaryTypeName","src":"21858:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6016,"initialValue":{"arguments":[{"id":6011,"name":"totSupData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5989,"src":"21886:10:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21899:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6012,"name":"uint256","nodeType":"ElementaryTypeName","src":"21899:7:4","typeDescriptions":{}}}],"id":6014,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21898:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6009,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21875:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6010,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"21875:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21875:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21858:50:4"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6017,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5942,"src":"21926:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6018,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5960,"src":"21933:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21926:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":6035,"nodeType":"Block","src":"22007:59:4","statements":[{"expression":{"id":6033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6028,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6008,"src":"22025:6:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6029,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5942,"src":"22036:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6030,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5960,"src":"22043:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22036:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6032,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22035:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22025:26:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6034,"nodeType":"ExpressionStatement","src":"22025:26:4"}]},"id":6036,"nodeType":"IfStatement","src":"21922:144:4","trueBody":{"id":6027,"nodeType":"Block","src":"21942:59:4","statements":[{"expression":{"id":6025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6020,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6008,"src":"21960:6:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6021,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5960,"src":"21971:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6022,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5942,"src":"21981:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21971:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6024,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"21970:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21960:26:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6026,"nodeType":"ExpressionStatement","src":"21960:26:4"}]}},{"expression":{"arguments":[{"id":6049,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6008,"src":"22145:6:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6046,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5940,"src":"22127:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"hexValue":"30786264383562303339","id":6043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22106:10:4","typeDescriptions":{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"},"value":"0xbd85b039"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"}],"expression":{"arguments":[{"id":6040,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5936,"src":"22095:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6037,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"22079:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage","typeString":"struct StdStorage storage ref"}},"id":6039,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":8179,"src":"22079:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22079:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":8197,"src":"22079:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22079:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6045,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":8251,"src":"22079:47:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":6047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22079:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6048,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":8327,"src":"22079:65:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22079:73:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6051,"nodeType":"ExpressionStatement","src":"22079:73:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"dealERC1155","nameLocation":"21120:11:4","parameters":{"id":5945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5936,"mutability":"mutable","name":"token","nameLocation":"21140:5:4","nodeType":"VariableDeclaration","scope":6055,"src":"21132:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5935,"name":"address","nodeType":"ElementaryTypeName","src":"21132:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5938,"mutability":"mutable","name":"to","nameLocation":"21155:2:4","nodeType":"VariableDeclaration","scope":6055,"src":"21147:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5937,"name":"address","nodeType":"ElementaryTypeName","src":"21147:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5940,"mutability":"mutable","name":"id","nameLocation":"21167:2:4","nodeType":"VariableDeclaration","scope":6055,"src":"21159:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5939,"name":"uint256","nodeType":"ElementaryTypeName","src":"21159:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5942,"mutability":"mutable","name":"give","nameLocation":"21179:4:4","nodeType":"VariableDeclaration","scope":6055,"src":"21171:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5941,"name":"uint256","nodeType":"ElementaryTypeName","src":"21171:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5944,"mutability":"mutable","name":"adjust","nameLocation":"21190:6:4","nodeType":"VariableDeclaration","scope":6055,"src":"21185:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5943,"name":"bool","nodeType":"ElementaryTypeName","src":"21185:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21131:66:4"},"returnParameters":{"id":5946,"nodeType":"ParameterList","parameters":[],"src":"21215:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6184,"nodeType":"FunctionDefinition","src":"22175:1115:4","nodes":[],"body":{"id":6183,"nodeType":"Block","src":"22251:1039:4","nodes":[],"statements":[{"assignments":[6065,6067],"declarations":[{"constant":false,"id":6065,"mutability":"mutable","name":"successMinted","nameLocation":"22336:13:4","nodeType":"VariableDeclaration","scope":6183,"src":"22331:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6064,"name":"bool","nodeType":"ElementaryTypeName","src":"22331:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6067,"mutability":"mutable","name":"ownerData","nameLocation":"22364:9:4","nodeType":"VariableDeclaration","scope":6183,"src":"22351:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6066,"name":"bytes","nodeType":"ElementaryTypeName","src":"22351:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6076,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783633353232313165","id":6072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22417:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"},"value":"0x6352211e"},{"id":6073,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6061,"src":"22429:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6070,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22394:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"22394:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22394:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6068,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6057,"src":"22377:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"staticcall","nodeType":"MemberAccess","src":"22377:16:4","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22377:56:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"22330:103:4"},{"expression":{"arguments":[{"id":6078,"name":"successMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6065,"src":"22451:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465616c28616464726573732c616464726573732c75696e742c626f6f6c293a206964206e6f74206d696e7465642e","id":6079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22466:59:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9f524ccbde1b7d94051482eee863c075921757bac915f984f010837545a169e","typeString":"literal_string \"StdCheats deal(address,address,uint,bool): id not minted.\""},"value":"StdCheats deal(address,address,uint,bool): id not minted."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e9f524ccbde1b7d94051482eee863c075921757bac915f984f010837545a169e","typeString":"literal_string \"StdCheats deal(address,address,uint,bool): id not minted.\""}],"id":6077,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22443:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22443:83:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6081,"nodeType":"ExpressionStatement","src":"22443:83:4"},{"assignments":[null,6083],"declarations":[null,{"constant":false,"id":6083,"mutability":"mutable","name":"fromBalData","nameLocation":"22590:11:4","nodeType":"VariableDeclaration","scope":6183,"src":"22577:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6082,"name":"bytes","nodeType":"ElementaryTypeName","src":"22577:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6098,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783730613038323331","id":6088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22639:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"arguments":[{"id":6091,"name":"ownerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6067,"src":"22662:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22674:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6092,"name":"address","nodeType":"ElementaryTypeName","src":"22674:7:4","typeDescriptions":{}}}],"id":6094,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22673:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":6089,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22651:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6090,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"22651:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22651:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":6086,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22616:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"22616:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22616:68:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6084,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6057,"src":"22605:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"22605:10:4","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":6097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22605:80:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"22574:111:4"},{"assignments":[6100],"declarations":[{"constant":false,"id":6100,"mutability":"mutable","name":"fromPrevBal","nameLocation":"22703:11:4","nodeType":"VariableDeclaration","scope":6183,"src":"22695:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6099,"name":"uint256","nodeType":"ElementaryTypeName","src":"22695:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6108,"initialValue":{"arguments":[{"id":6103,"name":"fromBalData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6083,"src":"22728:11:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22742:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6104,"name":"uint256","nodeType":"ElementaryTypeName","src":"22742:7:4","typeDescriptions":{}}}],"id":6106,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22741:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6101,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22717:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"22717:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22717:34:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22695:56:4"},{"assignments":[null,6110],"declarations":[null,{"constant":false,"id":6110,"mutability":"mutable","name":"toBalData","nameLocation":"22818:9:4","nodeType":"VariableDeclaration","scope":6183,"src":"22805:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6109,"name":"bytes","nodeType":"ElementaryTypeName","src":"22805:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6119,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783730613038323331","id":6115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22865:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"id":6116,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6059,"src":"22877:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6113,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22842:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"22842:22:4","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22842:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6111,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6057,"src":"22831:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"22831:10:4","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":6118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22831:50:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"22802:79:4"},{"assignments":[6121],"declarations":[{"constant":false,"id":6121,"mutability":"mutable","name":"toPrevBal","nameLocation":"22899:9:4","nodeType":"VariableDeclaration","scope":6183,"src":"22891:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6120,"name":"uint256","nodeType":"ElementaryTypeName","src":"22891:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6129,"initialValue":{"arguments":[{"id":6124,"name":"toBalData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6110,"src":"22922:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22934:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6125,"name":"uint256","nodeType":"ElementaryTypeName","src":"22934:7:4","typeDescriptions":{}}}],"id":6127,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22933:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6122,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22911:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"22911:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22911:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22891:52:4"},{"expression":{"arguments":[{"id":6149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"23077:13:4","subExpression":{"id":6148,"name":"fromPrevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6100,"src":"23079:11:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"arguments":[{"id":6141,"name":"ownerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6067,"src":"23040:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23052:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6142,"name":"address","nodeType":"ElementaryTypeName","src":"23052:7:4","typeDescriptions":{}}}],"id":6144,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23051:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":6139,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23029:3:4","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"23029:10:4","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23029:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"arguments":[{"hexValue":"30783730613038323331","id":6136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23008:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"}],"expression":{"arguments":[{"id":6133,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6057,"src":"22997:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6130,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"22981:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage","typeString":"struct StdStorage storage ref"}},"id":6132,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":8179,"src":"22981:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22981:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6135,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":8197,"src":"22981:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22981:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6138,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":8233,"src":"22981:47:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22981:81:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6147,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":8327,"src":"22981:95:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22981:110:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6151,"nodeType":"ExpressionStatement","src":"22981:110:4"},{"expression":{"arguments":[{"id":6165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"23167:11:4","subExpression":{"id":6164,"name":"toPrevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6121,"src":"23169:9:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6161,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6059,"src":"23149:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"hexValue":"30783730613038323331","id":6158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23128:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"}],"expression":{"arguments":[{"id":6155,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6057,"src":"23117:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6152,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"23101:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage","typeString":"struct StdStorage storage ref"}},"id":6154,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":8179,"src":"23101:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23101:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6157,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":8197,"src":"23101:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23101:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6160,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":8233,"src":"23101:47:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23101:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6163,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":8327,"src":"23101:65:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23101:78:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6167,"nodeType":"ExpressionStatement","src":"23101:78:4"},{"expression":{"arguments":[{"id":6180,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6059,"src":"23280:2:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":6177,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6061,"src":"23262:2:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"hexValue":"30783633353232313165","id":6174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23241:10:4","typeDescriptions":{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"},"value":"0x6352211e"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"}],"expression":{"arguments":[{"id":6171,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6057,"src":"23230:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6168,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5535,"src":"23214:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage","typeString":"struct StdStorage storage ref"}},"id":6170,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":8179,"src":"23214:15:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23214:22:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6173,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":8197,"src":"23214:26:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23214:38:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6176,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":8251,"src":"23214:47:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":6178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23214:51:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6179,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":8310,"src":"23214:65:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address)"}},"id":6181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23214:69:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6182,"nodeType":"ExpressionStatement","src":"23214:69:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dealERC721","nameLocation":"22184:10:4","parameters":{"id":6062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6057,"mutability":"mutable","name":"token","nameLocation":"22203:5:4","nodeType":"VariableDeclaration","scope":6184,"src":"22195:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6056,"name":"address","nodeType":"ElementaryTypeName","src":"22195:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6059,"mutability":"mutable","name":"to","nameLocation":"22218:2:4","nodeType":"VariableDeclaration","scope":6184,"src":"22210:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6058,"name":"address","nodeType":"ElementaryTypeName","src":"22210:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6061,"mutability":"mutable","name":"id","nameLocation":"22230:2:4","nodeType":"VariableDeclaration","scope":6184,"src":"22222:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6060,"name":"uint256","nodeType":"ElementaryTypeName","src":"22222:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22194:39:4"},"returnParameters":{"id":6063,"nodeType":"ParameterList","parameters":[],"src":"22251:0:4"},"scope":6185,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":5527,"name":"StdCheatsSafe","nodeType":"IdentifierPath","referencedDeclaration":5526,"src":"17553:13:4"},"id":5528,"nodeType":"InheritanceSpecifier","src":"17553:13:4"}],"canonicalName":"StdCheats","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[6185,5526],"name":"StdCheats","nameLocation":"17540:9:4","scope":6186,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdError.sol":{"id":5,"ast":{"absolutePath":"lib/forge-std/src/StdError.sol","id":6252,"exportedSymbols":{"stdError":[6251]},"nodeType":"SourceUnit","src":"129:884:5","nodes":[{"id":6187,"nodeType":"PragmaDirective","src":"129:31:5","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":6251,"nodeType":"ContractDefinition","src":"162:850:5","nodes":[{"id":6194,"nodeType":"VariableDeclaration","src":"185:86:5","nodes":[],"constant":true,"functionSelector":"10332977","mutability":"constant","name":"assertionError","nameLocation":"207:14:5","scope":6251,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6188,"name":"bytes","nodeType":"ElementaryTypeName","src":"185:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"248:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783031","id":6192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"266:4:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":6189,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"224:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"224:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"224:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6201,"nodeType":"VariableDeclaration","src":"277:87:5","nodes":[],"constant":true,"functionSelector":"8995290f","mutability":"constant","name":"arithmeticError","nameLocation":"299:15:5","scope":6251,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6195,"name":"bytes","nodeType":"ElementaryTypeName","src":"277:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"341:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783131","id":6199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"359:4:5","typeDescriptions":{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},"value":"0x11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"}],"expression":{"id":6196,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"317:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"317:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"317:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6208,"nodeType":"VariableDeclaration","src":"370:85:5","nodes":[],"constant":true,"functionSelector":"fa784a44","mutability":"constant","name":"divisionError","nameLocation":"392:13:5","scope":6251,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6202,"name":"bytes","nodeType":"ElementaryTypeName","src":"370:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"432:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783132","id":6206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"450:4:5","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"0x12"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"expression":{"id":6203,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"408:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"408:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"408:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6215,"nodeType":"VariableDeclaration","src":"461:91:5","nodes":[],"constant":true,"functionSelector":"1de45560","mutability":"constant","name":"enumConversionError","nameLocation":"483:19:5","scope":6251,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6209,"name":"bytes","nodeType":"ElementaryTypeName","src":"461:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"529:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783231","id":6213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"547:4:5","typeDescriptions":{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"},"value":"0x21"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"}],"expression":{"id":6210,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"505:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"505:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"505:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6222,"nodeType":"VariableDeclaration","src":"558:90:5","nodes":[],"constant":true,"functionSelector":"d160e4de","mutability":"constant","name":"encodeStorageError","nameLocation":"580:18:5","scope":6251,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6216,"name":"bytes","nodeType":"ElementaryTypeName","src":"558:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"625:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783232","id":6220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"643:4:5","typeDescriptions":{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"},"value":"0x22"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"}],"expression":{"id":6217,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"601:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"601:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"601:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6229,"nodeType":"VariableDeclaration","src":"654:80:5","nodes":[],"constant":true,"functionSelector":"b22dc54d","mutability":"constant","name":"popError","nameLocation":"676:8:5","scope":6251,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6223,"name":"bytes","nodeType":"ElementaryTypeName","src":"654:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"711:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783331","id":6227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"729:4:5","typeDescriptions":{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"},"value":"0x31"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"}],"expression":{"id":6224,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"687:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"687:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"687:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6236,"nodeType":"VariableDeclaration","src":"740:85:5","nodes":[],"constant":true,"functionSelector":"05ee8612","mutability":"constant","name":"indexOOBError","nameLocation":"762:13:5","scope":6251,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6230,"name":"bytes","nodeType":"ElementaryTypeName","src":"740:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"802:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783332","id":6234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"820:4:5","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"0x32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"}],"expression":{"id":6231,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"778:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"778:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"778:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6243,"nodeType":"VariableDeclaration","src":"831:88:5","nodes":[],"constant":true,"functionSelector":"986c5f68","mutability":"constant","name":"memOverflowError","nameLocation":"853:16:5","scope":6251,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6237,"name":"bytes","nodeType":"ElementaryTypeName","src":"831:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"896:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783431","id":6241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"914:4:5","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"0x41"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"}],"expression":{"id":6238,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"872:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"872:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"872:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":6250,"nodeType":"VariableDeclaration","src":"925:84:5","nodes":[],"constant":true,"functionSelector":"b67689da","mutability":"constant","name":"zeroVarError","nameLocation":"947:12:5","scope":6251,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6244,"name":"bytes","nodeType":"ElementaryTypeName","src":"925:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":6247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"986:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783531","id":6248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1004:4:5","typeDescriptions":{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"},"value":"0x51"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"}],"expression":{"id":6245,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"962:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"962:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":6249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"962:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"stdError","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[6251],"name":"stdError","nameLocation":"170:8:5","scope":6252,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdInvariant.sol":{"id":6,"ast":{"absolutePath":"lib/forge-std/src/StdInvariant.sol","id":6476,"exportedSymbols":{"StdInvariant":[6475]},"nodeType":"SourceUnit","src":"32:3034:6","nodes":[{"id":6253,"nodeType":"PragmaDirective","src":"32:31:6","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":6254,"nodeType":"PragmaDirective","src":"65:33:6","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":6475,"nodeType":"ContractDefinition","src":"100:2965:6","nodes":[{"id":6260,"nodeType":"StructDefinition","src":"128:77:6","nodes":[],"canonicalName":"StdInvariant.FuzzSelector","members":[{"constant":false,"id":6256,"mutability":"mutable","name":"addr","nameLocation":"166:4:6","nodeType":"VariableDeclaration","scope":6260,"src":"158:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6255,"name":"address","nodeType":"ElementaryTypeName","src":"158:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6259,"mutability":"mutable","name":"selectors","nameLocation":"189:9:6","nodeType":"VariableDeclaration","scope":6260,"src":"180:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":6257,"name":"bytes4","nodeType":"ElementaryTypeName","src":"180:6:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":6258,"nodeType":"ArrayTypeName","src":"180:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"}],"name":"FuzzSelector","nameLocation":"135:12:6","scope":6475,"visibility":"public"},{"id":6263,"nodeType":"VariableDeclaration","src":"211:36:6","nodes":[],"constant":false,"mutability":"mutable","name":"_excludedContracts","nameLocation":"229:18:6","scope":6475,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":6261,"name":"address","nodeType":"ElementaryTypeName","src":"211:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6262,"nodeType":"ArrayTypeName","src":"211:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":6266,"nodeType":"VariableDeclaration","src":"253:34:6","nodes":[],"constant":false,"mutability":"mutable","name":"_excludedSenders","nameLocation":"271:16:6","scope":6475,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":6264,"name":"address","nodeType":"ElementaryTypeName","src":"253:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6265,"nodeType":"ArrayTypeName","src":"253:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":6269,"nodeType":"VariableDeclaration","src":"293:36:6","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedContracts","nameLocation":"311:18:6","scope":6475,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":6267,"name":"address","nodeType":"ElementaryTypeName","src":"293:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6268,"nodeType":"ArrayTypeName","src":"293:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":6272,"nodeType":"VariableDeclaration","src":"335:34:6","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedSenders","nameLocation":"353:16:6","scope":6475,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":6270,"name":"address","nodeType":"ElementaryTypeName","src":"335:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6271,"nodeType":"ArrayTypeName","src":"335:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":6275,"nodeType":"VariableDeclaration","src":"376:35:6","nodes":[],"constant":false,"mutability":"mutable","name":"_excludedArtifacts","nameLocation":"393:18:6","scope":6475,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string[]"},"typeName":{"baseType":{"id":6273,"name":"string","nodeType":"ElementaryTypeName","src":"376:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6274,"nodeType":"ArrayTypeName","src":"376:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"private"},{"id":6278,"nodeType":"VariableDeclaration","src":"417:35:6","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedArtifacts","nameLocation":"434:18:6","scope":6475,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string[]"},"typeName":{"baseType":{"id":6276,"name":"string","nodeType":"ElementaryTypeName","src":"417:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6277,"nodeType":"ArrayTypeName","src":"417:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"private"},{"id":6282,"nodeType":"VariableDeclaration","src":"459:49:6","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedArtifactSelectors","nameLocation":"482:26:6","scope":6475,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":6280,"nodeType":"UserDefinedTypeName","pathNode":{"id":6279,"name":"FuzzSelector","nodeType":"IdentifierPath","referencedDeclaration":6260,"src":"459:12:6"},"referencedDeclaration":6260,"src":"459:12:6","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":6281,"nodeType":"ArrayTypeName","src":"459:14:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"private"},{"id":6286,"nodeType":"VariableDeclaration","src":"514:41:6","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedSelectors","nameLocation":"537:18:6","scope":6475,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":6284,"nodeType":"UserDefinedTypeName","pathNode":{"id":6283,"name":"FuzzSelector","nodeType":"IdentifierPath","referencedDeclaration":6260,"src":"514:12:6"},"referencedDeclaration":6260,"src":"514:12:6","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":6285,"nodeType":"ArrayTypeName","src":"514:14:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"private"},{"id":6298,"nodeType":"FunctionDefinition","src":"640:126:6","nodes":[],"body":{"id":6297,"nodeType":"Block","src":"704:62:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6294,"name":"newExcludedContract_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6288,"src":"738:20:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6291,"name":"_excludedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6263,"src":"714:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":6293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"714:23:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":6295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"714:45:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6296,"nodeType":"ExpressionStatement","src":"714:45:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"excludeContract","nameLocation":"649:15:6","parameters":{"id":6289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6288,"mutability":"mutable","name":"newExcludedContract_","nameLocation":"673:20:6","nodeType":"VariableDeclaration","scope":6298,"src":"665:28:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6287,"name":"address","nodeType":"ElementaryTypeName","src":"665:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"664:30:6"},"returnParameters":{"id":6290,"nodeType":"ParameterList","parameters":[],"src":"704:0:6"},"scope":6475,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6310,"nodeType":"FunctionDefinition","src":"772:118:6","nodes":[],"body":{"id":6309,"nodeType":"Block","src":"832:58:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6306,"name":"newExcludedSender_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6300,"src":"864:18:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6303,"name":"_excludedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6266,"src":"842:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":6305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"842:21:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":6307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"842:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6308,"nodeType":"ExpressionStatement","src":"842:41:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"excludeSender","nameLocation":"781:13:6","parameters":{"id":6301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6300,"mutability":"mutable","name":"newExcludedSender_","nameLocation":"803:18:6","nodeType":"VariableDeclaration","scope":6310,"src":"795:26:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6299,"name":"address","nodeType":"ElementaryTypeName","src":"795:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"794:28:6"},"returnParameters":{"id":6302,"nodeType":"ParameterList","parameters":[],"src":"832:0:6"},"scope":6475,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6322,"nodeType":"FunctionDefinition","src":"896:132:6","nodes":[],"body":{"id":6321,"nodeType":"Block","src":"966:62:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6318,"name":"newExcludedArtifact_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6312,"src":"1000:20:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6315,"name":"_excludedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6275,"src":"976:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":6317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"976:23:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_string_storage_$dyn_storage_ptr_$_t_string_storage_$returns$__$bound_to$_t_array$_t_string_storage_$dyn_storage_ptr_$","typeString":"function (string storage ref[] storage pointer,string storage ref)"}},"id":6319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"976:45:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6320,"nodeType":"ExpressionStatement","src":"976:45:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"excludeArtifact","nameLocation":"905:15:6","parameters":{"id":6313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6312,"mutability":"mutable","name":"newExcludedArtifact_","nameLocation":"935:20:6","nodeType":"VariableDeclaration","scope":6322,"src":"921:34:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6311,"name":"string","nodeType":"ElementaryTypeName","src":"921:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"920:36:6"},"returnParameters":{"id":6314,"nodeType":"ParameterList","parameters":[],"src":"966:0:6"},"scope":6475,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6334,"nodeType":"FunctionDefinition","src":"1034:131:6","nodes":[],"body":{"id":6333,"nodeType":"Block","src":"1103:62:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6330,"name":"newTargetedArtifact_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6324,"src":"1137:20:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6327,"name":"_targetedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6278,"src":"1113:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":6329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"1113:23:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_string_storage_$dyn_storage_ptr_$_t_string_storage_$returns$__$bound_to$_t_array$_t_string_storage_$dyn_storage_ptr_$","typeString":"function (string storage ref[] storage pointer,string storage ref)"}},"id":6331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1113:45:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6332,"nodeType":"ExpressionStatement","src":"1113:45:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetArtifact","nameLocation":"1043:14:6","parameters":{"id":6325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6324,"mutability":"mutable","name":"newTargetedArtifact_","nameLocation":"1072:20:6","nodeType":"VariableDeclaration","scope":6334,"src":"1058:34:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6323,"name":"string","nodeType":"ElementaryTypeName","src":"1058:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1057:36:6"},"returnParameters":{"id":6326,"nodeType":"ParameterList","parameters":[],"src":"1103:0:6"},"scope":6475,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6347,"nodeType":"FunctionDefinition","src":"1171:169:6","nodes":[],"body":{"id":6346,"nodeType":"Block","src":"1262:78:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6343,"name":"newTargetedArtifactSelector_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6337,"src":"1304:28:6","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzSelector_$6260_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}],"expression":{"id":6340,"name":"_targetedArtifactSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6282,"src":"1272:26:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"id":6342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"1272:31:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage_ptr_$_t_struct$_FuzzSelector_$6260_storage_$returns$__$bound_to$_t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzSelector storage ref[] storage pointer,struct StdInvariant.FuzzSelector storage ref)"}},"id":6344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1272:61:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6345,"nodeType":"ExpressionStatement","src":"1272:61:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetArtifactSelector","nameLocation":"1180:22:6","parameters":{"id":6338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6337,"mutability":"mutable","name":"newTargetedArtifactSelector_","nameLocation":"1223:28:6","nodeType":"VariableDeclaration","scope":6347,"src":"1203:48:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_memory_ptr","typeString":"struct StdInvariant.FuzzSelector"},"typeName":{"id":6336,"nodeType":"UserDefinedTypeName","pathNode":{"id":6335,"name":"FuzzSelector","nodeType":"IdentifierPath","referencedDeclaration":6260,"src":"1203:12:6"},"referencedDeclaration":6260,"src":"1203:12:6","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"visibility":"internal"}],"src":"1202:50:6"},"returnParameters":{"id":6339,"nodeType":"ParameterList","parameters":[],"src":"1262:0:6"},"scope":6475,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6359,"nodeType":"FunctionDefinition","src":"1346:125:6","nodes":[],"body":{"id":6358,"nodeType":"Block","src":"1409:62:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6355,"name":"newTargetedContract_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6349,"src":"1443:20:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6352,"name":"_targetedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6269,"src":"1419:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":6354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"1419:23:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":6356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1419:45:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6357,"nodeType":"ExpressionStatement","src":"1419:45:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetContract","nameLocation":"1355:14:6","parameters":{"id":6350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6349,"mutability":"mutable","name":"newTargetedContract_","nameLocation":"1378:20:6","nodeType":"VariableDeclaration","scope":6359,"src":"1370:28:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6348,"name":"address","nodeType":"ElementaryTypeName","src":"1370:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1369:30:6"},"returnParameters":{"id":6351,"nodeType":"ParameterList","parameters":[],"src":"1409:0:6"},"scope":6475,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6372,"nodeType":"FunctionDefinition","src":"1477:137:6","nodes":[],"body":{"id":6371,"nodeType":"Block","src":"1552:62:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6368,"name":"newTargetedSelector_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6362,"src":"1586:20:6","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzSelector_$6260_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}],"expression":{"id":6365,"name":"_targetedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6286,"src":"1562:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"id":6367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"1562:23:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage_ptr_$_t_struct$_FuzzSelector_$6260_storage_$returns$__$bound_to$_t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzSelector storage ref[] storage pointer,struct StdInvariant.FuzzSelector storage ref)"}},"id":6369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1562:45:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6370,"nodeType":"ExpressionStatement","src":"1562:45:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetSelector","nameLocation":"1486:14:6","parameters":{"id":6363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6362,"mutability":"mutable","name":"newTargetedSelector_","nameLocation":"1521:20:6","nodeType":"VariableDeclaration","scope":6372,"src":"1501:40:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_memory_ptr","typeString":"struct StdInvariant.FuzzSelector"},"typeName":{"id":6361,"nodeType":"UserDefinedTypeName","pathNode":{"id":6360,"name":"FuzzSelector","nodeType":"IdentifierPath","referencedDeclaration":6260,"src":"1501:12:6"},"referencedDeclaration":6260,"src":"1501:12:6","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"visibility":"internal"}],"src":"1500:42:6"},"returnParameters":{"id":6364,"nodeType":"ParameterList","parameters":[],"src":"1552:0:6"},"scope":6475,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6384,"nodeType":"FunctionDefinition","src":"1620:117:6","nodes":[],"body":{"id":6383,"nodeType":"Block","src":"1679:58:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6380,"name":"newTargetedSender_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6374,"src":"1711:18:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6377,"name":"_targetedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6272,"src":"1689:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":6379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"1689:21:6","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$bound_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":6381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1689:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6382,"nodeType":"ExpressionStatement","src":"1689:41:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetSender","nameLocation":"1629:12:6","parameters":{"id":6375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6374,"mutability":"mutable","name":"newTargetedSender_","nameLocation":"1650:18:6","nodeType":"VariableDeclaration","scope":6384,"src":"1642:26:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6373,"name":"address","nodeType":"ElementaryTypeName","src":"1642:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1641:28:6"},"returnParameters":{"id":6376,"nodeType":"ParameterList","parameters":[],"src":"1679:0:6"},"scope":6475,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6395,"nodeType":"FunctionDefinition","src":"1866:141:6","nodes":[],"body":{"id":6394,"nodeType":"Block","src":"1951:56:6","nodes":[],"statements":[{"expression":{"id":6392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6390,"name":"excludedArtifacts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6388,"src":"1961:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6391,"name":"_excludedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6275,"src":"1982:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"src":"1961:39:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":6393,"nodeType":"ExpressionStatement","src":"1961:39:6"}]},"functionSelector":"b5508aa9","implemented":true,"kind":"function","modifiers":[],"name":"excludeArtifacts","nameLocation":"1875:16:6","parameters":{"id":6385,"nodeType":"ParameterList","parameters":[],"src":"1891:2:6"},"returnParameters":{"id":6389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6388,"mutability":"mutable","name":"excludedArtifacts_","nameLocation":"1931:18:6","nodeType":"VariableDeclaration","scope":6395,"src":"1915:34:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":6386,"name":"string","nodeType":"ElementaryTypeName","src":"1915:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6387,"nodeType":"ArrayTypeName","src":"1915:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"1914:36:6"},"scope":6475,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6406,"nodeType":"FunctionDefinition","src":"2013:142:6","nodes":[],"body":{"id":6405,"nodeType":"Block","src":"2099:56:6","nodes":[],"statements":[{"expression":{"id":6403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6401,"name":"excludedContracts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6399,"src":"2109:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6402,"name":"_excludedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6263,"src":"2130:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"2109:39:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":6404,"nodeType":"ExpressionStatement","src":"2109:39:6"}]},"functionSelector":"e20c9f71","implemented":true,"kind":"function","modifiers":[],"name":"excludeContracts","nameLocation":"2022:16:6","parameters":{"id":6396,"nodeType":"ParameterList","parameters":[],"src":"2038:2:6"},"returnParameters":{"id":6400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6399,"mutability":"mutable","name":"excludedContracts_","nameLocation":"2079:18:6","nodeType":"VariableDeclaration","scope":6406,"src":"2062:35:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6397,"name":"address","nodeType":"ElementaryTypeName","src":"2062:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6398,"nodeType":"ArrayTypeName","src":"2062:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2061:37:6"},"scope":6475,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6417,"nodeType":"FunctionDefinition","src":"2161:134:6","nodes":[],"body":{"id":6416,"nodeType":"Block","src":"2243:52:6","nodes":[],"statements":[{"expression":{"id":6414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6412,"name":"excludedSenders_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6410,"src":"2253:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6413,"name":"_excludedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6266,"src":"2272:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"2253:35:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":6415,"nodeType":"ExpressionStatement","src":"2253:35:6"}]},"functionSelector":"1ed7831c","implemented":true,"kind":"function","modifiers":[],"name":"excludeSenders","nameLocation":"2170:14:6","parameters":{"id":6407,"nodeType":"ParameterList","parameters":[],"src":"2184:2:6"},"returnParameters":{"id":6411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6410,"mutability":"mutable","name":"excludedSenders_","nameLocation":"2225:16:6","nodeType":"VariableDeclaration","scope":6417,"src":"2208:33:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6408,"name":"address","nodeType":"ElementaryTypeName","src":"2208:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6409,"nodeType":"ArrayTypeName","src":"2208:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2207:35:6"},"scope":6475,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6428,"nodeType":"FunctionDefinition","src":"2301:140:6","nodes":[],"body":{"id":6427,"nodeType":"Block","src":"2385:56:6","nodes":[],"statements":[{"expression":{"id":6425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6423,"name":"targetedArtifacts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6421,"src":"2395:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6424,"name":"_targetedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6278,"src":"2416:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"src":"2395:39:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":6426,"nodeType":"ExpressionStatement","src":"2395:39:6"}]},"functionSelector":"85226c81","implemented":true,"kind":"function","modifiers":[],"name":"targetArtifacts","nameLocation":"2310:15:6","parameters":{"id":6418,"nodeType":"ParameterList","parameters":[],"src":"2325:2:6"},"returnParameters":{"id":6422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6421,"mutability":"mutable","name":"targetedArtifacts_","nameLocation":"2365:18:6","nodeType":"VariableDeclaration","scope":6428,"src":"2349:34:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":6419,"name":"string","nodeType":"ElementaryTypeName","src":"2349:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6420,"nodeType":"ArrayTypeName","src":"2349:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"2348:36:6"},"scope":6475,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6440,"nodeType":"FunctionDefinition","src":"2447:178:6","nodes":[],"body":{"id":6439,"nodeType":"Block","src":"2553:72:6","nodes":[],"statements":[{"expression":{"id":6437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6435,"name":"targetedArtifactSelectors_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6433,"src":"2563:26:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6436,"name":"_targetedArtifactSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6282,"src":"2592:26:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"src":"2563:55:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"id":6438,"nodeType":"ExpressionStatement","src":"2563:55:6"}]},"functionSelector":"66d9a9a0","implemented":true,"kind":"function","modifiers":[],"name":"targetArtifactSelectors","nameLocation":"2456:23:6","parameters":{"id":6429,"nodeType":"ParameterList","parameters":[],"src":"2479:2:6"},"returnParameters":{"id":6434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6433,"mutability":"mutable","name":"targetedArtifactSelectors_","nameLocation":"2525:26:6","nodeType":"VariableDeclaration","scope":6440,"src":"2503:48:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":6431,"nodeType":"UserDefinedTypeName","pathNode":{"id":6430,"name":"FuzzSelector","nodeType":"IdentifierPath","referencedDeclaration":6260,"src":"2503:12:6"},"referencedDeclaration":6260,"src":"2503:12:6","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":6432,"nodeType":"ArrayTypeName","src":"2503:14:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"internal"}],"src":"2502:50:6"},"scope":6475,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6451,"nodeType":"FunctionDefinition","src":"2631:141:6","nodes":[],"body":{"id":6450,"nodeType":"Block","src":"2716:56:6","nodes":[],"statements":[{"expression":{"id":6448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6446,"name":"targetedContracts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6444,"src":"2726:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6447,"name":"_targetedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6269,"src":"2747:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"2726:39:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":6449,"nodeType":"ExpressionStatement","src":"2726:39:6"}]},"functionSelector":"3f7286f4","implemented":true,"kind":"function","modifiers":[],"name":"targetContracts","nameLocation":"2640:15:6","parameters":{"id":6441,"nodeType":"ParameterList","parameters":[],"src":"2655:2:6"},"returnParameters":{"id":6445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6444,"mutability":"mutable","name":"targetedContracts_","nameLocation":"2696:18:6","nodeType":"VariableDeclaration","scope":6451,"src":"2679:35:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6442,"name":"address","nodeType":"ElementaryTypeName","src":"2679:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6443,"nodeType":"ArrayTypeName","src":"2679:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2678:37:6"},"scope":6475,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6463,"nodeType":"FunctionDefinition","src":"2778:146:6","nodes":[],"body":{"id":6462,"nodeType":"Block","src":"2868:56:6","nodes":[],"statements":[{"expression":{"id":6460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6458,"name":"targetedSelectors_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6456,"src":"2878:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6459,"name":"_targetedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6286,"src":"2899:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"src":"2878:39:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"id":6461,"nodeType":"ExpressionStatement","src":"2878:39:6"}]},"functionSelector":"916a17c6","implemented":true,"kind":"function","modifiers":[],"name":"targetSelectors","nameLocation":"2787:15:6","parameters":{"id":6452,"nodeType":"ParameterList","parameters":[],"src":"2802:2:6"},"returnParameters":{"id":6457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6456,"mutability":"mutable","name":"targetedSelectors_","nameLocation":"2848:18:6","nodeType":"VariableDeclaration","scope":6463,"src":"2826:40:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":6454,"nodeType":"UserDefinedTypeName","pathNode":{"id":6453,"name":"FuzzSelector","nodeType":"IdentifierPath","referencedDeclaration":6260,"src":"2826:12:6"},"referencedDeclaration":6260,"src":"2826:12:6","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$6260_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":6455,"nodeType":"ArrayTypeName","src":"2826:14:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$6260_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"internal"}],"src":"2825:42:6"},"scope":6475,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":6474,"nodeType":"FunctionDefinition","src":"2930:133:6","nodes":[],"body":{"id":6473,"nodeType":"Block","src":"3011:52:6","nodes":[],"statements":[{"expression":{"id":6471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6469,"name":"targetedSenders_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6467,"src":"3021:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6470,"name":"_targetedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6272,"src":"3040:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"3021:35:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":6472,"nodeType":"ExpressionStatement","src":"3021:35:6"}]},"functionSelector":"3e5e3c23","implemented":true,"kind":"function","modifiers":[],"name":"targetSenders","nameLocation":"2939:13:6","parameters":{"id":6464,"nodeType":"ParameterList","parameters":[],"src":"2952:2:6"},"returnParameters":{"id":6468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6467,"mutability":"mutable","name":"targetedSenders_","nameLocation":"2993:16:6","nodeType":"VariableDeclaration","scope":6474,"src":"2976:33:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6465,"name":"address","nodeType":"ElementaryTypeName","src":"2976:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6466,"nodeType":"ArrayTypeName","src":"2976:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2975:35:6"},"scope":6475,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StdInvariant","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[6475],"name":"StdInvariant","nameLocation":"109:12:6","scope":6476,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdJson.sol":{"id":7,"ast":{"absolutePath":"lib/forge-std/src/StdJson.sol","id":7052,"exportedSymbols":{"VmSafe":[11690],"stdJson":[7051]},"nodeType":"SourceUnit","src":"32:6173:7","nodes":[{"id":6477,"nodeType":"PragmaDirective","src":"32:31:7","nodes":[],"literals":["solidity",">=","0.6",".0","<","0.9",".0"]},{"id":6478,"nodeType":"PragmaDirective","src":"65:33:7","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":6480,"nodeType":"ImportDirective","src":"100:32:7","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":7052,"sourceUnit":12038,"symbolAliases":[{"foreign":{"id":6479,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"108:6:7","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$11690_$","typeString":"type(contract VmSafe)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":7051,"nodeType":"ContractDefinition","src":"830:5374:7","nodes":[{"id":6497,"nodeType":"VariableDeclaration","src":"852:92:7","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"876:2:7","scope":7051,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"},"typeName":{"id":6482,"nodeType":"UserDefinedTypeName","pathNode":{"id":6481,"name":"VmSafe","nodeType":"IdentifierPath","referencedDeclaration":11690,"src":"852:6:7"},"referencedDeclaration":11690,"src":"852:6:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":6491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"922:17:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":6490,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"912:9:7","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":6492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"912:28:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":6489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"904:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6488,"name":"uint256","nodeType":"ElementaryTypeName","src":"904:7:7","typeDescriptions":{}}},"id":6493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"904:37:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"896:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":6486,"name":"uint160","nodeType":"ElementaryTypeName","src":"896:7:7","typeDescriptions":{}}},"id":6494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"896:46:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":6485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"888:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6484,"name":"address","nodeType":"ElementaryTypeName","src":"888:7:7","typeDescriptions":{}}},"id":6495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"888:55:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6483,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"881:6:7","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$11690_$","typeString":"type(contract VmSafe)"}},"id":6496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"881:63:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"visibility":"private"},{"id":6513,"nodeType":"FunctionDefinition","src":"951:141:7","nodes":[],"body":{"id":6512,"nodeType":"Block","src":"1045:47:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6508,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6499,"src":"1075:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6509,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6501,"src":"1081:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6506,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"1062:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":11339,"src":"1062:12:7","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":6510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1062:23:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":6505,"id":6511,"nodeType":"Return","src":"1055:30:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"parseRaw","nameLocation":"960:8:7","parameters":{"id":6502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6499,"mutability":"mutable","name":"json","nameLocation":"983:4:7","nodeType":"VariableDeclaration","scope":6513,"src":"969:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6498,"name":"string","nodeType":"ElementaryTypeName","src":"969:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6501,"mutability":"mutable","name":"key","nameLocation":"1003:3:7","nodeType":"VariableDeclaration","scope":6513,"src":"989:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6500,"name":"string","nodeType":"ElementaryTypeName","src":"989:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"968:39:7"},"returnParameters":{"id":6505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6504,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6513,"src":"1031:12:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6503,"name":"bytes","nodeType":"ElementaryTypeName","src":"1031:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1030:14:7"},"scope":7051,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":6529,"nodeType":"FunctionDefinition","src":"1098:135:7","nodes":[],"body":{"id":6528,"nodeType":"Block","src":"1182:51:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6524,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6515,"src":"1216:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6525,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6517,"src":"1222:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6522,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"1199:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonUint","nodeType":"MemberAccess","referencedDeclaration":11355,"src":"1199:16:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory,string memory) external returns (uint256)"}},"id":6526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1199:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6521,"id":6527,"nodeType":"Return","src":"1192:34:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUint","nameLocation":"1107:8:7","parameters":{"id":6518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6515,"mutability":"mutable","name":"json","nameLocation":"1130:4:7","nodeType":"VariableDeclaration","scope":6529,"src":"1116:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6514,"name":"string","nodeType":"ElementaryTypeName","src":"1116:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6517,"mutability":"mutable","name":"key","nameLocation":"1150:3:7","nodeType":"VariableDeclaration","scope":6529,"src":"1136:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6516,"name":"string","nodeType":"ElementaryTypeName","src":"1136:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1115:39:7"},"returnParameters":{"id":6521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6520,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6529,"src":"1173:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6519,"name":"uint256","nodeType":"ElementaryTypeName","src":"1173:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1172:9:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6546,"nodeType":"FunctionDefinition","src":"1239:154:7","nodes":[],"body":{"id":6545,"nodeType":"Block","src":"1337:56:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6541,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6531,"src":"1376:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6542,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6533,"src":"1382:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6539,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"1354:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonUintArray","nodeType":"MemberAccess","referencedDeclaration":11365,"src":"1354:21:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) external returns (uint256[] memory)"}},"id":6543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1354:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":6538,"id":6544,"nodeType":"Return","src":"1347:39:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintArray","nameLocation":"1248:13:7","parameters":{"id":6534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6531,"mutability":"mutable","name":"json","nameLocation":"1276:4:7","nodeType":"VariableDeclaration","scope":6546,"src":"1262:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6530,"name":"string","nodeType":"ElementaryTypeName","src":"1262:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6533,"mutability":"mutable","name":"key","nameLocation":"1296:3:7","nodeType":"VariableDeclaration","scope":6546,"src":"1282:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6532,"name":"string","nodeType":"ElementaryTypeName","src":"1282:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1261:39:7"},"returnParameters":{"id":6538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6537,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6546,"src":"1319:16:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":6535,"name":"uint256","nodeType":"ElementaryTypeName","src":"1319:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6536,"nodeType":"ArrayTypeName","src":"1319:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1318:18:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6562,"nodeType":"FunctionDefinition","src":"1399:132:7","nodes":[],"body":{"id":6561,"nodeType":"Block","src":"1481:50:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6557,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6548,"src":"1514:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6558,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6550,"src":"1520:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6555,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"1498:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonInt","nodeType":"MemberAccess","referencedDeclaration":11374,"src":"1498:15:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_int256_$","typeString":"function (string memory,string memory) external returns (int256)"}},"id":6559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1498:26:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":6554,"id":6560,"nodeType":"Return","src":"1491:33:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readInt","nameLocation":"1408:7:7","parameters":{"id":6551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6548,"mutability":"mutable","name":"json","nameLocation":"1430:4:7","nodeType":"VariableDeclaration","scope":6562,"src":"1416:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6547,"name":"string","nodeType":"ElementaryTypeName","src":"1416:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6550,"mutability":"mutable","name":"key","nameLocation":"1450:3:7","nodeType":"VariableDeclaration","scope":6562,"src":"1436:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6549,"name":"string","nodeType":"ElementaryTypeName","src":"1436:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1415:39:7"},"returnParameters":{"id":6554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6553,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6562,"src":"1473:6:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":6552,"name":"int256","nodeType":"ElementaryTypeName","src":"1473:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1472:8:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6579,"nodeType":"FunctionDefinition","src":"1537:151:7","nodes":[],"body":{"id":6578,"nodeType":"Block","src":"1633:55:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6574,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6564,"src":"1671:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6575,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6566,"src":"1677:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6572,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"1650:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonIntArray","nodeType":"MemberAccess","referencedDeclaration":11384,"src":"1650:20:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_int256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) external returns (int256[] memory)"}},"id":6576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1650:31:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"functionReturnParameters":6571,"id":6577,"nodeType":"Return","src":"1643:38:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntArray","nameLocation":"1546:12:7","parameters":{"id":6567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6564,"mutability":"mutable","name":"json","nameLocation":"1573:4:7","nodeType":"VariableDeclaration","scope":6579,"src":"1559:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6563,"name":"string","nodeType":"ElementaryTypeName","src":"1559:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6566,"mutability":"mutable","name":"key","nameLocation":"1593:3:7","nodeType":"VariableDeclaration","scope":6579,"src":"1579:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6565,"name":"string","nodeType":"ElementaryTypeName","src":"1579:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1558:39:7"},"returnParameters":{"id":6571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6570,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6579,"src":"1616:15:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":6568,"name":"int256","nodeType":"ElementaryTypeName","src":"1616:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":6569,"nodeType":"ArrayTypeName","src":"1616:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1615:17:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6595,"nodeType":"FunctionDefinition","src":"1694:141:7","nodes":[],"body":{"id":6594,"nodeType":"Block","src":"1781:54:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6590,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6581,"src":"1818:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6591,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6583,"src":"1824:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6588,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"1798:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonBytes32","nodeType":"MemberAccess","referencedDeclaration":11469,"src":"1798:19:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory,string memory) external returns (bytes32)"}},"id":6592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1798:30:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":6587,"id":6593,"nodeType":"Return","src":"1791:37:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32","nameLocation":"1703:11:7","parameters":{"id":6584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6581,"mutability":"mutable","name":"json","nameLocation":"1729:4:7","nodeType":"VariableDeclaration","scope":6595,"src":"1715:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6580,"name":"string","nodeType":"ElementaryTypeName","src":"1715:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6583,"mutability":"mutable","name":"key","nameLocation":"1749:3:7","nodeType":"VariableDeclaration","scope":6595,"src":"1735:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6582,"name":"string","nodeType":"ElementaryTypeName","src":"1735:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1714:39:7"},"returnParameters":{"id":6587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6586,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6595,"src":"1772:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6585,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1772:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1771:9:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6612,"nodeType":"FunctionDefinition","src":"1841:160:7","nodes":[],"body":{"id":6611,"nodeType":"Block","src":"1942:59:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6607,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6597,"src":"1984:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6608,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6599,"src":"1990:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6605,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"1959:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonBytes32Array","nodeType":"MemberAccess","referencedDeclaration":11479,"src":"1959:24:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) external returns (bytes32[] memory)"}},"id":6609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1959:35:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":6604,"id":6610,"nodeType":"Return","src":"1952:42:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32Array","nameLocation":"1850:16:7","parameters":{"id":6600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6597,"mutability":"mutable","name":"json","nameLocation":"1881:4:7","nodeType":"VariableDeclaration","scope":6612,"src":"1867:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6596,"name":"string","nodeType":"ElementaryTypeName","src":"1867:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6599,"mutability":"mutable","name":"key","nameLocation":"1901:3:7","nodeType":"VariableDeclaration","scope":6612,"src":"1887:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6598,"name":"string","nodeType":"ElementaryTypeName","src":"1887:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1866:39:7"},"returnParameters":{"id":6604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6603,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6612,"src":"1924:16:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":6601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1924:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":6602,"nodeType":"ArrayTypeName","src":"1924:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"1923:18:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6628,"nodeType":"FunctionDefinition","src":"2007:145:7","nodes":[],"body":{"id":6627,"nodeType":"Block","src":"2099:53:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6623,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6614,"src":"2135:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6624,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6616,"src":"2141:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6621,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"2116:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonString","nodeType":"MemberAccess","referencedDeclaration":11431,"src":"2116:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) external returns (string memory)"}},"id":6625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2116:29:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6620,"id":6626,"nodeType":"Return","src":"2109:36:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readString","nameLocation":"2016:10:7","parameters":{"id":6617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6614,"mutability":"mutable","name":"json","nameLocation":"2041:4:7","nodeType":"VariableDeclaration","scope":6628,"src":"2027:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6613,"name":"string","nodeType":"ElementaryTypeName","src":"2027:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6616,"mutability":"mutable","name":"key","nameLocation":"2061:3:7","nodeType":"VariableDeclaration","scope":6628,"src":"2047:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6615,"name":"string","nodeType":"ElementaryTypeName","src":"2047:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2026:39:7"},"returnParameters":{"id":6620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6619,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6628,"src":"2084:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6618,"name":"string","nodeType":"ElementaryTypeName","src":"2084:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2083:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6645,"nodeType":"FunctionDefinition","src":"2158:157:7","nodes":[],"body":{"id":6644,"nodeType":"Block","src":"2257:58:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6640,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6630,"src":"2298:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6641,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6632,"src":"2304:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6638,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"2274:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonStringArray","nodeType":"MemberAccess","referencedDeclaration":11441,"src":"2274:23:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) external returns (string memory[] memory)"}},"id":6642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2274:34:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":6637,"id":6643,"nodeType":"Return","src":"2267:41:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringArray","nameLocation":"2167:15:7","parameters":{"id":6633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6630,"mutability":"mutable","name":"json","nameLocation":"2197:4:7","nodeType":"VariableDeclaration","scope":6645,"src":"2183:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6629,"name":"string","nodeType":"ElementaryTypeName","src":"2183:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6632,"mutability":"mutable","name":"key","nameLocation":"2217:3:7","nodeType":"VariableDeclaration","scope":6645,"src":"2203:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6631,"name":"string","nodeType":"ElementaryTypeName","src":"2203:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2182:39:7"},"returnParameters":{"id":6637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6636,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6645,"src":"2240:15:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":6634,"name":"string","nodeType":"ElementaryTypeName","src":"2240:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":6635,"nodeType":"ArrayTypeName","src":"2240:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"2239:17:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6661,"nodeType":"FunctionDefinition","src":"2321:141:7","nodes":[],"body":{"id":6660,"nodeType":"Block","src":"2408:54:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6656,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6647,"src":"2445:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6657,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6649,"src":"2451:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6654,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"2425:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonAddress","nodeType":"MemberAccess","referencedDeclaration":11412,"src":"2425:19:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) external returns (address)"}},"id":6658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2425:30:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":6653,"id":6659,"nodeType":"Return","src":"2418:37:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddress","nameLocation":"2330:11:7","parameters":{"id":6650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6647,"mutability":"mutable","name":"json","nameLocation":"2356:4:7","nodeType":"VariableDeclaration","scope":6661,"src":"2342:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6646,"name":"string","nodeType":"ElementaryTypeName","src":"2342:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6649,"mutability":"mutable","name":"key","nameLocation":"2376:3:7","nodeType":"VariableDeclaration","scope":6661,"src":"2362:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6648,"name":"string","nodeType":"ElementaryTypeName","src":"2362:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2341:39:7"},"returnParameters":{"id":6653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6652,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6661,"src":"2399:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6651,"name":"address","nodeType":"ElementaryTypeName","src":"2399:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2398:9:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6678,"nodeType":"FunctionDefinition","src":"2468:160:7","nodes":[],"body":{"id":6677,"nodeType":"Block","src":"2569:59:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6673,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6663,"src":"2611:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6674,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6665,"src":"2617:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6671,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"2586:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonAddressArray","nodeType":"MemberAccess","referencedDeclaration":11422,"src":"2586:24:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) external returns (address[] memory)"}},"id":6675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2586:35:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":6670,"id":6676,"nodeType":"Return","src":"2579:42:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressArray","nameLocation":"2477:16:7","parameters":{"id":6666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6663,"mutability":"mutable","name":"json","nameLocation":"2508:4:7","nodeType":"VariableDeclaration","scope":6678,"src":"2494:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6662,"name":"string","nodeType":"ElementaryTypeName","src":"2494:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6665,"mutability":"mutable","name":"key","nameLocation":"2528:3:7","nodeType":"VariableDeclaration","scope":6678,"src":"2514:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6664,"name":"string","nodeType":"ElementaryTypeName","src":"2514:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2493:39:7"},"returnParameters":{"id":6670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6669,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6678,"src":"2551:16:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6667,"name":"address","nodeType":"ElementaryTypeName","src":"2551:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6668,"nodeType":"ArrayTypeName","src":"2551:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2550:18:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6694,"nodeType":"FunctionDefinition","src":"2634:132:7","nodes":[],"body":{"id":6693,"nodeType":"Block","src":"2715:51:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6689,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6680,"src":"2749:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6690,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6682,"src":"2755:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6687,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"2732:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonBool","nodeType":"MemberAccess","referencedDeclaration":11393,"src":"2732:16:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) external returns (bool)"}},"id":6691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2732:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":6686,"id":6692,"nodeType":"Return","src":"2725:34:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBool","nameLocation":"2643:8:7","parameters":{"id":6683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6680,"mutability":"mutable","name":"json","nameLocation":"2666:4:7","nodeType":"VariableDeclaration","scope":6694,"src":"2652:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6679,"name":"string","nodeType":"ElementaryTypeName","src":"2652:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6682,"mutability":"mutable","name":"key","nameLocation":"2686:3:7","nodeType":"VariableDeclaration","scope":6694,"src":"2672:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6681,"name":"string","nodeType":"ElementaryTypeName","src":"2672:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2651:39:7"},"returnParameters":{"id":6686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6685,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6694,"src":"2709:4:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6684,"name":"bool","nodeType":"ElementaryTypeName","src":"2709:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2708:6:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6711,"nodeType":"FunctionDefinition","src":"2772:151:7","nodes":[],"body":{"id":6710,"nodeType":"Block","src":"2867:56:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6706,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6696,"src":"2906:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6707,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6698,"src":"2912:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6704,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"2884:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonBoolArray","nodeType":"MemberAccess","referencedDeclaration":11403,"src":"2884:21:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) external returns (bool[] memory)"}},"id":6708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2884:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"functionReturnParameters":6703,"id":6709,"nodeType":"Return","src":"2877:39:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolArray","nameLocation":"2781:13:7","parameters":{"id":6699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6696,"mutability":"mutable","name":"json","nameLocation":"2809:4:7","nodeType":"VariableDeclaration","scope":6711,"src":"2795:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6695,"name":"string","nodeType":"ElementaryTypeName","src":"2795:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6698,"mutability":"mutable","name":"key","nameLocation":"2829:3:7","nodeType":"VariableDeclaration","scope":6711,"src":"2815:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6697,"name":"string","nodeType":"ElementaryTypeName","src":"2815:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2794:39:7"},"returnParameters":{"id":6703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6702,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6711,"src":"2852:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":6700,"name":"bool","nodeType":"ElementaryTypeName","src":"2852:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6701,"nodeType":"ArrayTypeName","src":"2852:6:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"2851:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6727,"nodeType":"FunctionDefinition","src":"2929:142:7","nodes":[],"body":{"id":6726,"nodeType":"Block","src":"3019:52:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6722,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6713,"src":"3054:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6723,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6715,"src":"3060:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6720,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"3036:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonBytes","nodeType":"MemberAccess","referencedDeclaration":11450,"src":"3036:17:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) external returns (bytes memory)"}},"id":6724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3036:28:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":6719,"id":6725,"nodeType":"Return","src":"3029:35:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes","nameLocation":"2938:9:7","parameters":{"id":6716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6713,"mutability":"mutable","name":"json","nameLocation":"2962:4:7","nodeType":"VariableDeclaration","scope":6727,"src":"2948:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6712,"name":"string","nodeType":"ElementaryTypeName","src":"2948:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6715,"mutability":"mutable","name":"key","nameLocation":"2982:3:7","nodeType":"VariableDeclaration","scope":6727,"src":"2968:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6714,"name":"string","nodeType":"ElementaryTypeName","src":"2968:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2947:39:7"},"returnParameters":{"id":6719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6718,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6727,"src":"3005:12:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6717,"name":"bytes","nodeType":"ElementaryTypeName","src":"3005:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3004:14:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6744,"nodeType":"FunctionDefinition","src":"3077:154:7","nodes":[],"body":{"id":6743,"nodeType":"Block","src":"3174:57:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6739,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6729,"src":"3214:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6740,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6731,"src":"3220:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6737,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"3191:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonBytesArray","nodeType":"MemberAccess","referencedDeclaration":11460,"src":"3191:22:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) external returns (bytes memory[] memory)"}},"id":6741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3191:33:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":6736,"id":6742,"nodeType":"Return","src":"3184:40:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesArray","nameLocation":"3086:14:7","parameters":{"id":6732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6729,"mutability":"mutable","name":"json","nameLocation":"3115:4:7","nodeType":"VariableDeclaration","scope":6744,"src":"3101:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6728,"name":"string","nodeType":"ElementaryTypeName","src":"3101:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6731,"mutability":"mutable","name":"key","nameLocation":"3135:3:7","nodeType":"VariableDeclaration","scope":6744,"src":"3121:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6730,"name":"string","nodeType":"ElementaryTypeName","src":"3121:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3100:39:7"},"returnParameters":{"id":6736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6735,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6744,"src":"3158:14:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":6733,"name":"bytes","nodeType":"ElementaryTypeName","src":"3158:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":6734,"nodeType":"ArrayTypeName","src":"3158:7:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"3157:16:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6763,"nodeType":"FunctionDefinition","src":"3237:167:7","nodes":[],"body":{"id":6762,"nodeType":"Block","src":"3343:61:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6757,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6746,"src":"3377:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6758,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6748,"src":"3386:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6759,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6750,"src":"3391:5:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":6755,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"3360:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":11490,"src":"3360:16:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool) external returns (string memory)"}},"id":6760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3360:37:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6754,"id":6761,"nodeType":"Return","src":"3353:44:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"3246:9:7","parameters":{"id":6751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6746,"mutability":"mutable","name":"jsonKey","nameLocation":"3270:7:7","nodeType":"VariableDeclaration","scope":6763,"src":"3256:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6745,"name":"string","nodeType":"ElementaryTypeName","src":"3256:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6748,"mutability":"mutable","name":"key","nameLocation":"3293:3:7","nodeType":"VariableDeclaration","scope":6763,"src":"3279:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6747,"name":"string","nodeType":"ElementaryTypeName","src":"3279:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6750,"mutability":"mutable","name":"value","nameLocation":"3303:5:7","nodeType":"VariableDeclaration","scope":6763,"src":"3298:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6749,"name":"bool","nodeType":"ElementaryTypeName","src":"3298:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3255:54:7"},"returnParameters":{"id":6754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6753,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6763,"src":"3328:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6752,"name":"string","nodeType":"ElementaryTypeName","src":"3328:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3327:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6783,"nodeType":"FunctionDefinition","src":"3410:196:7","nodes":[],"body":{"id":6782,"nodeType":"Block","src":"3545:61:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6777,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6765,"src":"3579:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6778,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6767,"src":"3588:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6779,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6770,"src":"3593:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}],"expression":{"id":6775,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"3562:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":11568,"src":"3562:16:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool[] memory) external returns (string memory)"}},"id":6780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3562:37:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6774,"id":6781,"nodeType":"Return","src":"3555:44:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"3419:9:7","parameters":{"id":6771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6765,"mutability":"mutable","name":"jsonKey","nameLocation":"3443:7:7","nodeType":"VariableDeclaration","scope":6783,"src":"3429:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6764,"name":"string","nodeType":"ElementaryTypeName","src":"3429:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6767,"mutability":"mutable","name":"key","nameLocation":"3466:3:7","nodeType":"VariableDeclaration","scope":6783,"src":"3452:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6766,"name":"string","nodeType":"ElementaryTypeName","src":"3452:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6770,"mutability":"mutable","name":"value","nameLocation":"3485:5:7","nodeType":"VariableDeclaration","scope":6783,"src":"3471:19:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":6768,"name":"bool","nodeType":"ElementaryTypeName","src":"3471:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6769,"nodeType":"ArrayTypeName","src":"3471:6:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"3428:63:7"},"returnParameters":{"id":6774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6773,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6783,"src":"3526:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6772,"name":"string","nodeType":"ElementaryTypeName","src":"3526:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3525:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6802,"nodeType":"FunctionDefinition","src":"3612:170:7","nodes":[],"body":{"id":6801,"nodeType":"Block","src":"3721:61:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6796,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6785,"src":"3755:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6797,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6787,"src":"3764:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6798,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6789,"src":"3769:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6794,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"3738:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":11501,"src":"3738:16:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,uint256) external returns (string memory)"}},"id":6799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3738:37:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6793,"id":6800,"nodeType":"Return","src":"3731:44:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"3621:9:7","parameters":{"id":6790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6785,"mutability":"mutable","name":"jsonKey","nameLocation":"3645:7:7","nodeType":"VariableDeclaration","scope":6802,"src":"3631:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6784,"name":"string","nodeType":"ElementaryTypeName","src":"3631:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6787,"mutability":"mutable","name":"key","nameLocation":"3668:3:7","nodeType":"VariableDeclaration","scope":6802,"src":"3654:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6786,"name":"string","nodeType":"ElementaryTypeName","src":"3654:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6789,"mutability":"mutable","name":"value","nameLocation":"3681:5:7","nodeType":"VariableDeclaration","scope":6802,"src":"3673:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6788,"name":"uint256","nodeType":"ElementaryTypeName","src":"3673:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3630:57:7"},"returnParameters":{"id":6793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6792,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6802,"src":"3706:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6791,"name":"string","nodeType":"ElementaryTypeName","src":"3706:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3705:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6822,"nodeType":"FunctionDefinition","src":"3788:199:7","nodes":[],"body":{"id":6821,"nodeType":"Block","src":"3926:61:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6816,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6804,"src":"3960:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6817,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6806,"src":"3969:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6818,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6809,"src":"3974:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":6814,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"3943:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":11580,"src":"3943:16:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,uint256[] memory) external returns (string memory)"}},"id":6819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3943:37:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6813,"id":6820,"nodeType":"Return","src":"3936:44:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"3797:9:7","parameters":{"id":6810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6804,"mutability":"mutable","name":"jsonKey","nameLocation":"3821:7:7","nodeType":"VariableDeclaration","scope":6822,"src":"3807:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6803,"name":"string","nodeType":"ElementaryTypeName","src":"3807:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6806,"mutability":"mutable","name":"key","nameLocation":"3844:3:7","nodeType":"VariableDeclaration","scope":6822,"src":"3830:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6805,"name":"string","nodeType":"ElementaryTypeName","src":"3830:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6809,"mutability":"mutable","name":"value","nameLocation":"3866:5:7","nodeType":"VariableDeclaration","scope":6822,"src":"3849:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":6807,"name":"uint256","nodeType":"ElementaryTypeName","src":"3849:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6808,"nodeType":"ArrayTypeName","src":"3849:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3806:66:7"},"returnParameters":{"id":6813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6812,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6822,"src":"3907:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6811,"name":"string","nodeType":"ElementaryTypeName","src":"3907:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3906:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6841,"nodeType":"FunctionDefinition","src":"3993:168:7","nodes":[],"body":{"id":6840,"nodeType":"Block","src":"4101:60:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6835,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6824,"src":"4134:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6836,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6826,"src":"4143:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6837,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6828,"src":"4148:5:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":6833,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"4118:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":11512,"src":"4118:15:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,int256) external returns (string memory)"}},"id":6838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4118:36:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6832,"id":6839,"nodeType":"Return","src":"4111:43:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"4002:9:7","parameters":{"id":6829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6824,"mutability":"mutable","name":"jsonKey","nameLocation":"4026:7:7","nodeType":"VariableDeclaration","scope":6841,"src":"4012:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6823,"name":"string","nodeType":"ElementaryTypeName","src":"4012:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6826,"mutability":"mutable","name":"key","nameLocation":"4049:3:7","nodeType":"VariableDeclaration","scope":6841,"src":"4035:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6825,"name":"string","nodeType":"ElementaryTypeName","src":"4035:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6828,"mutability":"mutable","name":"value","nameLocation":"4061:5:7","nodeType":"VariableDeclaration","scope":6841,"src":"4054:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":6827,"name":"int256","nodeType":"ElementaryTypeName","src":"4054:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4011:56:7"},"returnParameters":{"id":6832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6841,"src":"4086:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6830,"name":"string","nodeType":"ElementaryTypeName","src":"4086:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4085:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6861,"nodeType":"FunctionDefinition","src":"4167:197:7","nodes":[],"body":{"id":6860,"nodeType":"Block","src":"4304:60:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6855,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6843,"src":"4337:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6856,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6845,"src":"4346:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6857,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6848,"src":"4351:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"expression":{"id":6853,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"4321:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":11592,"src":"4321:15:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,int256[] memory) external returns (string memory)"}},"id":6858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4321:36:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6852,"id":6859,"nodeType":"Return","src":"4314:43:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"4176:9:7","parameters":{"id":6849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6843,"mutability":"mutable","name":"jsonKey","nameLocation":"4200:7:7","nodeType":"VariableDeclaration","scope":6861,"src":"4186:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6842,"name":"string","nodeType":"ElementaryTypeName","src":"4186:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6845,"mutability":"mutable","name":"key","nameLocation":"4223:3:7","nodeType":"VariableDeclaration","scope":6861,"src":"4209:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6844,"name":"string","nodeType":"ElementaryTypeName","src":"4209:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6848,"mutability":"mutable","name":"value","nameLocation":"4244:5:7","nodeType":"VariableDeclaration","scope":6861,"src":"4228:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":6846,"name":"int256","nodeType":"ElementaryTypeName","src":"4228:6:7","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":6847,"nodeType":"ArrayTypeName","src":"4228:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"4185:65:7"},"returnParameters":{"id":6852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6851,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6861,"src":"4285:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6850,"name":"string","nodeType":"ElementaryTypeName","src":"4285:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4284:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6880,"nodeType":"FunctionDefinition","src":"4370:173:7","nodes":[],"body":{"id":6879,"nodeType":"Block","src":"4479:64:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6874,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6863,"src":"4516:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6875,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6865,"src":"4525:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6876,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6867,"src":"4530:5:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6872,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"4496:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":11523,"src":"4496:19:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,address) external returns (string memory)"}},"id":6877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4496:40:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6871,"id":6878,"nodeType":"Return","src":"4489:47:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"4379:9:7","parameters":{"id":6868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6863,"mutability":"mutable","name":"jsonKey","nameLocation":"4403:7:7","nodeType":"VariableDeclaration","scope":6880,"src":"4389:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6862,"name":"string","nodeType":"ElementaryTypeName","src":"4389:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6865,"mutability":"mutable","name":"key","nameLocation":"4426:3:7","nodeType":"VariableDeclaration","scope":6880,"src":"4412:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6864,"name":"string","nodeType":"ElementaryTypeName","src":"4412:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6867,"mutability":"mutable","name":"value","nameLocation":"4439:5:7","nodeType":"VariableDeclaration","scope":6880,"src":"4431:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6866,"name":"address","nodeType":"ElementaryTypeName","src":"4431:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4388:57:7"},"returnParameters":{"id":6871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6870,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6880,"src":"4464:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6869,"name":"string","nodeType":"ElementaryTypeName","src":"4464:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4463:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6900,"nodeType":"FunctionDefinition","src":"4549:202:7","nodes":[],"body":{"id":6899,"nodeType":"Block","src":"4687:64:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6894,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6882,"src":"4724:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6895,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6884,"src":"4733:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6896,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6887,"src":"4738:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":6892,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"4704:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":11604,"src":"4704:19:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,address[] memory) external returns (string memory)"}},"id":6897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4704:40:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6891,"id":6898,"nodeType":"Return","src":"4697:47:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"4558:9:7","parameters":{"id":6888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6882,"mutability":"mutable","name":"jsonKey","nameLocation":"4582:7:7","nodeType":"VariableDeclaration","scope":6900,"src":"4568:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6881,"name":"string","nodeType":"ElementaryTypeName","src":"4568:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6884,"mutability":"mutable","name":"key","nameLocation":"4605:3:7","nodeType":"VariableDeclaration","scope":6900,"src":"4591:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6883,"name":"string","nodeType":"ElementaryTypeName","src":"4591:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6887,"mutability":"mutable","name":"value","nameLocation":"4627:5:7","nodeType":"VariableDeclaration","scope":6900,"src":"4610:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6885,"name":"address","nodeType":"ElementaryTypeName","src":"4610:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6886,"nodeType":"ArrayTypeName","src":"4610:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"4567:66:7"},"returnParameters":{"id":6891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6890,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6900,"src":"4668:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6889,"name":"string","nodeType":"ElementaryTypeName","src":"4668:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4667:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6919,"nodeType":"FunctionDefinition","src":"4757:173:7","nodes":[],"body":{"id":6918,"nodeType":"Block","src":"4866:64:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6913,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6902,"src":"4903:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6914,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6904,"src":"4912:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6915,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6906,"src":"4917:5:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":6911,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"4883:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":11534,"src":"4883:19:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes32) external returns (string memory)"}},"id":6916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4883:40:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6910,"id":6917,"nodeType":"Return","src":"4876:47:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"4766:9:7","parameters":{"id":6907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6902,"mutability":"mutable","name":"jsonKey","nameLocation":"4790:7:7","nodeType":"VariableDeclaration","scope":6919,"src":"4776:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6901,"name":"string","nodeType":"ElementaryTypeName","src":"4776:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6904,"mutability":"mutable","name":"key","nameLocation":"4813:3:7","nodeType":"VariableDeclaration","scope":6919,"src":"4799:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6903,"name":"string","nodeType":"ElementaryTypeName","src":"4799:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6906,"mutability":"mutable","name":"value","nameLocation":"4826:5:7","nodeType":"VariableDeclaration","scope":6919,"src":"4818:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":6905,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4818:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4775:57:7"},"returnParameters":{"id":6910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6909,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6919,"src":"4851:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6908,"name":"string","nodeType":"ElementaryTypeName","src":"4851:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4850:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6939,"nodeType":"FunctionDefinition","src":"4936:202:7","nodes":[],"body":{"id":6938,"nodeType":"Block","src":"5074:64:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6933,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6921,"src":"5111:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6934,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6923,"src":"5120:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6935,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6926,"src":"5125:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":6931,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"5091:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":11616,"src":"5091:19:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes32[] memory) external returns (string memory)"}},"id":6936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5091:40:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6930,"id":6937,"nodeType":"Return","src":"5084:47:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"4945:9:7","parameters":{"id":6927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6921,"mutability":"mutable","name":"jsonKey","nameLocation":"4969:7:7","nodeType":"VariableDeclaration","scope":6939,"src":"4955:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6920,"name":"string","nodeType":"ElementaryTypeName","src":"4955:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6923,"mutability":"mutable","name":"key","nameLocation":"4992:3:7","nodeType":"VariableDeclaration","scope":6939,"src":"4978:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6922,"name":"string","nodeType":"ElementaryTypeName","src":"4978:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6926,"mutability":"mutable","name":"value","nameLocation":"5014:5:7","nodeType":"VariableDeclaration","scope":6939,"src":"4997:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":6924,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4997:7:7","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":6925,"nodeType":"ArrayTypeName","src":"4997:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4954:66:7"},"returnParameters":{"id":6930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6939,"src":"5055:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6928,"name":"string","nodeType":"ElementaryTypeName","src":"5055:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5054:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6958,"nodeType":"FunctionDefinition","src":"5144:176:7","nodes":[],"body":{"id":6957,"nodeType":"Block","src":"5258:62:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6952,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6941,"src":"5293:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6953,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6943,"src":"5302:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6954,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6945,"src":"5307:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6950,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"5275:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":11556,"src":"5275:17:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes memory) external returns (string memory)"}},"id":6955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5275:38:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6949,"id":6956,"nodeType":"Return","src":"5268:45:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"5153:9:7","parameters":{"id":6946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6941,"mutability":"mutable","name":"jsonKey","nameLocation":"5177:7:7","nodeType":"VariableDeclaration","scope":6958,"src":"5163:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6940,"name":"string","nodeType":"ElementaryTypeName","src":"5163:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6943,"mutability":"mutable","name":"key","nameLocation":"5200:3:7","nodeType":"VariableDeclaration","scope":6958,"src":"5186:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6942,"name":"string","nodeType":"ElementaryTypeName","src":"5186:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6945,"mutability":"mutable","name":"value","nameLocation":"5218:5:7","nodeType":"VariableDeclaration","scope":6958,"src":"5205:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6944,"name":"bytes","nodeType":"ElementaryTypeName","src":"5205:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5162:62:7"},"returnParameters":{"id":6949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6948,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6958,"src":"5243:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6947,"name":"string","nodeType":"ElementaryTypeName","src":"5243:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5242:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6978,"nodeType":"FunctionDefinition","src":"5326:198:7","nodes":[],"body":{"id":6977,"nodeType":"Block","src":"5462:62:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6972,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6960,"src":"5497:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6973,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6962,"src":"5506:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6974,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6965,"src":"5511:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":6970,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"5479:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":11640,"src":"5479:17:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes memory[] memory) external returns (string memory)"}},"id":6975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5479:38:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6969,"id":6976,"nodeType":"Return","src":"5472:45:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"5335:9:7","parameters":{"id":6966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6960,"mutability":"mutable","name":"jsonKey","nameLocation":"5359:7:7","nodeType":"VariableDeclaration","scope":6978,"src":"5345:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6959,"name":"string","nodeType":"ElementaryTypeName","src":"5345:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6962,"mutability":"mutable","name":"key","nameLocation":"5382:3:7","nodeType":"VariableDeclaration","scope":6978,"src":"5368:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6961,"name":"string","nodeType":"ElementaryTypeName","src":"5368:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6965,"mutability":"mutable","name":"value","nameLocation":"5402:5:7","nodeType":"VariableDeclaration","scope":6978,"src":"5387:20:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":6963,"name":"bytes","nodeType":"ElementaryTypeName","src":"5387:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":6964,"nodeType":"ArrayTypeName","src":"5387:7:7","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"5344:64:7"},"returnParameters":{"id":6969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6968,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6978,"src":"5443:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6967,"name":"string","nodeType":"ElementaryTypeName","src":"5443:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5442:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6997,"nodeType":"FunctionDefinition","src":"5530:198:7","nodes":[],"body":{"id":6996,"nodeType":"Block","src":"5665:63:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6991,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6980,"src":"5701:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6992,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6982,"src":"5710:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6993,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6984,"src":"5715:5:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6989,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"5682:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":6990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":11545,"src":"5682:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory) external returns (string memory)"}},"id":6994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5682:39:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":6988,"id":6995,"nodeType":"Return","src":"5675:46:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"5539:9:7","parameters":{"id":6985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6980,"mutability":"mutable","name":"jsonKey","nameLocation":"5563:7:7","nodeType":"VariableDeclaration","scope":6997,"src":"5549:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6979,"name":"string","nodeType":"ElementaryTypeName","src":"5549:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6982,"mutability":"mutable","name":"key","nameLocation":"5586:3:7","nodeType":"VariableDeclaration","scope":6997,"src":"5572:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6981,"name":"string","nodeType":"ElementaryTypeName","src":"5572:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6984,"mutability":"mutable","name":"value","nameLocation":"5605:5:7","nodeType":"VariableDeclaration","scope":6997,"src":"5591:19:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6983,"name":"string","nodeType":"ElementaryTypeName","src":"5591:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5548:63:7"},"returnParameters":{"id":6988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6987,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6997,"src":"5646:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6986,"name":"string","nodeType":"ElementaryTypeName","src":"5646:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5645:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7017,"nodeType":"FunctionDefinition","src":"5734:200:7","nodes":[],"body":{"id":7016,"nodeType":"Block","src":"5871:63:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":7011,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6999,"src":"5907:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7012,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7001,"src":"5916:3:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7013,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7004,"src":"5921:5:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":7009,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"5888:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":7010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":11628,"src":"5888:18:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory[] memory) external returns (string memory)"}},"id":7014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5888:39:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7008,"id":7015,"nodeType":"Return","src":"5881:46:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"5743:9:7","parameters":{"id":7005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6999,"mutability":"mutable","name":"jsonKey","nameLocation":"5767:7:7","nodeType":"VariableDeclaration","scope":7017,"src":"5753:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6998,"name":"string","nodeType":"ElementaryTypeName","src":"5753:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7001,"mutability":"mutable","name":"key","nameLocation":"5790:3:7","nodeType":"VariableDeclaration","scope":7017,"src":"5776:17:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7000,"name":"string","nodeType":"ElementaryTypeName","src":"5776:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7004,"mutability":"mutable","name":"value","nameLocation":"5811:5:7","nodeType":"VariableDeclaration","scope":7017,"src":"5795:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7002,"name":"string","nodeType":"ElementaryTypeName","src":"5795:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7003,"nodeType":"ArrayTypeName","src":"5795:8:7","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"5752:65:7"},"returnParameters":{"id":7008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7007,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7017,"src":"5852:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7006,"name":"string","nodeType":"ElementaryTypeName","src":"5852:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5851:15:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7032,"nodeType":"FunctionDefinition","src":"5940:111:7","nodes":[],"body":{"id":7031,"nodeType":"Block","src":"6007:44:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":7027,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7019,"src":"6030:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7028,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7021,"src":"6039:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7024,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"6017:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":7026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"writeJson","nodeType":"MemberAccess","referencedDeclaration":11647,"src":"6017:12:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":7029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6017:27:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7030,"nodeType":"ExpressionStatement","src":"6017:27:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"5949:5:7","parameters":{"id":7022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7019,"mutability":"mutable","name":"jsonKey","nameLocation":"5969:7:7","nodeType":"VariableDeclaration","scope":7032,"src":"5955:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7018,"name":"string","nodeType":"ElementaryTypeName","src":"5955:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7021,"mutability":"mutable","name":"path","nameLocation":"5992:4:7","nodeType":"VariableDeclaration","scope":7032,"src":"5978:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7020,"name":"string","nodeType":"ElementaryTypeName","src":"5978:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5954:43:7"},"returnParameters":{"id":7023,"nodeType":"ParameterList","parameters":[],"src":"6007:0:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7050,"nodeType":"FunctionDefinition","src":"6057:145:7","nodes":[],"body":{"id":7049,"nodeType":"Block","src":"6148:54:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":7044,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7034,"src":"6171:7:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7045,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7036,"src":"6180:4:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7046,"name":"valueKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7038,"src":"6186:8:7","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7041,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6497,"src":"6158:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":7043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"writeJson","nodeType":"MemberAccess","referencedDeclaration":11656,"src":"6158:12:7","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory,string memory) external"}},"id":7047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6158:37:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7048,"nodeType":"ExpressionStatement","src":"6158:37:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"6066:5:7","parameters":{"id":7039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7034,"mutability":"mutable","name":"jsonKey","nameLocation":"6086:7:7","nodeType":"VariableDeclaration","scope":7050,"src":"6072:21:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7033,"name":"string","nodeType":"ElementaryTypeName","src":"6072:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7036,"mutability":"mutable","name":"path","nameLocation":"6109:4:7","nodeType":"VariableDeclaration","scope":7050,"src":"6095:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7035,"name":"string","nodeType":"ElementaryTypeName","src":"6095:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7038,"mutability":"mutable","name":"valueKey","nameLocation":"6129:8:7","nodeType":"VariableDeclaration","scope":7050,"src":"6115:22:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7037,"name":"string","nodeType":"ElementaryTypeName","src":"6115:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6071:67:7"},"returnParameters":{"id":7040,"nodeType":"ParameterList","parameters":[],"src":"6148:0:7"},"scope":7051,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdJson","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[7051],"name":"stdJson","nameLocation":"838:7:7","scope":7052,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdMath.sol":{"id":8,"ast":{"absolutePath":"lib/forge-std/src/StdMath.sol","id":7194,"exportedSymbols":{"stdMath":[7193]},"nodeType":"SourceUnit","src":"32:1328:8","nodes":[{"id":7053,"nodeType":"PragmaDirective","src":"32:31:8","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":7193,"nodeType":"ContractDefinition","src":"65:1294:8","nodes":[{"id":7057,"nodeType":"VariableDeclaration","src":"87:115:8","nodes":[],"constant":true,"mutability":"constant","name":"INT256_MIN","nameLocation":"111:10:8","scope":7193,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7054,"name":"int256","nodeType":"ElementaryTypeName","src":"87:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"value":{"id":7056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"124:78:8","subExpression":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":7055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"125:77:8","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const -578...(70 digits omitted)...9968"}},"visibility":"private"},{"id":7083,"nodeType":"FunctionDefinition","src":"209:306:8","nodes":[],"body":{"id":7082,"nodeType":"Block","src":"264:251:8","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7064,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7059,"src":"342:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":7065,"name":"INT256_MIN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7057,"src":"347:10:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"342:15:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7070,"nodeType":"IfStatement","src":"338:130:8","trueBody":{"id":7069,"nodeType":"Block","src":"359:109:8","statements":[{"expression":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":7067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"380:77:8","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"functionReturnParameters":7063,"id":7068,"nodeType":"Return","src":"373:84:8"}]}},{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7073,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7059,"src":"493:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":7074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"497:1:8","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"493:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"505:2:8","subExpression":{"id":7077,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7059,"src":"506:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"493:14:8","trueExpression":{"id":7076,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7059,"src":"501:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7072,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"485:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7071,"name":"uint256","nodeType":"ElementaryTypeName","src":"485:7:8","typeDescriptions":{}}},"id":7080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"485:23:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7063,"id":7081,"nodeType":"Return","src":"478:30:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"abs","nameLocation":"218:3:8","parameters":{"id":7060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7059,"mutability":"mutable","name":"a","nameLocation":"229:1:8","nodeType":"VariableDeclaration","scope":7083,"src":"222:8:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7058,"name":"int256","nodeType":"ElementaryTypeName","src":"222:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"221:10:8"},"returnParameters":{"id":7063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7062,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7083,"src":"255:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7061,"name":"uint256","nodeType":"ElementaryTypeName","src":"255:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"254:9:8"},"scope":7193,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7104,"nodeType":"FunctionDefinition","src":"521:114:8","nodes":[],"body":{"id":7103,"nodeType":"Block","src":"590:45:8","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7092,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7085,"src":"607:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":7093,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7087,"src":"611:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"607:5:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7098,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7087,"src":"623:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":7099,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7085,"src":"627:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"623:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"607:21:8","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7095,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7085,"src":"615:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":7096,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7087,"src":"619:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"615:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7091,"id":7102,"nodeType":"Return","src":"600:28:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"delta","nameLocation":"530:5:8","parameters":{"id":7088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7085,"mutability":"mutable","name":"a","nameLocation":"544:1:8","nodeType":"VariableDeclaration","scope":7104,"src":"536:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7084,"name":"uint256","nodeType":"ElementaryTypeName","src":"536:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7087,"mutability":"mutable","name":"b","nameLocation":"555:1:8","nodeType":"VariableDeclaration","scope":7104,"src":"547:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7086,"name":"uint256","nodeType":"ElementaryTypeName","src":"547:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"535:22:8"},"returnParameters":{"id":7091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7090,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7104,"src":"581:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7089,"name":"uint256","nodeType":"ElementaryTypeName","src":"581:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"580:9:8"},"scope":7193,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7140,"nodeType":"FunctionDefinition","src":"641:352:8","nodes":[],"body":{"id":7139,"nodeType":"Block","src":"708:285:8","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7113,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7106,"src":"847:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":7114,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7108,"src":"851:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"847:5:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":7116,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"846:7:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":7118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"856:2:8","subExpression":{"hexValue":"31","id":7117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"857:1:8","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}},"src":"846:12:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7130,"nodeType":"IfStatement","src":"842:71:8","trueBody":{"id":7129,"nodeType":"Block","src":"860:53:8","statements":[{"expression":{"arguments":[{"arguments":[{"id":7122,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7106,"src":"891:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7121,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7083,"src":"887:3:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"887:6:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":7125,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7108,"src":"899:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7124,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7083,"src":"895:3:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"895:6:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7120,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[7104,7140],"referencedDeclaration":7104,"src":"881:5:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":7127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"881:21:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7112,"id":7128,"nodeType":"Return","src":"874:28:8"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":7132,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7106,"src":"975:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7131,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7083,"src":"971:3:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"971:6:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":7135,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7108,"src":"984:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7134,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7083,"src":"980:3:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"980:6:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"971:15:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7112,"id":7138,"nodeType":"Return","src":"964:22:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"delta","nameLocation":"650:5:8","parameters":{"id":7109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7106,"mutability":"mutable","name":"a","nameLocation":"663:1:8","nodeType":"VariableDeclaration","scope":7140,"src":"656:8:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7105,"name":"int256","nodeType":"ElementaryTypeName","src":"656:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7108,"mutability":"mutable","name":"b","nameLocation":"673:1:8","nodeType":"VariableDeclaration","scope":7140,"src":"666:8:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7107,"name":"int256","nodeType":"ElementaryTypeName","src":"666:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"655:20:8"},"returnParameters":{"id":7112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7111,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7140,"src":"699:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7110,"name":"uint256","nodeType":"ElementaryTypeName","src":"699:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"698:9:8"},"scope":7193,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7163,"nodeType":"FunctionDefinition","src":"999:160:8","nodes":[],"body":{"id":7162,"nodeType":"Block","src":"1075:84:8","nodes":[],"statements":[{"assignments":[7150],"declarations":[{"constant":false,"id":7150,"mutability":"mutable","name":"absDelta","nameLocation":"1093:8:8","nodeType":"VariableDeclaration","scope":7162,"src":"1085:16:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7149,"name":"uint256","nodeType":"ElementaryTypeName","src":"1085:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7155,"initialValue":{"arguments":[{"id":7152,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7142,"src":"1110:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":7153,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7144,"src":"1113:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7151,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[7104,7140],"referencedDeclaration":7104,"src":"1104:5:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":7154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1104:11:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1085:30:8"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7156,"name":"absDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7150,"src":"1133:8:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":7157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1144:4:8","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"1133:15:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":7159,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7144,"src":"1151:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1133:19:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7148,"id":7161,"nodeType":"Return","src":"1126:26:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"percentDelta","nameLocation":"1008:12:8","parameters":{"id":7145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7142,"mutability":"mutable","name":"a","nameLocation":"1029:1:8","nodeType":"VariableDeclaration","scope":7163,"src":"1021:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7141,"name":"uint256","nodeType":"ElementaryTypeName","src":"1021:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7144,"mutability":"mutable","name":"b","nameLocation":"1040:1:8","nodeType":"VariableDeclaration","scope":7163,"src":"1032:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7143,"name":"uint256","nodeType":"ElementaryTypeName","src":"1032:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1020:22:8"},"returnParameters":{"id":7148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7147,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7163,"src":"1066:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7146,"name":"uint256","nodeType":"ElementaryTypeName","src":"1066:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1065:9:8"},"scope":7193,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7192,"nodeType":"FunctionDefinition","src":"1165:192:8","nodes":[],"body":{"id":7191,"nodeType":"Block","src":"1239:118:8","nodes":[],"statements":[{"assignments":[7173],"declarations":[{"constant":false,"id":7173,"mutability":"mutable","name":"absDelta","nameLocation":"1257:8:8","nodeType":"VariableDeclaration","scope":7191,"src":"1249:16:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7172,"name":"uint256","nodeType":"ElementaryTypeName","src":"1249:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7178,"initialValue":{"arguments":[{"id":7175,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7165,"src":"1274:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":7176,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7167,"src":"1277:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7174,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[7104,7140],"referencedDeclaration":7140,"src":"1268:5:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":7177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1268:11:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1249:30:8"},{"assignments":[7180],"declarations":[{"constant":false,"id":7180,"mutability":"mutable","name":"absB","nameLocation":"1297:4:8","nodeType":"VariableDeclaration","scope":7191,"src":"1289:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7179,"name":"uint256","nodeType":"ElementaryTypeName","src":"1289:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7184,"initialValue":{"arguments":[{"id":7182,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7167,"src":"1308:1:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":7181,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7083,"src":"1304:3:8","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":7183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1304:6:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1289:21:8"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7185,"name":"absDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7173,"src":"1328:8:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":7186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1339:4:8","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"1328:15:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":7188,"name":"absB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7180,"src":"1346:4:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1328:22:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7171,"id":7190,"nodeType":"Return","src":"1321:29:8"}]},"implemented":true,"kind":"function","modifiers":[],"name":"percentDelta","nameLocation":"1174:12:8","parameters":{"id":7168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7165,"mutability":"mutable","name":"a","nameLocation":"1194:1:8","nodeType":"VariableDeclaration","scope":7192,"src":"1187:8:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7164,"name":"int256","nodeType":"ElementaryTypeName","src":"1187:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":7167,"mutability":"mutable","name":"b","nameLocation":"1204:1:8","nodeType":"VariableDeclaration","scope":7192,"src":"1197:8:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7166,"name":"int256","nodeType":"ElementaryTypeName","src":"1197:6:8","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1186:20:8"},"returnParameters":{"id":7171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7170,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7192,"src":"1230:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7169,"name":"uint256","nodeType":"ElementaryTypeName","src":"1230:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1229:9:8"},"scope":7193,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdMath","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[7193],"name":"stdMath","nameLocation":"73:7:8","scope":7194,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdStorage.sol":{"id":9,"ast":{"absolutePath":"lib/forge-std/src/StdStorage.sol","id":8659,"exportedSymbols":{"StdStorage":[7225],"Vm":[12037],"stdStorage":[8658],"stdStorageSafe":[8117]},"nodeType":"SourceUnit","src":"32:11835:9","nodes":[{"id":7195,"nodeType":"PragmaDirective","src":"32:31:9","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":7197,"nodeType":"ImportDirective","src":"65:28:9","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":8659,"sourceUnit":12038,"symbolAliases":[{"foreign":{"id":7196,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"73:2:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":7225,"nodeType":"StructDefinition","src":"95:271:9","nodes":[],"canonicalName":"StdStorage","members":[{"constant":false,"id":7205,"mutability":"mutable","name":"slots","nameLocation":"186:5:9","nodeType":"VariableDeclaration","scope":7225,"src":"119:72:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"},"typeName":{"id":7204,"keyType":{"id":7198,"name":"address","nodeType":"ElementaryTypeName","src":"127:7:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"119:66:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"},"valueType":{"id":7203,"keyType":{"id":7199,"name":"bytes4","nodeType":"ElementaryTypeName","src":"146:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Mapping","src":"138:46:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => uint256))"},"valueType":{"id":7202,"keyType":{"id":7200,"name":"bytes32","nodeType":"ElementaryTypeName","src":"164:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"156:27:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueType":{"id":7201,"name":"uint256","nodeType":"ElementaryTypeName","src":"175:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}}},"visibility":"internal"},{"constant":false,"id":7213,"mutability":"mutable","name":"finds","nameLocation":"261:5:9","nodeType":"VariableDeclaration","scope":7225,"src":"197:69:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"},"typeName":{"id":7212,"keyType":{"id":7206,"name":"address","nodeType":"ElementaryTypeName","src":"205:7:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"197:63:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"},"valueType":{"id":7211,"keyType":{"id":7207,"name":"bytes4","nodeType":"ElementaryTypeName","src":"224:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Mapping","src":"216:43:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => bool))"},"valueType":{"id":7210,"keyType":{"id":7208,"name":"bytes32","nodeType":"ElementaryTypeName","src":"242:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"234:24:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"},"valueType":{"id":7209,"name":"bool","nodeType":"ElementaryTypeName","src":"253:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}}},"visibility":"internal"},{"constant":false,"id":7216,"mutability":"mutable","name":"_keys","nameLocation":"282:5:9","nodeType":"VariableDeclaration","scope":7225,"src":"272:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7214,"name":"bytes32","nodeType":"ElementaryTypeName","src":"272:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7215,"nodeType":"ArrayTypeName","src":"272:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":7218,"mutability":"mutable","name":"_sig","nameLocation":"300:4:9","nodeType":"VariableDeclaration","scope":7225,"src":"293:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":7217,"name":"bytes4","nodeType":"ElementaryTypeName","src":"293:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":7220,"mutability":"mutable","name":"_depth","nameLocation":"318:6:9","nodeType":"VariableDeclaration","scope":7225,"src":"310:14:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7219,"name":"uint256","nodeType":"ElementaryTypeName","src":"310:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":7222,"mutability":"mutable","name":"_target","nameLocation":"338:7:9","nodeType":"VariableDeclaration","scope":7225,"src":"330:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7221,"name":"address","nodeType":"ElementaryTypeName","src":"330:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7224,"mutability":"mutable","name":"_set","nameLocation":"359:4:9","nodeType":"VariableDeclaration","scope":7225,"src":"351:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7223,"name":"bytes32","nodeType":"ElementaryTypeName","src":"351:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"StdStorage","nameLocation":"102:10:9","scope":8659,"visibility":"public"},{"id":8117,"nodeType":"ContractDefinition","src":"368:6969:9","nodes":[{"id":7235,"nodeType":"EventDefinition","src":"397:74:9","nodes":[],"anonymous":false,"name":"SlotFound","nameLocation":"403:9:9","parameters":{"id":7234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7227,"indexed":false,"mutability":"mutable","name":"who","nameLocation":"421:3:9","nodeType":"VariableDeclaration","scope":7235,"src":"413:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7226,"name":"address","nodeType":"ElementaryTypeName","src":"413:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7229,"indexed":false,"mutability":"mutable","name":"fsig","nameLocation":"433:4:9","nodeType":"VariableDeclaration","scope":7235,"src":"426:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":7228,"name":"bytes4","nodeType":"ElementaryTypeName","src":"426:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":7231,"indexed":false,"mutability":"mutable","name":"keysHash","nameLocation":"447:8:9","nodeType":"VariableDeclaration","scope":7235,"src":"439:16:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7230,"name":"bytes32","nodeType":"ElementaryTypeName","src":"439:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":7233,"indexed":false,"mutability":"mutable","name":"slot","nameLocation":"465:4:9","nodeType":"VariableDeclaration","scope":7235,"src":"457:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7232,"name":"uint256","nodeType":"ElementaryTypeName","src":"457:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"412:58:9"}},{"id":7241,"nodeType":"EventDefinition","src":"476:54:9","nodes":[],"anonymous":false,"name":"WARNING_UninitedSlot","nameLocation":"482:20:9","parameters":{"id":7240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7237,"indexed":false,"mutability":"mutable","name":"who","nameLocation":"511:3:9","nodeType":"VariableDeclaration","scope":7241,"src":"503:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7236,"name":"address","nodeType":"ElementaryTypeName","src":"503:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7239,"indexed":false,"mutability":"mutable","name":"slot","nameLocation":"524:4:9","nodeType":"VariableDeclaration","scope":7241,"src":"516:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7238,"name":"uint256","nodeType":"ElementaryTypeName","src":"516:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"502:27:9"}},{"id":7258,"nodeType":"VariableDeclaration","src":"536:84:9","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"556:2:9","scope":8117,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"},"typeName":{"id":7243,"nodeType":"UserDefinedTypeName","pathNode":{"id":7242,"name":"Vm","nodeType":"IdentifierPath","referencedDeclaration":12037,"src":"536:2:9"},"referencedDeclaration":12037,"src":"536:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":7252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"598:17:9","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":7251,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"588:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"588:28:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"580:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7249,"name":"uint256","nodeType":"ElementaryTypeName","src":"580:7:9","typeDescriptions":{}}},"id":7254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"580:37:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7248,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"572:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":7247,"name":"uint160","nodeType":"ElementaryTypeName","src":"572:7:9","typeDescriptions":{}}},"id":7255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"572:46:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":7246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"564:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7245,"name":"address","nodeType":"ElementaryTypeName","src":"564:7:9","typeDescriptions":{}}},"id":7256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"564:55:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7244,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"561:2:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"id":7257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"561:59:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"visibility":"private"},{"id":7276,"nodeType":"FunctionDefinition","src":"627:123:9","nodes":[],"body":{"id":7275,"nodeType":"Block","src":"694:56:9","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":7270,"name":"sigStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"734:6:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"728:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":7268,"name":"bytes","nodeType":"ElementaryTypeName","src":"728:5:9","typeDescriptions":{}}},"id":7271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"728:13:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7267,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"718:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"718:24:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7266,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"711:6:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":7265,"name":"bytes4","nodeType":"ElementaryTypeName","src":"711:6:9","typeDescriptions":{}}},"id":7273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"711:32:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":7264,"id":7274,"nodeType":"Return","src":"704:39:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sigs","nameLocation":"636:4:9","parameters":{"id":7261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7260,"mutability":"mutable","name":"sigStr","nameLocation":"655:6:9","nodeType":"VariableDeclaration","scope":7276,"src":"641:20:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7259,"name":"string","nodeType":"ElementaryTypeName","src":"641:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"640:22:9"},"returnParameters":{"id":7264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7276,"src":"686:6:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":7262,"name":"bytes4","nodeType":"ElementaryTypeName","src":"686:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"685:8:9"},"scope":8117,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7720,"nodeType":"FunctionDefinition","src":"1264:3197:9","nodes":[],"body":{"id":7719,"nodeType":"Block","src":"1330:3131:9","nodes":[],"statements":[{"assignments":[7286],"declarations":[{"constant":false,"id":7286,"mutability":"mutable","name":"who","nameLocation":"1348:3:9","nodeType":"VariableDeclaration","scope":7719,"src":"1340:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7285,"name":"address","nodeType":"ElementaryTypeName","src":"1340:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":7289,"initialValue":{"expression":{"id":7287,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"1354:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7288,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":7222,"src":"1354:12:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1340:26:9"},{"assignments":[7291],"declarations":[{"constant":false,"id":7291,"mutability":"mutable","name":"fsig","nameLocation":"1383:4:9","nodeType":"VariableDeclaration","scope":7719,"src":"1376:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":7290,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1376:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":7294,"initialValue":{"expression":{"id":7292,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"1390:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7293,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":7218,"src":"1390:9:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"1376:23:9"},{"assignments":[7296],"declarations":[{"constant":false,"id":7296,"mutability":"mutable","name":"field_depth","nameLocation":"1417:11:9","nodeType":"VariableDeclaration","scope":7719,"src":"1409:19:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7295,"name":"uint256","nodeType":"ElementaryTypeName","src":"1409:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7299,"initialValue":{"expression":{"id":7297,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"1431:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7298,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":7220,"src":"1431:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1409:33:9"},{"assignments":[7304],"declarations":[{"constant":false,"id":7304,"mutability":"mutable","name":"ins","nameLocation":"1469:3:9","nodeType":"VariableDeclaration","scope":7719,"src":"1452:20:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7302,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1452:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7303,"nodeType":"ArrayTypeName","src":"1452:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":7307,"initialValue":{"expression":{"id":7305,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"1475:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7306,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":7216,"src":"1475:10:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"1452:33:9"},{"condition":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":7308,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"1536:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7309,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":7213,"src":"1536:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"}},"id":7311,"indexExpression":{"id":7310,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"1547:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1536:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => bool))"}},"id":7313,"indexExpression":{"id":7312,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"1552:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1536:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":7321,"indexExpression":{"arguments":[{"arguments":[{"id":7317,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"1585:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7318,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"1590:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7315,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1568:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"1568:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1568:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7314,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1558:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1558:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1536:68:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7338,"nodeType":"IfStatement","src":"1532:174:9","trueBody":{"id":7337,"nodeType":"Block","src":"1606:100:9","statements":[{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":7322,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"1627:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7323,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"slots","nodeType":"MemberAccess","referencedDeclaration":7205,"src":"1627:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"}},"id":7325,"indexExpression":{"id":7324,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"1638:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1627:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => uint256))"}},"id":7327,"indexExpression":{"id":7326,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"1643:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1627:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":7335,"indexExpression":{"arguments":[{"arguments":[{"id":7331,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"1676:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7332,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"1681:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7329,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1659:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"1659:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1659:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7328,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1649:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1649:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1627:68:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7284,"id":7336,"nodeType":"Return","src":"1620:75:9"}]}},{"assignments":[7340],"declarations":[{"constant":false,"id":7340,"mutability":"mutable","name":"cald","nameLocation":"1728:4:9","nodeType":"VariableDeclaration","scope":7719,"src":"1715:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7339,"name":"bytes","nodeType":"ElementaryTypeName","src":"1715:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":7348,"initialValue":{"arguments":[{"id":7343,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"1752:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":7345,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"1766:3:9","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"}],"id":7344,"name":"flatten","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8116,"src":"1758:7:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory) pure returns (bytes memory)"}},"id":7346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1758:12:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":7341,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1735:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"1735:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1735:36:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1715:56:9"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":7349,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"1781:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":7351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"record","nodeType":"MemberAccess","referencedDeclaration":11083,"src":"1781:9:9","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":7352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1781:11:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7353,"nodeType":"ExpressionStatement","src":"1781:11:9"},{"assignments":[7355],"declarations":[{"constant":false,"id":7355,"mutability":"mutable","name":"fdat","nameLocation":"1810:4:9","nodeType":"VariableDeclaration","scope":7719,"src":"1802:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7354,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1802:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":7356,"nodeType":"VariableDeclarationStatement","src":"1802:12:9"},{"id":7373,"nodeType":"Block","src":"1824:128:9","statements":[{"assignments":[null,7358],"declarations":[null,{"constant":false,"id":7358,"mutability":"mutable","name":"rdat","nameLocation":"1854:4:9","nodeType":"VariableDeclaration","scope":7373,"src":"1841:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7357,"name":"bytes","nodeType":"ElementaryTypeName","src":"1841:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":7363,"initialValue":{"arguments":[{"id":7361,"name":"cald","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7340,"src":"1877:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":7359,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"1862:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"staticcall","nodeType":"MemberAccess","src":"1862:14:9","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":7362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1862:20:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1838:44:9"},{"expression":{"id":7371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7364,"name":"fdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7355,"src":"1896:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":7366,"name":"rdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7358,"src":"1918:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":7367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1924:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":7368,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"1929:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1924:16:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7365,"name":"bytesToBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8075,"src":"1903:14:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":7370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1903:38:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1896:45:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7372,"nodeType":"ExpressionStatement","src":"1896:45:9"}]},{"assignments":[7378,null],"declarations":[{"constant":false,"id":7378,"mutability":"mutable","name":"reads","nameLocation":"1980:5:9","nodeType":"VariableDeclaration","scope":7719,"src":"1963:22:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7376,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1963:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7377,"nodeType":"ArrayTypeName","src":"1963:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},null],"id":7386,"initialValue":{"arguments":[{"arguments":[{"id":7383,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"2010:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2002:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7381,"name":"address","nodeType":"ElementaryTypeName","src":"2002:7:9","typeDescriptions":{}}},"id":7384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2002:12:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7379,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"1990:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":7380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"accesses","nodeType":"MemberAccess","referencedDeclaration":11094,"src":"1990:11:9","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (address) external returns (bytes32[] memory,bytes32[] memory)"}},"id":7385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1990:25:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"tuple(bytes32[] memory,bytes32[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"1962:53:9"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":7387,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"2029:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2029:12:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":7389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2045:1:9","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2029:17:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":7489,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"2786:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2786:12:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":7491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2801:1:9","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2786:16:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":7667,"nodeType":"Block","src":"3986:99:9","statements":[{"expression":{"arguments":[{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a204e6f2073746f726167652075736520646574656374656420666f72207461726765742e","id":7664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4007:66:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283","typeString":"literal_string \"stdStorage find(StdStorage): No storage use detected for target.\""},"value":"stdStorage find(StdStorage): No storage use detected for target."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283","typeString":"literal_string \"stdStorage find(StdStorage): No storage use detected for target.\""}],"id":7663,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"4000:6:9","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":7665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4000:74:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7666,"nodeType":"ExpressionStatement","src":"4000:74:9"}]},"id":7668,"nodeType":"IfStatement","src":"2782:1303:9","trueBody":{"id":7662,"nodeType":"Block","src":"2804:1176:9","statements":[{"body":{"id":7660,"nodeType":"Block","src":"2861:1109:9","statements":[{"assignments":[7505],"declarations":[{"constant":false,"id":7505,"mutability":"mutable","name":"prev","nameLocation":"2887:4:9","nodeType":"VariableDeclaration","scope":7660,"src":"2879:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7504,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2879:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":7513,"initialValue":{"arguments":[{"id":7508,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"2902:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":7509,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"2907:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7511,"indexExpression":{"id":7510,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"2913:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2907:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7506,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"2894:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":7507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"load","nodeType":"MemberAccess","referencedDeclaration":10765,"src":"2894:7:9","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":7512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2894:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2879:37:9"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":7519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7514,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7505,"src":"2938:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":7517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2954:1:9","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":7516,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2946:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7515,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2946:7:9","typeDescriptions":{}}},"id":7518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2946:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2938:18:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7531,"nodeType":"IfStatement","src":"2934:114:9","trueBody":{"id":7530,"nodeType":"Block","src":"2958:90:9","statements":[{"eventCall":{"arguments":[{"id":7521,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"3006:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"baseExpression":{"id":7524,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"3019:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7526,"indexExpression":{"id":7525,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"3025:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3019:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3011:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7522,"name":"uint256","nodeType":"ElementaryTypeName","src":"3011:7:9","typeDescriptions":{}}},"id":7527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3011:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7520,"name":"WARNING_UninitedSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7241,"src":"2985:20:9","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":7528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2985:44:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7529,"nodeType":"EmitStatement","src":"2980:49:9"}]}},{"expression":{"arguments":[{"id":7535,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"3099:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":7536,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"3104:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7538,"indexExpression":{"id":7537,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"3110:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3104:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"1337","id":7541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"3122:9:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc","typeString":"literal_string hex\"1337\""},"value":"\u00137"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc","typeString":"literal_string hex\"1337\""}],"id":7540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3114:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3114:7:9","typeDescriptions":{}}},"id":7542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3114:18:9","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":7532,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"3090:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":7534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"store","nodeType":"MemberAccess","referencedDeclaration":11726,"src":"3090:8:9","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":7543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3090:43:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7544,"nodeType":"ExpressionStatement","src":"3090:43:9"},{"assignments":[7546],"declarations":[{"constant":false,"id":7546,"mutability":"mutable","name":"success","nameLocation":"3156:7:9","nodeType":"VariableDeclaration","scope":7660,"src":"3151:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7545,"name":"bool","nodeType":"ElementaryTypeName","src":"3151:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":7547,"nodeType":"VariableDeclarationStatement","src":"3151:12:9"},{"assignments":[7549],"declarations":[{"constant":false,"id":7549,"mutability":"mutable","name":"rdat","nameLocation":"3194:4:9","nodeType":"VariableDeclaration","scope":7660,"src":"3181:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7548,"name":"bytes","nodeType":"ElementaryTypeName","src":"3181:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":7550,"nodeType":"VariableDeclarationStatement","src":"3181:17:9"},{"id":7569,"nodeType":"Block","src":"3216:146:9","statements":[{"expression":{"id":7558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":7551,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7546,"src":"3239:7:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":7552,"name":"rdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7549,"src":"3248:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":7553,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"3238:15:9","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":7556,"name":"cald","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7340,"src":"3271:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":7554,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"3256:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"staticcall","nodeType":"MemberAccess","src":"3256:14:9","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":7557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3256:20:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"3238:38:9","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7559,"nodeType":"ExpressionStatement","src":"3238:38:9"},{"expression":{"id":7567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7560,"name":"fdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7355,"src":"3298:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":7562,"name":"rdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7549,"src":"3320:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":7563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3326:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":7564,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"3331:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3326:16:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7561,"name":"bytesToBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8075,"src":"3305:14:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":7566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3305:38:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3298:45:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7568,"nodeType":"ExpressionStatement","src":"3298:45:9"}]},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":7577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7570,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7546,"src":"3384:7:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":7576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7571,"name":"fdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7355,"src":"3395:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"1337","id":7574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"3411:9:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc","typeString":"literal_string hex\"1337\""},"value":"\u00137"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2636a8beb2c41b8ccafa9a55a5a5e333892a83b491df3a67d2768946a9f9c6dc","typeString":"literal_string hex\"1337\""}],"id":7573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3403:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7572,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3403:7:9","typeDescriptions":{}}},"id":7575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3403:18:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3395:26:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3384:37:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7649,"nodeType":"IfStatement","src":"3380:529:9","trueBody":{"id":7648,"nodeType":"Block","src":"3423:486:9","statements":[{"eventCall":{"arguments":[{"id":7579,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"3529:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7580,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"3534:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"arguments":[{"id":7584,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"3567:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7585,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"3572:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7582,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3550:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3550:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3550:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7581,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3540:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3540:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"baseExpression":{"id":7590,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"3595:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7592,"indexExpression":{"id":7591,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"3601:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3595:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3587:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7588,"name":"uint256","nodeType":"ElementaryTypeName","src":"3587:7:9","typeDescriptions":{}}},"id":7593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3587:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7578,"name":"SlotFound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7235,"src":"3519:9:9","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (address,bytes4,bytes32,uint256)"}},"id":7594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3519:86:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7595,"nodeType":"EmitStatement","src":"3514:91:9"},{"expression":{"id":7617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":7596,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"3627:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7607,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"slots","nodeType":"MemberAccess","referencedDeclaration":7205,"src":"3627:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"}},"id":7608,"indexExpression":{"id":7598,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"3638:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3627:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => uint256))"}},"id":7609,"indexExpression":{"id":7599,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"3643:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3627:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":7610,"indexExpression":{"arguments":[{"arguments":[{"id":7603,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"3676:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7604,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"3681:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7601,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3659:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7602,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3659:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3659:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7600,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3649:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3649:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3627:68:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":7613,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"3706:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7615,"indexExpression":{"id":7614,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"3712:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3706:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3698:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7611,"name":"uint256","nodeType":"ElementaryTypeName","src":"3698:7:9","typeDescriptions":{}}},"id":7616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3698:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3627:88:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7618,"nodeType":"ExpressionStatement","src":"3627:88:9"},{"expression":{"id":7635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":7619,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"3737:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7630,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":7213,"src":"3737:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"}},"id":7631,"indexExpression":{"id":7621,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"3748:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3737:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => bool))"}},"id":7632,"indexExpression":{"id":7622,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"3753:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3737:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":7633,"indexExpression":{"arguments":[{"arguments":[{"id":7626,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"3786:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7627,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"3791:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7624,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3769:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3769:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3769:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7623,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3759:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3759:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3737:68:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":7634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3808:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3737:75:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7636,"nodeType":"ExpressionStatement","src":"3737:75:9"},{"expression":{"arguments":[{"id":7640,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"3843:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":7641,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"3848:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7643,"indexExpression":{"id":7642,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"3854:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3848:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":7644,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7505,"src":"3858:4:9","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":7637,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"3834:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":7639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"store","nodeType":"MemberAccess","referencedDeclaration":11726,"src":"3834:8:9","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":7645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3834:29:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7646,"nodeType":"ExpressionStatement","src":"3834:29:9"},{"id":7647,"nodeType":"Break","src":"3885:5:9"}]}},{"expression":{"arguments":[{"id":7653,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"3935:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":7654,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"3940:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7656,"indexExpression":{"id":7655,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"3946:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3940:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":7657,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7505,"src":"3950:4:9","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":7650,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"3926:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":7652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"store","nodeType":"MemberAccess","referencedDeclaration":11726,"src":"3926:8:9","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":7658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3926:29:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7659,"nodeType":"ExpressionStatement","src":"3926:29:9"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7497,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"2838:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":7498,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"2842:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2842:12:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2838:16:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7661,"initializationExpression":{"assignments":[7494],"declarations":[{"constant":false,"id":7494,"mutability":"mutable","name":"i","nameLocation":"2831:1:9","nodeType":"VariableDeclaration","scope":7661,"src":"2823:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7493,"name":"uint256","nodeType":"ElementaryTypeName","src":"2823:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7496,"initialValue":{"hexValue":"30","id":7495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2835:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2823:13:9"},"loopExpression":{"expression":{"id":7502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2856:3:9","subExpression":{"id":7501,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"2856:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7503,"nodeType":"ExpressionStatement","src":"2856:3:9"},"nodeType":"ForStatement","src":"2818:1152:9"}]}},"id":7669,"nodeType":"IfStatement","src":"2025:2060:9","trueBody":{"id":7488,"nodeType":"Block","src":"2048:728:9","statements":[{"assignments":[7392],"declarations":[{"constant":false,"id":7392,"mutability":"mutable","name":"curr","nameLocation":"2070:4:9","nodeType":"VariableDeclaration","scope":7488,"src":"2062:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7391,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2062:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":7400,"initialValue":{"arguments":[{"id":7395,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"2085:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":7396,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"2090:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7398,"indexExpression":{"hexValue":"30","id":7397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2096:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2090:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7393,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"2077:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":7394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"load","nodeType":"MemberAccess","referencedDeclaration":10765,"src":"2077:7:9","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":7399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2077:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2062:37:9"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":7406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7401,"name":"curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7392,"src":"2117:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":7404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2133:1:9","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":7403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2125:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7402,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2125:7:9","typeDescriptions":{}}},"id":7405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2125:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2117:18:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7418,"nodeType":"IfStatement","src":"2113:106:9","trueBody":{"id":7417,"nodeType":"Block","src":"2137:82:9","statements":[{"eventCall":{"arguments":[{"id":7408,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"2181:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"baseExpression":{"id":7411,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"2194:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7413,"indexExpression":{"hexValue":"30","id":7412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2200:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2194:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2186:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7409,"name":"uint256","nodeType":"ElementaryTypeName","src":"2186:7:9","typeDescriptions":{}}},"id":7414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2186:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7407,"name":"WARNING_UninitedSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7241,"src":"2160:20:9","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":7415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2160:44:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7416,"nodeType":"EmitStatement","src":"2155:49:9"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":7421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7419,"name":"fdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7355,"src":"2236:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":7420,"name":"curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7392,"src":"2244:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2236:12:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7428,"nodeType":"IfStatement","src":"2232:238:9","trueBody":{"id":7427,"nodeType":"Block","src":"2250:220:9","statements":[{"expression":{"arguments":[{"hexValue":"66616c7365","id":7423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2297:5:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e205468697320776f756c642063617573652064616e6765726f7573206f76657277726974696e6720616e642063757272656e746c792069736e277420737570706f727465642e","id":7424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2324:113:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\""},"value":"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\""}],"id":7422,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2268:7:9","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2268:187:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7426,"nodeType":"ExpressionStatement","src":"2268:187:9"}]}},{"eventCall":{"arguments":[{"id":7430,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"2498:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7431,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"2503:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"arguments":[{"id":7435,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"2536:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7436,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"2541:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7433,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2519:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7434,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2519:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2519:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7432,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2509:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2509:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"baseExpression":{"id":7441,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"2564:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7443,"indexExpression":{"hexValue":"30","id":7442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2570:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2564:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2556:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7439,"name":"uint256","nodeType":"ElementaryTypeName","src":"2556:7:9","typeDescriptions":{}}},"id":7444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2556:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7429,"name":"SlotFound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7235,"src":"2488:9:9","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (address,bytes4,bytes32,uint256)"}},"id":7445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2488:86:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7446,"nodeType":"EmitStatement","src":"2483:91:9"},{"expression":{"id":7468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":7447,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"2588:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7458,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"slots","nodeType":"MemberAccess","referencedDeclaration":7205,"src":"2588:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"}},"id":7459,"indexExpression":{"id":7449,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"2599:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2588:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => uint256))"}},"id":7460,"indexExpression":{"id":7450,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"2604:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2588:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":7461,"indexExpression":{"arguments":[{"arguments":[{"id":7454,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"2637:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7455,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"2642:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7452,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2620:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2620:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2620:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7451,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2610:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2610:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2588:68:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":7464,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7378,"src":"2667:5:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7466,"indexExpression":{"hexValue":"30","id":7465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2673:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2667:8:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2659:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7462,"name":"uint256","nodeType":"ElementaryTypeName","src":"2659:7:9","typeDescriptions":{}}},"id":7467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2659:17:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2588:88:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7469,"nodeType":"ExpressionStatement","src":"2588:88:9"},{"expression":{"id":7486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":7470,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"2690:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7481,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":7213,"src":"2690:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"}},"id":7482,"indexExpression":{"id":7472,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"2701:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2690:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => bool))"}},"id":7483,"indexExpression":{"id":7473,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"2706:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2690:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":7484,"indexExpression":{"arguments":[{"arguments":[{"id":7477,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"2739:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7478,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"2744:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7475,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2722:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2722:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2722:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7474,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2712:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2712:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2690:68:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":7485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2761:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2690:75:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7487,"nodeType":"ExpressionStatement","src":"2690:75:9"}]}},{"expression":{"arguments":[{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":7671,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"4116:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7672,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":7213,"src":"4116:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"}},"id":7674,"indexExpression":{"id":7673,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"4127:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4116:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => bool))"}},"id":7676,"indexExpression":{"id":7675,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"4132:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4116:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":7684,"indexExpression":{"arguments":[{"arguments":[{"id":7680,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"4165:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7681,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"4170:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7678,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4148:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"4148:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4148:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7677,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4138:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4138:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4116:68:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a20536c6f74287329206e6f7420666f756e642e","id":7685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4198:49:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8","typeString":"literal_string \"stdStorage find(StdStorage): Slot(s) not found.\""},"value":"stdStorage find(StdStorage): Slot(s) not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8","typeString":"literal_string \"stdStorage find(StdStorage): Slot(s) not found.\""}],"id":7670,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4095:7:9","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4095:162:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7687,"nodeType":"ExpressionStatement","src":"4095:162:9"},{"expression":{"id":7690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4268:19:9","subExpression":{"expression":{"id":7688,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"4275:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7689,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":7222,"src":"4275:12:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7691,"nodeType":"ExpressionStatement","src":"4268:19:9"},{"expression":{"id":7694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4297:16:9","subExpression":{"expression":{"id":7692,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"4304:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7693,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":7218,"src":"4304:9:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7695,"nodeType":"ExpressionStatement","src":"4297:16:9"},{"expression":{"id":7698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4323:17:9","subExpression":{"expression":{"id":7696,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"4330:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7697,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":7216,"src":"4330:10:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7699,"nodeType":"ExpressionStatement","src":"4323:17:9"},{"expression":{"id":7702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4350:18:9","subExpression":{"expression":{"id":7700,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"4357:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7701,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":7220,"src":"4357:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7703,"nodeType":"ExpressionStatement","src":"4350:18:9"},{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":7704,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"4386:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7705,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"slots","nodeType":"MemberAccess","referencedDeclaration":7205,"src":"4386:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"}},"id":7707,"indexExpression":{"id":7706,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"4397:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4386:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => uint256))"}},"id":7709,"indexExpression":{"id":7708,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7291,"src":"4402:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4386:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":7717,"indexExpression":{"arguments":[{"arguments":[{"id":7713,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"4435:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":7714,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7296,"src":"4440:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":7711,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4418:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"4418:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4418:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7710,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4408:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4408:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4386:68:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7284,"id":7718,"nodeType":"Return","src":"4379:75:9"}]},"documentation":{"id":7277,"nodeType":"StructuredDocumentation","src":"756:129:9","text":"@notice find an arbitrary storage slot given a function sig, input data, address of the contract and a value to check against"},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"1273:4:9","parameters":{"id":7281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7280,"mutability":"mutable","name":"self","nameLocation":"1297:4:9","nodeType":"VariableDeclaration","scope":7720,"src":"1278:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7279,"nodeType":"UserDefinedTypeName","pathNode":{"id":7278,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"1278:10:9"},"referencedDeclaration":7225,"src":"1278:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"1277:25:9"},"returnParameters":{"id":7284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7283,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7720,"src":"1321:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7282,"name":"uint256","nodeType":"ElementaryTypeName","src":"1321:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1320:9:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7740,"nodeType":"FunctionDefinition","src":"4467:156:9","nodes":[],"body":{"id":7739,"nodeType":"Block","src":"4563:60:9","nodes":[],"statements":[{"expression":{"id":7735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":7731,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7723,"src":"4573:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7733,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":7222,"src":"4573:12:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7734,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7725,"src":"4588:7:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4573:22:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7736,"nodeType":"ExpressionStatement","src":"4573:22:9"},{"expression":{"id":7737,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7723,"src":"4612:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":7730,"id":7738,"nodeType":"Return","src":"4605:11:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"target","nameLocation":"4476:6:9","parameters":{"id":7726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7723,"mutability":"mutable","name":"self","nameLocation":"4502:4:9","nodeType":"VariableDeclaration","scope":7740,"src":"4483:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7722,"nodeType":"UserDefinedTypeName","pathNode":{"id":7721,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"4483:10:9"},"referencedDeclaration":7225,"src":"4483:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":7725,"mutability":"mutable","name":"_target","nameLocation":"4516:7:9","nodeType":"VariableDeclaration","scope":7740,"src":"4508:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7724,"name":"address","nodeType":"ElementaryTypeName","src":"4508:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4482:42:9"},"returnParameters":{"id":7730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7729,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7740,"src":"4543:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7728,"nodeType":"UserDefinedTypeName","pathNode":{"id":7727,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"4543:10:9"},"referencedDeclaration":7225,"src":"4543:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"4542:20:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7760,"nodeType":"FunctionDefinition","src":"4629:143:9","nodes":[],"body":{"id":7759,"nodeType":"Block","src":"4718:54:9","nodes":[],"statements":[{"expression":{"id":7755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":7751,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7743,"src":"4728:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7753,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":7218,"src":"4728:9:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7754,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7745,"src":"4740:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4728:16:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":7756,"nodeType":"ExpressionStatement","src":"4728:16:9"},{"expression":{"id":7757,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7743,"src":"4761:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":7750,"id":7758,"nodeType":"Return","src":"4754:11:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"4638:3:9","parameters":{"id":7746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7743,"mutability":"mutable","name":"self","nameLocation":"4661:4:9","nodeType":"VariableDeclaration","scope":7760,"src":"4642:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7742,"nodeType":"UserDefinedTypeName","pathNode":{"id":7741,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"4642:10:9"},"referencedDeclaration":7225,"src":"4642:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":7745,"mutability":"mutable","name":"_sig","nameLocation":"4674:4:9","nodeType":"VariableDeclaration","scope":7760,"src":"4667:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":7744,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4667:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"4641:38:9"},"returnParameters":{"id":7750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7749,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7760,"src":"4698:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7748,"nodeType":"UserDefinedTypeName","pathNode":{"id":7747,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"4698:10:9"},"referencedDeclaration":7225,"src":"4698:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"4697:20:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7782,"nodeType":"FunctionDefinition","src":"4778:156:9","nodes":[],"body":{"id":7781,"nodeType":"Block","src":"4874:60:9","nodes":[],"statements":[{"expression":{"id":7777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":7771,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7763,"src":"4884:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7773,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":7218,"src":"4884:9:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":7775,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7765,"src":"4901:4:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7774,"name":"sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7276,"src":"4896:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":7776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4896:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4884:22:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":7778,"nodeType":"ExpressionStatement","src":"4884:22:9"},{"expression":{"id":7779,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7763,"src":"4923:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":7770,"id":7780,"nodeType":"Return","src":"4916:11:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"4787:3:9","parameters":{"id":7766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7763,"mutability":"mutable","name":"self","nameLocation":"4810:4:9","nodeType":"VariableDeclaration","scope":7782,"src":"4791:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7762,"nodeType":"UserDefinedTypeName","pathNode":{"id":7761,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"4791:10:9"},"referencedDeclaration":7225,"src":"4791:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":7765,"mutability":"mutable","name":"_sig","nameLocation":"4830:4:9","nodeType":"VariableDeclaration","scope":7782,"src":"4816:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7764,"name":"string","nodeType":"ElementaryTypeName","src":"4816:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4790:45:9"},"returnParameters":{"id":7770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7769,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7782,"src":"4854:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7768,"nodeType":"UserDefinedTypeName","pathNode":{"id":7767,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"4854:10:9"},"referencedDeclaration":7225,"src":"4854:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"4853:20:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7813,"nodeType":"FunctionDefinition","src":"4940:179:9","nodes":[],"body":{"id":7812,"nodeType":"Block","src":"5034:85:9","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"id":7804,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7787,"src":"5084:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7803,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5076:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":7802,"name":"uint160","nodeType":"ElementaryTypeName","src":"5076:7:9","typeDescriptions":{}}},"id":7805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5076:12:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":7801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5068:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7800,"name":"uint256","nodeType":"ElementaryTypeName","src":"5068:7:9","typeDescriptions":{}}},"id":7806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5068:21:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7799,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5060:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7798,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5060:7:9","typeDescriptions":{}}},"id":7807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5060:30:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":7793,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7785,"src":"5044:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7796,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":7216,"src":"5044:10:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":7797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"5044:15:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$bound_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":7808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5044:47:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7809,"nodeType":"ExpressionStatement","src":"5044:47:9"},{"expression":{"id":7810,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7785,"src":"5108:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":7792,"id":7811,"nodeType":"Return","src":"5101:11:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"4949:8:9","parameters":{"id":7788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7785,"mutability":"mutable","name":"self","nameLocation":"4977:4:9","nodeType":"VariableDeclaration","scope":7813,"src":"4958:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7784,"nodeType":"UserDefinedTypeName","pathNode":{"id":7783,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"4958:10:9"},"referencedDeclaration":7225,"src":"4958:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":7787,"mutability":"mutable","name":"who","nameLocation":"4991:3:9","nodeType":"VariableDeclaration","scope":7813,"src":"4983:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7786,"name":"address","nodeType":"ElementaryTypeName","src":"4983:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4957:38:9"},"returnParameters":{"id":7792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7791,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7813,"src":"5014:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7790,"nodeType":"UserDefinedTypeName","pathNode":{"id":7789,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5014:10:9"},"referencedDeclaration":7225,"src":"5014:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5013:20:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7838,"nodeType":"FunctionDefinition","src":"5125:161:9","nodes":[],"body":{"id":7837,"nodeType":"Block","src":"5219:67:9","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":7831,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7818,"src":"5253:3:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7830,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5245:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7829,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5245:7:9","typeDescriptions":{}}},"id":7832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5245:12:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":7824,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7816,"src":"5229:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7827,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":7216,"src":"5229:10:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":7828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"5229:15:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$bound_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":7833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5229:29:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7834,"nodeType":"ExpressionStatement","src":"5229:29:9"},{"expression":{"id":7835,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7816,"src":"5275:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":7823,"id":7836,"nodeType":"Return","src":"5268:11:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"5134:8:9","parameters":{"id":7819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7816,"mutability":"mutable","name":"self","nameLocation":"5162:4:9","nodeType":"VariableDeclaration","scope":7838,"src":"5143:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7815,"nodeType":"UserDefinedTypeName","pathNode":{"id":7814,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5143:10:9"},"referencedDeclaration":7225,"src":"5143:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":7818,"mutability":"mutable","name":"amt","nameLocation":"5176:3:9","nodeType":"VariableDeclaration","scope":7838,"src":"5168:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7817,"name":"uint256","nodeType":"ElementaryTypeName","src":"5168:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5142:38:9"},"returnParameters":{"id":7823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7822,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7838,"src":"5199:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7821,"nodeType":"UserDefinedTypeName","pathNode":{"id":7820,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5199:10:9"},"referencedDeclaration":7225,"src":"5199:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5198:20:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7860,"nodeType":"FunctionDefinition","src":"5292:152:9","nodes":[],"body":{"id":7859,"nodeType":"Block","src":"5386:58:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7854,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7843,"src":"5412:3:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":7849,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7841,"src":"5396:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7852,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":7216,"src":"5396:10:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":7853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"5396:15:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$bound_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":7855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5396:20:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7856,"nodeType":"ExpressionStatement","src":"5396:20:9"},{"expression":{"id":7857,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7841,"src":"5433:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":7848,"id":7858,"nodeType":"Return","src":"5426:11:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"5301:8:9","parameters":{"id":7844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7841,"mutability":"mutable","name":"self","nameLocation":"5329:4:9","nodeType":"VariableDeclaration","scope":7860,"src":"5310:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7840,"nodeType":"UserDefinedTypeName","pathNode":{"id":7839,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5310:10:9"},"referencedDeclaration":7225,"src":"5310:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":7843,"mutability":"mutable","name":"key","nameLocation":"5343:3:9","nodeType":"VariableDeclaration","scope":7860,"src":"5335:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7842,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5335:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5309:38:9"},"returnParameters":{"id":7848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7847,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7860,"src":"5366:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7846,"nodeType":"UserDefinedTypeName","pathNode":{"id":7845,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5366:10:9"},"referencedDeclaration":7225,"src":"5366:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5365:20:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7880,"nodeType":"FunctionDefinition","src":"5450:152:9","nodes":[],"body":{"id":7879,"nodeType":"Block","src":"5544:58:9","nodes":[],"statements":[{"expression":{"id":7875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":7871,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7863,"src":"5554:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7873,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":7220,"src":"5554:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7874,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7865,"src":"5568:6:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5554:20:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7876,"nodeType":"ExpressionStatement","src":"5554:20:9"},{"expression":{"id":7877,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7863,"src":"5591:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":7870,"id":7878,"nodeType":"Return","src":"5584:11:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"depth","nameLocation":"5459:5:9","parameters":{"id":7866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7863,"mutability":"mutable","name":"self","nameLocation":"5484:4:9","nodeType":"VariableDeclaration","scope":7880,"src":"5465:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7862,"nodeType":"UserDefinedTypeName","pathNode":{"id":7861,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5465:10:9"},"referencedDeclaration":7225,"src":"5465:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":7865,"mutability":"mutable","name":"_depth","nameLocation":"5498:6:9","nodeType":"VariableDeclaration","scope":7880,"src":"5490:14:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7864,"name":"uint256","nodeType":"ElementaryTypeName","src":"5490:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5464:41:9"},"returnParameters":{"id":7870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7869,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7880,"src":"5524:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7868,"nodeType":"UserDefinedTypeName","pathNode":{"id":7867,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5524:10:9"},"referencedDeclaration":7225,"src":"5524:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5523:20:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7912,"nodeType":"FunctionDefinition","src":"5608:194:9","nodes":[],"body":{"id":7911,"nodeType":"Block","src":"5678:124:9","nodes":[],"statements":[{"assignments":[7889],"declarations":[{"constant":false,"id":7889,"mutability":"mutable","name":"t","nameLocation":"5696:1:9","nodeType":"VariableDeclaration","scope":7911,"src":"5688:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7888,"name":"address","nodeType":"ElementaryTypeName","src":"5688:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":7892,"initialValue":{"expression":{"id":7890,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7883,"src":"5700:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":7891,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":7222,"src":"5700:12:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5688:24:9"},{"assignments":[7894],"declarations":[{"constant":false,"id":7894,"mutability":"mutable","name":"s","nameLocation":"5730:1:9","nodeType":"VariableDeclaration","scope":7911,"src":"5722:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7893,"name":"uint256","nodeType":"ElementaryTypeName","src":"5722:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":7898,"initialValue":{"arguments":[{"id":7896,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7883,"src":"5739:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":7895,"name":"find","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7720,"src":"5734:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":7897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5734:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5722:22:9"},{"expression":{"arguments":[{"arguments":[{"id":7903,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7889,"src":"5780:1:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":7906,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7894,"src":"5791:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5783:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7904,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5783:7:9","typeDescriptions":{}}},"id":7907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5783:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7901,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"5772:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":7902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"load","nodeType":"MemberAccess","referencedDeclaration":10765,"src":"5772:7:9","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":7908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5772:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":7899,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5761:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7900,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"5761:10:9","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":7909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5761:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":7887,"id":7910,"nodeType":"Return","src":"5754:41:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read","nameLocation":"5617:4:9","parameters":{"id":7884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7883,"mutability":"mutable","name":"self","nameLocation":"5641:4:9","nodeType":"VariableDeclaration","scope":7912,"src":"5622:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7882,"nodeType":"UserDefinedTypeName","pathNode":{"id":7881,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5622:10:9"},"referencedDeclaration":7225,"src":"5622:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5621:25:9"},"returnParameters":{"id":7887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7886,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7912,"src":"5664:12:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7885,"name":"bytes","nodeType":"ElementaryTypeName","src":"5664:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5663:14:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":7931,"nodeType":"FunctionDefinition","src":"5808:131:9","nodes":[],"body":{"id":7930,"nodeType":"Block","src":"5882:57:9","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":7923,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7915,"src":"5915:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":7922,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7912,"src":"5910:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":7924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5910:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":7926,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5923:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":7925,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5923:7:9","typeDescriptions":{}}}],"id":7927,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5922:9:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}],"expression":{"id":7920,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5899:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"5899:10:9","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":7928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5899:33:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":7919,"id":7929,"nodeType":"Return","src":"5892:40:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bytes32","nameLocation":"5817:12:9","parameters":{"id":7916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7915,"mutability":"mutable","name":"self","nameLocation":"5849:4:9","nodeType":"VariableDeclaration","scope":7931,"src":"5830:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7914,"nodeType":"UserDefinedTypeName","pathNode":{"id":7913,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5830:10:9"},"referencedDeclaration":7225,"src":"5830:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5829:25:9"},"returnParameters":{"id":7919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7918,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7931,"src":"5873:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7917,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5873:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5872:9:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7962,"nodeType":"FunctionDefinition","src":"5945:279:9","nodes":[],"body":{"id":7961,"nodeType":"Block","src":"6013:211:9","nodes":[],"statements":[{"assignments":[7940],"declarations":[{"constant":false,"id":7940,"mutability":"mutable","name":"v","nameLocation":"6030:1:9","nodeType":"VariableDeclaration","scope":7961,"src":"6023:8:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7939,"name":"int256","nodeType":"ElementaryTypeName","src":"6023:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":7944,"initialValue":{"arguments":[{"id":7942,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7934,"src":"6043:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":7941,"name":"read_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8019,"src":"6034:8:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_int256_$","typeString":"function (struct StdStorage storage pointer) returns (int256)"}},"id":7943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6034:14:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"6023:25:9"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7945,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7940,"src":"6062:1:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":7946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6067:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6062:6:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7950,"nodeType":"IfStatement","src":"6058:24:9","trueBody":{"expression":{"hexValue":"66616c7365","id":7948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6077:5:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":7938,"id":7949,"nodeType":"Return","src":"6070:12:9"}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":7953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":7951,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7940,"src":"6096:1:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":7952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6101:1:9","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6096:6:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7956,"nodeType":"IfStatement","src":"6092:23:9","trueBody":{"expression":{"hexValue":"74727565","id":7954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6111:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":7938,"id":7955,"nodeType":"Return","src":"6104:11:9"}},{"expression":{"arguments":[{"hexValue":"73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f74206465636f64652e204d616b65207375726520796f75206172652072656164696e67206120626f6f6c2e","id":7958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6132:84:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\""},"value":"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\""}],"id":7957,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"6125:6:9","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":7959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6125:92:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7960,"nodeType":"ExpressionStatement","src":"6125:92:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bool","nameLocation":"5954:9:9","parameters":{"id":7935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7934,"mutability":"mutable","name":"self","nameLocation":"5983:4:9","nodeType":"VariableDeclaration","scope":7962,"src":"5964:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7933,"nodeType":"UserDefinedTypeName","pathNode":{"id":7932,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"5964:10:9"},"referencedDeclaration":7225,"src":"5964:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"5963:25:9"},"returnParameters":{"id":7938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7937,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7962,"src":"6007:4:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7936,"name":"bool","nodeType":"ElementaryTypeName","src":"6007:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6006:6:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7981,"nodeType":"FunctionDefinition","src":"6230:131:9","nodes":[],"body":{"id":7980,"nodeType":"Block","src":"6304:57:9","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":7973,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7965,"src":"6337:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":7972,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7912,"src":"6332:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":7974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6332:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":7976,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6345:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7975,"name":"address","nodeType":"ElementaryTypeName","src":"6345:7:9","typeDescriptions":{}}}],"id":7977,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6344:9:9","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":7970,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6321:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7971,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"6321:10:9","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":7978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6321:33:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":7969,"id":7979,"nodeType":"Return","src":"6314:40:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_address","nameLocation":"6239:12:9","parameters":{"id":7966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7965,"mutability":"mutable","name":"self","nameLocation":"6271:4:9","nodeType":"VariableDeclaration","scope":7981,"src":"6252:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7964,"nodeType":"UserDefinedTypeName","pathNode":{"id":7963,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"6252:10:9"},"referencedDeclaration":7225,"src":"6252:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6251:25:9"},"returnParameters":{"id":7969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7968,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7981,"src":"6295:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7967,"name":"address","nodeType":"ElementaryTypeName","src":"6295:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6294:9:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8000,"nodeType":"FunctionDefinition","src":"6367:128:9","nodes":[],"body":{"id":7999,"nodeType":"Block","src":"6438:57:9","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":7992,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7984,"src":"6471:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":7991,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7912,"src":"6466:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":7993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6466:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":7995,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6479:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7994,"name":"uint256","nodeType":"ElementaryTypeName","src":"6479:7:9","typeDescriptions":{}}}],"id":7996,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6478:9:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":7989,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6455:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"6455:10:9","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":7997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6455:33:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7988,"id":7998,"nodeType":"Return","src":"6448:40:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_uint","nameLocation":"6376:9:9","parameters":{"id":7985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7984,"mutability":"mutable","name":"self","nameLocation":"6405:4:9","nodeType":"VariableDeclaration","scope":8000,"src":"6386:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":7983,"nodeType":"UserDefinedTypeName","pathNode":{"id":7982,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"6386:10:9"},"referencedDeclaration":7225,"src":"6386:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6385:25:9"},"returnParameters":{"id":7988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7987,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8000,"src":"6429:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7986,"name":"uint256","nodeType":"ElementaryTypeName","src":"6429:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6428:9:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8019,"nodeType":"FunctionDefinition","src":"6501:125:9","nodes":[],"body":{"id":8018,"nodeType":"Block","src":"6570:56:9","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8011,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8003,"src":"6603:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8010,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7912,"src":"6598:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":8012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6598:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":8014,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6611:6:9","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":8013,"name":"int256","nodeType":"ElementaryTypeName","src":"6611:6:9","typeDescriptions":{}}}],"id":8015,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6610:8:9","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"expression":{"id":8008,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6587:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8009,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"6587:10:9","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":8016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6587:32:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":8007,"id":8017,"nodeType":"Return","src":"6580:39:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_int","nameLocation":"6510:8:9","parameters":{"id":8004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8003,"mutability":"mutable","name":"self","nameLocation":"6538:4:9","nodeType":"VariableDeclaration","scope":8019,"src":"6519:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8002,"nodeType":"UserDefinedTypeName","pathNode":{"id":8001,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"6519:10:9"},"referencedDeclaration":7225,"src":"6519:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6518:25:9"},"returnParameters":{"id":8007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8006,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8019,"src":"6562:6:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8005,"name":"int256","nodeType":"ElementaryTypeName","src":"6562:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"6561:8:9"},"scope":8117,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8075,"nodeType":"FunctionDefinition","src":"6632:304:9","nodes":[],"body":{"id":8074,"nodeType":"Block","src":"6719:217:9","nodes":[],"statements":[{"assignments":[8029],"declarations":[{"constant":false,"id":8029,"mutability":"mutable","name":"out","nameLocation":"6737:3:9","nodeType":"VariableDeclaration","scope":8074,"src":"6729:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8028,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6729:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8030,"nodeType":"VariableDeclarationStatement","src":"6729:11:9"},{"assignments":[8032],"declarations":[{"constant":false,"id":8032,"mutability":"mutable","name":"max","nameLocation":"6759:3:9","nodeType":"VariableDeclaration","scope":8074,"src":"6751:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8031,"name":"uint256","nodeType":"ElementaryTypeName","src":"6751:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8041,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8033,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8021,"src":"6765:1:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6765:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3332","id":8035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6776:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"6765:13:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":8038,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8021,"src":"6786:1:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"6786:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6765:29:9","trueExpression":{"hexValue":"3332","id":8037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6781:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6751:43:9"},{"body":{"id":8070,"nodeType":"Block","src":"6838:72:9","statements":[{"expression":{"id":8068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8052,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8029,"src":"6852:3:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":8067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":8061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":8055,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8021,"src":"6867:1:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8059,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8056,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8023,"src":"6869:6:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":8057,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8043,"src":"6878:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6869:10:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6867:13:9","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646","id":8060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6883:4:9","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xFF"},"src":"6867:20:9","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":8054,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6859:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8053,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6859:7:9","typeDescriptions":{}}},"id":8062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6859:29:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8063,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8043,"src":"6893:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"38","id":8064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6897:1:9","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"6893:5:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8066,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6892:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6859:40:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6852:47:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8069,"nodeType":"ExpressionStatement","src":"6852:47:9"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8046,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8043,"src":"6824:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":8047,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8032,"src":"6828:3:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6824:7:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8071,"initializationExpression":{"assignments":[8043],"declarations":[{"constant":false,"id":8043,"mutability":"mutable","name":"i","nameLocation":"6817:1:9","nodeType":"VariableDeclaration","scope":8071,"src":"6809:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8042,"name":"uint256","nodeType":"ElementaryTypeName","src":"6809:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8045,"initialValue":{"hexValue":"30","id":8044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6821:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6809:13:9"},"loopExpression":{"expression":{"id":8050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6833:3:9","subExpression":{"id":8049,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8043,"src":"6833:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8051,"nodeType":"ExpressionStatement","src":"6833:3:9"},"nodeType":"ForStatement","src":"6804:106:9"},{"expression":{"id":8072,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8029,"src":"6926:3:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":8027,"id":8073,"nodeType":"Return","src":"6919:10:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bytesToBytes32","nameLocation":"6641:14:9","parameters":{"id":8024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8021,"mutability":"mutable","name":"b","nameLocation":"6669:1:9","nodeType":"VariableDeclaration","scope":8075,"src":"6656:14:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8020,"name":"bytes","nodeType":"ElementaryTypeName","src":"6656:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":8023,"mutability":"mutable","name":"offset","nameLocation":"6680:6:9","nodeType":"VariableDeclaration","scope":8075,"src":"6672:14:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8022,"name":"uint256","nodeType":"ElementaryTypeName","src":"6672:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6655:32:9"},"returnParameters":{"id":8027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8026,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8075,"src":"6710:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8025,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6710:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6709:9:9"},"scope":8117,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":8116,"nodeType":"FunctionDefinition","src":"6942:393:9","nodes":[],"body":{"id":8115,"nodeType":"Block","src":"7015:320:9","nodes":[],"statements":[{"assignments":[8084],"declarations":[{"constant":false,"id":8084,"mutability":"mutable","name":"result","nameLocation":"7038:6:9","nodeType":"VariableDeclaration","scope":8115,"src":"7025:19:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8083,"name":"bytes","nodeType":"ElementaryTypeName","src":"7025:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8092,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8087,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8078,"src":"7057:1:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7057:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3332","id":8089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7068:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"7057:13:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7047:9:9","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":8085,"name":"bytes","nodeType":"ElementaryTypeName","src":"7051:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":8091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7047:24:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7025:46:9"},{"body":{"id":8111,"nodeType":"Block","src":"7120:185:9","statements":[{"assignments":[8105],"declarations":[{"constant":false,"id":8105,"mutability":"mutable","name":"k","nameLocation":"7142:1:9","nodeType":"VariableDeclaration","scope":8111,"src":"7134:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8104,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7134:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8109,"initialValue":{"baseExpression":{"id":8106,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8078,"src":"7146:1:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8108,"indexExpression":{"id":8107,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8094,"src":"7148:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7146:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7134:16:9"},{"AST":{"nodeType":"YulBlock","src":"7220:75:9","statements":[{"expression":{"arguments":[{"arguments":[{"name":"result","nodeType":"YulIdentifier","src":"7249:6:9"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7261:2:9","type":"","value":"32"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7269:2:9","type":"","value":"32"},{"name":"i","nodeType":"YulIdentifier","src":"7273:1:9"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"7265:3:9"},"nodeType":"YulFunctionCall","src":"7265:10:9"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7257:3:9"},"nodeType":"YulFunctionCall","src":"7257:19:9"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7245:3:9"},"nodeType":"YulFunctionCall","src":"7245:32:9"},{"name":"k","nodeType":"YulIdentifier","src":"7279:1:9"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7238:6:9"},"nodeType":"YulFunctionCall","src":"7238:43:9"},"nodeType":"YulExpressionStatement","src":"7238:43:9"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":8094,"isOffset":false,"isSlot":false,"src":"7273:1:9","valueSize":1},{"declaration":8105,"isOffset":false,"isSlot":false,"src":"7279:1:9","valueSize":1},{"declaration":8084,"isOffset":false,"isSlot":false,"src":"7249:6:9","valueSize":1}],"id":8110,"nodeType":"InlineAssembly","src":"7211:84:9"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8097,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8094,"src":"7101:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":8098,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8078,"src":"7105:1:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7105:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7101:12:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8112,"initializationExpression":{"assignments":[8094],"declarations":[{"constant":false,"id":8094,"mutability":"mutable","name":"i","nameLocation":"7094:1:9","nodeType":"VariableDeclaration","scope":8112,"src":"7086:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8093,"name":"uint256","nodeType":"ElementaryTypeName","src":"7086:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8096,"initialValue":{"hexValue":"30","id":8095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7098:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7086:13:9"},"loopExpression":{"expression":{"id":8102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"7115:3:9","subExpression":{"id":8101,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8094,"src":"7115:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8103,"nodeType":"ExpressionStatement","src":"7115:3:9"},"nodeType":"ForStatement","src":"7081:224:9"},{"expression":{"id":8113,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8084,"src":"7322:6:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":8082,"id":8114,"nodeType":"Return","src":"7315:13:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"flatten","nameLocation":"6951:7:9","parameters":{"id":8079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8078,"mutability":"mutable","name":"b","nameLocation":"6976:1:9","nodeType":"VariableDeclaration","scope":8116,"src":"6959:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":8076,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6959:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8077,"nodeType":"ArrayTypeName","src":"6959:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"6958:20:9"},"returnParameters":{"id":8082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8081,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8116,"src":"7001:12:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8080,"name":"bytes","nodeType":"ElementaryTypeName","src":"7001:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7000:14:9"},"scope":8117,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"stdStorageSafe","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[8117],"name":"stdStorageSafe","nameLocation":"376:14:9","scope":8659,"usedErrors":[]},{"id":8658,"nodeType":"ContractDefinition","src":"7339:4527:9","nodes":[{"id":8134,"nodeType":"VariableDeclaration","src":"7364:84:9","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"7384:2:9","scope":8658,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"},"typeName":{"id":8119,"nodeType":"UserDefinedTypeName","pathNode":{"id":8118,"name":"Vm","nodeType":"IdentifierPath","referencedDeclaration":12037,"src":"7364:2:9"},"referencedDeclaration":12037,"src":"7364:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":8128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7426:17:9","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":8127,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7416:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7416:28:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7408:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8125,"name":"uint256","nodeType":"ElementaryTypeName","src":"7408:7:9","typeDescriptions":{}}},"id":8130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7408:37:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7400:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":8123,"name":"uint160","nodeType":"ElementaryTypeName","src":"7400:7:9","typeDescriptions":{}}},"id":8131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7400:46:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":8122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7392:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8121,"name":"address","nodeType":"ElementaryTypeName","src":"7392:7:9","typeDescriptions":{}}},"id":8132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7392:55:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8120,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"7389:2:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"id":8133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7389:59:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"visibility":"private"},{"id":8147,"nodeType":"FunctionDefinition","src":"7455:118:9","nodes":[],"body":{"id":8146,"nodeType":"Block","src":"7522:51:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8143,"name":"sigStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8136,"src":"7559:6:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8141,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"7539:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sigs","nodeType":"MemberAccess","referencedDeclaration":7276,"src":"7539:19:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":8144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7539:27:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":8140,"id":8145,"nodeType":"Return","src":"7532:34:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sigs","nameLocation":"7464:4:9","parameters":{"id":8137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8136,"mutability":"mutable","name":"sigStr","nameLocation":"7483:6:9","nodeType":"VariableDeclaration","scope":8147,"src":"7469:20:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8135,"name":"string","nodeType":"ElementaryTypeName","src":"7469:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7468:22:9"},"returnParameters":{"id":8140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8139,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8147,"src":"7514:6:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8138,"name":"bytes4","nodeType":"ElementaryTypeName","src":"7514:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"7513:8:9"},"scope":8658,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8161,"nodeType":"FunctionDefinition","src":"7579:115:9","nodes":[],"body":{"id":8160,"nodeType":"Block","src":"7645:49:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8157,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8150,"src":"7682:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":8155,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"7662:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"find","nodeType":"MemberAccess","referencedDeclaration":7720,"src":"7662:19:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":8158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7662:25:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8154,"id":8159,"nodeType":"Return","src":"7655:32:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"7588:4:9","parameters":{"id":8151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8150,"mutability":"mutable","name":"self","nameLocation":"7612:4:9","nodeType":"VariableDeclaration","scope":8161,"src":"7593:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8149,"nodeType":"UserDefinedTypeName","pathNode":{"id":8148,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"7593:10:9"},"referencedDeclaration":7225,"src":"7593:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7592:25:9"},"returnParameters":{"id":8154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8161,"src":"7636:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8152,"name":"uint256","nodeType":"ElementaryTypeName","src":"7636:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7635:9:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8179,"nodeType":"FunctionDefinition","src":"7700:156:9","nodes":[],"body":{"id":8178,"nodeType":"Block","src":"7796:60:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8174,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8164,"src":"7835:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8175,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8166,"src":"7841:7:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8172,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"7813:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":7740,"src":"7813:21:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":8176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7813:36:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8171,"id":8177,"nodeType":"Return","src":"7806:43:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"target","nameLocation":"7709:6:9","parameters":{"id":8167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8164,"mutability":"mutable","name":"self","nameLocation":"7735:4:9","nodeType":"VariableDeclaration","scope":8179,"src":"7716:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8163,"nodeType":"UserDefinedTypeName","pathNode":{"id":8162,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"7716:10:9"},"referencedDeclaration":7225,"src":"7716:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8166,"mutability":"mutable","name":"_target","nameLocation":"7749:7:9","nodeType":"VariableDeclaration","scope":8179,"src":"7741:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8165,"name":"address","nodeType":"ElementaryTypeName","src":"7741:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7715:42:9"},"returnParameters":{"id":8171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8170,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8179,"src":"7776:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8169,"nodeType":"UserDefinedTypeName","pathNode":{"id":8168,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"7776:10:9"},"referencedDeclaration":7225,"src":"7776:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7775:20:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8197,"nodeType":"FunctionDefinition","src":"7862:143:9","nodes":[],"body":{"id":8196,"nodeType":"Block","src":"7951:54:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8192,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8182,"src":"7987:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8193,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8184,"src":"7993:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":8190,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"7968:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":7760,"src":"7968:18:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":8194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7968:30:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8189,"id":8195,"nodeType":"Return","src":"7961:37:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"7871:3:9","parameters":{"id":8185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8182,"mutability":"mutable","name":"self","nameLocation":"7894:4:9","nodeType":"VariableDeclaration","scope":8197,"src":"7875:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8181,"nodeType":"UserDefinedTypeName","pathNode":{"id":8180,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"7875:10:9"},"referencedDeclaration":7225,"src":"7875:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8184,"mutability":"mutable","name":"_sig","nameLocation":"7907:4:9","nodeType":"VariableDeclaration","scope":8197,"src":"7900:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8183,"name":"bytes4","nodeType":"ElementaryTypeName","src":"7900:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"7874:38:9"},"returnParameters":{"id":8189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8188,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8197,"src":"7931:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8187,"nodeType":"UserDefinedTypeName","pathNode":{"id":8186,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"7931:10:9"},"referencedDeclaration":7225,"src":"7931:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7930:20:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8215,"nodeType":"FunctionDefinition","src":"8011:150:9","nodes":[],"body":{"id":8214,"nodeType":"Block","src":"8107:54:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8210,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8200,"src":"8143:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8211,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8202,"src":"8149:4:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":8208,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"8124:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":7782,"src":"8124:18:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_string_memory_ptr_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,string memory) returns (struct StdStorage storage pointer)"}},"id":8212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8124:30:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8207,"id":8213,"nodeType":"Return","src":"8117:37:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"8020:3:9","parameters":{"id":8203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8200,"mutability":"mutable","name":"self","nameLocation":"8043:4:9","nodeType":"VariableDeclaration","scope":8215,"src":"8024:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8199,"nodeType":"UserDefinedTypeName","pathNode":{"id":8198,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8024:10:9"},"referencedDeclaration":7225,"src":"8024:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8202,"mutability":"mutable","name":"_sig","nameLocation":"8063:4:9","nodeType":"VariableDeclaration","scope":8215,"src":"8049:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8201,"name":"string","nodeType":"ElementaryTypeName","src":"8049:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8023:45:9"},"returnParameters":{"id":8207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8206,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8215,"src":"8087:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8205,"nodeType":"UserDefinedTypeName","pathNode":{"id":8204,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8087:10:9"},"referencedDeclaration":7225,"src":"8087:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8086:20:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8233,"nodeType":"FunctionDefinition","src":"8167:152:9","nodes":[],"body":{"id":8232,"nodeType":"Block","src":"8261:58:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8228,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8218,"src":"8302:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8229,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8220,"src":"8308:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8226,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"8278:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":7813,"src":"8278:23:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":8230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8278:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8225,"id":8231,"nodeType":"Return","src":"8271:41:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"8176:8:9","parameters":{"id":8221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8218,"mutability":"mutable","name":"self","nameLocation":"8204:4:9","nodeType":"VariableDeclaration","scope":8233,"src":"8185:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8217,"nodeType":"UserDefinedTypeName","pathNode":{"id":8216,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8185:10:9"},"referencedDeclaration":7225,"src":"8185:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8220,"mutability":"mutable","name":"who","nameLocation":"8218:3:9","nodeType":"VariableDeclaration","scope":8233,"src":"8210:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8219,"name":"address","nodeType":"ElementaryTypeName","src":"8210:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8184:38:9"},"returnParameters":{"id":8225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8224,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8233,"src":"8241:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8223,"nodeType":"UserDefinedTypeName","pathNode":{"id":8222,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8241:10:9"},"referencedDeclaration":7225,"src":"8241:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8240:20:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8251,"nodeType":"FunctionDefinition","src":"8325:152:9","nodes":[],"body":{"id":8250,"nodeType":"Block","src":"8419:58:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8246,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8236,"src":"8460:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8247,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8238,"src":"8466:3:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8244,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"8436:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":7838,"src":"8436:23:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":8248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8436:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8243,"id":8249,"nodeType":"Return","src":"8429:41:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"8334:8:9","parameters":{"id":8239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8236,"mutability":"mutable","name":"self","nameLocation":"8362:4:9","nodeType":"VariableDeclaration","scope":8251,"src":"8343:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8235,"nodeType":"UserDefinedTypeName","pathNode":{"id":8234,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8343:10:9"},"referencedDeclaration":7225,"src":"8343:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8238,"mutability":"mutable","name":"amt","nameLocation":"8376:3:9","nodeType":"VariableDeclaration","scope":8251,"src":"8368:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8237,"name":"uint256","nodeType":"ElementaryTypeName","src":"8368:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8342:38:9"},"returnParameters":{"id":8243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8242,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8251,"src":"8399:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8241,"nodeType":"UserDefinedTypeName","pathNode":{"id":8240,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8399:10:9"},"referencedDeclaration":7225,"src":"8399:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8398:20:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8269,"nodeType":"FunctionDefinition","src":"8483:152:9","nodes":[],"body":{"id":8268,"nodeType":"Block","src":"8577:58:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8264,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8254,"src":"8618:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8265,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8256,"src":"8624:3:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8262,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"8594:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":7860,"src":"8594:23:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes32_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes32) returns (struct StdStorage storage pointer)"}},"id":8266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8594:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8261,"id":8267,"nodeType":"Return","src":"8587:41:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"8492:8:9","parameters":{"id":8257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8254,"mutability":"mutable","name":"self","nameLocation":"8520:4:9","nodeType":"VariableDeclaration","scope":8269,"src":"8501:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8253,"nodeType":"UserDefinedTypeName","pathNode":{"id":8252,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8501:10:9"},"referencedDeclaration":7225,"src":"8501:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8256,"mutability":"mutable","name":"key","nameLocation":"8534:3:9","nodeType":"VariableDeclaration","scope":8269,"src":"8526:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8255,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8526:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8500:38:9"},"returnParameters":{"id":8261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8260,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8269,"src":"8557:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8259,"nodeType":"UserDefinedTypeName","pathNode":{"id":8258,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8557:10:9"},"referencedDeclaration":7225,"src":"8557:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8556:20:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8287,"nodeType":"FunctionDefinition","src":"8641:152:9","nodes":[],"body":{"id":8286,"nodeType":"Block","src":"8735:58:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8282,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8272,"src":"8773:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8283,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8274,"src":"8779:6:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8280,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"8752:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"depth","nodeType":"MemberAccess","referencedDeclaration":7880,"src":"8752:20:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":8284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8752:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":8279,"id":8285,"nodeType":"Return","src":"8745:41:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"depth","nameLocation":"8650:5:9","parameters":{"id":8275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8272,"mutability":"mutable","name":"self","nameLocation":"8675:4:9","nodeType":"VariableDeclaration","scope":8287,"src":"8656:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8271,"nodeType":"UserDefinedTypeName","pathNode":{"id":8270,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8656:10:9"},"referencedDeclaration":7225,"src":"8656:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8274,"mutability":"mutable","name":"_depth","nameLocation":"8689:6:9","nodeType":"VariableDeclaration","scope":8287,"src":"8681:14:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8273,"name":"uint256","nodeType":"ElementaryTypeName","src":"8681:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8655:41:9"},"returnParameters":{"id":8279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8278,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8287,"src":"8715:18:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8277,"nodeType":"UserDefinedTypeName","pathNode":{"id":8276,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8715:10:9"},"referencedDeclaration":7225,"src":"8715:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8714:20:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8310,"nodeType":"FunctionDefinition","src":"8799:138:9","nodes":[],"body":{"id":8309,"nodeType":"Block","src":"8869:68:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8296,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8290,"src":"8893:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"arguments":[{"arguments":[{"id":8303,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8292,"src":"8923:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8915:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":8301,"name":"uint160","nodeType":"ElementaryTypeName","src":"8915:7:9","typeDescriptions":{}}},"id":8304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8915:12:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":8300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8907:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8299,"name":"uint256","nodeType":"ElementaryTypeName","src":"8907:7:9","typeDescriptions":{}}},"id":8305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8907:21:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8899:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8297,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8899:7:9","typeDescriptions":{}}},"id":8306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8899:30:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8295,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[8310,8327,8345,8490],"referencedDeclaration":8490,"src":"8879:13:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":8307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8879:51:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8308,"nodeType":"ExpressionStatement","src":"8879:51:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"8808:13:9","parameters":{"id":8293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8290,"mutability":"mutable","name":"self","nameLocation":"8841:4:9","nodeType":"VariableDeclaration","scope":8310,"src":"8822:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8289,"nodeType":"UserDefinedTypeName","pathNode":{"id":8288,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8822:10:9"},"referencedDeclaration":7225,"src":"8822:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8292,"mutability":"mutable","name":"who","nameLocation":"8855:3:9","nodeType":"VariableDeclaration","scope":8310,"src":"8847:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8291,"name":"address","nodeType":"ElementaryTypeName","src":"8847:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8821:38:9"},"returnParameters":{"id":8294,"nodeType":"ParameterList","parameters":[],"src":"8869:0:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8327,"nodeType":"FunctionDefinition","src":"8943:120:9","nodes":[],"body":{"id":8326,"nodeType":"Block","src":"9013:50:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8319,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8313,"src":"9037:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"id":8322,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8315,"src":"9051:3:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8321,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9043:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8320,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9043:7:9","typeDescriptions":{}}},"id":8323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9043:12:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8318,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[8310,8327,8345,8490],"referencedDeclaration":8490,"src":"9023:13:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":8324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9023:33:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8325,"nodeType":"ExpressionStatement","src":"9023:33:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"8952:13:9","parameters":{"id":8316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8313,"mutability":"mutable","name":"self","nameLocation":"8985:4:9","nodeType":"VariableDeclaration","scope":8327,"src":"8966:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8312,"nodeType":"UserDefinedTypeName","pathNode":{"id":8311,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"8966:10:9"},"referencedDeclaration":7225,"src":"8966:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8315,"mutability":"mutable","name":"amt","nameLocation":"8999:3:9","nodeType":"VariableDeclaration","scope":8327,"src":"8991:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8314,"name":"uint256","nodeType":"ElementaryTypeName","src":"8991:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8965:38:9"},"returnParameters":{"id":8317,"nodeType":"ParameterList","parameters":[],"src":"9013:0:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8345,"nodeType":"FunctionDefinition","src":"9069:222:9","nodes":[],"body":{"id":8344,"nodeType":"Block","src":"9138:153:9","nodes":[],"statements":[{"assignments":[8336],"declarations":[{"constant":false,"id":8336,"mutability":"mutable","name":"t","nameLocation":"9156:1:9","nodeType":"VariableDeclaration","scope":8344,"src":"9148:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8335,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9148:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8337,"nodeType":"VariableDeclarationStatement","src":"9148:9:9"},{"AST":{"nodeType":"YulBlock","src":"9219:34:9","statements":[{"nodeType":"YulAssignment","src":"9233:10:9","value":{"name":"write","nodeType":"YulIdentifier","src":"9238:5:9"},"variableNames":[{"name":"t","nodeType":"YulIdentifier","src":"9233:1:9"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":8336,"isOffset":false,"isSlot":false,"src":"9233:1:9","valueSize":1},{"declaration":8332,"isOffset":false,"isSlot":false,"src":"9238:5:9","valueSize":1}],"id":8338,"nodeType":"InlineAssembly","src":"9210:43:9"},{"expression":{"arguments":[{"id":8340,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8330,"src":"9276:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8341,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8336,"src":"9282:1:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8339,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[8310,8327,8345,8490],"referencedDeclaration":8490,"src":"9262:13:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":8342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9262:22:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8343,"nodeType":"ExpressionStatement","src":"9262:22:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"9078:13:9","parameters":{"id":8333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8330,"mutability":"mutable","name":"self","nameLocation":"9111:4:9","nodeType":"VariableDeclaration","scope":8345,"src":"9092:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8329,"nodeType":"UserDefinedTypeName","pathNode":{"id":8328,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"9092:10:9"},"referencedDeclaration":7225,"src":"9092:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8332,"mutability":"mutable","name":"write","nameLocation":"9122:5:9","nodeType":"VariableDeclaration","scope":8345,"src":"9117:10:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8331,"name":"bool","nodeType":"ElementaryTypeName","src":"9117:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9091:37:9"},"returnParameters":{"id":8334,"nodeType":"ParameterList","parameters":[],"src":"9138:0:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8490,"nodeType":"FunctionDefinition","src":"9297:1095:9","nodes":[],"body":{"id":8489,"nodeType":"Block","src":"9367:1025:9","nodes":[],"statements":[{"assignments":[8354],"declarations":[{"constant":false,"id":8354,"mutability":"mutable","name":"who","nameLocation":"9385:3:9","nodeType":"VariableDeclaration","scope":8489,"src":"9377:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8353,"name":"address","nodeType":"ElementaryTypeName","src":"9377:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":8357,"initialValue":{"expression":{"id":8355,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"9391:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8356,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":7222,"src":"9391:12:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"9377:26:9"},{"assignments":[8359],"declarations":[{"constant":false,"id":8359,"mutability":"mutable","name":"fsig","nameLocation":"9420:4:9","nodeType":"VariableDeclaration","scope":8489,"src":"9413:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8358,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9413:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":8362,"initialValue":{"expression":{"id":8360,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"9427:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8361,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":7218,"src":"9427:9:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"9413:23:9"},{"assignments":[8364],"declarations":[{"constant":false,"id":8364,"mutability":"mutable","name":"field_depth","nameLocation":"9454:11:9","nodeType":"VariableDeclaration","scope":8489,"src":"9446:19:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8363,"name":"uint256","nodeType":"ElementaryTypeName","src":"9446:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8367,"initialValue":{"expression":{"id":8365,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"9468:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8366,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":7220,"src":"9468:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9446:33:9"},{"assignments":[8372],"declarations":[{"constant":false,"id":8372,"mutability":"mutable","name":"ins","nameLocation":"9506:3:9","nodeType":"VariableDeclaration","scope":8489,"src":"9489:20:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":8370,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9489:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8371,"nodeType":"ArrayTypeName","src":"9489:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"id":8375,"initialValue":{"expression":{"id":8373,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"9512:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":7216,"src":"9512:10:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"9489:33:9"},{"assignments":[8377],"declarations":[{"constant":false,"id":8377,"mutability":"mutable","name":"cald","nameLocation":"9546:4:9","nodeType":"VariableDeclaration","scope":8489,"src":"9533:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8376,"name":"bytes","nodeType":"ElementaryTypeName","src":"9533:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8385,"initialValue":{"arguments":[{"id":8380,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8359,"src":"9570:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":8382,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8372,"src":"9584:3:9","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"}],"id":8381,"name":"flatten","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8657,"src":"9576:7:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory) pure returns (bytes memory)"}},"id":8383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9576:12:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":8378,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9553:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"9553:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9553:36:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9533:56:9"},{"condition":{"id":8400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9603:69:9","subExpression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":8386,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"9604:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":7213,"src":"9604:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => bool)))"}},"id":8389,"indexExpression":{"id":8388,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8354,"src":"9615:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9604:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => bool))"}},"id":8391,"indexExpression":{"id":8390,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8359,"src":"9620:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9604:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":8399,"indexExpression":{"arguments":[{"arguments":[{"id":8395,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8372,"src":"9653:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":8396,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8364,"src":"9658:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8393,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9636:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"9636:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9636:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8392,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"9626:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9626:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9604:68:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8406,"nodeType":"IfStatement","src":"9599:110:9","trueBody":{"id":8405,"nodeType":"Block","src":"9674:35:9","statements":[{"expression":{"arguments":[{"id":8402,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"9693:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8401,"name":"find","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8161,"src":"9688:4:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":8403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9688:10:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8404,"nodeType":"ExpressionStatement","src":"9688:10:9"}]}},{"assignments":[8408],"declarations":[{"constant":false,"id":8408,"mutability":"mutable","name":"slot","nameLocation":"9726:4:9","nodeType":"VariableDeclaration","scope":8489,"src":"9718:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8407,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9718:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8426,"initialValue":{"arguments":[{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":8411,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"9741:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8412,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"slots","nodeType":"MemberAccess","referencedDeclaration":7205,"src":"9741:10:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => uint256)))"}},"id":8414,"indexExpression":{"id":8413,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8354,"src":"9752:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9741:15:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_uint256_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => uint256))"}},"id":8416,"indexExpression":{"id":8415,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8359,"src":"9757:4:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9741:21:9","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":8424,"indexExpression":{"arguments":[{"arguments":[{"id":8420,"name":"ins","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8372,"src":"9790:3:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":8421,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8364,"src":"9795:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8418,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9773:3:9","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"9773:16:9","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9773:34:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8417,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"9763:9:9","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9763:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9741:68:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9733:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8409,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9733:7:9","typeDescriptions":{}}},"id":8425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9733:77:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9718:92:9"},{"assignments":[8428],"declarations":[{"constant":false,"id":8428,"mutability":"mutable","name":"fdat","nameLocation":"9829:4:9","nodeType":"VariableDeclaration","scope":8489,"src":"9821:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8427,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9821:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8429,"nodeType":"VariableDeclarationStatement","src":"9821:12:9"},{"id":8446,"nodeType":"Block","src":"9843:128:9","statements":[{"assignments":[null,8431],"declarations":[null,{"constant":false,"id":8431,"mutability":"mutable","name":"rdat","nameLocation":"9873:4:9","nodeType":"VariableDeclaration","scope":8446,"src":"9860:17:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8430,"name":"bytes","nodeType":"ElementaryTypeName","src":"9860:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8436,"initialValue":{"arguments":[{"id":8434,"name":"cald","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8377,"src":"9896:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":8432,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8354,"src":"9881:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":8433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"staticcall","nodeType":"MemberAccess","src":"9881:14:9","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":8435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9881:20:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"9857:44:9"},{"expression":{"id":8444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8437,"name":"fdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8428,"src":"9915:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":8439,"name":"rdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8431,"src":"9937:4:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":8440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9943:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":8441,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8364,"src":"9948:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9943:16:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8438,"name":"bytesToBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8616,"src":"9922:14:9","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":8443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9922:38:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9915:45:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8445,"nodeType":"ExpressionStatement","src":"9915:45:9"}]},{"assignments":[8448],"declarations":[{"constant":false,"id":8448,"mutability":"mutable","name":"curr","nameLocation":"9988:4:9","nodeType":"VariableDeclaration","scope":8489,"src":"9980:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8447,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9980:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8454,"initialValue":{"arguments":[{"id":8451,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8354,"src":"10003:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8452,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8408,"src":"10008:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8449,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8134,"src":"9995:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"load","nodeType":"MemberAccess","referencedDeclaration":10765,"src":"9995:7:9","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":8453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9995:18:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9980:33:9"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":8457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8455,"name":"fdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8428,"src":"10028:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8456,"name":"curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8448,"src":"10036:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10028:12:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8464,"nodeType":"IfStatement","src":"10024:218:9","trueBody":{"id":8463,"nodeType":"Block","src":"10042:200:9","statements":[{"expression":{"arguments":[{"hexValue":"66616c7365","id":8459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10081:5:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e205468697320776f756c642063617573652064616e6765726f7573206f76657277726974696e6720616e642063757272656e746c792069736e277420737570706f727465642e","id":8460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10104:113:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\""},"value":"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4bfa78e02b745efea2b29d358f6dc28382f5209b1d2b2dbeb8ef0862e74440b3","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. This would cause dangerous overwriting and currently isn't supported.\""}],"id":8458,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10056:7:9","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10056:175:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8462,"nodeType":"ExpressionStatement","src":"10056:175:9"}]}},{"expression":{"arguments":[{"id":8468,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8354,"src":"10260:3:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8469,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8408,"src":"10265:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":8470,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8350,"src":"10271:3:9","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":8465,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8134,"src":"10251:2:9","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"store","nodeType":"MemberAccess","referencedDeclaration":11726,"src":"10251:8:9","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":8471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10251:24:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8472,"nodeType":"ExpressionStatement","src":"10251:24:9"},{"expression":{"id":8475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10285:19:9","subExpression":{"expression":{"id":8473,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"10292:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8474,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":7222,"src":"10292:12:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8476,"nodeType":"ExpressionStatement","src":"10285:19:9"},{"expression":{"id":8479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10314:16:9","subExpression":{"expression":{"id":8477,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"10321:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":7218,"src":"10321:9:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8480,"nodeType":"ExpressionStatement","src":"10314:16:9"},{"expression":{"id":8483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10340:17:9","subExpression":{"expression":{"id":8481,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"10347:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8482,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":7216,"src":"10347:10:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8484,"nodeType":"ExpressionStatement","src":"10340:17:9"},{"expression":{"id":8487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10367:18:9","subExpression":{"expression":{"id":8485,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8348,"src":"10374:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":7220,"src":"10374:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8488,"nodeType":"ExpressionStatement","src":"10367:18:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"9306:13:9","parameters":{"id":8351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8348,"mutability":"mutable","name":"self","nameLocation":"9339:4:9","nodeType":"VariableDeclaration","scope":8490,"src":"9320:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8347,"nodeType":"UserDefinedTypeName","pathNode":{"id":8346,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"9320:10:9"},"referencedDeclaration":7225,"src":"9320:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8350,"mutability":"mutable","name":"set","nameLocation":"9353:3:9","nodeType":"VariableDeclaration","scope":8490,"src":"9345:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8349,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9345:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9319:38:9"},"returnParameters":{"id":8352,"nodeType":"ParameterList","parameters":[],"src":"9367:0:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8504,"nodeType":"FunctionDefinition","src":"10398:131:9","nodes":[],"body":{"id":8503,"nodeType":"Block","src":"10472:57:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8500,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8493,"src":"10517:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":8498,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"10489:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"read_bytes32","nodeType":"MemberAccess","referencedDeclaration":7931,"src":"10489:27:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) returns (bytes32)"}},"id":8501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10489:33:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":8497,"id":8502,"nodeType":"Return","src":"10482:40:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bytes32","nameLocation":"10407:12:9","parameters":{"id":8494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8493,"mutability":"mutable","name":"self","nameLocation":"10439:4:9","nodeType":"VariableDeclaration","scope":8504,"src":"10420:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8492,"nodeType":"UserDefinedTypeName","pathNode":{"id":8491,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"10420:10:9"},"referencedDeclaration":7225,"src":"10420:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10419:25:9"},"returnParameters":{"id":8497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8496,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8504,"src":"10463:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8495,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10463:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10462:9:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8518,"nodeType":"FunctionDefinition","src":"10535:122:9","nodes":[],"body":{"id":8517,"nodeType":"Block","src":"10603:54:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8514,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8507,"src":"10645:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":8512,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"10620:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"read_bool","nodeType":"MemberAccess","referencedDeclaration":7962,"src":"10620:24:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_bool_$","typeString":"function (struct StdStorage storage pointer) returns (bool)"}},"id":8515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10620:30:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":8511,"id":8516,"nodeType":"Return","src":"10613:37:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bool","nameLocation":"10544:9:9","parameters":{"id":8508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8507,"mutability":"mutable","name":"self","nameLocation":"10573:4:9","nodeType":"VariableDeclaration","scope":8518,"src":"10554:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8506,"nodeType":"UserDefinedTypeName","pathNode":{"id":8505,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"10554:10:9"},"referencedDeclaration":7225,"src":"10554:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10553:25:9"},"returnParameters":{"id":8511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8510,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8518,"src":"10597:4:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8509,"name":"bool","nodeType":"ElementaryTypeName","src":"10597:4:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10596:6:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8532,"nodeType":"FunctionDefinition","src":"10663:131:9","nodes":[],"body":{"id":8531,"nodeType":"Block","src":"10737:57:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8528,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8521,"src":"10782:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":8526,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"10754:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"read_address","nodeType":"MemberAccess","referencedDeclaration":7981,"src":"10754:27:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_address_$","typeString":"function (struct StdStorage storage pointer) returns (address)"}},"id":8529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10754:33:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":8525,"id":8530,"nodeType":"Return","src":"10747:40:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_address","nameLocation":"10672:12:9","parameters":{"id":8522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8521,"mutability":"mutable","name":"self","nameLocation":"10704:4:9","nodeType":"VariableDeclaration","scope":8532,"src":"10685:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8520,"nodeType":"UserDefinedTypeName","pathNode":{"id":8519,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"10685:10:9"},"referencedDeclaration":7225,"src":"10685:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10684:25:9"},"returnParameters":{"id":8525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8524,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8532,"src":"10728:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8523,"name":"address","nodeType":"ElementaryTypeName","src":"10728:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10727:9:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8546,"nodeType":"FunctionDefinition","src":"10800:125:9","nodes":[],"body":{"id":8545,"nodeType":"Block","src":"10871:54:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8542,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8535,"src":"10913:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":8540,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"10888:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"read_uint","nodeType":"MemberAccess","referencedDeclaration":8000,"src":"10888:24:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":8543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10888:30:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8539,"id":8544,"nodeType":"Return","src":"10881:37:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_uint","nameLocation":"10809:9:9","parameters":{"id":8536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8535,"mutability":"mutable","name":"self","nameLocation":"10838:4:9","nodeType":"VariableDeclaration","scope":8546,"src":"10819:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8534,"nodeType":"UserDefinedTypeName","pathNode":{"id":8533,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"10819:10:9"},"referencedDeclaration":7225,"src":"10819:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10818:25:9"},"returnParameters":{"id":8539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8538,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8546,"src":"10862:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8537,"name":"uint256","nodeType":"ElementaryTypeName","src":"10862:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10861:9:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8560,"nodeType":"FunctionDefinition","src":"10931:122:9","nodes":[],"body":{"id":8559,"nodeType":"Block","src":"11000:53:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":8556,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8549,"src":"11041:4:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":8554,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8117,"src":"11017:14:9","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$8117_$","typeString":"type(library stdStorageSafe)"}},"id":8555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"read_int","nodeType":"MemberAccess","referencedDeclaration":8019,"src":"11017:23:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$7225_storage_ptr_$returns$_t_int256_$","typeString":"function (struct StdStorage storage pointer) returns (int256)"}},"id":8557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11017:29:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":8553,"id":8558,"nodeType":"Return","src":"11010:36:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_int","nameLocation":"10940:8:9","parameters":{"id":8550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8549,"mutability":"mutable","name":"self","nameLocation":"10968:4:9","nodeType":"VariableDeclaration","scope":8560,"src":"10949:23:9","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8548,"nodeType":"UserDefinedTypeName","pathNode":{"id":8547,"name":"StdStorage","nodeType":"IdentifierPath","referencedDeclaration":7225,"src":"10949:10:9"},"referencedDeclaration":7225,"src":"10949:10:9","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$7225_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10948:25:9"},"returnParameters":{"id":8553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8552,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8560,"src":"10992:6:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8551,"name":"int256","nodeType":"ElementaryTypeName","src":"10992:6:9","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"10991:8:9"},"scope":8658,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8616,"nodeType":"FunctionDefinition","src":"11110:304:9","nodes":[],"body":{"id":8615,"nodeType":"Block","src":"11197:217:9","nodes":[],"statements":[{"assignments":[8570],"declarations":[{"constant":false,"id":8570,"mutability":"mutable","name":"out","nameLocation":"11215:3:9","nodeType":"VariableDeclaration","scope":8615,"src":"11207:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8569,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11207:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8571,"nodeType":"VariableDeclarationStatement","src":"11207:11:9"},{"assignments":[8573],"declarations":[{"constant":false,"id":8573,"mutability":"mutable","name":"max","nameLocation":"11237:3:9","nodeType":"VariableDeclaration","scope":8615,"src":"11229:11:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8572,"name":"uint256","nodeType":"ElementaryTypeName","src":"11229:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8582,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8574,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8562,"src":"11243:1:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11243:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3332","id":8576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11254:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11243:13:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":8579,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8562,"src":"11264:1:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11264:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11243:29:9","trueExpression":{"hexValue":"3332","id":8578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11259:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11229:43:9"},{"body":{"id":8611,"nodeType":"Block","src":"11316:72:9","statements":[{"expression":{"id":8609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":8593,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8570,"src":"11330:3:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":8608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":8602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":8596,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8562,"src":"11345:1:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8600,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8597,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8564,"src":"11347:6:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":8598,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8584,"src":"11356:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11347:10:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11345:13:9","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646","id":8601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11361:4:9","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xFF"},"src":"11345:20:9","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":8595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11337:7:9","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8594,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11337:7:9","typeDescriptions":{}}},"id":8603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11337:29:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8604,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8584,"src":"11371:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"38","id":8605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11375:1:9","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"11371:5:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8607,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11370:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11337:40:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11330:47:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8610,"nodeType":"ExpressionStatement","src":"11330:47:9"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8587,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8584,"src":"11302:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":8588,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8573,"src":"11306:3:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11302:7:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8612,"initializationExpression":{"assignments":[8584],"declarations":[{"constant":false,"id":8584,"mutability":"mutable","name":"i","nameLocation":"11295:1:9","nodeType":"VariableDeclaration","scope":8612,"src":"11287:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8583,"name":"uint256","nodeType":"ElementaryTypeName","src":"11287:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8586,"initialValue":{"hexValue":"30","id":8585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11299:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11287:13:9"},"loopExpression":{"expression":{"id":8591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11311:3:9","subExpression":{"id":8590,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8584,"src":"11311:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8592,"nodeType":"ExpressionStatement","src":"11311:3:9"},"nodeType":"ForStatement","src":"11282:106:9"},{"expression":{"id":8613,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8570,"src":"11404:3:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":8568,"id":8614,"nodeType":"Return","src":"11397:10:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bytesToBytes32","nameLocation":"11119:14:9","parameters":{"id":8565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8562,"mutability":"mutable","name":"b","nameLocation":"11147:1:9","nodeType":"VariableDeclaration","scope":8616,"src":"11134:14:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8561,"name":"bytes","nodeType":"ElementaryTypeName","src":"11134:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":8564,"mutability":"mutable","name":"offset","nameLocation":"11158:6:9","nodeType":"VariableDeclaration","scope":8616,"src":"11150:14:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8563,"name":"uint256","nodeType":"ElementaryTypeName","src":"11150:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11133:32:9"},"returnParameters":{"id":8568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8567,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8616,"src":"11188:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11188:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11187:9:9"},"scope":8658,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":8657,"nodeType":"FunctionDefinition","src":"11471:393:9","nodes":[],"body":{"id":8656,"nodeType":"Block","src":"11544:320:9","nodes":[],"statements":[{"assignments":[8625],"declarations":[{"constant":false,"id":8625,"mutability":"mutable","name":"result","nameLocation":"11567:6:9","nodeType":"VariableDeclaration","scope":8656,"src":"11554:19:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8624,"name":"bytes","nodeType":"ElementaryTypeName","src":"11554:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8633,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":8628,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8619,"src":"11586:1:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11586:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3332","id":8630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11597:2:9","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11586:13:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8627,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11576:9:9","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":8626,"name":"bytes","nodeType":"ElementaryTypeName","src":"11580:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":8632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11576:24:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11554:46:9"},{"body":{"id":8652,"nodeType":"Block","src":"11649:185:9","statements":[{"assignments":[8646],"declarations":[{"constant":false,"id":8646,"mutability":"mutable","name":"k","nameLocation":"11671:1:9","nodeType":"VariableDeclaration","scope":8652,"src":"11663:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8645,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11663:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8650,"initialValue":{"baseExpression":{"id":8647,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8619,"src":"11675:1:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8649,"indexExpression":{"id":8648,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8635,"src":"11677:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11675:4:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"11663:16:9"},{"AST":{"nodeType":"YulBlock","src":"11749:75:9","statements":[{"expression":{"arguments":[{"arguments":[{"name":"result","nodeType":"YulIdentifier","src":"11778:6:9"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11790:2:9","type":"","value":"32"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11798:2:9","type":"","value":"32"},{"name":"i","nodeType":"YulIdentifier","src":"11802:1:9"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"11794:3:9"},"nodeType":"YulFunctionCall","src":"11794:10:9"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11786:3:9"},"nodeType":"YulFunctionCall","src":"11786:19:9"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11774:3:9"},"nodeType":"YulFunctionCall","src":"11774:32:9"},{"name":"k","nodeType":"YulIdentifier","src":"11808:1:9"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11767:6:9"},"nodeType":"YulFunctionCall","src":"11767:43:9"},"nodeType":"YulExpressionStatement","src":"11767:43:9"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":8635,"isOffset":false,"isSlot":false,"src":"11802:1:9","valueSize":1},{"declaration":8646,"isOffset":false,"isSlot":false,"src":"11808:1:9","valueSize":1},{"declaration":8625,"isOffset":false,"isSlot":false,"src":"11778:6:9","valueSize":1}],"id":8651,"nodeType":"InlineAssembly","src":"11740:84:9"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8638,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8635,"src":"11630:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":8639,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8619,"src":"11634:1:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":8640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11634:8:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11630:12:9","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8653,"initializationExpression":{"assignments":[8635],"declarations":[{"constant":false,"id":8635,"mutability":"mutable","name":"i","nameLocation":"11623:1:9","nodeType":"VariableDeclaration","scope":8653,"src":"11615:9:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8634,"name":"uint256","nodeType":"ElementaryTypeName","src":"11615:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8637,"initialValue":{"hexValue":"30","id":8636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11627:1:9","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11615:13:9"},"loopExpression":{"expression":{"id":8643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11644:3:9","subExpression":{"id":8642,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8635,"src":"11644:1:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8644,"nodeType":"ExpressionStatement","src":"11644:3:9"},"nodeType":"ForStatement","src":"11610:224:9"},{"expression":{"id":8654,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8625,"src":"11851:6:9","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":8623,"id":8655,"nodeType":"Return","src":"11844:13:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"flatten","nameLocation":"11480:7:9","parameters":{"id":8620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8619,"mutability":"mutable","name":"b","nameLocation":"11505:1:9","nodeType":"VariableDeclaration","scope":8657,"src":"11488:18:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":8617,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11488:7:9","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8618,"nodeType":"ArrayTypeName","src":"11488:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"11487:20:9"},"returnParameters":{"id":8623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8622,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8657,"src":"11530:12:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8621,"name":"bytes","nodeType":"ElementaryTypeName","src":"11530:5:9","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11529:14:9"},"scope":8658,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"stdStorage","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[8658],"name":"stdStorage","nameLocation":"7347:10:9","scope":8659,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdStyle.sol":{"id":10,"ast":{"absolutePath":"lib/forge-std/src/StdStyle.sol","id":9870,"exportedSymbols":{"StdStyle":[9869],"Vm":[12037]},"nodeType":"SourceUnit","src":"32:10418:10","nodes":[{"id":8660,"nodeType":"PragmaDirective","src":"32:32:10","nodes":[],"literals":["solidity",">=","0.4",".22","<","0.9",".0"]},{"id":8662,"nodeType":"ImportDirective","src":"66:28:10","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":9870,"sourceUnit":12038,"symbolAliases":[{"foreign":{"id":8661,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"74:2:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":9869,"nodeType":"ContractDefinition","src":"96:10353:10","nodes":[{"id":8679,"nodeType":"VariableDeclaration","src":"119:84:10","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"139:2:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"},"typeName":{"id":8664,"nodeType":"UserDefinedTypeName","pathNode":{"id":8663,"name":"Vm","nodeType":"IdentifierPath","referencedDeclaration":12037,"src":"119:2:10"},"referencedDeclaration":12037,"src":"119:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":8673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"181:17:10","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":8672,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"171:9:10","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"171:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"163:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8670,"name":"uint256","nodeType":"ElementaryTypeName","src":"163:7:10","typeDescriptions":{}}},"id":8675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"163:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8669,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"155:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":8668,"name":"uint160","nodeType":"ElementaryTypeName","src":"155:7:10","typeDescriptions":{}}},"id":8676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"155:46:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":8667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"147:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8666,"name":"address","nodeType":"ElementaryTypeName","src":"147:7:10","typeDescriptions":{}}},"id":8677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"147:55:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8665,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"144:2:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"id":8678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"144:59:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"visibility":"private"},{"id":8682,"nodeType":"VariableDeclaration","src":"210:34:10","nodes":[],"constant":true,"mutability":"constant","name":"RED","nameLocation":"226:3:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8680,"name":"string","nodeType":"ElementaryTypeName","src":"210:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39316d","id":8681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"232:12:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_e865f62b1188865fdbe08fdbe8546369f5c78a8f677a27514aadc154b4263c18","typeString":"literal_string hex\"1b5b39316d\""},"value":"\u001b[91m"},"visibility":"internal"},{"id":8685,"nodeType":"VariableDeclaration","src":"250:36:10","nodes":[],"constant":true,"mutability":"constant","name":"GREEN","nameLocation":"266:5:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8683,"name":"string","nodeType":"ElementaryTypeName","src":"250:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39326d","id":8684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"274:12:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_250c6c79af2fd59b948ba31b977e669524bbf27faba009961b135f1635e1e32b","typeString":"literal_string hex\"1b5b39326d\""},"value":"\u001b[92m"},"visibility":"internal"},{"id":8688,"nodeType":"VariableDeclaration","src":"292:37:10","nodes":[],"constant":true,"mutability":"constant","name":"YELLOW","nameLocation":"308:6:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8686,"name":"string","nodeType":"ElementaryTypeName","src":"292:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39336d","id":8687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"317:12:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_801b445b8c4f71d86cf740b8fd9f85e172d35421144725dd58fed362de2e6cf5","typeString":"literal_string hex\"1b5b39336d\""},"value":"\u001b[93m"},"visibility":"internal"},{"id":8691,"nodeType":"VariableDeclaration","src":"335:35:10","nodes":[],"constant":true,"mutability":"constant","name":"BLUE","nameLocation":"351:4:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8689,"name":"string","nodeType":"ElementaryTypeName","src":"335:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39346d","id":8690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"358:12:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_66ecf2e89553c52e360a74737e5e4e3d15e4d08217c17497ca50efb90c95d593","typeString":"literal_string hex\"1b5b39346d\""},"value":"\u001b[94m"},"visibility":"internal"},{"id":8694,"nodeType":"VariableDeclaration","src":"376:38:10","nodes":[],"constant":true,"mutability":"constant","name":"MAGENTA","nameLocation":"392:7:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8692,"name":"string","nodeType":"ElementaryTypeName","src":"376:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39356d","id":8693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"402:12:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_b81cf1fd9bcd2b49f14457c6168490b5ff507c85cc3778934da8235d270d6b5b","typeString":"literal_string hex\"1b5b39356d\""},"value":"\u001b[95m"},"visibility":"internal"},{"id":8697,"nodeType":"VariableDeclaration","src":"420:35:10","nodes":[],"constant":true,"mutability":"constant","name":"CYAN","nameLocation":"436:4:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8695,"name":"string","nodeType":"ElementaryTypeName","src":"420:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39366d","id":8696,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"443:12:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_f73c74e3aa04446480bd18c1b857a46321f6d66d2bfb703d52333566c779447b","typeString":"literal_string hex\"1b5b39366d\""},"value":"\u001b[96m"},"visibility":"internal"},{"id":8700,"nodeType":"VariableDeclaration","src":"461:34:10","nodes":[],"constant":true,"mutability":"constant","name":"BOLD","nameLocation":"477:4:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8698,"name":"string","nodeType":"ElementaryTypeName","src":"461:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b316d","id":8699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"484:11:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_b25b1471c5d449346ad6b37b501b2d5911d6e2bad13ad71d09cdfa3d3b140a17","typeString":"literal_string hex\"1b5b316d\""},"value":"\u001b[1m"},"visibility":"internal"},{"id":8703,"nodeType":"VariableDeclaration","src":"501:33:10","nodes":[],"constant":true,"mutability":"constant","name":"DIM","nameLocation":"517:3:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8701,"name":"string","nodeType":"ElementaryTypeName","src":"501:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b326d","id":8702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"523:11:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_2f556fa434add49eadfa043e74ff00496b89a16068544c1118ec19f5d8603d51","typeString":"literal_string hex\"1b5b326d\""},"value":"\u001b[2m"},"visibility":"internal"},{"id":8706,"nodeType":"VariableDeclaration","src":"540:36:10","nodes":[],"constant":true,"mutability":"constant","name":"ITALIC","nameLocation":"556:6:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8704,"name":"string","nodeType":"ElementaryTypeName","src":"540:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b336d","id":8705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"565:11:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_3889f2814cfbcc60c7a881028023c05aed4a6dae60be0df554f690b1f4e7411f","typeString":"literal_string hex\"1b5b336d\""},"value":"\u001b[3m"},"visibility":"internal"},{"id":8709,"nodeType":"VariableDeclaration","src":"582:39:10","nodes":[],"constant":true,"mutability":"constant","name":"UNDERLINE","nameLocation":"598:9:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8707,"name":"string","nodeType":"ElementaryTypeName","src":"582:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b346d","id":8708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"610:11:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_48cbbbbdbcd789b35edf67deaad6f96f406603d9181318ca90ef32f90fedb5bb","typeString":"literal_string hex\"1b5b346d\""},"value":"\u001b[4m"},"visibility":"internal"},{"id":8712,"nodeType":"VariableDeclaration","src":"627:37:10","nodes":[],"constant":true,"mutability":"constant","name":"INVERSE","nameLocation":"643:7:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8710,"name":"string","nodeType":"ElementaryTypeName","src":"627:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b376d","id":8711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"653:11:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_963e08c830a620b3640a99ac46ac6850f28c8f20be064518b3acc7016c3e286e","typeString":"literal_string hex\"1b5b376d\""},"value":"\u001b[7m"},"visibility":"internal"},{"id":8715,"nodeType":"VariableDeclaration","src":"670:35:10","nodes":[],"constant":true,"mutability":"constant","name":"RESET","nameLocation":"686:5:10","scope":9869,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8713,"name":"string","nodeType":"ElementaryTypeName","src":"670:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b306d","id":8714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"694:11:10","typeDescriptions":{"typeIdentifier":"t_stringliteral_289c700ce2c600d61adfc66f83b41c26150052f3ea6c772e582ea6afd03d1949","typeString":"literal_string hex\"1b5b306d\""},"value":"\u001b[0m"},"visibility":"internal"},{"id":8735,"nodeType":"FunctionDefinition","src":"712:167:10","nodes":[],"body":{"id":8734,"nodeType":"Block","src":"811:68:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8728,"name":"style","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8717,"src":"852:5:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8729,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8719,"src":"859:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8730,"name":"RESET","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8715,"src":"865:5:10","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":8726,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"835:3:10","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"835:16:10","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"835:36:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8725,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"828:6:10","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":8724,"name":"string","nodeType":"ElementaryTypeName","src":"828:6:10","typeDescriptions":{}}},"id":8732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"828:44:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8723,"id":8733,"nodeType":"Return","src":"821:51:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"styleConcat","nameLocation":"721:11:10","parameters":{"id":8720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8717,"mutability":"mutable","name":"style","nameLocation":"747:5:10","nodeType":"VariableDeclaration","scope":8735,"src":"733:19:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8716,"name":"string","nodeType":"ElementaryTypeName","src":"733:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8719,"mutability":"mutable","name":"self","nameLocation":"768:4:10","nodeType":"VariableDeclaration","scope":8735,"src":"754:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8718,"name":"string","nodeType":"ElementaryTypeName","src":"754:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"732:41:10"},"returnParameters":{"id":8723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8722,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8735,"src":"796:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8721,"name":"string","nodeType":"ElementaryTypeName","src":"796:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"795:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":8748,"nodeType":"FunctionDefinition","src":"885:117:10","nodes":[],"body":{"id":8747,"nodeType":"Block","src":"956:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8743,"name":"RED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8682,"src":"985:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8744,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8737,"src":"990:4:10","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"}],"id":8742,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"973:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":8745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"973:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8741,"id":8746,"nodeType":"Return","src":"966:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"894:3:10","parameters":{"id":8738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8737,"mutability":"mutable","name":"self","nameLocation":"912:4:10","nodeType":"VariableDeclaration","scope":8748,"src":"898:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8736,"name":"string","nodeType":"ElementaryTypeName","src":"898:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"897:20:10"},"returnParameters":{"id":8741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8740,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8748,"src":"941:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8739,"name":"string","nodeType":"ElementaryTypeName","src":"941:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"940:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8763,"nodeType":"FunctionDefinition","src":"1008:111:10","nodes":[],"body":{"id":8762,"nodeType":"Block","src":"1073:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8758,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8750,"src":"1106:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8756,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"1094:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"1094:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":8759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1094:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8755,"name":"red","nodeType":"Identifier","overloadedDeclarations":[8748,8763,8778,8793,8808],"referencedDeclaration":8748,"src":"1090:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1090:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8754,"id":8761,"nodeType":"Return","src":"1083:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1017:3:10","parameters":{"id":8751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8750,"mutability":"mutable","name":"self","nameLocation":"1029:4:10","nodeType":"VariableDeclaration","scope":8763,"src":"1021:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8749,"name":"uint256","nodeType":"ElementaryTypeName","src":"1021:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1020:14:10"},"returnParameters":{"id":8754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8753,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8763,"src":"1058:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8752,"name":"string","nodeType":"ElementaryTypeName","src":"1058:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1057:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8778,"nodeType":"FunctionDefinition","src":"1125:110:10","nodes":[],"body":{"id":8777,"nodeType":"Block","src":"1189:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8773,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8765,"src":"1222:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":8771,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"1210:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"1210:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":8774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1210:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8770,"name":"red","nodeType":"Identifier","overloadedDeclarations":[8748,8763,8778,8793,8808],"referencedDeclaration":8748,"src":"1206:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1206:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8769,"id":8776,"nodeType":"Return","src":"1199:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1134:3:10","parameters":{"id":8766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8765,"mutability":"mutable","name":"self","nameLocation":"1145:4:10","nodeType":"VariableDeclaration","scope":8778,"src":"1138:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8764,"name":"int256","nodeType":"ElementaryTypeName","src":"1138:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1137:13:10"},"returnParameters":{"id":8769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8768,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8778,"src":"1174:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8767,"name":"string","nodeType":"ElementaryTypeName","src":"1174:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1173:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8793,"nodeType":"FunctionDefinition","src":"1241:111:10","nodes":[],"body":{"id":8792,"nodeType":"Block","src":"1306:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8788,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8780,"src":"1339:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8786,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"1327:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"1327:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":8789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1327:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8785,"name":"red","nodeType":"Identifier","overloadedDeclarations":[8748,8763,8778,8793,8808],"referencedDeclaration":8748,"src":"1323:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1323:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8784,"id":8791,"nodeType":"Return","src":"1316:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1250:3:10","parameters":{"id":8781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8780,"mutability":"mutable","name":"self","nameLocation":"1262:4:10","nodeType":"VariableDeclaration","scope":8793,"src":"1254:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8779,"name":"address","nodeType":"ElementaryTypeName","src":"1254:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1253:14:10"},"returnParameters":{"id":8784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8783,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8793,"src":"1291:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8782,"name":"string","nodeType":"ElementaryTypeName","src":"1291:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1290:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8808,"nodeType":"FunctionDefinition","src":"1358:108:10","nodes":[],"body":{"id":8807,"nodeType":"Block","src":"1420:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8803,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8795,"src":"1453:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":8801,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"1441:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"1441:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":8804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1441:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8800,"name":"red","nodeType":"Identifier","overloadedDeclarations":[8748,8763,8778,8793,8808],"referencedDeclaration":8748,"src":"1437:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1437:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8799,"id":8806,"nodeType":"Return","src":"1430:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1367:3:10","parameters":{"id":8796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8795,"mutability":"mutable","name":"self","nameLocation":"1376:4:10","nodeType":"VariableDeclaration","scope":8808,"src":"1371:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8794,"name":"bool","nodeType":"ElementaryTypeName","src":"1371:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1370:11:10"},"returnParameters":{"id":8799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8798,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8808,"src":"1405:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8797,"name":"string","nodeType":"ElementaryTypeName","src":"1405:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1404:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8823,"nodeType":"FunctionDefinition","src":"1472:121:10","nodes":[],"body":{"id":8822,"nodeType":"Block","src":"1547:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8818,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8810,"src":"1580:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":8816,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"1568:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"1568:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":8819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1568:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8815,"name":"red","nodeType":"Identifier","overloadedDeclarations":[8748,8763,8778,8793,8808],"referencedDeclaration":8748,"src":"1564:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1564:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8814,"id":8821,"nodeType":"Return","src":"1557:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"redBytes","nameLocation":"1481:8:10","parameters":{"id":8811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8810,"mutability":"mutable","name":"self","nameLocation":"1503:4:10","nodeType":"VariableDeclaration","scope":8823,"src":"1490:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8809,"name":"bytes","nodeType":"ElementaryTypeName","src":"1490:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1489:19:10"},"returnParameters":{"id":8814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8813,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8823,"src":"1532:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8812,"name":"string","nodeType":"ElementaryTypeName","src":"1532:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1531:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8838,"nodeType":"FunctionDefinition","src":"1599:118:10","nodes":[],"body":{"id":8837,"nodeType":"Block","src":"1671:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8833,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8825,"src":"1704:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8831,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"1692:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"1692:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":8834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1692:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8830,"name":"red","nodeType":"Identifier","overloadedDeclarations":[8748,8763,8778,8793,8808],"referencedDeclaration":8748,"src":"1688:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1688:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8829,"id":8836,"nodeType":"Return","src":"1681:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"redBytes32","nameLocation":"1608:10:10","parameters":{"id":8826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8825,"mutability":"mutable","name":"self","nameLocation":"1627:4:10","nodeType":"VariableDeclaration","scope":8838,"src":"1619:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8824,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1619:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1618:14:10"},"returnParameters":{"id":8829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8828,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8838,"src":"1656:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8827,"name":"string","nodeType":"ElementaryTypeName","src":"1656:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1655:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8851,"nodeType":"FunctionDefinition","src":"1723:121:10","nodes":[],"body":{"id":8850,"nodeType":"Block","src":"1796:48:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8846,"name":"GREEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8685,"src":"1825:5:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8847,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8840,"src":"1832:4:10","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"}],"id":8845,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"1813:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":8848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1813:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8844,"id":8849,"nodeType":"Return","src":"1806:31:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"1732:5:10","parameters":{"id":8841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8840,"mutability":"mutable","name":"self","nameLocation":"1752:4:10","nodeType":"VariableDeclaration","scope":8851,"src":"1738:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8839,"name":"string","nodeType":"ElementaryTypeName","src":"1738:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1737:20:10"},"returnParameters":{"id":8844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8851,"src":"1781:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8842,"name":"string","nodeType":"ElementaryTypeName","src":"1781:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1780:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8866,"nodeType":"FunctionDefinition","src":"1850:115:10","nodes":[],"body":{"id":8865,"nodeType":"Block","src":"1917:48:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8861,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8853,"src":"1952:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8859,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"1940:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"1940:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":8862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1940:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8858,"name":"green","nodeType":"Identifier","overloadedDeclarations":[8851,8866,8881,8896,8911],"referencedDeclaration":8851,"src":"1934:5:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1934:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8857,"id":8864,"nodeType":"Return","src":"1927:31:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"1859:5:10","parameters":{"id":8854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8853,"mutability":"mutable","name":"self","nameLocation":"1873:4:10","nodeType":"VariableDeclaration","scope":8866,"src":"1865:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8852,"name":"uint256","nodeType":"ElementaryTypeName","src":"1865:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1864:14:10"},"returnParameters":{"id":8857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8856,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8866,"src":"1902:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8855,"name":"string","nodeType":"ElementaryTypeName","src":"1902:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1901:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8881,"nodeType":"FunctionDefinition","src":"1971:114:10","nodes":[],"body":{"id":8880,"nodeType":"Block","src":"2037:48:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8876,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8868,"src":"2072:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":8874,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"2060:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"2060:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":8877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2060:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8873,"name":"green","nodeType":"Identifier","overloadedDeclarations":[8851,8866,8881,8896,8911],"referencedDeclaration":8851,"src":"2054:5:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2054:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8872,"id":8879,"nodeType":"Return","src":"2047:31:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"1980:5:10","parameters":{"id":8869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8868,"mutability":"mutable","name":"self","nameLocation":"1993:4:10","nodeType":"VariableDeclaration","scope":8881,"src":"1986:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8867,"name":"int256","nodeType":"ElementaryTypeName","src":"1986:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1985:13:10"},"returnParameters":{"id":8872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8871,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8881,"src":"2022:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8870,"name":"string","nodeType":"ElementaryTypeName","src":"2022:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2021:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8896,"nodeType":"FunctionDefinition","src":"2091:115:10","nodes":[],"body":{"id":8895,"nodeType":"Block","src":"2158:48:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8891,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8883,"src":"2193:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8889,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"2181:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"2181:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":8892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2181:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8888,"name":"green","nodeType":"Identifier","overloadedDeclarations":[8851,8866,8881,8896,8911],"referencedDeclaration":8851,"src":"2175:5:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2175:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8887,"id":8894,"nodeType":"Return","src":"2168:31:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"2100:5:10","parameters":{"id":8884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8883,"mutability":"mutable","name":"self","nameLocation":"2114:4:10","nodeType":"VariableDeclaration","scope":8896,"src":"2106:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8882,"name":"address","nodeType":"ElementaryTypeName","src":"2106:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2105:14:10"},"returnParameters":{"id":8887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8886,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8896,"src":"2143:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8885,"name":"string","nodeType":"ElementaryTypeName","src":"2143:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2142:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8911,"nodeType":"FunctionDefinition","src":"2212:112:10","nodes":[],"body":{"id":8910,"nodeType":"Block","src":"2276:48:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8906,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8898,"src":"2311:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":8904,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"2299:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"2299:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":8907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2299:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8903,"name":"green","nodeType":"Identifier","overloadedDeclarations":[8851,8866,8881,8896,8911],"referencedDeclaration":8851,"src":"2293:5:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2293:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8902,"id":8909,"nodeType":"Return","src":"2286:31:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"2221:5:10","parameters":{"id":8899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8898,"mutability":"mutable","name":"self","nameLocation":"2232:4:10","nodeType":"VariableDeclaration","scope":8911,"src":"2227:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8897,"name":"bool","nodeType":"ElementaryTypeName","src":"2227:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2226:11:10"},"returnParameters":{"id":8902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8901,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8911,"src":"2261:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8900,"name":"string","nodeType":"ElementaryTypeName","src":"2261:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2260:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8926,"nodeType":"FunctionDefinition","src":"2330:125:10","nodes":[],"body":{"id":8925,"nodeType":"Block","src":"2407:48:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8921,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8913,"src":"2442:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":8919,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"2430:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"2430:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":8922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2430:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8918,"name":"green","nodeType":"Identifier","overloadedDeclarations":[8851,8866,8881,8896,8911],"referencedDeclaration":8851,"src":"2424:5:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2424:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8917,"id":8924,"nodeType":"Return","src":"2417:31:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"greenBytes","nameLocation":"2339:10:10","parameters":{"id":8914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8913,"mutability":"mutable","name":"self","nameLocation":"2363:4:10","nodeType":"VariableDeclaration","scope":8926,"src":"2350:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8912,"name":"bytes","nodeType":"ElementaryTypeName","src":"2350:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2349:19:10"},"returnParameters":{"id":8917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8916,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8926,"src":"2392:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8915,"name":"string","nodeType":"ElementaryTypeName","src":"2392:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2391:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8941,"nodeType":"FunctionDefinition","src":"2461:122:10","nodes":[],"body":{"id":8940,"nodeType":"Block","src":"2535:48:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8936,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8928,"src":"2570:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8934,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"2558:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"2558:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":8937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2558:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8933,"name":"green","nodeType":"Identifier","overloadedDeclarations":[8851,8866,8881,8896,8911],"referencedDeclaration":8851,"src":"2552:5:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2552:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8932,"id":8939,"nodeType":"Return","src":"2545:31:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"greenBytes32","nameLocation":"2470:12:10","parameters":{"id":8929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8928,"mutability":"mutable","name":"self","nameLocation":"2491:4:10","nodeType":"VariableDeclaration","scope":8941,"src":"2483:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2483:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2482:14:10"},"returnParameters":{"id":8932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8931,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8941,"src":"2520:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8930,"name":"string","nodeType":"ElementaryTypeName","src":"2520:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2519:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8954,"nodeType":"FunctionDefinition","src":"2589:123:10","nodes":[],"body":{"id":8953,"nodeType":"Block","src":"2663:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8949,"name":"YELLOW","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8688,"src":"2692:6:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8950,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8943,"src":"2700:4:10","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"}],"id":8948,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"2680:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":8951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2680:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8947,"id":8952,"nodeType":"Return","src":"2673:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2598:6:10","parameters":{"id":8944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8943,"mutability":"mutable","name":"self","nameLocation":"2619:4:10","nodeType":"VariableDeclaration","scope":8954,"src":"2605:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8942,"name":"string","nodeType":"ElementaryTypeName","src":"2605:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2604:20:10"},"returnParameters":{"id":8947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8946,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8954,"src":"2648:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8945,"name":"string","nodeType":"ElementaryTypeName","src":"2648:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2647:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8969,"nodeType":"FunctionDefinition","src":"2718:117:10","nodes":[],"body":{"id":8968,"nodeType":"Block","src":"2786:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8964,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8956,"src":"2822:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8962,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"2810:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"2810:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":8965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2810:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8961,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[8954,8969,8984,8999,9014],"referencedDeclaration":8954,"src":"2803:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2803:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8960,"id":8967,"nodeType":"Return","src":"2796:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2727:6:10","parameters":{"id":8957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8956,"mutability":"mutable","name":"self","nameLocation":"2742:4:10","nodeType":"VariableDeclaration","scope":8969,"src":"2734:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8955,"name":"uint256","nodeType":"ElementaryTypeName","src":"2734:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2733:14:10"},"returnParameters":{"id":8960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8959,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8969,"src":"2771:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8958,"name":"string","nodeType":"ElementaryTypeName","src":"2771:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2770:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8984,"nodeType":"FunctionDefinition","src":"2841:116:10","nodes":[],"body":{"id":8983,"nodeType":"Block","src":"2908:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8979,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8971,"src":"2944:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":8977,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"2932:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"2932:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":8980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2932:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8976,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[8954,8969,8984,8999,9014],"referencedDeclaration":8954,"src":"2925:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2925:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8975,"id":8982,"nodeType":"Return","src":"2918:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2850:6:10","parameters":{"id":8972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8971,"mutability":"mutable","name":"self","nameLocation":"2864:4:10","nodeType":"VariableDeclaration","scope":8984,"src":"2857:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8970,"name":"int256","nodeType":"ElementaryTypeName","src":"2857:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2856:13:10"},"returnParameters":{"id":8975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8974,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8984,"src":"2893:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8973,"name":"string","nodeType":"ElementaryTypeName","src":"2893:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2892:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8999,"nodeType":"FunctionDefinition","src":"2963:117:10","nodes":[],"body":{"id":8998,"nodeType":"Block","src":"3031:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":8994,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8986,"src":"3067:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8992,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"3055:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":8993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"3055:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":8995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3055:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8991,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[8954,8969,8984,8999,9014],"referencedDeclaration":8954,"src":"3048:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":8996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3048:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8990,"id":8997,"nodeType":"Return","src":"3041:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2972:6:10","parameters":{"id":8987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8986,"mutability":"mutable","name":"self","nameLocation":"2987:4:10","nodeType":"VariableDeclaration","scope":8999,"src":"2979:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8985,"name":"address","nodeType":"ElementaryTypeName","src":"2979:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2978:14:10"},"returnParameters":{"id":8990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8989,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8999,"src":"3016:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8988,"name":"string","nodeType":"ElementaryTypeName","src":"3016:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3015:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9014,"nodeType":"FunctionDefinition","src":"3086:114:10","nodes":[],"body":{"id":9013,"nodeType":"Block","src":"3151:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9009,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9001,"src":"3187:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9007,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"3175:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"3175:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":9010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3175:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9006,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[8954,8969,8984,8999,9014],"referencedDeclaration":8954,"src":"3168:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3168:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9005,"id":9012,"nodeType":"Return","src":"3161:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"3095:6:10","parameters":{"id":9002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9001,"mutability":"mutable","name":"self","nameLocation":"3107:4:10","nodeType":"VariableDeclaration","scope":9014,"src":"3102:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9000,"name":"bool","nodeType":"ElementaryTypeName","src":"3102:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3101:11:10"},"returnParameters":{"id":9005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9014,"src":"3136:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9003,"name":"string","nodeType":"ElementaryTypeName","src":"3136:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3135:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9029,"nodeType":"FunctionDefinition","src":"3206:127:10","nodes":[],"body":{"id":9028,"nodeType":"Block","src":"3284:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9024,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9016,"src":"3320:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9022,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"3308:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"3308:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":9025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3308:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9021,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[8954,8969,8984,8999,9014],"referencedDeclaration":8954,"src":"3301:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3301:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9020,"id":9027,"nodeType":"Return","src":"3294:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellowBytes","nameLocation":"3215:11:10","parameters":{"id":9017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9016,"mutability":"mutable","name":"self","nameLocation":"3240:4:10","nodeType":"VariableDeclaration","scope":9029,"src":"3227:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9015,"name":"bytes","nodeType":"ElementaryTypeName","src":"3227:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3226:19:10"},"returnParameters":{"id":9020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9019,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9029,"src":"3269:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9018,"name":"string","nodeType":"ElementaryTypeName","src":"3269:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3268:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9044,"nodeType":"FunctionDefinition","src":"3339:124:10","nodes":[],"body":{"id":9043,"nodeType":"Block","src":"3414:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9039,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9031,"src":"3450:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9037,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"3438:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"3438:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":9040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3438:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9036,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[8954,8969,8984,8999,9014],"referencedDeclaration":8954,"src":"3431:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3431:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9035,"id":9042,"nodeType":"Return","src":"3424:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellowBytes32","nameLocation":"3348:13:10","parameters":{"id":9032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9031,"mutability":"mutable","name":"self","nameLocation":"3370:4:10","nodeType":"VariableDeclaration","scope":9044,"src":"3362:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9030,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3362:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3361:14:10"},"returnParameters":{"id":9035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9034,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9044,"src":"3399:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9033,"name":"string","nodeType":"ElementaryTypeName","src":"3399:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3398:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9057,"nodeType":"FunctionDefinition","src":"3469:119:10","nodes":[],"body":{"id":9056,"nodeType":"Block","src":"3541:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9052,"name":"BLUE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8691,"src":"3570:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9053,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9046,"src":"3576:4:10","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"}],"id":9051,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"3558:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":9054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3558:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9050,"id":9055,"nodeType":"Return","src":"3551:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3478:4:10","parameters":{"id":9047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9046,"mutability":"mutable","name":"self","nameLocation":"3497:4:10","nodeType":"VariableDeclaration","scope":9057,"src":"3483:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9045,"name":"string","nodeType":"ElementaryTypeName","src":"3483:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3482:20:10"},"returnParameters":{"id":9050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9049,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9057,"src":"3526:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9048,"name":"string","nodeType":"ElementaryTypeName","src":"3526:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3525:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9072,"nodeType":"FunctionDefinition","src":"3594:113:10","nodes":[],"body":{"id":9071,"nodeType":"Block","src":"3660:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9067,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9059,"src":"3694:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9065,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"3682:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"3682:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":9068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3682:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9064,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[9057,9072,9087,9102,9117],"referencedDeclaration":9057,"src":"3677:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3677:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9063,"id":9070,"nodeType":"Return","src":"3670:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3603:4:10","parameters":{"id":9060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9059,"mutability":"mutable","name":"self","nameLocation":"3616:4:10","nodeType":"VariableDeclaration","scope":9072,"src":"3608:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9058,"name":"uint256","nodeType":"ElementaryTypeName","src":"3608:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3607:14:10"},"returnParameters":{"id":9063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9062,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9072,"src":"3645:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9061,"name":"string","nodeType":"ElementaryTypeName","src":"3645:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3644:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9087,"nodeType":"FunctionDefinition","src":"3713:112:10","nodes":[],"body":{"id":9086,"nodeType":"Block","src":"3778:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9082,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9074,"src":"3812:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":9080,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"3800:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"3800:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":9083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3800:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9079,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[9057,9072,9087,9102,9117],"referencedDeclaration":9057,"src":"3795:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3795:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9078,"id":9085,"nodeType":"Return","src":"3788:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3722:4:10","parameters":{"id":9075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9074,"mutability":"mutable","name":"self","nameLocation":"3734:4:10","nodeType":"VariableDeclaration","scope":9087,"src":"3727:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9073,"name":"int256","nodeType":"ElementaryTypeName","src":"3727:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3726:13:10"},"returnParameters":{"id":9078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9077,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9087,"src":"3763:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9076,"name":"string","nodeType":"ElementaryTypeName","src":"3763:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3762:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9102,"nodeType":"FunctionDefinition","src":"3831:113:10","nodes":[],"body":{"id":9101,"nodeType":"Block","src":"3897:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9097,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9089,"src":"3931:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9095,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"3919:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"3919:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":9098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3919:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9094,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[9057,9072,9087,9102,9117],"referencedDeclaration":9057,"src":"3914:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3914:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9093,"id":9100,"nodeType":"Return","src":"3907:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3840:4:10","parameters":{"id":9090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9089,"mutability":"mutable","name":"self","nameLocation":"3853:4:10","nodeType":"VariableDeclaration","scope":9102,"src":"3845:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9088,"name":"address","nodeType":"ElementaryTypeName","src":"3845:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3844:14:10"},"returnParameters":{"id":9093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9092,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9102,"src":"3882:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9091,"name":"string","nodeType":"ElementaryTypeName","src":"3882:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3881:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9117,"nodeType":"FunctionDefinition","src":"3950:110:10","nodes":[],"body":{"id":9116,"nodeType":"Block","src":"4013:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9112,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9104,"src":"4047:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9110,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"4035:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"4035:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":9113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4035:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9109,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[9057,9072,9087,9102,9117],"referencedDeclaration":9057,"src":"4030:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4030:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9108,"id":9115,"nodeType":"Return","src":"4023:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3959:4:10","parameters":{"id":9105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9104,"mutability":"mutable","name":"self","nameLocation":"3969:4:10","nodeType":"VariableDeclaration","scope":9117,"src":"3964:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9103,"name":"bool","nodeType":"ElementaryTypeName","src":"3964:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3963:11:10"},"returnParameters":{"id":9108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9107,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9117,"src":"3998:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9106,"name":"string","nodeType":"ElementaryTypeName","src":"3998:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3997:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9132,"nodeType":"FunctionDefinition","src":"4066:123:10","nodes":[],"body":{"id":9131,"nodeType":"Block","src":"4142:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9127,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9119,"src":"4176:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9125,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"4164:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"4164:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":9128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4164:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9124,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[9057,9072,9087,9102,9117],"referencedDeclaration":9057,"src":"4159:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4159:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9123,"id":9130,"nodeType":"Return","src":"4152:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blueBytes","nameLocation":"4075:9:10","parameters":{"id":9120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9119,"mutability":"mutable","name":"self","nameLocation":"4098:4:10","nodeType":"VariableDeclaration","scope":9132,"src":"4085:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9118,"name":"bytes","nodeType":"ElementaryTypeName","src":"4085:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4084:19:10"},"returnParameters":{"id":9123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9122,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9132,"src":"4127:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9121,"name":"string","nodeType":"ElementaryTypeName","src":"4127:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4126:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9147,"nodeType":"FunctionDefinition","src":"4195:120:10","nodes":[],"body":{"id":9146,"nodeType":"Block","src":"4268:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9142,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9134,"src":"4302:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9140,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"4290:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"4290:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":9143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4290:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9139,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[9057,9072,9087,9102,9117],"referencedDeclaration":9057,"src":"4285:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4285:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9138,"id":9145,"nodeType":"Return","src":"4278:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blueBytes32","nameLocation":"4204:11:10","parameters":{"id":9135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9134,"mutability":"mutable","name":"self","nameLocation":"4224:4:10","nodeType":"VariableDeclaration","scope":9147,"src":"4216:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9133,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4216:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4215:14:10"},"returnParameters":{"id":9138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9137,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9147,"src":"4253:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9136,"name":"string","nodeType":"ElementaryTypeName","src":"4253:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4252:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9160,"nodeType":"FunctionDefinition","src":"4321:125:10","nodes":[],"body":{"id":9159,"nodeType":"Block","src":"4396:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9155,"name":"MAGENTA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8694,"src":"4425:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9156,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9149,"src":"4434:4:10","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"}],"id":9154,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"4413:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":9157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4413:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9153,"id":9158,"nodeType":"Return","src":"4406:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4330:7:10","parameters":{"id":9150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9149,"mutability":"mutable","name":"self","nameLocation":"4352:4:10","nodeType":"VariableDeclaration","scope":9160,"src":"4338:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9148,"name":"string","nodeType":"ElementaryTypeName","src":"4338:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4337:20:10"},"returnParameters":{"id":9153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9152,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9160,"src":"4381:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9151,"name":"string","nodeType":"ElementaryTypeName","src":"4381:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4380:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9175,"nodeType":"FunctionDefinition","src":"4452:119:10","nodes":[],"body":{"id":9174,"nodeType":"Block","src":"4521:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9170,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9162,"src":"4558:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9168,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"4546:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"4546:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":9171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4546:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9167,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[9160,9175,9190,9205,9220],"referencedDeclaration":9160,"src":"4538:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4538:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9166,"id":9173,"nodeType":"Return","src":"4531:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4461:7:10","parameters":{"id":9163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9162,"mutability":"mutable","name":"self","nameLocation":"4477:4:10","nodeType":"VariableDeclaration","scope":9175,"src":"4469:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9161,"name":"uint256","nodeType":"ElementaryTypeName","src":"4469:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4468:14:10"},"returnParameters":{"id":9166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9165,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9175,"src":"4506:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9164,"name":"string","nodeType":"ElementaryTypeName","src":"4506:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4505:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9190,"nodeType":"FunctionDefinition","src":"4577:118:10","nodes":[],"body":{"id":9189,"nodeType":"Block","src":"4645:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9185,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9177,"src":"4682:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":9183,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"4670:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"4670:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":9186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4670:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9182,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[9160,9175,9190,9205,9220],"referencedDeclaration":9160,"src":"4662:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4662:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9181,"id":9188,"nodeType":"Return","src":"4655:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4586:7:10","parameters":{"id":9178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9177,"mutability":"mutable","name":"self","nameLocation":"4601:4:10","nodeType":"VariableDeclaration","scope":9190,"src":"4594:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9176,"name":"int256","nodeType":"ElementaryTypeName","src":"4594:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4593:13:10"},"returnParameters":{"id":9181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9180,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9190,"src":"4630:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9179,"name":"string","nodeType":"ElementaryTypeName","src":"4630:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4629:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9205,"nodeType":"FunctionDefinition","src":"4701:119:10","nodes":[],"body":{"id":9204,"nodeType":"Block","src":"4770:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9200,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9192,"src":"4807:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9198,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"4795:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"4795:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":9201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4795:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9197,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[9160,9175,9190,9205,9220],"referencedDeclaration":9160,"src":"4787:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4787:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9196,"id":9203,"nodeType":"Return","src":"4780:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4710:7:10","parameters":{"id":9193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9192,"mutability":"mutable","name":"self","nameLocation":"4726:4:10","nodeType":"VariableDeclaration","scope":9205,"src":"4718:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9191,"name":"address","nodeType":"ElementaryTypeName","src":"4718:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4717:14:10"},"returnParameters":{"id":9196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9195,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9205,"src":"4755:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9194,"name":"string","nodeType":"ElementaryTypeName","src":"4755:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4754:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9220,"nodeType":"FunctionDefinition","src":"4826:116:10","nodes":[],"body":{"id":9219,"nodeType":"Block","src":"4892:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9215,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9207,"src":"4929:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9213,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"4917:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"4917:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":9216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4917:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9212,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[9160,9175,9190,9205,9220],"referencedDeclaration":9160,"src":"4909:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4909:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9211,"id":9218,"nodeType":"Return","src":"4902:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4835:7:10","parameters":{"id":9208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9207,"mutability":"mutable","name":"self","nameLocation":"4848:4:10","nodeType":"VariableDeclaration","scope":9220,"src":"4843:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9206,"name":"bool","nodeType":"ElementaryTypeName","src":"4843:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4842:11:10"},"returnParameters":{"id":9211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9220,"src":"4877:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9209,"name":"string","nodeType":"ElementaryTypeName","src":"4877:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4876:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9235,"nodeType":"FunctionDefinition","src":"4948:129:10","nodes":[],"body":{"id":9234,"nodeType":"Block","src":"5027:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9230,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9222,"src":"5064:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9228,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"5052:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"5052:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":9231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5052:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9227,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[9160,9175,9190,9205,9220],"referencedDeclaration":9160,"src":"5044:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5044:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9226,"id":9233,"nodeType":"Return","src":"5037:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magentaBytes","nameLocation":"4957:12:10","parameters":{"id":9223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9222,"mutability":"mutable","name":"self","nameLocation":"4983:4:10","nodeType":"VariableDeclaration","scope":9235,"src":"4970:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9221,"name":"bytes","nodeType":"ElementaryTypeName","src":"4970:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4969:19:10"},"returnParameters":{"id":9226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9225,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9235,"src":"5012:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9224,"name":"string","nodeType":"ElementaryTypeName","src":"5012:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5011:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9250,"nodeType":"FunctionDefinition","src":"5083:126:10","nodes":[],"body":{"id":9249,"nodeType":"Block","src":"5159:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9245,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9237,"src":"5196:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9243,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"5184:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"5184:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":9246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5184:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9242,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[9160,9175,9190,9205,9220],"referencedDeclaration":9160,"src":"5176:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5176:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9241,"id":9248,"nodeType":"Return","src":"5169:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magentaBytes32","nameLocation":"5092:14:10","parameters":{"id":9238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9237,"mutability":"mutable","name":"self","nameLocation":"5115:4:10","nodeType":"VariableDeclaration","scope":9250,"src":"5107:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9236,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5107:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5106:14:10"},"returnParameters":{"id":9241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9240,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9250,"src":"5144:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9239,"name":"string","nodeType":"ElementaryTypeName","src":"5144:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5143:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9263,"nodeType":"FunctionDefinition","src":"5215:119:10","nodes":[],"body":{"id":9262,"nodeType":"Block","src":"5287:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9258,"name":"CYAN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8697,"src":"5316:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9259,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9252,"src":"5322:4:10","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"}],"id":9257,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"5304:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":9260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5304:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9256,"id":9261,"nodeType":"Return","src":"5297:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5224:4:10","parameters":{"id":9253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9252,"mutability":"mutable","name":"self","nameLocation":"5243:4:10","nodeType":"VariableDeclaration","scope":9263,"src":"5229:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9251,"name":"string","nodeType":"ElementaryTypeName","src":"5229:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5228:20:10"},"returnParameters":{"id":9256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9255,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9263,"src":"5272:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9254,"name":"string","nodeType":"ElementaryTypeName","src":"5272:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5271:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9278,"nodeType":"FunctionDefinition","src":"5340:113:10","nodes":[],"body":{"id":9277,"nodeType":"Block","src":"5406:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9273,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9265,"src":"5440:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9271,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"5428:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"5428:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":9274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5428:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9270,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[9263,9278,9293,9308,9323],"referencedDeclaration":9263,"src":"5423:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5423:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9269,"id":9276,"nodeType":"Return","src":"5416:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5349:4:10","parameters":{"id":9266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9265,"mutability":"mutable","name":"self","nameLocation":"5362:4:10","nodeType":"VariableDeclaration","scope":9278,"src":"5354:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9264,"name":"uint256","nodeType":"ElementaryTypeName","src":"5354:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5353:14:10"},"returnParameters":{"id":9269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9268,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9278,"src":"5391:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9267,"name":"string","nodeType":"ElementaryTypeName","src":"5391:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5390:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9293,"nodeType":"FunctionDefinition","src":"5459:112:10","nodes":[],"body":{"id":9292,"nodeType":"Block","src":"5524:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9288,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9280,"src":"5558:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":9286,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"5546:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"5546:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":9289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5546:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9285,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[9263,9278,9293,9308,9323],"referencedDeclaration":9263,"src":"5541:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5541:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9284,"id":9291,"nodeType":"Return","src":"5534:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5468:4:10","parameters":{"id":9281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9280,"mutability":"mutable","name":"self","nameLocation":"5480:4:10","nodeType":"VariableDeclaration","scope":9293,"src":"5473:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9279,"name":"int256","nodeType":"ElementaryTypeName","src":"5473:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"5472:13:10"},"returnParameters":{"id":9284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9283,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9293,"src":"5509:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9282,"name":"string","nodeType":"ElementaryTypeName","src":"5509:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5508:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9308,"nodeType":"FunctionDefinition","src":"5577:113:10","nodes":[],"body":{"id":9307,"nodeType":"Block","src":"5643:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9303,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9295,"src":"5677:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9301,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"5665:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"5665:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":9304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5665:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9300,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[9263,9278,9293,9308,9323],"referencedDeclaration":9263,"src":"5660:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5660:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9299,"id":9306,"nodeType":"Return","src":"5653:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5586:4:10","parameters":{"id":9296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9295,"mutability":"mutable","name":"self","nameLocation":"5599:4:10","nodeType":"VariableDeclaration","scope":9308,"src":"5591:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9294,"name":"address","nodeType":"ElementaryTypeName","src":"5591:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5590:14:10"},"returnParameters":{"id":9299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9298,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9308,"src":"5628:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9297,"name":"string","nodeType":"ElementaryTypeName","src":"5628:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5627:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9323,"nodeType":"FunctionDefinition","src":"5696:110:10","nodes":[],"body":{"id":9322,"nodeType":"Block","src":"5759:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9318,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9310,"src":"5793:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9316,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"5781:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"5781:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":9319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5781:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9315,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[9263,9278,9293,9308,9323],"referencedDeclaration":9263,"src":"5776:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5776:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9314,"id":9321,"nodeType":"Return","src":"5769:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5705:4:10","parameters":{"id":9311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9310,"mutability":"mutable","name":"self","nameLocation":"5715:4:10","nodeType":"VariableDeclaration","scope":9323,"src":"5710:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9309,"name":"bool","nodeType":"ElementaryTypeName","src":"5710:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5709:11:10"},"returnParameters":{"id":9314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9313,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9323,"src":"5744:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9312,"name":"string","nodeType":"ElementaryTypeName","src":"5744:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5743:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9338,"nodeType":"FunctionDefinition","src":"5812:123:10","nodes":[],"body":{"id":9337,"nodeType":"Block","src":"5888:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9333,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9325,"src":"5922:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9331,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"5910:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"5910:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":9334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5910:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9330,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[9263,9278,9293,9308,9323],"referencedDeclaration":9263,"src":"5905:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5905:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9329,"id":9336,"nodeType":"Return","src":"5898:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyanBytes","nameLocation":"5821:9:10","parameters":{"id":9326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9325,"mutability":"mutable","name":"self","nameLocation":"5844:4:10","nodeType":"VariableDeclaration","scope":9338,"src":"5831:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9324,"name":"bytes","nodeType":"ElementaryTypeName","src":"5831:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5830:19:10"},"returnParameters":{"id":9329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9328,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9338,"src":"5873:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9327,"name":"string","nodeType":"ElementaryTypeName","src":"5873:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5872:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9353,"nodeType":"FunctionDefinition","src":"5941:120:10","nodes":[],"body":{"id":9352,"nodeType":"Block","src":"6014:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9348,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9340,"src":"6048:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9346,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"6036:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"6036:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":9349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6036:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9345,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[9263,9278,9293,9308,9323],"referencedDeclaration":9263,"src":"6031:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6031:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9344,"id":9351,"nodeType":"Return","src":"6024:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyanBytes32","nameLocation":"5950:11:10","parameters":{"id":9341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9340,"mutability":"mutable","name":"self","nameLocation":"5970:4:10","nodeType":"VariableDeclaration","scope":9353,"src":"5962:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5962:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5961:14:10"},"returnParameters":{"id":9344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9353,"src":"5999:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9342,"name":"string","nodeType":"ElementaryTypeName","src":"5999:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5998:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9366,"nodeType":"FunctionDefinition","src":"6067:119:10","nodes":[],"body":{"id":9365,"nodeType":"Block","src":"6139:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9361,"name":"BOLD","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8700,"src":"6168:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9362,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9355,"src":"6174:4:10","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"}],"id":9360,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"6156:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":9363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6156:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9359,"id":9364,"nodeType":"Return","src":"6149:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6076:4:10","parameters":{"id":9356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9355,"mutability":"mutable","name":"self","nameLocation":"6095:4:10","nodeType":"VariableDeclaration","scope":9366,"src":"6081:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9354,"name":"string","nodeType":"ElementaryTypeName","src":"6081:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6080:20:10"},"returnParameters":{"id":9359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9358,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9366,"src":"6124:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9357,"name":"string","nodeType":"ElementaryTypeName","src":"6124:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6123:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9381,"nodeType":"FunctionDefinition","src":"6192:113:10","nodes":[],"body":{"id":9380,"nodeType":"Block","src":"6258:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9376,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9368,"src":"6292:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9374,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"6280:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"6280:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":9377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6280:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9373,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[9366,9381,9396,9411,9426],"referencedDeclaration":9366,"src":"6275:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6275:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9372,"id":9379,"nodeType":"Return","src":"6268:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6201:4:10","parameters":{"id":9369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9368,"mutability":"mutable","name":"self","nameLocation":"6214:4:10","nodeType":"VariableDeclaration","scope":9381,"src":"6206:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9367,"name":"uint256","nodeType":"ElementaryTypeName","src":"6206:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6205:14:10"},"returnParameters":{"id":9372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9371,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9381,"src":"6243:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9370,"name":"string","nodeType":"ElementaryTypeName","src":"6243:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6242:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9396,"nodeType":"FunctionDefinition","src":"6311:112:10","nodes":[],"body":{"id":9395,"nodeType":"Block","src":"6376:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9391,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9383,"src":"6410:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":9389,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"6398:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"6398:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":9392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6398:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9388,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[9366,9381,9396,9411,9426],"referencedDeclaration":9366,"src":"6393:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6393:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9387,"id":9394,"nodeType":"Return","src":"6386:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6320:4:10","parameters":{"id":9384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9383,"mutability":"mutable","name":"self","nameLocation":"6332:4:10","nodeType":"VariableDeclaration","scope":9396,"src":"6325:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9382,"name":"int256","nodeType":"ElementaryTypeName","src":"6325:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"6324:13:10"},"returnParameters":{"id":9387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9386,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9396,"src":"6361:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9385,"name":"string","nodeType":"ElementaryTypeName","src":"6361:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6360:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9411,"nodeType":"FunctionDefinition","src":"6429:113:10","nodes":[],"body":{"id":9410,"nodeType":"Block","src":"6495:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9406,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9398,"src":"6529:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9404,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"6517:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"6517:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":9407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6517:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9403,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[9366,9381,9396,9411,9426],"referencedDeclaration":9366,"src":"6512:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6512:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9402,"id":9409,"nodeType":"Return","src":"6505:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6438:4:10","parameters":{"id":9399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9398,"mutability":"mutable","name":"self","nameLocation":"6451:4:10","nodeType":"VariableDeclaration","scope":9411,"src":"6443:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9397,"name":"address","nodeType":"ElementaryTypeName","src":"6443:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6442:14:10"},"returnParameters":{"id":9402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9401,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9411,"src":"6480:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9400,"name":"string","nodeType":"ElementaryTypeName","src":"6480:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6479:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9426,"nodeType":"FunctionDefinition","src":"6548:110:10","nodes":[],"body":{"id":9425,"nodeType":"Block","src":"6611:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9421,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9413,"src":"6645:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9419,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"6633:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"6633:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":9422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6633:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9418,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[9366,9381,9396,9411,9426],"referencedDeclaration":9366,"src":"6628:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6628:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9417,"id":9424,"nodeType":"Return","src":"6621:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6557:4:10","parameters":{"id":9414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9413,"mutability":"mutable","name":"self","nameLocation":"6567:4:10","nodeType":"VariableDeclaration","scope":9426,"src":"6562:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9412,"name":"bool","nodeType":"ElementaryTypeName","src":"6562:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6561:11:10"},"returnParameters":{"id":9417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9416,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9426,"src":"6596:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9415,"name":"string","nodeType":"ElementaryTypeName","src":"6596:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6595:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9441,"nodeType":"FunctionDefinition","src":"6664:123:10","nodes":[],"body":{"id":9440,"nodeType":"Block","src":"6740:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9436,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9428,"src":"6774:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9434,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"6762:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"6762:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":9437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6762:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9433,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[9366,9381,9396,9411,9426],"referencedDeclaration":9366,"src":"6757:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6757:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9432,"id":9439,"nodeType":"Return","src":"6750:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"boldBytes","nameLocation":"6673:9:10","parameters":{"id":9429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9428,"mutability":"mutable","name":"self","nameLocation":"6696:4:10","nodeType":"VariableDeclaration","scope":9441,"src":"6683:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9427,"name":"bytes","nodeType":"ElementaryTypeName","src":"6683:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6682:19:10"},"returnParameters":{"id":9432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9431,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9441,"src":"6725:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9430,"name":"string","nodeType":"ElementaryTypeName","src":"6725:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6724:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9456,"nodeType":"FunctionDefinition","src":"6793:120:10","nodes":[],"body":{"id":9455,"nodeType":"Block","src":"6866:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9451,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9443,"src":"6900:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9449,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"6888:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"6888:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":9452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6888:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9448,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[9366,9381,9396,9411,9426],"referencedDeclaration":9366,"src":"6883:4:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6883:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9447,"id":9454,"nodeType":"Return","src":"6876:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"boldBytes32","nameLocation":"6802:11:10","parameters":{"id":9444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9443,"mutability":"mutable","name":"self","nameLocation":"6822:4:10","nodeType":"VariableDeclaration","scope":9456,"src":"6814:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9442,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6814:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6813:14:10"},"returnParameters":{"id":9447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9446,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9456,"src":"6851:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9445,"name":"string","nodeType":"ElementaryTypeName","src":"6851:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6850:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9469,"nodeType":"FunctionDefinition","src":"6919:117:10","nodes":[],"body":{"id":9468,"nodeType":"Block","src":"6990:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9464,"name":"DIM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8703,"src":"7019:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9465,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9458,"src":"7024:4:10","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"}],"id":9463,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"7007:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":9466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7007:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9462,"id":9467,"nodeType":"Return","src":"7000:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"6928:3:10","parameters":{"id":9459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9458,"mutability":"mutable","name":"self","nameLocation":"6946:4:10","nodeType":"VariableDeclaration","scope":9469,"src":"6932:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9457,"name":"string","nodeType":"ElementaryTypeName","src":"6932:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6931:20:10"},"returnParameters":{"id":9462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9461,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9469,"src":"6975:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9460,"name":"string","nodeType":"ElementaryTypeName","src":"6975:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6974:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9484,"nodeType":"FunctionDefinition","src":"7042:111:10","nodes":[],"body":{"id":9483,"nodeType":"Block","src":"7107:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9479,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9471,"src":"7140:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9477,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"7128:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"7128:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":9480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7128:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9476,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[9469,9484,9499,9514,9529],"referencedDeclaration":9469,"src":"7124:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7124:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9475,"id":9482,"nodeType":"Return","src":"7117:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7051:3:10","parameters":{"id":9472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9471,"mutability":"mutable","name":"self","nameLocation":"7063:4:10","nodeType":"VariableDeclaration","scope":9484,"src":"7055:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9470,"name":"uint256","nodeType":"ElementaryTypeName","src":"7055:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7054:14:10"},"returnParameters":{"id":9475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9474,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9484,"src":"7092:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9473,"name":"string","nodeType":"ElementaryTypeName","src":"7092:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7091:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9499,"nodeType":"FunctionDefinition","src":"7159:110:10","nodes":[],"body":{"id":9498,"nodeType":"Block","src":"7223:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9494,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9486,"src":"7256:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":9492,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"7244:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"7244:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":9495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7244:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9491,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[9469,9484,9499,9514,9529],"referencedDeclaration":9469,"src":"7240:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7240:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9490,"id":9497,"nodeType":"Return","src":"7233:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7168:3:10","parameters":{"id":9487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9486,"mutability":"mutable","name":"self","nameLocation":"7179:4:10","nodeType":"VariableDeclaration","scope":9499,"src":"7172:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9485,"name":"int256","nodeType":"ElementaryTypeName","src":"7172:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7171:13:10"},"returnParameters":{"id":9490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9489,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9499,"src":"7208:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9488,"name":"string","nodeType":"ElementaryTypeName","src":"7208:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7207:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9514,"nodeType":"FunctionDefinition","src":"7275:111:10","nodes":[],"body":{"id":9513,"nodeType":"Block","src":"7340:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9509,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9501,"src":"7373:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9507,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"7361:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"7361:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":9510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7361:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9506,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[9469,9484,9499,9514,9529],"referencedDeclaration":9469,"src":"7357:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7357:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9505,"id":9512,"nodeType":"Return","src":"7350:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7284:3:10","parameters":{"id":9502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9501,"mutability":"mutable","name":"self","nameLocation":"7296:4:10","nodeType":"VariableDeclaration","scope":9514,"src":"7288:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9500,"name":"address","nodeType":"ElementaryTypeName","src":"7288:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7287:14:10"},"returnParameters":{"id":9505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9504,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9514,"src":"7325:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9503,"name":"string","nodeType":"ElementaryTypeName","src":"7325:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7324:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9529,"nodeType":"FunctionDefinition","src":"7392:108:10","nodes":[],"body":{"id":9528,"nodeType":"Block","src":"7454:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9524,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9516,"src":"7487:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9522,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"7475:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"7475:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":9525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7475:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9521,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[9469,9484,9499,9514,9529],"referencedDeclaration":9469,"src":"7471:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7471:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9520,"id":9527,"nodeType":"Return","src":"7464:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7401:3:10","parameters":{"id":9517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9516,"mutability":"mutable","name":"self","nameLocation":"7410:4:10","nodeType":"VariableDeclaration","scope":9529,"src":"7405:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9515,"name":"bool","nodeType":"ElementaryTypeName","src":"7405:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7404:11:10"},"returnParameters":{"id":9520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9519,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9529,"src":"7439:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9518,"name":"string","nodeType":"ElementaryTypeName","src":"7439:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7438:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9544,"nodeType":"FunctionDefinition","src":"7506:121:10","nodes":[],"body":{"id":9543,"nodeType":"Block","src":"7581:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9539,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9531,"src":"7614:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9537,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"7602:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"7602:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":9540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7602:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9536,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[9469,9484,9499,9514,9529],"referencedDeclaration":9469,"src":"7598:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7598:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9535,"id":9542,"nodeType":"Return","src":"7591:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dimBytes","nameLocation":"7515:8:10","parameters":{"id":9532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9531,"mutability":"mutable","name":"self","nameLocation":"7537:4:10","nodeType":"VariableDeclaration","scope":9544,"src":"7524:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9530,"name":"bytes","nodeType":"ElementaryTypeName","src":"7524:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7523:19:10"},"returnParameters":{"id":9535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9534,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9544,"src":"7566:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9533,"name":"string","nodeType":"ElementaryTypeName","src":"7566:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7565:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9559,"nodeType":"FunctionDefinition","src":"7633:118:10","nodes":[],"body":{"id":9558,"nodeType":"Block","src":"7705:46:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9554,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9546,"src":"7738:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9552,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"7726:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"7726:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":9555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7726:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9551,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[9469,9484,9499,9514,9529],"referencedDeclaration":9469,"src":"7722:3:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7722:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9550,"id":9557,"nodeType":"Return","src":"7715:29:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dimBytes32","nameLocation":"7642:10:10","parameters":{"id":9547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9546,"mutability":"mutable","name":"self","nameLocation":"7661:4:10","nodeType":"VariableDeclaration","scope":9559,"src":"7653:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7653:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7652:14:10"},"returnParameters":{"id":9550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9549,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9559,"src":"7690:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9548,"name":"string","nodeType":"ElementaryTypeName","src":"7690:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7689:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9572,"nodeType":"FunctionDefinition","src":"7757:123:10","nodes":[],"body":{"id":9571,"nodeType":"Block","src":"7831:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9567,"name":"ITALIC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8706,"src":"7860:6:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9568,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9561,"src":"7868:4:10","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"}],"id":9566,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"7848:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":9569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7848:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9565,"id":9570,"nodeType":"Return","src":"7841:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"7766:6:10","parameters":{"id":9562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9561,"mutability":"mutable","name":"self","nameLocation":"7787:4:10","nodeType":"VariableDeclaration","scope":9572,"src":"7773:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9560,"name":"string","nodeType":"ElementaryTypeName","src":"7773:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7772:20:10"},"returnParameters":{"id":9565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9564,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9572,"src":"7816:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9563,"name":"string","nodeType":"ElementaryTypeName","src":"7816:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7815:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9587,"nodeType":"FunctionDefinition","src":"7886:117:10","nodes":[],"body":{"id":9586,"nodeType":"Block","src":"7954:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9582,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9574,"src":"7990:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9580,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"7978:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"7978:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":9583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7978:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9579,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[9572,9587,9602,9617,9632],"referencedDeclaration":9572,"src":"7971:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7971:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9578,"id":9585,"nodeType":"Return","src":"7964:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"7895:6:10","parameters":{"id":9575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9574,"mutability":"mutable","name":"self","nameLocation":"7910:4:10","nodeType":"VariableDeclaration","scope":9587,"src":"7902:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9573,"name":"uint256","nodeType":"ElementaryTypeName","src":"7902:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7901:14:10"},"returnParameters":{"id":9578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9577,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9587,"src":"7939:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9576,"name":"string","nodeType":"ElementaryTypeName","src":"7939:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7938:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9602,"nodeType":"FunctionDefinition","src":"8009:116:10","nodes":[],"body":{"id":9601,"nodeType":"Block","src":"8076:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9597,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9589,"src":"8112:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":9595,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"8100:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"8100:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":9598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8100:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9594,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[9572,9587,9602,9617,9632],"referencedDeclaration":9572,"src":"8093:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8093:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9593,"id":9600,"nodeType":"Return","src":"8086:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"8018:6:10","parameters":{"id":9590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9589,"mutability":"mutable","name":"self","nameLocation":"8032:4:10","nodeType":"VariableDeclaration","scope":9602,"src":"8025:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9588,"name":"int256","nodeType":"ElementaryTypeName","src":"8025:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8024:13:10"},"returnParameters":{"id":9593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9592,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9602,"src":"8061:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9591,"name":"string","nodeType":"ElementaryTypeName","src":"8061:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8060:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9617,"nodeType":"FunctionDefinition","src":"8131:117:10","nodes":[],"body":{"id":9616,"nodeType":"Block","src":"8199:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9612,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9604,"src":"8235:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9610,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"8223:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"8223:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":9613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8223:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9609,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[9572,9587,9602,9617,9632],"referencedDeclaration":9572,"src":"8216:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8216:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9608,"id":9615,"nodeType":"Return","src":"8209:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"8140:6:10","parameters":{"id":9605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9604,"mutability":"mutable","name":"self","nameLocation":"8155:4:10","nodeType":"VariableDeclaration","scope":9617,"src":"8147:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9603,"name":"address","nodeType":"ElementaryTypeName","src":"8147:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8146:14:10"},"returnParameters":{"id":9608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9607,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9617,"src":"8184:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9606,"name":"string","nodeType":"ElementaryTypeName","src":"8184:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8183:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9632,"nodeType":"FunctionDefinition","src":"8254:114:10","nodes":[],"body":{"id":9631,"nodeType":"Block","src":"8319:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9627,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9619,"src":"8355:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9625,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"8343:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"8343:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":9628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8343:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9624,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[9572,9587,9602,9617,9632],"referencedDeclaration":9572,"src":"8336:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8336:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9623,"id":9630,"nodeType":"Return","src":"8329:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"8263:6:10","parameters":{"id":9620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9619,"mutability":"mutable","name":"self","nameLocation":"8275:4:10","nodeType":"VariableDeclaration","scope":9632,"src":"8270:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9618,"name":"bool","nodeType":"ElementaryTypeName","src":"8270:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8269:11:10"},"returnParameters":{"id":9623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9622,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9632,"src":"8304:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9621,"name":"string","nodeType":"ElementaryTypeName","src":"8304:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8303:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9647,"nodeType":"FunctionDefinition","src":"8374:127:10","nodes":[],"body":{"id":9646,"nodeType":"Block","src":"8452:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9642,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9634,"src":"8488:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9640,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"8476:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"8476:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":9643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8476:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9639,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[9572,9587,9602,9617,9632],"referencedDeclaration":9572,"src":"8469:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8469:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9638,"id":9645,"nodeType":"Return","src":"8462:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italicBytes","nameLocation":"8383:11:10","parameters":{"id":9635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9634,"mutability":"mutable","name":"self","nameLocation":"8408:4:10","nodeType":"VariableDeclaration","scope":9647,"src":"8395:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9633,"name":"bytes","nodeType":"ElementaryTypeName","src":"8395:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8394:19:10"},"returnParameters":{"id":9638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9637,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9647,"src":"8437:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9636,"name":"string","nodeType":"ElementaryTypeName","src":"8437:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8436:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9662,"nodeType":"FunctionDefinition","src":"8507:124:10","nodes":[],"body":{"id":9661,"nodeType":"Block","src":"8582:49:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9657,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9649,"src":"8618:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9655,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"8606:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"8606:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":9658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8606:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9654,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[9572,9587,9602,9617,9632],"referencedDeclaration":9572,"src":"8599:6:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8599:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9653,"id":9660,"nodeType":"Return","src":"8592:32:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italicBytes32","nameLocation":"8516:13:10","parameters":{"id":9650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9649,"mutability":"mutable","name":"self","nameLocation":"8538:4:10","nodeType":"VariableDeclaration","scope":9662,"src":"8530:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9648,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8530:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8529:14:10"},"returnParameters":{"id":9653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9652,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9662,"src":"8567:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9651,"name":"string","nodeType":"ElementaryTypeName","src":"8567:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8566:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9675,"nodeType":"FunctionDefinition","src":"8637:129:10","nodes":[],"body":{"id":9674,"nodeType":"Block","src":"8714:52:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9670,"name":"UNDERLINE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8709,"src":"8743:9:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9671,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9664,"src":"8754:4:10","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"}],"id":9669,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"8731:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":9672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8731:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9668,"id":9673,"nodeType":"Return","src":"8724:35:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"8646:9:10","parameters":{"id":9665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9664,"mutability":"mutable","name":"self","nameLocation":"8670:4:10","nodeType":"VariableDeclaration","scope":9675,"src":"8656:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9663,"name":"string","nodeType":"ElementaryTypeName","src":"8656:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8655:20:10"},"returnParameters":{"id":9668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9667,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9675,"src":"8699:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9666,"name":"string","nodeType":"ElementaryTypeName","src":"8699:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8698:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9690,"nodeType":"FunctionDefinition","src":"8772:123:10","nodes":[],"body":{"id":9689,"nodeType":"Block","src":"8843:52:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9685,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9677,"src":"8882:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9683,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"8870:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"8870:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":9686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8870:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9682,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[9675,9690,9705,9720,9735],"referencedDeclaration":9675,"src":"8860:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8860:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9681,"id":9688,"nodeType":"Return","src":"8853:35:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"8781:9:10","parameters":{"id":9678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9677,"mutability":"mutable","name":"self","nameLocation":"8799:4:10","nodeType":"VariableDeclaration","scope":9690,"src":"8791:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9676,"name":"uint256","nodeType":"ElementaryTypeName","src":"8791:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8790:14:10"},"returnParameters":{"id":9681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9680,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9690,"src":"8828:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9679,"name":"string","nodeType":"ElementaryTypeName","src":"8828:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8827:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9705,"nodeType":"FunctionDefinition","src":"8901:122:10","nodes":[],"body":{"id":9704,"nodeType":"Block","src":"8971:52:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9700,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9692,"src":"9010:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":9698,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"8998:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"8998:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":9701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8998:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9697,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[9675,9690,9705,9720,9735],"referencedDeclaration":9675,"src":"8988:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8988:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9696,"id":9703,"nodeType":"Return","src":"8981:35:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"8910:9:10","parameters":{"id":9693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9692,"mutability":"mutable","name":"self","nameLocation":"8927:4:10","nodeType":"VariableDeclaration","scope":9705,"src":"8920:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9691,"name":"int256","nodeType":"ElementaryTypeName","src":"8920:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8919:13:10"},"returnParameters":{"id":9696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9695,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9705,"src":"8956:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9694,"name":"string","nodeType":"ElementaryTypeName","src":"8956:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8955:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9720,"nodeType":"FunctionDefinition","src":"9029:123:10","nodes":[],"body":{"id":9719,"nodeType":"Block","src":"9100:52:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9715,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9707,"src":"9139:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9713,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"9127:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"9127:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":9716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9127:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9712,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[9675,9690,9705,9720,9735],"referencedDeclaration":9675,"src":"9117:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9117:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9711,"id":9718,"nodeType":"Return","src":"9110:35:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"9038:9:10","parameters":{"id":9708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9707,"mutability":"mutable","name":"self","nameLocation":"9056:4:10","nodeType":"VariableDeclaration","scope":9720,"src":"9048:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9706,"name":"address","nodeType":"ElementaryTypeName","src":"9048:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9047:14:10"},"returnParameters":{"id":9711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9710,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9720,"src":"9085:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9709,"name":"string","nodeType":"ElementaryTypeName","src":"9085:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9084:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9735,"nodeType":"FunctionDefinition","src":"9158:120:10","nodes":[],"body":{"id":9734,"nodeType":"Block","src":"9226:52:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9730,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9722,"src":"9265:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9728,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"9253:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"9253:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":9731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9253:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9727,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[9675,9690,9705,9720,9735],"referencedDeclaration":9675,"src":"9243:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9243:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9726,"id":9733,"nodeType":"Return","src":"9236:35:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"9167:9:10","parameters":{"id":9723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9722,"mutability":"mutable","name":"self","nameLocation":"9182:4:10","nodeType":"VariableDeclaration","scope":9735,"src":"9177:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9721,"name":"bool","nodeType":"ElementaryTypeName","src":"9177:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9176:11:10"},"returnParameters":{"id":9726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9725,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9735,"src":"9211:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9724,"name":"string","nodeType":"ElementaryTypeName","src":"9211:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9210:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9750,"nodeType":"FunctionDefinition","src":"9284:133:10","nodes":[],"body":{"id":9749,"nodeType":"Block","src":"9365:52:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9745,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9737,"src":"9404:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9743,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"9392:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"9392:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":9746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9392:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9742,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[9675,9690,9705,9720,9735],"referencedDeclaration":9675,"src":"9382:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9382:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9741,"id":9748,"nodeType":"Return","src":"9375:35:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underlineBytes","nameLocation":"9293:14:10","parameters":{"id":9738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9737,"mutability":"mutable","name":"self","nameLocation":"9321:4:10","nodeType":"VariableDeclaration","scope":9750,"src":"9308:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9736,"name":"bytes","nodeType":"ElementaryTypeName","src":"9308:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9307:19:10"},"returnParameters":{"id":9741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9740,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9750,"src":"9350:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9739,"name":"string","nodeType":"ElementaryTypeName","src":"9350:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9349:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9765,"nodeType":"FunctionDefinition","src":"9423:130:10","nodes":[],"body":{"id":9764,"nodeType":"Block","src":"9501:52:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9760,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9752,"src":"9540:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9758,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"9528:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"9528:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":9761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9528:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9757,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[9675,9690,9705,9720,9735],"referencedDeclaration":9675,"src":"9518:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9518:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9756,"id":9763,"nodeType":"Return","src":"9511:35:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underlineBytes32","nameLocation":"9432:16:10","parameters":{"id":9753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9752,"mutability":"mutable","name":"self","nameLocation":"9457:4:10","nodeType":"VariableDeclaration","scope":9765,"src":"9449:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9449:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9448:14:10"},"returnParameters":{"id":9756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9755,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9765,"src":"9486:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9754,"name":"string","nodeType":"ElementaryTypeName","src":"9486:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9485:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9778,"nodeType":"FunctionDefinition","src":"9559:125:10","nodes":[],"body":{"id":9777,"nodeType":"Block","src":"9634:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":9773,"name":"INVERSE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8712,"src":"9663:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":9774,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9767,"src":"9672:4:10","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"}],"id":9772,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8735,"src":"9651:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":9775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9651:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9771,"id":9776,"nodeType":"Return","src":"9644:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9568:7:10","parameters":{"id":9768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9767,"mutability":"mutable","name":"self","nameLocation":"9590:4:10","nodeType":"VariableDeclaration","scope":9778,"src":"9576:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9766,"name":"string","nodeType":"ElementaryTypeName","src":"9576:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9575:20:10"},"returnParameters":{"id":9771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9770,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9778,"src":"9619:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9769,"name":"string","nodeType":"ElementaryTypeName","src":"9619:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9618:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9793,"nodeType":"FunctionDefinition","src":"9690:119:10","nodes":[],"body":{"id":9792,"nodeType":"Block","src":"9759:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9788,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9780,"src":"9796:4:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9786,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"9784:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11244,"src":"9784:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":9789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9784:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9785,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[9778,9793,9808,9823,9838],"referencedDeclaration":9778,"src":"9776:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9776:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9784,"id":9791,"nodeType":"Return","src":"9769:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9699:7:10","parameters":{"id":9781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9780,"mutability":"mutable","name":"self","nameLocation":"9715:4:10","nodeType":"VariableDeclaration","scope":9793,"src":"9707:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9779,"name":"uint256","nodeType":"ElementaryTypeName","src":"9707:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9706:14:10"},"returnParameters":{"id":9784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9783,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9793,"src":"9744:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9782,"name":"string","nodeType":"ElementaryTypeName","src":"9744:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9743:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9808,"nodeType":"FunctionDefinition","src":"9815:118:10","nodes":[],"body":{"id":9807,"nodeType":"Block","src":"9883:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9803,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9795,"src":"9920:4:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":9801,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"9908:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"9908:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":9804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9908:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9800,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[9778,9793,9808,9823,9838],"referencedDeclaration":9778,"src":"9900:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9900:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9799,"id":9806,"nodeType":"Return","src":"9893:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9824:7:10","parameters":{"id":9796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9795,"mutability":"mutable","name":"self","nameLocation":"9839:4:10","nodeType":"VariableDeclaration","scope":9808,"src":"9832:11:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9794,"name":"int256","nodeType":"ElementaryTypeName","src":"9832:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9831:13:10"},"returnParameters":{"id":9799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9798,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9808,"src":"9868:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9797,"name":"string","nodeType":"ElementaryTypeName","src":"9868:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9867:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9823,"nodeType":"FunctionDefinition","src":"9939:119:10","nodes":[],"body":{"id":9822,"nodeType":"Block","src":"10008:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9818,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9810,"src":"10045:4:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9816,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"10033:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11216,"src":"10033:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":9819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10033:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9815,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[9778,9793,9808,9823,9838],"referencedDeclaration":9778,"src":"10025:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10025:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9814,"id":9821,"nodeType":"Return","src":"10018:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9948:7:10","parameters":{"id":9811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9810,"mutability":"mutable","name":"self","nameLocation":"9964:4:10","nodeType":"VariableDeclaration","scope":9823,"src":"9956:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9809,"name":"address","nodeType":"ElementaryTypeName","src":"9956:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9955:14:10"},"returnParameters":{"id":9814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9813,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9823,"src":"9993:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9812,"name":"string","nodeType":"ElementaryTypeName","src":"9993:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9992:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9838,"nodeType":"FunctionDefinition","src":"10064:116:10","nodes":[],"body":{"id":9837,"nodeType":"Block","src":"10130:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9833,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9825,"src":"10167:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9831,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"10155:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11237,"src":"10155:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":9834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10155:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9830,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[9778,9793,9808,9823,9838],"referencedDeclaration":9778,"src":"10147:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10147:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9829,"id":9836,"nodeType":"Return","src":"10140:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"10073:7:10","parameters":{"id":9826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9825,"mutability":"mutable","name":"self","nameLocation":"10086:4:10","nodeType":"VariableDeclaration","scope":9838,"src":"10081:9:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9824,"name":"bool","nodeType":"ElementaryTypeName","src":"10081:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10080:11:10"},"returnParameters":{"id":9829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9828,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9838,"src":"10115:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9827,"name":"string","nodeType":"ElementaryTypeName","src":"10115:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10114:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9853,"nodeType":"FunctionDefinition","src":"10186:129:10","nodes":[],"body":{"id":9852,"nodeType":"Block","src":"10265:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9848,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9840,"src":"10302:4:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":9846,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"10290:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11223,"src":"10290:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":9849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10290:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9845,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[9778,9793,9808,9823,9838],"referencedDeclaration":9778,"src":"10282:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10282:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9844,"id":9851,"nodeType":"Return","src":"10275:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverseBytes","nameLocation":"10195:12:10","parameters":{"id":9841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9840,"mutability":"mutable","name":"self","nameLocation":"10221:4:10","nodeType":"VariableDeclaration","scope":9853,"src":"10208:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9839,"name":"bytes","nodeType":"ElementaryTypeName","src":"10208:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10207:19:10"},"returnParameters":{"id":9844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9853,"src":"10250:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9842,"name":"string","nodeType":"ElementaryTypeName","src":"10250:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10249:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9868,"nodeType":"FunctionDefinition","src":"10321:126:10","nodes":[],"body":{"id":9867,"nodeType":"Block","src":"10397:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9863,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9855,"src":"10434:4:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9861,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8679,"src":"10422:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":9862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11230,"src":"10422:11:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":9864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10422:17:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9860,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[9778,9793,9808,9823,9838],"referencedDeclaration":9778,"src":"10414:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":9865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10414:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":9859,"id":9866,"nodeType":"Return","src":"10407:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverseBytes32","nameLocation":"10330:14:10","parameters":{"id":9856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9855,"mutability":"mutable","name":"self","nameLocation":"10353:4:10","nodeType":"VariableDeclaration","scope":9868,"src":"10345:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9854,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10345:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10344:14:10"},"returnParameters":{"id":9859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9858,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9868,"src":"10382:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9857,"name":"string","nodeType":"ElementaryTypeName","src":"10382:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10381:15:10"},"scope":9869,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"StdStyle","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[9869],"name":"StdStyle","nameLocation":"104:8:10","scope":9870,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/StdUtils.sol":{"id":11,"ast":{"absolutePath":"lib/forge-std/src/StdUtils.sol","id":10677,"exportedSymbols":{"IMulticall3":[28360],"StdUtils":[10676],"VmSafe":[11690]},"nodeType":"SourceUnit","src":"32:10067:11","nodes":[{"id":9871,"nodeType":"PragmaDirective","src":"32:31:11","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":9872,"nodeType":"PragmaDirective","src":"65:33:11","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":9874,"nodeType":"ImportDirective","src":"100:57:11","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IMulticall3.sol","file":"./interfaces/IMulticall3.sol","nameLocation":"-1:-1:-1","scope":10677,"sourceUnit":28361,"symbolAliases":[{"foreign":{"id":9873,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28360,"src":"108:11:11","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$28360_$","typeString":"type(contract IMulticall3)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":9876,"nodeType":"ImportDirective","src":"181:32:11","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":10677,"sourceUnit":12038,"symbolAliases":[{"foreign":{"id":9875,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"189:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$11690_$","typeString":"type(contract VmSafe)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10676,"nodeType":"ContractDefinition","src":"215:9883:11","nodes":[{"id":9882,"nodeType":"VariableDeclaration","src":"458:96:11","nodes":[],"constant":true,"mutability":"constant","name":"multicall","nameLocation":"487:9:11","scope":10676,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$28360","typeString":"contract IMulticall3"},"typeName":{"id":9878,"nodeType":"UserDefinedTypeName","pathNode":{"id":9877,"name":"IMulticall3","nodeType":"IdentifierPath","referencedDeclaration":28360,"src":"458:11:11"},"referencedDeclaration":28360,"src":"458:11:11","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$28360","typeString":"contract IMulticall3"}},"value":{"arguments":[{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":9880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"511:42:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9879,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28360,"src":"499:11:11","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$28360_$","typeString":"type(contract IMulticall3)"}},"id":9881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"499:55:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$28360","typeString":"contract IMulticall3"}},"visibility":"private"},{"id":9899,"nodeType":"VariableDeclaration","src":"560:92:11","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"584:2:11","scope":10676,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"},"typeName":{"id":9884,"nodeType":"UserDefinedTypeName","pathNode":{"id":9883,"name":"VmSafe","nodeType":"IdentifierPath","referencedDeclaration":11690,"src":"560:6:11"},"referencedDeclaration":11690,"src":"560:6:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":9893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"630:17:11","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":9892,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"620:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"620:28:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9891,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"612:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9890,"name":"uint256","nodeType":"ElementaryTypeName","src":"612:7:11","typeDescriptions":{}}},"id":9895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"612:37:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"604:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":9888,"name":"uint160","nodeType":"ElementaryTypeName","src":"604:7:11","typeDescriptions":{}}},"id":9896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"604:46:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":9887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"596:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9886,"name":"address","nodeType":"ElementaryTypeName","src":"596:7:11","typeDescriptions":{}}},"id":9897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"596:55:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9885,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"589:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$11690_$","typeString":"type(contract VmSafe)"}},"id":9898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"589:63:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"visibility":"private"},{"id":9902,"nodeType":"VariableDeclaration","src":"658:86:11","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE2_ADDRESS","nameLocation":"683:16:11","scope":10676,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9900,"name":"address","nodeType":"ElementaryTypeName","src":"658:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":9901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"702:42:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"private"},{"id":9905,"nodeType":"VariableDeclaration","src":"750:127:11","nodes":[],"constant":true,"mutability":"constant","name":"INT256_MIN_ABS","nameLocation":"775:14:11","scope":10676,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9903,"name":"uint256","nodeType":"ElementaryTypeName","src":"750:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":9904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"800:77:11","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"visibility":"private"},{"id":9908,"nodeType":"VariableDeclaration","src":"883:125:11","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"908:11:11","scope":10676,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9906,"name":"uint256","nodeType":"ElementaryTypeName","src":"883:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":9907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"930:78:11","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"private"},{"id":9911,"nodeType":"VariableDeclaration","src":"1127:85:11","nodes":[],"constant":true,"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"1152:15:11","scope":10676,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9909,"name":"address","nodeType":"ElementaryTypeName","src":"1127:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":9910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1170:42:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"private"},{"id":10041,"nodeType":"FunctionDefinition","src":"1434:1263:11","nodes":[],"body":{"id":10040,"nodeType":"Block","src":"1534:1163:11","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9923,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9915,"src":"1552:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":9924,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9917,"src":"1559:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1552:10:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320626f756e642875696e743235362c75696e743235362c75696e74323536293a204d6178206973206c657373207468616e206d696e2e","id":9926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1564:64:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_16c21f4eccdbbd49e5dc1331f271d929c25cafaf25207892b67e15553a16c5f2","typeString":"literal_string \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\""},"value":"StdUtils bound(uint256,uint256,uint256): Max is less than min."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_16c21f4eccdbbd49e5dc1331f271d929c25cafaf25207892b67e15553a16c5f2","typeString":"literal_string \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\""}],"id":9922,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1544:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1544:85:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9928,"nodeType":"ExpressionStatement","src":"1544:85:11"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9929,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"1858:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":9930,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9915,"src":"1863:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1858:8:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9932,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"1870:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":9933,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9917,"src":"1875:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1870:8:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1858:20:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9938,"nodeType":"IfStatement","src":"1854:34:11","trueBody":{"expression":{"id":9936,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"1887:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9921,"id":9937,"nodeType":"Return","src":"1880:8:11"}},{"assignments":[9940],"declarations":[{"constant":false,"id":9940,"mutability":"mutable","name":"size","nameLocation":"1907:4:11","nodeType":"VariableDeclaration","scope":10040,"src":"1899:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9939,"name":"uint256","nodeType":"ElementaryTypeName","src":"1899:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9946,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9941,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9917,"src":"1914:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":9942,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9915,"src":"1920:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1914:9:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":9944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1926:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1914:13:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1899:28:11"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9947,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2117:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"33","id":9948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2122:1:11","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2117:6:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9950,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9940,"src":"2127:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":9951,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2134:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2127:8:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2117:18:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9958,"nodeType":"IfStatement","src":"2113:38:11","trueBody":{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9954,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9915,"src":"2144:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":9955,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2150:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2144:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9921,"id":9957,"nodeType":"Return","src":"2137:14:11"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":9969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9959,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2165:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":9960,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9908,"src":"2170:11:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"33","id":9961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2184:1:11","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2170:15:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2165:20:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9964,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9940,"src":"2189:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9965,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9908,"src":"2196:11:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":9966,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2210:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2196:15:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2189:22:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2165:46:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9977,"nodeType":"IfStatement","src":"2161:82:11","trueBody":{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9970,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9917,"src":"2220:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9971,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9908,"src":"2227:11:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":9972,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2241:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2227:15:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9974,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2226:17:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2220:23:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9921,"id":9976,"nodeType":"Return","src":"2213:30:11"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9978,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2343:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":9979,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9917,"src":"2347:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2343:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10008,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2522:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":10009,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9915,"src":"2526:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2522:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10038,"nodeType":"IfStatement","src":"2518:173:11","trueBody":{"id":10037,"nodeType":"Block","src":"2531:160:11","statements":[{"assignments":[10012],"declarations":[{"constant":false,"id":10012,"mutability":"mutable","name":"diff","nameLocation":"2553:4:11","nodeType":"VariableDeclaration","scope":10037,"src":"2545:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10011,"name":"uint256","nodeType":"ElementaryTypeName","src":"2545:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10016,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10013,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9915,"src":"2560:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":10014,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2566:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2560:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2545:22:11"},{"assignments":[10018],"declarations":[{"constant":false,"id":10018,"mutability":"mutable","name":"rem","nameLocation":"2589:3:11","nodeType":"VariableDeclaration","scope":10037,"src":"2581:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10017,"name":"uint256","nodeType":"ElementaryTypeName","src":"2581:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10022,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10019,"name":"diff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10012,"src":"2595:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":10020,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9940,"src":"2602:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2595:11:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2581:25:11"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10023,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10018,"src":"2624:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":10024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2631:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2624:8:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10028,"nodeType":"IfStatement","src":"2620:24:11","trueBody":{"expression":{"id":10026,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9915,"src":"2641:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9921,"id":10027,"nodeType":"Return","src":"2634:10:11"}},{"expression":{"id":10035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10029,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9920,"src":"2658:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10030,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9917,"src":"2667:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":10031,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10018,"src":"2673:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2667:9:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":10033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2679:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2667:13:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2658:22:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10036,"nodeType":"ExpressionStatement","src":"2658:22:11"}]}},"id":10039,"nodeType":"IfStatement","src":"2339:352:11","trueBody":{"id":10007,"nodeType":"Block","src":"2352:160:11","statements":[{"assignments":[9982],"declarations":[{"constant":false,"id":9982,"mutability":"mutable","name":"diff","nameLocation":"2374:4:11","nodeType":"VariableDeclaration","scope":10007,"src":"2366:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9981,"name":"uint256","nodeType":"ElementaryTypeName","src":"2366:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9986,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9983,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9913,"src":"2381:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":9984,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9917,"src":"2385:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2381:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2366:22:11"},{"assignments":[9988],"declarations":[{"constant":false,"id":9988,"mutability":"mutable","name":"rem","nameLocation":"2410:3:11","nodeType":"VariableDeclaration","scope":10007,"src":"2402:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9987,"name":"uint256","nodeType":"ElementaryTypeName","src":"2402:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9992,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9989,"name":"diff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9982,"src":"2416:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":9990,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9940,"src":"2423:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2416:11:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2402:25:11"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9993,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9988,"src":"2445:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2452:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2445:8:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9998,"nodeType":"IfStatement","src":"2441:24:11","trueBody":{"expression":{"id":9996,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9917,"src":"2462:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9921,"id":9997,"nodeType":"Return","src":"2455:10:11"}},{"expression":{"id":10005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9999,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9920,"src":"2479:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10000,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9915,"src":"2488:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":10001,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9988,"src":"2494:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2488:9:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2500:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2488:13:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2479:22:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10006,"nodeType":"ExpressionStatement","src":"2479:22:11"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_bound","nameLocation":"1443:6:11","parameters":{"id":9918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9913,"mutability":"mutable","name":"x","nameLocation":"1458:1:11","nodeType":"VariableDeclaration","scope":10041,"src":"1450:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9912,"name":"uint256","nodeType":"ElementaryTypeName","src":"1450:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9915,"mutability":"mutable","name":"min","nameLocation":"1469:3:11","nodeType":"VariableDeclaration","scope":10041,"src":"1461:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9914,"name":"uint256","nodeType":"ElementaryTypeName","src":"1461:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9917,"mutability":"mutable","name":"max","nameLocation":"1482:3:11","nodeType":"VariableDeclaration","scope":10041,"src":"1474:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9916,"name":"uint256","nodeType":"ElementaryTypeName","src":"1474:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1449:37:11"},"returnParameters":{"id":9921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9920,"mutability":"mutable","name":"result","nameLocation":"1526:6:11","nodeType":"VariableDeclaration","scope":10041,"src":"1518:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9919,"name":"uint256","nodeType":"ElementaryTypeName","src":"1518:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1517:16:11"},"scope":10676,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":10066,"nodeType":"FunctionDefinition","src":"2703:190:11","nodes":[],"body":{"id":10065,"nodeType":"Block","src":"2802:91:11","nodes":[],"statements":[{"expression":{"id":10058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10052,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10050,"src":"2812:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":10054,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10043,"src":"2828:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10055,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10045,"src":"2831:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10056,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10047,"src":"2836:3:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10053,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10041,"src":"2821:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":10057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2821:19:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2812:28:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10059,"nodeType":"ExpressionStatement","src":"2812:28:11"},{"expression":{"arguments":[{"hexValue":"426f756e6420526573756c74","id":10061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2863:14:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_237b64d156191d73cf174e4433495e27feb7a7083e87d06235be591548fb5c52","typeString":"literal_string \"Bound Result\""},"value":"Bound Result"},{"id":10062,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10050,"src":"2879:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_237b64d156191d73cf174e4433495e27feb7a7083e87d06235be591548fb5c52","typeString":"literal_string \"Bound Result\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10060,"name":"console2_log","nodeType":"Identifier","overloadedDeclarations":[10650,10675],"referencedDeclaration":10650,"src":"2850:12:11","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":10063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2850:36:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10064,"nodeType":"ExpressionStatement","src":"2850:36:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bound","nameLocation":"2712:5:11","parameters":{"id":10048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10043,"mutability":"mutable","name":"x","nameLocation":"2726:1:11","nodeType":"VariableDeclaration","scope":10066,"src":"2718:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10042,"name":"uint256","nodeType":"ElementaryTypeName","src":"2718:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10045,"mutability":"mutable","name":"min","nameLocation":"2737:3:11","nodeType":"VariableDeclaration","scope":10066,"src":"2729:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10044,"name":"uint256","nodeType":"ElementaryTypeName","src":"2729:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10047,"mutability":"mutable","name":"max","nameLocation":"2750:3:11","nodeType":"VariableDeclaration","scope":10066,"src":"2742:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10046,"name":"uint256","nodeType":"ElementaryTypeName","src":"2742:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2717:37:11"},"returnParameters":{"id":10051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10050,"mutability":"mutable","name":"result","nameLocation":"2794:6:11","nodeType":"VariableDeclaration","scope":10066,"src":"2786:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10049,"name":"uint256","nodeType":"ElementaryTypeName","src":"2786:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2785:16:11"},"scope":10676,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":10196,"nodeType":"FunctionDefinition","src":"2899:1203:11","nodes":[],"body":{"id":10195,"nodeType":"Block","src":"2994:1108:11","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":10080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10078,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10070,"src":"3012:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":10079,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10072,"src":"3019:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"3012:10:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320626f756e6428696e743235362c696e743235362c696e74323536293a204d6178206973206c657373207468616e206d696e2e","id":10081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3024:61:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_0fd736be0f0596d130ab62399a2ecc4855db1de6a3b01be590df45aa0de73247","typeString":"literal_string \"StdUtils bound(int256,int256,int256): Max is less than min.\""},"value":"StdUtils bound(int256,int256,int256): Max is less than min."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0fd736be0f0596d130ab62399a2ecc4855db1de6a3b01be590df45aa0de73247","typeString":"literal_string \"StdUtils bound(int256,int256,int256): Max is less than min.\""}],"id":10077,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3004:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3004:82:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10083,"nodeType":"ExpressionStatement","src":"3004:82:11"},{"assignments":[10085],"declarations":[{"constant":false,"id":10085,"mutability":"mutable","name":"_x","nameLocation":"3522:2:11","nodeType":"VariableDeclaration","scope":10195,"src":"3514:10:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10084,"name":"uint256","nodeType":"ElementaryTypeName","src":"3514:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10107,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":10088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10086,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10068,"src":"3527:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":10087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3531:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3527:5:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":10101,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10068,"src":"3581:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":10100,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3573:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10099,"name":"uint256","nodeType":"ElementaryTypeName","src":"3573:7:11","typeDescriptions":{}}},"id":10102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3573:10:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":10103,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9905,"src":"3586:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3573:27:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10105,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3572:29:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3527:74:11","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10089,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9905,"src":"3536:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":10094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3553:11:11","subExpression":{"arguments":[{"id":10092,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10068,"src":"3562:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":10091,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3554:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10090,"name":"uint256","nodeType":"ElementaryTypeName","src":"3554:7:11","typeDescriptions":{}}},"id":10093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3554:10:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3536:28:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3567:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3536:32:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10098,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3535:34:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3514:87:11"},{"assignments":[10109],"declarations":[{"constant":false,"id":10109,"mutability":"mutable","name":"_min","nameLocation":"3619:4:11","nodeType":"VariableDeclaration","scope":10195,"src":"3611:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10108,"name":"uint256","nodeType":"ElementaryTypeName","src":"3611:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10131,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":10112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10110,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10070,"src":"3626:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":10111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3632:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3626:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":10125,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10070,"src":"3684:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":10124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3676:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10123,"name":"uint256","nodeType":"ElementaryTypeName","src":"3676:7:11","typeDescriptions":{}}},"id":10126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3676:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":10127,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9905,"src":"3691:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3676:29:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10129,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3675:31:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3626:80:11","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10113,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9905,"src":"3637:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":10118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3654:13:11","subExpression":{"arguments":[{"id":10116,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10070,"src":"3663:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":10115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3655:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10114,"name":"uint256","nodeType":"ElementaryTypeName","src":"3655:7:11","typeDescriptions":{}}},"id":10117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3655:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3637:30:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3670:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3637:34:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10122,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3636:36:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3611:95:11"},{"assignments":[10133],"declarations":[{"constant":false,"id":10133,"mutability":"mutable","name":"_max","nameLocation":"3724:4:11","nodeType":"VariableDeclaration","scope":10195,"src":"3716:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10132,"name":"uint256","nodeType":"ElementaryTypeName","src":"3716:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10155,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":10136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10134,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10072,"src":"3731:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":10135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3737:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3731:7:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":10149,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10072,"src":"3789:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":10148,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3781:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10147,"name":"uint256","nodeType":"ElementaryTypeName","src":"3781:7:11","typeDescriptions":{}}},"id":10150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3781:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":10151,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9905,"src":"3796:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3781:29:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10153,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3780:31:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3731:80:11","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10137,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9905,"src":"3742:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":10142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3759:13:11","subExpression":{"arguments":[{"id":10140,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10072,"src":"3768:3:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":10139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3760:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10138,"name":"uint256","nodeType":"ElementaryTypeName","src":"3760:7:11","typeDescriptions":{}}},"id":10141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3760:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3742:30:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3775:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3742:34:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10146,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3741:36:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3716:95:11"},{"assignments":[10157],"declarations":[{"constant":false,"id":10157,"mutability":"mutable","name":"y","nameLocation":"3830:1:11","nodeType":"VariableDeclaration","scope":10195,"src":"3822:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10156,"name":"uint256","nodeType":"ElementaryTypeName","src":"3822:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10163,"initialValue":{"arguments":[{"id":10159,"name":"_x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10085,"src":"3841:2:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10160,"name":"_min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10109,"src":"3845:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":10161,"name":"_max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10133,"src":"3851:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10158,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10041,"src":"3834:6:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":10162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3834:22:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3822:34:11"},{"expression":{"id":10185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10164,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10075,"src":"3944:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10165,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10157,"src":"3953:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":10166,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9905,"src":"3957:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3953:18:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10180,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10157,"src":"4017:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":10181,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9905,"src":"4021:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4017:18:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4010:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":10178,"name":"int256","nodeType":"ElementaryTypeName","src":"4010:6:11","typeDescriptions":{}}},"id":10183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4010:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":10184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3953:83:11","trueExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3981:21:11","subExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10170,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9905,"src":"3983:14:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":10171,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10157,"src":"4000:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3983:18:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10173,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3982:20:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":10175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4005:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3981:25:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10169,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3974:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":10168,"name":"int256","nodeType":"ElementaryTypeName","src":"3974:6:11","typeDescriptions":{}}},"id":10177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3974:33:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"3944:92:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":10186,"nodeType":"ExpressionStatement","src":"3944:92:11"},{"expression":{"arguments":[{"hexValue":"426f756e6420726573756c74","id":10188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4059:14:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},"value":"Bound result"},{"arguments":[{"id":10191,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10075,"src":"4087:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10189,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9899,"src":"4075:2:11","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$11690","typeString":"contract VmSafe"}},"id":10190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":11251,"src":"4075:11:11","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4075:19:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10187,"name":"console2_log","nodeType":"Identifier","overloadedDeclarations":[10650,10675],"referencedDeclaration":10675,"src":"4046:12:11","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) view"}},"id":10193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4046:49:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10194,"nodeType":"ExpressionStatement","src":"4046:49:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bound","nameLocation":"2908:5:11","parameters":{"id":10073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10068,"mutability":"mutable","name":"x","nameLocation":"2921:1:11","nodeType":"VariableDeclaration","scope":10196,"src":"2914:8:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10067,"name":"int256","nodeType":"ElementaryTypeName","src":"2914:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":10070,"mutability":"mutable","name":"min","nameLocation":"2931:3:11","nodeType":"VariableDeclaration","scope":10196,"src":"2924:10:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10069,"name":"int256","nodeType":"ElementaryTypeName","src":"2924:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":10072,"mutability":"mutable","name":"max","nameLocation":"2943:3:11","nodeType":"VariableDeclaration","scope":10196,"src":"2936:10:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10071,"name":"int256","nodeType":"ElementaryTypeName","src":"2936:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2913:34:11"},"returnParameters":{"id":10076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10075,"mutability":"mutable","name":"result","nameLocation":"2986:6:11","nodeType":"VariableDeclaration","scope":10196,"src":"2979:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10074,"name":"int256","nodeType":"ElementaryTypeName","src":"2979:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2978:15:11"},"scope":10676,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":10230,"nodeType":"FunctionDefinition","src":"4108:259:11","nodes":[],"body":{"id":10229,"nodeType":"Block","src":"4185:182:11","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10204,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10198,"src":"4203:1:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4203:8:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3332","id":10206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4215:2:11","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"4203:14:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c73206279746573546f55696e74286279746573293a204279746573206c656e67746820657863656564732033322e","id":10208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4219:55:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_15bc16f8ce72c26d4fbf91f28e31f7cbe900e6386b04cf90f353bff0f5b2da88","typeString":"literal_string \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\""},"value":"StdUtils bytesToUint(bytes): Bytes length exceeds 32."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_15bc16f8ce72c26d4fbf91f28e31f7cbe900e6386b04cf90f353bff0f5b2da88","typeString":"literal_string \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\""}],"id":10203,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4195:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4195:80:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10210,"nodeType":"ExpressionStatement","src":"4195:80:11"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":10217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4330:2:11","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":10218,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10198,"src":"4335:1:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":10219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4335:8:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4330:13:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4320:9:11","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":10215,"name":"bytes","nodeType":"ElementaryTypeName","src":"4324:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":10221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4320:24:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":10222,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10198,"src":"4346:1:11","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":10213,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4303:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"4303:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4303:45:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":10225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4351:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10224,"name":"uint256","nodeType":"ElementaryTypeName","src":"4351:7:11","typeDescriptions":{}}}],"id":10226,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4350:9:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":10211,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4292:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"4292:10:11","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":10227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4292:68:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10202,"id":10228,"nodeType":"Return","src":"4285:75:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bytesToUint","nameLocation":"4117:11:11","parameters":{"id":10199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10198,"mutability":"mutable","name":"b","nameLocation":"4142:1:11","nodeType":"VariableDeclaration","scope":10230,"src":"4129:14:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10197,"name":"bytes","nodeType":"ElementaryTypeName","src":"4129:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4128:16:11"},"returnParameters":{"id":10202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10201,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10230,"src":"4176:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10200,"name":"uint256","nodeType":"ElementaryTypeName","src":"4176:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4175:9:11"},"scope":10676,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":10415,"nodeType":"FunctionDefinition","src":"4601:1962:11","nodes":[],"body":{"id":10414,"nodeType":"Block","src":"4704:1859:11","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10240,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"5030:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783030","id":10241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5039:4:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0x00"},"src":"5030:13:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10264,"nodeType":"IfStatement","src":"5026:134:11","trueBody":{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786436","id":10249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5114:4:11","typeDescriptions":{"typeIdentifier":"t_rational_214_by_1","typeString":"int_const 214"},"value":"0xd6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_214_by_1","typeString":"int_const 214"}],"id":10248,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5107:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10247,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5107:6:11","typeDescriptions":{}}},"id":10250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5107:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":10253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5128:4:11","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":10252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5121:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10251,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5121:6:11","typeDescriptions":{}}},"id":10254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5121:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":10255,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10233,"src":"5135:8:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783830","id":10258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5152:4:11","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"0x80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"}],"id":10257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5145:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10256,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5145:6:11","typeDescriptions":{}}},"id":10259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5145:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"expression":{"id":10245,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5090:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"5090:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5090:68:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10244,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5080:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5080:79:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10243,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10625,"src":"5057:22:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":10262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5057:103:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10239,"id":10263,"nodeType":"Return","src":"5050:110:11"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10265,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"5174:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30783766","id":10266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5183:4:11","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"0x7f"},"src":"5174:13:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10289,"nodeType":"IfStatement","src":"5170:134:11","trueBody":{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786436","id":10274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5258:4:11","typeDescriptions":{"typeIdentifier":"t_rational_214_by_1","typeString":"int_const 214"},"value":"0xd6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_214_by_1","typeString":"int_const 214"}],"id":10273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5251:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10272,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5251:6:11","typeDescriptions":{}}},"id":10275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5251:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":10278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5272:4:11","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":10277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5265:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10276,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5265:6:11","typeDescriptions":{}}},"id":10279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5265:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":10280,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10233,"src":"5279:8:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":10283,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"5295:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10282,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5289:5:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":10281,"name":"uint8","nodeType":"ElementaryTypeName","src":"5289:5:11","typeDescriptions":{}}},"id":10284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5289:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":10270,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5234:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"5234:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5234:68:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10269,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5224:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5224:79:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10268,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10625,"src":"5201:22:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":10287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5201:103:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10239,"id":10288,"nodeType":"Return","src":"5194:110:11"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10290,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"5457:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"id":10295,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"id":10293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":10291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5466:1:11","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":10292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5469:1:11","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"5466:4:11","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5473:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5466:8:11","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}},"src":"5457:17:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10322,"nodeType":"IfStatement","src":"5453:148:11","trueBody":{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786437","id":10303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5541:4:11","typeDescriptions":{"typeIdentifier":"t_rational_215_by_1","typeString":"int_const 215"},"value":"0xd7"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_215_by_1","typeString":"int_const 215"}],"id":10302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5534:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10301,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5534:6:11","typeDescriptions":{}}},"id":10304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5534:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":10307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5555:4:11","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":10306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5548:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10305,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5548:6:11","typeDescriptions":{}}},"id":10308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5548:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":10309,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10233,"src":"5562:8:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783831","id":10312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5579:4:11","typeDescriptions":{"typeIdentifier":"t_rational_129_by_1","typeString":"int_const 129"},"value":"0x81"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_129_by_1","typeString":"int_const 129"}],"id":10311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5572:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10310,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5572:6:11","typeDescriptions":{}}},"id":10313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5572:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":10316,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"5592:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5586:5:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":10314,"name":"uint8","nodeType":"ElementaryTypeName","src":"5586:5:11","typeDescriptions":{}}},"id":10317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5586:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":10299,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5517:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"5517:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5517:82:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10298,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5507:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5507:93:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10297,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10625,"src":"5484:22:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":10320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5484:117:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10239,"id":10321,"nodeType":"Return","src":"5477:124:11"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10323,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"5615:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_65535_by_1","typeString":"int_const 65535"},"id":10328,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"},"id":10326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":10324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5624:1:11","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":10325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5627:2:11","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"5624:5:11","typeDescriptions":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5632:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5624:9:11","typeDescriptions":{"typeIdentifier":"t_rational_65535_by_1","typeString":"int_const 65535"}},"src":"5615:18:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10355,"nodeType":"IfStatement","src":"5611:149:11","trueBody":{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786438","id":10336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5699:4:11","typeDescriptions":{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},"value":"0xd8"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"}],"id":10335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5692:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10334,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5692:6:11","typeDescriptions":{}}},"id":10337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5692:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":10340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5713:4:11","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":10339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5706:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10338,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5706:6:11","typeDescriptions":{}}},"id":10341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5706:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":10342,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10233,"src":"5720:8:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783832","id":10345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5737:4:11","typeDescriptions":{"typeIdentifier":"t_rational_130_by_1","typeString":"int_const 130"},"value":"0x82"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_130_by_1","typeString":"int_const 130"}],"id":10344,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5730:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10343,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5730:6:11","typeDescriptions":{}}},"id":10346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5730:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":10349,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"5751:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10348,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5744:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":10347,"name":"uint16","nodeType":"ElementaryTypeName","src":"5744:6:11","typeDescriptions":{}}},"id":10350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5744:13:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint16","typeString":"uint16"}],"expression":{"id":10332,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5675:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"5675:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5675:83:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10331,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5665:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5665:94:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10330,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10625,"src":"5642:22:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":10353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5642:118:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10239,"id":10354,"nodeType":"Return","src":"5635:125:11"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10356,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"5774:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_16777215_by_1","typeString":"int_const 16777215"},"id":10361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_rational_16777216_by_1","typeString":"int_const 16777216"},"id":10359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":10357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5783:1:11","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3234","id":10358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5786:2:11","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},"src":"5783:5:11","typeDescriptions":{"typeIdentifier":"t_rational_16777216_by_1","typeString":"int_const 16777216"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":10360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5791:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5783:9:11","typeDescriptions":{"typeIdentifier":"t_rational_16777215_by_1","typeString":"int_const 16777215"}},"src":"5774:18:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10388,"nodeType":"IfStatement","src":"5770:149:11","trueBody":{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786439","id":10369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5858:4:11","typeDescriptions":{"typeIdentifier":"t_rational_217_by_1","typeString":"int_const 217"},"value":"0xd9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_217_by_1","typeString":"int_const 217"}],"id":10368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5851:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10367,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5851:6:11","typeDescriptions":{}}},"id":10370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5851:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":10373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5872:4:11","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":10372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5865:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10371,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5865:6:11","typeDescriptions":{}}},"id":10374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5865:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":10375,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10233,"src":"5879:8:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783833","id":10378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5896:4:11","typeDescriptions":{"typeIdentifier":"t_rational_131_by_1","typeString":"int_const 131"},"value":"0x83"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_131_by_1","typeString":"int_const 131"}],"id":10377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5889:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10376,"name":"bytes1","nodeType":"ElementaryTypeName","src":"5889:6:11","typeDescriptions":{}}},"id":10379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5889:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":10382,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"5910:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10381,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5903:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":10380,"name":"uint24","nodeType":"ElementaryTypeName","src":"5903:6:11","typeDescriptions":{}}},"id":10383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5903:13:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint24","typeString":"uint24"}],"expression":{"id":10365,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5834:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10366,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"5834:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5834:83:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10364,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5824:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5824:94:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10363,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10625,"src":"5801:22:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":10386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5801:118:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10239,"id":10387,"nodeType":"Return","src":"5794:125:11"}},{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786461","id":10395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6486:4:11","typeDescriptions":{"typeIdentifier":"t_rational_218_by_1","typeString":"int_const 218"},"value":"0xda"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_218_by_1","typeString":"int_const 218"}],"id":10394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6479:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10393,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6479:6:11","typeDescriptions":{}}},"id":10396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6479:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":10399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6500:4:11","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":10398,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6493:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10397,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6493:6:11","typeDescriptions":{}}},"id":10400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6493:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":10401,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10233,"src":"6507:8:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783834","id":10404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6524:4:11","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":10403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6517:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10402,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6517:6:11","typeDescriptions":{}}},"id":10405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6517:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":10408,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10235,"src":"6538:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6531:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":10406,"name":"uint32","nodeType":"ElementaryTypeName","src":"6531:6:11","typeDescriptions":{}}},"id":10409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6531:13:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"id":10391,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6462:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"6462:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6462:83:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10390,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6452:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6452:94:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10389,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10625,"src":"6416:22:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":10412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6416:140:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10239,"id":10413,"nodeType":"Return","src":"6409:147:11"}]},"documentation":{"id":10231,"nodeType":"StructuredDocumentation","src":"4373:223:11","text":"@dev Compute the address a contract will be deployed at for a given deployer address and nonce\n @notice adapted from Solmate implementation (https://github.com/Rari-Capital/solmate/blob/main/src/utils/LibRLP.sol)"},"implemented":true,"kind":"function","modifiers":[],"name":"computeCreateAddress","nameLocation":"4610:20:11","parameters":{"id":10236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10233,"mutability":"mutable","name":"deployer","nameLocation":"4639:8:11","nodeType":"VariableDeclaration","scope":10415,"src":"4631:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10232,"name":"address","nodeType":"ElementaryTypeName","src":"4631:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10235,"mutability":"mutable","name":"nonce","nameLocation":"4657:5:11","nodeType":"VariableDeclaration","scope":10415,"src":"4649:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10234,"name":"uint256","nodeType":"ElementaryTypeName","src":"4649:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4630:33:11"},"returnParameters":{"id":10239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10238,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10415,"src":"4695:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10237,"name":"address","nodeType":"ElementaryTypeName","src":"4695:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4694:9:11"},"scope":10676,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":10442,"nodeType":"FunctionDefinition","src":"6569:280:11","nodes":[],"body":{"id":10441,"nodeType":"Block","src":"6730:119:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786666","id":10432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6804:4:11","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":10431,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6797:6:11","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":10430,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6797:6:11","typeDescriptions":{}}},"id":10433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6797:12:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":10434,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10421,"src":"6811:8:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":10435,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10417,"src":"6821:4:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":10436,"name":"initcodeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10419,"src":"6827:12:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10428,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6780:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10429,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"6780:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6780:60:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10427,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6770:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6770:71:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10426,"name":"addressFromLast20Bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10625,"src":"6747:22:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) pure returns (address)"}},"id":10439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6747:95:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10425,"id":10440,"nodeType":"Return","src":"6740:102:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"6578:21:11","parameters":{"id":10422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10417,"mutability":"mutable","name":"salt","nameLocation":"6608:4:11","nodeType":"VariableDeclaration","scope":10442,"src":"6600:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6600:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":10419,"mutability":"mutable","name":"initcodeHash","nameLocation":"6622:12:11","nodeType":"VariableDeclaration","scope":10442,"src":"6614:20:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10418,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6614:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":10421,"mutability":"mutable","name":"deployer","nameLocation":"6644:8:11","nodeType":"VariableDeclaration","scope":10442,"src":"6636:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10420,"name":"address","nodeType":"ElementaryTypeName","src":"6636:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6599:54:11"},"returnParameters":{"id":10425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10424,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10442,"src":"6717:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10423,"name":"address","nodeType":"ElementaryTypeName","src":"6717:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6716:9:11"},"scope":10676,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":10459,"nodeType":"FunctionDefinition","src":"6958:181:11","nodes":[],"body":{"id":10458,"nodeType":"Block","src":"7057:82:11","nodes":[],"statements":[{"expression":{"arguments":[{"id":10453,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10445,"src":"7096:4:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":10454,"name":"initCodeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10447,"src":"7102:12:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":10455,"name":"CREATE2_FACTORY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9911,"src":"7116:15:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":10452,"name":"computeCreate2Address","nodeType":"Identifier","overloadedDeclarations":[10442,10459],"referencedDeclaration":10442,"src":"7074:21:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$","typeString":"function (bytes32,bytes32,address) pure returns (address)"}},"id":10456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7074:58:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10451,"id":10457,"nodeType":"Return","src":"7067:65:11"}]},"documentation":{"id":10443,"nodeType":"StructuredDocumentation","src":"6855:98:11","text":"@dev returns the address of a contract created with CREATE2 using the default CREATE2 deployer"},"implemented":true,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"6967:21:11","parameters":{"id":10448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10445,"mutability":"mutable","name":"salt","nameLocation":"6997:4:11","nodeType":"VariableDeclaration","scope":10459,"src":"6989:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10444,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6989:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":10447,"mutability":"mutable","name":"initCodeHash","nameLocation":"7011:12:11","nodeType":"VariableDeclaration","scope":10459,"src":"7003:20:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10446,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7003:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6988:36:11"},"returnParameters":{"id":10451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10450,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10459,"src":"7048:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10449,"name":"address","nodeType":"ElementaryTypeName","src":"7048:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7047:9:11"},"scope":10676,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10473,"nodeType":"FunctionDefinition","src":"7363:135:11","nodes":[],"body":{"id":10472,"nodeType":"Block","src":"7444:54:11","nodes":[],"statements":[{"expression":{"arguments":[{"id":10468,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10462,"src":"7474:12:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"","id":10469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7488:2:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":10467,"name":"hashInitCode","nodeType":"Identifier","overloadedDeclarations":[10473,10492],"referencedDeclaration":10492,"src":"7461:12:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory,bytes memory) pure returns (bytes32)"}},"id":10470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7461:30:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":10466,"id":10471,"nodeType":"Return","src":"7454:37:11"}]},"documentation":{"id":10460,"nodeType":"StructuredDocumentation","src":"7145:213:11","text":"@dev returns the hash of the init code (creation code + no args) used in CREATE2 with no constructor arguments\n @param creationCode the creation code of a contract C, as returned by type(C).creationCode"},"implemented":true,"kind":"function","modifiers":[],"name":"hashInitCode","nameLocation":"7372:12:11","parameters":{"id":10463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10462,"mutability":"mutable","name":"creationCode","nameLocation":"7398:12:11","nodeType":"VariableDeclaration","scope":10473,"src":"7385:25:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10461,"name":"bytes","nodeType":"ElementaryTypeName","src":"7385:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7384:27:11"},"returnParameters":{"id":10466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10465,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10473,"src":"7435:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10464,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7435:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7434:9:11"},"scope":10676,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10492,"nodeType":"FunctionDefinition","src":"7771:171:11","nodes":[],"body":{"id":10491,"nodeType":"Block","src":"7871:71:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10486,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10476,"src":"7915:12:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":10487,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10478,"src":"7929:4:11","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":10484,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7898:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"7898:16:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7898:36:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10483,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7888:9:11","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7888:47:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":10482,"id":10490,"nodeType":"Return","src":"7881:54:11"}]},"documentation":{"id":10474,"nodeType":"StructuredDocumentation","src":"7504:262:11","text":"@dev returns the hash of the init code (creation code + ABI-encoded args) used in CREATE2\n @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n @param args the ABI-encoded arguments to the constructor of C"},"implemented":true,"kind":"function","modifiers":[],"name":"hashInitCode","nameLocation":"7780:12:11","parameters":{"id":10479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10476,"mutability":"mutable","name":"creationCode","nameLocation":"7806:12:11","nodeType":"VariableDeclaration","scope":10492,"src":"7793:25:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10475,"name":"bytes","nodeType":"ElementaryTypeName","src":"7793:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":10478,"mutability":"mutable","name":"args","nameLocation":"7833:4:11","nodeType":"VariableDeclaration","scope":10492,"src":"7820:17:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10477,"name":"bytes","nodeType":"ElementaryTypeName","src":"7820:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7792:46:11"},"returnParameters":{"id":10482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10492,"src":"7862:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10480,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7862:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7861:9:11"},"scope":10676,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10606,"nodeType":"FunctionDefinition","src":"8053:1124:11","nodes":[],"body":{"id":10605,"nodeType":"Block","src":"8203:974:11","nodes":[],"statements":[{"assignments":[10504],"declarations":[{"constant":false,"id":10504,"mutability":"mutable","name":"tokenCodeSize","nameLocation":"8221:13:11","nodeType":"VariableDeclaration","scope":10605,"src":"8213:21:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10503,"name":"uint256","nodeType":"ElementaryTypeName","src":"8213:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10505,"nodeType":"VariableDeclarationStatement","src":"8213:21:11"},{"AST":{"nodeType":"YulBlock","src":"8253:59:11","statements":[{"nodeType":"YulAssignment","src":"8267:35:11","value":{"arguments":[{"name":"token","nodeType":"YulIdentifier","src":"8296:5:11"}],"functionName":{"name":"extcodesize","nodeType":"YulIdentifier","src":"8284:11:11"},"nodeType":"YulFunctionCall","src":"8284:18:11"},"variableNames":[{"name":"tokenCodeSize","nodeType":"YulIdentifier","src":"8267:13:11"}]}]},"evmVersion":"london","externalReferences":[{"declaration":10494,"isOffset":false,"isSlot":false,"src":"8296:5:11","valueSize":1},{"declaration":10504,"isOffset":false,"isSlot":false,"src":"8267:13:11","valueSize":1}],"id":10506,"nodeType":"InlineAssembly","src":"8244:68:11"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10508,"name":"tokenCodeSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10504,"src":"8329:13:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":10509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8345:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8329:17:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320676574546f6b656e42616c616e63657328616464726573732c616464726573735b5d293a20546f6b656e2061646472657373206973206e6f74206120636f6e74726163742e","id":10511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8348:80:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1cfd8db054d28c838f90dd4aca17e279a1b93ad4e1fab977a6ceb92cad655fe","typeString":"literal_string \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\""},"value":"StdUtils getTokenBalances(address,address[]): Token address is not a contract."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e1cfd8db054d28c838f90dd4aca17e279a1b93ad4e1fab977a6ceb92cad655fe","typeString":"literal_string \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\""}],"id":10507,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8321:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8321:108:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10513,"nodeType":"ExpressionStatement","src":"8321:108:11"},{"assignments":[10515],"declarations":[{"constant":false,"id":10515,"mutability":"mutable","name":"length","nameLocation":"8504:6:11","nodeType":"VariableDeclaration","scope":10605,"src":"8496:14:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10514,"name":"uint256","nodeType":"ElementaryTypeName","src":"8496:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10518,"initialValue":{"expression":{"id":10516,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10497,"src":"8513:9:11","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":10517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8513:16:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8496:33:11"},{"assignments":[10524],"declarations":[{"constant":false,"id":10524,"mutability":"mutable","name":"calls","nameLocation":"8565:5:11","nodeType":"VariableDeclaration","scope":10605,"src":"8539:31:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":10522,"nodeType":"UserDefinedTypeName","pathNode":{"id":10521,"name":"IMulticall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28205,"src":"8539:16:11"},"referencedDeclaration":28205,"src":"8539:16:11","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28205_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":10523,"nodeType":"ArrayTypeName","src":"8539:18:11","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"id":10531,"initialValue":{"arguments":[{"id":10529,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10515,"src":"8596:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10528,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8573:22:11","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28205_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call memory[] memory)"},"typeName":{"baseType":{"id":10526,"nodeType":"UserDefinedTypeName","pathNode":{"id":10525,"name":"IMulticall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28205,"src":"8577:16:11"},"referencedDeclaration":28205,"src":"8577:16:11","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28205_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":10527,"nodeType":"ArrayTypeName","src":"8577:18:11","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}}},"id":10530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8573:30:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"8539:64:11"},{"body":{"id":10559,"nodeType":"Block","src":"8650:189:11","statements":[{"expression":{"id":10557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":10542,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10524,"src":"8722:5:11","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}},"id":10544,"indexExpression":{"id":10543,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10533,"src":"8728:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8722:8:11","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28205_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":10547,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10494,"src":"8759:5:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783730613038323331","id":10550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8799:10:11","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"components":[{"baseExpression":{"id":10551,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10497,"src":"8812:9:11","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":10553,"indexExpression":{"id":10552,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10533,"src":"8822:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8812:12:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":10554,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8811:14:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10548,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8776:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8776:22:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":10555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8776:50:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10545,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28360,"src":"8733:11:11","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$28360_$","typeString":"type(contract IMulticall3)"}},"id":10546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28205,"src":"8733:16:11","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28205_storage_ptr_$","typeString":"type(struct IMulticall3.Call storage pointer)"}},"id":10556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["target","callData"],"nodeType":"FunctionCall","src":"8733:95:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28205_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"src":"8722:106:11","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28205_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"id":10558,"nodeType":"ExpressionStatement","src":"8722:106:11"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10536,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10533,"src":"8633:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":10537,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10515,"src":"8637:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8633:10:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10560,"initializationExpression":{"assignments":[10533],"declarations":[{"constant":false,"id":10533,"mutability":"mutable","name":"i","nameLocation":"8626:1:11","nodeType":"VariableDeclaration","scope":10560,"src":"8618:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10532,"name":"uint256","nodeType":"ElementaryTypeName","src":"8618:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10535,"initialValue":{"hexValue":"30","id":10534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8630:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"8618:13:11"},"loopExpression":{"expression":{"id":10540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"8645:3:11","subExpression":{"id":10539,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10533,"src":"8647:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10541,"nodeType":"ExpressionStatement","src":"8645:3:11"},"nodeType":"ForStatement","src":"8613:226:11"},{"assignments":[null,10565],"declarations":[null,{"constant":false,"id":10565,"mutability":"mutable","name":"returnData","nameLocation":"8903:10:11","nodeType":"VariableDeclaration","scope":10605,"src":"8888:25:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":10563,"name":"bytes","nodeType":"ElementaryTypeName","src":"8888:5:11","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":10564,"nodeType":"ArrayTypeName","src":"8888:7:11","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":10570,"initialValue":{"arguments":[{"id":10568,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10524,"src":"8937:5:11","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$28205_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}],"expression":{"id":10566,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9882,"src":"8917:9:11","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$28360","typeString":"contract IMulticall3"}},"id":10567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":28238,"src":"8917:19:11","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call_$28205_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct IMulticall3.Call memory[] memory) payable external returns (uint256,bytes memory[] memory)"}},"id":10569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8917:26:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"8885:58:11"},{"expression":{"id":10577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":10571,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10501,"src":"9017:8:11","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":10575,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10515,"src":"9042:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9028:13:11","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":10572,"name":"uint256","nodeType":"ElementaryTypeName","src":"9032:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10573,"nodeType":"ArrayTypeName","src":"9032:9:11","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":10576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9028:21:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"9017:32:11","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":10578,"nodeType":"ExpressionStatement","src":"9017:32:11"},{"body":{"id":10603,"nodeType":"Block","src":"9096:75:11","statements":[{"expression":{"id":10601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":10589,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10501,"src":"9110:8:11","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":10591,"indexExpression":{"id":10590,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10580,"src":"9119:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9110:11:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":10594,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10565,"src":"9135:10:11","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":10596,"indexExpression":{"id":10595,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10580,"src":"9146:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9135:13:11","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":10598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9151:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10597,"name":"uint256","nodeType":"ElementaryTypeName","src":"9151:7:11","typeDescriptions":{}}}],"id":10599,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9150:9:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":10592,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9124:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"9124:10:11","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":10600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9124:36:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9110:50:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10602,"nodeType":"ExpressionStatement","src":"9110:50:11"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10583,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10580,"src":"9079:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":10584,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10515,"src":"9083:6:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9079:10:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10604,"initializationExpression":{"assignments":[10580],"declarations":[{"constant":false,"id":10580,"mutability":"mutable","name":"i","nameLocation":"9072:1:11","nodeType":"VariableDeclaration","scope":10604,"src":"9064:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10579,"name":"uint256","nodeType":"ElementaryTypeName","src":"9064:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10582,"initialValue":{"hexValue":"30","id":10581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9076:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9064:13:11"},"loopExpression":{"expression":{"id":10587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"9091:3:11","subExpression":{"id":10586,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10580,"src":"9093:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10588,"nodeType":"ExpressionStatement","src":"9091:3:11"},"nodeType":"ForStatement","src":"9059:112:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getTokenBalances","nameLocation":"8062:16:11","parameters":{"id":10498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10494,"mutability":"mutable","name":"token","nameLocation":"8087:5:11","nodeType":"VariableDeclaration","scope":10606,"src":"8079:13:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10493,"name":"address","nodeType":"ElementaryTypeName","src":"8079:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10497,"mutability":"mutable","name":"addresses","nameLocation":"8111:9:11","nodeType":"VariableDeclaration","scope":10606,"src":"8094:26:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":10495,"name":"address","nodeType":"ElementaryTypeName","src":"8094:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10496,"nodeType":"ArrayTypeName","src":"8094:9:11","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8078:43:11"},"returnParameters":{"id":10502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10501,"mutability":"mutable","name":"balances","nameLocation":"8189:8:11","nodeType":"VariableDeclaration","scope":10606,"src":"8172:25:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":10499,"name":"uint256","nodeType":"ElementaryTypeName","src":"8172:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10500,"nodeType":"ArrayTypeName","src":"8172:9:11","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"8171:27:11"},"scope":10676,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":10625,"nodeType":"FunctionDefinition","src":"9397:144:11","nodes":[],"body":{"id":10624,"nodeType":"Block","src":"9480:61:11","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":10619,"name":"bytesValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10608,"src":"9521:10:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10618,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9513:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10617,"name":"uint256","nodeType":"ElementaryTypeName","src":"9513:7:11","typeDescriptions":{}}},"id":10620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9513:19:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9505:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":10615,"name":"uint160","nodeType":"ElementaryTypeName","src":"9505:7:11","typeDescriptions":{}}},"id":10621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9505:28:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":10614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9497:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10613,"name":"address","nodeType":"ElementaryTypeName","src":"9497:7:11","typeDescriptions":{}}},"id":10622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9497:37:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10612,"id":10623,"nodeType":"Return","src":"9490:44:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"addressFromLast20Bytes","nameLocation":"9406:22:11","parameters":{"id":10609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10608,"mutability":"mutable","name":"bytesValue","nameLocation":"9437:10:11","nodeType":"VariableDeclaration","scope":10625,"src":"9429:18:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10607,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9429:7:11","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9428:20:11"},"returnParameters":{"id":10612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10611,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10625,"src":"9471:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10610,"name":"address","nodeType":"ElementaryTypeName","src":"9471:7:11","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9470:9:11"},"scope":10676,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":10650,"nodeType":"FunctionDefinition","src":"9671:207:11","nodes":[],"body":{"id":10649,"nodeType":"Block","src":"9736:142:11","nodes":[],"statements":[{"assignments":[10633,null],"declarations":[{"constant":false,"id":10633,"mutability":"mutable","name":"status","nameLocation":"9752:6:11","nodeType":"VariableDeclaration","scope":10649,"src":"9747:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10632,"name":"bool","nodeType":"ElementaryTypeName","src":"9747:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":10646,"initialValue":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e7432353629","id":10641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9824:21:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},"value":"log(string,uint256)"},{"id":10642,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10627,"src":"9847:2:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10643,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10629,"src":"9851:2:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10639,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9800:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10640,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9800:23:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9800:54:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":10636,"name":"CONSOLE2_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9902,"src":"9771:16:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10635,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9763:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10634,"name":"address","nodeType":"ElementaryTypeName","src":"9763:7:11","typeDescriptions":{}}},"id":10637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9763:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"staticcall","nodeType":"MemberAccess","src":"9763:36:11","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":10645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9763:92:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"9746:109:11"},{"expression":{"id":10647,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10633,"src":"9865:6:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10648,"nodeType":"ExpressionStatement","src":"9865:6:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"console2_log","nameLocation":"9680:12:11","parameters":{"id":10630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10627,"mutability":"mutable","name":"p0","nameLocation":"9707:2:11","nodeType":"VariableDeclaration","scope":10650,"src":"9693:16:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10626,"name":"string","nodeType":"ElementaryTypeName","src":"9693:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10629,"mutability":"mutable","name":"p1","nameLocation":"9719:2:11","nodeType":"VariableDeclaration","scope":10650,"src":"9711:10:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10628,"name":"uint256","nodeType":"ElementaryTypeName","src":"9711:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9692:30:11"},"returnParameters":{"id":10631,"nodeType":"ParameterList","parameters":[],"src":"9736:0:11"},"scope":10676,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":10675,"nodeType":"FunctionDefinition","src":"9884:212:11","nodes":[],"body":{"id":10674,"nodeType":"Block","src":"9955:141:11","nodes":[],"statements":[{"assignments":[10658,null],"declarations":[{"constant":false,"id":10658,"mutability":"mutable","name":"status","nameLocation":"9971:6:11","nodeType":"VariableDeclaration","scope":10674,"src":"9966:11:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10657,"name":"bool","nodeType":"ElementaryTypeName","src":"9966:4:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":10671,"initialValue":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e6729","id":10666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10043:20:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},"value":"log(string,string)"},{"id":10667,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10652,"src":"10065:2:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10668,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10654,"src":"10069:2:11","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10664,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10019:3:11","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10019:23:11","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":10669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10019:53:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":10661,"name":"CONSOLE2_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9902,"src":"9990:16:11","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10660,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9982:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10659,"name":"address","nodeType":"ElementaryTypeName","src":"9982:7:11","typeDescriptions":{}}},"id":10662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9982:25:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"staticcall","nodeType":"MemberAccess","src":"9982:36:11","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":10670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9982:91:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"9965:108:11"},{"expression":{"id":10672,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10658,"src":"10083:6:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10673,"nodeType":"ExpressionStatement","src":"10083:6:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"console2_log","nameLocation":"9893:12:11","parameters":{"id":10655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10652,"mutability":"mutable","name":"p0","nameLocation":"9920:2:11","nodeType":"VariableDeclaration","scope":10675,"src":"9906:16:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10651,"name":"string","nodeType":"ElementaryTypeName","src":"9906:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10654,"mutability":"mutable","name":"p1","nameLocation":"9938:2:11","nodeType":"VariableDeclaration","scope":10675,"src":"9924:16:11","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10653,"name":"string","nodeType":"ElementaryTypeName","src":"9924:6:11","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9905:36:11"},"returnParameters":{"id":10656,"nodeType":"ParameterList","parameters":[],"src":"9955:0:11"},"scope":10676,"stateMutability":"view","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[],"canonicalName":"StdUtils","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[10676],"name":"StdUtils","nameLocation":"233:8:11","scope":10677,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/Test.sol":{"id":12,"ast":{"absolutePath":"lib/forge-std/src/Test.sol","id":10726,"exportedSymbols":{"DSTest":[1786],"StdAssertions":[3260],"StdChains":[3954],"StdCheats":[6185],"StdInvariant":[6475],"StdStorage":[7225],"StdStyle":[9869],"StdUtils":[10676],"Test":[10725],"TestBase":[1846],"Vm":[12037],"console":[20101],"console2":[28197],"stdError":[6251],"stdJson":[7051],"stdMath":[7193],"stdStorage":[8658]},"nodeType":"SourceUnit","src":"32:1085:12","nodes":[{"id":10678,"nodeType":"PragmaDirective","src":"32:31:12","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":10679,"nodeType":"PragmaDirective","src":"65:33:12","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":10681,"nodeType":"ImportDirective","src":"166:38:12","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"./console.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":20102,"symbolAliases":[{"foreign":{"id":10680,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20101,"src":"174:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$20101_$","typeString":"type(library console)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10683,"nodeType":"ImportDirective","src":"205:40:12","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"./console2.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":28198,"symbolAliases":[{"foreign":{"id":10682,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28197,"src":"213:8:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$28197_$","typeString":"type(library console2)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10685,"nodeType":"ImportDirective","src":"246:50:12","nodes":[],"absolutePath":"lib/forge-std/src/StdAssertions.sol","file":"./StdAssertions.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":3261,"symbolAliases":[{"foreign":{"id":10684,"name":"StdAssertions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3260,"src":"254:13:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StdAssertions_$3260_$","typeString":"type(contract StdAssertions)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10687,"nodeType":"ImportDirective","src":"297:42:12","nodes":[],"absolutePath":"lib/forge-std/src/StdChains.sol","file":"./StdChains.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":3955,"symbolAliases":[{"foreign":{"id":10686,"name":"StdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3954,"src":"305:9:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StdChains_$3954_$","typeString":"type(contract StdChains)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10689,"nodeType":"ImportDirective","src":"340:42:12","nodes":[],"absolutePath":"lib/forge-std/src/StdCheats.sol","file":"./StdCheats.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":6186,"symbolAliases":[{"foreign":{"id":10688,"name":"StdCheats","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6185,"src":"348:9:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StdCheats_$6185_$","typeString":"type(contract StdCheats)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10691,"nodeType":"ImportDirective","src":"383:40:12","nodes":[],"absolutePath":"lib/forge-std/src/StdError.sol","file":"./StdError.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":6252,"symbolAliases":[{"foreign":{"id":10690,"name":"stdError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6251,"src":"391:8:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdError_$6251_$","typeString":"type(library stdError)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10693,"nodeType":"ImportDirective","src":"424:48:12","nodes":[],"absolutePath":"lib/forge-std/src/StdInvariant.sol","file":"./StdInvariant.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":6476,"symbolAliases":[{"foreign":{"id":10692,"name":"StdInvariant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6475,"src":"432:12:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StdInvariant_$6475_$","typeString":"type(contract StdInvariant)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10695,"nodeType":"ImportDirective","src":"473:38:12","nodes":[],"absolutePath":"lib/forge-std/src/StdJson.sol","file":"./StdJson.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":7052,"symbolAliases":[{"foreign":{"id":10694,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7051,"src":"481:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdJson_$7051_$","typeString":"type(library stdJson)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10697,"nodeType":"ImportDirective","src":"512:38:12","nodes":[],"absolutePath":"lib/forge-std/src/StdMath.sol","file":"./StdMath.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":7194,"symbolAliases":[{"foreign":{"id":10696,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7193,"src":"520:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdMath_$7193_$","typeString":"type(library stdMath)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10700,"nodeType":"ImportDirective","src":"551:56:12","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":8659,"symbolAliases":[{"foreign":{"id":10698,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7225,"src":"559:10:12","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_StdStorage_$7225_storage_ptr_$","typeString":"type(struct StdStorage storage pointer)"}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":10699,"name":"stdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8658,"src":"571:10:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorage_$8658_$","typeString":"type(library stdStorage)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10702,"nodeType":"ImportDirective","src":"608:40:12","nodes":[],"absolutePath":"lib/forge-std/src/StdUtils.sol","file":"./StdUtils.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":10677,"symbolAliases":[{"foreign":{"id":10701,"name":"StdUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10676,"src":"616:8:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StdUtils_$10676_$","typeString":"type(contract StdUtils)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10704,"nodeType":"ImportDirective","src":"649:28:12","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":12038,"symbolAliases":[{"foreign":{"id":10703,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12037,"src":"657:2:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$12037_$","typeString":"type(contract Vm)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10706,"nodeType":"ImportDirective","src":"678:40:12","nodes":[],"absolutePath":"lib/forge-std/src/StdStyle.sol","file":"./StdStyle.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":9870,"symbolAliases":[{"foreign":{"id":10705,"name":"StdStyle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9869,"src":"686:8:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StdStyle_$9869_$","typeString":"type(library StdStyle)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10708,"nodeType":"ImportDirective","src":"740:36:12","nodes":[],"absolutePath":"lib/forge-std/src/Base.sol","file":"./Base.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":1859,"symbolAliases":[{"foreign":{"id":10707,"name":"TestBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1846,"src":"748:8:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TestBase_$1846_$","typeString":"type(contract TestBase)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10710,"nodeType":"ImportDirective","src":"777:40:12","nodes":[],"absolutePath":"lib/forge-std/lib/ds-test/src/test.sol","file":"ds-test/test.sol","nameLocation":"-1:-1:-1","scope":10726,"sourceUnit":1787,"symbolAliases":[{"foreign":{"id":10709,"name":"DSTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1786,"src":"785:6:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DSTest_$1786_$","typeString":"type(contract DSTest)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10725,"nodeType":"ContractDefinition","src":"834:282:12","nodes":[],"abstract":true,"baseContracts":[{"baseName":{"id":10711,"name":"DSTest","nodeType":"IdentifierPath","referencedDeclaration":1786,"src":"860:6:12"},"id":10712,"nodeType":"InheritanceSpecifier","src":"860:6:12"},{"baseName":{"id":10713,"name":"StdAssertions","nodeType":"IdentifierPath","referencedDeclaration":3260,"src":"868:13:12"},"id":10714,"nodeType":"InheritanceSpecifier","src":"868:13:12"},{"baseName":{"id":10715,"name":"StdChains","nodeType":"IdentifierPath","referencedDeclaration":3954,"src":"883:9:12"},"id":10716,"nodeType":"InheritanceSpecifier","src":"883:9:12"},{"baseName":{"id":10717,"name":"StdCheats","nodeType":"IdentifierPath","referencedDeclaration":6185,"src":"894:9:12"},"id":10718,"nodeType":"InheritanceSpecifier","src":"894:9:12"},{"baseName":{"id":10719,"name":"StdInvariant","nodeType":"IdentifierPath","referencedDeclaration":6475,"src":"905:12:12"},"id":10720,"nodeType":"InheritanceSpecifier","src":"905:12:12"},{"baseName":{"id":10721,"name":"StdUtils","nodeType":"IdentifierPath","referencedDeclaration":10676,"src":"919:8:12"},"id":10722,"nodeType":"InheritanceSpecifier","src":"919:8:12"},{"baseName":{"id":10723,"name":"TestBase","nodeType":"IdentifierPath","referencedDeclaration":1846,"src":"929:8:12"},"id":10724,"nodeType":"InheritanceSpecifier","src":"929:8:12"}],"canonicalName":"Test","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[10725,1846,1843,10676,6475,6185,5526,3954,3260,1786],"name":"Test","nameLocation":"852:4:12","scope":10726,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/Vm.sol":{"id":13,"ast":{"absolutePath":"lib/forge-std/src/Vm.sol","id":12038,"exportedSymbols":{"Vm":[12037],"VmSafe":[11690]},"nodeType":"SourceUnit","src":"32:27112:13","nodes":[{"id":10727,"nodeType":"PragmaDirective","src":"32:31:13","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":10728,"nodeType":"PragmaDirective","src":"65:33:13","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":11690,"nodeType":"ContractDefinition","src":"571:18299:13","nodes":[{"id":10736,"nodeType":"StructDefinition","src":"594:89:13","nodes":[],"canonicalName":"VmSafe.Log","members":[{"constant":false,"id":10731,"mutability":"mutable","name":"topics","nameLocation":"625:6:13","nodeType":"VariableDeclaration","scope":10736,"src":"615:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":10729,"name":"bytes32","nodeType":"ElementaryTypeName","src":"615:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":10730,"nodeType":"ArrayTypeName","src":"615:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":10733,"mutability":"mutable","name":"data","nameLocation":"647:4:13","nodeType":"VariableDeclaration","scope":10736,"src":"641:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":10732,"name":"bytes","nodeType":"ElementaryTypeName","src":"641:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":10735,"mutability":"mutable","name":"emitter","nameLocation":"669:7:13","nodeType":"VariableDeclaration","scope":10736,"src":"661:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10734,"name":"address","nodeType":"ElementaryTypeName","src":"661:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Log","nameLocation":"601:3:13","scope":11690,"visibility":"public"},{"id":10741,"nodeType":"StructDefinition","src":"689:58:13","nodes":[],"canonicalName":"VmSafe.Rpc","members":[{"constant":false,"id":10738,"mutability":"mutable","name":"key","nameLocation":"717:3:13","nodeType":"VariableDeclaration","scope":10741,"src":"710:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":10737,"name":"string","nodeType":"ElementaryTypeName","src":"710:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10740,"mutability":"mutable","name":"url","nameLocation":"737:3:13","nodeType":"VariableDeclaration","scope":10741,"src":"730:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":10739,"name":"string","nodeType":"ElementaryTypeName","src":"730:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Rpc","nameLocation":"696:3:13","scope":11690,"visibility":"public"},{"id":10756,"nodeType":"StructDefinition","src":"753:193:13","nodes":[],"canonicalName":"VmSafe.FsMetadata","members":[{"constant":false,"id":10743,"mutability":"mutable","name":"isDir","nameLocation":"786:5:13","nodeType":"VariableDeclaration","scope":10756,"src":"781:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10742,"name":"bool","nodeType":"ElementaryTypeName","src":"781:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10745,"mutability":"mutable","name":"isSymlink","nameLocation":"806:9:13","nodeType":"VariableDeclaration","scope":10756,"src":"801:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10744,"name":"bool","nodeType":"ElementaryTypeName","src":"801:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10747,"mutability":"mutable","name":"length","nameLocation":"833:6:13","nodeType":"VariableDeclaration","scope":10756,"src":"825:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10746,"name":"uint256","nodeType":"ElementaryTypeName","src":"825:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10749,"mutability":"mutable","name":"readOnly","nameLocation":"854:8:13","nodeType":"VariableDeclaration","scope":10756,"src":"849:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10748,"name":"bool","nodeType":"ElementaryTypeName","src":"849:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10751,"mutability":"mutable","name":"modified","nameLocation":"880:8:13","nodeType":"VariableDeclaration","scope":10756,"src":"872:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10750,"name":"uint256","nodeType":"ElementaryTypeName","src":"872:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10753,"mutability":"mutable","name":"accessed","nameLocation":"906:8:13","nodeType":"VariableDeclaration","scope":10756,"src":"898:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10752,"name":"uint256","nodeType":"ElementaryTypeName","src":"898:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10755,"mutability":"mutable","name":"created","nameLocation":"932:7:13","nodeType":"VariableDeclaration","scope":10756,"src":"924:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10754,"name":"uint256","nodeType":"ElementaryTypeName","src":"924:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"FsMetadata","nameLocation":"760:10:13","scope":11690,"visibility":"public"},{"id":10765,"nodeType":"FunctionDefinition","src":"996:81:13","nodes":[],"functionSelector":"667f9d70","implemented":false,"kind":"function","modifiers":[],"name":"load","nameLocation":"1005:4:13","parameters":{"id":10761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10758,"mutability":"mutable","name":"target","nameLocation":"1018:6:13","nodeType":"VariableDeclaration","scope":10765,"src":"1010:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10757,"name":"address","nodeType":"ElementaryTypeName","src":"1010:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":10760,"mutability":"mutable","name":"slot","nameLocation":"1034:4:13","nodeType":"VariableDeclaration","scope":10765,"src":"1026:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10759,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1026:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1009:30:13"},"returnParameters":{"id":10764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10763,"mutability":"mutable","name":"data","nameLocation":"1071:4:13","nodeType":"VariableDeclaration","scope":10765,"src":"1063:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10762,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1063:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1062:14:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10778,"nodeType":"FunctionDefinition","src":"1100:104:13","nodes":[],"functionSelector":"e341eaa4","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"1109:4:13","parameters":{"id":10770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10767,"mutability":"mutable","name":"privateKey","nameLocation":"1122:10:13","nodeType":"VariableDeclaration","scope":10778,"src":"1114:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10766,"name":"uint256","nodeType":"ElementaryTypeName","src":"1114:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10769,"mutability":"mutable","name":"digest","nameLocation":"1142:6:13","nodeType":"VariableDeclaration","scope":10778,"src":"1134:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1134:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1113:36:13"},"returnParameters":{"id":10777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10772,"mutability":"mutable","name":"v","nameLocation":"1179:1:13","nodeType":"VariableDeclaration","scope":10778,"src":"1173:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":10771,"name":"uint8","nodeType":"ElementaryTypeName","src":"1173:5:13","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":10774,"mutability":"mutable","name":"r","nameLocation":"1190:1:13","nodeType":"VariableDeclaration","scope":10778,"src":"1182:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10773,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1182:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":10776,"mutability":"mutable","name":"s","nameLocation":"1201:1:13","nodeType":"VariableDeclaration","scope":10778,"src":"1193:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10775,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1193:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1172:31:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":10785,"nodeType":"FunctionDefinition","src":"1257:74:13","nodes":[],"functionSelector":"ffa18649","implemented":false,"kind":"function","modifiers":[],"name":"addr","nameLocation":"1266:4:13","parameters":{"id":10781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10780,"mutability":"mutable","name":"privateKey","nameLocation":"1279:10:13","nodeType":"VariableDeclaration","scope":10785,"src":"1271:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10779,"name":"uint256","nodeType":"ElementaryTypeName","src":"1271:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1270:20:13"},"returnParameters":{"id":10784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10783,"mutability":"mutable","name":"keyAddr","nameLocation":"1322:7:13","nodeType":"VariableDeclaration","scope":10785,"src":"1314:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10782,"name":"address","nodeType":"ElementaryTypeName","src":"1314:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1313:17:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":10792,"nodeType":"FunctionDefinition","src":"1372:72:13","nodes":[],"functionSelector":"2d0335ab","implemented":false,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"1381:8:13","parameters":{"id":10788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10787,"mutability":"mutable","name":"account","nameLocation":"1398:7:13","nodeType":"VariableDeclaration","scope":10792,"src":"1390:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10786,"name":"address","nodeType":"ElementaryTypeName","src":"1390:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1389:17:13"},"returnParameters":{"id":10791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10790,"mutability":"mutable","name":"nonce","nameLocation":"1437:5:13","nodeType":"VariableDeclaration","scope":10792,"src":"1430:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":10789,"name":"uint64","nodeType":"ElementaryTypeName","src":"1430:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"1429:14:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10800,"nodeType":"FunctionDefinition","src":"1506:84:13","nodes":[],"functionSelector":"89160467","implemented":false,"kind":"function","modifiers":[],"name":"ffi","nameLocation":"1515:3:13","parameters":{"id":10796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10795,"mutability":"mutable","name":"commandInput","nameLocation":"1537:12:13","nodeType":"VariableDeclaration","scope":10800,"src":"1519:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":10793,"name":"string","nodeType":"ElementaryTypeName","src":"1519:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":10794,"nodeType":"ArrayTypeName","src":"1519:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"1518:32:13"},"returnParameters":{"id":10799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10798,"mutability":"mutable","name":"result","nameLocation":"1582:6:13","nodeType":"VariableDeclaration","scope":10800,"src":"1569:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10797,"name":"bytes","nodeType":"ElementaryTypeName","src":"1569:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1568:21:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":10807,"nodeType":"FunctionDefinition","src":"1629:70:13","nodes":[],"functionSelector":"3d5923ee","implemented":false,"kind":"function","modifiers":[],"name":"setEnv","nameLocation":"1638:6:13","parameters":{"id":10805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10802,"mutability":"mutable","name":"name","nameLocation":"1661:4:13","nodeType":"VariableDeclaration","scope":10807,"src":"1645:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10801,"name":"string","nodeType":"ElementaryTypeName","src":"1645:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10804,"mutability":"mutable","name":"value","nameLocation":"1683:5:13","nodeType":"VariableDeclaration","scope":10807,"src":"1667:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10803,"name":"string","nodeType":"ElementaryTypeName","src":"1667:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1644:45:13"},"returnParameters":{"id":10806,"nodeType":"ParameterList","parameters":[],"src":"1698:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":10814,"nodeType":"FunctionDefinition","src":"1758:74:13","nodes":[],"functionSelector":"7ed1ec7d","implemented":false,"kind":"function","modifiers":[],"name":"envBool","nameLocation":"1767:7:13","parameters":{"id":10810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10809,"mutability":"mutable","name":"name","nameLocation":"1791:4:13","nodeType":"VariableDeclaration","scope":10814,"src":"1775:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10808,"name":"string","nodeType":"ElementaryTypeName","src":"1775:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1774:22:13"},"returnParameters":{"id":10813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10812,"mutability":"mutable","name":"value","nameLocation":"1825:5:13","nodeType":"VariableDeclaration","scope":10814,"src":"1820:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10811,"name":"bool","nodeType":"ElementaryTypeName","src":"1820:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1819:12:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10821,"nodeType":"FunctionDefinition","src":"1837:77:13","nodes":[],"functionSelector":"c1978d1f","implemented":false,"kind":"function","modifiers":[],"name":"envUint","nameLocation":"1846:7:13","parameters":{"id":10817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10816,"mutability":"mutable","name":"name","nameLocation":"1870:4:13","nodeType":"VariableDeclaration","scope":10821,"src":"1854:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10815,"name":"string","nodeType":"ElementaryTypeName","src":"1854:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1853:22:13"},"returnParameters":{"id":10820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10819,"mutability":"mutable","name":"value","nameLocation":"1907:5:13","nodeType":"VariableDeclaration","scope":10821,"src":"1899:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10818,"name":"uint256","nodeType":"ElementaryTypeName","src":"1899:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1898:15:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10828,"nodeType":"FunctionDefinition","src":"1919:75:13","nodes":[],"functionSelector":"892a0c61","implemented":false,"kind":"function","modifiers":[],"name":"envInt","nameLocation":"1928:6:13","parameters":{"id":10824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10823,"mutability":"mutable","name":"name","nameLocation":"1951:4:13","nodeType":"VariableDeclaration","scope":10828,"src":"1935:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10822,"name":"string","nodeType":"ElementaryTypeName","src":"1935:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1934:22:13"},"returnParameters":{"id":10827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10826,"mutability":"mutable","name":"value","nameLocation":"1987:5:13","nodeType":"VariableDeclaration","scope":10828,"src":"1980:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10825,"name":"int256","nodeType":"ElementaryTypeName","src":"1980:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1979:14:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10835,"nodeType":"FunctionDefinition","src":"1999:80:13","nodes":[],"functionSelector":"350d56bf","implemented":false,"kind":"function","modifiers":[],"name":"envAddress","nameLocation":"2008:10:13","parameters":{"id":10831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10830,"mutability":"mutable","name":"name","nameLocation":"2035:4:13","nodeType":"VariableDeclaration","scope":10835,"src":"2019:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10829,"name":"string","nodeType":"ElementaryTypeName","src":"2019:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2018:22:13"},"returnParameters":{"id":10834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10833,"mutability":"mutable","name":"value","nameLocation":"2072:5:13","nodeType":"VariableDeclaration","scope":10835,"src":"2064:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10832,"name":"address","nodeType":"ElementaryTypeName","src":"2064:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2063:15:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10842,"nodeType":"FunctionDefinition","src":"2084:80:13","nodes":[],"functionSelector":"97949042","implemented":false,"kind":"function","modifiers":[],"name":"envBytes32","nameLocation":"2093:10:13","parameters":{"id":10838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10837,"mutability":"mutable","name":"name","nameLocation":"2120:4:13","nodeType":"VariableDeclaration","scope":10842,"src":"2104:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10836,"name":"string","nodeType":"ElementaryTypeName","src":"2104:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2103:22:13"},"returnParameters":{"id":10841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10840,"mutability":"mutable","name":"value","nameLocation":"2157:5:13","nodeType":"VariableDeclaration","scope":10842,"src":"2149:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10839,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2149:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2148:15:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10849,"nodeType":"FunctionDefinition","src":"2169:85:13","nodes":[],"functionSelector":"f877cb19","implemented":false,"kind":"function","modifiers":[],"name":"envString","nameLocation":"2178:9:13","parameters":{"id":10845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10844,"mutability":"mutable","name":"name","nameLocation":"2204:4:13","nodeType":"VariableDeclaration","scope":10849,"src":"2188:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10843,"name":"string","nodeType":"ElementaryTypeName","src":"2188:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2187:22:13"},"returnParameters":{"id":10848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10847,"mutability":"mutable","name":"value","nameLocation":"2247:5:13","nodeType":"VariableDeclaration","scope":10849,"src":"2233:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10846,"name":"string","nodeType":"ElementaryTypeName","src":"2233:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2232:21:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10856,"nodeType":"FunctionDefinition","src":"2259:83:13","nodes":[],"functionSelector":"4d7baf06","implemented":false,"kind":"function","modifiers":[],"name":"envBytes","nameLocation":"2268:8:13","parameters":{"id":10852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10851,"mutability":"mutable","name":"name","nameLocation":"2293:4:13","nodeType":"VariableDeclaration","scope":10856,"src":"2277:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10850,"name":"string","nodeType":"ElementaryTypeName","src":"2277:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2276:22:13"},"returnParameters":{"id":10855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10854,"mutability":"mutable","name":"value","nameLocation":"2335:5:13","nodeType":"VariableDeclaration","scope":10856,"src":"2322:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10853,"name":"bytes","nodeType":"ElementaryTypeName","src":"2322:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2321:20:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10866,"nodeType":"FunctionDefinition","src":"2392:106:13","nodes":[],"functionSelector":"aaaddeaf","implemented":false,"kind":"function","modifiers":[],"name":"envBool","nameLocation":"2401:7:13","parameters":{"id":10861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10858,"mutability":"mutable","name":"name","nameLocation":"2425:4:13","nodeType":"VariableDeclaration","scope":10866,"src":"2409:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10857,"name":"string","nodeType":"ElementaryTypeName","src":"2409:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10860,"mutability":"mutable","name":"delim","nameLocation":"2447:5:13","nodeType":"VariableDeclaration","scope":10866,"src":"2431:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10859,"name":"string","nodeType":"ElementaryTypeName","src":"2431:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2408:45:13"},"returnParameters":{"id":10865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10864,"mutability":"mutable","name":"value","nameLocation":"2491:5:13","nodeType":"VariableDeclaration","scope":10866,"src":"2477:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":10862,"name":"bool","nodeType":"ElementaryTypeName","src":"2477:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10863,"nodeType":"ArrayTypeName","src":"2477:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"2476:21:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10876,"nodeType":"FunctionDefinition","src":"2503:109:13","nodes":[],"functionSelector":"f3dec099","implemented":false,"kind":"function","modifiers":[],"name":"envUint","nameLocation":"2512:7:13","parameters":{"id":10871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10868,"mutability":"mutable","name":"name","nameLocation":"2536:4:13","nodeType":"VariableDeclaration","scope":10876,"src":"2520:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10867,"name":"string","nodeType":"ElementaryTypeName","src":"2520:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10870,"mutability":"mutable","name":"delim","nameLocation":"2558:5:13","nodeType":"VariableDeclaration","scope":10876,"src":"2542:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10869,"name":"string","nodeType":"ElementaryTypeName","src":"2542:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2519:45:13"},"returnParameters":{"id":10875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10874,"mutability":"mutable","name":"value","nameLocation":"2605:5:13","nodeType":"VariableDeclaration","scope":10876,"src":"2588:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":10872,"name":"uint256","nodeType":"ElementaryTypeName","src":"2588:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10873,"nodeType":"ArrayTypeName","src":"2588:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2587:24:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10886,"nodeType":"FunctionDefinition","src":"2617:107:13","nodes":[],"functionSelector":"42181150","implemented":false,"kind":"function","modifiers":[],"name":"envInt","nameLocation":"2626:6:13","parameters":{"id":10881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10878,"mutability":"mutable","name":"name","nameLocation":"2649:4:13","nodeType":"VariableDeclaration","scope":10886,"src":"2633:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10877,"name":"string","nodeType":"ElementaryTypeName","src":"2633:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10880,"mutability":"mutable","name":"delim","nameLocation":"2671:5:13","nodeType":"VariableDeclaration","scope":10886,"src":"2655:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10879,"name":"string","nodeType":"ElementaryTypeName","src":"2655:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2632:45:13"},"returnParameters":{"id":10885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10884,"mutability":"mutable","name":"value","nameLocation":"2717:5:13","nodeType":"VariableDeclaration","scope":10886,"src":"2701:21:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":10882,"name":"int256","nodeType":"ElementaryTypeName","src":"2701:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":10883,"nodeType":"ArrayTypeName","src":"2701:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"2700:23:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10896,"nodeType":"FunctionDefinition","src":"2729:112:13","nodes":[],"functionSelector":"ad31b9fa","implemented":false,"kind":"function","modifiers":[],"name":"envAddress","nameLocation":"2738:10:13","parameters":{"id":10891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10888,"mutability":"mutable","name":"name","nameLocation":"2765:4:13","nodeType":"VariableDeclaration","scope":10896,"src":"2749:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10887,"name":"string","nodeType":"ElementaryTypeName","src":"2749:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10890,"mutability":"mutable","name":"delim","nameLocation":"2787:5:13","nodeType":"VariableDeclaration","scope":10896,"src":"2771:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10889,"name":"string","nodeType":"ElementaryTypeName","src":"2771:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2748:45:13"},"returnParameters":{"id":10895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10894,"mutability":"mutable","name":"value","nameLocation":"2834:5:13","nodeType":"VariableDeclaration","scope":10896,"src":"2817:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":10892,"name":"address","nodeType":"ElementaryTypeName","src":"2817:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":10893,"nodeType":"ArrayTypeName","src":"2817:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2816:24:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10906,"nodeType":"FunctionDefinition","src":"2846:112:13","nodes":[],"functionSelector":"5af231c1","implemented":false,"kind":"function","modifiers":[],"name":"envBytes32","nameLocation":"2855:10:13","parameters":{"id":10901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10898,"mutability":"mutable","name":"name","nameLocation":"2882:4:13","nodeType":"VariableDeclaration","scope":10906,"src":"2866:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10897,"name":"string","nodeType":"ElementaryTypeName","src":"2866:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10900,"mutability":"mutable","name":"delim","nameLocation":"2904:5:13","nodeType":"VariableDeclaration","scope":10906,"src":"2888:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10899,"name":"string","nodeType":"ElementaryTypeName","src":"2888:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2865:45:13"},"returnParameters":{"id":10905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10904,"mutability":"mutable","name":"value","nameLocation":"2951:5:13","nodeType":"VariableDeclaration","scope":10906,"src":"2934:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":10902,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2934:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":10903,"nodeType":"ArrayTypeName","src":"2934:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"2933:24:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10916,"nodeType":"FunctionDefinition","src":"2963:110:13","nodes":[],"functionSelector":"14b02bc9","implemented":false,"kind":"function","modifiers":[],"name":"envString","nameLocation":"2972:9:13","parameters":{"id":10911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10908,"mutability":"mutable","name":"name","nameLocation":"2998:4:13","nodeType":"VariableDeclaration","scope":10916,"src":"2982:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10907,"name":"string","nodeType":"ElementaryTypeName","src":"2982:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10910,"mutability":"mutable","name":"delim","nameLocation":"3020:5:13","nodeType":"VariableDeclaration","scope":10916,"src":"3004:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10909,"name":"string","nodeType":"ElementaryTypeName","src":"3004:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2981:45:13"},"returnParameters":{"id":10915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10914,"mutability":"mutable","name":"value","nameLocation":"3066:5:13","nodeType":"VariableDeclaration","scope":10916,"src":"3050:21:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":10912,"name":"string","nodeType":"ElementaryTypeName","src":"3050:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":10913,"nodeType":"ArrayTypeName","src":"3050:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"3049:23:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10926,"nodeType":"FunctionDefinition","src":"3078:108:13","nodes":[],"functionSelector":"ddc2651b","implemented":false,"kind":"function","modifiers":[],"name":"envBytes","nameLocation":"3087:8:13","parameters":{"id":10921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10918,"mutability":"mutable","name":"name","nameLocation":"3112:4:13","nodeType":"VariableDeclaration","scope":10926,"src":"3096:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10917,"name":"string","nodeType":"ElementaryTypeName","src":"3096:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10920,"mutability":"mutable","name":"delim","nameLocation":"3134:5:13","nodeType":"VariableDeclaration","scope":10926,"src":"3118:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10919,"name":"string","nodeType":"ElementaryTypeName","src":"3118:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3095:45:13"},"returnParameters":{"id":10925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10924,"mutability":"mutable","name":"value","nameLocation":"3179:5:13","nodeType":"VariableDeclaration","scope":10926,"src":"3164:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":10922,"name":"bytes","nodeType":"ElementaryTypeName","src":"3164:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":10923,"nodeType":"ArrayTypeName","src":"3164:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"3163:22:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":10935,"nodeType":"FunctionDefinition","src":"3244:86:13","nodes":[],"functionSelector":"4777f3cf","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3253:5:13","parameters":{"id":10931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10928,"mutability":"mutable","name":"name","nameLocation":"3275:4:13","nodeType":"VariableDeclaration","scope":10935,"src":"3259:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10927,"name":"string","nodeType":"ElementaryTypeName","src":"3259:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10930,"mutability":"mutable","name":"defaultValue","nameLocation":"3286:12:13","nodeType":"VariableDeclaration","scope":10935,"src":"3281:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10929,"name":"bool","nodeType":"ElementaryTypeName","src":"3281:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3258:41:13"},"returnParameters":{"id":10934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10933,"mutability":"mutable","name":"value","nameLocation":"3323:5:13","nodeType":"VariableDeclaration","scope":10935,"src":"3318:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10932,"name":"bool","nodeType":"ElementaryTypeName","src":"3318:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3317:12:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":10944,"nodeType":"FunctionDefinition","src":"3335:92:13","nodes":[],"functionSelector":"5e97348f","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3344:5:13","parameters":{"id":10940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10937,"mutability":"mutable","name":"name","nameLocation":"3366:4:13","nodeType":"VariableDeclaration","scope":10944,"src":"3350:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10936,"name":"string","nodeType":"ElementaryTypeName","src":"3350:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10939,"mutability":"mutable","name":"defaultValue","nameLocation":"3380:12:13","nodeType":"VariableDeclaration","scope":10944,"src":"3372:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10938,"name":"uint256","nodeType":"ElementaryTypeName","src":"3372:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3349:44:13"},"returnParameters":{"id":10943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10942,"mutability":"mutable","name":"value","nameLocation":"3420:5:13","nodeType":"VariableDeclaration","scope":10944,"src":"3412:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10941,"name":"uint256","nodeType":"ElementaryTypeName","src":"3412:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3411:15:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":10953,"nodeType":"FunctionDefinition","src":"3432:90:13","nodes":[],"functionSelector":"bbcb713e","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3441:5:13","parameters":{"id":10949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10946,"mutability":"mutable","name":"name","nameLocation":"3463:4:13","nodeType":"VariableDeclaration","scope":10953,"src":"3447:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10945,"name":"string","nodeType":"ElementaryTypeName","src":"3447:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10948,"mutability":"mutable","name":"defaultValue","nameLocation":"3476:12:13","nodeType":"VariableDeclaration","scope":10953,"src":"3469:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10947,"name":"int256","nodeType":"ElementaryTypeName","src":"3469:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3446:43:13"},"returnParameters":{"id":10952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10951,"mutability":"mutable","name":"value","nameLocation":"3515:5:13","nodeType":"VariableDeclaration","scope":10953,"src":"3508:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10950,"name":"int256","nodeType":"ElementaryTypeName","src":"3508:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3507:14:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":10962,"nodeType":"FunctionDefinition","src":"3527:92:13","nodes":[],"functionSelector":"561fe540","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3536:5:13","parameters":{"id":10958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10955,"mutability":"mutable","name":"name","nameLocation":"3558:4:13","nodeType":"VariableDeclaration","scope":10962,"src":"3542:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10954,"name":"string","nodeType":"ElementaryTypeName","src":"3542:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10957,"mutability":"mutable","name":"defaultValue","nameLocation":"3572:12:13","nodeType":"VariableDeclaration","scope":10962,"src":"3564:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10956,"name":"address","nodeType":"ElementaryTypeName","src":"3564:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3541:44:13"},"returnParameters":{"id":10961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10960,"mutability":"mutable","name":"value","nameLocation":"3612:5:13","nodeType":"VariableDeclaration","scope":10962,"src":"3604:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10959,"name":"address","nodeType":"ElementaryTypeName","src":"3604:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3603:15:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":10971,"nodeType":"FunctionDefinition","src":"3624:92:13","nodes":[],"functionSelector":"b4a85892","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3633:5:13","parameters":{"id":10967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10964,"mutability":"mutable","name":"name","nameLocation":"3655:4:13","nodeType":"VariableDeclaration","scope":10971,"src":"3639:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10963,"name":"string","nodeType":"ElementaryTypeName","src":"3639:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10966,"mutability":"mutable","name":"defaultValue","nameLocation":"3669:12:13","nodeType":"VariableDeclaration","scope":10971,"src":"3661:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10965,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3661:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3638:44:13"},"returnParameters":{"id":10970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10969,"mutability":"mutable","name":"value","nameLocation":"3709:5:13","nodeType":"VariableDeclaration","scope":10971,"src":"3701:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3701:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3700:15:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":10980,"nodeType":"FunctionDefinition","src":"3721:106:13","nodes":[],"functionSelector":"d145736c","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3730:5:13","parameters":{"id":10976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10973,"mutability":"mutable","name":"name","nameLocation":"3752:4:13","nodeType":"VariableDeclaration","scope":10980,"src":"3736:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10972,"name":"string","nodeType":"ElementaryTypeName","src":"3736:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10975,"mutability":"mutable","name":"defaultValue","nameLocation":"3774:12:13","nodeType":"VariableDeclaration","scope":10980,"src":"3758:28:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10974,"name":"string","nodeType":"ElementaryTypeName","src":"3758:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3735:52:13"},"returnParameters":{"id":10979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10978,"mutability":"mutable","name":"value","nameLocation":"3820:5:13","nodeType":"VariableDeclaration","scope":10980,"src":"3806:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10977,"name":"string","nodeType":"ElementaryTypeName","src":"3806:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3805:21:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":10989,"nodeType":"FunctionDefinition","src":"3832:104:13","nodes":[],"functionSelector":"b3e47705","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3841:5:13","parameters":{"id":10985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10982,"mutability":"mutable","name":"name","nameLocation":"3863:4:13","nodeType":"VariableDeclaration","scope":10989,"src":"3847:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10981,"name":"string","nodeType":"ElementaryTypeName","src":"3847:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10984,"mutability":"mutable","name":"defaultValue","nameLocation":"3884:12:13","nodeType":"VariableDeclaration","scope":10989,"src":"3869:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":10983,"name":"bytes","nodeType":"ElementaryTypeName","src":"3869:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3846:51:13"},"returnParameters":{"id":10988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10987,"mutability":"mutable","name":"value","nameLocation":"3929:5:13","nodeType":"VariableDeclaration","scope":10989,"src":"3916:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10986,"name":"bytes","nodeType":"ElementaryTypeName","src":"3916:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3915:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11002,"nodeType":"FunctionDefinition","src":"4004:145:13","nodes":[],"functionSelector":"eb85e83b","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4013:5:13","parameters":{"id":10997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10991,"mutability":"mutable","name":"name","nameLocation":"4035:4:13","nodeType":"VariableDeclaration","scope":11002,"src":"4019:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10990,"name":"string","nodeType":"ElementaryTypeName","src":"4019:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10993,"mutability":"mutable","name":"delim","nameLocation":"4057:5:13","nodeType":"VariableDeclaration","scope":11002,"src":"4041:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":10992,"name":"string","nodeType":"ElementaryTypeName","src":"4041:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10996,"mutability":"mutable","name":"defaultValue","nameLocation":"4080:12:13","nodeType":"VariableDeclaration","scope":11002,"src":"4064:28:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":10994,"name":"bool","nodeType":"ElementaryTypeName","src":"4064:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10995,"nodeType":"ArrayTypeName","src":"4064:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"4018:75:13"},"returnParameters":{"id":11001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11000,"mutability":"mutable","name":"value","nameLocation":"4142:5:13","nodeType":"VariableDeclaration","scope":11002,"src":"4128:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":10998,"name":"bool","nodeType":"ElementaryTypeName","src":"4128:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10999,"nodeType":"ArrayTypeName","src":"4128:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"4127:21:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11015,"nodeType":"FunctionDefinition","src":"4154:151:13","nodes":[],"functionSelector":"74318528","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4163:5:13","parameters":{"id":11010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11004,"mutability":"mutable","name":"name","nameLocation":"4185:4:13","nodeType":"VariableDeclaration","scope":11015,"src":"4169:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11003,"name":"string","nodeType":"ElementaryTypeName","src":"4169:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11006,"mutability":"mutable","name":"delim","nameLocation":"4207:5:13","nodeType":"VariableDeclaration","scope":11015,"src":"4191:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11005,"name":"string","nodeType":"ElementaryTypeName","src":"4191:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11009,"mutability":"mutable","name":"defaultValue","nameLocation":"4233:12:13","nodeType":"VariableDeclaration","scope":11015,"src":"4214:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11007,"name":"uint256","nodeType":"ElementaryTypeName","src":"4214:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11008,"nodeType":"ArrayTypeName","src":"4214:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"4168:78:13"},"returnParameters":{"id":11014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11013,"mutability":"mutable","name":"value","nameLocation":"4298:5:13","nodeType":"VariableDeclaration","scope":11015,"src":"4281:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11011,"name":"uint256","nodeType":"ElementaryTypeName","src":"4281:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11012,"nodeType":"ArrayTypeName","src":"4281:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"4280:24:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11028,"nodeType":"FunctionDefinition","src":"4310:149:13","nodes":[],"functionSelector":"4700d74b","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4319:5:13","parameters":{"id":11023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11017,"mutability":"mutable","name":"name","nameLocation":"4341:4:13","nodeType":"VariableDeclaration","scope":11028,"src":"4325:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11016,"name":"string","nodeType":"ElementaryTypeName","src":"4325:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11019,"mutability":"mutable","name":"delim","nameLocation":"4363:5:13","nodeType":"VariableDeclaration","scope":11028,"src":"4347:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11018,"name":"string","nodeType":"ElementaryTypeName","src":"4347:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11022,"mutability":"mutable","name":"defaultValue","nameLocation":"4388:12:13","nodeType":"VariableDeclaration","scope":11028,"src":"4370:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":11020,"name":"int256","nodeType":"ElementaryTypeName","src":"4370:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":11021,"nodeType":"ArrayTypeName","src":"4370:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"4324:77:13"},"returnParameters":{"id":11027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11026,"mutability":"mutable","name":"value","nameLocation":"4452:5:13","nodeType":"VariableDeclaration","scope":11028,"src":"4436:21:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":11024,"name":"int256","nodeType":"ElementaryTypeName","src":"4436:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":11025,"nodeType":"ArrayTypeName","src":"4436:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"4435:23:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11041,"nodeType":"FunctionDefinition","src":"4464:151:13","nodes":[],"functionSelector":"c74e9deb","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4473:5:13","parameters":{"id":11036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11030,"mutability":"mutable","name":"name","nameLocation":"4495:4:13","nodeType":"VariableDeclaration","scope":11041,"src":"4479:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11029,"name":"string","nodeType":"ElementaryTypeName","src":"4479:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11032,"mutability":"mutable","name":"delim","nameLocation":"4517:5:13","nodeType":"VariableDeclaration","scope":11041,"src":"4501:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11031,"name":"string","nodeType":"ElementaryTypeName","src":"4501:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11035,"mutability":"mutable","name":"defaultValue","nameLocation":"4543:12:13","nodeType":"VariableDeclaration","scope":11041,"src":"4524:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":11033,"name":"address","nodeType":"ElementaryTypeName","src":"4524:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11034,"nodeType":"ArrayTypeName","src":"4524:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"4478:78:13"},"returnParameters":{"id":11040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11039,"mutability":"mutable","name":"value","nameLocation":"4608:5:13","nodeType":"VariableDeclaration","scope":11041,"src":"4591:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":11037,"name":"address","nodeType":"ElementaryTypeName","src":"4591:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11038,"nodeType":"ArrayTypeName","src":"4591:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"4590:24:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11054,"nodeType":"FunctionDefinition","src":"4620:151:13","nodes":[],"functionSelector":"2281f367","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4629:5:13","parameters":{"id":11049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11043,"mutability":"mutable","name":"name","nameLocation":"4651:4:13","nodeType":"VariableDeclaration","scope":11054,"src":"4635:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11042,"name":"string","nodeType":"ElementaryTypeName","src":"4635:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11045,"mutability":"mutable","name":"delim","nameLocation":"4673:5:13","nodeType":"VariableDeclaration","scope":11054,"src":"4657:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11044,"name":"string","nodeType":"ElementaryTypeName","src":"4657:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11048,"mutability":"mutable","name":"defaultValue","nameLocation":"4699:12:13","nodeType":"VariableDeclaration","scope":11054,"src":"4680:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11046,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4680:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11047,"nodeType":"ArrayTypeName","src":"4680:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4634:78:13"},"returnParameters":{"id":11053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11052,"mutability":"mutable","name":"value","nameLocation":"4764:5:13","nodeType":"VariableDeclaration","scope":11054,"src":"4747:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11050,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4747:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11051,"nodeType":"ArrayTypeName","src":"4747:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4746:24:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11067,"nodeType":"FunctionDefinition","src":"4776:149:13","nodes":[],"functionSelector":"859216bc","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4785:5:13","parameters":{"id":11062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11056,"mutability":"mutable","name":"name","nameLocation":"4807:4:13","nodeType":"VariableDeclaration","scope":11067,"src":"4791:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11055,"name":"string","nodeType":"ElementaryTypeName","src":"4791:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11058,"mutability":"mutable","name":"delim","nameLocation":"4829:5:13","nodeType":"VariableDeclaration","scope":11067,"src":"4813:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11057,"name":"string","nodeType":"ElementaryTypeName","src":"4813:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11061,"mutability":"mutable","name":"defaultValue","nameLocation":"4854:12:13","nodeType":"VariableDeclaration","scope":11067,"src":"4836:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":11059,"name":"string","nodeType":"ElementaryTypeName","src":"4836:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":11060,"nodeType":"ArrayTypeName","src":"4836:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"4790:77:13"},"returnParameters":{"id":11066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11065,"mutability":"mutable","name":"value","nameLocation":"4918:5:13","nodeType":"VariableDeclaration","scope":11067,"src":"4902:21:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":11063,"name":"string","nodeType":"ElementaryTypeName","src":"4902:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":11064,"nodeType":"ArrayTypeName","src":"4902:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"4901:23:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11080,"nodeType":"FunctionDefinition","src":"4930:147:13","nodes":[],"functionSelector":"64bc3e64","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4939:5:13","parameters":{"id":11075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11069,"mutability":"mutable","name":"name","nameLocation":"4961:4:13","nodeType":"VariableDeclaration","scope":11080,"src":"4945:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11068,"name":"string","nodeType":"ElementaryTypeName","src":"4945:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11071,"mutability":"mutable","name":"delim","nameLocation":"4983:5:13","nodeType":"VariableDeclaration","scope":11080,"src":"4967:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11070,"name":"string","nodeType":"ElementaryTypeName","src":"4967:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11074,"mutability":"mutable","name":"defaultValue","nameLocation":"5007:12:13","nodeType":"VariableDeclaration","scope":11080,"src":"4990:29:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":11072,"name":"bytes","nodeType":"ElementaryTypeName","src":"4990:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":11073,"nodeType":"ArrayTypeName","src":"4990:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"4944:76:13"},"returnParameters":{"id":11079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11078,"mutability":"mutable","name":"value","nameLocation":"5070:5:13","nodeType":"VariableDeclaration","scope":11080,"src":"5055:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":11076,"name":"bytes","nodeType":"ElementaryTypeName","src":"5055:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":11077,"nodeType":"ArrayTypeName","src":"5055:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"5054:22:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11083,"nodeType":"FunctionDefinition","src":"5126:27:13","nodes":[],"functionSelector":"266cf109","implemented":false,"kind":"function","modifiers":[],"name":"record","nameLocation":"5135:6:13","parameters":{"id":11081,"nodeType":"ParameterList","parameters":[],"src":"5141:2:13"},"returnParameters":{"id":11082,"nodeType":"ParameterList","parameters":[],"src":"5152:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11094,"nodeType":"FunctionDefinition","src":"5250:109:13","nodes":[],"functionSelector":"65bc9481","implemented":false,"kind":"function","modifiers":[],"name":"accesses","nameLocation":"5259:8:13","parameters":{"id":11086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11085,"mutability":"mutable","name":"target","nameLocation":"5276:6:13","nodeType":"VariableDeclaration","scope":11094,"src":"5268:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11084,"name":"address","nodeType":"ElementaryTypeName","src":"5268:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5267:16:13"},"returnParameters":{"id":11093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11089,"mutability":"mutable","name":"readSlots","nameLocation":"5319:9:13","nodeType":"VariableDeclaration","scope":11094,"src":"5302:26:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11087,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5302:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11088,"nodeType":"ArrayTypeName","src":"5302:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":11092,"mutability":"mutable","name":"writeSlots","nameLocation":"5347:10:13","nodeType":"VariableDeclaration","scope":11094,"src":"5330:27:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11090,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5330:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11091,"nodeType":"ArrayTypeName","src":"5330:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"5301:57:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11101,"nodeType":"FunctionDefinition","src":"5467:101:13","nodes":[],"functionSelector":"8d1cc925","implemented":false,"kind":"function","modifiers":[],"name":"getCode","nameLocation":"5476:7:13","parameters":{"id":11097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11096,"mutability":"mutable","name":"artifactPath","nameLocation":"5500:12:13","nodeType":"VariableDeclaration","scope":11101,"src":"5484:28:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11095,"name":"string","nodeType":"ElementaryTypeName","src":"5484:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5483:30:13"},"returnParameters":{"id":11100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11099,"mutability":"mutable","name":"creationBytecode","nameLocation":"5550:16:13","nodeType":"VariableDeclaration","scope":11101,"src":"5537:29:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11098,"name":"bytes","nodeType":"ElementaryTypeName","src":"5537:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5536:31:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11108,"nodeType":"FunctionDefinition","src":"5676:108:13","nodes":[],"functionSelector":"3ebf73b4","implemented":false,"kind":"function","modifiers":[],"name":"getDeployedCode","nameLocation":"5685:15:13","parameters":{"id":11104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11103,"mutability":"mutable","name":"artifactPath","nameLocation":"5717:12:13","nodeType":"VariableDeclaration","scope":11108,"src":"5701:28:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11102,"name":"string","nodeType":"ElementaryTypeName","src":"5701:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5700:30:13"},"returnParameters":{"id":11107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11106,"mutability":"mutable","name":"runtimeBytecode","nameLocation":"5767:15:13","nodeType":"VariableDeclaration","scope":11108,"src":"5754:28:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11105,"name":"bytes","nodeType":"ElementaryTypeName","src":"5754:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5753:30:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11115,"nodeType":"FunctionDefinition","src":"5829:67:13","nodes":[],"functionSelector":"c657c718","implemented":false,"kind":"function","modifiers":[],"name":"label","nameLocation":"5838:5:13","parameters":{"id":11113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11110,"mutability":"mutable","name":"account","nameLocation":"5852:7:13","nodeType":"VariableDeclaration","scope":11115,"src":"5844:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11109,"name":"address","nodeType":"ElementaryTypeName","src":"5844:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11112,"mutability":"mutable","name":"newLabel","nameLocation":"5877:8:13","nodeType":"VariableDeclaration","scope":11115,"src":"5861:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11111,"name":"string","nodeType":"ElementaryTypeName","src":"5861:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5843:43:13"},"returnParameters":{"id":11114,"nodeType":"ParameterList","parameters":[],"src":"5895:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11118,"nodeType":"FunctionDefinition","src":"6063:30:13","nodes":[],"functionSelector":"afc98040","implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"6072:9:13","parameters":{"id":11116,"nodeType":"ParameterList","parameters":[],"src":"6081:2:13"},"returnParameters":{"id":11117,"nodeType":"ParameterList","parameters":[],"src":"6092:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11123,"nodeType":"FunctionDefinition","src":"6252:44:13","nodes":[],"functionSelector":"e6962cdb","implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"6261:9:13","parameters":{"id":11121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11120,"mutability":"mutable","name":"signer","nameLocation":"6279:6:13","nodeType":"VariableDeclaration","scope":11123,"src":"6271:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11119,"name":"address","nodeType":"ElementaryTypeName","src":"6271:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6270:16:13"},"returnParameters":{"id":11122,"nodeType":"ParameterList","parameters":[],"src":"6295:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11128,"nodeType":"FunctionDefinition","src":"6459:48:13","nodes":[],"functionSelector":"f67a965b","implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"6468:9:13","parameters":{"id":11126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11125,"mutability":"mutable","name":"privateKey","nameLocation":"6486:10:13","nodeType":"VariableDeclaration","scope":11128,"src":"6478:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11124,"name":"uint256","nodeType":"ElementaryTypeName","src":"6478:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6477:20:13"},"returnParameters":{"id":11127,"nodeType":"ParameterList","parameters":[],"src":"6506:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11131,"nodeType":"FunctionDefinition","src":"6680:35:13","nodes":[],"functionSelector":"7fb5297f","implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"6689:14:13","parameters":{"id":11129,"nodeType":"ParameterList","parameters":[],"src":"6703:2:13"},"returnParameters":{"id":11130,"nodeType":"ParameterList","parameters":[],"src":"6714:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11136,"nodeType":"FunctionDefinition","src":"6866:49:13","nodes":[],"functionSelector":"7fec2a8d","implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"6875:14:13","parameters":{"id":11134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11133,"mutability":"mutable","name":"signer","nameLocation":"6898:6:13","nodeType":"VariableDeclaration","scope":11136,"src":"6890:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11132,"name":"address","nodeType":"ElementaryTypeName","src":"6890:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6889:16:13"},"returnParameters":{"id":11135,"nodeType":"ParameterList","parameters":[],"src":"6914:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11141,"nodeType":"FunctionDefinition","src":"7070:53:13","nodes":[],"functionSelector":"ce817d47","implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"7079:14:13","parameters":{"id":11139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11138,"mutability":"mutable","name":"privateKey","nameLocation":"7102:10:13","nodeType":"VariableDeclaration","scope":11141,"src":"7094:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11137,"name":"uint256","nodeType":"ElementaryTypeName","src":"7094:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7093:20:13"},"returnParameters":{"id":11140,"nodeType":"ParameterList","parameters":[],"src":"7122:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11144,"nodeType":"FunctionDefinition","src":"7173:34:13","nodes":[],"functionSelector":"76eadd36","implemented":false,"kind":"function","modifiers":[],"name":"stopBroadcast","nameLocation":"7182:13:13","parameters":{"id":11142,"nodeType":"ParameterList","parameters":[],"src":"7195:2:13"},"returnParameters":{"id":11143,"nodeType":"ParameterList","parameters":[],"src":"7206:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11151,"nodeType":"FunctionDefinition","src":"7262:83:13","nodes":[],"functionSelector":"60f9bb11","implemented":false,"kind":"function","modifiers":[],"name":"readFile","nameLocation":"7271:8:13","parameters":{"id":11147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11146,"mutability":"mutable","name":"path","nameLocation":"7296:4:13","nodeType":"VariableDeclaration","scope":11151,"src":"7280:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11145,"name":"string","nodeType":"ElementaryTypeName","src":"7280:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7279:22:13"},"returnParameters":{"id":11150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11149,"mutability":"mutable","name":"data","nameLocation":"7339:4:13","nodeType":"VariableDeclaration","scope":11151,"src":"7325:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11148,"name":"string","nodeType":"ElementaryTypeName","src":"7325:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7324:20:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11158,"nodeType":"FunctionDefinition","src":"7439:88:13","nodes":[],"functionSelector":"16ed7bc4","implemented":false,"kind":"function","modifiers":[],"name":"readFileBinary","nameLocation":"7448:14:13","parameters":{"id":11154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11153,"mutability":"mutable","name":"path","nameLocation":"7479:4:13","nodeType":"VariableDeclaration","scope":11158,"src":"7463:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11152,"name":"string","nodeType":"ElementaryTypeName","src":"7463:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7462:22:13"},"returnParameters":{"id":11157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11156,"mutability":"mutable","name":"data","nameLocation":"7521:4:13","nodeType":"VariableDeclaration","scope":11158,"src":"7508:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11155,"name":"bytes","nodeType":"ElementaryTypeName","src":"7508:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7507:19:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11163,"nodeType":"FunctionDefinition","src":"7580:66:13","nodes":[],"functionSelector":"d930a0e6","implemented":false,"kind":"function","modifiers":[],"name":"projectRoot","nameLocation":"7589:11:13","parameters":{"id":11159,"nodeType":"ParameterList","parameters":[],"src":"7600:2:13"},"returnParameters":{"id":11162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11161,"mutability":"mutable","name":"path","nameLocation":"7640:4:13","nodeType":"VariableDeclaration","scope":11163,"src":"7626:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11160,"name":"string","nodeType":"ElementaryTypeName","src":"7626:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7625:20:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11171,"nodeType":"FunctionDefinition","src":"7696:93:13","nodes":[],"functionSelector":"af368a08","implemented":false,"kind":"function","modifiers":[],"name":"fsMetadata","nameLocation":"7705:10:13","parameters":{"id":11166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11165,"mutability":"mutable","name":"fileOrDir","nameLocation":"7732:9:13","nodeType":"VariableDeclaration","scope":11171,"src":"7716:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11164,"name":"string","nodeType":"ElementaryTypeName","src":"7716:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7715:27:13"},"returnParameters":{"id":11170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11169,"mutability":"mutable","name":"metadata","nameLocation":"7779:8:13","nodeType":"VariableDeclaration","scope":11171,"src":"7761:26:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FsMetadata_$10756_memory_ptr","typeString":"struct VmSafe.FsMetadata"},"typeName":{"id":11168,"nodeType":"UserDefinedTypeName","pathNode":{"id":11167,"name":"FsMetadata","nodeType":"IdentifierPath","referencedDeclaration":10756,"src":"7761:10:13"},"referencedDeclaration":10756,"src":"7761:10:13","typeDescriptions":{"typeIdentifier":"t_struct$_FsMetadata_$10756_storage_ptr","typeString":"struct VmSafe.FsMetadata"}},"visibility":"internal"}],"src":"7760:28:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11178,"nodeType":"FunctionDefinition","src":"7835:83:13","nodes":[],"functionSelector":"70f55728","implemented":false,"kind":"function","modifiers":[],"name":"readLine","nameLocation":"7844:8:13","parameters":{"id":11174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11173,"mutability":"mutable","name":"path","nameLocation":"7869:4:13","nodeType":"VariableDeclaration","scope":11178,"src":"7853:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11172,"name":"string","nodeType":"ElementaryTypeName","src":"7853:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7852:22:13"},"returnParameters":{"id":11177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11176,"mutability":"mutable","name":"line","nameLocation":"7912:4:13","nodeType":"VariableDeclaration","scope":11178,"src":"7898:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11175,"name":"string","nodeType":"ElementaryTypeName","src":"7898:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7897:20:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11185,"nodeType":"FunctionDefinition","src":"8037:72:13","nodes":[],"functionSelector":"897e0a97","implemented":false,"kind":"function","modifiers":[],"name":"writeFile","nameLocation":"8046:9:13","parameters":{"id":11183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11180,"mutability":"mutable","name":"path","nameLocation":"8072:4:13","nodeType":"VariableDeclaration","scope":11185,"src":"8056:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11179,"name":"string","nodeType":"ElementaryTypeName","src":"8056:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11182,"mutability":"mutable","name":"data","nameLocation":"8094:4:13","nodeType":"VariableDeclaration","scope":11185,"src":"8078:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11181,"name":"string","nodeType":"ElementaryTypeName","src":"8078:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8055:44:13"},"returnParameters":{"id":11184,"nodeType":"ParameterList","parameters":[],"src":"8108:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11192,"nodeType":"FunctionDefinition","src":"8282:77:13","nodes":[],"functionSelector":"1f21fc80","implemented":false,"kind":"function","modifiers":[],"name":"writeFileBinary","nameLocation":"8291:15:13","parameters":{"id":11190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11187,"mutability":"mutable","name":"path","nameLocation":"8323:4:13","nodeType":"VariableDeclaration","scope":11192,"src":"8307:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11186,"name":"string","nodeType":"ElementaryTypeName","src":"8307:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11189,"mutability":"mutable","name":"data","nameLocation":"8344:4:13","nodeType":"VariableDeclaration","scope":11192,"src":"8329:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11188,"name":"bytes","nodeType":"ElementaryTypeName","src":"8329:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8306:43:13"},"returnParameters":{"id":11191,"nodeType":"ParameterList","parameters":[],"src":"8358:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11199,"nodeType":"FunctionDefinition","src":"8430:72:13","nodes":[],"functionSelector":"619d897f","implemented":false,"kind":"function","modifiers":[],"name":"writeLine","nameLocation":"8439:9:13","parameters":{"id":11197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11194,"mutability":"mutable","name":"path","nameLocation":"8465:4:13","nodeType":"VariableDeclaration","scope":11199,"src":"8449:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11193,"name":"string","nodeType":"ElementaryTypeName","src":"8449:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11196,"mutability":"mutable","name":"data","nameLocation":"8487:4:13","nodeType":"VariableDeclaration","scope":11199,"src":"8471:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11195,"name":"string","nodeType":"ElementaryTypeName","src":"8471:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8448:44:13"},"returnParameters":{"id":11198,"nodeType":"ParameterList","parameters":[],"src":"8501:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11204,"nodeType":"FunctionDefinition","src":"8614:50:13","nodes":[],"functionSelector":"48c3241f","implemented":false,"kind":"function","modifiers":[],"name":"closeFile","nameLocation":"8623:9:13","parameters":{"id":11202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11201,"mutability":"mutable","name":"path","nameLocation":"8649:4:13","nodeType":"VariableDeclaration","scope":11204,"src":"8633:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11200,"name":"string","nodeType":"ElementaryTypeName","src":"8633:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8632:22:13"},"returnParameters":{"id":11203,"nodeType":"ParameterList","parameters":[],"src":"8663:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11209,"nodeType":"FunctionDefinition","src":"8912:51:13","nodes":[],"functionSelector":"f1afe04d","implemented":false,"kind":"function","modifiers":[],"name":"removeFile","nameLocation":"8921:10:13","parameters":{"id":11207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11206,"mutability":"mutable","name":"path","nameLocation":"8948:4:13","nodeType":"VariableDeclaration","scope":11209,"src":"8932:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11205,"name":"string","nodeType":"ElementaryTypeName","src":"8932:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8931:22:13"},"returnParameters":{"id":11208,"nodeType":"ParameterList","parameters":[],"src":"8962:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11216,"nodeType":"FunctionDefinition","src":"9002:88:13","nodes":[],"functionSelector":"56ca623e","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"9011:8:13","parameters":{"id":11212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11211,"mutability":"mutable","name":"value","nameLocation":"9028:5:13","nodeType":"VariableDeclaration","scope":11216,"src":"9020:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11210,"name":"address","nodeType":"ElementaryTypeName","src":"9020:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9019:15:13"},"returnParameters":{"id":11215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11214,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9072:16:13","nodeType":"VariableDeclaration","scope":11216,"src":"9058:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11213,"name":"string","nodeType":"ElementaryTypeName","src":"9058:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9057:32:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11223,"nodeType":"FunctionDefinition","src":"9095:95:13","nodes":[],"functionSelector":"71aad10d","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"9104:8:13","parameters":{"id":11219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11218,"mutability":"mutable","name":"value","nameLocation":"9128:5:13","nodeType":"VariableDeclaration","scope":11223,"src":"9113:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11217,"name":"bytes","nodeType":"ElementaryTypeName","src":"9113:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9112:22:13"},"returnParameters":{"id":11222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11221,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9172:16:13","nodeType":"VariableDeclaration","scope":11223,"src":"9158:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11220,"name":"string","nodeType":"ElementaryTypeName","src":"9158:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9157:32:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11230,"nodeType":"FunctionDefinition","src":"9195:88:13","nodes":[],"functionSelector":"b11a19e8","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"9204:8:13","parameters":{"id":11226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11225,"mutability":"mutable","name":"value","nameLocation":"9221:5:13","nodeType":"VariableDeclaration","scope":11230,"src":"9213:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11224,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9213:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9212:15:13"},"returnParameters":{"id":11229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11228,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9265:16:13","nodeType":"VariableDeclaration","scope":11230,"src":"9251:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11227,"name":"string","nodeType":"ElementaryTypeName","src":"9251:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9250:32:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11237,"nodeType":"FunctionDefinition","src":"9288:85:13","nodes":[],"functionSelector":"71dce7da","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"9297:8:13","parameters":{"id":11233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11232,"mutability":"mutable","name":"value","nameLocation":"9311:5:13","nodeType":"VariableDeclaration","scope":11237,"src":"9306:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11231,"name":"bool","nodeType":"ElementaryTypeName","src":"9306:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9305:12:13"},"returnParameters":{"id":11236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11235,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9355:16:13","nodeType":"VariableDeclaration","scope":11237,"src":"9341:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11234,"name":"string","nodeType":"ElementaryTypeName","src":"9341:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9340:32:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11244,"nodeType":"FunctionDefinition","src":"9378:88:13","nodes":[],"functionSelector":"6900a3ae","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"9387:8:13","parameters":{"id":11240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11239,"mutability":"mutable","name":"value","nameLocation":"9404:5:13","nodeType":"VariableDeclaration","scope":11244,"src":"9396:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11238,"name":"uint256","nodeType":"ElementaryTypeName","src":"9396:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9395:15:13"},"returnParameters":{"id":11243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11242,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9448:16:13","nodeType":"VariableDeclaration","scope":11244,"src":"9434:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11241,"name":"string","nodeType":"ElementaryTypeName","src":"9434:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9433:32:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11251,"nodeType":"FunctionDefinition","src":"9471:87:13","nodes":[],"functionSelector":"a322c40e","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"9480:8:13","parameters":{"id":11247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11246,"mutability":"mutable","name":"value","nameLocation":"9496:5:13","nodeType":"VariableDeclaration","scope":11251,"src":"9489:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11245,"name":"int256","nodeType":"ElementaryTypeName","src":"9489:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9488:14:13"},"returnParameters":{"id":11250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11249,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9540:16:13","nodeType":"VariableDeclaration","scope":11251,"src":"9526:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11248,"name":"string","nodeType":"ElementaryTypeName","src":"9526:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9525:32:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11258,"nodeType":"FunctionDefinition","src":"9599:103:13","nodes":[],"functionSelector":"8f5d232d","implemented":false,"kind":"function","modifiers":[],"name":"parseBytes","nameLocation":"9608:10:13","parameters":{"id":11254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11253,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9635:16:13","nodeType":"VariableDeclaration","scope":11258,"src":"9619:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11252,"name":"string","nodeType":"ElementaryTypeName","src":"9619:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9618:34:13"},"returnParameters":{"id":11257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11256,"mutability":"mutable","name":"parsedValue","nameLocation":"9689:11:13","nodeType":"VariableDeclaration","scope":11258,"src":"9676:24:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11255,"name":"bytes","nodeType":"ElementaryTypeName","src":"9676:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9675:26:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11265,"nodeType":"FunctionDefinition","src":"9707:100:13","nodes":[],"functionSelector":"c6ce059d","implemented":false,"kind":"function","modifiers":[],"name":"parseAddress","nameLocation":"9716:12:13","parameters":{"id":11261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11260,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9745:16:13","nodeType":"VariableDeclaration","scope":11265,"src":"9729:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11259,"name":"string","nodeType":"ElementaryTypeName","src":"9729:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9728:34:13"},"returnParameters":{"id":11264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11263,"mutability":"mutable","name":"parsedValue","nameLocation":"9794:11:13","nodeType":"VariableDeclaration","scope":11265,"src":"9786:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11262,"name":"address","nodeType":"ElementaryTypeName","src":"9786:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9785:21:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11272,"nodeType":"FunctionDefinition","src":"9812:97:13","nodes":[],"functionSelector":"fa91454d","implemented":false,"kind":"function","modifiers":[],"name":"parseUint","nameLocation":"9821:9:13","parameters":{"id":11268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11267,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9847:16:13","nodeType":"VariableDeclaration","scope":11272,"src":"9831:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11266,"name":"string","nodeType":"ElementaryTypeName","src":"9831:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9830:34:13"},"returnParameters":{"id":11271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11270,"mutability":"mutable","name":"parsedValue","nameLocation":"9896:11:13","nodeType":"VariableDeclaration","scope":11272,"src":"9888:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11269,"name":"uint256","nodeType":"ElementaryTypeName","src":"9888:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9887:21:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11279,"nodeType":"FunctionDefinition","src":"9914:95:13","nodes":[],"functionSelector":"42346c5e","implemented":false,"kind":"function","modifiers":[],"name":"parseInt","nameLocation":"9923:8:13","parameters":{"id":11275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11274,"mutability":"mutable","name":"stringifiedValue","nameLocation":"9948:16:13","nodeType":"VariableDeclaration","scope":11279,"src":"9932:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11273,"name":"string","nodeType":"ElementaryTypeName","src":"9932:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9931:34:13"},"returnParameters":{"id":11278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11277,"mutability":"mutable","name":"parsedValue","nameLocation":"9996:11:13","nodeType":"VariableDeclaration","scope":11279,"src":"9989:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11276,"name":"int256","nodeType":"ElementaryTypeName","src":"9989:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9988:20:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11286,"nodeType":"FunctionDefinition","src":"10014:100:13","nodes":[],"functionSelector":"087e6e81","implemented":false,"kind":"function","modifiers":[],"name":"parseBytes32","nameLocation":"10023:12:13","parameters":{"id":11282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11281,"mutability":"mutable","name":"stringifiedValue","nameLocation":"10052:16:13","nodeType":"VariableDeclaration","scope":11286,"src":"10036:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11280,"name":"string","nodeType":"ElementaryTypeName","src":"10036:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10035:34:13"},"returnParameters":{"id":11285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11284,"mutability":"mutable","name":"parsedValue","nameLocation":"10101:11:13","nodeType":"VariableDeclaration","scope":11286,"src":"10093:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10093:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10092:21:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11293,"nodeType":"FunctionDefinition","src":"10119:94:13","nodes":[],"functionSelector":"974ef924","implemented":false,"kind":"function","modifiers":[],"name":"parseBool","nameLocation":"10128:9:13","parameters":{"id":11289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11288,"mutability":"mutable","name":"stringifiedValue","nameLocation":"10154:16:13","nodeType":"VariableDeclaration","scope":11293,"src":"10138:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11287,"name":"string","nodeType":"ElementaryTypeName","src":"10138:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10137:34:13"},"returnParameters":{"id":11292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11291,"mutability":"mutable","name":"parsedValue","nameLocation":"10200:11:13","nodeType":"VariableDeclaration","scope":11293,"src":"10195:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11290,"name":"bool","nodeType":"ElementaryTypeName","src":"10195:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10194:18:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11296,"nodeType":"FunctionDefinition","src":"10257:31:13","nodes":[],"functionSelector":"41af2f52","implemented":false,"kind":"function","modifiers":[],"name":"recordLogs","nameLocation":"10266:10:13","parameters":{"id":11294,"nodeType":"ParameterList","parameters":[],"src":"10276:2:13"},"returnParameters":{"id":11295,"nodeType":"ParameterList","parameters":[],"src":"10287:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11303,"nodeType":"FunctionDefinition","src":"10327:64:13","nodes":[],"functionSelector":"191553a4","implemented":false,"kind":"function","modifiers":[],"name":"getRecordedLogs","nameLocation":"10336:15:13","parameters":{"id":11297,"nodeType":"ParameterList","parameters":[],"src":"10351:2:13"},"returnParameters":{"id":11302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11301,"mutability":"mutable","name":"logs","nameLocation":"10385:4:13","nodeType":"VariableDeclaration","scope":11303,"src":"10372:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$10736_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Log[]"},"typeName":{"baseType":{"id":11299,"nodeType":"UserDefinedTypeName","pathNode":{"id":11298,"name":"Log","nodeType":"IdentifierPath","referencedDeclaration":10736,"src":"10372:3:13"},"referencedDeclaration":10736,"src":"10372:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_Log_$10736_storage_ptr","typeString":"struct VmSafe.Log"}},"id":11300,"nodeType":"ArrayTypeName","src":"10372:5:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$10736_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Log[]"}},"visibility":"internal"}],"src":"10371:19:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11312,"nodeType":"FunctionDefinition","src":"10526:102:13","nodes":[],"functionSelector":"6229498b","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"10535:9:13","parameters":{"id":11308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11305,"mutability":"mutable","name":"mnemonic","nameLocation":"10561:8:13","nodeType":"VariableDeclaration","scope":11312,"src":"10545:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11304,"name":"string","nodeType":"ElementaryTypeName","src":"10545:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11307,"mutability":"mutable","name":"index","nameLocation":"10578:5:13","nodeType":"VariableDeclaration","scope":11312,"src":"10571:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11306,"name":"uint32","nodeType":"ElementaryTypeName","src":"10571:6:13","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"10544:40:13"},"returnParameters":{"id":11311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11310,"mutability":"mutable","name":"privateKey","nameLocation":"10616:10:13","nodeType":"VariableDeclaration","scope":11312,"src":"10608:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11309,"name":"uint256","nodeType":"ElementaryTypeName","src":"10608:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10607:20:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11323,"nodeType":"FunctionDefinition","src":"10744:158:13","nodes":[],"functionSelector":"6bcb2c1b","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"10753:9:13","parameters":{"id":11319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11314,"mutability":"mutable","name":"mnemonic","nameLocation":"10779:8:13","nodeType":"VariableDeclaration","scope":11323,"src":"10763:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11313,"name":"string","nodeType":"ElementaryTypeName","src":"10763:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11316,"mutability":"mutable","name":"derivationPath","nameLocation":"10805:14:13","nodeType":"VariableDeclaration","scope":11323,"src":"10789:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11315,"name":"string","nodeType":"ElementaryTypeName","src":"10789:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11318,"mutability":"mutable","name":"index","nameLocation":"10828:5:13","nodeType":"VariableDeclaration","scope":11323,"src":"10821:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":11317,"name":"uint32","nodeType":"ElementaryTypeName","src":"10821:6:13","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"10762:72:13"},"returnParameters":{"id":11322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11321,"mutability":"mutable","name":"privateKey","nameLocation":"10890:10:13","nodeType":"VariableDeclaration","scope":11323,"src":"10882:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11320,"name":"uint256","nodeType":"ElementaryTypeName","src":"10882:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10881:20:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11330,"nodeType":"FunctionDefinition","src":"10983:76:13","nodes":[],"functionSelector":"22100064","implemented":false,"kind":"function","modifiers":[],"name":"rememberKey","nameLocation":"10992:11:13","parameters":{"id":11326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11325,"mutability":"mutable","name":"privateKey","nameLocation":"11012:10:13","nodeType":"VariableDeclaration","scope":11330,"src":"11004:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11324,"name":"uint256","nodeType":"ElementaryTypeName","src":"11004:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11003:20:13"},"returnParameters":{"id":11329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11328,"mutability":"mutable","name":"keyAddr","nameLocation":"11050:7:13","nodeType":"VariableDeclaration","scope":11330,"src":"11042:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11327,"name":"address","nodeType":"ElementaryTypeName","src":"11042:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11041:17:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11339,"nodeType":"FunctionDefinition","src":"12092:114:13","nodes":[],"functionSelector":"85940ef1","implemented":false,"kind":"function","modifiers":[],"name":"parseJson","nameLocation":"12101:9:13","parameters":{"id":11335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11332,"mutability":"mutable","name":"json","nameLocation":"12127:4:13","nodeType":"VariableDeclaration","scope":11339,"src":"12111:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11331,"name":"string","nodeType":"ElementaryTypeName","src":"12111:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11334,"mutability":"mutable","name":"key","nameLocation":"12149:3:13","nodeType":"VariableDeclaration","scope":11339,"src":"12133:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11333,"name":"string","nodeType":"ElementaryTypeName","src":"12133:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12110:43:13"},"returnParameters":{"id":11338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11337,"mutability":"mutable","name":"abiEncodedData","nameLocation":"12190:14:13","nodeType":"VariableDeclaration","scope":11339,"src":"12177:27:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11336,"name":"bytes","nodeType":"ElementaryTypeName","src":"12177:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12176:29:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11346,"nodeType":"FunctionDefinition","src":"12211:93:13","nodes":[],"functionSelector":"6a82600a","implemented":false,"kind":"function","modifiers":[],"name":"parseJson","nameLocation":"12220:9:13","parameters":{"id":11342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11341,"mutability":"mutable","name":"json","nameLocation":"12246:4:13","nodeType":"VariableDeclaration","scope":11346,"src":"12230:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11340,"name":"string","nodeType":"ElementaryTypeName","src":"12230:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12229:22:13"},"returnParameters":{"id":11345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11344,"mutability":"mutable","name":"abiEncodedData","nameLocation":"12288:14:13","nodeType":"VariableDeclaration","scope":11346,"src":"12275:27:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11343,"name":"bytes","nodeType":"ElementaryTypeName","src":"12275:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12274:29:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11355,"nodeType":"FunctionDefinition","src":"12692:84:13","nodes":[],"functionSelector":"addde2b6","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonUint","nameLocation":"12701:13:13","parameters":{"id":11351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11348,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11355,"src":"12715:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11347,"name":"string","nodeType":"ElementaryTypeName","src":"12715:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11350,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11355,"src":"12732:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11349,"name":"string","nodeType":"ElementaryTypeName","src":"12732:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12714:34:13"},"returnParameters":{"id":11354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11353,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11355,"src":"12767:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11352,"name":"uint256","nodeType":"ElementaryTypeName","src":"12767:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12766:9:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11365,"nodeType":"FunctionDefinition","src":"12781:98:13","nodes":[],"functionSelector":"522074ab","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonUintArray","nameLocation":"12790:18:13","parameters":{"id":11360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11365,"src":"12809:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11356,"name":"string","nodeType":"ElementaryTypeName","src":"12809:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11359,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11365,"src":"12826:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11358,"name":"string","nodeType":"ElementaryTypeName","src":"12826:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12808:34:13"},"returnParameters":{"id":11364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11363,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11365,"src":"12861:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11361,"name":"uint256","nodeType":"ElementaryTypeName","src":"12861:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11362,"nodeType":"ArrayTypeName","src":"12861:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"12860:18:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11374,"nodeType":"FunctionDefinition","src":"12884:82:13","nodes":[],"functionSelector":"7b048ccd","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonInt","nameLocation":"12893:12:13","parameters":{"id":11370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11367,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11374,"src":"12906:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11366,"name":"string","nodeType":"ElementaryTypeName","src":"12906:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11369,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11374,"src":"12923:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11368,"name":"string","nodeType":"ElementaryTypeName","src":"12923:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12905:34:13"},"returnParameters":{"id":11373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11372,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11374,"src":"12958:6:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11371,"name":"int256","nodeType":"ElementaryTypeName","src":"12958:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"12957:8:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11384,"nodeType":"FunctionDefinition","src":"12971:96:13","nodes":[],"functionSelector":"9983c28a","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonIntArray","nameLocation":"12980:17:13","parameters":{"id":11379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11376,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11384,"src":"12998:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11375,"name":"string","nodeType":"ElementaryTypeName","src":"12998:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11378,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11384,"src":"13015:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11377,"name":"string","nodeType":"ElementaryTypeName","src":"13015:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12997:34:13"},"returnParameters":{"id":11383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11382,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11384,"src":"13050:15:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":11380,"name":"int256","nodeType":"ElementaryTypeName","src":"13050:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":11381,"nodeType":"ArrayTypeName","src":"13050:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"13049:17:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11393,"nodeType":"FunctionDefinition","src":"13072:81:13","nodes":[],"functionSelector":"9f86dc91","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBool","nameLocation":"13081:13:13","parameters":{"id":11389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11386,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11393,"src":"13095:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11385,"name":"string","nodeType":"ElementaryTypeName","src":"13095:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11388,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11393,"src":"13112:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11387,"name":"string","nodeType":"ElementaryTypeName","src":"13112:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13094:34:13"},"returnParameters":{"id":11392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11391,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11393,"src":"13147:4:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11390,"name":"bool","nodeType":"ElementaryTypeName","src":"13147:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13146:6:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11403,"nodeType":"FunctionDefinition","src":"13158:95:13","nodes":[],"functionSelector":"91f3b94f","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBoolArray","nameLocation":"13167:18:13","parameters":{"id":11398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11395,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11403,"src":"13186:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11394,"name":"string","nodeType":"ElementaryTypeName","src":"13186:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11397,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11403,"src":"13203:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11396,"name":"string","nodeType":"ElementaryTypeName","src":"13203:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13185:34:13"},"returnParameters":{"id":11402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11401,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11403,"src":"13238:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":11399,"name":"bool","nodeType":"ElementaryTypeName","src":"13238:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11400,"nodeType":"ArrayTypeName","src":"13238:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"13237:15:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11412,"nodeType":"FunctionDefinition","src":"13258:87:13","nodes":[],"functionSelector":"1e19e657","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonAddress","nameLocation":"13267:16:13","parameters":{"id":11408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11405,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11412,"src":"13284:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11404,"name":"string","nodeType":"ElementaryTypeName","src":"13284:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11407,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11412,"src":"13301:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11406,"name":"string","nodeType":"ElementaryTypeName","src":"13301:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13283:34:13"},"returnParameters":{"id":11411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11410,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11412,"src":"13336:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11409,"name":"address","nodeType":"ElementaryTypeName","src":"13336:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13335:9:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11422,"nodeType":"FunctionDefinition","src":"13350:101:13","nodes":[],"functionSelector":"2fce7883","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonAddressArray","nameLocation":"13359:21:13","parameters":{"id":11417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11414,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11422,"src":"13381:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11413,"name":"string","nodeType":"ElementaryTypeName","src":"13381:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11416,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11422,"src":"13398:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11415,"name":"string","nodeType":"ElementaryTypeName","src":"13398:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13380:34:13"},"returnParameters":{"id":11421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11420,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11422,"src":"13433:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":11418,"name":"address","nodeType":"ElementaryTypeName","src":"13433:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11419,"nodeType":"ArrayTypeName","src":"13433:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"13432:18:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11431,"nodeType":"FunctionDefinition","src":"13456:92:13","nodes":[],"functionSelector":"49c4fac8","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonString","nameLocation":"13465:15:13","parameters":{"id":11427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11424,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11431,"src":"13481:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11423,"name":"string","nodeType":"ElementaryTypeName","src":"13481:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11431,"src":"13498:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11425,"name":"string","nodeType":"ElementaryTypeName","src":"13498:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13480:34:13"},"returnParameters":{"id":11430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11429,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11431,"src":"13533:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11428,"name":"string","nodeType":"ElementaryTypeName","src":"13533:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13532:15:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11441,"nodeType":"FunctionDefinition","src":"13553:99:13","nodes":[],"functionSelector":"498fdcf4","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonStringArray","nameLocation":"13562:20:13","parameters":{"id":11436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11433,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11441,"src":"13583:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11432,"name":"string","nodeType":"ElementaryTypeName","src":"13583:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11435,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11441,"src":"13600:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11434,"name":"string","nodeType":"ElementaryTypeName","src":"13600:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13582:34:13"},"returnParameters":{"id":11440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11441,"src":"13635:15:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":11437,"name":"string","nodeType":"ElementaryTypeName","src":"13635:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":11438,"nodeType":"ArrayTypeName","src":"13635:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"13634:17:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11450,"nodeType":"FunctionDefinition","src":"13657:90:13","nodes":[],"functionSelector":"fd921be8","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes","nameLocation":"13666:14:13","parameters":{"id":11446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11443,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11450,"src":"13681:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11442,"name":"string","nodeType":"ElementaryTypeName","src":"13681:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11445,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11450,"src":"13698:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11444,"name":"string","nodeType":"ElementaryTypeName","src":"13698:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13680:34:13"},"returnParameters":{"id":11449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11448,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11450,"src":"13733:12:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11447,"name":"bytes","nodeType":"ElementaryTypeName","src":"13733:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13732:14:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11460,"nodeType":"FunctionDefinition","src":"13752:97:13","nodes":[],"functionSelector":"6631aa99","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytesArray","nameLocation":"13761:19:13","parameters":{"id":11455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11452,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11460,"src":"13781:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11451,"name":"string","nodeType":"ElementaryTypeName","src":"13781:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11454,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11460,"src":"13798:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11453,"name":"string","nodeType":"ElementaryTypeName","src":"13798:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13780:34:13"},"returnParameters":{"id":11459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11458,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11460,"src":"13833:14:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":11456,"name":"bytes","nodeType":"ElementaryTypeName","src":"13833:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":11457,"nodeType":"ArrayTypeName","src":"13833:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"13832:16:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11469,"nodeType":"FunctionDefinition","src":"13854:87:13","nodes":[],"functionSelector":"1777e59d","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes32","nameLocation":"13863:16:13","parameters":{"id":11465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11462,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11469,"src":"13880:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11461,"name":"string","nodeType":"ElementaryTypeName","src":"13880:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11464,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11469,"src":"13897:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11463,"name":"string","nodeType":"ElementaryTypeName","src":"13897:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13879:34:13"},"returnParameters":{"id":11468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11467,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11469,"src":"13932:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11466,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13932:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"13931:9:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11479,"nodeType":"FunctionDefinition","src":"13946:101:13","nodes":[],"functionSelector":"91c75bc3","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes32Array","nameLocation":"13955:21:13","parameters":{"id":11474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11471,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11479,"src":"13977:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11470,"name":"string","nodeType":"ElementaryTypeName","src":"13977:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11473,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11479,"src":"13994:15:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11472,"name":"string","nodeType":"ElementaryTypeName","src":"13994:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13976:34:13"},"returnParameters":{"id":11478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11477,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11479,"src":"14029:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11475,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14029:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11476,"nodeType":"ArrayTypeName","src":"14029:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"14028:18:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11490,"nodeType":"FunctionDefinition","src":"14243:142:13","nodes":[],"functionSelector":"ac22e971","implemented":false,"kind":"function","modifiers":[],"name":"serializeBool","nameLocation":"14252:13:13","parameters":{"id":11486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11481,"mutability":"mutable","name":"objectKey","nameLocation":"14282:9:13","nodeType":"VariableDeclaration","scope":11490,"src":"14266:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11480,"name":"string","nodeType":"ElementaryTypeName","src":"14266:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11483,"mutability":"mutable","name":"valueKey","nameLocation":"14309:8:13","nodeType":"VariableDeclaration","scope":11490,"src":"14293:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11482,"name":"string","nodeType":"ElementaryTypeName","src":"14293:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11485,"mutability":"mutable","name":"value","nameLocation":"14324:5:13","nodeType":"VariableDeclaration","scope":11490,"src":"14319:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11484,"name":"bool","nodeType":"ElementaryTypeName","src":"14319:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14265:65:13"},"returnParameters":{"id":11489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11488,"mutability":"mutable","name":"json","nameLocation":"14379:4:13","nodeType":"VariableDeclaration","scope":11490,"src":"14365:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11487,"name":"string","nodeType":"ElementaryTypeName","src":"14365:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14364:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11501,"nodeType":"FunctionDefinition","src":"14390:145:13","nodes":[],"functionSelector":"129e9002","implemented":false,"kind":"function","modifiers":[],"name":"serializeUint","nameLocation":"14399:13:13","parameters":{"id":11497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11492,"mutability":"mutable","name":"objectKey","nameLocation":"14429:9:13","nodeType":"VariableDeclaration","scope":11501,"src":"14413:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11491,"name":"string","nodeType":"ElementaryTypeName","src":"14413:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11494,"mutability":"mutable","name":"valueKey","nameLocation":"14456:8:13","nodeType":"VariableDeclaration","scope":11501,"src":"14440:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11493,"name":"string","nodeType":"ElementaryTypeName","src":"14440:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11496,"mutability":"mutable","name":"value","nameLocation":"14474:5:13","nodeType":"VariableDeclaration","scope":11501,"src":"14466:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11495,"name":"uint256","nodeType":"ElementaryTypeName","src":"14466:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14412:68:13"},"returnParameters":{"id":11500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11499,"mutability":"mutable","name":"json","nameLocation":"14529:4:13","nodeType":"VariableDeclaration","scope":11501,"src":"14515:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11498,"name":"string","nodeType":"ElementaryTypeName","src":"14515:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14514:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11512,"nodeType":"FunctionDefinition","src":"14540:143:13","nodes":[],"functionSelector":"3f33db60","implemented":false,"kind":"function","modifiers":[],"name":"serializeInt","nameLocation":"14549:12:13","parameters":{"id":11508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11503,"mutability":"mutable","name":"objectKey","nameLocation":"14578:9:13","nodeType":"VariableDeclaration","scope":11512,"src":"14562:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11502,"name":"string","nodeType":"ElementaryTypeName","src":"14562:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11505,"mutability":"mutable","name":"valueKey","nameLocation":"14605:8:13","nodeType":"VariableDeclaration","scope":11512,"src":"14589:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11504,"name":"string","nodeType":"ElementaryTypeName","src":"14589:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11507,"mutability":"mutable","name":"value","nameLocation":"14622:5:13","nodeType":"VariableDeclaration","scope":11512,"src":"14615:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11506,"name":"int256","nodeType":"ElementaryTypeName","src":"14615:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"14561:67:13"},"returnParameters":{"id":11511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11510,"mutability":"mutable","name":"json","nameLocation":"14677:4:13","nodeType":"VariableDeclaration","scope":11512,"src":"14663:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11509,"name":"string","nodeType":"ElementaryTypeName","src":"14663:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14662:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11523,"nodeType":"FunctionDefinition","src":"14688:148:13","nodes":[],"functionSelector":"972c6062","implemented":false,"kind":"function","modifiers":[],"name":"serializeAddress","nameLocation":"14697:16:13","parameters":{"id":11519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11514,"mutability":"mutable","name":"objectKey","nameLocation":"14730:9:13","nodeType":"VariableDeclaration","scope":11523,"src":"14714:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11513,"name":"string","nodeType":"ElementaryTypeName","src":"14714:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11516,"mutability":"mutable","name":"valueKey","nameLocation":"14757:8:13","nodeType":"VariableDeclaration","scope":11523,"src":"14741:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11515,"name":"string","nodeType":"ElementaryTypeName","src":"14741:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11518,"mutability":"mutable","name":"value","nameLocation":"14775:5:13","nodeType":"VariableDeclaration","scope":11523,"src":"14767:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11517,"name":"address","nodeType":"ElementaryTypeName","src":"14767:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14713:68:13"},"returnParameters":{"id":11522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11521,"mutability":"mutable","name":"json","nameLocation":"14830:4:13","nodeType":"VariableDeclaration","scope":11523,"src":"14816:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11520,"name":"string","nodeType":"ElementaryTypeName","src":"14816:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14815:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11534,"nodeType":"FunctionDefinition","src":"14841:148:13","nodes":[],"functionSelector":"2d812b44","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes32","nameLocation":"14850:16:13","parameters":{"id":11530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11525,"mutability":"mutable","name":"objectKey","nameLocation":"14883:9:13","nodeType":"VariableDeclaration","scope":11534,"src":"14867:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11524,"name":"string","nodeType":"ElementaryTypeName","src":"14867:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11527,"mutability":"mutable","name":"valueKey","nameLocation":"14910:8:13","nodeType":"VariableDeclaration","scope":11534,"src":"14894:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11526,"name":"string","nodeType":"ElementaryTypeName","src":"14894:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11529,"mutability":"mutable","name":"value","nameLocation":"14928:5:13","nodeType":"VariableDeclaration","scope":11534,"src":"14920:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11528,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14920:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14866:68:13"},"returnParameters":{"id":11533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11532,"mutability":"mutable","name":"json","nameLocation":"14983:4:13","nodeType":"VariableDeclaration","scope":11534,"src":"14969:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11531,"name":"string","nodeType":"ElementaryTypeName","src":"14969:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14968:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11545,"nodeType":"FunctionDefinition","src":"14994:155:13","nodes":[],"functionSelector":"88da6d35","implemented":false,"kind":"function","modifiers":[],"name":"serializeString","nameLocation":"15003:15:13","parameters":{"id":11541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11536,"mutability":"mutable","name":"objectKey","nameLocation":"15035:9:13","nodeType":"VariableDeclaration","scope":11545,"src":"15019:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11535,"name":"string","nodeType":"ElementaryTypeName","src":"15019:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11538,"mutability":"mutable","name":"valueKey","nameLocation":"15062:8:13","nodeType":"VariableDeclaration","scope":11545,"src":"15046:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11537,"name":"string","nodeType":"ElementaryTypeName","src":"15046:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11540,"mutability":"mutable","name":"value","nameLocation":"15088:5:13","nodeType":"VariableDeclaration","scope":11545,"src":"15072:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11539,"name":"string","nodeType":"ElementaryTypeName","src":"15072:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15018:76:13"},"returnParameters":{"id":11544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11543,"mutability":"mutable","name":"json","nameLocation":"15143:4:13","nodeType":"VariableDeclaration","scope":11545,"src":"15129:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11542,"name":"string","nodeType":"ElementaryTypeName","src":"15129:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15128:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11556,"nodeType":"FunctionDefinition","src":"15154:153:13","nodes":[],"functionSelector":"f21d52c7","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes","nameLocation":"15163:14:13","parameters":{"id":11552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11547,"mutability":"mutable","name":"objectKey","nameLocation":"15194:9:13","nodeType":"VariableDeclaration","scope":11556,"src":"15178:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11546,"name":"string","nodeType":"ElementaryTypeName","src":"15178:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11549,"mutability":"mutable","name":"valueKey","nameLocation":"15221:8:13","nodeType":"VariableDeclaration","scope":11556,"src":"15205:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11548,"name":"string","nodeType":"ElementaryTypeName","src":"15205:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11551,"mutability":"mutable","name":"value","nameLocation":"15246:5:13","nodeType":"VariableDeclaration","scope":11556,"src":"15231:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11550,"name":"bytes","nodeType":"ElementaryTypeName","src":"15231:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15177:75:13"},"returnParameters":{"id":11555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11554,"mutability":"mutable","name":"json","nameLocation":"15301:4:13","nodeType":"VariableDeclaration","scope":11556,"src":"15287:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11553,"name":"string","nodeType":"ElementaryTypeName","src":"15287:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15286:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11568,"nodeType":"FunctionDefinition","src":"15313:154:13","nodes":[],"functionSelector":"92925aa1","implemented":false,"kind":"function","modifiers":[],"name":"serializeBool","nameLocation":"15322:13:13","parameters":{"id":11564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11558,"mutability":"mutable","name":"objectKey","nameLocation":"15352:9:13","nodeType":"VariableDeclaration","scope":11568,"src":"15336:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11557,"name":"string","nodeType":"ElementaryTypeName","src":"15336:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11560,"mutability":"mutable","name":"valueKey","nameLocation":"15379:8:13","nodeType":"VariableDeclaration","scope":11568,"src":"15363:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11559,"name":"string","nodeType":"ElementaryTypeName","src":"15363:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11563,"mutability":"mutable","name":"values","nameLocation":"15405:6:13","nodeType":"VariableDeclaration","scope":11568,"src":"15389:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":11561,"name":"bool","nodeType":"ElementaryTypeName","src":"15389:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11562,"nodeType":"ArrayTypeName","src":"15389:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"15335:77:13"},"returnParameters":{"id":11567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11566,"mutability":"mutable","name":"json","nameLocation":"15461:4:13","nodeType":"VariableDeclaration","scope":11568,"src":"15447:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11565,"name":"string","nodeType":"ElementaryTypeName","src":"15447:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15446:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11580,"nodeType":"FunctionDefinition","src":"15472:157:13","nodes":[],"functionSelector":"fee9a469","implemented":false,"kind":"function","modifiers":[],"name":"serializeUint","nameLocation":"15481:13:13","parameters":{"id":11576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11570,"mutability":"mutable","name":"objectKey","nameLocation":"15511:9:13","nodeType":"VariableDeclaration","scope":11580,"src":"15495:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11569,"name":"string","nodeType":"ElementaryTypeName","src":"15495:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11572,"mutability":"mutable","name":"valueKey","nameLocation":"15538:8:13","nodeType":"VariableDeclaration","scope":11580,"src":"15522:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11571,"name":"string","nodeType":"ElementaryTypeName","src":"15522:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11575,"mutability":"mutable","name":"values","nameLocation":"15567:6:13","nodeType":"VariableDeclaration","scope":11580,"src":"15548:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11573,"name":"uint256","nodeType":"ElementaryTypeName","src":"15548:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11574,"nodeType":"ArrayTypeName","src":"15548:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"15494:80:13"},"returnParameters":{"id":11579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11578,"mutability":"mutable","name":"json","nameLocation":"15623:4:13","nodeType":"VariableDeclaration","scope":11580,"src":"15609:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11577,"name":"string","nodeType":"ElementaryTypeName","src":"15609:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15608:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11592,"nodeType":"FunctionDefinition","src":"15634:155:13","nodes":[],"functionSelector":"7676e127","implemented":false,"kind":"function","modifiers":[],"name":"serializeInt","nameLocation":"15643:12:13","parameters":{"id":11588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11582,"mutability":"mutable","name":"objectKey","nameLocation":"15672:9:13","nodeType":"VariableDeclaration","scope":11592,"src":"15656:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11581,"name":"string","nodeType":"ElementaryTypeName","src":"15656:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11584,"mutability":"mutable","name":"valueKey","nameLocation":"15699:8:13","nodeType":"VariableDeclaration","scope":11592,"src":"15683:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11583,"name":"string","nodeType":"ElementaryTypeName","src":"15683:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11587,"mutability":"mutable","name":"values","nameLocation":"15727:6:13","nodeType":"VariableDeclaration","scope":11592,"src":"15709:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":11585,"name":"int256","nodeType":"ElementaryTypeName","src":"15709:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":11586,"nodeType":"ArrayTypeName","src":"15709:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"15655:79:13"},"returnParameters":{"id":11591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11590,"mutability":"mutable","name":"json","nameLocation":"15783:4:13","nodeType":"VariableDeclaration","scope":11592,"src":"15769:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11589,"name":"string","nodeType":"ElementaryTypeName","src":"15769:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15768:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11604,"nodeType":"FunctionDefinition","src":"15794:160:13","nodes":[],"functionSelector":"1e356e1a","implemented":false,"kind":"function","modifiers":[],"name":"serializeAddress","nameLocation":"15803:16:13","parameters":{"id":11600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11594,"mutability":"mutable","name":"objectKey","nameLocation":"15836:9:13","nodeType":"VariableDeclaration","scope":11604,"src":"15820:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11593,"name":"string","nodeType":"ElementaryTypeName","src":"15820:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11596,"mutability":"mutable","name":"valueKey","nameLocation":"15863:8:13","nodeType":"VariableDeclaration","scope":11604,"src":"15847:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11595,"name":"string","nodeType":"ElementaryTypeName","src":"15847:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11599,"mutability":"mutable","name":"values","nameLocation":"15892:6:13","nodeType":"VariableDeclaration","scope":11604,"src":"15873:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":11597,"name":"address","nodeType":"ElementaryTypeName","src":"15873:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11598,"nodeType":"ArrayTypeName","src":"15873:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"15819:80:13"},"returnParameters":{"id":11603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11602,"mutability":"mutable","name":"json","nameLocation":"15948:4:13","nodeType":"VariableDeclaration","scope":11604,"src":"15934:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11601,"name":"string","nodeType":"ElementaryTypeName","src":"15934:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15933:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11616,"nodeType":"FunctionDefinition","src":"15959:160:13","nodes":[],"functionSelector":"201e43e2","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes32","nameLocation":"15968:16:13","parameters":{"id":11612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11606,"mutability":"mutable","name":"objectKey","nameLocation":"16001:9:13","nodeType":"VariableDeclaration","scope":11616,"src":"15985:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11605,"name":"string","nodeType":"ElementaryTypeName","src":"15985:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11608,"mutability":"mutable","name":"valueKey","nameLocation":"16028:8:13","nodeType":"VariableDeclaration","scope":11616,"src":"16012:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11607,"name":"string","nodeType":"ElementaryTypeName","src":"16012:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11611,"mutability":"mutable","name":"values","nameLocation":"16057:6:13","nodeType":"VariableDeclaration","scope":11616,"src":"16038:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11609,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16038:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11610,"nodeType":"ArrayTypeName","src":"16038:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"15984:80:13"},"returnParameters":{"id":11615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11614,"mutability":"mutable","name":"json","nameLocation":"16113:4:13","nodeType":"VariableDeclaration","scope":11616,"src":"16099:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11613,"name":"string","nodeType":"ElementaryTypeName","src":"16099:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16098:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11628,"nodeType":"FunctionDefinition","src":"16124:158:13","nodes":[],"functionSelector":"561cd6f3","implemented":false,"kind":"function","modifiers":[],"name":"serializeString","nameLocation":"16133:15:13","parameters":{"id":11624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11618,"mutability":"mutable","name":"objectKey","nameLocation":"16165:9:13","nodeType":"VariableDeclaration","scope":11628,"src":"16149:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11617,"name":"string","nodeType":"ElementaryTypeName","src":"16149:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11620,"mutability":"mutable","name":"valueKey","nameLocation":"16192:8:13","nodeType":"VariableDeclaration","scope":11628,"src":"16176:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11619,"name":"string","nodeType":"ElementaryTypeName","src":"16176:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11623,"mutability":"mutable","name":"values","nameLocation":"16220:6:13","nodeType":"VariableDeclaration","scope":11628,"src":"16202:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":11621,"name":"string","nodeType":"ElementaryTypeName","src":"16202:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":11622,"nodeType":"ArrayTypeName","src":"16202:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"16148:79:13"},"returnParameters":{"id":11627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11626,"mutability":"mutable","name":"json","nameLocation":"16276:4:13","nodeType":"VariableDeclaration","scope":11628,"src":"16262:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11625,"name":"string","nodeType":"ElementaryTypeName","src":"16262:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16261:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11640,"nodeType":"FunctionDefinition","src":"16287:156:13","nodes":[],"functionSelector":"9884b232","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes","nameLocation":"16296:14:13","parameters":{"id":11636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11630,"mutability":"mutable","name":"objectKey","nameLocation":"16327:9:13","nodeType":"VariableDeclaration","scope":11640,"src":"16311:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11629,"name":"string","nodeType":"ElementaryTypeName","src":"16311:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11632,"mutability":"mutable","name":"valueKey","nameLocation":"16354:8:13","nodeType":"VariableDeclaration","scope":11640,"src":"16338:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11631,"name":"string","nodeType":"ElementaryTypeName","src":"16338:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11635,"mutability":"mutable","name":"values","nameLocation":"16381:6:13","nodeType":"VariableDeclaration","scope":11640,"src":"16364:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":11633,"name":"bytes","nodeType":"ElementaryTypeName","src":"16364:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":11634,"nodeType":"ArrayTypeName","src":"16364:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"16310:78:13"},"returnParameters":{"id":11639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11638,"mutability":"mutable","name":"json","nameLocation":"16437:4:13","nodeType":"VariableDeclaration","scope":11640,"src":"16423:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11637,"name":"string","nodeType":"ElementaryTypeName","src":"16423:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16422:20:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11647,"nodeType":"FunctionDefinition","src":"17684:72:13","nodes":[],"functionSelector":"e23cd19f","implemented":false,"kind":"function","modifiers":[],"name":"writeJson","nameLocation":"17693:9:13","parameters":{"id":11645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11642,"mutability":"mutable","name":"json","nameLocation":"17719:4:13","nodeType":"VariableDeclaration","scope":11647,"src":"17703:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11641,"name":"string","nodeType":"ElementaryTypeName","src":"17703:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11644,"mutability":"mutable","name":"path","nameLocation":"17741:4:13","nodeType":"VariableDeclaration","scope":11647,"src":"17725:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11643,"name":"string","nodeType":"ElementaryTypeName","src":"17725:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17702:44:13"},"returnParameters":{"id":11646,"nodeType":"ParameterList","parameters":[],"src":"17755:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11656,"nodeType":"FunctionDefinition","src":"17977:98:13","nodes":[],"functionSelector":"35d6ad46","implemented":false,"kind":"function","modifiers":[],"name":"writeJson","nameLocation":"17986:9:13","parameters":{"id":11654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11649,"mutability":"mutable","name":"json","nameLocation":"18012:4:13","nodeType":"VariableDeclaration","scope":11656,"src":"17996:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11648,"name":"string","nodeType":"ElementaryTypeName","src":"17996:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11651,"mutability":"mutable","name":"path","nameLocation":"18034:4:13","nodeType":"VariableDeclaration","scope":11656,"src":"18018:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11650,"name":"string","nodeType":"ElementaryTypeName","src":"18018:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11653,"mutability":"mutable","name":"valueKey","nameLocation":"18056:8:13","nodeType":"VariableDeclaration","scope":11656,"src":"18040:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11652,"name":"string","nodeType":"ElementaryTypeName","src":"18040:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17995:70:13"},"returnParameters":{"id":11655,"nodeType":"ParameterList","parameters":[],"src":"18074:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11663,"nodeType":"FunctionDefinition","src":"18127:85:13","nodes":[],"functionSelector":"975a6ce9","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrl","nameLocation":"18136:6:13","parameters":{"id":11659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11658,"mutability":"mutable","name":"rpcAlias","nameLocation":"18159:8:13","nodeType":"VariableDeclaration","scope":11663,"src":"18143:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11657,"name":"string","nodeType":"ElementaryTypeName","src":"18143:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18142:26:13"},"returnParameters":{"id":11662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11661,"mutability":"mutable","name":"json","nameLocation":"18206:4:13","nodeType":"VariableDeclaration","scope":11663,"src":"18192:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11660,"name":"string","nodeType":"ElementaryTypeName","src":"18192:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18191:20:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11671,"nodeType":"FunctionDefinition","src":"18280:67:13","nodes":[],"functionSelector":"a85a8418","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrls","nameLocation":"18289:7:13","parameters":{"id":11664,"nodeType":"ParameterList","parameters":[],"src":"18296:2:13"},"returnParameters":{"id":11670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11669,"mutability":"mutable","name":"urls","nameLocation":"18341:4:13","nodeType":"VariableDeclaration","scope":11671,"src":"18322:23:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr","typeString":"string[2][]"},"typeName":{"baseType":{"baseType":{"id":11665,"name":"string","nodeType":"ElementaryTypeName","src":"18322:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":11667,"length":{"hexValue":"32","id":11666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18329:1:13","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"ArrayTypeName","src":"18322:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$2_storage_ptr","typeString":"string[2]"}},"id":11668,"nodeType":"ArrayTypeName","src":"18322:11:13","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_string_storage_$2_storage_$dyn_storage_ptr","typeString":"string[2][]"}},"visibility":"internal"}],"src":"18321:25:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11678,"nodeType":"FunctionDefinition","src":"18410:67:13","nodes":[],"functionSelector":"9d2ad72a","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrlStructs","nameLocation":"18419:13:13","parameters":{"id":11672,"nodeType":"ParameterList","parameters":[],"src":"18432:2:13"},"returnParameters":{"id":11677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11676,"mutability":"mutable","name":"urls","nameLocation":"18471:4:13","nodeType":"VariableDeclaration","scope":11678,"src":"18458:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Rpc_$10741_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Rpc[]"},"typeName":{"baseType":{"id":11674,"nodeType":"UserDefinedTypeName","pathNode":{"id":11673,"name":"Rpc","nodeType":"IdentifierPath","referencedDeclaration":10741,"src":"18458:3:13"},"referencedDeclaration":10741,"src":"18458:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_Rpc_$10741_storage_ptr","typeString":"struct VmSafe.Rpc"}},"id":11675,"nodeType":"ArrayTypeName","src":"18458:5:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Rpc_$10741_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Rpc[]"}},"visibility":"internal"}],"src":"18457:19:13"},"scope":11690,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11683,"nodeType":"FunctionDefinition","src":"18570:46:13","nodes":[],"functionSelector":"4c63e562","implemented":false,"kind":"function","modifiers":[],"name":"assume","nameLocation":"18579:6:13","parameters":{"id":11681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11680,"mutability":"mutable","name":"condition","nameLocation":"18591:9:13","nodeType":"VariableDeclaration","scope":11683,"src":"18586:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11679,"name":"bool","nodeType":"ElementaryTypeName","src":"18586:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18585:16:13"},"returnParameters":{"id":11682,"nodeType":"ParameterList","parameters":[],"src":"18615:0:13"},"scope":11690,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":11686,"nodeType":"FunctionDefinition","src":"18705:37:13","nodes":[],"functionSelector":"d1a5b36f","implemented":false,"kind":"function","modifiers":[],"name":"pauseGasMetering","nameLocation":"18714:16:13","parameters":{"id":11684,"nodeType":"ParameterList","parameters":[],"src":"18730:2:13"},"returnParameters":{"id":11685,"nodeType":"ParameterList","parameters":[],"src":"18741:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11689,"nodeType":"FunctionDefinition","src":"18830:38:13","nodes":[],"functionSelector":"2bcd50e0","implemented":false,"kind":"function","modifiers":[],"name":"resumeGasMetering","nameLocation":"18839:17:13","parameters":{"id":11687,"nodeType":"ParameterList","parameters":[],"src":"18856:2:13"},"returnParameters":{"id":11688,"nodeType":"ParameterList","parameters":[],"src":"18867:0:13"},"scope":11690,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"VmSafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[11690],"name":"VmSafe","nameLocation":"581:6:13","scope":12038,"usedErrors":[]},{"id":12037,"nodeType":"ContractDefinition","src":"18872:8271:13","nodes":[{"id":11697,"nodeType":"FunctionDefinition","src":"18929:45:13","nodes":[],"functionSelector":"e5d6bf02","implemented":false,"kind":"function","modifiers":[],"name":"warp","nameLocation":"18938:4:13","parameters":{"id":11695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11694,"mutability":"mutable","name":"newTimestamp","nameLocation":"18951:12:13","nodeType":"VariableDeclaration","scope":11697,"src":"18943:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11693,"name":"uint256","nodeType":"ElementaryTypeName","src":"18943:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18942:22:13"},"returnParameters":{"id":11696,"nodeType":"ParameterList","parameters":[],"src":"18973:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11702,"nodeType":"FunctionDefinition","src":"19004:42:13","nodes":[],"functionSelector":"1f7b4f30","implemented":false,"kind":"function","modifiers":[],"name":"roll","nameLocation":"19013:4:13","parameters":{"id":11700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11699,"mutability":"mutable","name":"newHeight","nameLocation":"19026:9:13","nodeType":"VariableDeclaration","scope":11702,"src":"19018:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11698,"name":"uint256","nodeType":"ElementaryTypeName","src":"19018:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19017:19:13"},"returnParameters":{"id":11701,"nodeType":"ParameterList","parameters":[],"src":"19045:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11707,"nodeType":"FunctionDefinition","src":"19077:42:13","nodes":[],"functionSelector":"39b37ab0","implemented":false,"kind":"function","modifiers":[],"name":"fee","nameLocation":"19086:3:13","parameters":{"id":11705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11704,"mutability":"mutable","name":"newBasefee","nameLocation":"19098:10:13","nodeType":"VariableDeclaration","scope":11707,"src":"19090:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11703,"name":"uint256","nodeType":"ElementaryTypeName","src":"19090:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19089:20:13"},"returnParameters":{"id":11706,"nodeType":"ParameterList","parameters":[],"src":"19118:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11712,"nodeType":"FunctionDefinition","src":"19153:52:13","nodes":[],"functionSelector":"46cc92d9","implemented":false,"kind":"function","modifiers":[],"name":"difficulty","nameLocation":"19162:10:13","parameters":{"id":11710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11709,"mutability":"mutable","name":"newDifficulty","nameLocation":"19181:13:13","nodeType":"VariableDeclaration","scope":11712,"src":"19173:21:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11708,"name":"uint256","nodeType":"ElementaryTypeName","src":"19173:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19172:23:13"},"returnParameters":{"id":11711,"nodeType":"ParameterList","parameters":[],"src":"19204:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11717,"nodeType":"FunctionDefinition","src":"19236:46:13","nodes":[],"functionSelector":"4049ddd2","implemented":false,"kind":"function","modifiers":[],"name":"chainId","nameLocation":"19245:7:13","parameters":{"id":11715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11714,"mutability":"mutable","name":"newChainId","nameLocation":"19261:10:13","nodeType":"VariableDeclaration","scope":11717,"src":"19253:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11713,"name":"uint256","nodeType":"ElementaryTypeName","src":"19253:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19252:20:13"},"returnParameters":{"id":11716,"nodeType":"ParameterList","parameters":[],"src":"19281:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11726,"nodeType":"FunctionDefinition","src":"19338:69:13","nodes":[],"functionSelector":"70ca10bb","implemented":false,"kind":"function","modifiers":[],"name":"store","nameLocation":"19347:5:13","parameters":{"id":11724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11719,"mutability":"mutable","name":"target","nameLocation":"19361:6:13","nodeType":"VariableDeclaration","scope":11726,"src":"19353:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11718,"name":"address","nodeType":"ElementaryTypeName","src":"19353:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11721,"mutability":"mutable","name":"slot","nameLocation":"19377:4:13","nodeType":"VariableDeclaration","scope":11726,"src":"19369:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11720,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19369:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":11723,"mutability":"mutable","name":"value","nameLocation":"19391:5:13","nodeType":"VariableDeclaration","scope":11726,"src":"19383:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11722,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19383:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19352:45:13"},"returnParameters":{"id":11725,"nodeType":"ParameterList","parameters":[],"src":"19406:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11733,"nodeType":"FunctionDefinition","src":"19502:61:13","nodes":[],"functionSelector":"f8e18b57","implemented":false,"kind":"function","modifiers":[],"name":"setNonce","nameLocation":"19511:8:13","parameters":{"id":11731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11728,"mutability":"mutable","name":"account","nameLocation":"19528:7:13","nodeType":"VariableDeclaration","scope":11733,"src":"19520:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11727,"name":"address","nodeType":"ElementaryTypeName","src":"19520:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11730,"mutability":"mutable","name":"newNonce","nameLocation":"19544:8:13","nodeType":"VariableDeclaration","scope":11733,"src":"19537:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":11729,"name":"uint64","nodeType":"ElementaryTypeName","src":"19537:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"19519:34:13"},"returnParameters":{"id":11732,"nodeType":"ParameterList","parameters":[],"src":"19562:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11738,"nodeType":"FunctionDefinition","src":"19633:43:13","nodes":[],"functionSelector":"ca669fa7","implemented":false,"kind":"function","modifiers":[],"name":"prank","nameLocation":"19642:5:13","parameters":{"id":11736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11735,"mutability":"mutable","name":"msgSender","nameLocation":"19656:9:13","nodeType":"VariableDeclaration","scope":11738,"src":"19648:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11734,"name":"address","nodeType":"ElementaryTypeName","src":"19648:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19647:19:13"},"returnParameters":{"id":11737,"nodeType":"ParameterList","parameters":[],"src":"19675:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11743,"nodeType":"FunctionDefinition","src":"19778:48:13","nodes":[],"functionSelector":"06447d56","implemented":false,"kind":"function","modifiers":[],"name":"startPrank","nameLocation":"19787:10:13","parameters":{"id":11741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11740,"mutability":"mutable","name":"msgSender","nameLocation":"19806:9:13","nodeType":"VariableDeclaration","scope":11743,"src":"19798:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11739,"name":"address","nodeType":"ElementaryTypeName","src":"19798:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19797:19:13"},"returnParameters":{"id":11742,"nodeType":"ParameterList","parameters":[],"src":"19825:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11750,"nodeType":"FunctionDefinition","src":"19938:61:13","nodes":[],"functionSelector":"47e50cce","implemented":false,"kind":"function","modifiers":[],"name":"prank","nameLocation":"19947:5:13","parameters":{"id":11748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11745,"mutability":"mutable","name":"msgSender","nameLocation":"19961:9:13","nodeType":"VariableDeclaration","scope":11750,"src":"19953:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11744,"name":"address","nodeType":"ElementaryTypeName","src":"19953:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11747,"mutability":"mutable","name":"txOrigin","nameLocation":"19980:8:13","nodeType":"VariableDeclaration","scope":11750,"src":"19972:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11746,"name":"address","nodeType":"ElementaryTypeName","src":"19972:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19952:37:13"},"returnParameters":{"id":11749,"nodeType":"ParameterList","parameters":[],"src":"19998:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11757,"nodeType":"FunctionDefinition","src":"20143:66:13","nodes":[],"functionSelector":"45b56078","implemented":false,"kind":"function","modifiers":[],"name":"startPrank","nameLocation":"20152:10:13","parameters":{"id":11755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11752,"mutability":"mutable","name":"msgSender","nameLocation":"20171:9:13","nodeType":"VariableDeclaration","scope":11757,"src":"20163:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11751,"name":"address","nodeType":"ElementaryTypeName","src":"20163:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11754,"mutability":"mutable","name":"txOrigin","nameLocation":"20190:8:13","nodeType":"VariableDeclaration","scope":11757,"src":"20182:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11753,"name":"address","nodeType":"ElementaryTypeName","src":"20182:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20162:37:13"},"returnParameters":{"id":11756,"nodeType":"ParameterList","parameters":[],"src":"20208:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11760,"nodeType":"FunctionDefinition","src":"20279:30:13","nodes":[],"functionSelector":"90c5013b","implemented":false,"kind":"function","modifiers":[],"name":"stopPrank","nameLocation":"20288:9:13","parameters":{"id":11758,"nodeType":"ParameterList","parameters":[],"src":"20297:2:13"},"returnParameters":{"id":11759,"nodeType":"ParameterList","parameters":[],"src":"20308:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11767,"nodeType":"FunctionDefinition","src":"20346:60:13","nodes":[],"functionSelector":"c88a5e6d","implemented":false,"kind":"function","modifiers":[],"name":"deal","nameLocation":"20355:4:13","parameters":{"id":11765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11762,"mutability":"mutable","name":"account","nameLocation":"20368:7:13","nodeType":"VariableDeclaration","scope":11767,"src":"20360:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11761,"name":"address","nodeType":"ElementaryTypeName","src":"20360:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11764,"mutability":"mutable","name":"newBalance","nameLocation":"20385:10:13","nodeType":"VariableDeclaration","scope":11767,"src":"20377:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11763,"name":"uint256","nodeType":"ElementaryTypeName","src":"20377:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20359:37:13"},"returnParameters":{"id":11766,"nodeType":"ParameterList","parameters":[],"src":"20405:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11774,"nodeType":"FunctionDefinition","src":"20440:74:13","nodes":[],"functionSelector":"b4d6c782","implemented":false,"kind":"function","modifiers":[],"name":"etch","nameLocation":"20449:4:13","parameters":{"id":11772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11769,"mutability":"mutable","name":"target","nameLocation":"20462:6:13","nodeType":"VariableDeclaration","scope":11774,"src":"20454:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11768,"name":"address","nodeType":"ElementaryTypeName","src":"20454:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11771,"mutability":"mutable","name":"newRuntimeBytecode","nameLocation":"20485:18:13","nodeType":"VariableDeclaration","scope":11774,"src":"20470:33:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11770,"name":"bytes","nodeType":"ElementaryTypeName","src":"20470:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20453:51:13"},"returnParameters":{"id":11773,"nodeType":"ParameterList","parameters":[],"src":"20513:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11779,"nodeType":"FunctionDefinition","src":"20556:58:13","nodes":[],"functionSelector":"f28dceb3","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"20565:12:13","parameters":{"id":11777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11776,"mutability":"mutable","name":"revertData","nameLocation":"20593:10:13","nodeType":"VariableDeclaration","scope":11779,"src":"20578:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11775,"name":"bytes","nodeType":"ElementaryTypeName","src":"20578:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20577:27:13"},"returnParameters":{"id":11778,"nodeType":"ParameterList","parameters":[],"src":"20613:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11784,"nodeType":"FunctionDefinition","src":"20619:50:13","nodes":[],"functionSelector":"c31eb0e0","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"20628:12:13","parameters":{"id":11782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11781,"mutability":"mutable","name":"revertData","nameLocation":"20648:10:13","nodeType":"VariableDeclaration","scope":11784,"src":"20641:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":11780,"name":"bytes4","nodeType":"ElementaryTypeName","src":"20641:6:13","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"20640:19:13"},"returnParameters":{"id":11783,"nodeType":"ParameterList","parameters":[],"src":"20668:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11787,"nodeType":"FunctionDefinition","src":"20674:33:13","nodes":[],"functionSelector":"f4844814","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"20683:12:13","parameters":{"id":11785,"nodeType":"ParameterList","parameters":[],"src":"20695:2:13"},"returnParameters":{"id":11786,"nodeType":"ParameterList","parameters":[],"src":"20706:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11798,"nodeType":"FunctionDefinition","src":"21040:99:13","nodes":[],"functionSelector":"491cc7c2","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"21049:10:13","parameters":{"id":11796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11789,"mutability":"mutable","name":"checkTopic1","nameLocation":"21065:11:13","nodeType":"VariableDeclaration","scope":11798,"src":"21060:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11788,"name":"bool","nodeType":"ElementaryTypeName","src":"21060:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11791,"mutability":"mutable","name":"checkTopic2","nameLocation":"21083:11:13","nodeType":"VariableDeclaration","scope":11798,"src":"21078:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11790,"name":"bool","nodeType":"ElementaryTypeName","src":"21078:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11793,"mutability":"mutable","name":"checkTopic3","nameLocation":"21101:11:13","nodeType":"VariableDeclaration","scope":11798,"src":"21096:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11792,"name":"bool","nodeType":"ElementaryTypeName","src":"21096:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11795,"mutability":"mutable","name":"checkData","nameLocation":"21119:9:13","nodeType":"VariableDeclaration","scope":11798,"src":"21114:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11794,"name":"bool","nodeType":"ElementaryTypeName","src":"21114:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21059:70:13"},"returnParameters":{"id":11797,"nodeType":"ParameterList","parameters":[],"src":"21138:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11811,"nodeType":"FunctionDefinition","src":"21144:124:13","nodes":[],"functionSelector":"81bad6f3","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"21153:10:13","parameters":{"id":11809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11800,"mutability":"mutable","name":"checkTopic1","nameLocation":"21169:11:13","nodeType":"VariableDeclaration","scope":11811,"src":"21164:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11799,"name":"bool","nodeType":"ElementaryTypeName","src":"21164:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11802,"mutability":"mutable","name":"checkTopic2","nameLocation":"21187:11:13","nodeType":"VariableDeclaration","scope":11811,"src":"21182:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11801,"name":"bool","nodeType":"ElementaryTypeName","src":"21182:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11804,"mutability":"mutable","name":"checkTopic3","nameLocation":"21205:11:13","nodeType":"VariableDeclaration","scope":11811,"src":"21200:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11803,"name":"bool","nodeType":"ElementaryTypeName","src":"21200:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11806,"mutability":"mutable","name":"checkData","nameLocation":"21223:9:13","nodeType":"VariableDeclaration","scope":11811,"src":"21218:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11805,"name":"bool","nodeType":"ElementaryTypeName","src":"21218:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":11808,"mutability":"mutable","name":"emitter","nameLocation":"21242:7:13","nodeType":"VariableDeclaration","scope":11811,"src":"21234:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11807,"name":"address","nodeType":"ElementaryTypeName","src":"21234:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21163:87:13"},"returnParameters":{"id":11810,"nodeType":"ParameterList","parameters":[],"src":"21267:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11820,"nodeType":"FunctionDefinition","src":"21523:91:13","nodes":[],"functionSelector":"b96213e4","implemented":false,"kind":"function","modifiers":[],"name":"mockCall","nameLocation":"21532:8:13","parameters":{"id":11818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11813,"mutability":"mutable","name":"callee","nameLocation":"21549:6:13","nodeType":"VariableDeclaration","scope":11820,"src":"21541:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11812,"name":"address","nodeType":"ElementaryTypeName","src":"21541:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11815,"mutability":"mutable","name":"data","nameLocation":"21572:4:13","nodeType":"VariableDeclaration","scope":11820,"src":"21557:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11814,"name":"bytes","nodeType":"ElementaryTypeName","src":"21557:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":11817,"mutability":"mutable","name":"returnData","nameLocation":"21593:10:13","nodeType":"VariableDeclaration","scope":11820,"src":"21578:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11816,"name":"bytes","nodeType":"ElementaryTypeName","src":"21578:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21540:64:13"},"returnParameters":{"id":11819,"nodeType":"ParameterList","parameters":[],"src":"21613:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11831,"nodeType":"FunctionDefinition","src":"21782:109:13","nodes":[],"functionSelector":"81409b91","implemented":false,"kind":"function","modifiers":[],"name":"mockCall","nameLocation":"21791:8:13","parameters":{"id":11829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11822,"mutability":"mutable","name":"callee","nameLocation":"21808:6:13","nodeType":"VariableDeclaration","scope":11831,"src":"21800:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11821,"name":"address","nodeType":"ElementaryTypeName","src":"21800:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11824,"mutability":"mutable","name":"msgValue","nameLocation":"21824:8:13","nodeType":"VariableDeclaration","scope":11831,"src":"21816:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11823,"name":"uint256","nodeType":"ElementaryTypeName","src":"21816:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11826,"mutability":"mutable","name":"data","nameLocation":"21849:4:13","nodeType":"VariableDeclaration","scope":11831,"src":"21834:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11825,"name":"bytes","nodeType":"ElementaryTypeName","src":"21834:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":11828,"mutability":"mutable","name":"returnData","nameLocation":"21870:10:13","nodeType":"VariableDeclaration","scope":11831,"src":"21855:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11827,"name":"bytes","nodeType":"ElementaryTypeName","src":"21855:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21799:82:13"},"returnParameters":{"id":11830,"nodeType":"ParameterList","parameters":[],"src":"21890:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11834,"nodeType":"FunctionDefinition","src":"21927:37:13","nodes":[],"functionSelector":"3fdf4e15","implemented":false,"kind":"function","modifiers":[],"name":"clearMockedCalls","nameLocation":"21936:16:13","parameters":{"id":11832,"nodeType":"ParameterList","parameters":[],"src":"21952:2:13"},"returnParameters":{"id":11833,"nodeType":"ParameterList","parameters":[],"src":"21963:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11841,"nodeType":"FunctionDefinition","src":"22092:66:13","nodes":[],"functionSelector":"bd6af434","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"22101:10:13","parameters":{"id":11839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11836,"mutability":"mutable","name":"callee","nameLocation":"22120:6:13","nodeType":"VariableDeclaration","scope":11841,"src":"22112:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11835,"name":"address","nodeType":"ElementaryTypeName","src":"22112:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11838,"mutability":"mutable","name":"data","nameLocation":"22143:4:13","nodeType":"VariableDeclaration","scope":11841,"src":"22128:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11837,"name":"bytes","nodeType":"ElementaryTypeName","src":"22128:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22111:37:13"},"returnParameters":{"id":11840,"nodeType":"ParameterList","parameters":[],"src":"22157:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11850,"nodeType":"FunctionDefinition","src":"22241:84:13","nodes":[],"functionSelector":"f30c7ba3","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"22250:10:13","parameters":{"id":11848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11843,"mutability":"mutable","name":"callee","nameLocation":"22269:6:13","nodeType":"VariableDeclaration","scope":11850,"src":"22261:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11842,"name":"address","nodeType":"ElementaryTypeName","src":"22261:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11845,"mutability":"mutable","name":"msgValue","nameLocation":"22285:8:13","nodeType":"VariableDeclaration","scope":11850,"src":"22277:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11844,"name":"uint256","nodeType":"ElementaryTypeName","src":"22277:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11847,"mutability":"mutable","name":"data","nameLocation":"22310:4:13","nodeType":"VariableDeclaration","scope":11850,"src":"22295:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11846,"name":"bytes","nodeType":"ElementaryTypeName","src":"22295:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22260:55:13"},"returnParameters":{"id":11849,"nodeType":"ParameterList","parameters":[],"src":"22324:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11861,"nodeType":"FunctionDefinition","src":"22414:96:13","nodes":[],"functionSelector":"23361207","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"22423:10:13","parameters":{"id":11859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11852,"mutability":"mutable","name":"callee","nameLocation":"22442:6:13","nodeType":"VariableDeclaration","scope":11861,"src":"22434:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11851,"name":"address","nodeType":"ElementaryTypeName","src":"22434:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11854,"mutability":"mutable","name":"msgValue","nameLocation":"22458:8:13","nodeType":"VariableDeclaration","scope":11861,"src":"22450:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11853,"name":"uint256","nodeType":"ElementaryTypeName","src":"22450:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11856,"mutability":"mutable","name":"gas","nameLocation":"22475:3:13","nodeType":"VariableDeclaration","scope":11861,"src":"22468:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":11855,"name":"uint64","nodeType":"ElementaryTypeName","src":"22468:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":11858,"mutability":"mutable","name":"data","nameLocation":"22495:4:13","nodeType":"VariableDeclaration","scope":11861,"src":"22480:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11857,"name":"bytes","nodeType":"ElementaryTypeName","src":"22480:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22433:67:13"},"returnParameters":{"id":11860,"nodeType":"ParameterList","parameters":[],"src":"22509:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11872,"nodeType":"FunctionDefinition","src":"22624:105:13","nodes":[],"functionSelector":"08e4e116","implemented":false,"kind":"function","modifiers":[],"name":"expectCallMinGas","nameLocation":"22633:16:13","parameters":{"id":11870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11863,"mutability":"mutable","name":"callee","nameLocation":"22658:6:13","nodeType":"VariableDeclaration","scope":11872,"src":"22650:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11862,"name":"address","nodeType":"ElementaryTypeName","src":"22650:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11865,"mutability":"mutable","name":"msgValue","nameLocation":"22674:8:13","nodeType":"VariableDeclaration","scope":11872,"src":"22666:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11864,"name":"uint256","nodeType":"ElementaryTypeName","src":"22666:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11867,"mutability":"mutable","name":"minGas","nameLocation":"22691:6:13","nodeType":"VariableDeclaration","scope":11872,"src":"22684:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":11866,"name":"uint64","nodeType":"ElementaryTypeName","src":"22684:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":11869,"mutability":"mutable","name":"data","nameLocation":"22714:4:13","nodeType":"VariableDeclaration","scope":11872,"src":"22699:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":11868,"name":"bytes","nodeType":"ElementaryTypeName","src":"22699:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22649:70:13"},"returnParameters":{"id":11871,"nodeType":"ParameterList","parameters":[],"src":"22728:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11877,"nodeType":"FunctionDefinition","src":"22761:48:13","nodes":[],"functionSelector":"ff483c54","implemented":false,"kind":"function","modifiers":[],"name":"coinbase","nameLocation":"22770:8:13","parameters":{"id":11875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11874,"mutability":"mutable","name":"newCoinbase","nameLocation":"22787:11:13","nodeType":"VariableDeclaration","scope":11877,"src":"22779:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11873,"name":"address","nodeType":"ElementaryTypeName","src":"22779:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22778:21:13"},"returnParameters":{"id":11876,"nodeType":"ParameterList","parameters":[],"src":"22808:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11882,"nodeType":"FunctionDefinition","src":"22959:58:13","nodes":[],"functionSelector":"9711715a","implemented":false,"kind":"function","modifiers":[],"name":"snapshot","nameLocation":"22968:8:13","parameters":{"id":11878,"nodeType":"ParameterList","parameters":[],"src":"22976:2:13"},"returnParameters":{"id":11881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11880,"mutability":"mutable","name":"snapshotId","nameLocation":"23005:10:13","nodeType":"VariableDeclaration","scope":11882,"src":"22997:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11879,"name":"uint256","nodeType":"ElementaryTypeName","src":"22997:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22996:20:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11889,"nodeType":"FunctionDefinition","src":"23209:70:13","nodes":[],"functionSelector":"44d7f0a4","implemented":false,"kind":"function","modifiers":[],"name":"revertTo","nameLocation":"23218:8:13","parameters":{"id":11885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11884,"mutability":"mutable","name":"snapshotId","nameLocation":"23235:10:13","nodeType":"VariableDeclaration","scope":11889,"src":"23227:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11883,"name":"uint256","nodeType":"ElementaryTypeName","src":"23227:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23226:20:13"},"returnParameters":{"id":11888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11887,"mutability":"mutable","name":"success","nameLocation":"23270:7:13","nodeType":"VariableDeclaration","scope":11889,"src":"23265:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11886,"name":"bool","nodeType":"ElementaryTypeName","src":"23265:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23264:14:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11898,"nodeType":"FunctionDefinition","src":"23383:103:13","nodes":[],"functionSelector":"6ba3ba2b","implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"23392:10:13","parameters":{"id":11894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11891,"mutability":"mutable","name":"urlOrAlias","nameLocation":"23419:10:13","nodeType":"VariableDeclaration","scope":11898,"src":"23403:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11890,"name":"string","nodeType":"ElementaryTypeName","src":"23403:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11893,"mutability":"mutable","name":"blockNumber","nameLocation":"23439:11:13","nodeType":"VariableDeclaration","scope":11898,"src":"23431:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11892,"name":"uint256","nodeType":"ElementaryTypeName","src":"23431:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23402:49:13"},"returnParameters":{"id":11897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11896,"mutability":"mutable","name":"forkId","nameLocation":"23478:6:13","nodeType":"VariableDeclaration","scope":11898,"src":"23470:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11895,"name":"uint256","nodeType":"ElementaryTypeName","src":"23470:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23469:16:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11905,"nodeType":"FunctionDefinition","src":"23603:82:13","nodes":[],"functionSelector":"31ba3498","implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"23612:10:13","parameters":{"id":11901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11900,"mutability":"mutable","name":"urlOrAlias","nameLocation":"23639:10:13","nodeType":"VariableDeclaration","scope":11905,"src":"23623:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11899,"name":"string","nodeType":"ElementaryTypeName","src":"23623:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23622:28:13"},"returnParameters":{"id":11904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11903,"mutability":"mutable","name":"forkId","nameLocation":"23677:6:13","nodeType":"VariableDeclaration","scope":11905,"src":"23669:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11902,"name":"uint256","nodeType":"ElementaryTypeName","src":"23669:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23668:16:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11914,"nodeType":"FunctionDefinition","src":"23906:98:13","nodes":[],"functionSelector":"7ca29682","implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"23915:10:13","parameters":{"id":11910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11907,"mutability":"mutable","name":"urlOrAlias","nameLocation":"23942:10:13","nodeType":"VariableDeclaration","scope":11914,"src":"23926:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11906,"name":"string","nodeType":"ElementaryTypeName","src":"23926:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11909,"mutability":"mutable","name":"txHash","nameLocation":"23962:6:13","nodeType":"VariableDeclaration","scope":11914,"src":"23954:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11908,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23954:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"23925:44:13"},"returnParameters":{"id":11913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11912,"mutability":"mutable","name":"forkId","nameLocation":"23996:6:13","nodeType":"VariableDeclaration","scope":11914,"src":"23988:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11911,"name":"uint256","nodeType":"ElementaryTypeName","src":"23988:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23987:16:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11923,"nodeType":"FunctionDefinition","src":"24127:109:13","nodes":[],"functionSelector":"71ee464d","implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"24136:16:13","parameters":{"id":11919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11916,"mutability":"mutable","name":"urlOrAlias","nameLocation":"24169:10:13","nodeType":"VariableDeclaration","scope":11923,"src":"24153:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11915,"name":"string","nodeType":"ElementaryTypeName","src":"24153:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11918,"mutability":"mutable","name":"blockNumber","nameLocation":"24189:11:13","nodeType":"VariableDeclaration","scope":11923,"src":"24181:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11917,"name":"uint256","nodeType":"ElementaryTypeName","src":"24181:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24152:49:13"},"returnParameters":{"id":11922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11921,"mutability":"mutable","name":"forkId","nameLocation":"24228:6:13","nodeType":"VariableDeclaration","scope":11923,"src":"24220:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11920,"name":"uint256","nodeType":"ElementaryTypeName","src":"24220:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24219:16:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11932,"nodeType":"FunctionDefinition","src":"24470:104:13","nodes":[],"functionSelector":"84d52b7a","implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"24479:16:13","parameters":{"id":11928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11925,"mutability":"mutable","name":"urlOrAlias","nameLocation":"24512:10:13","nodeType":"VariableDeclaration","scope":11932,"src":"24496:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11924,"name":"string","nodeType":"ElementaryTypeName","src":"24496:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11927,"mutability":"mutable","name":"txHash","nameLocation":"24532:6:13","nodeType":"VariableDeclaration","scope":11932,"src":"24524:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11926,"name":"bytes32","nodeType":"ElementaryTypeName","src":"24524:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"24495:44:13"},"returnParameters":{"id":11931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11930,"mutability":"mutable","name":"forkId","nameLocation":"24566:6:13","nodeType":"VariableDeclaration","scope":11932,"src":"24558:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11929,"name":"uint256","nodeType":"ElementaryTypeName","src":"24558:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24557:16:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11939,"nodeType":"FunctionDefinition","src":"24708:88:13","nodes":[],"functionSelector":"98680034","implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"24717:16:13","parameters":{"id":11935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11934,"mutability":"mutable","name":"urlOrAlias","nameLocation":"24750:10:13","nodeType":"VariableDeclaration","scope":11939,"src":"24734:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":11933,"name":"string","nodeType":"ElementaryTypeName","src":"24734:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24733:28:13"},"returnParameters":{"id":11938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11937,"mutability":"mutable","name":"forkId","nameLocation":"24788:6:13","nodeType":"VariableDeclaration","scope":11939,"src":"24780:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11936,"name":"uint256","nodeType":"ElementaryTypeName","src":"24780:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24779:16:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11944,"nodeType":"FunctionDefinition","src":"24907:45:13","nodes":[],"functionSelector":"9ebf6827","implemented":false,"kind":"function","modifiers":[],"name":"selectFork","nameLocation":"24916:10:13","parameters":{"id":11942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11941,"mutability":"mutable","name":"forkId","nameLocation":"24935:6:13","nodeType":"VariableDeclaration","scope":11944,"src":"24927:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11940,"name":"uint256","nodeType":"ElementaryTypeName","src":"24927:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24926:16:13"},"returnParameters":{"id":11943,"nodeType":"ParameterList","parameters":[],"src":"24951:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11950,"nodeType":"FunctionDefinition","src":"25058:61:13","nodes":[],"documentation":{"id":11945,"nodeType":"StructuredDocumentation","src":"24957:96:13","text":"Returns the identifier of the currently active fork. Reverts if no fork is currently active."},"functionSelector":"2f103f22","implemented":false,"kind":"function","modifiers":[],"name":"activeFork","nameLocation":"25067:10:13","parameters":{"id":11946,"nodeType":"ParameterList","parameters":[],"src":"25077:2:13"},"returnParameters":{"id":11949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11948,"mutability":"mutable","name":"forkId","nameLocation":"25111:6:13","nodeType":"VariableDeclaration","scope":11950,"src":"25103:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11947,"name":"uint256","nodeType":"ElementaryTypeName","src":"25103:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25102:16:13"},"scope":12037,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":11955,"nodeType":"FunctionDefinition","src":"25254:48:13","nodes":[],"functionSelector":"d9bbf3a1","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"25263:8:13","parameters":{"id":11953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11952,"mutability":"mutable","name":"blockNumber","nameLocation":"25280:11:13","nodeType":"VariableDeclaration","scope":11955,"src":"25272:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11951,"name":"uint256","nodeType":"ElementaryTypeName","src":"25272:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25271:21:13"},"returnParameters":{"id":11954,"nodeType":"ParameterList","parameters":[],"src":"25301:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11960,"nodeType":"FunctionDefinition","src":"25512:43:13","nodes":[],"functionSelector":"0f29772b","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"25521:8:13","parameters":{"id":11958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11957,"mutability":"mutable","name":"txHash","nameLocation":"25538:6:13","nodeType":"VariableDeclaration","scope":11960,"src":"25530:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11956,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25530:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"25529:16:13"},"returnParameters":{"id":11959,"nodeType":"ParameterList","parameters":[],"src":"25554:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11967,"nodeType":"FunctionDefinition","src":"25612:64:13","nodes":[],"functionSelector":"d74c83a4","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"25621:8:13","parameters":{"id":11965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11962,"mutability":"mutable","name":"forkId","nameLocation":"25638:6:13","nodeType":"VariableDeclaration","scope":11967,"src":"25630:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11961,"name":"uint256","nodeType":"ElementaryTypeName","src":"25630:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11964,"mutability":"mutable","name":"blockNumber","nameLocation":"25654:11:13","nodeType":"VariableDeclaration","scope":11967,"src":"25646:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11963,"name":"uint256","nodeType":"ElementaryTypeName","src":"25646:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25629:37:13"},"returnParameters":{"id":11966,"nodeType":"ParameterList","parameters":[],"src":"25675:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11974,"nodeType":"FunctionDefinition","src":"25809:59:13","nodes":[],"functionSelector":"f2830f7b","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"25818:8:13","parameters":{"id":11972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11969,"mutability":"mutable","name":"forkId","nameLocation":"25835:6:13","nodeType":"VariableDeclaration","scope":11974,"src":"25827:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11968,"name":"uint256","nodeType":"ElementaryTypeName","src":"25827:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":11971,"mutability":"mutable","name":"txHash","nameLocation":"25851:6:13","nodeType":"VariableDeclaration","scope":11974,"src":"25843:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11970,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25843:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"25826:32:13"},"returnParameters":{"id":11973,"nodeType":"ParameterList","parameters":[],"src":"25867:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11979,"nodeType":"FunctionDefinition","src":"26067:50:13","nodes":[],"functionSelector":"57e22dde","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"26076:14:13","parameters":{"id":11977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11976,"mutability":"mutable","name":"account","nameLocation":"26099:7:13","nodeType":"VariableDeclaration","scope":11979,"src":"26091:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11975,"name":"address","nodeType":"ElementaryTypeName","src":"26091:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26090:17:13"},"returnParameters":{"id":11978,"nodeType":"ParameterList","parameters":[],"src":"26116:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11986,"nodeType":"FunctionDefinition","src":"26122:69:13","nodes":[],"functionSelector":"4074e0a8","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"26131:14:13","parameters":{"id":11984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11981,"mutability":"mutable","name":"account0","nameLocation":"26154:8:13","nodeType":"VariableDeclaration","scope":11986,"src":"26146:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11980,"name":"address","nodeType":"ElementaryTypeName","src":"26146:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11983,"mutability":"mutable","name":"account1","nameLocation":"26172:8:13","nodeType":"VariableDeclaration","scope":11986,"src":"26164:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11982,"name":"address","nodeType":"ElementaryTypeName","src":"26164:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26145:36:13"},"returnParameters":{"id":11985,"nodeType":"ParameterList","parameters":[],"src":"26190:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":11995,"nodeType":"FunctionDefinition","src":"26196:87:13","nodes":[],"functionSelector":"efb77a75","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"26205:14:13","parameters":{"id":11993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11988,"mutability":"mutable","name":"account0","nameLocation":"26228:8:13","nodeType":"VariableDeclaration","scope":11995,"src":"26220:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11987,"name":"address","nodeType":"ElementaryTypeName","src":"26220:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11990,"mutability":"mutable","name":"account1","nameLocation":"26246:8:13","nodeType":"VariableDeclaration","scope":11995,"src":"26238:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11989,"name":"address","nodeType":"ElementaryTypeName","src":"26238:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":11992,"mutability":"mutable","name":"account2","nameLocation":"26264:8:13","nodeType":"VariableDeclaration","scope":11995,"src":"26256:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11991,"name":"address","nodeType":"ElementaryTypeName","src":"26256:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26219:54:13"},"returnParameters":{"id":11994,"nodeType":"ParameterList","parameters":[],"src":"26282:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12001,"nodeType":"FunctionDefinition","src":"26288:62:13","nodes":[],"functionSelector":"1d9e269e","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"26297:14:13","parameters":{"id":11999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11998,"mutability":"mutable","name":"accounts","nameLocation":"26331:8:13","nodeType":"VariableDeclaration","scope":12001,"src":"26312:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":11996,"name":"address","nodeType":"ElementaryTypeName","src":"26312:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11997,"nodeType":"ArrayTypeName","src":"26312:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"26311:29:13"},"returnParameters":{"id":12000,"nodeType":"ParameterList","parameters":[],"src":"26349:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12006,"nodeType":"FunctionDefinition","src":"26444:52:13","nodes":[],"functionSelector":"997a0222","implemented":false,"kind":"function","modifiers":[],"name":"revokePersistent","nameLocation":"26453:16:13","parameters":{"id":12004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12003,"mutability":"mutable","name":"account","nameLocation":"26478:7:13","nodeType":"VariableDeclaration","scope":12006,"src":"26470:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12002,"name":"address","nodeType":"ElementaryTypeName","src":"26470:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26469:17:13"},"returnParameters":{"id":12005,"nodeType":"ParameterList","parameters":[],"src":"26495:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12012,"nodeType":"FunctionDefinition","src":"26501:64:13","nodes":[],"functionSelector":"3ce969e6","implemented":false,"kind":"function","modifiers":[],"name":"revokePersistent","nameLocation":"26510:16:13","parameters":{"id":12010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12009,"mutability":"mutable","name":"accounts","nameLocation":"26546:8:13","nodeType":"VariableDeclaration","scope":12012,"src":"26527:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12007,"name":"address","nodeType":"ElementaryTypeName","src":"26527:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12008,"nodeType":"ArrayTypeName","src":"26527:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"26526:29:13"},"returnParameters":{"id":12011,"nodeType":"ParameterList","parameters":[],"src":"26564:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12019,"nodeType":"FunctionDefinition","src":"26629:79:13","nodes":[],"functionSelector":"d92d8efd","implemented":false,"kind":"function","modifiers":[],"name":"isPersistent","nameLocation":"26638:12:13","parameters":{"id":12015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12014,"mutability":"mutable","name":"account","nameLocation":"26659:7:13","nodeType":"VariableDeclaration","scope":12019,"src":"26651:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12013,"name":"address","nodeType":"ElementaryTypeName","src":"26651:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26650:17:13"},"returnParameters":{"id":12018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12017,"mutability":"mutable","name":"persistent","nameLocation":"26696:10:13","nodeType":"VariableDeclaration","scope":12019,"src":"26691:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12016,"name":"bool","nodeType":"ElementaryTypeName","src":"26691:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26690:17:13"},"scope":12037,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12024,"nodeType":"FunctionDefinition","src":"26789:51:13","nodes":[],"functionSelector":"ea060291","implemented":false,"kind":"function","modifiers":[],"name":"allowCheatcodes","nameLocation":"26798:15:13","parameters":{"id":12022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12021,"mutability":"mutable","name":"account","nameLocation":"26822:7:13","nodeType":"VariableDeclaration","scope":12024,"src":"26814:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12020,"name":"address","nodeType":"ElementaryTypeName","src":"26814:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26813:17:13"},"returnParameters":{"id":12023,"nodeType":"ParameterList","parameters":[],"src":"26839:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12029,"nodeType":"FunctionDefinition","src":"26940:43:13","nodes":[],"functionSelector":"be646da1","implemented":false,"kind":"function","modifiers":[],"name":"transact","nameLocation":"26949:8:13","parameters":{"id":12027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12026,"mutability":"mutable","name":"txHash","nameLocation":"26966:6:13","nodeType":"VariableDeclaration","scope":12029,"src":"26958:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12025,"name":"bytes32","nodeType":"ElementaryTypeName","src":"26958:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"26957:16:13"},"returnParameters":{"id":12028,"nodeType":"ParameterList","parameters":[],"src":"26982:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12036,"nodeType":"FunctionDefinition","src":"27082:59:13","nodes":[],"functionSelector":"4d8abc4b","implemented":false,"kind":"function","modifiers":[],"name":"transact","nameLocation":"27091:8:13","parameters":{"id":12034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12031,"mutability":"mutable","name":"forkId","nameLocation":"27108:6:13","nodeType":"VariableDeclaration","scope":12036,"src":"27100:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12030,"name":"uint256","nodeType":"ElementaryTypeName","src":"27100:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12033,"mutability":"mutable","name":"txHash","nameLocation":"27124:6:13","nodeType":"VariableDeclaration","scope":12036,"src":"27116:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12032,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27116:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"27099:32:13"},"returnParameters":{"id":12035,"nodeType":"ParameterList","parameters":[],"src":"27140:0:13"},"scope":12037,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":11691,"name":"VmSafe","nodeType":"IdentifierPath","referencedDeclaration":11690,"src":"18888:6:13"},"id":11692,"nodeType":"InheritanceSpecifier","src":"18888:6:13"}],"canonicalName":"Vm","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[12037,11690],"name":"Vm","nameLocation":"18882:2:13","scope":12038,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/console.sol":{"id":14,"ast":{"absolutePath":"lib/forge-std/src/console.sol","id":20102,"exportedSymbols":{"console":[20101]},"nodeType":"SourceUnit","src":"32:66656:14","nodes":[{"id":12039,"nodeType":"PragmaDirective","src":"32:32:14","nodes":[],"literals":["solidity",">=","0.4",".22","<","0.9",".0"]},{"id":20101,"nodeType":"ContractDefinition","src":"66:66622:14","nodes":[{"id":12045,"nodeType":"VariableDeclaration","src":"88:86:14","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE_ADDRESS","nameLocation":"105:15:14","scope":20101,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12040,"name":"address","nodeType":"ElementaryTypeName","src":"88:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":12043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"131:42:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"123:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12041,"name":"address","nodeType":"ElementaryTypeName","src":"123:7:14","typeDescriptions":{}}},"id":12044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"123:51:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":12061,"nodeType":"FunctionDefinition","src":"181:376:14","nodes":[],"body":{"id":12060,"nodeType":"Block","src":"241:316:14","nodes":[],"statements":[{"assignments":[12051],"declarations":[{"constant":false,"id":12051,"mutability":"mutable","name":"payloadLength","nameLocation":"259:13:14","nodeType":"VariableDeclaration","scope":12060,"src":"251:21:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12050,"name":"uint256","nodeType":"ElementaryTypeName","src":"251:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12054,"initialValue":{"expression":{"id":12052,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12047,"src":"275:7:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":12053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"275:14:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"251:38:14"},{"assignments":[12056],"declarations":[{"constant":false,"id":12056,"mutability":"mutable","name":"consoleAddress","nameLocation":"307:14:14","nodeType":"VariableDeclaration","scope":12060,"src":"299:22:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12055,"name":"address","nodeType":"ElementaryTypeName","src":"299:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":12058,"initialValue":{"id":12057,"name":"CONSOLE_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12045,"src":"324:15:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"299:40:14"},{"AST":{"nodeType":"YulBlock","src":"401:150:14","statements":[{"nodeType":"YulVariableDeclaration","src":"415:36:14","value":{"arguments":[{"name":"payload","nodeType":"YulIdentifier","src":"439:7:14"},{"kind":"number","nodeType":"YulLiteral","src":"448:2:14","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"435:3:14"},"nodeType":"YulFunctionCall","src":"435:16:14"},"variables":[{"name":"payloadStart","nodeType":"YulTypedName","src":"419:12:14","type":""}]},{"nodeType":"YulVariableDeclaration","src":"464:77:14","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"484:3:14"},"nodeType":"YulFunctionCall","src":"484:5:14"},{"name":"consoleAddress","nodeType":"YulIdentifier","src":"491:14:14"},{"name":"payloadStart","nodeType":"YulIdentifier","src":"507:12:14"},{"name":"payloadLength","nodeType":"YulIdentifier","src":"521:13:14"},{"kind":"number","nodeType":"YulLiteral","src":"536:1:14","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"539:1:14","type":"","value":"0"}],"functionName":{"name":"staticcall","nodeType":"YulIdentifier","src":"473:10:14"},"nodeType":"YulFunctionCall","src":"473:68:14"},"variables":[{"name":"r","nodeType":"YulTypedName","src":"468:1:14","type":""}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":12056,"isOffset":false,"isSlot":false,"src":"491:14:14","valueSize":1},{"declaration":12047,"isOffset":false,"isSlot":false,"src":"439:7:14","valueSize":1},{"declaration":12051,"isOffset":false,"isSlot":false,"src":"521:13:14","valueSize":1}],"id":12059,"nodeType":"InlineAssembly","src":"392:159:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayload","nameLocation":"190:15:14","parameters":{"id":12048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12047,"mutability":"mutable","name":"payload","nameLocation":"219:7:14","nodeType":"VariableDeclaration","scope":12061,"src":"206:20:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12046,"name":"bytes","nodeType":"ElementaryTypeName","src":"206:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"205:22:14"},"returnParameters":{"id":12049,"nodeType":"ParameterList","parameters":[],"src":"241:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":12072,"nodeType":"FunctionDefinition","src":"563:95:14","nodes":[],"body":{"id":12071,"nodeType":"Block","src":"592:66:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672829","id":12067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"642:7:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""},"value":"log()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""}],"expression":{"id":12065,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"618:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12066,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"618:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"618:32:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12064,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"602:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"602:49:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12070,"nodeType":"ExpressionStatement","src":"602:49:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"572:3:14","parameters":{"id":12062,"nodeType":"ParameterList","parameters":[],"src":"575:2:14"},"returnParameters":{"id":12063,"nodeType":"ParameterList","parameters":[],"src":"592:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12086,"nodeType":"FunctionDefinition","src":"664:111:14","nodes":[],"body":{"id":12085,"nodeType":"Block","src":"702:73:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728696e7429","id":12080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"752:10:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e0c1d1dcf573259576e2a7e591d366143f88fb7f7e57df09852da9c36797f2e","typeString":"literal_string \"log(int)\""},"value":"log(int)"},{"id":12081,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12074,"src":"764:2:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e0c1d1dcf573259576e2a7e591d366143f88fb7f7e57df09852da9c36797f2e","typeString":"literal_string \"log(int)\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":12078,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"728:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"728:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"728:39:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12077,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"712:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"712:56:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12084,"nodeType":"ExpressionStatement","src":"712:56:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logInt","nameLocation":"673:6:14","parameters":{"id":12075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12074,"mutability":"mutable","name":"p0","nameLocation":"684:2:14","nodeType":"VariableDeclaration","scope":12086,"src":"680:6:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12073,"name":"int","nodeType":"ElementaryTypeName","src":"680:3:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"679:8:14"},"returnParameters":{"id":12076,"nodeType":"ParameterList","parameters":[],"src":"702:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12100,"nodeType":"FunctionDefinition","src":"781:114:14","nodes":[],"body":{"id":12099,"nodeType":"Block","src":"821:74:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7429","id":12094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"871:11:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984","typeString":"literal_string \"log(uint)\""},"value":"log(uint)"},{"id":12095,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12088,"src":"884:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984","typeString":"literal_string \"log(uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12092,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"847:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"847:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"847:40:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12091,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"831:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"831:57:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12098,"nodeType":"ExpressionStatement","src":"831:57:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logUint","nameLocation":"790:7:14","parameters":{"id":12089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12088,"mutability":"mutable","name":"p0","nameLocation":"803:2:14","nodeType":"VariableDeclaration","scope":12100,"src":"798:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12087,"name":"uint","nodeType":"ElementaryTypeName","src":"798:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"797:9:14"},"returnParameters":{"id":12090,"nodeType":"ParameterList","parameters":[],"src":"821:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12114,"nodeType":"FunctionDefinition","src":"901:127:14","nodes":[],"body":{"id":12113,"nodeType":"Block","src":"952:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":12108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1002:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":12109,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12102,"src":"1017:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12106,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"978:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"978:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"978:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12105,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"962:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"962:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12112,"nodeType":"ExpressionStatement","src":"962:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logString","nameLocation":"910:9:14","parameters":{"id":12103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12102,"mutability":"mutable","name":"p0","nameLocation":"934:2:14","nodeType":"VariableDeclaration","scope":12114,"src":"920:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12101,"name":"string","nodeType":"ElementaryTypeName","src":"920:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"919:18:14"},"returnParameters":{"id":12104,"nodeType":"ParameterList","parameters":[],"src":"952:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12128,"nodeType":"FunctionDefinition","src":"1034:114:14","nodes":[],"body":{"id":12127,"nodeType":"Block","src":"1074:74:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":12122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1124:11:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":12123,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12116,"src":"1137:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12120,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1100:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12121,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1100:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1100:40:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12119,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"1084:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1084:57:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12126,"nodeType":"ExpressionStatement","src":"1084:57:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBool","nameLocation":"1043:7:14","parameters":{"id":12117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12116,"mutability":"mutable","name":"p0","nameLocation":"1056:2:14","nodeType":"VariableDeclaration","scope":12128,"src":"1051:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12115,"name":"bool","nodeType":"ElementaryTypeName","src":"1051:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1050:9:14"},"returnParameters":{"id":12118,"nodeType":"ParameterList","parameters":[],"src":"1074:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12142,"nodeType":"FunctionDefinition","src":"1154:123:14","nodes":[],"body":{"id":12141,"nodeType":"Block","src":"1200:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":12136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1250:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":12137,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12130,"src":"1266:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12134,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1226:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1226:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1226:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12133,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"1210:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1210:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12140,"nodeType":"ExpressionStatement","src":"1210:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logAddress","nameLocation":"1163:10:14","parameters":{"id":12131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12130,"mutability":"mutable","name":"p0","nameLocation":"1182:2:14","nodeType":"VariableDeclaration","scope":12142,"src":"1174:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12129,"name":"address","nodeType":"ElementaryTypeName","src":"1174:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1173:12:14"},"returnParameters":{"id":12132,"nodeType":"ParameterList","parameters":[],"src":"1200:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12156,"nodeType":"FunctionDefinition","src":"1283:124:14","nodes":[],"body":{"id":12155,"nodeType":"Block","src":"1332:75:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728627974657329","id":12150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1382:12:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},"value":"log(bytes)"},{"id":12151,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12144,"src":"1396:2:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12148,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1358:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1358:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1358:41:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12147,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"1342:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1342:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12154,"nodeType":"ExpressionStatement","src":"1342:58:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes","nameLocation":"1292:8:14","parameters":{"id":12145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12144,"mutability":"mutable","name":"p0","nameLocation":"1314:2:14","nodeType":"VariableDeclaration","scope":12156,"src":"1301:15:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12143,"name":"bytes","nodeType":"ElementaryTypeName","src":"1301:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1300:17:14"},"returnParameters":{"id":12146,"nodeType":"ParameterList","parameters":[],"src":"1332:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12170,"nodeType":"FunctionDefinition","src":"1413:120:14","nodes":[],"body":{"id":12169,"nodeType":"Block","src":"1457:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733129","id":12164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1507:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},"value":"log(bytes1)"},{"id":12165,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12158,"src":"1522:2:14","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"expression":{"id":12162,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1483:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1483:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1483:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12161,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"1467:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1467:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12168,"nodeType":"ExpressionStatement","src":"1467:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes1","nameLocation":"1422:9:14","parameters":{"id":12159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12158,"mutability":"mutable","name":"p0","nameLocation":"1439:2:14","nodeType":"VariableDeclaration","scope":12170,"src":"1432:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":12157,"name":"bytes1","nodeType":"ElementaryTypeName","src":"1432:6:14","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"1431:11:14"},"returnParameters":{"id":12160,"nodeType":"ParameterList","parameters":[],"src":"1457:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12184,"nodeType":"FunctionDefinition","src":"1539:120:14","nodes":[],"body":{"id":12183,"nodeType":"Block","src":"1583:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733229","id":12178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1633:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},"value":"log(bytes2)"},{"id":12179,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12172,"src":"1648:2:14","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},{"typeIdentifier":"t_bytes2","typeString":"bytes2"}],"expression":{"id":12176,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1609:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1609:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1609:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12175,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"1593:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1593:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12182,"nodeType":"ExpressionStatement","src":"1593:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes2","nameLocation":"1548:9:14","parameters":{"id":12173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12172,"mutability":"mutable","name":"p0","nameLocation":"1565:2:14","nodeType":"VariableDeclaration","scope":12184,"src":"1558:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"typeName":{"id":12171,"name":"bytes2","nodeType":"ElementaryTypeName","src":"1558:6:14","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"visibility":"internal"}],"src":"1557:11:14"},"returnParameters":{"id":12174,"nodeType":"ParameterList","parameters":[],"src":"1583:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12198,"nodeType":"FunctionDefinition","src":"1665:120:14","nodes":[],"body":{"id":12197,"nodeType":"Block","src":"1709:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733329","id":12192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1759:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},"value":"log(bytes3)"},{"id":12193,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12186,"src":"1774:2:14","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},{"typeIdentifier":"t_bytes3","typeString":"bytes3"}],"expression":{"id":12190,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1735:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1735:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1735:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12189,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"1719:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1719:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12196,"nodeType":"ExpressionStatement","src":"1719:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes3","nameLocation":"1674:9:14","parameters":{"id":12187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12186,"mutability":"mutable","name":"p0","nameLocation":"1691:2:14","nodeType":"VariableDeclaration","scope":12198,"src":"1684:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"},"typeName":{"id":12185,"name":"bytes3","nodeType":"ElementaryTypeName","src":"1684:6:14","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}},"visibility":"internal"}],"src":"1683:11:14"},"returnParameters":{"id":12188,"nodeType":"ParameterList","parameters":[],"src":"1709:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12212,"nodeType":"FunctionDefinition","src":"1791:120:14","nodes":[],"body":{"id":12211,"nodeType":"Block","src":"1835:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733429","id":12206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1885:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},"value":"log(bytes4)"},{"id":12207,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12200,"src":"1900:2:14","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":12204,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1861:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1861:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1861:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12203,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"1845:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1845:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12210,"nodeType":"ExpressionStatement","src":"1845:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes4","nameLocation":"1800:9:14","parameters":{"id":12201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12200,"mutability":"mutable","name":"p0","nameLocation":"1817:2:14","nodeType":"VariableDeclaration","scope":12212,"src":"1810:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":12199,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1810:6:14","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1809:11:14"},"returnParameters":{"id":12202,"nodeType":"ParameterList","parameters":[],"src":"1835:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12226,"nodeType":"FunctionDefinition","src":"1917:120:14","nodes":[],"body":{"id":12225,"nodeType":"Block","src":"1961:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733529","id":12220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2011:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},"value":"log(bytes5)"},{"id":12221,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12214,"src":"2026:2:14","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},{"typeIdentifier":"t_bytes5","typeString":"bytes5"}],"expression":{"id":12218,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1987:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1987:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1987:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12217,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"1971:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1971:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12224,"nodeType":"ExpressionStatement","src":"1971:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes5","nameLocation":"1926:9:14","parameters":{"id":12215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12214,"mutability":"mutable","name":"p0","nameLocation":"1943:2:14","nodeType":"VariableDeclaration","scope":12226,"src":"1936:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"},"typeName":{"id":12213,"name":"bytes5","nodeType":"ElementaryTypeName","src":"1936:6:14","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}},"visibility":"internal"}],"src":"1935:11:14"},"returnParameters":{"id":12216,"nodeType":"ParameterList","parameters":[],"src":"1961:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12240,"nodeType":"FunctionDefinition","src":"2043:120:14","nodes":[],"body":{"id":12239,"nodeType":"Block","src":"2087:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733629","id":12234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2137:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},"value":"log(bytes6)"},{"id":12235,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12228,"src":"2152:2:14","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},{"typeIdentifier":"t_bytes6","typeString":"bytes6"}],"expression":{"id":12232,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2113:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2113:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2113:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12231,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"2097:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2097:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12238,"nodeType":"ExpressionStatement","src":"2097:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes6","nameLocation":"2052:9:14","parameters":{"id":12229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12228,"mutability":"mutable","name":"p0","nameLocation":"2069:2:14","nodeType":"VariableDeclaration","scope":12240,"src":"2062:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"},"typeName":{"id":12227,"name":"bytes6","nodeType":"ElementaryTypeName","src":"2062:6:14","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}},"visibility":"internal"}],"src":"2061:11:14"},"returnParameters":{"id":12230,"nodeType":"ParameterList","parameters":[],"src":"2087:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12254,"nodeType":"FunctionDefinition","src":"2169:120:14","nodes":[],"body":{"id":12253,"nodeType":"Block","src":"2213:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733729","id":12248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2263:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},"value":"log(bytes7)"},{"id":12249,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12242,"src":"2278:2:14","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},{"typeIdentifier":"t_bytes7","typeString":"bytes7"}],"expression":{"id":12246,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2239:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12247,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2239:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2239:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12245,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"2223:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2223:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12252,"nodeType":"ExpressionStatement","src":"2223:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes7","nameLocation":"2178:9:14","parameters":{"id":12243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12242,"mutability":"mutable","name":"p0","nameLocation":"2195:2:14","nodeType":"VariableDeclaration","scope":12254,"src":"2188:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"},"typeName":{"id":12241,"name":"bytes7","nodeType":"ElementaryTypeName","src":"2188:6:14","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}},"visibility":"internal"}],"src":"2187:11:14"},"returnParameters":{"id":12244,"nodeType":"ParameterList","parameters":[],"src":"2213:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12268,"nodeType":"FunctionDefinition","src":"2295:120:14","nodes":[],"body":{"id":12267,"nodeType":"Block","src":"2339:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733829","id":12262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2389:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},"value":"log(bytes8)"},{"id":12263,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12256,"src":"2404:2:14","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},{"typeIdentifier":"t_bytes8","typeString":"bytes8"}],"expression":{"id":12260,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2365:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2365:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2365:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12259,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"2349:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2349:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12266,"nodeType":"ExpressionStatement","src":"2349:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes8","nameLocation":"2304:9:14","parameters":{"id":12257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12256,"mutability":"mutable","name":"p0","nameLocation":"2321:2:14","nodeType":"VariableDeclaration","scope":12268,"src":"2314:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"typeName":{"id":12255,"name":"bytes8","nodeType":"ElementaryTypeName","src":"2314:6:14","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"visibility":"internal"}],"src":"2313:11:14"},"returnParameters":{"id":12258,"nodeType":"ParameterList","parameters":[],"src":"2339:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12282,"nodeType":"FunctionDefinition","src":"2421:120:14","nodes":[],"body":{"id":12281,"nodeType":"Block","src":"2465:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733929","id":12276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2515:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},"value":"log(bytes9)"},{"id":12277,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12270,"src":"2530:2:14","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},{"typeIdentifier":"t_bytes9","typeString":"bytes9"}],"expression":{"id":12274,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2491:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12275,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2491:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2491:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12273,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"2475:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2475:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12280,"nodeType":"ExpressionStatement","src":"2475:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes9","nameLocation":"2430:9:14","parameters":{"id":12271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12270,"mutability":"mutable","name":"p0","nameLocation":"2447:2:14","nodeType":"VariableDeclaration","scope":12282,"src":"2440:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"},"typeName":{"id":12269,"name":"bytes9","nodeType":"ElementaryTypeName","src":"2440:6:14","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}},"visibility":"internal"}],"src":"2439:11:14"},"returnParameters":{"id":12272,"nodeType":"ParameterList","parameters":[],"src":"2465:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12296,"nodeType":"FunctionDefinition","src":"2547:123:14","nodes":[],"body":{"id":12295,"nodeType":"Block","src":"2593:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313029","id":12290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2643:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},"value":"log(bytes10)"},{"id":12291,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12284,"src":"2659:2:14","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},{"typeIdentifier":"t_bytes10","typeString":"bytes10"}],"expression":{"id":12288,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2619:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2619:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2619:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12287,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"2603:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2603:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12294,"nodeType":"ExpressionStatement","src":"2603:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes10","nameLocation":"2556:10:14","parameters":{"id":12285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12284,"mutability":"mutable","name":"p0","nameLocation":"2575:2:14","nodeType":"VariableDeclaration","scope":12296,"src":"2567:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"},"typeName":{"id":12283,"name":"bytes10","nodeType":"ElementaryTypeName","src":"2567:7:14","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}},"visibility":"internal"}],"src":"2566:12:14"},"returnParameters":{"id":12286,"nodeType":"ParameterList","parameters":[],"src":"2593:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12310,"nodeType":"FunctionDefinition","src":"2676:123:14","nodes":[],"body":{"id":12309,"nodeType":"Block","src":"2722:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313129","id":12304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2772:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},"value":"log(bytes11)"},{"id":12305,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12298,"src":"2788:2:14","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},{"typeIdentifier":"t_bytes11","typeString":"bytes11"}],"expression":{"id":12302,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2748:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2748:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2748:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12301,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"2732:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2732:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12308,"nodeType":"ExpressionStatement","src":"2732:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes11","nameLocation":"2685:10:14","parameters":{"id":12299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12298,"mutability":"mutable","name":"p0","nameLocation":"2704:2:14","nodeType":"VariableDeclaration","scope":12310,"src":"2696:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"},"typeName":{"id":12297,"name":"bytes11","nodeType":"ElementaryTypeName","src":"2696:7:14","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}},"visibility":"internal"}],"src":"2695:12:14"},"returnParameters":{"id":12300,"nodeType":"ParameterList","parameters":[],"src":"2722:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12324,"nodeType":"FunctionDefinition","src":"2805:123:14","nodes":[],"body":{"id":12323,"nodeType":"Block","src":"2851:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313229","id":12318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2901:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},"value":"log(bytes12)"},{"id":12319,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12312,"src":"2917:2:14","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},{"typeIdentifier":"t_bytes12","typeString":"bytes12"}],"expression":{"id":12316,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2877:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2877:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2877:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12315,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"2861:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2861:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12322,"nodeType":"ExpressionStatement","src":"2861:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes12","nameLocation":"2814:10:14","parameters":{"id":12313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12312,"mutability":"mutable","name":"p0","nameLocation":"2833:2:14","nodeType":"VariableDeclaration","scope":12324,"src":"2825:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"},"typeName":{"id":12311,"name":"bytes12","nodeType":"ElementaryTypeName","src":"2825:7:14","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"visibility":"internal"}],"src":"2824:12:14"},"returnParameters":{"id":12314,"nodeType":"ParameterList","parameters":[],"src":"2851:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12338,"nodeType":"FunctionDefinition","src":"2934:123:14","nodes":[],"body":{"id":12337,"nodeType":"Block","src":"2980:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313329","id":12332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3030:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},"value":"log(bytes13)"},{"id":12333,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12326,"src":"3046:2:14","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},{"typeIdentifier":"t_bytes13","typeString":"bytes13"}],"expression":{"id":12330,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3006:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12331,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3006:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3006:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12329,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"2990:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2990:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12336,"nodeType":"ExpressionStatement","src":"2990:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes13","nameLocation":"2943:10:14","parameters":{"id":12327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12326,"mutability":"mutable","name":"p0","nameLocation":"2962:2:14","nodeType":"VariableDeclaration","scope":12338,"src":"2954:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"},"typeName":{"id":12325,"name":"bytes13","nodeType":"ElementaryTypeName","src":"2954:7:14","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}},"visibility":"internal"}],"src":"2953:12:14"},"returnParameters":{"id":12328,"nodeType":"ParameterList","parameters":[],"src":"2980:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12352,"nodeType":"FunctionDefinition","src":"3063:123:14","nodes":[],"body":{"id":12351,"nodeType":"Block","src":"3109:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313429","id":12346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3159:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},"value":"log(bytes14)"},{"id":12347,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12340,"src":"3175:2:14","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"expression":{"id":12344,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3135:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3135:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3135:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12343,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"3119:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3119:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12350,"nodeType":"ExpressionStatement","src":"3119:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes14","nameLocation":"3072:10:14","parameters":{"id":12341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12340,"mutability":"mutable","name":"p0","nameLocation":"3091:2:14","nodeType":"VariableDeclaration","scope":12352,"src":"3083:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":12339,"name":"bytes14","nodeType":"ElementaryTypeName","src":"3083:7:14","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"3082:12:14"},"returnParameters":{"id":12342,"nodeType":"ParameterList","parameters":[],"src":"3109:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12366,"nodeType":"FunctionDefinition","src":"3192:123:14","nodes":[],"body":{"id":12365,"nodeType":"Block","src":"3238:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313529","id":12360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3288:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},"value":"log(bytes15)"},{"id":12361,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12354,"src":"3304:2:14","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},{"typeIdentifier":"t_bytes15","typeString":"bytes15"}],"expression":{"id":12358,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3264:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3264:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3264:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12357,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"3248:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3248:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12364,"nodeType":"ExpressionStatement","src":"3248:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes15","nameLocation":"3201:10:14","parameters":{"id":12355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12354,"mutability":"mutable","name":"p0","nameLocation":"3220:2:14","nodeType":"VariableDeclaration","scope":12366,"src":"3212:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"},"typeName":{"id":12353,"name":"bytes15","nodeType":"ElementaryTypeName","src":"3212:7:14","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}},"visibility":"internal"}],"src":"3211:12:14"},"returnParameters":{"id":12356,"nodeType":"ParameterList","parameters":[],"src":"3238:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12380,"nodeType":"FunctionDefinition","src":"3321:123:14","nodes":[],"body":{"id":12379,"nodeType":"Block","src":"3367:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313629","id":12374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3417:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},"value":"log(bytes16)"},{"id":12375,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12368,"src":"3433:2:14","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},{"typeIdentifier":"t_bytes16","typeString":"bytes16"}],"expression":{"id":12372,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3393:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3393:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3393:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12371,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"3377:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3377:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12378,"nodeType":"ExpressionStatement","src":"3377:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes16","nameLocation":"3330:10:14","parameters":{"id":12369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12368,"mutability":"mutable","name":"p0","nameLocation":"3349:2:14","nodeType":"VariableDeclaration","scope":12380,"src":"3341:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":12367,"name":"bytes16","nodeType":"ElementaryTypeName","src":"3341:7:14","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"src":"3340:12:14"},"returnParameters":{"id":12370,"nodeType":"ParameterList","parameters":[],"src":"3367:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12394,"nodeType":"FunctionDefinition","src":"3450:123:14","nodes":[],"body":{"id":12393,"nodeType":"Block","src":"3496:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313729","id":12388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3546:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},"value":"log(bytes17)"},{"id":12389,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12382,"src":"3562:2:14","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},{"typeIdentifier":"t_bytes17","typeString":"bytes17"}],"expression":{"id":12386,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3522:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3522:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3522:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12385,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"3506:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3506:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12392,"nodeType":"ExpressionStatement","src":"3506:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes17","nameLocation":"3459:10:14","parameters":{"id":12383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12382,"mutability":"mutable","name":"p0","nameLocation":"3478:2:14","nodeType":"VariableDeclaration","scope":12394,"src":"3470:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"},"typeName":{"id":12381,"name":"bytes17","nodeType":"ElementaryTypeName","src":"3470:7:14","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}},"visibility":"internal"}],"src":"3469:12:14"},"returnParameters":{"id":12384,"nodeType":"ParameterList","parameters":[],"src":"3496:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12408,"nodeType":"FunctionDefinition","src":"3579:123:14","nodes":[],"body":{"id":12407,"nodeType":"Block","src":"3625:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313829","id":12402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3675:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},"value":"log(bytes18)"},{"id":12403,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12396,"src":"3691:2:14","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},{"typeIdentifier":"t_bytes18","typeString":"bytes18"}],"expression":{"id":12400,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3651:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3651:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3651:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12399,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"3635:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3635:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12406,"nodeType":"ExpressionStatement","src":"3635:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes18","nameLocation":"3588:10:14","parameters":{"id":12397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12396,"mutability":"mutable","name":"p0","nameLocation":"3607:2:14","nodeType":"VariableDeclaration","scope":12408,"src":"3599:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"},"typeName":{"id":12395,"name":"bytes18","nodeType":"ElementaryTypeName","src":"3599:7:14","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}},"visibility":"internal"}],"src":"3598:12:14"},"returnParameters":{"id":12398,"nodeType":"ParameterList","parameters":[],"src":"3625:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12422,"nodeType":"FunctionDefinition","src":"3708:123:14","nodes":[],"body":{"id":12421,"nodeType":"Block","src":"3754:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313929","id":12416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3804:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},"value":"log(bytes19)"},{"id":12417,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12410,"src":"3820:2:14","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},{"typeIdentifier":"t_bytes19","typeString":"bytes19"}],"expression":{"id":12414,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3780:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3780:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3780:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12413,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"3764:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3764:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12420,"nodeType":"ExpressionStatement","src":"3764:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes19","nameLocation":"3717:10:14","parameters":{"id":12411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12410,"mutability":"mutable","name":"p0","nameLocation":"3736:2:14","nodeType":"VariableDeclaration","scope":12422,"src":"3728:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"},"typeName":{"id":12409,"name":"bytes19","nodeType":"ElementaryTypeName","src":"3728:7:14","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}},"visibility":"internal"}],"src":"3727:12:14"},"returnParameters":{"id":12412,"nodeType":"ParameterList","parameters":[],"src":"3754:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12436,"nodeType":"FunctionDefinition","src":"3837:123:14","nodes":[],"body":{"id":12435,"nodeType":"Block","src":"3883:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323029","id":12430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3933:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},"value":"log(bytes20)"},{"id":12431,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12424,"src":"3949:2:14","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"expression":{"id":12428,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3909:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12429,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3909:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3909:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12427,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"3893:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3893:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12434,"nodeType":"ExpressionStatement","src":"3893:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes20","nameLocation":"3846:10:14","parameters":{"id":12425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12424,"mutability":"mutable","name":"p0","nameLocation":"3865:2:14","nodeType":"VariableDeclaration","scope":12436,"src":"3857:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"},"typeName":{"id":12423,"name":"bytes20","nodeType":"ElementaryTypeName","src":"3857:7:14","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"visibility":"internal"}],"src":"3856:12:14"},"returnParameters":{"id":12426,"nodeType":"ParameterList","parameters":[],"src":"3883:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12450,"nodeType":"FunctionDefinition","src":"3966:123:14","nodes":[],"body":{"id":12449,"nodeType":"Block","src":"4012:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323129","id":12444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4062:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},"value":"log(bytes21)"},{"id":12445,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12438,"src":"4078:2:14","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":12442,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4038:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12443,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4038:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4038:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12441,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"4022:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4022:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12448,"nodeType":"ExpressionStatement","src":"4022:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes21","nameLocation":"3975:10:14","parameters":{"id":12439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12438,"mutability":"mutable","name":"p0","nameLocation":"3994:2:14","nodeType":"VariableDeclaration","scope":12450,"src":"3986:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":12437,"name":"bytes21","nodeType":"ElementaryTypeName","src":"3986:7:14","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"3985:12:14"},"returnParameters":{"id":12440,"nodeType":"ParameterList","parameters":[],"src":"4012:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12464,"nodeType":"FunctionDefinition","src":"4095:123:14","nodes":[],"body":{"id":12463,"nodeType":"Block","src":"4141:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323229","id":12458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4191:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},"value":"log(bytes22)"},{"id":12459,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12452,"src":"4207:2:14","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},{"typeIdentifier":"t_bytes22","typeString":"bytes22"}],"expression":{"id":12456,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4167:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4167:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4167:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12455,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"4151:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4151:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12462,"nodeType":"ExpressionStatement","src":"4151:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes22","nameLocation":"4104:10:14","parameters":{"id":12453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12452,"mutability":"mutable","name":"p0","nameLocation":"4123:2:14","nodeType":"VariableDeclaration","scope":12464,"src":"4115:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"},"typeName":{"id":12451,"name":"bytes22","nodeType":"ElementaryTypeName","src":"4115:7:14","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}},"visibility":"internal"}],"src":"4114:12:14"},"returnParameters":{"id":12454,"nodeType":"ParameterList","parameters":[],"src":"4141:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12478,"nodeType":"FunctionDefinition","src":"4224:123:14","nodes":[],"body":{"id":12477,"nodeType":"Block","src":"4270:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323329","id":12472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4320:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},"value":"log(bytes23)"},{"id":12473,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12466,"src":"4336:2:14","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},{"typeIdentifier":"t_bytes23","typeString":"bytes23"}],"expression":{"id":12470,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4296:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12471,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4296:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4296:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12469,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"4280:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4280:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12476,"nodeType":"ExpressionStatement","src":"4280:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes23","nameLocation":"4233:10:14","parameters":{"id":12467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12466,"mutability":"mutable","name":"p0","nameLocation":"4252:2:14","nodeType":"VariableDeclaration","scope":12478,"src":"4244:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"},"typeName":{"id":12465,"name":"bytes23","nodeType":"ElementaryTypeName","src":"4244:7:14","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}},"visibility":"internal"}],"src":"4243:12:14"},"returnParameters":{"id":12468,"nodeType":"ParameterList","parameters":[],"src":"4270:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12492,"nodeType":"FunctionDefinition","src":"4353:123:14","nodes":[],"body":{"id":12491,"nodeType":"Block","src":"4399:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323429","id":12486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4449:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},"value":"log(bytes24)"},{"id":12487,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12480,"src":"4465:2:14","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},{"typeIdentifier":"t_bytes24","typeString":"bytes24"}],"expression":{"id":12484,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4425:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4425:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4425:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12483,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"4409:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4409:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12490,"nodeType":"ExpressionStatement","src":"4409:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes24","nameLocation":"4362:10:14","parameters":{"id":12481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12480,"mutability":"mutable","name":"p0","nameLocation":"4381:2:14","nodeType":"VariableDeclaration","scope":12492,"src":"4373:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"},"typeName":{"id":12479,"name":"bytes24","nodeType":"ElementaryTypeName","src":"4373:7:14","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}},"visibility":"internal"}],"src":"4372:12:14"},"returnParameters":{"id":12482,"nodeType":"ParameterList","parameters":[],"src":"4399:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12506,"nodeType":"FunctionDefinition","src":"4482:123:14","nodes":[],"body":{"id":12505,"nodeType":"Block","src":"4528:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323529","id":12500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4578:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},"value":"log(bytes25)"},{"id":12501,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12494,"src":"4594:2:14","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},{"typeIdentifier":"t_bytes25","typeString":"bytes25"}],"expression":{"id":12498,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4554:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4554:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4554:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12497,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"4538:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4538:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12504,"nodeType":"ExpressionStatement","src":"4538:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes25","nameLocation":"4491:10:14","parameters":{"id":12495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12494,"mutability":"mutable","name":"p0","nameLocation":"4510:2:14","nodeType":"VariableDeclaration","scope":12506,"src":"4502:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"},"typeName":{"id":12493,"name":"bytes25","nodeType":"ElementaryTypeName","src":"4502:7:14","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}},"visibility":"internal"}],"src":"4501:12:14"},"returnParameters":{"id":12496,"nodeType":"ParameterList","parameters":[],"src":"4528:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12520,"nodeType":"FunctionDefinition","src":"4611:123:14","nodes":[],"body":{"id":12519,"nodeType":"Block","src":"4657:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323629","id":12514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4707:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},"value":"log(bytes26)"},{"id":12515,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12508,"src":"4723:2:14","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},{"typeIdentifier":"t_bytes26","typeString":"bytes26"}],"expression":{"id":12512,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4683:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12513,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4683:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4683:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12511,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"4667:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4667:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12518,"nodeType":"ExpressionStatement","src":"4667:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes26","nameLocation":"4620:10:14","parameters":{"id":12509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12508,"mutability":"mutable","name":"p0","nameLocation":"4639:2:14","nodeType":"VariableDeclaration","scope":12520,"src":"4631:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"},"typeName":{"id":12507,"name":"bytes26","nodeType":"ElementaryTypeName","src":"4631:7:14","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}},"visibility":"internal"}],"src":"4630:12:14"},"returnParameters":{"id":12510,"nodeType":"ParameterList","parameters":[],"src":"4657:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12534,"nodeType":"FunctionDefinition","src":"4740:123:14","nodes":[],"body":{"id":12533,"nodeType":"Block","src":"4786:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323729","id":12528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4836:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},"value":"log(bytes27)"},{"id":12529,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12522,"src":"4852:2:14","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},{"typeIdentifier":"t_bytes27","typeString":"bytes27"}],"expression":{"id":12526,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4812:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12527,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4812:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4812:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12525,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"4796:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4796:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12532,"nodeType":"ExpressionStatement","src":"4796:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes27","nameLocation":"4749:10:14","parameters":{"id":12523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12522,"mutability":"mutable","name":"p0","nameLocation":"4768:2:14","nodeType":"VariableDeclaration","scope":12534,"src":"4760:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"},"typeName":{"id":12521,"name":"bytes27","nodeType":"ElementaryTypeName","src":"4760:7:14","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}},"visibility":"internal"}],"src":"4759:12:14"},"returnParameters":{"id":12524,"nodeType":"ParameterList","parameters":[],"src":"4786:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12548,"nodeType":"FunctionDefinition","src":"4869:123:14","nodes":[],"body":{"id":12547,"nodeType":"Block","src":"4915:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323829","id":12542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4965:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},"value":"log(bytes28)"},{"id":12543,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12536,"src":"4981:2:14","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},{"typeIdentifier":"t_bytes28","typeString":"bytes28"}],"expression":{"id":12540,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4941:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4941:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4941:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12539,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"4925:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4925:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12546,"nodeType":"ExpressionStatement","src":"4925:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes28","nameLocation":"4878:10:14","parameters":{"id":12537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12536,"mutability":"mutable","name":"p0","nameLocation":"4897:2:14","nodeType":"VariableDeclaration","scope":12548,"src":"4889:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"},"typeName":{"id":12535,"name":"bytes28","nodeType":"ElementaryTypeName","src":"4889:7:14","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}},"visibility":"internal"}],"src":"4888:12:14"},"returnParameters":{"id":12538,"nodeType":"ParameterList","parameters":[],"src":"4915:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12562,"nodeType":"FunctionDefinition","src":"4998:123:14","nodes":[],"body":{"id":12561,"nodeType":"Block","src":"5044:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323929","id":12556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5094:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},"value":"log(bytes29)"},{"id":12557,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12550,"src":"5110:2:14","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},{"typeIdentifier":"t_bytes29","typeString":"bytes29"}],"expression":{"id":12554,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5070:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5070:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5070:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12553,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"5054:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5054:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12560,"nodeType":"ExpressionStatement","src":"5054:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes29","nameLocation":"5007:10:14","parameters":{"id":12551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12550,"mutability":"mutable","name":"p0","nameLocation":"5026:2:14","nodeType":"VariableDeclaration","scope":12562,"src":"5018:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"},"typeName":{"id":12549,"name":"bytes29","nodeType":"ElementaryTypeName","src":"5018:7:14","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}},"visibility":"internal"}],"src":"5017:12:14"},"returnParameters":{"id":12552,"nodeType":"ParameterList","parameters":[],"src":"5044:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12576,"nodeType":"FunctionDefinition","src":"5127:123:14","nodes":[],"body":{"id":12575,"nodeType":"Block","src":"5173:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333029","id":12570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5223:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},"value":"log(bytes30)"},{"id":12571,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12564,"src":"5239:2:14","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},{"typeIdentifier":"t_bytes30","typeString":"bytes30"}],"expression":{"id":12568,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5199:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12569,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5199:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5199:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12567,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"5183:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5183:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12574,"nodeType":"ExpressionStatement","src":"5183:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes30","nameLocation":"5136:10:14","parameters":{"id":12565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12564,"mutability":"mutable","name":"p0","nameLocation":"5155:2:14","nodeType":"VariableDeclaration","scope":12576,"src":"5147:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"},"typeName":{"id":12563,"name":"bytes30","nodeType":"ElementaryTypeName","src":"5147:7:14","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}},"visibility":"internal"}],"src":"5146:12:14"},"returnParameters":{"id":12566,"nodeType":"ParameterList","parameters":[],"src":"5173:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12590,"nodeType":"FunctionDefinition","src":"5256:123:14","nodes":[],"body":{"id":12589,"nodeType":"Block","src":"5302:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333129","id":12584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5352:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},"value":"log(bytes31)"},{"id":12585,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12578,"src":"5368:2:14","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},{"typeIdentifier":"t_bytes31","typeString":"bytes31"}],"expression":{"id":12582,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5328:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5328:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5328:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12581,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"5312:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5312:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12588,"nodeType":"ExpressionStatement","src":"5312:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes31","nameLocation":"5265:10:14","parameters":{"id":12579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12578,"mutability":"mutable","name":"p0","nameLocation":"5284:2:14","nodeType":"VariableDeclaration","scope":12590,"src":"5276:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"},"typeName":{"id":12577,"name":"bytes31","nodeType":"ElementaryTypeName","src":"5276:7:14","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}},"visibility":"internal"}],"src":"5275:12:14"},"returnParameters":{"id":12580,"nodeType":"ParameterList","parameters":[],"src":"5302:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12604,"nodeType":"FunctionDefinition","src":"5385:123:14","nodes":[],"body":{"id":12603,"nodeType":"Block","src":"5431:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333229","id":12598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5481:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},"value":"log(bytes32)"},{"id":12599,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12592,"src":"5497:2:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":12596,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5457:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12597,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5457:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5457:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12595,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"5441:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5441:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12602,"nodeType":"ExpressionStatement","src":"5441:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes32","nameLocation":"5394:10:14","parameters":{"id":12593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12592,"mutability":"mutable","name":"p0","nameLocation":"5413:2:14","nodeType":"VariableDeclaration","scope":12604,"src":"5405:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12591,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5405:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5404:12:14"},"returnParameters":{"id":12594,"nodeType":"ParameterList","parameters":[],"src":"5431:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12618,"nodeType":"FunctionDefinition","src":"5514:110:14","nodes":[],"body":{"id":12617,"nodeType":"Block","src":"5550:74:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7429","id":12612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5600:11:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984","typeString":"literal_string \"log(uint)\""},"value":"log(uint)"},{"id":12613,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12606,"src":"5613:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984","typeString":"literal_string \"log(uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12610,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5576:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12611,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5576:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5576:40:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12609,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"5560:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5560:57:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12616,"nodeType":"ExpressionStatement","src":"5560:57:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5523:3:14","parameters":{"id":12607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12606,"mutability":"mutable","name":"p0","nameLocation":"5532:2:14","nodeType":"VariableDeclaration","scope":12618,"src":"5527:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12605,"name":"uint","nodeType":"ElementaryTypeName","src":"5527:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5526:9:14"},"returnParameters":{"id":12608,"nodeType":"ParameterList","parameters":[],"src":"5550:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12632,"nodeType":"FunctionDefinition","src":"5630:121:14","nodes":[],"body":{"id":12631,"nodeType":"Block","src":"5675:76:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":12626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5725:13:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":12627,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12620,"src":"5740:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12624,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5701:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5701:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5701:42:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12623,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"5685:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5685:59:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12630,"nodeType":"ExpressionStatement","src":"5685:59:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5639:3:14","parameters":{"id":12621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12620,"mutability":"mutable","name":"p0","nameLocation":"5657:2:14","nodeType":"VariableDeclaration","scope":12632,"src":"5643:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12619,"name":"string","nodeType":"ElementaryTypeName","src":"5643:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5642:18:14"},"returnParameters":{"id":12622,"nodeType":"ParameterList","parameters":[],"src":"5675:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12646,"nodeType":"FunctionDefinition","src":"5757:110:14","nodes":[],"body":{"id":12645,"nodeType":"Block","src":"5793:74:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":12640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5843:11:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":12641,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12634,"src":"5856:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12638,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5819:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5819:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5819:40:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12637,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"5803:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5803:57:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12644,"nodeType":"ExpressionStatement","src":"5803:57:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5766:3:14","parameters":{"id":12635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12634,"mutability":"mutable","name":"p0","nameLocation":"5775:2:14","nodeType":"VariableDeclaration","scope":12646,"src":"5770:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12633,"name":"bool","nodeType":"ElementaryTypeName","src":"5770:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5769:9:14"},"returnParameters":{"id":12636,"nodeType":"ParameterList","parameters":[],"src":"5793:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12660,"nodeType":"FunctionDefinition","src":"5873:116:14","nodes":[],"body":{"id":12659,"nodeType":"Block","src":"5912:77:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":12654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5962:14:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":12655,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12648,"src":"5978:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12652,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5938:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5938:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5938:43:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12651,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"5922:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5922:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12658,"nodeType":"ExpressionStatement","src":"5922:60:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5882:3:14","parameters":{"id":12649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12648,"mutability":"mutable","name":"p0","nameLocation":"5894:2:14","nodeType":"VariableDeclaration","scope":12660,"src":"5886:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12647,"name":"address","nodeType":"ElementaryTypeName","src":"5886:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5885:12:14"},"returnParameters":{"id":12650,"nodeType":"ParameterList","parameters":[],"src":"5912:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12677,"nodeType":"FunctionDefinition","src":"5995:128:14","nodes":[],"body":{"id":12676,"nodeType":"Block","src":"6040:83:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e7429","id":12670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6090:16:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6c0f69806b714804c91bc48c3b408dde7373841a86e55c9ea3ee0c5945b4bc32","typeString":"literal_string \"log(uint,uint)\""},"value":"log(uint,uint)"},{"id":12671,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12662,"src":"6108:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12672,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12664,"src":"6112:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6c0f69806b714804c91bc48c3b408dde7373841a86e55c9ea3ee0c5945b4bc32","typeString":"literal_string \"log(uint,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12668,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6066:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12669,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6066:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6066:49:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12667,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"6050:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6050:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12675,"nodeType":"ExpressionStatement","src":"6050:66:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6004:3:14","parameters":{"id":12665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12662,"mutability":"mutable","name":"p0","nameLocation":"6013:2:14","nodeType":"VariableDeclaration","scope":12677,"src":"6008:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12661,"name":"uint","nodeType":"ElementaryTypeName","src":"6008:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12664,"mutability":"mutable","name":"p1","nameLocation":"6022:2:14","nodeType":"VariableDeclaration","scope":12677,"src":"6017:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12663,"name":"uint","nodeType":"ElementaryTypeName","src":"6017:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6007:18:14"},"returnParameters":{"id":12666,"nodeType":"ParameterList","parameters":[],"src":"6040:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12694,"nodeType":"FunctionDefinition","src":"6129:139:14","nodes":[],"body":{"id":12693,"nodeType":"Block","src":"6183:85:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e6729","id":12687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6233:18:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0fa3f345ed69310615f27bede4ec80a963e2134dd287fa93c82b0c1eefe029a8","typeString":"literal_string \"log(uint,string)\""},"value":"log(uint,string)"},{"id":12688,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12679,"src":"6253:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12689,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12681,"src":"6257:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0fa3f345ed69310615f27bede4ec80a963e2134dd287fa93c82b0c1eefe029a8","typeString":"literal_string \"log(uint,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12685,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6209:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12686,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6209:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6209:51:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12684,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"6193:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6193:68:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12692,"nodeType":"ExpressionStatement","src":"6193:68:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6138:3:14","parameters":{"id":12682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12679,"mutability":"mutable","name":"p0","nameLocation":"6147:2:14","nodeType":"VariableDeclaration","scope":12694,"src":"6142:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12678,"name":"uint","nodeType":"ElementaryTypeName","src":"6142:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12681,"mutability":"mutable","name":"p1","nameLocation":"6165:2:14","nodeType":"VariableDeclaration","scope":12694,"src":"6151:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12680,"name":"string","nodeType":"ElementaryTypeName","src":"6151:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6141:27:14"},"returnParameters":{"id":12683,"nodeType":"ParameterList","parameters":[],"src":"6183:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12711,"nodeType":"FunctionDefinition","src":"6274:128:14","nodes":[],"body":{"id":12710,"nodeType":"Block","src":"6319:83:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c29","id":12704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6369:16:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e6dd4ecaf57d2ec6eb02f2f993c53040200a16451fba718b7e8b170825fd172","typeString":"literal_string \"log(uint,bool)\""},"value":"log(uint,bool)"},{"id":12705,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12696,"src":"6387:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12706,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12698,"src":"6391:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1e6dd4ecaf57d2ec6eb02f2f993c53040200a16451fba718b7e8b170825fd172","typeString":"literal_string \"log(uint,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12702,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6345:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6345:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6345:49:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12701,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"6329:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6329:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12709,"nodeType":"ExpressionStatement","src":"6329:66:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6283:3:14","parameters":{"id":12699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12696,"mutability":"mutable","name":"p0","nameLocation":"6292:2:14","nodeType":"VariableDeclaration","scope":12711,"src":"6287:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12695,"name":"uint","nodeType":"ElementaryTypeName","src":"6287:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12698,"mutability":"mutable","name":"p1","nameLocation":"6301:2:14","nodeType":"VariableDeclaration","scope":12711,"src":"6296:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12697,"name":"bool","nodeType":"ElementaryTypeName","src":"6296:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6286:18:14"},"returnParameters":{"id":12700,"nodeType":"ParameterList","parameters":[],"src":"6319:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12728,"nodeType":"FunctionDefinition","src":"6408:134:14","nodes":[],"body":{"id":12727,"nodeType":"Block","src":"6456:86:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c6164647265737329","id":12721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6506:19:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_58eb860cb5df2c2db83667a7ce62ef14d1323e0f3e304ea316fb64cd2c6fd3b2","typeString":"literal_string \"log(uint,address)\""},"value":"log(uint,address)"},{"id":12722,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12713,"src":"6527:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12723,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12715,"src":"6531:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_58eb860cb5df2c2db83667a7ce62ef14d1323e0f3e304ea316fb64cd2c6fd3b2","typeString":"literal_string \"log(uint,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12719,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6482:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6482:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6482:52:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12718,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"6466:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6466:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12726,"nodeType":"ExpressionStatement","src":"6466:69:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6417:3:14","parameters":{"id":12716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12713,"mutability":"mutable","name":"p0","nameLocation":"6426:2:14","nodeType":"VariableDeclaration","scope":12728,"src":"6421:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12712,"name":"uint","nodeType":"ElementaryTypeName","src":"6421:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12715,"mutability":"mutable","name":"p1","nameLocation":"6438:2:14","nodeType":"VariableDeclaration","scope":12728,"src":"6430:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12714,"name":"address","nodeType":"ElementaryTypeName","src":"6430:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6420:21:14"},"returnParameters":{"id":12717,"nodeType":"ParameterList","parameters":[],"src":"6456:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12745,"nodeType":"FunctionDefinition","src":"6548:139:14","nodes":[],"body":{"id":12744,"nodeType":"Block","src":"6602:85:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e7429","id":12738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6652:18:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9710a9d00d210736b1ce918b483e56000e2885769da8118b2fbf9fe33949d3bd","typeString":"literal_string \"log(string,uint)\""},"value":"log(string,uint)"},{"id":12739,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12730,"src":"6672:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12740,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12732,"src":"6676:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9710a9d00d210736b1ce918b483e56000e2885769da8118b2fbf9fe33949d3bd","typeString":"literal_string \"log(string,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12736,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6628:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6628:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6628:51:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12735,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"6612:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6612:68:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12743,"nodeType":"ExpressionStatement","src":"6612:68:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6557:3:14","parameters":{"id":12733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12730,"mutability":"mutable","name":"p0","nameLocation":"6575:2:14","nodeType":"VariableDeclaration","scope":12745,"src":"6561:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12729,"name":"string","nodeType":"ElementaryTypeName","src":"6561:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12732,"mutability":"mutable","name":"p1","nameLocation":"6584:2:14","nodeType":"VariableDeclaration","scope":12745,"src":"6579:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12731,"name":"uint","nodeType":"ElementaryTypeName","src":"6579:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6560:27:14"},"returnParameters":{"id":12734,"nodeType":"ParameterList","parameters":[],"src":"6602:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12762,"nodeType":"FunctionDefinition","src":"6693:150:14","nodes":[],"body":{"id":12761,"nodeType":"Block","src":"6756:87:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e6729","id":12755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6806:20:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},"value":"log(string,string)"},{"id":12756,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12747,"src":"6828:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12757,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12749,"src":"6832:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12753,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6782:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12754,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6782:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6782:53:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12752,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"6766:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6766:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12760,"nodeType":"ExpressionStatement","src":"6766:70:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6702:3:14","parameters":{"id":12750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12747,"mutability":"mutable","name":"p0","nameLocation":"6720:2:14","nodeType":"VariableDeclaration","scope":12762,"src":"6706:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12746,"name":"string","nodeType":"ElementaryTypeName","src":"6706:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12749,"mutability":"mutable","name":"p1","nameLocation":"6738:2:14","nodeType":"VariableDeclaration","scope":12762,"src":"6724:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12748,"name":"string","nodeType":"ElementaryTypeName","src":"6724:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6705:36:14"},"returnParameters":{"id":12751,"nodeType":"ParameterList","parameters":[],"src":"6756:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12779,"nodeType":"FunctionDefinition","src":"6849:139:14","nodes":[],"body":{"id":12778,"nodeType":"Block","src":"6903:85:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c29","id":12772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6953:18:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},"value":"log(string,bool)"},{"id":12773,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12764,"src":"6973:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12774,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12766,"src":"6977:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12770,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6929:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6929:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6929:51:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12769,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"6913:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6913:68:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12777,"nodeType":"ExpressionStatement","src":"6913:68:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6858:3:14","parameters":{"id":12767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12764,"mutability":"mutable","name":"p0","nameLocation":"6876:2:14","nodeType":"VariableDeclaration","scope":12779,"src":"6862:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12763,"name":"string","nodeType":"ElementaryTypeName","src":"6862:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12766,"mutability":"mutable","name":"p1","nameLocation":"6885:2:14","nodeType":"VariableDeclaration","scope":12779,"src":"6880:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12765,"name":"bool","nodeType":"ElementaryTypeName","src":"6880:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6861:27:14"},"returnParameters":{"id":12768,"nodeType":"ParameterList","parameters":[],"src":"6903:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12796,"nodeType":"FunctionDefinition","src":"6994:145:14","nodes":[],"body":{"id":12795,"nodeType":"Block","src":"7051:88:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c6164647265737329","id":12789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7101:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},"value":"log(string,address)"},{"id":12790,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12781,"src":"7124:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12791,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12783,"src":"7128:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12787,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7077:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12788,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7077:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7077:54:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12786,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"7061:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7061:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12794,"nodeType":"ExpressionStatement","src":"7061:71:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7003:3:14","parameters":{"id":12784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12781,"mutability":"mutable","name":"p0","nameLocation":"7021:2:14","nodeType":"VariableDeclaration","scope":12796,"src":"7007:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12780,"name":"string","nodeType":"ElementaryTypeName","src":"7007:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12783,"mutability":"mutable","name":"p1","nameLocation":"7033:2:14","nodeType":"VariableDeclaration","scope":12796,"src":"7025:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12782,"name":"address","nodeType":"ElementaryTypeName","src":"7025:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7006:30:14"},"returnParameters":{"id":12785,"nodeType":"ParameterList","parameters":[],"src":"7051:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12813,"nodeType":"FunctionDefinition","src":"7145:128:14","nodes":[],"body":{"id":12812,"nodeType":"Block","src":"7190:83:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e7429","id":12806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7240:16:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_364b6a921e139cbe48176ce2b1f6700c7e568330bc5da26f60350cc33cf2a299","typeString":"literal_string \"log(bool,uint)\""},"value":"log(bool,uint)"},{"id":12807,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12798,"src":"7258:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12808,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12800,"src":"7262:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_364b6a921e139cbe48176ce2b1f6700c7e568330bc5da26f60350cc33cf2a299","typeString":"literal_string \"log(bool,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12804,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7216:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7216:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7216:49:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12803,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"7200:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7200:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12811,"nodeType":"ExpressionStatement","src":"7200:66:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7154:3:14","parameters":{"id":12801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12798,"mutability":"mutable","name":"p0","nameLocation":"7163:2:14","nodeType":"VariableDeclaration","scope":12813,"src":"7158:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12797,"name":"bool","nodeType":"ElementaryTypeName","src":"7158:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12800,"mutability":"mutable","name":"p1","nameLocation":"7172:2:14","nodeType":"VariableDeclaration","scope":12813,"src":"7167:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12799,"name":"uint","nodeType":"ElementaryTypeName","src":"7167:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7157:18:14"},"returnParameters":{"id":12802,"nodeType":"ParameterList","parameters":[],"src":"7190:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12830,"nodeType":"FunctionDefinition","src":"7279:139:14","nodes":[],"body":{"id":12829,"nodeType":"Block","src":"7333:85:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e6729","id":12823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7383:18:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},"value":"log(bool,string)"},{"id":12824,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12815,"src":"7403:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12825,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12817,"src":"7407:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12821,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7359:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7359:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7359:51:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12820,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"7343:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7343:68:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12828,"nodeType":"ExpressionStatement","src":"7343:68:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7288:3:14","parameters":{"id":12818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12815,"mutability":"mutable","name":"p0","nameLocation":"7297:2:14","nodeType":"VariableDeclaration","scope":12830,"src":"7292:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12814,"name":"bool","nodeType":"ElementaryTypeName","src":"7292:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12817,"mutability":"mutable","name":"p1","nameLocation":"7315:2:14","nodeType":"VariableDeclaration","scope":12830,"src":"7301:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12816,"name":"string","nodeType":"ElementaryTypeName","src":"7301:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7291:27:14"},"returnParameters":{"id":12819,"nodeType":"ParameterList","parameters":[],"src":"7333:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12847,"nodeType":"FunctionDefinition","src":"7424:128:14","nodes":[],"body":{"id":12846,"nodeType":"Block","src":"7469:83:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c29","id":12840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7519:16:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},"value":"log(bool,bool)"},{"id":12841,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12832,"src":"7537:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12842,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12834,"src":"7541:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12838,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7495:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7495:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7495:49:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12837,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"7479:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7479:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12845,"nodeType":"ExpressionStatement","src":"7479:66:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7433:3:14","parameters":{"id":12835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12832,"mutability":"mutable","name":"p0","nameLocation":"7442:2:14","nodeType":"VariableDeclaration","scope":12847,"src":"7437:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12831,"name":"bool","nodeType":"ElementaryTypeName","src":"7437:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12834,"mutability":"mutable","name":"p1","nameLocation":"7451:2:14","nodeType":"VariableDeclaration","scope":12847,"src":"7446:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12833,"name":"bool","nodeType":"ElementaryTypeName","src":"7446:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7436:18:14"},"returnParameters":{"id":12836,"nodeType":"ParameterList","parameters":[],"src":"7469:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12864,"nodeType":"FunctionDefinition","src":"7558:134:14","nodes":[],"body":{"id":12863,"nodeType":"Block","src":"7606:86:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c6164647265737329","id":12857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7656:19:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},"value":"log(bool,address)"},{"id":12858,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12849,"src":"7677:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":12859,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12851,"src":"7681:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12855,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7632:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12856,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7632:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7632:52:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12854,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"7616:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7616:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12862,"nodeType":"ExpressionStatement","src":"7616:69:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7567:3:14","parameters":{"id":12852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12849,"mutability":"mutable","name":"p0","nameLocation":"7576:2:14","nodeType":"VariableDeclaration","scope":12864,"src":"7571:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12848,"name":"bool","nodeType":"ElementaryTypeName","src":"7571:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12851,"mutability":"mutable","name":"p1","nameLocation":"7588:2:14","nodeType":"VariableDeclaration","scope":12864,"src":"7580:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12850,"name":"address","nodeType":"ElementaryTypeName","src":"7580:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7570:21:14"},"returnParameters":{"id":12853,"nodeType":"ParameterList","parameters":[],"src":"7606:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12881,"nodeType":"FunctionDefinition","src":"7698:134:14","nodes":[],"body":{"id":12880,"nodeType":"Block","src":"7746:86:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e7429","id":12874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7796:19:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2243cfa3a64f0f85afef83b08ba731ebd8a4b1053fdc66eb414b069452c9f133","typeString":"literal_string \"log(address,uint)\""},"value":"log(address,uint)"},{"id":12875,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12866,"src":"7817:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12876,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12868,"src":"7821:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2243cfa3a64f0f85afef83b08ba731ebd8a4b1053fdc66eb414b069452c9f133","typeString":"literal_string \"log(address,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12872,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7772:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7772:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7772:52:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12871,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"7756:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7756:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12879,"nodeType":"ExpressionStatement","src":"7756:69:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7707:3:14","parameters":{"id":12869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12866,"mutability":"mutable","name":"p0","nameLocation":"7719:2:14","nodeType":"VariableDeclaration","scope":12881,"src":"7711:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12865,"name":"address","nodeType":"ElementaryTypeName","src":"7711:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12868,"mutability":"mutable","name":"p1","nameLocation":"7728:2:14","nodeType":"VariableDeclaration","scope":12881,"src":"7723:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12867,"name":"uint","nodeType":"ElementaryTypeName","src":"7723:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7710:21:14"},"returnParameters":{"id":12870,"nodeType":"ParameterList","parameters":[],"src":"7746:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12898,"nodeType":"FunctionDefinition","src":"7838:145:14","nodes":[],"body":{"id":12897,"nodeType":"Block","src":"7895:88:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e6729","id":12891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7945:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},"value":"log(address,string)"},{"id":12892,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12883,"src":"7968:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12893,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12885,"src":"7972:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12889,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7921:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7921:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7921:54:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12888,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"7905:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7905:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12896,"nodeType":"ExpressionStatement","src":"7905:71:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7847:3:14","parameters":{"id":12886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12883,"mutability":"mutable","name":"p0","nameLocation":"7859:2:14","nodeType":"VariableDeclaration","scope":12898,"src":"7851:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12882,"name":"address","nodeType":"ElementaryTypeName","src":"7851:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12885,"mutability":"mutable","name":"p1","nameLocation":"7877:2:14","nodeType":"VariableDeclaration","scope":12898,"src":"7863:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12884,"name":"string","nodeType":"ElementaryTypeName","src":"7863:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7850:30:14"},"returnParameters":{"id":12887,"nodeType":"ParameterList","parameters":[],"src":"7895:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12915,"nodeType":"FunctionDefinition","src":"7989:134:14","nodes":[],"body":{"id":12914,"nodeType":"Block","src":"8037:86:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c29","id":12908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8087:19:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},"value":"log(address,bool)"},{"id":12909,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12900,"src":"8108:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12910,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12902,"src":"8112:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12906,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8063:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12907,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8063:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8063:52:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12905,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"8047:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8047:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12913,"nodeType":"ExpressionStatement","src":"8047:69:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7998:3:14","parameters":{"id":12903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12900,"mutability":"mutable","name":"p0","nameLocation":"8010:2:14","nodeType":"VariableDeclaration","scope":12915,"src":"8002:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12899,"name":"address","nodeType":"ElementaryTypeName","src":"8002:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12902,"mutability":"mutable","name":"p1","nameLocation":"8019:2:14","nodeType":"VariableDeclaration","scope":12915,"src":"8014:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12901,"name":"bool","nodeType":"ElementaryTypeName","src":"8014:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8001:21:14"},"returnParameters":{"id":12904,"nodeType":"ParameterList","parameters":[],"src":"8037:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12932,"nodeType":"FunctionDefinition","src":"8129:140:14","nodes":[],"body":{"id":12931,"nodeType":"Block","src":"8180:89:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c6164647265737329","id":12925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8230:22:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},"value":"log(address,address)"},{"id":12926,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12917,"src":"8254:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":12927,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12919,"src":"8258:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12923,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8206:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12924,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8206:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8206:55:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12922,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"8190:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8190:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12930,"nodeType":"ExpressionStatement","src":"8190:72:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8138:3:14","parameters":{"id":12920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12917,"mutability":"mutable","name":"p0","nameLocation":"8150:2:14","nodeType":"VariableDeclaration","scope":12932,"src":"8142:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12916,"name":"address","nodeType":"ElementaryTypeName","src":"8142:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12919,"mutability":"mutable","name":"p1","nameLocation":"8162:2:14","nodeType":"VariableDeclaration","scope":12932,"src":"8154:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12918,"name":"address","nodeType":"ElementaryTypeName","src":"8154:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8141:24:14"},"returnParameters":{"id":12921,"nodeType":"ParameterList","parameters":[],"src":"8180:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12952,"nodeType":"FunctionDefinition","src":"8275:146:14","nodes":[],"body":{"id":12951,"nodeType":"Block","src":"8329:92:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c75696e7429","id":12944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8379:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e7820a7400e33a94b0ae6f00adee99b97ebef8b77c9e38dd555c2f6b541dee17","typeString":"literal_string \"log(uint,uint,uint)\""},"value":"log(uint,uint,uint)"},{"id":12945,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12934,"src":"8402:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12946,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12936,"src":"8406:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12947,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12938,"src":"8410:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e7820a7400e33a94b0ae6f00adee99b97ebef8b77c9e38dd555c2f6b541dee17","typeString":"literal_string \"log(uint,uint,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12942,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8355:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8355:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8355:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12941,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"8339:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8339:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12950,"nodeType":"ExpressionStatement","src":"8339:75:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8284:3:14","parameters":{"id":12939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12934,"mutability":"mutable","name":"p0","nameLocation":"8293:2:14","nodeType":"VariableDeclaration","scope":12952,"src":"8288:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12933,"name":"uint","nodeType":"ElementaryTypeName","src":"8288:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12936,"mutability":"mutable","name":"p1","nameLocation":"8302:2:14","nodeType":"VariableDeclaration","scope":12952,"src":"8297:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12935,"name":"uint","nodeType":"ElementaryTypeName","src":"8297:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12938,"mutability":"mutable","name":"p2","nameLocation":"8311:2:14","nodeType":"VariableDeclaration","scope":12952,"src":"8306:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12937,"name":"uint","nodeType":"ElementaryTypeName","src":"8306:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8287:27:14"},"returnParameters":{"id":12940,"nodeType":"ParameterList","parameters":[],"src":"8329:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12972,"nodeType":"FunctionDefinition","src":"8427:157:14","nodes":[],"body":{"id":12971,"nodeType":"Block","src":"8490:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c737472696e6729","id":12964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8540:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7d690ee617a4217569e96b85c815115b0eee15407adaa46490ed719a45458699","typeString":"literal_string \"log(uint,uint,string)\""},"value":"log(uint,uint,string)"},{"id":12965,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12954,"src":"8565:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12966,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12956,"src":"8569:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12967,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12958,"src":"8573:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7d690ee617a4217569e96b85c815115b0eee15407adaa46490ed719a45458699","typeString":"literal_string \"log(uint,uint,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":12962,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8516:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8516:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8516:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12961,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"8500:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8500:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12970,"nodeType":"ExpressionStatement","src":"8500:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8436:3:14","parameters":{"id":12959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12954,"mutability":"mutable","name":"p0","nameLocation":"8445:2:14","nodeType":"VariableDeclaration","scope":12972,"src":"8440:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12953,"name":"uint","nodeType":"ElementaryTypeName","src":"8440:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12956,"mutability":"mutable","name":"p1","nameLocation":"8454:2:14","nodeType":"VariableDeclaration","scope":12972,"src":"8449:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12955,"name":"uint","nodeType":"ElementaryTypeName","src":"8449:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12958,"mutability":"mutable","name":"p2","nameLocation":"8472:2:14","nodeType":"VariableDeclaration","scope":12972,"src":"8458:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12957,"name":"string","nodeType":"ElementaryTypeName","src":"8458:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8439:36:14"},"returnParameters":{"id":12960,"nodeType":"ParameterList","parameters":[],"src":"8490:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12992,"nodeType":"FunctionDefinition","src":"8590:146:14","nodes":[],"body":{"id":12991,"nodeType":"Block","src":"8644:92:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c626f6f6c29","id":12984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8694:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_67570ff704783f5d282b26317dc28aeb4fe23c085020ec6e580604c709916fa8","typeString":"literal_string \"log(uint,uint,bool)\""},"value":"log(uint,uint,bool)"},{"id":12985,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12974,"src":"8717:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12986,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12976,"src":"8721:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12987,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12978,"src":"8725:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_67570ff704783f5d282b26317dc28aeb4fe23c085020ec6e580604c709916fa8","typeString":"literal_string \"log(uint,uint,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12982,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8670:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":12983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8670:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":12988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8670:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":12981,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"8654:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":12989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8654:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12990,"nodeType":"ExpressionStatement","src":"8654:75:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8599:3:14","parameters":{"id":12979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12974,"mutability":"mutable","name":"p0","nameLocation":"8608:2:14","nodeType":"VariableDeclaration","scope":12992,"src":"8603:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12973,"name":"uint","nodeType":"ElementaryTypeName","src":"8603:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12976,"mutability":"mutable","name":"p1","nameLocation":"8617:2:14","nodeType":"VariableDeclaration","scope":12992,"src":"8612:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12975,"name":"uint","nodeType":"ElementaryTypeName","src":"8612:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12978,"mutability":"mutable","name":"p2","nameLocation":"8626:2:14","nodeType":"VariableDeclaration","scope":12992,"src":"8621:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12977,"name":"bool","nodeType":"ElementaryTypeName","src":"8621:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8602:27:14"},"returnParameters":{"id":12980,"nodeType":"ParameterList","parameters":[],"src":"8644:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13012,"nodeType":"FunctionDefinition","src":"8742:152:14","nodes":[],"body":{"id":13011,"nodeType":"Block","src":"8799:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c6164647265737329","id":13004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8849:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_be33491b8b53b7f3deae2959d1f4b0a22e6967a778c50f03dc188de84a207616","typeString":"literal_string \"log(uint,uint,address)\""},"value":"log(uint,uint,address)"},{"id":13005,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12994,"src":"8875:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13006,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12996,"src":"8879:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13007,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12998,"src":"8883:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be33491b8b53b7f3deae2959d1f4b0a22e6967a778c50f03dc188de84a207616","typeString":"literal_string \"log(uint,uint,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13002,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8825:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8825:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8825:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13001,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"8809:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8809:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13010,"nodeType":"ExpressionStatement","src":"8809:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8751:3:14","parameters":{"id":12999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12994,"mutability":"mutable","name":"p0","nameLocation":"8760:2:14","nodeType":"VariableDeclaration","scope":13012,"src":"8755:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12993,"name":"uint","nodeType":"ElementaryTypeName","src":"8755:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12996,"mutability":"mutable","name":"p1","nameLocation":"8769:2:14","nodeType":"VariableDeclaration","scope":13012,"src":"8764:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12995,"name":"uint","nodeType":"ElementaryTypeName","src":"8764:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12998,"mutability":"mutable","name":"p2","nameLocation":"8781:2:14","nodeType":"VariableDeclaration","scope":13012,"src":"8773:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12997,"name":"address","nodeType":"ElementaryTypeName","src":"8773:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8754:30:14"},"returnParameters":{"id":13000,"nodeType":"ParameterList","parameters":[],"src":"8799:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13032,"nodeType":"FunctionDefinition","src":"8900:157:14","nodes":[],"body":{"id":13031,"nodeType":"Block","src":"8963:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c75696e7429","id":13024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9013:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5b6de83ff0d95cd44df8bb8bfd95aa0a6291cab3b8502d85b1dcfd35a64c81cd","typeString":"literal_string \"log(uint,string,uint)\""},"value":"log(uint,string,uint)"},{"id":13025,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13014,"src":"9038:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13026,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13016,"src":"9042:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13027,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13018,"src":"9046:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5b6de83ff0d95cd44df8bb8bfd95aa0a6291cab3b8502d85b1dcfd35a64c81cd","typeString":"literal_string \"log(uint,string,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13022,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8989:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8989:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8989:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13021,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"8973:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8973:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13030,"nodeType":"ExpressionStatement","src":"8973:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8909:3:14","parameters":{"id":13019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13014,"mutability":"mutable","name":"p0","nameLocation":"8918:2:14","nodeType":"VariableDeclaration","scope":13032,"src":"8913:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13013,"name":"uint","nodeType":"ElementaryTypeName","src":"8913:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13016,"mutability":"mutable","name":"p1","nameLocation":"8936:2:14","nodeType":"VariableDeclaration","scope":13032,"src":"8922:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13015,"name":"string","nodeType":"ElementaryTypeName","src":"8922:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13018,"mutability":"mutable","name":"p2","nameLocation":"8945:2:14","nodeType":"VariableDeclaration","scope":13032,"src":"8940:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13017,"name":"uint","nodeType":"ElementaryTypeName","src":"8940:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8912:36:14"},"returnParameters":{"id":13020,"nodeType":"ParameterList","parameters":[],"src":"8963:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13052,"nodeType":"FunctionDefinition","src":"9063:168:14","nodes":[],"body":{"id":13051,"nodeType":"Block","src":"9135:96:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c737472696e6729","id":13044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9185:25:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f57c295245f8891b303347a08039155dde08dde601649242724a0ce876bcc65","typeString":"literal_string \"log(uint,string,string)\""},"value":"log(uint,string,string)"},{"id":13045,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13034,"src":"9212:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13046,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13036,"src":"9216:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13047,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13038,"src":"9220:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3f57c295245f8891b303347a08039155dde08dde601649242724a0ce876bcc65","typeString":"literal_string \"log(uint,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13042,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9161:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13043,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9161:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9161:62:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13041,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"9145:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9145:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13050,"nodeType":"ExpressionStatement","src":"9145:79:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9072:3:14","parameters":{"id":13039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13034,"mutability":"mutable","name":"p0","nameLocation":"9081:2:14","nodeType":"VariableDeclaration","scope":13052,"src":"9076:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13033,"name":"uint","nodeType":"ElementaryTypeName","src":"9076:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13036,"mutability":"mutable","name":"p1","nameLocation":"9099:2:14","nodeType":"VariableDeclaration","scope":13052,"src":"9085:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13035,"name":"string","nodeType":"ElementaryTypeName","src":"9085:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13038,"mutability":"mutable","name":"p2","nameLocation":"9117:2:14","nodeType":"VariableDeclaration","scope":13052,"src":"9103:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13037,"name":"string","nodeType":"ElementaryTypeName","src":"9103:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9075:45:14"},"returnParameters":{"id":13040,"nodeType":"ParameterList","parameters":[],"src":"9135:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13072,"nodeType":"FunctionDefinition","src":"9237:157:14","nodes":[],"body":{"id":13071,"nodeType":"Block","src":"9300:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c626f6f6c29","id":13064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9350:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_46a7d0ce13c2c26d158d9defa8ce488dbeb81d3c852592fb370bd45953199485","typeString":"literal_string \"log(uint,string,bool)\""},"value":"log(uint,string,bool)"},{"id":13065,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13054,"src":"9375:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13066,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13056,"src":"9379:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13067,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13058,"src":"9383:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46a7d0ce13c2c26d158d9defa8ce488dbeb81d3c852592fb370bd45953199485","typeString":"literal_string \"log(uint,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13062,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9326:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9326:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9326:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13061,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"9310:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9310:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13070,"nodeType":"ExpressionStatement","src":"9310:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9246:3:14","parameters":{"id":13059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13054,"mutability":"mutable","name":"p0","nameLocation":"9255:2:14","nodeType":"VariableDeclaration","scope":13072,"src":"9250:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13053,"name":"uint","nodeType":"ElementaryTypeName","src":"9250:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13056,"mutability":"mutable","name":"p1","nameLocation":"9273:2:14","nodeType":"VariableDeclaration","scope":13072,"src":"9259:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13055,"name":"string","nodeType":"ElementaryTypeName","src":"9259:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13058,"mutability":"mutable","name":"p2","nameLocation":"9282:2:14","nodeType":"VariableDeclaration","scope":13072,"src":"9277:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13057,"name":"bool","nodeType":"ElementaryTypeName","src":"9277:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9249:36:14"},"returnParameters":{"id":13060,"nodeType":"ParameterList","parameters":[],"src":"9300:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13092,"nodeType":"FunctionDefinition","src":"9400:163:14","nodes":[],"body":{"id":13091,"nodeType":"Block","src":"9466:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c6164647265737329","id":13084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9516:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1f90f24a472e5198a9eef41600323c8a476ef0a1db1496125f7d053a74d474ac","typeString":"literal_string \"log(uint,string,address)\""},"value":"log(uint,string,address)"},{"id":13085,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13074,"src":"9544:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13086,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13076,"src":"9548:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13087,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13078,"src":"9552:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1f90f24a472e5198a9eef41600323c8a476ef0a1db1496125f7d053a74d474ac","typeString":"literal_string \"log(uint,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13082,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9492:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9492:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9492:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13081,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"9476:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9476:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13090,"nodeType":"ExpressionStatement","src":"9476:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9409:3:14","parameters":{"id":13079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13074,"mutability":"mutable","name":"p0","nameLocation":"9418:2:14","nodeType":"VariableDeclaration","scope":13092,"src":"9413:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13073,"name":"uint","nodeType":"ElementaryTypeName","src":"9413:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13076,"mutability":"mutable","name":"p1","nameLocation":"9436:2:14","nodeType":"VariableDeclaration","scope":13092,"src":"9422:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13075,"name":"string","nodeType":"ElementaryTypeName","src":"9422:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13078,"mutability":"mutable","name":"p2","nameLocation":"9448:2:14","nodeType":"VariableDeclaration","scope":13092,"src":"9440:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13077,"name":"address","nodeType":"ElementaryTypeName","src":"9440:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9412:39:14"},"returnParameters":{"id":13080,"nodeType":"ParameterList","parameters":[],"src":"9466:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13112,"nodeType":"FunctionDefinition","src":"9569:146:14","nodes":[],"body":{"id":13111,"nodeType":"Block","src":"9623:92:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c75696e7429","id":13104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9673:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a4d9922ab81f1126dafac21c1ce3fb483db2e4898341fe0758315eb5f3054d6","typeString":"literal_string \"log(uint,bool,uint)\""},"value":"log(uint,bool,uint)"},{"id":13105,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13094,"src":"9696:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13106,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13096,"src":"9700:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13107,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13098,"src":"9704:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5a4d9922ab81f1126dafac21c1ce3fb483db2e4898341fe0758315eb5f3054d6","typeString":"literal_string \"log(uint,bool,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13102,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9649:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9649:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9649:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13101,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"9633:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9633:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13110,"nodeType":"ExpressionStatement","src":"9633:75:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9578:3:14","parameters":{"id":13099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13094,"mutability":"mutable","name":"p0","nameLocation":"9587:2:14","nodeType":"VariableDeclaration","scope":13112,"src":"9582:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13093,"name":"uint","nodeType":"ElementaryTypeName","src":"9582:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13096,"mutability":"mutable","name":"p1","nameLocation":"9596:2:14","nodeType":"VariableDeclaration","scope":13112,"src":"9591:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13095,"name":"bool","nodeType":"ElementaryTypeName","src":"9591:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13098,"mutability":"mutable","name":"p2","nameLocation":"9605:2:14","nodeType":"VariableDeclaration","scope":13112,"src":"9600:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13097,"name":"uint","nodeType":"ElementaryTypeName","src":"9600:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9581:27:14"},"returnParameters":{"id":13100,"nodeType":"ParameterList","parameters":[],"src":"9623:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13132,"nodeType":"FunctionDefinition","src":"9721:157:14","nodes":[],"body":{"id":13131,"nodeType":"Block","src":"9784:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c737472696e6729","id":13124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9834:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b0e14fe247223cbba6a19a2fac250db70b4f126d0f3f63ac9c3f080885b9f82","typeString":"literal_string \"log(uint,bool,string)\""},"value":"log(uint,bool,string)"},{"id":13125,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13114,"src":"9859:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13126,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13116,"src":"9863:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13127,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13118,"src":"9867:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b0e14fe247223cbba6a19a2fac250db70b4f126d0f3f63ac9c3f080885b9f82","typeString":"literal_string \"log(uint,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13122,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9810:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9810:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9810:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13121,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"9794:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9794:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13130,"nodeType":"ExpressionStatement","src":"9794:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9730:3:14","parameters":{"id":13119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13114,"mutability":"mutable","name":"p0","nameLocation":"9739:2:14","nodeType":"VariableDeclaration","scope":13132,"src":"9734:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13113,"name":"uint","nodeType":"ElementaryTypeName","src":"9734:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13116,"mutability":"mutable","name":"p1","nameLocation":"9748:2:14","nodeType":"VariableDeclaration","scope":13132,"src":"9743:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13115,"name":"bool","nodeType":"ElementaryTypeName","src":"9743:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13118,"mutability":"mutable","name":"p2","nameLocation":"9766:2:14","nodeType":"VariableDeclaration","scope":13132,"src":"9752:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13117,"name":"string","nodeType":"ElementaryTypeName","src":"9752:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9733:36:14"},"returnParameters":{"id":13120,"nodeType":"ParameterList","parameters":[],"src":"9784:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13152,"nodeType":"FunctionDefinition","src":"9884:146:14","nodes":[],"body":{"id":13151,"nodeType":"Block","src":"9938:92:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c626f6f6c29","id":13144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9988:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5ceace024d24c243571d0b2393ca9fb37aa961a0e028332e72cd7dfb84c0971","typeString":"literal_string \"log(uint,bool,bool)\""},"value":"log(uint,bool,bool)"},{"id":13145,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13134,"src":"10011:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13146,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13136,"src":"10015:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13147,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13138,"src":"10019:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5ceace024d24c243571d0b2393ca9fb37aa961a0e028332e72cd7dfb84c0971","typeString":"literal_string \"log(uint,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13142,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9964:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9964:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9964:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13141,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"9948:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9948:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13150,"nodeType":"ExpressionStatement","src":"9948:75:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9893:3:14","parameters":{"id":13139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13134,"mutability":"mutable","name":"p0","nameLocation":"9902:2:14","nodeType":"VariableDeclaration","scope":13152,"src":"9897:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13133,"name":"uint","nodeType":"ElementaryTypeName","src":"9897:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13136,"mutability":"mutable","name":"p1","nameLocation":"9911:2:14","nodeType":"VariableDeclaration","scope":13152,"src":"9906:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13135,"name":"bool","nodeType":"ElementaryTypeName","src":"9906:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13138,"mutability":"mutable","name":"p2","nameLocation":"9920:2:14","nodeType":"VariableDeclaration","scope":13152,"src":"9915:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13137,"name":"bool","nodeType":"ElementaryTypeName","src":"9915:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9896:27:14"},"returnParameters":{"id":13140,"nodeType":"ParameterList","parameters":[],"src":"9938:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13172,"nodeType":"FunctionDefinition","src":"10036:152:14","nodes":[],"body":{"id":13171,"nodeType":"Block","src":"10093:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c6164647265737329","id":13164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10143:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_424effbf6346b3a7c79debdbad20f804c7961e0193d509136d2bb7c09c7ff9b2","typeString":"literal_string \"log(uint,bool,address)\""},"value":"log(uint,bool,address)"},{"id":13165,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13154,"src":"10169:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13166,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13156,"src":"10173:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13167,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13158,"src":"10177:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_424effbf6346b3a7c79debdbad20f804c7961e0193d509136d2bb7c09c7ff9b2","typeString":"literal_string \"log(uint,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13162,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10119:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10119:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10119:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13161,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"10103:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10103:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13170,"nodeType":"ExpressionStatement","src":"10103:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10045:3:14","parameters":{"id":13159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13154,"mutability":"mutable","name":"p0","nameLocation":"10054:2:14","nodeType":"VariableDeclaration","scope":13172,"src":"10049:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13153,"name":"uint","nodeType":"ElementaryTypeName","src":"10049:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13156,"mutability":"mutable","name":"p1","nameLocation":"10063:2:14","nodeType":"VariableDeclaration","scope":13172,"src":"10058:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13155,"name":"bool","nodeType":"ElementaryTypeName","src":"10058:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13158,"mutability":"mutable","name":"p2","nameLocation":"10075:2:14","nodeType":"VariableDeclaration","scope":13172,"src":"10067:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13157,"name":"address","nodeType":"ElementaryTypeName","src":"10067:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10048:30:14"},"returnParameters":{"id":13160,"nodeType":"ParameterList","parameters":[],"src":"10093:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13192,"nodeType":"FunctionDefinition","src":"10194:152:14","nodes":[],"body":{"id":13191,"nodeType":"Block","src":"10251:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c75696e7429","id":13184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10301:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_884343aaf095a99f79852cd574543144a9a04148c5eb5687826e5e86a2554617","typeString":"literal_string \"log(uint,address,uint)\""},"value":"log(uint,address,uint)"},{"id":13185,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13174,"src":"10327:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13186,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13176,"src":"10331:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13187,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13178,"src":"10335:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_884343aaf095a99f79852cd574543144a9a04148c5eb5687826e5e86a2554617","typeString":"literal_string \"log(uint,address,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13182,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10277:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10277:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10277:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13181,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"10261:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10261:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13190,"nodeType":"ExpressionStatement","src":"10261:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10203:3:14","parameters":{"id":13179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13174,"mutability":"mutable","name":"p0","nameLocation":"10212:2:14","nodeType":"VariableDeclaration","scope":13192,"src":"10207:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13173,"name":"uint","nodeType":"ElementaryTypeName","src":"10207:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13176,"mutability":"mutable","name":"p1","nameLocation":"10224:2:14","nodeType":"VariableDeclaration","scope":13192,"src":"10216:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13175,"name":"address","nodeType":"ElementaryTypeName","src":"10216:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13178,"mutability":"mutable","name":"p2","nameLocation":"10233:2:14","nodeType":"VariableDeclaration","scope":13192,"src":"10228:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13177,"name":"uint","nodeType":"ElementaryTypeName","src":"10228:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10206:30:14"},"returnParameters":{"id":13180,"nodeType":"ParameterList","parameters":[],"src":"10251:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13212,"nodeType":"FunctionDefinition","src":"10352:163:14","nodes":[],"body":{"id":13211,"nodeType":"Block","src":"10418:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c737472696e6729","id":13204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10468:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ce83047b6eeeca52b57db5064e316bb4dc615477077814d1a191d68a4818cbed","typeString":"literal_string \"log(uint,address,string)\""},"value":"log(uint,address,string)"},{"id":13205,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13194,"src":"10496:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13206,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13196,"src":"10500:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13207,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13198,"src":"10504:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ce83047b6eeeca52b57db5064e316bb4dc615477077814d1a191d68a4818cbed","typeString":"literal_string \"log(uint,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13202,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10444:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10444:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10444:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13201,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"10428:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10428:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13210,"nodeType":"ExpressionStatement","src":"10428:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10361:3:14","parameters":{"id":13199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13194,"mutability":"mutable","name":"p0","nameLocation":"10370:2:14","nodeType":"VariableDeclaration","scope":13212,"src":"10365:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13193,"name":"uint","nodeType":"ElementaryTypeName","src":"10365:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13196,"mutability":"mutable","name":"p1","nameLocation":"10382:2:14","nodeType":"VariableDeclaration","scope":13212,"src":"10374:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13195,"name":"address","nodeType":"ElementaryTypeName","src":"10374:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13198,"mutability":"mutable","name":"p2","nameLocation":"10400:2:14","nodeType":"VariableDeclaration","scope":13212,"src":"10386:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13197,"name":"string","nodeType":"ElementaryTypeName","src":"10386:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10364:39:14"},"returnParameters":{"id":13200,"nodeType":"ParameterList","parameters":[],"src":"10418:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13232,"nodeType":"FunctionDefinition","src":"10521:152:14","nodes":[],"body":{"id":13231,"nodeType":"Block","src":"10578:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c626f6f6c29","id":13224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10628:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7ad0128e41690364edd967a051c6d9cea9f7c322246c5ed2ebc0083265828a80","typeString":"literal_string \"log(uint,address,bool)\""},"value":"log(uint,address,bool)"},{"id":13225,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13214,"src":"10654:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13226,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13216,"src":"10658:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13227,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13218,"src":"10662:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7ad0128e41690364edd967a051c6d9cea9f7c322246c5ed2ebc0083265828a80","typeString":"literal_string \"log(uint,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13222,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10604:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10604:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10604:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13221,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"10588:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10588:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13230,"nodeType":"ExpressionStatement","src":"10588:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10530:3:14","parameters":{"id":13219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13214,"mutability":"mutable","name":"p0","nameLocation":"10539:2:14","nodeType":"VariableDeclaration","scope":13232,"src":"10534:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13213,"name":"uint","nodeType":"ElementaryTypeName","src":"10534:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13216,"mutability":"mutable","name":"p1","nameLocation":"10551:2:14","nodeType":"VariableDeclaration","scope":13232,"src":"10543:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13215,"name":"address","nodeType":"ElementaryTypeName","src":"10543:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13218,"mutability":"mutable","name":"p2","nameLocation":"10560:2:14","nodeType":"VariableDeclaration","scope":13232,"src":"10555:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13217,"name":"bool","nodeType":"ElementaryTypeName","src":"10555:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10533:30:14"},"returnParameters":{"id":13220,"nodeType":"ParameterList","parameters":[],"src":"10578:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13252,"nodeType":"FunctionDefinition","src":"10679:158:14","nodes":[],"body":{"id":13251,"nodeType":"Block","src":"10739:98:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c6164647265737329","id":13244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10789:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7d77a61be18c592527fe1ce89d591c1badea18ef3198dacc513c5ba08449fd7b","typeString":"literal_string \"log(uint,address,address)\""},"value":"log(uint,address,address)"},{"id":13245,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13234,"src":"10818:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13246,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13236,"src":"10822:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13247,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13238,"src":"10826:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7d77a61be18c592527fe1ce89d591c1badea18ef3198dacc513c5ba08449fd7b","typeString":"literal_string \"log(uint,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13242,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10765:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10765:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10765:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13241,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"10749:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10749:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13250,"nodeType":"ExpressionStatement","src":"10749:81:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10688:3:14","parameters":{"id":13239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13234,"mutability":"mutable","name":"p0","nameLocation":"10697:2:14","nodeType":"VariableDeclaration","scope":13252,"src":"10692:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13233,"name":"uint","nodeType":"ElementaryTypeName","src":"10692:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13236,"mutability":"mutable","name":"p1","nameLocation":"10709:2:14","nodeType":"VariableDeclaration","scope":13252,"src":"10701:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13235,"name":"address","nodeType":"ElementaryTypeName","src":"10701:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13238,"mutability":"mutable","name":"p2","nameLocation":"10721:2:14","nodeType":"VariableDeclaration","scope":13252,"src":"10713:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13237,"name":"address","nodeType":"ElementaryTypeName","src":"10713:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10691:33:14"},"returnParameters":{"id":13240,"nodeType":"ParameterList","parameters":[],"src":"10739:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13272,"nodeType":"FunctionDefinition","src":"10843:157:14","nodes":[],"body":{"id":13271,"nodeType":"Block","src":"10906:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c75696e7429","id":13264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10956:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_969cdd03749f5aa30c7fce9178272cdca616cb2cc28128d3b9824be8046f827e","typeString":"literal_string \"log(string,uint,uint)\""},"value":"log(string,uint,uint)"},{"id":13265,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13254,"src":"10981:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13266,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13256,"src":"10985:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13267,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13258,"src":"10989:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_969cdd03749f5aa30c7fce9178272cdca616cb2cc28128d3b9824be8046f827e","typeString":"literal_string \"log(string,uint,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13262,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10932:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10932:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10932:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13261,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"10916:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10916:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13270,"nodeType":"ExpressionStatement","src":"10916:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10852:3:14","parameters":{"id":13259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13254,"mutability":"mutable","name":"p0","nameLocation":"10870:2:14","nodeType":"VariableDeclaration","scope":13272,"src":"10856:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13253,"name":"string","nodeType":"ElementaryTypeName","src":"10856:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13256,"mutability":"mutable","name":"p1","nameLocation":"10879:2:14","nodeType":"VariableDeclaration","scope":13272,"src":"10874:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13255,"name":"uint","nodeType":"ElementaryTypeName","src":"10874:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13258,"mutability":"mutable","name":"p2","nameLocation":"10888:2:14","nodeType":"VariableDeclaration","scope":13272,"src":"10883:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13257,"name":"uint","nodeType":"ElementaryTypeName","src":"10883:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10855:36:14"},"returnParameters":{"id":13260,"nodeType":"ParameterList","parameters":[],"src":"10906:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13292,"nodeType":"FunctionDefinition","src":"11006:168:14","nodes":[],"body":{"id":13291,"nodeType":"Block","src":"11078:96:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c737472696e6729","id":13284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11128:25:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3f5c739d439f7a3912e960230088fb752539d00203d48771c643a12b26892ec","typeString":"literal_string \"log(string,uint,string)\""},"value":"log(string,uint,string)"},{"id":13285,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13274,"src":"11155:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13286,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13276,"src":"11159:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13287,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13278,"src":"11163:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a3f5c739d439f7a3912e960230088fb752539d00203d48771c643a12b26892ec","typeString":"literal_string \"log(string,uint,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13282,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11104:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11104:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11104:62:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13281,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"11088:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11088:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13290,"nodeType":"ExpressionStatement","src":"11088:79:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11015:3:14","parameters":{"id":13279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13274,"mutability":"mutable","name":"p0","nameLocation":"11033:2:14","nodeType":"VariableDeclaration","scope":13292,"src":"11019:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13273,"name":"string","nodeType":"ElementaryTypeName","src":"11019:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13276,"mutability":"mutable","name":"p1","nameLocation":"11042:2:14","nodeType":"VariableDeclaration","scope":13292,"src":"11037:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13275,"name":"uint","nodeType":"ElementaryTypeName","src":"11037:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13278,"mutability":"mutable","name":"p2","nameLocation":"11060:2:14","nodeType":"VariableDeclaration","scope":13292,"src":"11046:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13277,"name":"string","nodeType":"ElementaryTypeName","src":"11046:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11018:45:14"},"returnParameters":{"id":13280,"nodeType":"ParameterList","parameters":[],"src":"11078:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13312,"nodeType":"FunctionDefinition","src":"11180:157:14","nodes":[],"body":{"id":13311,"nodeType":"Block","src":"11243:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c626f6f6c29","id":13304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11293:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f102ee05f3b79d3bc2ba0350401e35479d9f95705fb40abfaeb49d12355695b3","typeString":"literal_string \"log(string,uint,bool)\""},"value":"log(string,uint,bool)"},{"id":13305,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13294,"src":"11318:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13306,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13296,"src":"11322:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13307,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13298,"src":"11326:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f102ee05f3b79d3bc2ba0350401e35479d9f95705fb40abfaeb49d12355695b3","typeString":"literal_string \"log(string,uint,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13302,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11269:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11269:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11269:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13301,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"11253:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11253:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13310,"nodeType":"ExpressionStatement","src":"11253:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11189:3:14","parameters":{"id":13299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13294,"mutability":"mutable","name":"p0","nameLocation":"11207:2:14","nodeType":"VariableDeclaration","scope":13312,"src":"11193:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13293,"name":"string","nodeType":"ElementaryTypeName","src":"11193:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13296,"mutability":"mutable","name":"p1","nameLocation":"11216:2:14","nodeType":"VariableDeclaration","scope":13312,"src":"11211:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13295,"name":"uint","nodeType":"ElementaryTypeName","src":"11211:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13298,"mutability":"mutable","name":"p2","nameLocation":"11225:2:14","nodeType":"VariableDeclaration","scope":13312,"src":"11220:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13297,"name":"bool","nodeType":"ElementaryTypeName","src":"11220:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11192:36:14"},"returnParameters":{"id":13300,"nodeType":"ParameterList","parameters":[],"src":"11243:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13332,"nodeType":"FunctionDefinition","src":"11343:163:14","nodes":[],"body":{"id":13331,"nodeType":"Block","src":"11409:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c6164647265737329","id":13324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11459:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e3849f79a3c07bea1bae0837bfeee5da2531684b262865f1541a60df4fcd512a","typeString":"literal_string \"log(string,uint,address)\""},"value":"log(string,uint,address)"},{"id":13325,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13314,"src":"11487:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13326,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13316,"src":"11491:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13327,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13318,"src":"11495:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e3849f79a3c07bea1bae0837bfeee5da2531684b262865f1541a60df4fcd512a","typeString":"literal_string \"log(string,uint,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13322,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11435:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11435:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11435:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13321,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"11419:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11419:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13330,"nodeType":"ExpressionStatement","src":"11419:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11352:3:14","parameters":{"id":13319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13314,"mutability":"mutable","name":"p0","nameLocation":"11370:2:14","nodeType":"VariableDeclaration","scope":13332,"src":"11356:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13313,"name":"string","nodeType":"ElementaryTypeName","src":"11356:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13316,"mutability":"mutable","name":"p1","nameLocation":"11379:2:14","nodeType":"VariableDeclaration","scope":13332,"src":"11374:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13315,"name":"uint","nodeType":"ElementaryTypeName","src":"11374:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13318,"mutability":"mutable","name":"p2","nameLocation":"11391:2:14","nodeType":"VariableDeclaration","scope":13332,"src":"11383:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13317,"name":"address","nodeType":"ElementaryTypeName","src":"11383:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11355:39:14"},"returnParameters":{"id":13320,"nodeType":"ParameterList","parameters":[],"src":"11409:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13352,"nodeType":"FunctionDefinition","src":"11512:168:14","nodes":[],"body":{"id":13351,"nodeType":"Block","src":"11584:96:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e7429","id":13344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11634:25:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f362ca59af8dc58335601f00e8a4f3f8cd0c03c9716c1459118a41613b5e0147","typeString":"literal_string \"log(string,string,uint)\""},"value":"log(string,string,uint)"},{"id":13345,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13334,"src":"11661:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13346,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13336,"src":"11665:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13347,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13338,"src":"11669:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f362ca59af8dc58335601f00e8a4f3f8cd0c03c9716c1459118a41613b5e0147","typeString":"literal_string \"log(string,string,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13342,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11610:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11610:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11610:62:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13341,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"11594:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11594:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13350,"nodeType":"ExpressionStatement","src":"11594:79:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11521:3:14","parameters":{"id":13339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13334,"mutability":"mutable","name":"p0","nameLocation":"11539:2:14","nodeType":"VariableDeclaration","scope":13352,"src":"11525:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13333,"name":"string","nodeType":"ElementaryTypeName","src":"11525:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13336,"mutability":"mutable","name":"p1","nameLocation":"11557:2:14","nodeType":"VariableDeclaration","scope":13352,"src":"11543:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13335,"name":"string","nodeType":"ElementaryTypeName","src":"11543:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13338,"mutability":"mutable","name":"p2","nameLocation":"11566:2:14","nodeType":"VariableDeclaration","scope":13352,"src":"11561:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13337,"name":"uint","nodeType":"ElementaryTypeName","src":"11561:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11524:45:14"},"returnParameters":{"id":13340,"nodeType":"ParameterList","parameters":[],"src":"11584:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13372,"nodeType":"FunctionDefinition","src":"11686:179:14","nodes":[],"body":{"id":13371,"nodeType":"Block","src":"11767:98:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e6729","id":13364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11817:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},"value":"log(string,string,string)"},{"id":13365,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13354,"src":"11846:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13366,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13356,"src":"11850:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13367,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13358,"src":"11854:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},{"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":13362,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11793:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11793:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11793:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13361,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"11777:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11777:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13370,"nodeType":"ExpressionStatement","src":"11777:81:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11695:3:14","parameters":{"id":13359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13354,"mutability":"mutable","name":"p0","nameLocation":"11713:2:14","nodeType":"VariableDeclaration","scope":13372,"src":"11699:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13353,"name":"string","nodeType":"ElementaryTypeName","src":"11699:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13356,"mutability":"mutable","name":"p1","nameLocation":"11731:2:14","nodeType":"VariableDeclaration","scope":13372,"src":"11717:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13355,"name":"string","nodeType":"ElementaryTypeName","src":"11717:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13358,"mutability":"mutable","name":"p2","nameLocation":"11749:2:14","nodeType":"VariableDeclaration","scope":13372,"src":"11735:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13357,"name":"string","nodeType":"ElementaryTypeName","src":"11735:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11698:54:14"},"returnParameters":{"id":13360,"nodeType":"ParameterList","parameters":[],"src":"11767:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13392,"nodeType":"FunctionDefinition","src":"11871:168:14","nodes":[],"body":{"id":13391,"nodeType":"Block","src":"11943:96:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c29","id":13384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11993:25:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},"value":"log(string,string,bool)"},{"id":13385,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13374,"src":"12020:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13386,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13376,"src":"12024:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13387,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13378,"src":"12028:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13382,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11969:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11969:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11969:62:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13381,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"11953:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11953:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13390,"nodeType":"ExpressionStatement","src":"11953:79:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11880:3:14","parameters":{"id":13379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13374,"mutability":"mutable","name":"p0","nameLocation":"11898:2:14","nodeType":"VariableDeclaration","scope":13392,"src":"11884:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13373,"name":"string","nodeType":"ElementaryTypeName","src":"11884:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13376,"mutability":"mutable","name":"p1","nameLocation":"11916:2:14","nodeType":"VariableDeclaration","scope":13392,"src":"11902:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13375,"name":"string","nodeType":"ElementaryTypeName","src":"11902:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13378,"mutability":"mutable","name":"p2","nameLocation":"11925:2:14","nodeType":"VariableDeclaration","scope":13392,"src":"11920:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13377,"name":"bool","nodeType":"ElementaryTypeName","src":"11920:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11883:45:14"},"returnParameters":{"id":13380,"nodeType":"ParameterList","parameters":[],"src":"11943:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13412,"nodeType":"FunctionDefinition","src":"12045:174:14","nodes":[],"body":{"id":13411,"nodeType":"Block","src":"12120:99:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c6164647265737329","id":13404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12170:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},"value":"log(string,string,address)"},{"id":13405,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13394,"src":"12200:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13406,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13396,"src":"12204:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13407,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13398,"src":"12208:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13402,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12146:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12146:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12146:65:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13401,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"12130:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12130:82:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13410,"nodeType":"ExpressionStatement","src":"12130:82:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12054:3:14","parameters":{"id":13399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13394,"mutability":"mutable","name":"p0","nameLocation":"12072:2:14","nodeType":"VariableDeclaration","scope":13412,"src":"12058:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13393,"name":"string","nodeType":"ElementaryTypeName","src":"12058:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13396,"mutability":"mutable","name":"p1","nameLocation":"12090:2:14","nodeType":"VariableDeclaration","scope":13412,"src":"12076:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13395,"name":"string","nodeType":"ElementaryTypeName","src":"12076:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13398,"mutability":"mutable","name":"p2","nameLocation":"12102:2:14","nodeType":"VariableDeclaration","scope":13412,"src":"12094:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13397,"name":"address","nodeType":"ElementaryTypeName","src":"12094:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12057:48:14"},"returnParameters":{"id":13400,"nodeType":"ParameterList","parameters":[],"src":"12120:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13432,"nodeType":"FunctionDefinition","src":"12225:157:14","nodes":[],"body":{"id":13431,"nodeType":"Block","src":"12288:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e7429","id":13424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12338:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_291bb9d00defdc1b95c66c8b4bc10ef714a549c4f22fb190fe687dc5e85a4db1","typeString":"literal_string \"log(string,bool,uint)\""},"value":"log(string,bool,uint)"},{"id":13425,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13414,"src":"12363:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13426,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13416,"src":"12367:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13427,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13418,"src":"12371:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_291bb9d00defdc1b95c66c8b4bc10ef714a549c4f22fb190fe687dc5e85a4db1","typeString":"literal_string \"log(string,bool,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13422,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12314:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12314:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12314:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13421,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"12298:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12298:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13430,"nodeType":"ExpressionStatement","src":"12298:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12234:3:14","parameters":{"id":13419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13414,"mutability":"mutable","name":"p0","nameLocation":"12252:2:14","nodeType":"VariableDeclaration","scope":13432,"src":"12238:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13413,"name":"string","nodeType":"ElementaryTypeName","src":"12238:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13416,"mutability":"mutable","name":"p1","nameLocation":"12261:2:14","nodeType":"VariableDeclaration","scope":13432,"src":"12256:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13415,"name":"bool","nodeType":"ElementaryTypeName","src":"12256:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13418,"mutability":"mutable","name":"p2","nameLocation":"12270:2:14","nodeType":"VariableDeclaration","scope":13432,"src":"12265:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13417,"name":"uint","nodeType":"ElementaryTypeName","src":"12265:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12237:36:14"},"returnParameters":{"id":13420,"nodeType":"ParameterList","parameters":[],"src":"12288:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13452,"nodeType":"FunctionDefinition","src":"12388:168:14","nodes":[],"body":{"id":13451,"nodeType":"Block","src":"12460:96:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e6729","id":13444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12510:25:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},"value":"log(string,bool,string)"},{"id":13445,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13434,"src":"12537:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13446,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13436,"src":"12541:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13447,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13438,"src":"12545:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13442,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12486:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13443,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12486:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12486:62:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13441,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"12470:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12470:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13450,"nodeType":"ExpressionStatement","src":"12470:79:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12397:3:14","parameters":{"id":13439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13434,"mutability":"mutable","name":"p0","nameLocation":"12415:2:14","nodeType":"VariableDeclaration","scope":13452,"src":"12401:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13433,"name":"string","nodeType":"ElementaryTypeName","src":"12401:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13436,"mutability":"mutable","name":"p1","nameLocation":"12424:2:14","nodeType":"VariableDeclaration","scope":13452,"src":"12419:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13435,"name":"bool","nodeType":"ElementaryTypeName","src":"12419:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13438,"mutability":"mutable","name":"p2","nameLocation":"12442:2:14","nodeType":"VariableDeclaration","scope":13452,"src":"12428:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13437,"name":"string","nodeType":"ElementaryTypeName","src":"12428:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12400:45:14"},"returnParameters":{"id":13440,"nodeType":"ParameterList","parameters":[],"src":"12460:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13472,"nodeType":"FunctionDefinition","src":"12562:157:14","nodes":[],"body":{"id":13471,"nodeType":"Block","src":"12625:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c29","id":13464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12675:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},"value":"log(string,bool,bool)"},{"id":13465,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13454,"src":"12700:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13466,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13456,"src":"12704:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13467,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13458,"src":"12708:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13462,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12651:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12651:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12651:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13461,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"12635:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12635:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13470,"nodeType":"ExpressionStatement","src":"12635:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12571:3:14","parameters":{"id":13459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13454,"mutability":"mutable","name":"p0","nameLocation":"12589:2:14","nodeType":"VariableDeclaration","scope":13472,"src":"12575:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13453,"name":"string","nodeType":"ElementaryTypeName","src":"12575:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13456,"mutability":"mutable","name":"p1","nameLocation":"12598:2:14","nodeType":"VariableDeclaration","scope":13472,"src":"12593:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13455,"name":"bool","nodeType":"ElementaryTypeName","src":"12593:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13458,"mutability":"mutable","name":"p2","nameLocation":"12607:2:14","nodeType":"VariableDeclaration","scope":13472,"src":"12602:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13457,"name":"bool","nodeType":"ElementaryTypeName","src":"12602:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12574:36:14"},"returnParameters":{"id":13460,"nodeType":"ParameterList","parameters":[],"src":"12625:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13492,"nodeType":"FunctionDefinition","src":"12725:163:14","nodes":[],"body":{"id":13491,"nodeType":"Block","src":"12791:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c6164647265737329","id":13484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12841:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},"value":"log(string,bool,address)"},{"id":13485,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13474,"src":"12869:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13486,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13476,"src":"12873:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13487,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13478,"src":"12877:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13482,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12817:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12817:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12817:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13481,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"12801:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12801:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13490,"nodeType":"ExpressionStatement","src":"12801:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12734:3:14","parameters":{"id":13479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13474,"mutability":"mutable","name":"p0","nameLocation":"12752:2:14","nodeType":"VariableDeclaration","scope":13492,"src":"12738:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13473,"name":"string","nodeType":"ElementaryTypeName","src":"12738:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13476,"mutability":"mutable","name":"p1","nameLocation":"12761:2:14","nodeType":"VariableDeclaration","scope":13492,"src":"12756:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13475,"name":"bool","nodeType":"ElementaryTypeName","src":"12756:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13478,"mutability":"mutable","name":"p2","nameLocation":"12773:2:14","nodeType":"VariableDeclaration","scope":13492,"src":"12765:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13477,"name":"address","nodeType":"ElementaryTypeName","src":"12765:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12737:39:14"},"returnParameters":{"id":13480,"nodeType":"ParameterList","parameters":[],"src":"12791:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13512,"nodeType":"FunctionDefinition","src":"12894:163:14","nodes":[],"body":{"id":13511,"nodeType":"Block","src":"12960:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e7429","id":13504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13010:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_07c81217b9c48682941345dce61bbd916a12dd883642c9077891090a71c93a13","typeString":"literal_string \"log(string,address,uint)\""},"value":"log(string,address,uint)"},{"id":13505,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13494,"src":"13038:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13506,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13496,"src":"13042:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13507,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13498,"src":"13046:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_07c81217b9c48682941345dce61bbd916a12dd883642c9077891090a71c93a13","typeString":"literal_string \"log(string,address,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13502,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12986:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12986:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12986:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13501,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"12970:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12970:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13510,"nodeType":"ExpressionStatement","src":"12970:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12903:3:14","parameters":{"id":13499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13494,"mutability":"mutable","name":"p0","nameLocation":"12921:2:14","nodeType":"VariableDeclaration","scope":13512,"src":"12907:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13493,"name":"string","nodeType":"ElementaryTypeName","src":"12907:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13496,"mutability":"mutable","name":"p1","nameLocation":"12933:2:14","nodeType":"VariableDeclaration","scope":13512,"src":"12925:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13495,"name":"address","nodeType":"ElementaryTypeName","src":"12925:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13498,"mutability":"mutable","name":"p2","nameLocation":"12942:2:14","nodeType":"VariableDeclaration","scope":13512,"src":"12937:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13497,"name":"uint","nodeType":"ElementaryTypeName","src":"12937:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12906:39:14"},"returnParameters":{"id":13500,"nodeType":"ParameterList","parameters":[],"src":"12960:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13532,"nodeType":"FunctionDefinition","src":"13063:174:14","nodes":[],"body":{"id":13531,"nodeType":"Block","src":"13138:99:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e6729","id":13524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13188:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},"value":"log(string,address,string)"},{"id":13525,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13514,"src":"13218:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13526,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13516,"src":"13222:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13527,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13518,"src":"13226:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13522,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13164:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13164:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13164:65:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13521,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"13148:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13148:82:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13530,"nodeType":"ExpressionStatement","src":"13148:82:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13072:3:14","parameters":{"id":13519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13514,"mutability":"mutable","name":"p0","nameLocation":"13090:2:14","nodeType":"VariableDeclaration","scope":13532,"src":"13076:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13513,"name":"string","nodeType":"ElementaryTypeName","src":"13076:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13516,"mutability":"mutable","name":"p1","nameLocation":"13102:2:14","nodeType":"VariableDeclaration","scope":13532,"src":"13094:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13515,"name":"address","nodeType":"ElementaryTypeName","src":"13094:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13518,"mutability":"mutable","name":"p2","nameLocation":"13120:2:14","nodeType":"VariableDeclaration","scope":13532,"src":"13106:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13517,"name":"string","nodeType":"ElementaryTypeName","src":"13106:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13075:48:14"},"returnParameters":{"id":13520,"nodeType":"ParameterList","parameters":[],"src":"13138:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13552,"nodeType":"FunctionDefinition","src":"13243:163:14","nodes":[],"body":{"id":13551,"nodeType":"Block","src":"13309:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c29","id":13544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13359:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},"value":"log(string,address,bool)"},{"id":13545,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13534,"src":"13387:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13546,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13536,"src":"13391:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13547,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13538,"src":"13395:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13542,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13335:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13335:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13335:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13541,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"13319:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13319:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13550,"nodeType":"ExpressionStatement","src":"13319:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13252:3:14","parameters":{"id":13539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13534,"mutability":"mutable","name":"p0","nameLocation":"13270:2:14","nodeType":"VariableDeclaration","scope":13552,"src":"13256:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13533,"name":"string","nodeType":"ElementaryTypeName","src":"13256:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13536,"mutability":"mutable","name":"p1","nameLocation":"13282:2:14","nodeType":"VariableDeclaration","scope":13552,"src":"13274:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13535,"name":"address","nodeType":"ElementaryTypeName","src":"13274:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13538,"mutability":"mutable","name":"p2","nameLocation":"13291:2:14","nodeType":"VariableDeclaration","scope":13552,"src":"13286:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13537,"name":"bool","nodeType":"ElementaryTypeName","src":"13286:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13255:39:14"},"returnParameters":{"id":13540,"nodeType":"ParameterList","parameters":[],"src":"13309:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13572,"nodeType":"FunctionDefinition","src":"13412:169:14","nodes":[],"body":{"id":13571,"nodeType":"Block","src":"13481:100:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c6164647265737329","id":13564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13531:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},"value":"log(string,address,address)"},{"id":13565,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13554,"src":"13562:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13566,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13556,"src":"13566:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13567,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13558,"src":"13570:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13562,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13507:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13507:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13507:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13561,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"13491:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13491:83:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13570,"nodeType":"ExpressionStatement","src":"13491:83:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13421:3:14","parameters":{"id":13559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13554,"mutability":"mutable","name":"p0","nameLocation":"13439:2:14","nodeType":"VariableDeclaration","scope":13572,"src":"13425:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13553,"name":"string","nodeType":"ElementaryTypeName","src":"13425:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13556,"mutability":"mutable","name":"p1","nameLocation":"13451:2:14","nodeType":"VariableDeclaration","scope":13572,"src":"13443:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13555,"name":"address","nodeType":"ElementaryTypeName","src":"13443:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13558,"mutability":"mutable","name":"p2","nameLocation":"13463:2:14","nodeType":"VariableDeclaration","scope":13572,"src":"13455:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13557,"name":"address","nodeType":"ElementaryTypeName","src":"13455:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13424:42:14"},"returnParameters":{"id":13560,"nodeType":"ParameterList","parameters":[],"src":"13481:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13592,"nodeType":"FunctionDefinition","src":"13587:146:14","nodes":[],"body":{"id":13591,"nodeType":"Block","src":"13641:92:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c75696e7429","id":13584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13691:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b5c03e061c862e366b964ce1ef4845511d610b73a90137eb2b2afa3099b1a4e","typeString":"literal_string \"log(bool,uint,uint)\""},"value":"log(bool,uint,uint)"},{"id":13585,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13574,"src":"13714:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13586,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13576,"src":"13718:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13587,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13578,"src":"13722:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b5c03e061c862e366b964ce1ef4845511d610b73a90137eb2b2afa3099b1a4e","typeString":"literal_string \"log(bool,uint,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13582,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13667:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13667:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13667:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13581,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"13651:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13651:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13590,"nodeType":"ExpressionStatement","src":"13651:75:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13596:3:14","parameters":{"id":13579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13574,"mutability":"mutable","name":"p0","nameLocation":"13605:2:14","nodeType":"VariableDeclaration","scope":13592,"src":"13600:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13573,"name":"bool","nodeType":"ElementaryTypeName","src":"13600:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13576,"mutability":"mutable","name":"p1","nameLocation":"13614:2:14","nodeType":"VariableDeclaration","scope":13592,"src":"13609:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13575,"name":"uint","nodeType":"ElementaryTypeName","src":"13609:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13578,"mutability":"mutable","name":"p2","nameLocation":"13623:2:14","nodeType":"VariableDeclaration","scope":13592,"src":"13618:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13577,"name":"uint","nodeType":"ElementaryTypeName","src":"13618:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13599:27:14"},"returnParameters":{"id":13580,"nodeType":"ParameterList","parameters":[],"src":"13641:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13612,"nodeType":"FunctionDefinition","src":"13739:157:14","nodes":[],"body":{"id":13611,"nodeType":"Block","src":"13802:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c737472696e6729","id":13604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13852:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c8397eb0de34bc3ec2853d625c1649c0c0abb20941c30ba650cc738adade018f","typeString":"literal_string \"log(bool,uint,string)\""},"value":"log(bool,uint,string)"},{"id":13605,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13594,"src":"13877:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13606,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13596,"src":"13881:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13607,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13598,"src":"13885:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c8397eb0de34bc3ec2853d625c1649c0c0abb20941c30ba650cc738adade018f","typeString":"literal_string \"log(bool,uint,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13602,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13828:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13603,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13828:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13828:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13601,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"13812:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13812:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13610,"nodeType":"ExpressionStatement","src":"13812:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13748:3:14","parameters":{"id":13599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13594,"mutability":"mutable","name":"p0","nameLocation":"13757:2:14","nodeType":"VariableDeclaration","scope":13612,"src":"13752:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13593,"name":"bool","nodeType":"ElementaryTypeName","src":"13752:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13596,"mutability":"mutable","name":"p1","nameLocation":"13766:2:14","nodeType":"VariableDeclaration","scope":13612,"src":"13761:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13595,"name":"uint","nodeType":"ElementaryTypeName","src":"13761:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13598,"mutability":"mutable","name":"p2","nameLocation":"13784:2:14","nodeType":"VariableDeclaration","scope":13612,"src":"13770:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13597,"name":"string","nodeType":"ElementaryTypeName","src":"13770:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13751:36:14"},"returnParameters":{"id":13600,"nodeType":"ParameterList","parameters":[],"src":"13802:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13632,"nodeType":"FunctionDefinition","src":"13902:146:14","nodes":[],"body":{"id":13631,"nodeType":"Block","src":"13956:92:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c626f6f6c29","id":13624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14006:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1badc9eb6813ec769c33a3918f278565b7e2e9ed34d2ae2d50d951cc0f602ae0","typeString":"literal_string \"log(bool,uint,bool)\""},"value":"log(bool,uint,bool)"},{"id":13625,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13614,"src":"14029:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13626,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13616,"src":"14033:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13627,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13618,"src":"14037:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1badc9eb6813ec769c33a3918f278565b7e2e9ed34d2ae2d50d951cc0f602ae0","typeString":"literal_string \"log(bool,uint,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13622,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13982:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13982:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13982:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13621,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"13966:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13966:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13630,"nodeType":"ExpressionStatement","src":"13966:75:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13911:3:14","parameters":{"id":13619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13614,"mutability":"mutable","name":"p0","nameLocation":"13920:2:14","nodeType":"VariableDeclaration","scope":13632,"src":"13915:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13613,"name":"bool","nodeType":"ElementaryTypeName","src":"13915:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13616,"mutability":"mutable","name":"p1","nameLocation":"13929:2:14","nodeType":"VariableDeclaration","scope":13632,"src":"13924:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13615,"name":"uint","nodeType":"ElementaryTypeName","src":"13924:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13618,"mutability":"mutable","name":"p2","nameLocation":"13938:2:14","nodeType":"VariableDeclaration","scope":13632,"src":"13933:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13617,"name":"bool","nodeType":"ElementaryTypeName","src":"13933:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13914:27:14"},"returnParameters":{"id":13620,"nodeType":"ParameterList","parameters":[],"src":"13956:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13652,"nodeType":"FunctionDefinition","src":"14054:152:14","nodes":[],"body":{"id":13651,"nodeType":"Block","src":"14111:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c6164647265737329","id":13644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14161:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4d23507f52009aec241457bf26dc51305bd2896aa08c5b47f04709554b39440","typeString":"literal_string \"log(bool,uint,address)\""},"value":"log(bool,uint,address)"},{"id":13645,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13634,"src":"14187:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13646,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13636,"src":"14191:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13647,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13638,"src":"14195:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4d23507f52009aec241457bf26dc51305bd2896aa08c5b47f04709554b39440","typeString":"literal_string \"log(bool,uint,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13642,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14137:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14137:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14137:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13641,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"14121:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14121:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13650,"nodeType":"ExpressionStatement","src":"14121:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14063:3:14","parameters":{"id":13639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13634,"mutability":"mutable","name":"p0","nameLocation":"14072:2:14","nodeType":"VariableDeclaration","scope":13652,"src":"14067:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13633,"name":"bool","nodeType":"ElementaryTypeName","src":"14067:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13636,"mutability":"mutable","name":"p1","nameLocation":"14081:2:14","nodeType":"VariableDeclaration","scope":13652,"src":"14076:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13635,"name":"uint","nodeType":"ElementaryTypeName","src":"14076:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13638,"mutability":"mutable","name":"p2","nameLocation":"14093:2:14","nodeType":"VariableDeclaration","scope":13652,"src":"14085:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13637,"name":"address","nodeType":"ElementaryTypeName","src":"14085:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14066:30:14"},"returnParameters":{"id":13640,"nodeType":"ParameterList","parameters":[],"src":"14111:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13672,"nodeType":"FunctionDefinition","src":"14212:157:14","nodes":[],"body":{"id":13671,"nodeType":"Block","src":"14275:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e7429","id":13664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14325:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0382aac3e9b237c9c8f246cdb8152d44351aaafa72d99e3640be65f754ac807","typeString":"literal_string \"log(bool,string,uint)\""},"value":"log(bool,string,uint)"},{"id":13665,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13654,"src":"14350:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13666,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13656,"src":"14354:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13667,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13658,"src":"14358:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c0382aac3e9b237c9c8f246cdb8152d44351aaafa72d99e3640be65f754ac807","typeString":"literal_string \"log(bool,string,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13662,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14301:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14301:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14301:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13661,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"14285:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14285:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13670,"nodeType":"ExpressionStatement","src":"14285:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14221:3:14","parameters":{"id":13659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13654,"mutability":"mutable","name":"p0","nameLocation":"14230:2:14","nodeType":"VariableDeclaration","scope":13672,"src":"14225:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13653,"name":"bool","nodeType":"ElementaryTypeName","src":"14225:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13656,"mutability":"mutable","name":"p1","nameLocation":"14248:2:14","nodeType":"VariableDeclaration","scope":13672,"src":"14234:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13655,"name":"string","nodeType":"ElementaryTypeName","src":"14234:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13658,"mutability":"mutable","name":"p2","nameLocation":"14257:2:14","nodeType":"VariableDeclaration","scope":13672,"src":"14252:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13657,"name":"uint","nodeType":"ElementaryTypeName","src":"14252:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14224:36:14"},"returnParameters":{"id":13660,"nodeType":"ParameterList","parameters":[],"src":"14275:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13692,"nodeType":"FunctionDefinition","src":"14375:168:14","nodes":[],"body":{"id":13691,"nodeType":"Block","src":"14447:96:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e6729","id":13684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14497:25:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},"value":"log(bool,string,string)"},{"id":13685,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13674,"src":"14524:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13686,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13676,"src":"14528:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13687,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13678,"src":"14532:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13682,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14473:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14473:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14473:62:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13681,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"14457:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14457:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13690,"nodeType":"ExpressionStatement","src":"14457:79:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14384:3:14","parameters":{"id":13679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13674,"mutability":"mutable","name":"p0","nameLocation":"14393:2:14","nodeType":"VariableDeclaration","scope":13692,"src":"14388:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13673,"name":"bool","nodeType":"ElementaryTypeName","src":"14388:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13676,"mutability":"mutable","name":"p1","nameLocation":"14411:2:14","nodeType":"VariableDeclaration","scope":13692,"src":"14397:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13675,"name":"string","nodeType":"ElementaryTypeName","src":"14397:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13678,"mutability":"mutable","name":"p2","nameLocation":"14429:2:14","nodeType":"VariableDeclaration","scope":13692,"src":"14415:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13677,"name":"string","nodeType":"ElementaryTypeName","src":"14415:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14387:45:14"},"returnParameters":{"id":13680,"nodeType":"ParameterList","parameters":[],"src":"14447:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13712,"nodeType":"FunctionDefinition","src":"14549:157:14","nodes":[],"body":{"id":13711,"nodeType":"Block","src":"14612:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c29","id":13704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14662:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},"value":"log(bool,string,bool)"},{"id":13705,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13694,"src":"14687:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13706,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13696,"src":"14691:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13707,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13698,"src":"14695:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13702,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14638:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14638:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14638:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13701,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"14622:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14622:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13710,"nodeType":"ExpressionStatement","src":"14622:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14558:3:14","parameters":{"id":13699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13694,"mutability":"mutable","name":"p0","nameLocation":"14567:2:14","nodeType":"VariableDeclaration","scope":13712,"src":"14562:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13693,"name":"bool","nodeType":"ElementaryTypeName","src":"14562:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13696,"mutability":"mutable","name":"p1","nameLocation":"14585:2:14","nodeType":"VariableDeclaration","scope":13712,"src":"14571:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13695,"name":"string","nodeType":"ElementaryTypeName","src":"14571:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13698,"mutability":"mutable","name":"p2","nameLocation":"14594:2:14","nodeType":"VariableDeclaration","scope":13712,"src":"14589:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13697,"name":"bool","nodeType":"ElementaryTypeName","src":"14589:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14561:36:14"},"returnParameters":{"id":13700,"nodeType":"ParameterList","parameters":[],"src":"14612:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13732,"nodeType":"FunctionDefinition","src":"14712:163:14","nodes":[],"body":{"id":13731,"nodeType":"Block","src":"14778:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c6164647265737329","id":13724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14828:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},"value":"log(bool,string,address)"},{"id":13725,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13714,"src":"14856:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13726,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13716,"src":"14860:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13727,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13718,"src":"14864:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13722,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14804:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13723,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14804:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14804:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13721,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"14788:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14788:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13730,"nodeType":"ExpressionStatement","src":"14788:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14721:3:14","parameters":{"id":13719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13714,"mutability":"mutable","name":"p0","nameLocation":"14730:2:14","nodeType":"VariableDeclaration","scope":13732,"src":"14725:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13713,"name":"bool","nodeType":"ElementaryTypeName","src":"14725:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13716,"mutability":"mutable","name":"p1","nameLocation":"14748:2:14","nodeType":"VariableDeclaration","scope":13732,"src":"14734:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13715,"name":"string","nodeType":"ElementaryTypeName","src":"14734:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13718,"mutability":"mutable","name":"p2","nameLocation":"14760:2:14","nodeType":"VariableDeclaration","scope":13732,"src":"14752:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13717,"name":"address","nodeType":"ElementaryTypeName","src":"14752:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14724:39:14"},"returnParameters":{"id":13720,"nodeType":"ParameterList","parameters":[],"src":"14778:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13752,"nodeType":"FunctionDefinition","src":"14881:146:14","nodes":[],"body":{"id":13751,"nodeType":"Block","src":"14935:92:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e7429","id":13744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14985:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b01365bbae43503e22260bcc9cf23ffef37ffc9f6c1580737fe2489955065877","typeString":"literal_string \"log(bool,bool,uint)\""},"value":"log(bool,bool,uint)"},{"id":13745,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13734,"src":"15008:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13746,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13736,"src":"15012:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13747,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13738,"src":"15016:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b01365bbae43503e22260bcc9cf23ffef37ffc9f6c1580737fe2489955065877","typeString":"literal_string \"log(bool,bool,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13742,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14961:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13743,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14961:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14961:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13741,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"14945:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14945:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13750,"nodeType":"ExpressionStatement","src":"14945:75:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14890:3:14","parameters":{"id":13739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13734,"mutability":"mutable","name":"p0","nameLocation":"14899:2:14","nodeType":"VariableDeclaration","scope":13752,"src":"14894:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13733,"name":"bool","nodeType":"ElementaryTypeName","src":"14894:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13736,"mutability":"mutable","name":"p1","nameLocation":"14908:2:14","nodeType":"VariableDeclaration","scope":13752,"src":"14903:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13735,"name":"bool","nodeType":"ElementaryTypeName","src":"14903:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13738,"mutability":"mutable","name":"p2","nameLocation":"14917:2:14","nodeType":"VariableDeclaration","scope":13752,"src":"14912:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13737,"name":"uint","nodeType":"ElementaryTypeName","src":"14912:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14893:27:14"},"returnParameters":{"id":13740,"nodeType":"ParameterList","parameters":[],"src":"14935:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13772,"nodeType":"FunctionDefinition","src":"15033:157:14","nodes":[],"body":{"id":13771,"nodeType":"Block","src":"15096:94:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e6729","id":13764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15146:23:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},"value":"log(bool,bool,string)"},{"id":13765,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13754,"src":"15171:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13766,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13756,"src":"15175:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13767,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13758,"src":"15179:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13762,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15122:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15122:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15122:60:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13761,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"15106:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15106:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13770,"nodeType":"ExpressionStatement","src":"15106:77:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15042:3:14","parameters":{"id":13759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13754,"mutability":"mutable","name":"p0","nameLocation":"15051:2:14","nodeType":"VariableDeclaration","scope":13772,"src":"15046:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13753,"name":"bool","nodeType":"ElementaryTypeName","src":"15046:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13756,"mutability":"mutable","name":"p1","nameLocation":"15060:2:14","nodeType":"VariableDeclaration","scope":13772,"src":"15055:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13755,"name":"bool","nodeType":"ElementaryTypeName","src":"15055:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13758,"mutability":"mutable","name":"p2","nameLocation":"15078:2:14","nodeType":"VariableDeclaration","scope":13772,"src":"15064:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13757,"name":"string","nodeType":"ElementaryTypeName","src":"15064:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15045:36:14"},"returnParameters":{"id":13760,"nodeType":"ParameterList","parameters":[],"src":"15096:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13792,"nodeType":"FunctionDefinition","src":"15196:146:14","nodes":[],"body":{"id":13791,"nodeType":"Block","src":"15250:92:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c29","id":13784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15300:21:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},"value":"log(bool,bool,bool)"},{"id":13785,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13774,"src":"15323:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13786,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13776,"src":"15327:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13787,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13778,"src":"15331:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13782,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15276:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15276:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15276:58:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13781,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"15260:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15260:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13790,"nodeType":"ExpressionStatement","src":"15260:75:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15205:3:14","parameters":{"id":13779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13774,"mutability":"mutable","name":"p0","nameLocation":"15214:2:14","nodeType":"VariableDeclaration","scope":13792,"src":"15209:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13773,"name":"bool","nodeType":"ElementaryTypeName","src":"15209:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13776,"mutability":"mutable","name":"p1","nameLocation":"15223:2:14","nodeType":"VariableDeclaration","scope":13792,"src":"15218:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13775,"name":"bool","nodeType":"ElementaryTypeName","src":"15218:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13778,"mutability":"mutable","name":"p2","nameLocation":"15232:2:14","nodeType":"VariableDeclaration","scope":13792,"src":"15227:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13777,"name":"bool","nodeType":"ElementaryTypeName","src":"15227:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15208:27:14"},"returnParameters":{"id":13780,"nodeType":"ParameterList","parameters":[],"src":"15250:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13812,"nodeType":"FunctionDefinition","src":"15348:152:14","nodes":[],"body":{"id":13811,"nodeType":"Block","src":"15405:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c6164647265737329","id":13804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15455:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},"value":"log(bool,bool,address)"},{"id":13805,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13794,"src":"15481:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13806,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13796,"src":"15485:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13807,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13798,"src":"15489:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13802,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15431:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13803,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15431:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15431:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13801,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"15415:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15415:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13810,"nodeType":"ExpressionStatement","src":"15415:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15357:3:14","parameters":{"id":13799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13794,"mutability":"mutable","name":"p0","nameLocation":"15366:2:14","nodeType":"VariableDeclaration","scope":13812,"src":"15361:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13793,"name":"bool","nodeType":"ElementaryTypeName","src":"15361:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13796,"mutability":"mutable","name":"p1","nameLocation":"15375:2:14","nodeType":"VariableDeclaration","scope":13812,"src":"15370:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13795,"name":"bool","nodeType":"ElementaryTypeName","src":"15370:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13798,"mutability":"mutable","name":"p2","nameLocation":"15387:2:14","nodeType":"VariableDeclaration","scope":13812,"src":"15379:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13797,"name":"address","nodeType":"ElementaryTypeName","src":"15379:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15360:30:14"},"returnParameters":{"id":13800,"nodeType":"ParameterList","parameters":[],"src":"15405:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13832,"nodeType":"FunctionDefinition","src":"15506:152:14","nodes":[],"body":{"id":13831,"nodeType":"Block","src":"15563:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e7429","id":13824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15613:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb704bafbd89369a907d48394b6acdacf482ae42cc2aaedd1cc37e89b4054b3d","typeString":"literal_string \"log(bool,address,uint)\""},"value":"log(bool,address,uint)"},{"id":13825,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13814,"src":"15639:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13826,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13816,"src":"15643:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13827,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13818,"src":"15647:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb704bafbd89369a907d48394b6acdacf482ae42cc2aaedd1cc37e89b4054b3d","typeString":"literal_string \"log(bool,address,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13822,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15589:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13823,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15589:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15589:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13821,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"15573:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15573:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13830,"nodeType":"ExpressionStatement","src":"15573:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15515:3:14","parameters":{"id":13819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13814,"mutability":"mutable","name":"p0","nameLocation":"15524:2:14","nodeType":"VariableDeclaration","scope":13832,"src":"15519:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13813,"name":"bool","nodeType":"ElementaryTypeName","src":"15519:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13816,"mutability":"mutable","name":"p1","nameLocation":"15536:2:14","nodeType":"VariableDeclaration","scope":13832,"src":"15528:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13815,"name":"address","nodeType":"ElementaryTypeName","src":"15528:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13818,"mutability":"mutable","name":"p2","nameLocation":"15545:2:14","nodeType":"VariableDeclaration","scope":13832,"src":"15540:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13817,"name":"uint","nodeType":"ElementaryTypeName","src":"15540:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15518:30:14"},"returnParameters":{"id":13820,"nodeType":"ParameterList","parameters":[],"src":"15563:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13852,"nodeType":"FunctionDefinition","src":"15664:163:14","nodes":[],"body":{"id":13851,"nodeType":"Block","src":"15730:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e6729","id":13844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15780:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},"value":"log(bool,address,string)"},{"id":13845,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13834,"src":"15808:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13846,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13836,"src":"15812:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13847,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13838,"src":"15816:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13842,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15756:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15756:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15756:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13841,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"15740:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15740:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13850,"nodeType":"ExpressionStatement","src":"15740:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15673:3:14","parameters":{"id":13839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13834,"mutability":"mutable","name":"p0","nameLocation":"15682:2:14","nodeType":"VariableDeclaration","scope":13852,"src":"15677:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13833,"name":"bool","nodeType":"ElementaryTypeName","src":"15677:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13836,"mutability":"mutable","name":"p1","nameLocation":"15694:2:14","nodeType":"VariableDeclaration","scope":13852,"src":"15686:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13835,"name":"address","nodeType":"ElementaryTypeName","src":"15686:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13838,"mutability":"mutable","name":"p2","nameLocation":"15712:2:14","nodeType":"VariableDeclaration","scope":13852,"src":"15698:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13837,"name":"string","nodeType":"ElementaryTypeName","src":"15698:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15676:39:14"},"returnParameters":{"id":13840,"nodeType":"ParameterList","parameters":[],"src":"15730:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13872,"nodeType":"FunctionDefinition","src":"15833:152:14","nodes":[],"body":{"id":13871,"nodeType":"Block","src":"15890:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c29","id":13864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15940:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},"value":"log(bool,address,bool)"},{"id":13865,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13854,"src":"15966:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13866,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13856,"src":"15970:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13867,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13858,"src":"15974:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13862,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15916:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13863,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15916:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15916:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13861,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"15900:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15900:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13870,"nodeType":"ExpressionStatement","src":"15900:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15842:3:14","parameters":{"id":13859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13854,"mutability":"mutable","name":"p0","nameLocation":"15851:2:14","nodeType":"VariableDeclaration","scope":13872,"src":"15846:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13853,"name":"bool","nodeType":"ElementaryTypeName","src":"15846:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13856,"mutability":"mutable","name":"p1","nameLocation":"15863:2:14","nodeType":"VariableDeclaration","scope":13872,"src":"15855:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13855,"name":"address","nodeType":"ElementaryTypeName","src":"15855:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13858,"mutability":"mutable","name":"p2","nameLocation":"15872:2:14","nodeType":"VariableDeclaration","scope":13872,"src":"15867:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13857,"name":"bool","nodeType":"ElementaryTypeName","src":"15867:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15845:30:14"},"returnParameters":{"id":13860,"nodeType":"ParameterList","parameters":[],"src":"15890:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13892,"nodeType":"FunctionDefinition","src":"15991:158:14","nodes":[],"body":{"id":13891,"nodeType":"Block","src":"16051:98:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c6164647265737329","id":13884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16101:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},"value":"log(bool,address,address)"},{"id":13885,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13874,"src":"16130:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":13886,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13876,"src":"16134:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13887,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13878,"src":"16138:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13882,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16077:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16077:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16077:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13881,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"16061:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16061:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13890,"nodeType":"ExpressionStatement","src":"16061:81:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16000:3:14","parameters":{"id":13879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13874,"mutability":"mutable","name":"p0","nameLocation":"16009:2:14","nodeType":"VariableDeclaration","scope":13892,"src":"16004:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13873,"name":"bool","nodeType":"ElementaryTypeName","src":"16004:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13876,"mutability":"mutable","name":"p1","nameLocation":"16021:2:14","nodeType":"VariableDeclaration","scope":13892,"src":"16013:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13875,"name":"address","nodeType":"ElementaryTypeName","src":"16013:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13878,"mutability":"mutable","name":"p2","nameLocation":"16033:2:14","nodeType":"VariableDeclaration","scope":13892,"src":"16025:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13877,"name":"address","nodeType":"ElementaryTypeName","src":"16025:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16003:33:14"},"returnParameters":{"id":13880,"nodeType":"ParameterList","parameters":[],"src":"16051:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13912,"nodeType":"FunctionDefinition","src":"16155:152:14","nodes":[],"body":{"id":13911,"nodeType":"Block","src":"16212:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c75696e7429","id":13904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16262:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8786135eae1a8e4736031518026bd3bd30886c3cc8d3e8bdedd6faea426de5ea","typeString":"literal_string \"log(address,uint,uint)\""},"value":"log(address,uint,uint)"},{"id":13905,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13894,"src":"16288:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13906,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13896,"src":"16292:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13907,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13898,"src":"16296:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8786135eae1a8e4736031518026bd3bd30886c3cc8d3e8bdedd6faea426de5ea","typeString":"literal_string \"log(address,uint,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13902,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16238:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13903,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16238:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16238:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13901,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"16222:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16222:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13910,"nodeType":"ExpressionStatement","src":"16222:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16164:3:14","parameters":{"id":13899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13894,"mutability":"mutable","name":"p0","nameLocation":"16176:2:14","nodeType":"VariableDeclaration","scope":13912,"src":"16168:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13893,"name":"address","nodeType":"ElementaryTypeName","src":"16168:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13896,"mutability":"mutable","name":"p1","nameLocation":"16185:2:14","nodeType":"VariableDeclaration","scope":13912,"src":"16180:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13895,"name":"uint","nodeType":"ElementaryTypeName","src":"16180:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13898,"mutability":"mutable","name":"p2","nameLocation":"16194:2:14","nodeType":"VariableDeclaration","scope":13912,"src":"16189:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13897,"name":"uint","nodeType":"ElementaryTypeName","src":"16189:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16167:30:14"},"returnParameters":{"id":13900,"nodeType":"ParameterList","parameters":[],"src":"16212:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13932,"nodeType":"FunctionDefinition","src":"16313:163:14","nodes":[],"body":{"id":13931,"nodeType":"Block","src":"16379:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c737472696e6729","id":13924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16429:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_baf968498a2094de432bd16841b992056c14db9f313a6b44c3156c2b5f1dc2b4","typeString":"literal_string \"log(address,uint,string)\""},"value":"log(address,uint,string)"},{"id":13925,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13914,"src":"16457:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13926,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13916,"src":"16461:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13927,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13918,"src":"16465:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_baf968498a2094de432bd16841b992056c14db9f313a6b44c3156c2b5f1dc2b4","typeString":"literal_string \"log(address,uint,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13922,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16405:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16405:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16405:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13921,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"16389:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16389:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13930,"nodeType":"ExpressionStatement","src":"16389:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16322:3:14","parameters":{"id":13919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13914,"mutability":"mutable","name":"p0","nameLocation":"16334:2:14","nodeType":"VariableDeclaration","scope":13932,"src":"16326:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13913,"name":"address","nodeType":"ElementaryTypeName","src":"16326:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13916,"mutability":"mutable","name":"p1","nameLocation":"16343:2:14","nodeType":"VariableDeclaration","scope":13932,"src":"16338:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13915,"name":"uint","nodeType":"ElementaryTypeName","src":"16338:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13918,"mutability":"mutable","name":"p2","nameLocation":"16361:2:14","nodeType":"VariableDeclaration","scope":13932,"src":"16347:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13917,"name":"string","nodeType":"ElementaryTypeName","src":"16347:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16325:39:14"},"returnParameters":{"id":13920,"nodeType":"ParameterList","parameters":[],"src":"16379:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13952,"nodeType":"FunctionDefinition","src":"16482:152:14","nodes":[],"body":{"id":13951,"nodeType":"Block","src":"16539:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c626f6f6c29","id":13944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16589:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e54ae1445cd51f09e801fc5885e33c709102997417d3d9b6f543f7724468b4e4","typeString":"literal_string \"log(address,uint,bool)\""},"value":"log(address,uint,bool)"},{"id":13945,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13934,"src":"16615:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13946,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13936,"src":"16619:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13947,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13938,"src":"16623:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e54ae1445cd51f09e801fc5885e33c709102997417d3d9b6f543f7724468b4e4","typeString":"literal_string \"log(address,uint,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":13942,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16565:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16565:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16565:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13941,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"16549:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16549:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13950,"nodeType":"ExpressionStatement","src":"16549:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16491:3:14","parameters":{"id":13939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13934,"mutability":"mutable","name":"p0","nameLocation":"16503:2:14","nodeType":"VariableDeclaration","scope":13952,"src":"16495:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13933,"name":"address","nodeType":"ElementaryTypeName","src":"16495:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13936,"mutability":"mutable","name":"p1","nameLocation":"16512:2:14","nodeType":"VariableDeclaration","scope":13952,"src":"16507:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13935,"name":"uint","nodeType":"ElementaryTypeName","src":"16507:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13938,"mutability":"mutable","name":"p2","nameLocation":"16521:2:14","nodeType":"VariableDeclaration","scope":13952,"src":"16516:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13937,"name":"bool","nodeType":"ElementaryTypeName","src":"16516:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16494:30:14"},"returnParameters":{"id":13940,"nodeType":"ParameterList","parameters":[],"src":"16539:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13972,"nodeType":"FunctionDefinition","src":"16640:158:14","nodes":[],"body":{"id":13971,"nodeType":"Block","src":"16700:98:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c6164647265737329","id":13964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16750:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_97eca3948a309251ff02cc4a3cb96f84ac4b6b4bdc56e86c9f0131c9b70c6259","typeString":"literal_string \"log(address,uint,address)\""},"value":"log(address,uint,address)"},{"id":13965,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13954,"src":"16779:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13966,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13956,"src":"16783:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":13967,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13958,"src":"16787:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_97eca3948a309251ff02cc4a3cb96f84ac4b6b4bdc56e86c9f0131c9b70c6259","typeString":"literal_string \"log(address,uint,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13962,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16726:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16726:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16726:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13961,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"16710:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16710:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13970,"nodeType":"ExpressionStatement","src":"16710:81:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16649:3:14","parameters":{"id":13959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13954,"mutability":"mutable","name":"p0","nameLocation":"16661:2:14","nodeType":"VariableDeclaration","scope":13972,"src":"16653:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13953,"name":"address","nodeType":"ElementaryTypeName","src":"16653:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13956,"mutability":"mutable","name":"p1","nameLocation":"16670:2:14","nodeType":"VariableDeclaration","scope":13972,"src":"16665:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13955,"name":"uint","nodeType":"ElementaryTypeName","src":"16665:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13958,"mutability":"mutable","name":"p2","nameLocation":"16682:2:14","nodeType":"VariableDeclaration","scope":13972,"src":"16674:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13957,"name":"address","nodeType":"ElementaryTypeName","src":"16674:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16652:33:14"},"returnParameters":{"id":13960,"nodeType":"ParameterList","parameters":[],"src":"16700:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":13992,"nodeType":"FunctionDefinition","src":"16804:163:14","nodes":[],"body":{"id":13991,"nodeType":"Block","src":"16870:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e7429","id":13984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16920:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1cdaf28a630ff01c83e1629295cea6793da60638603e831a5c07be53dbee3597","typeString":"literal_string \"log(address,string,uint)\""},"value":"log(address,string,uint)"},{"id":13985,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13974,"src":"16948:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13986,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13976,"src":"16952:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13987,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13978,"src":"16956:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1cdaf28a630ff01c83e1629295cea6793da60638603e831a5c07be53dbee3597","typeString":"literal_string \"log(address,string,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13982,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16896:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16896:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16896:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13981,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"16880:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":13989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16880:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13990,"nodeType":"ExpressionStatement","src":"16880:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16813:3:14","parameters":{"id":13979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13974,"mutability":"mutable","name":"p0","nameLocation":"16825:2:14","nodeType":"VariableDeclaration","scope":13992,"src":"16817:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13973,"name":"address","nodeType":"ElementaryTypeName","src":"16817:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13976,"mutability":"mutable","name":"p1","nameLocation":"16843:2:14","nodeType":"VariableDeclaration","scope":13992,"src":"16829:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13975,"name":"string","nodeType":"ElementaryTypeName","src":"16829:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13978,"mutability":"mutable","name":"p2","nameLocation":"16852:2:14","nodeType":"VariableDeclaration","scope":13992,"src":"16847:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13977,"name":"uint","nodeType":"ElementaryTypeName","src":"16847:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16816:39:14"},"returnParameters":{"id":13980,"nodeType":"ParameterList","parameters":[],"src":"16870:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14012,"nodeType":"FunctionDefinition","src":"16973:174:14","nodes":[],"body":{"id":14011,"nodeType":"Block","src":"17048:99:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e6729","id":14004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17098:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},"value":"log(address,string,string)"},{"id":14005,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13994,"src":"17128:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14006,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13996,"src":"17132:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14007,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13998,"src":"17136:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14002,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17074:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17074:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17074:65:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14001,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"17058:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17058:82:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14010,"nodeType":"ExpressionStatement","src":"17058:82:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16982:3:14","parameters":{"id":13999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13994,"mutability":"mutable","name":"p0","nameLocation":"16994:2:14","nodeType":"VariableDeclaration","scope":14012,"src":"16986:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13993,"name":"address","nodeType":"ElementaryTypeName","src":"16986:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13996,"mutability":"mutable","name":"p1","nameLocation":"17012:2:14","nodeType":"VariableDeclaration","scope":14012,"src":"16998:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13995,"name":"string","nodeType":"ElementaryTypeName","src":"16998:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13998,"mutability":"mutable","name":"p2","nameLocation":"17030:2:14","nodeType":"VariableDeclaration","scope":14012,"src":"17016:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13997,"name":"string","nodeType":"ElementaryTypeName","src":"17016:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16985:48:14"},"returnParameters":{"id":14000,"nodeType":"ParameterList","parameters":[],"src":"17048:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14032,"nodeType":"FunctionDefinition","src":"17153:163:14","nodes":[],"body":{"id":14031,"nodeType":"Block","src":"17219:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c29","id":14024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17269:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},"value":"log(address,string,bool)"},{"id":14025,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14014,"src":"17297:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14026,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14016,"src":"17301:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14027,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14018,"src":"17305:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14022,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17245:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17245:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17245:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14021,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"17229:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17229:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14030,"nodeType":"ExpressionStatement","src":"17229:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17162:3:14","parameters":{"id":14019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14014,"mutability":"mutable","name":"p0","nameLocation":"17174:2:14","nodeType":"VariableDeclaration","scope":14032,"src":"17166:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14013,"name":"address","nodeType":"ElementaryTypeName","src":"17166:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14016,"mutability":"mutable","name":"p1","nameLocation":"17192:2:14","nodeType":"VariableDeclaration","scope":14032,"src":"17178:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14015,"name":"string","nodeType":"ElementaryTypeName","src":"17178:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14018,"mutability":"mutable","name":"p2","nameLocation":"17201:2:14","nodeType":"VariableDeclaration","scope":14032,"src":"17196:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14017,"name":"bool","nodeType":"ElementaryTypeName","src":"17196:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17165:39:14"},"returnParameters":{"id":14020,"nodeType":"ParameterList","parameters":[],"src":"17219:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14052,"nodeType":"FunctionDefinition","src":"17322:169:14","nodes":[],"body":{"id":14051,"nodeType":"Block","src":"17391:100:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c6164647265737329","id":14044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17441:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},"value":"log(address,string,address)"},{"id":14045,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14034,"src":"17472:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14046,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14036,"src":"17476:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14047,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14038,"src":"17480:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14042,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17417:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14043,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17417:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17417:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14041,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"17401:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17401:83:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14050,"nodeType":"ExpressionStatement","src":"17401:83:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17331:3:14","parameters":{"id":14039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14034,"mutability":"mutable","name":"p0","nameLocation":"17343:2:14","nodeType":"VariableDeclaration","scope":14052,"src":"17335:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14033,"name":"address","nodeType":"ElementaryTypeName","src":"17335:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14036,"mutability":"mutable","name":"p1","nameLocation":"17361:2:14","nodeType":"VariableDeclaration","scope":14052,"src":"17347:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14035,"name":"string","nodeType":"ElementaryTypeName","src":"17347:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14038,"mutability":"mutable","name":"p2","nameLocation":"17373:2:14","nodeType":"VariableDeclaration","scope":14052,"src":"17365:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14037,"name":"address","nodeType":"ElementaryTypeName","src":"17365:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17334:42:14"},"returnParameters":{"id":14040,"nodeType":"ParameterList","parameters":[],"src":"17391:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14072,"nodeType":"FunctionDefinition","src":"17497:152:14","nodes":[],"body":{"id":14071,"nodeType":"Block","src":"17554:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e7429","id":14064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17604:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c468d157d9cb3bd4f3bc977d201b067de313f8e774b0377d5c5b2b5c9426095","typeString":"literal_string \"log(address,bool,uint)\""},"value":"log(address,bool,uint)"},{"id":14065,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14054,"src":"17630:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14066,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14056,"src":"17634:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14067,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14058,"src":"17638:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c468d157d9cb3bd4f3bc977d201b067de313f8e774b0377d5c5b2b5c9426095","typeString":"literal_string \"log(address,bool,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14062,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17580:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17580:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17580:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14061,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"17564:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17564:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14070,"nodeType":"ExpressionStatement","src":"17564:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17506:3:14","parameters":{"id":14059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14054,"mutability":"mutable","name":"p0","nameLocation":"17518:2:14","nodeType":"VariableDeclaration","scope":14072,"src":"17510:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14053,"name":"address","nodeType":"ElementaryTypeName","src":"17510:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14056,"mutability":"mutable","name":"p1","nameLocation":"17527:2:14","nodeType":"VariableDeclaration","scope":14072,"src":"17522:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14055,"name":"bool","nodeType":"ElementaryTypeName","src":"17522:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14058,"mutability":"mutable","name":"p2","nameLocation":"17536:2:14","nodeType":"VariableDeclaration","scope":14072,"src":"17531:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14057,"name":"uint","nodeType":"ElementaryTypeName","src":"17531:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17509:30:14"},"returnParameters":{"id":14060,"nodeType":"ParameterList","parameters":[],"src":"17554:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14092,"nodeType":"FunctionDefinition","src":"17655:163:14","nodes":[],"body":{"id":14091,"nodeType":"Block","src":"17721:97:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e6729","id":14084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17771:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},"value":"log(address,bool,string)"},{"id":14085,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14074,"src":"17799:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14086,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14076,"src":"17803:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14087,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14078,"src":"17807:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14082,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17747:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17747:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17747:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14081,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"17731:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17731:80:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14090,"nodeType":"ExpressionStatement","src":"17731:80:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17664:3:14","parameters":{"id":14079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14074,"mutability":"mutable","name":"p0","nameLocation":"17676:2:14","nodeType":"VariableDeclaration","scope":14092,"src":"17668:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14073,"name":"address","nodeType":"ElementaryTypeName","src":"17668:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14076,"mutability":"mutable","name":"p1","nameLocation":"17685:2:14","nodeType":"VariableDeclaration","scope":14092,"src":"17680:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14075,"name":"bool","nodeType":"ElementaryTypeName","src":"17680:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14078,"mutability":"mutable","name":"p2","nameLocation":"17703:2:14","nodeType":"VariableDeclaration","scope":14092,"src":"17689:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14077,"name":"string","nodeType":"ElementaryTypeName","src":"17689:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17667:39:14"},"returnParameters":{"id":14080,"nodeType":"ParameterList","parameters":[],"src":"17721:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14112,"nodeType":"FunctionDefinition","src":"17824:152:14","nodes":[],"body":{"id":14111,"nodeType":"Block","src":"17881:95:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c29","id":14104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17931:24:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},"value":"log(address,bool,bool)"},{"id":14105,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14094,"src":"17957:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14106,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14096,"src":"17961:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14107,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14098,"src":"17965:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14102,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17907:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17907:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17907:61:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14101,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"17891:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17891:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14110,"nodeType":"ExpressionStatement","src":"17891:78:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17833:3:14","parameters":{"id":14099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14094,"mutability":"mutable","name":"p0","nameLocation":"17845:2:14","nodeType":"VariableDeclaration","scope":14112,"src":"17837:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14093,"name":"address","nodeType":"ElementaryTypeName","src":"17837:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14096,"mutability":"mutable","name":"p1","nameLocation":"17854:2:14","nodeType":"VariableDeclaration","scope":14112,"src":"17849:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14095,"name":"bool","nodeType":"ElementaryTypeName","src":"17849:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14098,"mutability":"mutable","name":"p2","nameLocation":"17863:2:14","nodeType":"VariableDeclaration","scope":14112,"src":"17858:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14097,"name":"bool","nodeType":"ElementaryTypeName","src":"17858:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17836:30:14"},"returnParameters":{"id":14100,"nodeType":"ParameterList","parameters":[],"src":"17881:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14132,"nodeType":"FunctionDefinition","src":"17982:158:14","nodes":[],"body":{"id":14131,"nodeType":"Block","src":"18042:98:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c6164647265737329","id":14124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18092:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},"value":"log(address,bool,address)"},{"id":14125,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14114,"src":"18121:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14126,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14116,"src":"18125:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14127,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14118,"src":"18129:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14122,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18068:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18068:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18068:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14121,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"18052:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18052:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14130,"nodeType":"ExpressionStatement","src":"18052:81:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17991:3:14","parameters":{"id":14119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14114,"mutability":"mutable","name":"p0","nameLocation":"18003:2:14","nodeType":"VariableDeclaration","scope":14132,"src":"17995:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14113,"name":"address","nodeType":"ElementaryTypeName","src":"17995:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14116,"mutability":"mutable","name":"p1","nameLocation":"18012:2:14","nodeType":"VariableDeclaration","scope":14132,"src":"18007:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14115,"name":"bool","nodeType":"ElementaryTypeName","src":"18007:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14118,"mutability":"mutable","name":"p2","nameLocation":"18024:2:14","nodeType":"VariableDeclaration","scope":14132,"src":"18016:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14117,"name":"address","nodeType":"ElementaryTypeName","src":"18016:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17994:33:14"},"returnParameters":{"id":14120,"nodeType":"ParameterList","parameters":[],"src":"18042:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14152,"nodeType":"FunctionDefinition","src":"18146:158:14","nodes":[],"body":{"id":14151,"nodeType":"Block","src":"18206:98:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e7429","id":14144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18256:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6c366d7295b93bbfacc4df0ea28f0eef60efacfffd447f8f2823cbe5b2fedb07","typeString":"literal_string \"log(address,address,uint)\""},"value":"log(address,address,uint)"},{"id":14145,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14134,"src":"18285:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14146,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14136,"src":"18289:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14147,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14138,"src":"18293:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6c366d7295b93bbfacc4df0ea28f0eef60efacfffd447f8f2823cbe5b2fedb07","typeString":"literal_string \"log(address,address,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14142,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18232:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18232:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18232:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14141,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"18216:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18216:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14150,"nodeType":"ExpressionStatement","src":"18216:81:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18155:3:14","parameters":{"id":14139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14134,"mutability":"mutable","name":"p0","nameLocation":"18167:2:14","nodeType":"VariableDeclaration","scope":14152,"src":"18159:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14133,"name":"address","nodeType":"ElementaryTypeName","src":"18159:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14136,"mutability":"mutable","name":"p1","nameLocation":"18179:2:14","nodeType":"VariableDeclaration","scope":14152,"src":"18171:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14135,"name":"address","nodeType":"ElementaryTypeName","src":"18171:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14138,"mutability":"mutable","name":"p2","nameLocation":"18188:2:14","nodeType":"VariableDeclaration","scope":14152,"src":"18183:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14137,"name":"uint","nodeType":"ElementaryTypeName","src":"18183:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18158:33:14"},"returnParameters":{"id":14140,"nodeType":"ParameterList","parameters":[],"src":"18206:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14172,"nodeType":"FunctionDefinition","src":"18310:169:14","nodes":[],"body":{"id":14171,"nodeType":"Block","src":"18379:100:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e6729","id":14164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18429:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},"value":"log(address,address,string)"},{"id":14165,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14154,"src":"18460:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14166,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14156,"src":"18464:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14167,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14158,"src":"18468:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14162,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18405:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18405:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18405:66:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14161,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"18389:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18389:83:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14170,"nodeType":"ExpressionStatement","src":"18389:83:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18319:3:14","parameters":{"id":14159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14154,"mutability":"mutable","name":"p0","nameLocation":"18331:2:14","nodeType":"VariableDeclaration","scope":14172,"src":"18323:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14153,"name":"address","nodeType":"ElementaryTypeName","src":"18323:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14156,"mutability":"mutable","name":"p1","nameLocation":"18343:2:14","nodeType":"VariableDeclaration","scope":14172,"src":"18335:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14155,"name":"address","nodeType":"ElementaryTypeName","src":"18335:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14158,"mutability":"mutable","name":"p2","nameLocation":"18361:2:14","nodeType":"VariableDeclaration","scope":14172,"src":"18347:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14157,"name":"string","nodeType":"ElementaryTypeName","src":"18347:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18322:42:14"},"returnParameters":{"id":14160,"nodeType":"ParameterList","parameters":[],"src":"18379:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14192,"nodeType":"FunctionDefinition","src":"18485:158:14","nodes":[],"body":{"id":14191,"nodeType":"Block","src":"18545:98:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c29","id":14184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18595:27:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},"value":"log(address,address,bool)"},{"id":14185,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14174,"src":"18624:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14186,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14176,"src":"18628:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14187,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14178,"src":"18632:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14182,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18571:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18571:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18571:64:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14181,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"18555:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18555:81:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14190,"nodeType":"ExpressionStatement","src":"18555:81:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18494:3:14","parameters":{"id":14179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14174,"mutability":"mutable","name":"p0","nameLocation":"18506:2:14","nodeType":"VariableDeclaration","scope":14192,"src":"18498:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14173,"name":"address","nodeType":"ElementaryTypeName","src":"18498:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14176,"mutability":"mutable","name":"p1","nameLocation":"18518:2:14","nodeType":"VariableDeclaration","scope":14192,"src":"18510:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14175,"name":"address","nodeType":"ElementaryTypeName","src":"18510:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14178,"mutability":"mutable","name":"p2","nameLocation":"18527:2:14","nodeType":"VariableDeclaration","scope":14192,"src":"18522:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14177,"name":"bool","nodeType":"ElementaryTypeName","src":"18522:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18497:33:14"},"returnParameters":{"id":14180,"nodeType":"ParameterList","parameters":[],"src":"18545:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14212,"nodeType":"FunctionDefinition","src":"18649:164:14","nodes":[],"body":{"id":14211,"nodeType":"Block","src":"18712:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c6164647265737329","id":14204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18762:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},"value":"log(address,address,address)"},{"id":14205,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14194,"src":"18794:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14206,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14196,"src":"18798:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14207,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14198,"src":"18802:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14202,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18738:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18738:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18738:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14201,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"18722:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18722:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14210,"nodeType":"ExpressionStatement","src":"18722:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18658:3:14","parameters":{"id":14199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14194,"mutability":"mutable","name":"p0","nameLocation":"18670:2:14","nodeType":"VariableDeclaration","scope":14212,"src":"18662:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14193,"name":"address","nodeType":"ElementaryTypeName","src":"18662:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14196,"mutability":"mutable","name":"p1","nameLocation":"18682:2:14","nodeType":"VariableDeclaration","scope":14212,"src":"18674:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14195,"name":"address","nodeType":"ElementaryTypeName","src":"18674:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14198,"mutability":"mutable","name":"p2","nameLocation":"18694:2:14","nodeType":"VariableDeclaration","scope":14212,"src":"18686:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14197,"name":"address","nodeType":"ElementaryTypeName","src":"18686:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18661:36:14"},"returnParameters":{"id":14200,"nodeType":"ParameterList","parameters":[],"src":"18712:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14235,"nodeType":"FunctionDefinition","src":"18819:164:14","nodes":[],"body":{"id":14234,"nodeType":"Block","src":"18882:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c75696e742c75696e7429","id":14226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18932:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ca0ad3ec7f731e4661cde447171efd221faf44c50b57eba4cc4965c1f89c0b6","typeString":"literal_string \"log(uint,uint,uint,uint)\""},"value":"log(uint,uint,uint,uint)"},{"id":14227,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14214,"src":"18960:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14228,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14216,"src":"18964:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14229,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14218,"src":"18968:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14230,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14220,"src":"18972:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ca0ad3ec7f731e4661cde447171efd221faf44c50b57eba4cc4965c1f89c0b6","typeString":"literal_string \"log(uint,uint,uint,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14224,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18908:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18908:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18908:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14223,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"18892:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18892:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14233,"nodeType":"ExpressionStatement","src":"18892:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18828:3:14","parameters":{"id":14221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14214,"mutability":"mutable","name":"p0","nameLocation":"18837:2:14","nodeType":"VariableDeclaration","scope":14235,"src":"18832:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14213,"name":"uint","nodeType":"ElementaryTypeName","src":"18832:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14216,"mutability":"mutable","name":"p1","nameLocation":"18846:2:14","nodeType":"VariableDeclaration","scope":14235,"src":"18841:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14215,"name":"uint","nodeType":"ElementaryTypeName","src":"18841:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14218,"mutability":"mutable","name":"p2","nameLocation":"18855:2:14","nodeType":"VariableDeclaration","scope":14235,"src":"18850:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14217,"name":"uint","nodeType":"ElementaryTypeName","src":"18850:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14220,"mutability":"mutable","name":"p3","nameLocation":"18864:2:14","nodeType":"VariableDeclaration","scope":14235,"src":"18859:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14219,"name":"uint","nodeType":"ElementaryTypeName","src":"18859:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18831:36:14"},"returnParameters":{"id":14222,"nodeType":"ParameterList","parameters":[],"src":"18882:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14258,"nodeType":"FunctionDefinition","src":"18989:175:14","nodes":[],"body":{"id":14257,"nodeType":"Block","src":"19061:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c75696e742c737472696e6729","id":14249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19111:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_78ad7a0c8cf57ba0e3b9e892fd6558ba40a5d4c84ef5c8c5e36bfc8d7f23b0c5","typeString":"literal_string \"log(uint,uint,uint,string)\""},"value":"log(uint,uint,uint,string)"},{"id":14250,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14237,"src":"19141:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14251,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14239,"src":"19145:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14252,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14241,"src":"19149:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14253,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14243,"src":"19153:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_78ad7a0c8cf57ba0e3b9e892fd6558ba40a5d4c84ef5c8c5e36bfc8d7f23b0c5","typeString":"literal_string \"log(uint,uint,uint,string)\""},{"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":14247,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19087:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14248,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19087:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19087:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14246,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"19071:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19071:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14256,"nodeType":"ExpressionStatement","src":"19071:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18998:3:14","parameters":{"id":14244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14237,"mutability":"mutable","name":"p0","nameLocation":"19007:2:14","nodeType":"VariableDeclaration","scope":14258,"src":"19002:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14236,"name":"uint","nodeType":"ElementaryTypeName","src":"19002:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14239,"mutability":"mutable","name":"p1","nameLocation":"19016:2:14","nodeType":"VariableDeclaration","scope":14258,"src":"19011:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14238,"name":"uint","nodeType":"ElementaryTypeName","src":"19011:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14241,"mutability":"mutable","name":"p2","nameLocation":"19025:2:14","nodeType":"VariableDeclaration","scope":14258,"src":"19020:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14240,"name":"uint","nodeType":"ElementaryTypeName","src":"19020:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14243,"mutability":"mutable","name":"p3","nameLocation":"19043:2:14","nodeType":"VariableDeclaration","scope":14258,"src":"19029:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14242,"name":"string","nodeType":"ElementaryTypeName","src":"19029:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19001:45:14"},"returnParameters":{"id":14245,"nodeType":"ParameterList","parameters":[],"src":"19061:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14281,"nodeType":"FunctionDefinition","src":"19170:164:14","nodes":[],"body":{"id":14280,"nodeType":"Block","src":"19233:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c75696e742c626f6f6c29","id":14272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19283:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6452b9cbdf8b8479d7ee301237b2d6dfa173fc92538628ab30d643fb4351918f","typeString":"literal_string \"log(uint,uint,uint,bool)\""},"value":"log(uint,uint,uint,bool)"},{"id":14273,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14260,"src":"19311:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14274,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14262,"src":"19315:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14275,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14264,"src":"19319:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14276,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14266,"src":"19323:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6452b9cbdf8b8479d7ee301237b2d6dfa173fc92538628ab30d643fb4351918f","typeString":"literal_string \"log(uint,uint,uint,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14270,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19259:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19259:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19259:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14269,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"19243:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19243:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14279,"nodeType":"ExpressionStatement","src":"19243:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19179:3:14","parameters":{"id":14267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14260,"mutability":"mutable","name":"p0","nameLocation":"19188:2:14","nodeType":"VariableDeclaration","scope":14281,"src":"19183:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14259,"name":"uint","nodeType":"ElementaryTypeName","src":"19183:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14262,"mutability":"mutable","name":"p1","nameLocation":"19197:2:14","nodeType":"VariableDeclaration","scope":14281,"src":"19192:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14261,"name":"uint","nodeType":"ElementaryTypeName","src":"19192:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14264,"mutability":"mutable","name":"p2","nameLocation":"19206:2:14","nodeType":"VariableDeclaration","scope":14281,"src":"19201:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14263,"name":"uint","nodeType":"ElementaryTypeName","src":"19201:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14266,"mutability":"mutable","name":"p3","nameLocation":"19215:2:14","nodeType":"VariableDeclaration","scope":14281,"src":"19210:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14265,"name":"bool","nodeType":"ElementaryTypeName","src":"19210:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19182:36:14"},"returnParameters":{"id":14268,"nodeType":"ParameterList","parameters":[],"src":"19233:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14304,"nodeType":"FunctionDefinition","src":"19340:170:14","nodes":[],"body":{"id":14303,"nodeType":"Block","src":"19406:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c75696e742c6164647265737329","id":14295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19456:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0853f69a5584c9e0aa87ddae9bd870cf5164166d612d334644e66176c1213ba","typeString":"literal_string \"log(uint,uint,uint,address)\""},"value":"log(uint,uint,uint,address)"},{"id":14296,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14283,"src":"19487:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14297,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14285,"src":"19491:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14298,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14287,"src":"19495:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14299,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14289,"src":"19499:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0853f69a5584c9e0aa87ddae9bd870cf5164166d612d334644e66176c1213ba","typeString":"literal_string \"log(uint,uint,uint,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14293,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19432:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19432:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19432:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14292,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"19416:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19416:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14302,"nodeType":"ExpressionStatement","src":"19416:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19349:3:14","parameters":{"id":14290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14283,"mutability":"mutable","name":"p0","nameLocation":"19358:2:14","nodeType":"VariableDeclaration","scope":14304,"src":"19353:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14282,"name":"uint","nodeType":"ElementaryTypeName","src":"19353:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14285,"mutability":"mutable","name":"p1","nameLocation":"19367:2:14","nodeType":"VariableDeclaration","scope":14304,"src":"19362:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14284,"name":"uint","nodeType":"ElementaryTypeName","src":"19362:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14287,"mutability":"mutable","name":"p2","nameLocation":"19376:2:14","nodeType":"VariableDeclaration","scope":14304,"src":"19371:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14286,"name":"uint","nodeType":"ElementaryTypeName","src":"19371:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14289,"mutability":"mutable","name":"p3","nameLocation":"19388:2:14","nodeType":"VariableDeclaration","scope":14304,"src":"19380:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14288,"name":"address","nodeType":"ElementaryTypeName","src":"19380:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19352:39:14"},"returnParameters":{"id":14291,"nodeType":"ParameterList","parameters":[],"src":"19406:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14327,"nodeType":"FunctionDefinition","src":"19516:175:14","nodes":[],"body":{"id":14326,"nodeType":"Block","src":"19588:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c737472696e672c75696e7429","id":14318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19638:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3894163d4e8f3eec101fb8e2c1029563bd05d05ee1d1790a46910ebbbdc3072e","typeString":"literal_string \"log(uint,uint,string,uint)\""},"value":"log(uint,uint,string,uint)"},{"id":14319,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14306,"src":"19668:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14320,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14308,"src":"19672:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14321,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14310,"src":"19676:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14322,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14312,"src":"19680:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3894163d4e8f3eec101fb8e2c1029563bd05d05ee1d1790a46910ebbbdc3072e","typeString":"literal_string \"log(uint,uint,string,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14316,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19614:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19614:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19614:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14315,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"19598:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19598:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14325,"nodeType":"ExpressionStatement","src":"19598:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19525:3:14","parameters":{"id":14313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14306,"mutability":"mutable","name":"p0","nameLocation":"19534:2:14","nodeType":"VariableDeclaration","scope":14327,"src":"19529:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14305,"name":"uint","nodeType":"ElementaryTypeName","src":"19529:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14308,"mutability":"mutable","name":"p1","nameLocation":"19543:2:14","nodeType":"VariableDeclaration","scope":14327,"src":"19538:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14307,"name":"uint","nodeType":"ElementaryTypeName","src":"19538:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14310,"mutability":"mutable","name":"p2","nameLocation":"19561:2:14","nodeType":"VariableDeclaration","scope":14327,"src":"19547:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14309,"name":"string","nodeType":"ElementaryTypeName","src":"19547:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14312,"mutability":"mutable","name":"p3","nameLocation":"19570:2:14","nodeType":"VariableDeclaration","scope":14327,"src":"19565:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14311,"name":"uint","nodeType":"ElementaryTypeName","src":"19565:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19528:45:14"},"returnParameters":{"id":14314,"nodeType":"ParameterList","parameters":[],"src":"19588:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14350,"nodeType":"FunctionDefinition","src":"19697:186:14","nodes":[],"body":{"id":14349,"nodeType":"Block","src":"19778:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c737472696e672c737472696e6729","id":14341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19828:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7c032a3207958e3d969ab52b045e7a59226129ee4b9e813f7071f9a5e80813f6","typeString":"literal_string \"log(uint,uint,string,string)\""},"value":"log(uint,uint,string,string)"},{"id":14342,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14329,"src":"19860:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14343,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14331,"src":"19864:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14344,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14333,"src":"19868:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14345,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14335,"src":"19872:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7c032a3207958e3d969ab52b045e7a59226129ee4b9e813f7071f9a5e80813f6","typeString":"literal_string \"log(uint,uint,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14339,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19804:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19804:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19804:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14338,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"19788:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19788:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14348,"nodeType":"ExpressionStatement","src":"19788:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19706:3:14","parameters":{"id":14336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14329,"mutability":"mutable","name":"p0","nameLocation":"19715:2:14","nodeType":"VariableDeclaration","scope":14350,"src":"19710:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14328,"name":"uint","nodeType":"ElementaryTypeName","src":"19710:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14331,"mutability":"mutable","name":"p1","nameLocation":"19724:2:14","nodeType":"VariableDeclaration","scope":14350,"src":"19719:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14330,"name":"uint","nodeType":"ElementaryTypeName","src":"19719:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14333,"mutability":"mutable","name":"p2","nameLocation":"19742:2:14","nodeType":"VariableDeclaration","scope":14350,"src":"19728:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14332,"name":"string","nodeType":"ElementaryTypeName","src":"19728:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14335,"mutability":"mutable","name":"p3","nameLocation":"19760:2:14","nodeType":"VariableDeclaration","scope":14350,"src":"19746:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14334,"name":"string","nodeType":"ElementaryTypeName","src":"19746:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19709:54:14"},"returnParameters":{"id":14337,"nodeType":"ParameterList","parameters":[],"src":"19778:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14373,"nodeType":"FunctionDefinition","src":"19889:175:14","nodes":[],"body":{"id":14372,"nodeType":"Block","src":"19961:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c737472696e672c626f6f6c29","id":14364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20011:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b22eaf06d72d481cf9b94b8f4d5fb89cf08bbfd924ee166a250ac94617be65b9","typeString":"literal_string \"log(uint,uint,string,bool)\""},"value":"log(uint,uint,string,bool)"},{"id":14365,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14352,"src":"20041:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14366,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14354,"src":"20045:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14367,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14356,"src":"20049:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14368,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14358,"src":"20053:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b22eaf06d72d481cf9b94b8f4d5fb89cf08bbfd924ee166a250ac94617be65b9","typeString":"literal_string \"log(uint,uint,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14362,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19987:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19987:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19987:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14361,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"19971:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19971:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14371,"nodeType":"ExpressionStatement","src":"19971:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19898:3:14","parameters":{"id":14359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14352,"mutability":"mutable","name":"p0","nameLocation":"19907:2:14","nodeType":"VariableDeclaration","scope":14373,"src":"19902:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14351,"name":"uint","nodeType":"ElementaryTypeName","src":"19902:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14354,"mutability":"mutable","name":"p1","nameLocation":"19916:2:14","nodeType":"VariableDeclaration","scope":14373,"src":"19911:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14353,"name":"uint","nodeType":"ElementaryTypeName","src":"19911:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14356,"mutability":"mutable","name":"p2","nameLocation":"19934:2:14","nodeType":"VariableDeclaration","scope":14373,"src":"19920:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14355,"name":"string","nodeType":"ElementaryTypeName","src":"19920:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14358,"mutability":"mutable","name":"p3","nameLocation":"19943:2:14","nodeType":"VariableDeclaration","scope":14373,"src":"19938:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14357,"name":"bool","nodeType":"ElementaryTypeName","src":"19938:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19901:45:14"},"returnParameters":{"id":14360,"nodeType":"ParameterList","parameters":[],"src":"19961:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14396,"nodeType":"FunctionDefinition","src":"20070:181:14","nodes":[],"body":{"id":14395,"nodeType":"Block","src":"20145:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c737472696e672c6164647265737329","id":14387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20195:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_433285a23ec6b1f0f76da64682232527561857544109f80e3e5d46b0e16980e7","typeString":"literal_string \"log(uint,uint,string,address)\""},"value":"log(uint,uint,string,address)"},{"id":14388,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14375,"src":"20228:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14389,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14377,"src":"20232:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14390,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14379,"src":"20236:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14391,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14381,"src":"20240:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_433285a23ec6b1f0f76da64682232527561857544109f80e3e5d46b0e16980e7","typeString":"literal_string \"log(uint,uint,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14385,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20171:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20171:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20171:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14384,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"20155:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20155:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14394,"nodeType":"ExpressionStatement","src":"20155:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20079:3:14","parameters":{"id":14382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14375,"mutability":"mutable","name":"p0","nameLocation":"20088:2:14","nodeType":"VariableDeclaration","scope":14396,"src":"20083:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14374,"name":"uint","nodeType":"ElementaryTypeName","src":"20083:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14377,"mutability":"mutable","name":"p1","nameLocation":"20097:2:14","nodeType":"VariableDeclaration","scope":14396,"src":"20092:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14376,"name":"uint","nodeType":"ElementaryTypeName","src":"20092:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14379,"mutability":"mutable","name":"p2","nameLocation":"20115:2:14","nodeType":"VariableDeclaration","scope":14396,"src":"20101:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14378,"name":"string","nodeType":"ElementaryTypeName","src":"20101:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14381,"mutability":"mutable","name":"p3","nameLocation":"20127:2:14","nodeType":"VariableDeclaration","scope":14396,"src":"20119:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14380,"name":"address","nodeType":"ElementaryTypeName","src":"20119:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20082:48:14"},"returnParameters":{"id":14383,"nodeType":"ParameterList","parameters":[],"src":"20145:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14419,"nodeType":"FunctionDefinition","src":"20257:164:14","nodes":[],"body":{"id":14418,"nodeType":"Block","src":"20320:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c626f6f6c2c75696e7429","id":14410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20370:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6c647c8c5fed6e02ad4f1c7bfb891e58ba00758f5d6cb92966fd0684c5b3fc8d","typeString":"literal_string \"log(uint,uint,bool,uint)\""},"value":"log(uint,uint,bool,uint)"},{"id":14411,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14398,"src":"20398:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14412,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14400,"src":"20402:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14413,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14402,"src":"20406:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14414,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14404,"src":"20410:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6c647c8c5fed6e02ad4f1c7bfb891e58ba00758f5d6cb92966fd0684c5b3fc8d","typeString":"literal_string \"log(uint,uint,bool,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14408,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20346:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20346:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20346:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14407,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"20330:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20330:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14417,"nodeType":"ExpressionStatement","src":"20330:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20266:3:14","parameters":{"id":14405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14398,"mutability":"mutable","name":"p0","nameLocation":"20275:2:14","nodeType":"VariableDeclaration","scope":14419,"src":"20270:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14397,"name":"uint","nodeType":"ElementaryTypeName","src":"20270:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14400,"mutability":"mutable","name":"p1","nameLocation":"20284:2:14","nodeType":"VariableDeclaration","scope":14419,"src":"20279:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14399,"name":"uint","nodeType":"ElementaryTypeName","src":"20279:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14402,"mutability":"mutable","name":"p2","nameLocation":"20293:2:14","nodeType":"VariableDeclaration","scope":14419,"src":"20288:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14401,"name":"bool","nodeType":"ElementaryTypeName","src":"20288:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14404,"mutability":"mutable","name":"p3","nameLocation":"20302:2:14","nodeType":"VariableDeclaration","scope":14419,"src":"20297:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14403,"name":"uint","nodeType":"ElementaryTypeName","src":"20297:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20269:36:14"},"returnParameters":{"id":14406,"nodeType":"ParameterList","parameters":[],"src":"20320:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14442,"nodeType":"FunctionDefinition","src":"20427:175:14","nodes":[],"body":{"id":14441,"nodeType":"Block","src":"20499:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c626f6f6c2c737472696e6729","id":14433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20549:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_efd9cbeee79713372dd0a748a26a3fb36cbe4eb4e01a37fbde0cde0e101fc85a","typeString":"literal_string \"log(uint,uint,bool,string)\""},"value":"log(uint,uint,bool,string)"},{"id":14434,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14421,"src":"20579:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14435,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14423,"src":"20583:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14436,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14425,"src":"20587:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14437,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14427,"src":"20591:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_efd9cbeee79713372dd0a748a26a3fb36cbe4eb4e01a37fbde0cde0e101fc85a","typeString":"literal_string \"log(uint,uint,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14431,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20525:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20525:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20525:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14430,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"20509:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20509:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14440,"nodeType":"ExpressionStatement","src":"20509:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20436:3:14","parameters":{"id":14428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14421,"mutability":"mutable","name":"p0","nameLocation":"20445:2:14","nodeType":"VariableDeclaration","scope":14442,"src":"20440:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14420,"name":"uint","nodeType":"ElementaryTypeName","src":"20440:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14423,"mutability":"mutable","name":"p1","nameLocation":"20454:2:14","nodeType":"VariableDeclaration","scope":14442,"src":"20449:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14422,"name":"uint","nodeType":"ElementaryTypeName","src":"20449:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14425,"mutability":"mutable","name":"p2","nameLocation":"20463:2:14","nodeType":"VariableDeclaration","scope":14442,"src":"20458:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14424,"name":"bool","nodeType":"ElementaryTypeName","src":"20458:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14427,"mutability":"mutable","name":"p3","nameLocation":"20481:2:14","nodeType":"VariableDeclaration","scope":14442,"src":"20467:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14426,"name":"string","nodeType":"ElementaryTypeName","src":"20467:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20439:45:14"},"returnParameters":{"id":14429,"nodeType":"ParameterList","parameters":[],"src":"20499:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14465,"nodeType":"FunctionDefinition","src":"20608:164:14","nodes":[],"body":{"id":14464,"nodeType":"Block","src":"20671:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c626f6f6c2c626f6f6c29","id":14456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20721:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_94be3bb13e096cdbc5a1999a524e3b6664a32da7e2c2954ae0e2b792a0dd1f41","typeString":"literal_string \"log(uint,uint,bool,bool)\""},"value":"log(uint,uint,bool,bool)"},{"id":14457,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14444,"src":"20749:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14458,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14446,"src":"20753:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14459,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14448,"src":"20757:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14460,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14450,"src":"20761:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94be3bb13e096cdbc5a1999a524e3b6664a32da7e2c2954ae0e2b792a0dd1f41","typeString":"literal_string \"log(uint,uint,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14454,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20697:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20697:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20697:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14453,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"20681:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20681:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14463,"nodeType":"ExpressionStatement","src":"20681:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20617:3:14","parameters":{"id":14451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14444,"mutability":"mutable","name":"p0","nameLocation":"20626:2:14","nodeType":"VariableDeclaration","scope":14465,"src":"20621:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14443,"name":"uint","nodeType":"ElementaryTypeName","src":"20621:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14446,"mutability":"mutable","name":"p1","nameLocation":"20635:2:14","nodeType":"VariableDeclaration","scope":14465,"src":"20630:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14445,"name":"uint","nodeType":"ElementaryTypeName","src":"20630:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14448,"mutability":"mutable","name":"p2","nameLocation":"20644:2:14","nodeType":"VariableDeclaration","scope":14465,"src":"20639:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14447,"name":"bool","nodeType":"ElementaryTypeName","src":"20639:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14450,"mutability":"mutable","name":"p3","nameLocation":"20653:2:14","nodeType":"VariableDeclaration","scope":14465,"src":"20648:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14449,"name":"bool","nodeType":"ElementaryTypeName","src":"20648:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20620:36:14"},"returnParameters":{"id":14452,"nodeType":"ParameterList","parameters":[],"src":"20671:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14488,"nodeType":"FunctionDefinition","src":"20778:170:14","nodes":[],"body":{"id":14487,"nodeType":"Block","src":"20844:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c626f6f6c2c6164647265737329","id":14479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20894:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e117744fcc46e4484cabd18d640497b4a9d76b7f775e79fe9a95e42427bd8976","typeString":"literal_string \"log(uint,uint,bool,address)\""},"value":"log(uint,uint,bool,address)"},{"id":14480,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14467,"src":"20925:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14481,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14469,"src":"20929:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14482,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14471,"src":"20933:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14483,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14473,"src":"20937:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e117744fcc46e4484cabd18d640497b4a9d76b7f775e79fe9a95e42427bd8976","typeString":"literal_string \"log(uint,uint,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14477,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20870:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14478,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20870:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20870:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14476,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"20854:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20854:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14486,"nodeType":"ExpressionStatement","src":"20854:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20787:3:14","parameters":{"id":14474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14467,"mutability":"mutable","name":"p0","nameLocation":"20796:2:14","nodeType":"VariableDeclaration","scope":14488,"src":"20791:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14466,"name":"uint","nodeType":"ElementaryTypeName","src":"20791:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14469,"mutability":"mutable","name":"p1","nameLocation":"20805:2:14","nodeType":"VariableDeclaration","scope":14488,"src":"20800:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14468,"name":"uint","nodeType":"ElementaryTypeName","src":"20800:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14471,"mutability":"mutable","name":"p2","nameLocation":"20814:2:14","nodeType":"VariableDeclaration","scope":14488,"src":"20809:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14470,"name":"bool","nodeType":"ElementaryTypeName","src":"20809:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14473,"mutability":"mutable","name":"p3","nameLocation":"20826:2:14","nodeType":"VariableDeclaration","scope":14488,"src":"20818:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14472,"name":"address","nodeType":"ElementaryTypeName","src":"20818:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20790:39:14"},"returnParameters":{"id":14475,"nodeType":"ParameterList","parameters":[],"src":"20844:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14511,"nodeType":"FunctionDefinition","src":"20954:170:14","nodes":[],"body":{"id":14510,"nodeType":"Block","src":"21020:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c616464726573732c75696e7429","id":14502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21070:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_610ba8c0cae1123f7f8ad76791afd86dc185a4f1fe79a263112118ddb5231e9f","typeString":"literal_string \"log(uint,uint,address,uint)\""},"value":"log(uint,uint,address,uint)"},{"id":14503,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14490,"src":"21101:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14504,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14492,"src":"21105:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14505,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14494,"src":"21109:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14506,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14496,"src":"21113:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_610ba8c0cae1123f7f8ad76791afd86dc185a4f1fe79a263112118ddb5231e9f","typeString":"literal_string \"log(uint,uint,address,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14500,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21046:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14501,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21046:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21046:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14499,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"21030:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21030:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14509,"nodeType":"ExpressionStatement","src":"21030:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20963:3:14","parameters":{"id":14497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14490,"mutability":"mutable","name":"p0","nameLocation":"20972:2:14","nodeType":"VariableDeclaration","scope":14511,"src":"20967:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14489,"name":"uint","nodeType":"ElementaryTypeName","src":"20967:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14492,"mutability":"mutable","name":"p1","nameLocation":"20981:2:14","nodeType":"VariableDeclaration","scope":14511,"src":"20976:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14491,"name":"uint","nodeType":"ElementaryTypeName","src":"20976:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14494,"mutability":"mutable","name":"p2","nameLocation":"20993:2:14","nodeType":"VariableDeclaration","scope":14511,"src":"20985:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14493,"name":"address","nodeType":"ElementaryTypeName","src":"20985:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14496,"mutability":"mutable","name":"p3","nameLocation":"21002:2:14","nodeType":"VariableDeclaration","scope":14511,"src":"20997:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14495,"name":"uint","nodeType":"ElementaryTypeName","src":"20997:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20966:39:14"},"returnParameters":{"id":14498,"nodeType":"ParameterList","parameters":[],"src":"21020:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14534,"nodeType":"FunctionDefinition","src":"21130:181:14","nodes":[],"body":{"id":14533,"nodeType":"Block","src":"21205:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c616464726573732c737472696e6729","id":14525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21255:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6a2d1de1bf5c0a47e82220cd592c8fb4a4a43f17ecab471044861ef70454227","typeString":"literal_string \"log(uint,uint,address,string)\""},"value":"log(uint,uint,address,string)"},{"id":14526,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14513,"src":"21288:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14527,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14515,"src":"21292:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14528,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14517,"src":"21296:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14529,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14519,"src":"21300:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6a2d1de1bf5c0a47e82220cd592c8fb4a4a43f17ecab471044861ef70454227","typeString":"literal_string \"log(uint,uint,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14523,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21231:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14524,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21231:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21231:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14522,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"21215:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21215:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14532,"nodeType":"ExpressionStatement","src":"21215:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21139:3:14","parameters":{"id":14520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14513,"mutability":"mutable","name":"p0","nameLocation":"21148:2:14","nodeType":"VariableDeclaration","scope":14534,"src":"21143:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14512,"name":"uint","nodeType":"ElementaryTypeName","src":"21143:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14515,"mutability":"mutable","name":"p1","nameLocation":"21157:2:14","nodeType":"VariableDeclaration","scope":14534,"src":"21152:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14514,"name":"uint","nodeType":"ElementaryTypeName","src":"21152:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14517,"mutability":"mutable","name":"p2","nameLocation":"21169:2:14","nodeType":"VariableDeclaration","scope":14534,"src":"21161:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14516,"name":"address","nodeType":"ElementaryTypeName","src":"21161:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14519,"mutability":"mutable","name":"p3","nameLocation":"21187:2:14","nodeType":"VariableDeclaration","scope":14534,"src":"21173:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14518,"name":"string","nodeType":"ElementaryTypeName","src":"21173:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21142:48:14"},"returnParameters":{"id":14521,"nodeType":"ParameterList","parameters":[],"src":"21205:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14557,"nodeType":"FunctionDefinition","src":"21317:170:14","nodes":[],"body":{"id":14556,"nodeType":"Block","src":"21383:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c616464726573732c626f6f6c29","id":14548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21433:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a8e820ae9dc5fd5a845e5dabf2b296e5588fe5a0d8101de14323ebe3e8e2b6c0","typeString":"literal_string \"log(uint,uint,address,bool)\""},"value":"log(uint,uint,address,bool)"},{"id":14549,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14536,"src":"21464:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14550,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14538,"src":"21468:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14551,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14540,"src":"21472:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14552,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14542,"src":"21476:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a8e820ae9dc5fd5a845e5dabf2b296e5588fe5a0d8101de14323ebe3e8e2b6c0","typeString":"literal_string \"log(uint,uint,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14546,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21409:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14547,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21409:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21409:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14545,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"21393:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21393:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14555,"nodeType":"ExpressionStatement","src":"21393:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21326:3:14","parameters":{"id":14543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14536,"mutability":"mutable","name":"p0","nameLocation":"21335:2:14","nodeType":"VariableDeclaration","scope":14557,"src":"21330:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14535,"name":"uint","nodeType":"ElementaryTypeName","src":"21330:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14538,"mutability":"mutable","name":"p1","nameLocation":"21344:2:14","nodeType":"VariableDeclaration","scope":14557,"src":"21339:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14537,"name":"uint","nodeType":"ElementaryTypeName","src":"21339:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14540,"mutability":"mutable","name":"p2","nameLocation":"21356:2:14","nodeType":"VariableDeclaration","scope":14557,"src":"21348:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14539,"name":"address","nodeType":"ElementaryTypeName","src":"21348:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14542,"mutability":"mutable","name":"p3","nameLocation":"21365:2:14","nodeType":"VariableDeclaration","scope":14557,"src":"21360:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14541,"name":"bool","nodeType":"ElementaryTypeName","src":"21360:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21329:39:14"},"returnParameters":{"id":14544,"nodeType":"ParameterList","parameters":[],"src":"21383:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14580,"nodeType":"FunctionDefinition","src":"21493:176:14","nodes":[],"body":{"id":14579,"nodeType":"Block","src":"21562:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c616464726573732c6164647265737329","id":14571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21612:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca939b20e9284d76bbbc091d0d45d06f650171230ac4f1f35652b8b6e1579811","typeString":"literal_string \"log(uint,uint,address,address)\""},"value":"log(uint,uint,address,address)"},{"id":14572,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14559,"src":"21646:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14573,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14561,"src":"21650:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14574,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14563,"src":"21654:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14575,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14565,"src":"21658:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca939b20e9284d76bbbc091d0d45d06f650171230ac4f1f35652b8b6e1579811","typeString":"literal_string \"log(uint,uint,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14569,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21588:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14570,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21588:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21588:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14568,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"21572:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21572:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14578,"nodeType":"ExpressionStatement","src":"21572:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21502:3:14","parameters":{"id":14566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14559,"mutability":"mutable","name":"p0","nameLocation":"21511:2:14","nodeType":"VariableDeclaration","scope":14580,"src":"21506:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14558,"name":"uint","nodeType":"ElementaryTypeName","src":"21506:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14561,"mutability":"mutable","name":"p1","nameLocation":"21520:2:14","nodeType":"VariableDeclaration","scope":14580,"src":"21515:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14560,"name":"uint","nodeType":"ElementaryTypeName","src":"21515:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14563,"mutability":"mutable","name":"p2","nameLocation":"21532:2:14","nodeType":"VariableDeclaration","scope":14580,"src":"21524:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14562,"name":"address","nodeType":"ElementaryTypeName","src":"21524:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14565,"mutability":"mutable","name":"p3","nameLocation":"21544:2:14","nodeType":"VariableDeclaration","scope":14580,"src":"21536:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14564,"name":"address","nodeType":"ElementaryTypeName","src":"21536:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21505:42:14"},"returnParameters":{"id":14567,"nodeType":"ParameterList","parameters":[],"src":"21562:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14603,"nodeType":"FunctionDefinition","src":"21675:175:14","nodes":[],"body":{"id":14602,"nodeType":"Block","src":"21747:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c75696e742c75696e7429","id":14594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21797:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0043807b5f951e0375253205c951c6e6a6b19b5de111342e8f6be7c7f284628","typeString":"literal_string \"log(uint,string,uint,uint)\""},"value":"log(uint,string,uint,uint)"},{"id":14595,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14582,"src":"21827:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14596,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14584,"src":"21831:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14597,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14586,"src":"21835:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14598,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14588,"src":"21839:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c0043807b5f951e0375253205c951c6e6a6b19b5de111342e8f6be7c7f284628","typeString":"literal_string \"log(uint,string,uint,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14592,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21773:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21773:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21773:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14591,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"21757:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21757:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14601,"nodeType":"ExpressionStatement","src":"21757:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21684:3:14","parameters":{"id":14589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14582,"mutability":"mutable","name":"p0","nameLocation":"21693:2:14","nodeType":"VariableDeclaration","scope":14603,"src":"21688:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14581,"name":"uint","nodeType":"ElementaryTypeName","src":"21688:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14584,"mutability":"mutable","name":"p1","nameLocation":"21711:2:14","nodeType":"VariableDeclaration","scope":14603,"src":"21697:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14583,"name":"string","nodeType":"ElementaryTypeName","src":"21697:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14586,"mutability":"mutable","name":"p2","nameLocation":"21720:2:14","nodeType":"VariableDeclaration","scope":14603,"src":"21715:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14585,"name":"uint","nodeType":"ElementaryTypeName","src":"21715:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14588,"mutability":"mutable","name":"p3","nameLocation":"21729:2:14","nodeType":"VariableDeclaration","scope":14603,"src":"21724:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14587,"name":"uint","nodeType":"ElementaryTypeName","src":"21724:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21687:45:14"},"returnParameters":{"id":14590,"nodeType":"ParameterList","parameters":[],"src":"21747:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14626,"nodeType":"FunctionDefinition","src":"21856:186:14","nodes":[],"body":{"id":14625,"nodeType":"Block","src":"21937:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c75696e742c737472696e6729","id":14617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21987:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a2bc0c99cedfd873182e8eb1e68799dc8925c663b8ce2430858586fba62fe313","typeString":"literal_string \"log(uint,string,uint,string)\""},"value":"log(uint,string,uint,string)"},{"id":14618,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14605,"src":"22019:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14619,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14607,"src":"22023:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14620,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14609,"src":"22027:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14621,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14611,"src":"22031:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a2bc0c99cedfd873182e8eb1e68799dc8925c663b8ce2430858586fba62fe313","typeString":"literal_string \"log(uint,string,uint,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14615,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21963:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21963:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21963:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14614,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"21947:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21947:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14624,"nodeType":"ExpressionStatement","src":"21947:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21865:3:14","parameters":{"id":14612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14605,"mutability":"mutable","name":"p0","nameLocation":"21874:2:14","nodeType":"VariableDeclaration","scope":14626,"src":"21869:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14604,"name":"uint","nodeType":"ElementaryTypeName","src":"21869:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14607,"mutability":"mutable","name":"p1","nameLocation":"21892:2:14","nodeType":"VariableDeclaration","scope":14626,"src":"21878:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14606,"name":"string","nodeType":"ElementaryTypeName","src":"21878:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14609,"mutability":"mutable","name":"p2","nameLocation":"21901:2:14","nodeType":"VariableDeclaration","scope":14626,"src":"21896:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14608,"name":"uint","nodeType":"ElementaryTypeName","src":"21896:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14611,"mutability":"mutable","name":"p3","nameLocation":"21919:2:14","nodeType":"VariableDeclaration","scope":14626,"src":"21905:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14610,"name":"string","nodeType":"ElementaryTypeName","src":"21905:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21868:54:14"},"returnParameters":{"id":14613,"nodeType":"ParameterList","parameters":[],"src":"21937:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14649,"nodeType":"FunctionDefinition","src":"22048:175:14","nodes":[],"body":{"id":14648,"nodeType":"Block","src":"22120:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c75696e742c626f6f6c29","id":14640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22170:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_875a6e2ed2444d0d09e264b06717914212d8a793bea0f48b5633e707ac53784d","typeString":"literal_string \"log(uint,string,uint,bool)\""},"value":"log(uint,string,uint,bool)"},{"id":14641,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14628,"src":"22200:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14642,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14630,"src":"22204:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14643,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14632,"src":"22208:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14644,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14634,"src":"22212:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_875a6e2ed2444d0d09e264b06717914212d8a793bea0f48b5633e707ac53784d","typeString":"literal_string \"log(uint,string,uint,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14638,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22146:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22146:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22146:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14637,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"22130:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22130:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14647,"nodeType":"ExpressionStatement","src":"22130:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22057:3:14","parameters":{"id":14635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14628,"mutability":"mutable","name":"p0","nameLocation":"22066:2:14","nodeType":"VariableDeclaration","scope":14649,"src":"22061:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14627,"name":"uint","nodeType":"ElementaryTypeName","src":"22061:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14630,"mutability":"mutable","name":"p1","nameLocation":"22084:2:14","nodeType":"VariableDeclaration","scope":14649,"src":"22070:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14629,"name":"string","nodeType":"ElementaryTypeName","src":"22070:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14632,"mutability":"mutable","name":"p2","nameLocation":"22093:2:14","nodeType":"VariableDeclaration","scope":14649,"src":"22088:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14631,"name":"uint","nodeType":"ElementaryTypeName","src":"22088:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14634,"mutability":"mutable","name":"p3","nameLocation":"22102:2:14","nodeType":"VariableDeclaration","scope":14649,"src":"22097:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14633,"name":"bool","nodeType":"ElementaryTypeName","src":"22097:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22060:45:14"},"returnParameters":{"id":14636,"nodeType":"ParameterList","parameters":[],"src":"22120:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14672,"nodeType":"FunctionDefinition","src":"22229:181:14","nodes":[],"body":{"id":14671,"nodeType":"Block","src":"22304:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c75696e742c6164647265737329","id":14663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22354:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab7bd9fd9b149127bbb235a3e1bec9a2e844f3968bdc1f48944c4b1973dacfda","typeString":"literal_string \"log(uint,string,uint,address)\""},"value":"log(uint,string,uint,address)"},{"id":14664,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14651,"src":"22387:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14665,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14653,"src":"22391:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14666,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14655,"src":"22395:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14667,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14657,"src":"22399:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ab7bd9fd9b149127bbb235a3e1bec9a2e844f3968bdc1f48944c4b1973dacfda","typeString":"literal_string \"log(uint,string,uint,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14661,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22330:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22330:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22330:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14660,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"22314:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22314:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14670,"nodeType":"ExpressionStatement","src":"22314:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22238:3:14","parameters":{"id":14658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14651,"mutability":"mutable","name":"p0","nameLocation":"22247:2:14","nodeType":"VariableDeclaration","scope":14672,"src":"22242:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14650,"name":"uint","nodeType":"ElementaryTypeName","src":"22242:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14653,"mutability":"mutable","name":"p1","nameLocation":"22265:2:14","nodeType":"VariableDeclaration","scope":14672,"src":"22251:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14652,"name":"string","nodeType":"ElementaryTypeName","src":"22251:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14655,"mutability":"mutable","name":"p2","nameLocation":"22274:2:14","nodeType":"VariableDeclaration","scope":14672,"src":"22269:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14654,"name":"uint","nodeType":"ElementaryTypeName","src":"22269:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14657,"mutability":"mutable","name":"p3","nameLocation":"22286:2:14","nodeType":"VariableDeclaration","scope":14672,"src":"22278:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14656,"name":"address","nodeType":"ElementaryTypeName","src":"22278:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22241:48:14"},"returnParameters":{"id":14659,"nodeType":"ParameterList","parameters":[],"src":"22304:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14695,"nodeType":"FunctionDefinition","src":"22416:186:14","nodes":[],"body":{"id":14694,"nodeType":"Block","src":"22497:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c737472696e672c75696e7429","id":14686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22547:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_76ec635e4702367bf449b895743175fa2654af8170b6d9c20dd183616d0a192b","typeString":"literal_string \"log(uint,string,string,uint)\""},"value":"log(uint,string,string,uint)"},{"id":14687,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14674,"src":"22579:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14688,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14676,"src":"22583:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14689,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14678,"src":"22587:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14690,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14680,"src":"22591:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_76ec635e4702367bf449b895743175fa2654af8170b6d9c20dd183616d0a192b","typeString":"literal_string \"log(uint,string,string,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14684,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22523:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22523:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22523:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14683,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"22507:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22507:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14693,"nodeType":"ExpressionStatement","src":"22507:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22425:3:14","parameters":{"id":14681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14674,"mutability":"mutable","name":"p0","nameLocation":"22434:2:14","nodeType":"VariableDeclaration","scope":14695,"src":"22429:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14673,"name":"uint","nodeType":"ElementaryTypeName","src":"22429:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14676,"mutability":"mutable","name":"p1","nameLocation":"22452:2:14","nodeType":"VariableDeclaration","scope":14695,"src":"22438:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14675,"name":"string","nodeType":"ElementaryTypeName","src":"22438:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14678,"mutability":"mutable","name":"p2","nameLocation":"22470:2:14","nodeType":"VariableDeclaration","scope":14695,"src":"22456:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14677,"name":"string","nodeType":"ElementaryTypeName","src":"22456:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14680,"mutability":"mutable","name":"p3","nameLocation":"22479:2:14","nodeType":"VariableDeclaration","scope":14695,"src":"22474:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14679,"name":"uint","nodeType":"ElementaryTypeName","src":"22474:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22428:54:14"},"returnParameters":{"id":14682,"nodeType":"ParameterList","parameters":[],"src":"22497:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14718,"nodeType":"FunctionDefinition","src":"22608:197:14","nodes":[],"body":{"id":14717,"nodeType":"Block","src":"22698:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c737472696e672c737472696e6729","id":14709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22748:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_57dd0a119927787a0c91b48333e191a1b3a4082dcb6efc912e2ba5b047e15156","typeString":"literal_string \"log(uint,string,string,string)\""},"value":"log(uint,string,string,string)"},{"id":14710,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14697,"src":"22782:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14711,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14699,"src":"22786:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14712,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14701,"src":"22790:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14713,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14703,"src":"22794:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_57dd0a119927787a0c91b48333e191a1b3a4082dcb6efc912e2ba5b047e15156","typeString":"literal_string \"log(uint,string,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"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":14707,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22724:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14708,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22724:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22724:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14706,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"22708:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22708:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14716,"nodeType":"ExpressionStatement","src":"22708:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22617:3:14","parameters":{"id":14704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14697,"mutability":"mutable","name":"p0","nameLocation":"22626:2:14","nodeType":"VariableDeclaration","scope":14718,"src":"22621:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14696,"name":"uint","nodeType":"ElementaryTypeName","src":"22621:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14699,"mutability":"mutable","name":"p1","nameLocation":"22644:2:14","nodeType":"VariableDeclaration","scope":14718,"src":"22630:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14698,"name":"string","nodeType":"ElementaryTypeName","src":"22630:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14701,"mutability":"mutable","name":"p2","nameLocation":"22662:2:14","nodeType":"VariableDeclaration","scope":14718,"src":"22648:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14700,"name":"string","nodeType":"ElementaryTypeName","src":"22648:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14703,"mutability":"mutable","name":"p3","nameLocation":"22680:2:14","nodeType":"VariableDeclaration","scope":14718,"src":"22666:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14702,"name":"string","nodeType":"ElementaryTypeName","src":"22666:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22620:63:14"},"returnParameters":{"id":14705,"nodeType":"ParameterList","parameters":[],"src":"22698:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14741,"nodeType":"FunctionDefinition","src":"22811:186:14","nodes":[],"body":{"id":14740,"nodeType":"Block","src":"22892:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c737472696e672c626f6f6c29","id":14732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22942:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_12862b98fdb7950b0e6908443bc9d7894b44d5616424da5cdb6206a848affcbc","typeString":"literal_string \"log(uint,string,string,bool)\""},"value":"log(uint,string,string,bool)"},{"id":14733,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14720,"src":"22974:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14734,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14722,"src":"22978:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14735,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14724,"src":"22982:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14736,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14726,"src":"22986:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12862b98fdb7950b0e6908443bc9d7894b44d5616424da5cdb6206a848affcbc","typeString":"literal_string \"log(uint,string,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14730,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22918:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22918:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22918:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14729,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"22902:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22902:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14739,"nodeType":"ExpressionStatement","src":"22902:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22820:3:14","parameters":{"id":14727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14720,"mutability":"mutable","name":"p0","nameLocation":"22829:2:14","nodeType":"VariableDeclaration","scope":14741,"src":"22824:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14719,"name":"uint","nodeType":"ElementaryTypeName","src":"22824:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14722,"mutability":"mutable","name":"p1","nameLocation":"22847:2:14","nodeType":"VariableDeclaration","scope":14741,"src":"22833:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14721,"name":"string","nodeType":"ElementaryTypeName","src":"22833:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14724,"mutability":"mutable","name":"p2","nameLocation":"22865:2:14","nodeType":"VariableDeclaration","scope":14741,"src":"22851:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14723,"name":"string","nodeType":"ElementaryTypeName","src":"22851:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14726,"mutability":"mutable","name":"p3","nameLocation":"22874:2:14","nodeType":"VariableDeclaration","scope":14741,"src":"22869:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14725,"name":"bool","nodeType":"ElementaryTypeName","src":"22869:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22823:54:14"},"returnParameters":{"id":14728,"nodeType":"ParameterList","parameters":[],"src":"22892:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14764,"nodeType":"FunctionDefinition","src":"23003:192:14","nodes":[],"body":{"id":14763,"nodeType":"Block","src":"23087:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c737472696e672c6164647265737329","id":14755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23137:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc988aa0514d1ed8be70a6bf2bdff4972e3f3420811b4adbd40f9b75b873fded","typeString":"literal_string \"log(uint,string,string,address)\""},"value":"log(uint,string,string,address)"},{"id":14756,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14743,"src":"23172:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14757,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14745,"src":"23176:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14758,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14747,"src":"23180:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14759,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14749,"src":"23184:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cc988aa0514d1ed8be70a6bf2bdff4972e3f3420811b4adbd40f9b75b873fded","typeString":"literal_string \"log(uint,string,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14753,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23113:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14754,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23113:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23113:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14752,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"23097:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23097:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14762,"nodeType":"ExpressionStatement","src":"23097:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23012:3:14","parameters":{"id":14750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14743,"mutability":"mutable","name":"p0","nameLocation":"23021:2:14","nodeType":"VariableDeclaration","scope":14764,"src":"23016:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14742,"name":"uint","nodeType":"ElementaryTypeName","src":"23016:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14745,"mutability":"mutable","name":"p1","nameLocation":"23039:2:14","nodeType":"VariableDeclaration","scope":14764,"src":"23025:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14744,"name":"string","nodeType":"ElementaryTypeName","src":"23025:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14747,"mutability":"mutable","name":"p2","nameLocation":"23057:2:14","nodeType":"VariableDeclaration","scope":14764,"src":"23043:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14746,"name":"string","nodeType":"ElementaryTypeName","src":"23043:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14749,"mutability":"mutable","name":"p3","nameLocation":"23069:2:14","nodeType":"VariableDeclaration","scope":14764,"src":"23061:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14748,"name":"address","nodeType":"ElementaryTypeName","src":"23061:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23015:57:14"},"returnParameters":{"id":14751,"nodeType":"ParameterList","parameters":[],"src":"23087:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14787,"nodeType":"FunctionDefinition","src":"23201:175:14","nodes":[],"body":{"id":14786,"nodeType":"Block","src":"23273:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c626f6f6c2c75696e7429","id":14778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23323:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a4b48a7f4bdefee99950b35e5da7ba9724c3954e445cc3077000bce7a4265081","typeString":"literal_string \"log(uint,string,bool,uint)\""},"value":"log(uint,string,bool,uint)"},{"id":14779,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14766,"src":"23353:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14780,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14768,"src":"23357:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14781,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14770,"src":"23361:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14782,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14772,"src":"23365:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a4b48a7f4bdefee99950b35e5da7ba9724c3954e445cc3077000bce7a4265081","typeString":"literal_string \"log(uint,string,bool,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14776,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23299:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23299:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23299:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14775,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"23283:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23283:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14785,"nodeType":"ExpressionStatement","src":"23283:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23210:3:14","parameters":{"id":14773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14766,"mutability":"mutable","name":"p0","nameLocation":"23219:2:14","nodeType":"VariableDeclaration","scope":14787,"src":"23214:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14765,"name":"uint","nodeType":"ElementaryTypeName","src":"23214:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14768,"mutability":"mutable","name":"p1","nameLocation":"23237:2:14","nodeType":"VariableDeclaration","scope":14787,"src":"23223:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14767,"name":"string","nodeType":"ElementaryTypeName","src":"23223:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14770,"mutability":"mutable","name":"p2","nameLocation":"23246:2:14","nodeType":"VariableDeclaration","scope":14787,"src":"23241:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14769,"name":"bool","nodeType":"ElementaryTypeName","src":"23241:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14772,"mutability":"mutable","name":"p3","nameLocation":"23255:2:14","nodeType":"VariableDeclaration","scope":14787,"src":"23250:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14771,"name":"uint","nodeType":"ElementaryTypeName","src":"23250:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23213:45:14"},"returnParameters":{"id":14774,"nodeType":"ParameterList","parameters":[],"src":"23273:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14810,"nodeType":"FunctionDefinition","src":"23382:186:14","nodes":[],"body":{"id":14809,"nodeType":"Block","src":"23463:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c626f6f6c2c737472696e6729","id":14801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23513:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d489ca064b1083bafb8388fd8f3d44c2255dbe322f7a52abe786a76257d06e4","typeString":"literal_string \"log(uint,string,bool,string)\""},"value":"log(uint,string,bool,string)"},{"id":14802,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14789,"src":"23545:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14803,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14791,"src":"23549:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14804,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14793,"src":"23553:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14805,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14795,"src":"23557:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d489ca064b1083bafb8388fd8f3d44c2255dbe322f7a52abe786a76257d06e4","typeString":"literal_string \"log(uint,string,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14799,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23489:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23489:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23489:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14798,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"23473:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23473:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14808,"nodeType":"ExpressionStatement","src":"23473:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23391:3:14","parameters":{"id":14796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14789,"mutability":"mutable","name":"p0","nameLocation":"23400:2:14","nodeType":"VariableDeclaration","scope":14810,"src":"23395:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14788,"name":"uint","nodeType":"ElementaryTypeName","src":"23395:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14791,"mutability":"mutable","name":"p1","nameLocation":"23418:2:14","nodeType":"VariableDeclaration","scope":14810,"src":"23404:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14790,"name":"string","nodeType":"ElementaryTypeName","src":"23404:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14793,"mutability":"mutable","name":"p2","nameLocation":"23427:2:14","nodeType":"VariableDeclaration","scope":14810,"src":"23422:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14792,"name":"bool","nodeType":"ElementaryTypeName","src":"23422:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14795,"mutability":"mutable","name":"p3","nameLocation":"23445:2:14","nodeType":"VariableDeclaration","scope":14810,"src":"23431:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14794,"name":"string","nodeType":"ElementaryTypeName","src":"23431:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23394:54:14"},"returnParameters":{"id":14797,"nodeType":"ParameterList","parameters":[],"src":"23463:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14833,"nodeType":"FunctionDefinition","src":"23574:175:14","nodes":[],"body":{"id":14832,"nodeType":"Block","src":"23646:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c626f6f6c2c626f6f6c29","id":14824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23696:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_51bc2bc161debf765eefa84d88e06440adeb87045d559377a9edb97406168b2a","typeString":"literal_string \"log(uint,string,bool,bool)\""},"value":"log(uint,string,bool,bool)"},{"id":14825,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14812,"src":"23726:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14826,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14814,"src":"23730:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14827,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14816,"src":"23734:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14828,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14818,"src":"23738:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51bc2bc161debf765eefa84d88e06440adeb87045d559377a9edb97406168b2a","typeString":"literal_string \"log(uint,string,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14822,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23672:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14823,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23672:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23672:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14821,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"23656:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23656:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14831,"nodeType":"ExpressionStatement","src":"23656:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23583:3:14","parameters":{"id":14819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14812,"mutability":"mutable","name":"p0","nameLocation":"23592:2:14","nodeType":"VariableDeclaration","scope":14833,"src":"23587:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14811,"name":"uint","nodeType":"ElementaryTypeName","src":"23587:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14814,"mutability":"mutable","name":"p1","nameLocation":"23610:2:14","nodeType":"VariableDeclaration","scope":14833,"src":"23596:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14813,"name":"string","nodeType":"ElementaryTypeName","src":"23596:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14816,"mutability":"mutable","name":"p2","nameLocation":"23619:2:14","nodeType":"VariableDeclaration","scope":14833,"src":"23614:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14815,"name":"bool","nodeType":"ElementaryTypeName","src":"23614:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14818,"mutability":"mutable","name":"p3","nameLocation":"23628:2:14","nodeType":"VariableDeclaration","scope":14833,"src":"23623:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14817,"name":"bool","nodeType":"ElementaryTypeName","src":"23623:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23586:45:14"},"returnParameters":{"id":14820,"nodeType":"ParameterList","parameters":[],"src":"23646:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14856,"nodeType":"FunctionDefinition","src":"23755:181:14","nodes":[],"body":{"id":14855,"nodeType":"Block","src":"23830:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c626f6f6c2c6164647265737329","id":14847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23880:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_796f28a06ededa438107c0866560412d4d4337e29da4c7300f50c49a73c18829","typeString":"literal_string \"log(uint,string,bool,address)\""},"value":"log(uint,string,bool,address)"},{"id":14848,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14835,"src":"23913:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14849,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14837,"src":"23917:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14850,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14839,"src":"23921:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14851,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14841,"src":"23925:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_796f28a06ededa438107c0866560412d4d4337e29da4c7300f50c49a73c18829","typeString":"literal_string \"log(uint,string,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14845,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23856:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14846,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23856:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23856:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14844,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"23840:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23840:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14854,"nodeType":"ExpressionStatement","src":"23840:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23764:3:14","parameters":{"id":14842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14835,"mutability":"mutable","name":"p0","nameLocation":"23773:2:14","nodeType":"VariableDeclaration","scope":14856,"src":"23768:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14834,"name":"uint","nodeType":"ElementaryTypeName","src":"23768:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14837,"mutability":"mutable","name":"p1","nameLocation":"23791:2:14","nodeType":"VariableDeclaration","scope":14856,"src":"23777:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14836,"name":"string","nodeType":"ElementaryTypeName","src":"23777:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14839,"mutability":"mutable","name":"p2","nameLocation":"23800:2:14","nodeType":"VariableDeclaration","scope":14856,"src":"23795:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14838,"name":"bool","nodeType":"ElementaryTypeName","src":"23795:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14841,"mutability":"mutable","name":"p3","nameLocation":"23812:2:14","nodeType":"VariableDeclaration","scope":14856,"src":"23804:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14840,"name":"address","nodeType":"ElementaryTypeName","src":"23804:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23767:48:14"},"returnParameters":{"id":14843,"nodeType":"ParameterList","parameters":[],"src":"23830:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14879,"nodeType":"FunctionDefinition","src":"23942:181:14","nodes":[],"body":{"id":14878,"nodeType":"Block","src":"24017:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c616464726573732c75696e7429","id":14870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24067:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_98e7f3f3a2c39a91982b0a3ae7f29043579abd563fc10531c052f92c3317af43","typeString":"literal_string \"log(uint,string,address,uint)\""},"value":"log(uint,string,address,uint)"},{"id":14871,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14858,"src":"24100:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14872,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14860,"src":"24104:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14873,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14862,"src":"24108:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14874,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14864,"src":"24112:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_98e7f3f3a2c39a91982b0a3ae7f29043579abd563fc10531c052f92c3317af43","typeString":"literal_string \"log(uint,string,address,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14868,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24043:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14869,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24043:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24043:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14867,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"24027:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24027:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14877,"nodeType":"ExpressionStatement","src":"24027:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23951:3:14","parameters":{"id":14865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14858,"mutability":"mutable","name":"p0","nameLocation":"23960:2:14","nodeType":"VariableDeclaration","scope":14879,"src":"23955:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14857,"name":"uint","nodeType":"ElementaryTypeName","src":"23955:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14860,"mutability":"mutable","name":"p1","nameLocation":"23978:2:14","nodeType":"VariableDeclaration","scope":14879,"src":"23964:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14859,"name":"string","nodeType":"ElementaryTypeName","src":"23964:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14862,"mutability":"mutable","name":"p2","nameLocation":"23990:2:14","nodeType":"VariableDeclaration","scope":14879,"src":"23982:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14861,"name":"address","nodeType":"ElementaryTypeName","src":"23982:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14864,"mutability":"mutable","name":"p3","nameLocation":"23999:2:14","nodeType":"VariableDeclaration","scope":14879,"src":"23994:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14863,"name":"uint","nodeType":"ElementaryTypeName","src":"23994:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23954:48:14"},"returnParameters":{"id":14866,"nodeType":"ParameterList","parameters":[],"src":"24017:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14902,"nodeType":"FunctionDefinition","src":"24129:192:14","nodes":[],"body":{"id":14901,"nodeType":"Block","src":"24213:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c616464726573732c737472696e6729","id":14893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24263:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f898577fdc87bf80b54b2b838f8b58bf5a74554c7beeb61b98f3c2b7d59f31e2","typeString":"literal_string \"log(uint,string,address,string)\""},"value":"log(uint,string,address,string)"},{"id":14894,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14881,"src":"24298:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14895,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14883,"src":"24302:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14896,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14885,"src":"24306:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14897,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14887,"src":"24310:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f898577fdc87bf80b54b2b838f8b58bf5a74554c7beeb61b98f3c2b7d59f31e2","typeString":"literal_string \"log(uint,string,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14891,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24239:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14892,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24239:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24239:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14890,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"24223:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24223:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14900,"nodeType":"ExpressionStatement","src":"24223:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24138:3:14","parameters":{"id":14888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14881,"mutability":"mutable","name":"p0","nameLocation":"24147:2:14","nodeType":"VariableDeclaration","scope":14902,"src":"24142:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14880,"name":"uint","nodeType":"ElementaryTypeName","src":"24142:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14883,"mutability":"mutable","name":"p1","nameLocation":"24165:2:14","nodeType":"VariableDeclaration","scope":14902,"src":"24151:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14882,"name":"string","nodeType":"ElementaryTypeName","src":"24151:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14885,"mutability":"mutable","name":"p2","nameLocation":"24177:2:14","nodeType":"VariableDeclaration","scope":14902,"src":"24169:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14884,"name":"address","nodeType":"ElementaryTypeName","src":"24169:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14887,"mutability":"mutable","name":"p3","nameLocation":"24195:2:14","nodeType":"VariableDeclaration","scope":14902,"src":"24181:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14886,"name":"string","nodeType":"ElementaryTypeName","src":"24181:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24141:57:14"},"returnParameters":{"id":14889,"nodeType":"ParameterList","parameters":[],"src":"24213:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14925,"nodeType":"FunctionDefinition","src":"24327:181:14","nodes":[],"body":{"id":14924,"nodeType":"Block","src":"24402:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c616464726573732c626f6f6c29","id":14916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24452:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f93fff378483bab1a84a8ae346090ff91e793863821a5430c45153390c3262e1","typeString":"literal_string \"log(uint,string,address,bool)\""},"value":"log(uint,string,address,bool)"},{"id":14917,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14904,"src":"24485:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14918,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14906,"src":"24489:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14919,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14908,"src":"24493:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14920,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14910,"src":"24497:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f93fff378483bab1a84a8ae346090ff91e793863821a5430c45153390c3262e1","typeString":"literal_string \"log(uint,string,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":14914,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24428:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24428:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24428:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14913,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"24412:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24412:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14923,"nodeType":"ExpressionStatement","src":"24412:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24336:3:14","parameters":{"id":14911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14904,"mutability":"mutable","name":"p0","nameLocation":"24345:2:14","nodeType":"VariableDeclaration","scope":14925,"src":"24340:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14903,"name":"uint","nodeType":"ElementaryTypeName","src":"24340:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14906,"mutability":"mutable","name":"p1","nameLocation":"24363:2:14","nodeType":"VariableDeclaration","scope":14925,"src":"24349:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14905,"name":"string","nodeType":"ElementaryTypeName","src":"24349:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14908,"mutability":"mutable","name":"p2","nameLocation":"24375:2:14","nodeType":"VariableDeclaration","scope":14925,"src":"24367:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14907,"name":"address","nodeType":"ElementaryTypeName","src":"24367:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14910,"mutability":"mutable","name":"p3","nameLocation":"24384:2:14","nodeType":"VariableDeclaration","scope":14925,"src":"24379:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14909,"name":"bool","nodeType":"ElementaryTypeName","src":"24379:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24339:48:14"},"returnParameters":{"id":14912,"nodeType":"ParameterList","parameters":[],"src":"24402:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14948,"nodeType":"FunctionDefinition","src":"24514:187:14","nodes":[],"body":{"id":14947,"nodeType":"Block","src":"24592:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c616464726573732c6164647265737329","id":14939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24642:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7fa5458bb859a8b444c46f9915b7879afe7e200298580a00c5813ecf5c0a77cb","typeString":"literal_string \"log(uint,string,address,address)\""},"value":"log(uint,string,address,address)"},{"id":14940,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14927,"src":"24678:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14941,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14929,"src":"24682:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":14942,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14931,"src":"24686:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":14943,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14933,"src":"24690:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7fa5458bb859a8b444c46f9915b7879afe7e200298580a00c5813ecf5c0a77cb","typeString":"literal_string \"log(uint,string,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":14937,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24618:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24618:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24618:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14936,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"24602:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24602:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14946,"nodeType":"ExpressionStatement","src":"24602:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24523:3:14","parameters":{"id":14934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14927,"mutability":"mutable","name":"p0","nameLocation":"24532:2:14","nodeType":"VariableDeclaration","scope":14948,"src":"24527:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14926,"name":"uint","nodeType":"ElementaryTypeName","src":"24527:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14929,"mutability":"mutable","name":"p1","nameLocation":"24550:2:14","nodeType":"VariableDeclaration","scope":14948,"src":"24536:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14928,"name":"string","nodeType":"ElementaryTypeName","src":"24536:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14931,"mutability":"mutable","name":"p2","nameLocation":"24562:2:14","nodeType":"VariableDeclaration","scope":14948,"src":"24554:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14930,"name":"address","nodeType":"ElementaryTypeName","src":"24554:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14933,"mutability":"mutable","name":"p3","nameLocation":"24574:2:14","nodeType":"VariableDeclaration","scope":14948,"src":"24566:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14932,"name":"address","nodeType":"ElementaryTypeName","src":"24566:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24526:51:14"},"returnParameters":{"id":14935,"nodeType":"ParameterList","parameters":[],"src":"24592:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14971,"nodeType":"FunctionDefinition","src":"24707:164:14","nodes":[],"body":{"id":14970,"nodeType":"Block","src":"24770:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c75696e742c75696e7429","id":14962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24820:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_56828da42a6ecdc94480e6d223af96b676cdc4ca9a00b1d88a7646ef1e12541e","typeString":"literal_string \"log(uint,bool,uint,uint)\""},"value":"log(uint,bool,uint,uint)"},{"id":14963,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14950,"src":"24848:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14964,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14952,"src":"24852:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14965,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14954,"src":"24856:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14966,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14956,"src":"24860:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56828da42a6ecdc94480e6d223af96b676cdc4ca9a00b1d88a7646ef1e12541e","typeString":"literal_string \"log(uint,bool,uint,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":14960,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24796:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14961,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24796:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24796:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14959,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"24780:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24780:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14969,"nodeType":"ExpressionStatement","src":"24780:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24716:3:14","parameters":{"id":14957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14950,"mutability":"mutable","name":"p0","nameLocation":"24725:2:14","nodeType":"VariableDeclaration","scope":14971,"src":"24720:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14949,"name":"uint","nodeType":"ElementaryTypeName","src":"24720:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14952,"mutability":"mutable","name":"p1","nameLocation":"24734:2:14","nodeType":"VariableDeclaration","scope":14971,"src":"24729:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14951,"name":"bool","nodeType":"ElementaryTypeName","src":"24729:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14954,"mutability":"mutable","name":"p2","nameLocation":"24743:2:14","nodeType":"VariableDeclaration","scope":14971,"src":"24738:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14953,"name":"uint","nodeType":"ElementaryTypeName","src":"24738:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14956,"mutability":"mutable","name":"p3","nameLocation":"24752:2:14","nodeType":"VariableDeclaration","scope":14971,"src":"24747:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14955,"name":"uint","nodeType":"ElementaryTypeName","src":"24747:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24719:36:14"},"returnParameters":{"id":14958,"nodeType":"ParameterList","parameters":[],"src":"24770:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":14994,"nodeType":"FunctionDefinition","src":"24877:175:14","nodes":[],"body":{"id":14993,"nodeType":"Block","src":"24949:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c75696e742c737472696e6729","id":14985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24999:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8ddbc56b4712607102717eb35a3ee6aa0309358d07a4257a282d4a44ceb2f63","typeString":"literal_string \"log(uint,bool,uint,string)\""},"value":"log(uint,bool,uint,string)"},{"id":14986,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14973,"src":"25029:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14987,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14975,"src":"25033:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":14988,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14977,"src":"25037:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":14989,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14979,"src":"25041:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8ddbc56b4712607102717eb35a3ee6aa0309358d07a4257a282d4a44ceb2f63","typeString":"literal_string \"log(uint,bool,uint,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":14983,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24975:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":14984,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24975:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":14990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24975:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":14982,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"24959:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":14991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24959:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":14992,"nodeType":"ExpressionStatement","src":"24959:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24886:3:14","parameters":{"id":14980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14973,"mutability":"mutable","name":"p0","nameLocation":"24895:2:14","nodeType":"VariableDeclaration","scope":14994,"src":"24890:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14972,"name":"uint","nodeType":"ElementaryTypeName","src":"24890:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14975,"mutability":"mutable","name":"p1","nameLocation":"24904:2:14","nodeType":"VariableDeclaration","scope":14994,"src":"24899:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14974,"name":"bool","nodeType":"ElementaryTypeName","src":"24899:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14977,"mutability":"mutable","name":"p2","nameLocation":"24913:2:14","nodeType":"VariableDeclaration","scope":14994,"src":"24908:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14976,"name":"uint","nodeType":"ElementaryTypeName","src":"24908:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14979,"mutability":"mutable","name":"p3","nameLocation":"24931:2:14","nodeType":"VariableDeclaration","scope":14994,"src":"24917:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14978,"name":"string","nodeType":"ElementaryTypeName","src":"24917:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24889:45:14"},"returnParameters":{"id":14981,"nodeType":"ParameterList","parameters":[],"src":"24949:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15017,"nodeType":"FunctionDefinition","src":"25058:164:14","nodes":[],"body":{"id":15016,"nodeType":"Block","src":"25121:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c75696e742c626f6f6c29","id":15008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25171:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2abc4fdef6f35f3785755f2ca3a26416b52c0c4c5ad8b27342fc84a56532f2f","typeString":"literal_string \"log(uint,bool,uint,bool)\""},"value":"log(uint,bool,uint,bool)"},{"id":15009,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14996,"src":"25199:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15010,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14998,"src":"25203:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15011,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15000,"src":"25207:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15012,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15002,"src":"25211:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2abc4fdef6f35f3785755f2ca3a26416b52c0c4c5ad8b27342fc84a56532f2f","typeString":"literal_string \"log(uint,bool,uint,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15006,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25147:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25147:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25147:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15005,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"25131:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25131:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15015,"nodeType":"ExpressionStatement","src":"25131:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25067:3:14","parameters":{"id":15003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14996,"mutability":"mutable","name":"p0","nameLocation":"25076:2:14","nodeType":"VariableDeclaration","scope":15017,"src":"25071:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14995,"name":"uint","nodeType":"ElementaryTypeName","src":"25071:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14998,"mutability":"mutable","name":"p1","nameLocation":"25085:2:14","nodeType":"VariableDeclaration","scope":15017,"src":"25080:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14997,"name":"bool","nodeType":"ElementaryTypeName","src":"25080:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15000,"mutability":"mutable","name":"p2","nameLocation":"25094:2:14","nodeType":"VariableDeclaration","scope":15017,"src":"25089:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14999,"name":"uint","nodeType":"ElementaryTypeName","src":"25089:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15002,"mutability":"mutable","name":"p3","nameLocation":"25103:2:14","nodeType":"VariableDeclaration","scope":15017,"src":"25098:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15001,"name":"bool","nodeType":"ElementaryTypeName","src":"25098:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25070:36:14"},"returnParameters":{"id":15004,"nodeType":"ParameterList","parameters":[],"src":"25121:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15040,"nodeType":"FunctionDefinition","src":"25228:170:14","nodes":[],"body":{"id":15039,"nodeType":"Block","src":"25294:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c75696e742c6164647265737329","id":15031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25344:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f40058ea8927b23c60661eeb28f54d3ce10f5f6cdd8e3ce445d34409ceb50a3","typeString":"literal_string \"log(uint,bool,uint,address)\""},"value":"log(uint,bool,uint,address)"},{"id":15032,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15019,"src":"25375:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15033,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15021,"src":"25379:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15034,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15023,"src":"25383:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15035,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15025,"src":"25387:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f40058ea8927b23c60661eeb28f54d3ce10f5f6cdd8e3ce445d34409ceb50a3","typeString":"literal_string \"log(uint,bool,uint,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15029,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25320:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25320:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25320:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15028,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"25304:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25304:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15038,"nodeType":"ExpressionStatement","src":"25304:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25237:3:14","parameters":{"id":15026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15019,"mutability":"mutable","name":"p0","nameLocation":"25246:2:14","nodeType":"VariableDeclaration","scope":15040,"src":"25241:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15018,"name":"uint","nodeType":"ElementaryTypeName","src":"25241:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15021,"mutability":"mutable","name":"p1","nameLocation":"25255:2:14","nodeType":"VariableDeclaration","scope":15040,"src":"25250:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15020,"name":"bool","nodeType":"ElementaryTypeName","src":"25250:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15023,"mutability":"mutable","name":"p2","nameLocation":"25264:2:14","nodeType":"VariableDeclaration","scope":15040,"src":"25259:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15022,"name":"uint","nodeType":"ElementaryTypeName","src":"25259:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15025,"mutability":"mutable","name":"p3","nameLocation":"25276:2:14","nodeType":"VariableDeclaration","scope":15040,"src":"25268:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15024,"name":"address","nodeType":"ElementaryTypeName","src":"25268:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25240:39:14"},"returnParameters":{"id":15027,"nodeType":"ParameterList","parameters":[],"src":"25294:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15063,"nodeType":"FunctionDefinition","src":"25404:175:14","nodes":[],"body":{"id":15062,"nodeType":"Block","src":"25476:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c737472696e672c75696e7429","id":15054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25526:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_915fdb28841654f5e04882ad0aa4f5de28bd90db1a700dae8b1eb5e67e36a012","typeString":"literal_string \"log(uint,bool,string,uint)\""},"value":"log(uint,bool,string,uint)"},{"id":15055,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15042,"src":"25556:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15056,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15044,"src":"25560:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15057,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15046,"src":"25564:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15058,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15048,"src":"25568:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_915fdb28841654f5e04882ad0aa4f5de28bd90db1a700dae8b1eb5e67e36a012","typeString":"literal_string \"log(uint,bool,string,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15052,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25502:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15053,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25502:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25502:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15051,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"25486:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25486:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15061,"nodeType":"ExpressionStatement","src":"25486:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25413:3:14","parameters":{"id":15049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15042,"mutability":"mutable","name":"p0","nameLocation":"25422:2:14","nodeType":"VariableDeclaration","scope":15063,"src":"25417:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15041,"name":"uint","nodeType":"ElementaryTypeName","src":"25417:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15044,"mutability":"mutable","name":"p1","nameLocation":"25431:2:14","nodeType":"VariableDeclaration","scope":15063,"src":"25426:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15043,"name":"bool","nodeType":"ElementaryTypeName","src":"25426:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15046,"mutability":"mutable","name":"p2","nameLocation":"25449:2:14","nodeType":"VariableDeclaration","scope":15063,"src":"25435:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15045,"name":"string","nodeType":"ElementaryTypeName","src":"25435:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15048,"mutability":"mutable","name":"p3","nameLocation":"25458:2:14","nodeType":"VariableDeclaration","scope":15063,"src":"25453:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15047,"name":"uint","nodeType":"ElementaryTypeName","src":"25453:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25416:45:14"},"returnParameters":{"id":15050,"nodeType":"ParameterList","parameters":[],"src":"25476:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15086,"nodeType":"FunctionDefinition","src":"25585:186:14","nodes":[],"body":{"id":15085,"nodeType":"Block","src":"25666:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c737472696e672c737472696e6729","id":15077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25716:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a433fcfd538cd0e077747fbb2c5a6453c1804c6ad4af653273e0d14ab4a0566a","typeString":"literal_string \"log(uint,bool,string,string)\""},"value":"log(uint,bool,string,string)"},{"id":15078,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15065,"src":"25748:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15079,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15067,"src":"25752:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15080,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15069,"src":"25756:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15081,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15071,"src":"25760:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a433fcfd538cd0e077747fbb2c5a6453c1804c6ad4af653273e0d14ab4a0566a","typeString":"literal_string \"log(uint,bool,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15075,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25692:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15076,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25692:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25692:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15074,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"25676:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25676:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15084,"nodeType":"ExpressionStatement","src":"25676:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25594:3:14","parameters":{"id":15072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15065,"mutability":"mutable","name":"p0","nameLocation":"25603:2:14","nodeType":"VariableDeclaration","scope":15086,"src":"25598:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15064,"name":"uint","nodeType":"ElementaryTypeName","src":"25598:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15067,"mutability":"mutable","name":"p1","nameLocation":"25612:2:14","nodeType":"VariableDeclaration","scope":15086,"src":"25607:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15066,"name":"bool","nodeType":"ElementaryTypeName","src":"25607:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15069,"mutability":"mutable","name":"p2","nameLocation":"25630:2:14","nodeType":"VariableDeclaration","scope":15086,"src":"25616:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15068,"name":"string","nodeType":"ElementaryTypeName","src":"25616:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15071,"mutability":"mutable","name":"p3","nameLocation":"25648:2:14","nodeType":"VariableDeclaration","scope":15086,"src":"25634:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15070,"name":"string","nodeType":"ElementaryTypeName","src":"25634:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25597:54:14"},"returnParameters":{"id":15073,"nodeType":"ParameterList","parameters":[],"src":"25666:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15109,"nodeType":"FunctionDefinition","src":"25777:175:14","nodes":[],"body":{"id":15108,"nodeType":"Block","src":"25849:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c737472696e672c626f6f6c29","id":15100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25899:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_346eb8c74221bcb2c0a69b8dde628b7e6175c4f090782c8f07996b251212e22d","typeString":"literal_string \"log(uint,bool,string,bool)\""},"value":"log(uint,bool,string,bool)"},{"id":15101,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15088,"src":"25929:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15102,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15090,"src":"25933:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15103,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15092,"src":"25937:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15104,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15094,"src":"25941:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_346eb8c74221bcb2c0a69b8dde628b7e6175c4f090782c8f07996b251212e22d","typeString":"literal_string \"log(uint,bool,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15098,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25875:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25875:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25875:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15097,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"25859:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25859:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15107,"nodeType":"ExpressionStatement","src":"25859:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25786:3:14","parameters":{"id":15095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15088,"mutability":"mutable","name":"p0","nameLocation":"25795:2:14","nodeType":"VariableDeclaration","scope":15109,"src":"25790:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15087,"name":"uint","nodeType":"ElementaryTypeName","src":"25790:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15090,"mutability":"mutable","name":"p1","nameLocation":"25804:2:14","nodeType":"VariableDeclaration","scope":15109,"src":"25799:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15089,"name":"bool","nodeType":"ElementaryTypeName","src":"25799:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15092,"mutability":"mutable","name":"p2","nameLocation":"25822:2:14","nodeType":"VariableDeclaration","scope":15109,"src":"25808:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15091,"name":"string","nodeType":"ElementaryTypeName","src":"25808:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15094,"mutability":"mutable","name":"p3","nameLocation":"25831:2:14","nodeType":"VariableDeclaration","scope":15109,"src":"25826:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15093,"name":"bool","nodeType":"ElementaryTypeName","src":"25826:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25789:45:14"},"returnParameters":{"id":15096,"nodeType":"ParameterList","parameters":[],"src":"25849:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15132,"nodeType":"FunctionDefinition","src":"25958:181:14","nodes":[],"body":{"id":15131,"nodeType":"Block","src":"26033:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c737472696e672c6164647265737329","id":15123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26083:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_496e2bb45f5cdd3680c3e807c53955b9de163e898851c7844433c0a9c91dcd9d","typeString":"literal_string \"log(uint,bool,string,address)\""},"value":"log(uint,bool,string,address)"},{"id":15124,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15111,"src":"26116:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15125,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15113,"src":"26120:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15126,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15115,"src":"26124:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15127,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15117,"src":"26128:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_496e2bb45f5cdd3680c3e807c53955b9de163e898851c7844433c0a9c91dcd9d","typeString":"literal_string \"log(uint,bool,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15121,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26059:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26059:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26059:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15120,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"26043:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26043:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15130,"nodeType":"ExpressionStatement","src":"26043:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25967:3:14","parameters":{"id":15118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15111,"mutability":"mutable","name":"p0","nameLocation":"25976:2:14","nodeType":"VariableDeclaration","scope":15132,"src":"25971:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15110,"name":"uint","nodeType":"ElementaryTypeName","src":"25971:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15113,"mutability":"mutable","name":"p1","nameLocation":"25985:2:14","nodeType":"VariableDeclaration","scope":15132,"src":"25980:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15112,"name":"bool","nodeType":"ElementaryTypeName","src":"25980:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15115,"mutability":"mutable","name":"p2","nameLocation":"26003:2:14","nodeType":"VariableDeclaration","scope":15132,"src":"25989:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15114,"name":"string","nodeType":"ElementaryTypeName","src":"25989:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15117,"mutability":"mutable","name":"p3","nameLocation":"26015:2:14","nodeType":"VariableDeclaration","scope":15132,"src":"26007:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15116,"name":"address","nodeType":"ElementaryTypeName","src":"26007:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25970:48:14"},"returnParameters":{"id":15119,"nodeType":"ParameterList","parameters":[],"src":"26033:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15155,"nodeType":"FunctionDefinition","src":"26145:164:14","nodes":[],"body":{"id":15154,"nodeType":"Block","src":"26208:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c626f6f6c2c75696e7429","id":15146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26258:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_bd25ad5987e2f3e90d5ff2c9e0dad802782e9040e45e823722ccf598278cf7ed","typeString":"literal_string \"log(uint,bool,bool,uint)\""},"value":"log(uint,bool,bool,uint)"},{"id":15147,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15134,"src":"26286:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15148,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15136,"src":"26290:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15149,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15138,"src":"26294:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15150,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15140,"src":"26298:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bd25ad5987e2f3e90d5ff2c9e0dad802782e9040e45e823722ccf598278cf7ed","typeString":"literal_string \"log(uint,bool,bool,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15144,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26234:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15145,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26234:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26234:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15143,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"26218:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26218:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15153,"nodeType":"ExpressionStatement","src":"26218:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26154:3:14","parameters":{"id":15141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15134,"mutability":"mutable","name":"p0","nameLocation":"26163:2:14","nodeType":"VariableDeclaration","scope":15155,"src":"26158:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15133,"name":"uint","nodeType":"ElementaryTypeName","src":"26158:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15136,"mutability":"mutable","name":"p1","nameLocation":"26172:2:14","nodeType":"VariableDeclaration","scope":15155,"src":"26167:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15135,"name":"bool","nodeType":"ElementaryTypeName","src":"26167:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15138,"mutability":"mutable","name":"p2","nameLocation":"26181:2:14","nodeType":"VariableDeclaration","scope":15155,"src":"26176:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15137,"name":"bool","nodeType":"ElementaryTypeName","src":"26176:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15140,"mutability":"mutable","name":"p3","nameLocation":"26190:2:14","nodeType":"VariableDeclaration","scope":15155,"src":"26185:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15139,"name":"uint","nodeType":"ElementaryTypeName","src":"26185:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26157:36:14"},"returnParameters":{"id":15142,"nodeType":"ParameterList","parameters":[],"src":"26208:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15178,"nodeType":"FunctionDefinition","src":"26315:175:14","nodes":[],"body":{"id":15177,"nodeType":"Block","src":"26387:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c626f6f6c2c737472696e6729","id":15169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26437:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_318ae59b506d4efe5cd02b34be9f24009f0134ab1136defc4789a09e425a8861","typeString":"literal_string \"log(uint,bool,bool,string)\""},"value":"log(uint,bool,bool,string)"},{"id":15170,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15157,"src":"26467:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15171,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15159,"src":"26471:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15172,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15161,"src":"26475:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15173,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15163,"src":"26479:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_318ae59b506d4efe5cd02b34be9f24009f0134ab1136defc4789a09e425a8861","typeString":"literal_string \"log(uint,bool,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15167,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26413:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26413:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26413:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15166,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"26397:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26397:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15176,"nodeType":"ExpressionStatement","src":"26397:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26324:3:14","parameters":{"id":15164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15157,"mutability":"mutable","name":"p0","nameLocation":"26333:2:14","nodeType":"VariableDeclaration","scope":15178,"src":"26328:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15156,"name":"uint","nodeType":"ElementaryTypeName","src":"26328:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15159,"mutability":"mutable","name":"p1","nameLocation":"26342:2:14","nodeType":"VariableDeclaration","scope":15178,"src":"26337:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15158,"name":"bool","nodeType":"ElementaryTypeName","src":"26337:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15161,"mutability":"mutable","name":"p2","nameLocation":"26351:2:14","nodeType":"VariableDeclaration","scope":15178,"src":"26346:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15160,"name":"bool","nodeType":"ElementaryTypeName","src":"26346:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15163,"mutability":"mutable","name":"p3","nameLocation":"26369:2:14","nodeType":"VariableDeclaration","scope":15178,"src":"26355:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15162,"name":"string","nodeType":"ElementaryTypeName","src":"26355:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26327:45:14"},"returnParameters":{"id":15165,"nodeType":"ParameterList","parameters":[],"src":"26387:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15201,"nodeType":"FunctionDefinition","src":"26496:164:14","nodes":[],"body":{"id":15200,"nodeType":"Block","src":"26559:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c626f6f6c2c626f6f6c29","id":15192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26609:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e6c5315e6998332ba87ae2545bc72447c94349a51e999446a98bfab04167b32","typeString":"literal_string \"log(uint,bool,bool,bool)\""},"value":"log(uint,bool,bool,bool)"},{"id":15193,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15180,"src":"26637:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15194,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15182,"src":"26641:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15195,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15184,"src":"26645:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15196,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15186,"src":"26649:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e6c5315e6998332ba87ae2545bc72447c94349a51e999446a98bfab04167b32","typeString":"literal_string \"log(uint,bool,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15190,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26585:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26585:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26585:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15189,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"26569:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26569:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15199,"nodeType":"ExpressionStatement","src":"26569:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26505:3:14","parameters":{"id":15187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15180,"mutability":"mutable","name":"p0","nameLocation":"26514:2:14","nodeType":"VariableDeclaration","scope":15201,"src":"26509:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15179,"name":"uint","nodeType":"ElementaryTypeName","src":"26509:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15182,"mutability":"mutable","name":"p1","nameLocation":"26523:2:14","nodeType":"VariableDeclaration","scope":15201,"src":"26518:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15181,"name":"bool","nodeType":"ElementaryTypeName","src":"26518:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15184,"mutability":"mutable","name":"p2","nameLocation":"26532:2:14","nodeType":"VariableDeclaration","scope":15201,"src":"26527:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15183,"name":"bool","nodeType":"ElementaryTypeName","src":"26527:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15186,"mutability":"mutable","name":"p3","nameLocation":"26541:2:14","nodeType":"VariableDeclaration","scope":15201,"src":"26536:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15185,"name":"bool","nodeType":"ElementaryTypeName","src":"26536:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26508:36:14"},"returnParameters":{"id":15188,"nodeType":"ParameterList","parameters":[],"src":"26559:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15224,"nodeType":"FunctionDefinition","src":"26666:170:14","nodes":[],"body":{"id":15223,"nodeType":"Block","src":"26732:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c626f6f6c2c6164647265737329","id":15215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26782:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5306225d3f6a0c340e12a634d8571b24a659d0fdcb96dd45e3bd062feb68355b","typeString":"literal_string \"log(uint,bool,bool,address)\""},"value":"log(uint,bool,bool,address)"},{"id":15216,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15203,"src":"26813:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15217,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15205,"src":"26817:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15218,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15207,"src":"26821:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15219,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15209,"src":"26825:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5306225d3f6a0c340e12a634d8571b24a659d0fdcb96dd45e3bd062feb68355b","typeString":"literal_string \"log(uint,bool,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15213,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26758:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26758:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26758:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15212,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"26742:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26742:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15222,"nodeType":"ExpressionStatement","src":"26742:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26675:3:14","parameters":{"id":15210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15203,"mutability":"mutable","name":"p0","nameLocation":"26684:2:14","nodeType":"VariableDeclaration","scope":15224,"src":"26679:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15202,"name":"uint","nodeType":"ElementaryTypeName","src":"26679:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15205,"mutability":"mutable","name":"p1","nameLocation":"26693:2:14","nodeType":"VariableDeclaration","scope":15224,"src":"26688:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15204,"name":"bool","nodeType":"ElementaryTypeName","src":"26688:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15207,"mutability":"mutable","name":"p2","nameLocation":"26702:2:14","nodeType":"VariableDeclaration","scope":15224,"src":"26697:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15206,"name":"bool","nodeType":"ElementaryTypeName","src":"26697:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15209,"mutability":"mutable","name":"p3","nameLocation":"26714:2:14","nodeType":"VariableDeclaration","scope":15224,"src":"26706:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15208,"name":"address","nodeType":"ElementaryTypeName","src":"26706:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26678:39:14"},"returnParameters":{"id":15211,"nodeType":"ParameterList","parameters":[],"src":"26732:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15247,"nodeType":"FunctionDefinition","src":"26842:170:14","nodes":[],"body":{"id":15246,"nodeType":"Block","src":"26908:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c616464726573732c75696e7429","id":15238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26958:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_41b5ef3bc57cb6072d9bbab757f04e68fb78a6a8b29741a7b963761abce32fb1","typeString":"literal_string \"log(uint,bool,address,uint)\""},"value":"log(uint,bool,address,uint)"},{"id":15239,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15226,"src":"26989:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15240,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15228,"src":"26993:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15241,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15230,"src":"26997:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15242,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15232,"src":"27001:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41b5ef3bc57cb6072d9bbab757f04e68fb78a6a8b29741a7b963761abce32fb1","typeString":"literal_string \"log(uint,bool,address,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15236,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26934:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26934:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26934:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15235,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"26918:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26918:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15245,"nodeType":"ExpressionStatement","src":"26918:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26851:3:14","parameters":{"id":15233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15226,"mutability":"mutable","name":"p0","nameLocation":"26860:2:14","nodeType":"VariableDeclaration","scope":15247,"src":"26855:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15225,"name":"uint","nodeType":"ElementaryTypeName","src":"26855:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15228,"mutability":"mutable","name":"p1","nameLocation":"26869:2:14","nodeType":"VariableDeclaration","scope":15247,"src":"26864:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15227,"name":"bool","nodeType":"ElementaryTypeName","src":"26864:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15230,"mutability":"mutable","name":"p2","nameLocation":"26881:2:14","nodeType":"VariableDeclaration","scope":15247,"src":"26873:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15229,"name":"address","nodeType":"ElementaryTypeName","src":"26873:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15232,"mutability":"mutable","name":"p3","nameLocation":"26890:2:14","nodeType":"VariableDeclaration","scope":15247,"src":"26885:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15231,"name":"uint","nodeType":"ElementaryTypeName","src":"26885:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26854:39:14"},"returnParameters":{"id":15234,"nodeType":"ParameterList","parameters":[],"src":"26908:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15270,"nodeType":"FunctionDefinition","src":"27018:181:14","nodes":[],"body":{"id":15269,"nodeType":"Block","src":"27093:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c616464726573732c737472696e6729","id":15261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27143:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a230761e3811ae33e11d91e6667cf79e7e0ce8023ec276bdd69859f68587933c","typeString":"literal_string \"log(uint,bool,address,string)\""},"value":"log(uint,bool,address,string)"},{"id":15262,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15249,"src":"27176:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15263,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15251,"src":"27180:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15264,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15253,"src":"27184:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15265,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15255,"src":"27188:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a230761e3811ae33e11d91e6667cf79e7e0ce8023ec276bdd69859f68587933c","typeString":"literal_string \"log(uint,bool,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15259,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27119:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27119:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27119:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15258,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"27103:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27103:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15268,"nodeType":"ExpressionStatement","src":"27103:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27027:3:14","parameters":{"id":15256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15249,"mutability":"mutable","name":"p0","nameLocation":"27036:2:14","nodeType":"VariableDeclaration","scope":15270,"src":"27031:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15248,"name":"uint","nodeType":"ElementaryTypeName","src":"27031:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15251,"mutability":"mutable","name":"p1","nameLocation":"27045:2:14","nodeType":"VariableDeclaration","scope":15270,"src":"27040:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15250,"name":"bool","nodeType":"ElementaryTypeName","src":"27040:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15253,"mutability":"mutable","name":"p2","nameLocation":"27057:2:14","nodeType":"VariableDeclaration","scope":15270,"src":"27049:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15252,"name":"address","nodeType":"ElementaryTypeName","src":"27049:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15255,"mutability":"mutable","name":"p3","nameLocation":"27075:2:14","nodeType":"VariableDeclaration","scope":15270,"src":"27061:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15254,"name":"string","nodeType":"ElementaryTypeName","src":"27061:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27030:48:14"},"returnParameters":{"id":15257,"nodeType":"ParameterList","parameters":[],"src":"27093:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15293,"nodeType":"FunctionDefinition","src":"27205:170:14","nodes":[],"body":{"id":15292,"nodeType":"Block","src":"27271:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c616464726573732c626f6f6c29","id":15284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27321:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_91fb124272873b32f25c28f6935451e3d46ffd78ac8ebaaa0e096a7942db5445","typeString":"literal_string \"log(uint,bool,address,bool)\""},"value":"log(uint,bool,address,bool)"},{"id":15285,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15272,"src":"27352:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15286,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15274,"src":"27356:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15287,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15276,"src":"27360:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15288,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15278,"src":"27364:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91fb124272873b32f25c28f6935451e3d46ffd78ac8ebaaa0e096a7942db5445","typeString":"literal_string \"log(uint,bool,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15282,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27297:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27297:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27297:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15281,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"27281:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27281:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15291,"nodeType":"ExpressionStatement","src":"27281:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27214:3:14","parameters":{"id":15279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15272,"mutability":"mutable","name":"p0","nameLocation":"27223:2:14","nodeType":"VariableDeclaration","scope":15293,"src":"27218:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15271,"name":"uint","nodeType":"ElementaryTypeName","src":"27218:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15274,"mutability":"mutable","name":"p1","nameLocation":"27232:2:14","nodeType":"VariableDeclaration","scope":15293,"src":"27227:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15273,"name":"bool","nodeType":"ElementaryTypeName","src":"27227:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15276,"mutability":"mutable","name":"p2","nameLocation":"27244:2:14","nodeType":"VariableDeclaration","scope":15293,"src":"27236:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15275,"name":"address","nodeType":"ElementaryTypeName","src":"27236:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15278,"mutability":"mutable","name":"p3","nameLocation":"27253:2:14","nodeType":"VariableDeclaration","scope":15293,"src":"27248:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15277,"name":"bool","nodeType":"ElementaryTypeName","src":"27248:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27217:39:14"},"returnParameters":{"id":15280,"nodeType":"ParameterList","parameters":[],"src":"27271:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15316,"nodeType":"FunctionDefinition","src":"27381:176:14","nodes":[],"body":{"id":15315,"nodeType":"Block","src":"27450:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c616464726573732c6164647265737329","id":15307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27500:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_86edc10cd85187c3b3f180e68e570c794e768808cdffe5158045d6f841ae33f2","typeString":"literal_string \"log(uint,bool,address,address)\""},"value":"log(uint,bool,address,address)"},{"id":15308,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15295,"src":"27534:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15309,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15297,"src":"27538:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15310,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15299,"src":"27542:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15311,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15301,"src":"27546:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86edc10cd85187c3b3f180e68e570c794e768808cdffe5158045d6f841ae33f2","typeString":"literal_string \"log(uint,bool,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15305,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27476:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27476:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27476:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15304,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"27460:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27460:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15314,"nodeType":"ExpressionStatement","src":"27460:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27390:3:14","parameters":{"id":15302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15295,"mutability":"mutable","name":"p0","nameLocation":"27399:2:14","nodeType":"VariableDeclaration","scope":15316,"src":"27394:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15294,"name":"uint","nodeType":"ElementaryTypeName","src":"27394:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15297,"mutability":"mutable","name":"p1","nameLocation":"27408:2:14","nodeType":"VariableDeclaration","scope":15316,"src":"27403:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15296,"name":"bool","nodeType":"ElementaryTypeName","src":"27403:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15299,"mutability":"mutable","name":"p2","nameLocation":"27420:2:14","nodeType":"VariableDeclaration","scope":15316,"src":"27412:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15298,"name":"address","nodeType":"ElementaryTypeName","src":"27412:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15301,"mutability":"mutable","name":"p3","nameLocation":"27432:2:14","nodeType":"VariableDeclaration","scope":15316,"src":"27424:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15300,"name":"address","nodeType":"ElementaryTypeName","src":"27424:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27393:42:14"},"returnParameters":{"id":15303,"nodeType":"ParameterList","parameters":[],"src":"27450:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15339,"nodeType":"FunctionDefinition","src":"27563:170:14","nodes":[],"body":{"id":15338,"nodeType":"Block","src":"27629:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c75696e742c75696e7429","id":15330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27679:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca9a3eb4a61979ee5cc1814fa8df2504ab7831148afaa3d4c17622578eab7412","typeString":"literal_string \"log(uint,address,uint,uint)\""},"value":"log(uint,address,uint,uint)"},{"id":15331,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15318,"src":"27710:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15332,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15320,"src":"27714:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15333,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15322,"src":"27718:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15334,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15324,"src":"27722:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca9a3eb4a61979ee5cc1814fa8df2504ab7831148afaa3d4c17622578eab7412","typeString":"literal_string \"log(uint,address,uint,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15328,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27655:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27655:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27655:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15327,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"27639:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27639:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15337,"nodeType":"ExpressionStatement","src":"27639:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27572:3:14","parameters":{"id":15325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15318,"mutability":"mutable","name":"p0","nameLocation":"27581:2:14","nodeType":"VariableDeclaration","scope":15339,"src":"27576:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15317,"name":"uint","nodeType":"ElementaryTypeName","src":"27576:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15320,"mutability":"mutable","name":"p1","nameLocation":"27593:2:14","nodeType":"VariableDeclaration","scope":15339,"src":"27585:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15319,"name":"address","nodeType":"ElementaryTypeName","src":"27585:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15322,"mutability":"mutable","name":"p2","nameLocation":"27602:2:14","nodeType":"VariableDeclaration","scope":15339,"src":"27597:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15321,"name":"uint","nodeType":"ElementaryTypeName","src":"27597:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15324,"mutability":"mutable","name":"p3","nameLocation":"27611:2:14","nodeType":"VariableDeclaration","scope":15339,"src":"27606:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15323,"name":"uint","nodeType":"ElementaryTypeName","src":"27606:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27575:39:14"},"returnParameters":{"id":15326,"nodeType":"ParameterList","parameters":[],"src":"27629:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15362,"nodeType":"FunctionDefinition","src":"27739:181:14","nodes":[],"body":{"id":15361,"nodeType":"Block","src":"27814:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c75696e742c737472696e6729","id":15353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27864:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3ed3bd282d1a27244fa4d3668aff783448c1a1864ff920057fa9f1c8144bb10b","typeString":"literal_string \"log(uint,address,uint,string)\""},"value":"log(uint,address,uint,string)"},{"id":15354,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15341,"src":"27897:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15355,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15343,"src":"27901:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15356,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15345,"src":"27905:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15357,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15347,"src":"27909:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3ed3bd282d1a27244fa4d3668aff783448c1a1864ff920057fa9f1c8144bb10b","typeString":"literal_string \"log(uint,address,uint,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15351,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27840:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15352,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27840:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27840:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15350,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"27824:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27824:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15360,"nodeType":"ExpressionStatement","src":"27824:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27748:3:14","parameters":{"id":15348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15341,"mutability":"mutable","name":"p0","nameLocation":"27757:2:14","nodeType":"VariableDeclaration","scope":15362,"src":"27752:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15340,"name":"uint","nodeType":"ElementaryTypeName","src":"27752:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15343,"mutability":"mutable","name":"p1","nameLocation":"27769:2:14","nodeType":"VariableDeclaration","scope":15362,"src":"27761:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15342,"name":"address","nodeType":"ElementaryTypeName","src":"27761:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15345,"mutability":"mutable","name":"p2","nameLocation":"27778:2:14","nodeType":"VariableDeclaration","scope":15362,"src":"27773:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15344,"name":"uint","nodeType":"ElementaryTypeName","src":"27773:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15347,"mutability":"mutable","name":"p3","nameLocation":"27796:2:14","nodeType":"VariableDeclaration","scope":15362,"src":"27782:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15346,"name":"string","nodeType":"ElementaryTypeName","src":"27782:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27751:48:14"},"returnParameters":{"id":15349,"nodeType":"ParameterList","parameters":[],"src":"27814:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15385,"nodeType":"FunctionDefinition","src":"27926:170:14","nodes":[],"body":{"id":15384,"nodeType":"Block","src":"27992:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c75696e742c626f6f6c29","id":15376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28042:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_19f67369d42bc0582d07ae744348ad46b79a6c16f354e3d3fb3c6bff2ecfa9f8","typeString":"literal_string \"log(uint,address,uint,bool)\""},"value":"log(uint,address,uint,bool)"},{"id":15377,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15364,"src":"28073:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15378,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15366,"src":"28077:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15379,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15368,"src":"28081:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15380,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15370,"src":"28085:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_19f67369d42bc0582d07ae744348ad46b79a6c16f354e3d3fb3c6bff2ecfa9f8","typeString":"literal_string \"log(uint,address,uint,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15374,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28018:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15375,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28018:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28018:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15373,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"28002:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28002:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15383,"nodeType":"ExpressionStatement","src":"28002:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27935:3:14","parameters":{"id":15371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15364,"mutability":"mutable","name":"p0","nameLocation":"27944:2:14","nodeType":"VariableDeclaration","scope":15385,"src":"27939:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15363,"name":"uint","nodeType":"ElementaryTypeName","src":"27939:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15366,"mutability":"mutable","name":"p1","nameLocation":"27956:2:14","nodeType":"VariableDeclaration","scope":15385,"src":"27948:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15365,"name":"address","nodeType":"ElementaryTypeName","src":"27948:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15368,"mutability":"mutable","name":"p2","nameLocation":"27965:2:14","nodeType":"VariableDeclaration","scope":15385,"src":"27960:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15367,"name":"uint","nodeType":"ElementaryTypeName","src":"27960:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15370,"mutability":"mutable","name":"p3","nameLocation":"27974:2:14","nodeType":"VariableDeclaration","scope":15385,"src":"27969:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15369,"name":"bool","nodeType":"ElementaryTypeName","src":"27969:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27938:39:14"},"returnParameters":{"id":15372,"nodeType":"ParameterList","parameters":[],"src":"27992:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15408,"nodeType":"FunctionDefinition","src":"28102:176:14","nodes":[],"body":{"id":15407,"nodeType":"Block","src":"28171:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c75696e742c6164647265737329","id":15399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28221:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_fdb2ecd415c75df8f66285a054607fa1335126fb1d8930dfc21744a3de7298e3","typeString":"literal_string \"log(uint,address,uint,address)\""},"value":"log(uint,address,uint,address)"},{"id":15400,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15387,"src":"28255:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15401,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15389,"src":"28259:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15402,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15391,"src":"28263:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15403,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15393,"src":"28267:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fdb2ecd415c75df8f66285a054607fa1335126fb1d8930dfc21744a3de7298e3","typeString":"literal_string \"log(uint,address,uint,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15397,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28197:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15398,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28197:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28197:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15396,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"28181:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28181:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15406,"nodeType":"ExpressionStatement","src":"28181:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28111:3:14","parameters":{"id":15394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15387,"mutability":"mutable","name":"p0","nameLocation":"28120:2:14","nodeType":"VariableDeclaration","scope":15408,"src":"28115:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15386,"name":"uint","nodeType":"ElementaryTypeName","src":"28115:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15389,"mutability":"mutable","name":"p1","nameLocation":"28132:2:14","nodeType":"VariableDeclaration","scope":15408,"src":"28124:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15388,"name":"address","nodeType":"ElementaryTypeName","src":"28124:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15391,"mutability":"mutable","name":"p2","nameLocation":"28141:2:14","nodeType":"VariableDeclaration","scope":15408,"src":"28136:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15390,"name":"uint","nodeType":"ElementaryTypeName","src":"28136:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15393,"mutability":"mutable","name":"p3","nameLocation":"28153:2:14","nodeType":"VariableDeclaration","scope":15408,"src":"28145:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15392,"name":"address","nodeType":"ElementaryTypeName","src":"28145:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28114:42:14"},"returnParameters":{"id":15395,"nodeType":"ParameterList","parameters":[],"src":"28171:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15431,"nodeType":"FunctionDefinition","src":"28284:181:14","nodes":[],"body":{"id":15430,"nodeType":"Block","src":"28359:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c737472696e672c75696e7429","id":15422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28409:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0c414e8ba2ea65b865dd0bf68b2357e81261b47f237c68a4a8a63051bbef2eb","typeString":"literal_string \"log(uint,address,string,uint)\""},"value":"log(uint,address,string,uint)"},{"id":15423,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15410,"src":"28442:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15424,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15412,"src":"28446:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15425,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15414,"src":"28450:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15426,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15416,"src":"28454:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0c414e8ba2ea65b865dd0bf68b2357e81261b47f237c68a4a8a63051bbef2eb","typeString":"literal_string \"log(uint,address,string,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15420,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28385:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28385:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28385:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15419,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"28369:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28369:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15429,"nodeType":"ExpressionStatement","src":"28369:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28293:3:14","parameters":{"id":15417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15410,"mutability":"mutable","name":"p0","nameLocation":"28302:2:14","nodeType":"VariableDeclaration","scope":15431,"src":"28297:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15409,"name":"uint","nodeType":"ElementaryTypeName","src":"28297:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15412,"mutability":"mutable","name":"p1","nameLocation":"28314:2:14","nodeType":"VariableDeclaration","scope":15431,"src":"28306:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15411,"name":"address","nodeType":"ElementaryTypeName","src":"28306:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15414,"mutability":"mutable","name":"p2","nameLocation":"28332:2:14","nodeType":"VariableDeclaration","scope":15431,"src":"28318:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15413,"name":"string","nodeType":"ElementaryTypeName","src":"28318:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15416,"mutability":"mutable","name":"p3","nameLocation":"28341:2:14","nodeType":"VariableDeclaration","scope":15431,"src":"28336:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15415,"name":"uint","nodeType":"ElementaryTypeName","src":"28336:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28296:48:14"},"returnParameters":{"id":15418,"nodeType":"ParameterList","parameters":[],"src":"28359:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15454,"nodeType":"FunctionDefinition","src":"28471:192:14","nodes":[],"body":{"id":15453,"nodeType":"Block","src":"28555:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c737472696e672c737472696e6729","id":15445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28605:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d778624e1d83269ce0415864bb54677b540f778c6b8503cf9035bc7517326f1","typeString":"literal_string \"log(uint,address,string,string)\""},"value":"log(uint,address,string,string)"},{"id":15446,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15433,"src":"28640:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15447,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15435,"src":"28644:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15448,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15437,"src":"28648:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15449,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15439,"src":"28652:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d778624e1d83269ce0415864bb54677b540f778c6b8503cf9035bc7517326f1","typeString":"literal_string \"log(uint,address,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15443,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28581:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28581:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28581:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15442,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"28565:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28565:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15452,"nodeType":"ExpressionStatement","src":"28565:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28480:3:14","parameters":{"id":15440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15433,"mutability":"mutable","name":"p0","nameLocation":"28489:2:14","nodeType":"VariableDeclaration","scope":15454,"src":"28484:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15432,"name":"uint","nodeType":"ElementaryTypeName","src":"28484:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15435,"mutability":"mutable","name":"p1","nameLocation":"28501:2:14","nodeType":"VariableDeclaration","scope":15454,"src":"28493:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15434,"name":"address","nodeType":"ElementaryTypeName","src":"28493:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15437,"mutability":"mutable","name":"p2","nameLocation":"28519:2:14","nodeType":"VariableDeclaration","scope":15454,"src":"28505:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15436,"name":"string","nodeType":"ElementaryTypeName","src":"28505:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15439,"mutability":"mutable","name":"p3","nameLocation":"28537:2:14","nodeType":"VariableDeclaration","scope":15454,"src":"28523:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15438,"name":"string","nodeType":"ElementaryTypeName","src":"28523:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28483:57:14"},"returnParameters":{"id":15441,"nodeType":"ParameterList","parameters":[],"src":"28555:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15477,"nodeType":"FunctionDefinition","src":"28669:181:14","nodes":[],"body":{"id":15476,"nodeType":"Block","src":"28744:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c737472696e672c626f6f6c29","id":15468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28794:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_22a479a660b74b7598155f369ed227a5a93527fbdb04ff6f78fbf35fa23aacbf","typeString":"literal_string \"log(uint,address,string,bool)\""},"value":"log(uint,address,string,bool)"},{"id":15469,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15456,"src":"28827:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15470,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15458,"src":"28831:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15471,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15460,"src":"28835:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15472,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15462,"src":"28839:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_22a479a660b74b7598155f369ed227a5a93527fbdb04ff6f78fbf35fa23aacbf","typeString":"literal_string \"log(uint,address,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15466,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28770:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15467,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28770:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28770:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15465,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"28754:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28754:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15475,"nodeType":"ExpressionStatement","src":"28754:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28678:3:14","parameters":{"id":15463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15456,"mutability":"mutable","name":"p0","nameLocation":"28687:2:14","nodeType":"VariableDeclaration","scope":15477,"src":"28682:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15455,"name":"uint","nodeType":"ElementaryTypeName","src":"28682:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15458,"mutability":"mutable","name":"p1","nameLocation":"28699:2:14","nodeType":"VariableDeclaration","scope":15477,"src":"28691:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15457,"name":"address","nodeType":"ElementaryTypeName","src":"28691:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15460,"mutability":"mutable","name":"p2","nameLocation":"28717:2:14","nodeType":"VariableDeclaration","scope":15477,"src":"28703:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15459,"name":"string","nodeType":"ElementaryTypeName","src":"28703:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15462,"mutability":"mutable","name":"p3","nameLocation":"28726:2:14","nodeType":"VariableDeclaration","scope":15477,"src":"28721:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15461,"name":"bool","nodeType":"ElementaryTypeName","src":"28721:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28681:48:14"},"returnParameters":{"id":15464,"nodeType":"ParameterList","parameters":[],"src":"28744:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15500,"nodeType":"FunctionDefinition","src":"28856:187:14","nodes":[],"body":{"id":15499,"nodeType":"Block","src":"28934:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c737472696e672c6164647265737329","id":15491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28984:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_cbe58efddc067d74914c3479914810966ae688ac66ca2bbcae69cd9d0395796f","typeString":"literal_string \"log(uint,address,string,address)\""},"value":"log(uint,address,string,address)"},{"id":15492,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15479,"src":"29020:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15493,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15481,"src":"29024:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15494,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15483,"src":"29028:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15495,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15485,"src":"29032:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cbe58efddc067d74914c3479914810966ae688ac66ca2bbcae69cd9d0395796f","typeString":"literal_string \"log(uint,address,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15489,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28960:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28960:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28960:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15488,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"28944:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28944:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15498,"nodeType":"ExpressionStatement","src":"28944:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28865:3:14","parameters":{"id":15486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15479,"mutability":"mutable","name":"p0","nameLocation":"28874:2:14","nodeType":"VariableDeclaration","scope":15500,"src":"28869:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15478,"name":"uint","nodeType":"ElementaryTypeName","src":"28869:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15481,"mutability":"mutable","name":"p1","nameLocation":"28886:2:14","nodeType":"VariableDeclaration","scope":15500,"src":"28878:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15480,"name":"address","nodeType":"ElementaryTypeName","src":"28878:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15483,"mutability":"mutable","name":"p2","nameLocation":"28904:2:14","nodeType":"VariableDeclaration","scope":15500,"src":"28890:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15482,"name":"string","nodeType":"ElementaryTypeName","src":"28890:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15485,"mutability":"mutable","name":"p3","nameLocation":"28916:2:14","nodeType":"VariableDeclaration","scope":15500,"src":"28908:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15484,"name":"address","nodeType":"ElementaryTypeName","src":"28908:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28868:51:14"},"returnParameters":{"id":15487,"nodeType":"ParameterList","parameters":[],"src":"28934:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15523,"nodeType":"FunctionDefinition","src":"29049:170:14","nodes":[],"body":{"id":15522,"nodeType":"Block","src":"29115:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c626f6f6c2c75696e7429","id":15514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29165:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7b08e8ebd6be8a04c54551194ba5143f1a555d43fe60d53843383a9915eeccb2","typeString":"literal_string \"log(uint,address,bool,uint)\""},"value":"log(uint,address,bool,uint)"},{"id":15515,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15502,"src":"29196:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15516,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15504,"src":"29200:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15517,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15506,"src":"29204:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15518,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15508,"src":"29208:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7b08e8ebd6be8a04c54551194ba5143f1a555d43fe60d53843383a9915eeccb2","typeString":"literal_string \"log(uint,address,bool,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15512,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29141:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15513,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29141:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29141:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15511,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"29125:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29125:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15521,"nodeType":"ExpressionStatement","src":"29125:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29058:3:14","parameters":{"id":15509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15502,"mutability":"mutable","name":"p0","nameLocation":"29067:2:14","nodeType":"VariableDeclaration","scope":15523,"src":"29062:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15501,"name":"uint","nodeType":"ElementaryTypeName","src":"29062:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15504,"mutability":"mutable","name":"p1","nameLocation":"29079:2:14","nodeType":"VariableDeclaration","scope":15523,"src":"29071:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15503,"name":"address","nodeType":"ElementaryTypeName","src":"29071:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15506,"mutability":"mutable","name":"p2","nameLocation":"29088:2:14","nodeType":"VariableDeclaration","scope":15523,"src":"29083:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15505,"name":"bool","nodeType":"ElementaryTypeName","src":"29083:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15508,"mutability":"mutable","name":"p3","nameLocation":"29097:2:14","nodeType":"VariableDeclaration","scope":15523,"src":"29092:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15507,"name":"uint","nodeType":"ElementaryTypeName","src":"29092:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29061:39:14"},"returnParameters":{"id":15510,"nodeType":"ParameterList","parameters":[],"src":"29115:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15546,"nodeType":"FunctionDefinition","src":"29225:181:14","nodes":[],"body":{"id":15545,"nodeType":"Block","src":"29300:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c626f6f6c2c737472696e6729","id":15537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29350:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_63f0e24221aeb6c531ea500a191ac35497bf48695fb29864fe57726a12d605c6","typeString":"literal_string \"log(uint,address,bool,string)\""},"value":"log(uint,address,bool,string)"},{"id":15538,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15525,"src":"29383:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15539,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15527,"src":"29387:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15540,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15529,"src":"29391:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15541,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15531,"src":"29395:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63f0e24221aeb6c531ea500a191ac35497bf48695fb29864fe57726a12d605c6","typeString":"literal_string \"log(uint,address,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15535,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29326:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15536,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29326:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29326:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15534,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"29310:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29310:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15544,"nodeType":"ExpressionStatement","src":"29310:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29234:3:14","parameters":{"id":15532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15525,"mutability":"mutable","name":"p0","nameLocation":"29243:2:14","nodeType":"VariableDeclaration","scope":15546,"src":"29238:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15524,"name":"uint","nodeType":"ElementaryTypeName","src":"29238:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15527,"mutability":"mutable","name":"p1","nameLocation":"29255:2:14","nodeType":"VariableDeclaration","scope":15546,"src":"29247:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15526,"name":"address","nodeType":"ElementaryTypeName","src":"29247:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15529,"mutability":"mutable","name":"p2","nameLocation":"29264:2:14","nodeType":"VariableDeclaration","scope":15546,"src":"29259:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15528,"name":"bool","nodeType":"ElementaryTypeName","src":"29259:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15531,"mutability":"mutable","name":"p3","nameLocation":"29282:2:14","nodeType":"VariableDeclaration","scope":15546,"src":"29268:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15530,"name":"string","nodeType":"ElementaryTypeName","src":"29268:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29237:48:14"},"returnParameters":{"id":15533,"nodeType":"ParameterList","parameters":[],"src":"29300:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15569,"nodeType":"FunctionDefinition","src":"29412:170:14","nodes":[],"body":{"id":15568,"nodeType":"Block","src":"29478:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c626f6f6c2c626f6f6c29","id":15560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29528:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7e27410dc86ab22a92f2a269c9cf538b707bde3ac248f933df1f4d0b76947d32","typeString":"literal_string \"log(uint,address,bool,bool)\""},"value":"log(uint,address,bool,bool)"},{"id":15561,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15548,"src":"29559:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15562,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15550,"src":"29563:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15563,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15552,"src":"29567:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15564,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15554,"src":"29571:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7e27410dc86ab22a92f2a269c9cf538b707bde3ac248f933df1f4d0b76947d32","typeString":"literal_string \"log(uint,address,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15558,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29504:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15559,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29504:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29504:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15557,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"29488:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29488:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15567,"nodeType":"ExpressionStatement","src":"29488:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29421:3:14","parameters":{"id":15555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15548,"mutability":"mutable","name":"p0","nameLocation":"29430:2:14","nodeType":"VariableDeclaration","scope":15569,"src":"29425:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15547,"name":"uint","nodeType":"ElementaryTypeName","src":"29425:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15550,"mutability":"mutable","name":"p1","nameLocation":"29442:2:14","nodeType":"VariableDeclaration","scope":15569,"src":"29434:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15549,"name":"address","nodeType":"ElementaryTypeName","src":"29434:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15552,"mutability":"mutable","name":"p2","nameLocation":"29451:2:14","nodeType":"VariableDeclaration","scope":15569,"src":"29446:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15551,"name":"bool","nodeType":"ElementaryTypeName","src":"29446:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15554,"mutability":"mutable","name":"p3","nameLocation":"29460:2:14","nodeType":"VariableDeclaration","scope":15569,"src":"29455:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15553,"name":"bool","nodeType":"ElementaryTypeName","src":"29455:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29424:39:14"},"returnParameters":{"id":15556,"nodeType":"ParameterList","parameters":[],"src":"29478:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15592,"nodeType":"FunctionDefinition","src":"29588:176:14","nodes":[],"body":{"id":15591,"nodeType":"Block","src":"29657:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c626f6f6c2c6164647265737329","id":15583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29707:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6313094a820841f3156e32d271c63cceded7f62875d471e1e87ef33ec252789","typeString":"literal_string \"log(uint,address,bool,address)\""},"value":"log(uint,address,bool,address)"},{"id":15584,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15571,"src":"29741:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15585,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15573,"src":"29745:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15586,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15575,"src":"29749:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15587,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15577,"src":"29753:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6313094a820841f3156e32d271c63cceded7f62875d471e1e87ef33ec252789","typeString":"literal_string \"log(uint,address,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15581,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29683:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29683:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29683:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15580,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"29667:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29667:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15590,"nodeType":"ExpressionStatement","src":"29667:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29597:3:14","parameters":{"id":15578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15571,"mutability":"mutable","name":"p0","nameLocation":"29606:2:14","nodeType":"VariableDeclaration","scope":15592,"src":"29601:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15570,"name":"uint","nodeType":"ElementaryTypeName","src":"29601:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15573,"mutability":"mutable","name":"p1","nameLocation":"29618:2:14","nodeType":"VariableDeclaration","scope":15592,"src":"29610:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15572,"name":"address","nodeType":"ElementaryTypeName","src":"29610:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15575,"mutability":"mutable","name":"p2","nameLocation":"29627:2:14","nodeType":"VariableDeclaration","scope":15592,"src":"29622:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15574,"name":"bool","nodeType":"ElementaryTypeName","src":"29622:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15577,"mutability":"mutable","name":"p3","nameLocation":"29639:2:14","nodeType":"VariableDeclaration","scope":15592,"src":"29631:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15576,"name":"address","nodeType":"ElementaryTypeName","src":"29631:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29600:42:14"},"returnParameters":{"id":15579,"nodeType":"ParameterList","parameters":[],"src":"29657:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15615,"nodeType":"FunctionDefinition","src":"29770:176:14","nodes":[],"body":{"id":15614,"nodeType":"Block","src":"29839:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c616464726573732c75696e7429","id":15606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29889:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9a3cbf9603c94c357c6f62b7a32789d9ca5caa81518d1277c9ca986a5650734b","typeString":"literal_string \"log(uint,address,address,uint)\""},"value":"log(uint,address,address,uint)"},{"id":15607,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15594,"src":"29923:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15608,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15596,"src":"29927:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15609,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15598,"src":"29931:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15610,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15600,"src":"29935:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9a3cbf9603c94c357c6f62b7a32789d9ca5caa81518d1277c9ca986a5650734b","typeString":"literal_string \"log(uint,address,address,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15604,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29865:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29865:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29865:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15603,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"29849:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29849:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15613,"nodeType":"ExpressionStatement","src":"29849:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29779:3:14","parameters":{"id":15601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15594,"mutability":"mutable","name":"p0","nameLocation":"29788:2:14","nodeType":"VariableDeclaration","scope":15615,"src":"29783:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15593,"name":"uint","nodeType":"ElementaryTypeName","src":"29783:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15596,"mutability":"mutable","name":"p1","nameLocation":"29800:2:14","nodeType":"VariableDeclaration","scope":15615,"src":"29792:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15595,"name":"address","nodeType":"ElementaryTypeName","src":"29792:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15598,"mutability":"mutable","name":"p2","nameLocation":"29812:2:14","nodeType":"VariableDeclaration","scope":15615,"src":"29804:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15597,"name":"address","nodeType":"ElementaryTypeName","src":"29804:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15600,"mutability":"mutable","name":"p3","nameLocation":"29821:2:14","nodeType":"VariableDeclaration","scope":15615,"src":"29816:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15599,"name":"uint","nodeType":"ElementaryTypeName","src":"29816:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29782:42:14"},"returnParameters":{"id":15602,"nodeType":"ParameterList","parameters":[],"src":"29839:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15638,"nodeType":"FunctionDefinition","src":"29952:187:14","nodes":[],"body":{"id":15637,"nodeType":"Block","src":"30030:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c616464726573732c737472696e6729","id":15629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30080:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7943dc6627d308affd474fe50b563bcfbf09518236383b806f11730459213622","typeString":"literal_string \"log(uint,address,address,string)\""},"value":"log(uint,address,address,string)"},{"id":15630,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15617,"src":"30116:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15631,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15619,"src":"30120:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15632,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15621,"src":"30124:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15633,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15623,"src":"30128:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7943dc6627d308affd474fe50b563bcfbf09518236383b806f11730459213622","typeString":"literal_string \"log(uint,address,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15627,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30056:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15628,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30056:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30056:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15626,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"30040:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30040:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15636,"nodeType":"ExpressionStatement","src":"30040:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29961:3:14","parameters":{"id":15624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15617,"mutability":"mutable","name":"p0","nameLocation":"29970:2:14","nodeType":"VariableDeclaration","scope":15638,"src":"29965:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15616,"name":"uint","nodeType":"ElementaryTypeName","src":"29965:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15619,"mutability":"mutable","name":"p1","nameLocation":"29982:2:14","nodeType":"VariableDeclaration","scope":15638,"src":"29974:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15618,"name":"address","nodeType":"ElementaryTypeName","src":"29974:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15621,"mutability":"mutable","name":"p2","nameLocation":"29994:2:14","nodeType":"VariableDeclaration","scope":15638,"src":"29986:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15620,"name":"address","nodeType":"ElementaryTypeName","src":"29986:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15623,"mutability":"mutable","name":"p3","nameLocation":"30012:2:14","nodeType":"VariableDeclaration","scope":15638,"src":"29998:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15622,"name":"string","nodeType":"ElementaryTypeName","src":"29998:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29964:51:14"},"returnParameters":{"id":15625,"nodeType":"ParameterList","parameters":[],"src":"30030:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15661,"nodeType":"FunctionDefinition","src":"30145:176:14","nodes":[],"body":{"id":15660,"nodeType":"Block","src":"30214:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c616464726573732c626f6f6c29","id":15652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30264:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_01550b04ea9916da7bc495d1b5ca5c4bd8d92ef3a98e2cca5a948cec5011f38c","typeString":"literal_string \"log(uint,address,address,bool)\""},"value":"log(uint,address,address,bool)"},{"id":15653,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15640,"src":"30298:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15654,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15642,"src":"30302:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15655,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15644,"src":"30306:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15656,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15646,"src":"30310:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_01550b04ea9916da7bc495d1b5ca5c4bd8d92ef3a98e2cca5a948cec5011f38c","typeString":"literal_string \"log(uint,address,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15650,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30240:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15651,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30240:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30240:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15649,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"30224:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30224:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15659,"nodeType":"ExpressionStatement","src":"30224:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30154:3:14","parameters":{"id":15647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15640,"mutability":"mutable","name":"p0","nameLocation":"30163:2:14","nodeType":"VariableDeclaration","scope":15661,"src":"30158:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15639,"name":"uint","nodeType":"ElementaryTypeName","src":"30158:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15642,"mutability":"mutable","name":"p1","nameLocation":"30175:2:14","nodeType":"VariableDeclaration","scope":15661,"src":"30167:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15641,"name":"address","nodeType":"ElementaryTypeName","src":"30167:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15644,"mutability":"mutable","name":"p2","nameLocation":"30187:2:14","nodeType":"VariableDeclaration","scope":15661,"src":"30179:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15643,"name":"address","nodeType":"ElementaryTypeName","src":"30179:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15646,"mutability":"mutable","name":"p3","nameLocation":"30196:2:14","nodeType":"VariableDeclaration","scope":15661,"src":"30191:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15645,"name":"bool","nodeType":"ElementaryTypeName","src":"30191:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30157:42:14"},"returnParameters":{"id":15648,"nodeType":"ParameterList","parameters":[],"src":"30214:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15684,"nodeType":"FunctionDefinition","src":"30327:182:14","nodes":[],"body":{"id":15683,"nodeType":"Block","src":"30399:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c616464726573732c6164647265737329","id":15675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30449:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_554745f9e6550eea6000ea2febc94de95d453100d5d60359e62cd398b366bfc4","typeString":"literal_string \"log(uint,address,address,address)\""},"value":"log(uint,address,address,address)"},{"id":15676,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15663,"src":"30486:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15677,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15665,"src":"30490:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15678,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15667,"src":"30494:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15679,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15669,"src":"30498:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_554745f9e6550eea6000ea2febc94de95d453100d5d60359e62cd398b366bfc4","typeString":"literal_string \"log(uint,address,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15673,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30425:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15674,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30425:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30425:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15672,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"30409:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30409:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15682,"nodeType":"ExpressionStatement","src":"30409:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30336:3:14","parameters":{"id":15670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15663,"mutability":"mutable","name":"p0","nameLocation":"30345:2:14","nodeType":"VariableDeclaration","scope":15684,"src":"30340:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15662,"name":"uint","nodeType":"ElementaryTypeName","src":"30340:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15665,"mutability":"mutable","name":"p1","nameLocation":"30357:2:14","nodeType":"VariableDeclaration","scope":15684,"src":"30349:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15664,"name":"address","nodeType":"ElementaryTypeName","src":"30349:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15667,"mutability":"mutable","name":"p2","nameLocation":"30369:2:14","nodeType":"VariableDeclaration","scope":15684,"src":"30361:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15666,"name":"address","nodeType":"ElementaryTypeName","src":"30361:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15669,"mutability":"mutable","name":"p3","nameLocation":"30381:2:14","nodeType":"VariableDeclaration","scope":15684,"src":"30373:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15668,"name":"address","nodeType":"ElementaryTypeName","src":"30373:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30339:45:14"},"returnParameters":{"id":15671,"nodeType":"ParameterList","parameters":[],"src":"30399:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15707,"nodeType":"FunctionDefinition","src":"30515:175:14","nodes":[],"body":{"id":15706,"nodeType":"Block","src":"30587:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c75696e742c75696e7429","id":15698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30637:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_08ee5666d6bd329d27af528e563bb238dedf631fe471effe31c7123dcb5164f2","typeString":"literal_string \"log(string,uint,uint,uint)\""},"value":"log(string,uint,uint,uint)"},{"id":15699,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15686,"src":"30667:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15700,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15688,"src":"30671:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15701,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15690,"src":"30675:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15702,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15692,"src":"30679:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_08ee5666d6bd329d27af528e563bb238dedf631fe471effe31c7123dcb5164f2","typeString":"literal_string \"log(string,uint,uint,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15696,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30613:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30613:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30613:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15695,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"30597:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30597:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15705,"nodeType":"ExpressionStatement","src":"30597:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30524:3:14","parameters":{"id":15693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15686,"mutability":"mutable","name":"p0","nameLocation":"30542:2:14","nodeType":"VariableDeclaration","scope":15707,"src":"30528:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15685,"name":"string","nodeType":"ElementaryTypeName","src":"30528:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15688,"mutability":"mutable","name":"p1","nameLocation":"30551:2:14","nodeType":"VariableDeclaration","scope":15707,"src":"30546:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15687,"name":"uint","nodeType":"ElementaryTypeName","src":"30546:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15690,"mutability":"mutable","name":"p2","nameLocation":"30560:2:14","nodeType":"VariableDeclaration","scope":15707,"src":"30555:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15689,"name":"uint","nodeType":"ElementaryTypeName","src":"30555:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15692,"mutability":"mutable","name":"p3","nameLocation":"30569:2:14","nodeType":"VariableDeclaration","scope":15707,"src":"30564:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15691,"name":"uint","nodeType":"ElementaryTypeName","src":"30564:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30527:45:14"},"returnParameters":{"id":15694,"nodeType":"ParameterList","parameters":[],"src":"30587:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15730,"nodeType":"FunctionDefinition","src":"30696:186:14","nodes":[],"body":{"id":15729,"nodeType":"Block","src":"30777:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c75696e742c737472696e6729","id":15721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30827:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a54ed4bdd39588715cd10f1b9730ac9f0db064013c8dc11e216fa2ef3a5948b8","typeString":"literal_string \"log(string,uint,uint,string)\""},"value":"log(string,uint,uint,string)"},{"id":15722,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15709,"src":"30859:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15723,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15711,"src":"30863:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15724,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15713,"src":"30867:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15725,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15715,"src":"30871:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a54ed4bdd39588715cd10f1b9730ac9f0db064013c8dc11e216fa2ef3a5948b8","typeString":"literal_string \"log(string,uint,uint,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15719,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30803:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30803:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30803:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15718,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"30787:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30787:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15728,"nodeType":"ExpressionStatement","src":"30787:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30705:3:14","parameters":{"id":15716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15709,"mutability":"mutable","name":"p0","nameLocation":"30723:2:14","nodeType":"VariableDeclaration","scope":15730,"src":"30709:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15708,"name":"string","nodeType":"ElementaryTypeName","src":"30709:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15711,"mutability":"mutable","name":"p1","nameLocation":"30732:2:14","nodeType":"VariableDeclaration","scope":15730,"src":"30727:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15710,"name":"uint","nodeType":"ElementaryTypeName","src":"30727:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15713,"mutability":"mutable","name":"p2","nameLocation":"30741:2:14","nodeType":"VariableDeclaration","scope":15730,"src":"30736:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15712,"name":"uint","nodeType":"ElementaryTypeName","src":"30736:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15715,"mutability":"mutable","name":"p3","nameLocation":"30759:2:14","nodeType":"VariableDeclaration","scope":15730,"src":"30745:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15714,"name":"string","nodeType":"ElementaryTypeName","src":"30745:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30708:54:14"},"returnParameters":{"id":15717,"nodeType":"ParameterList","parameters":[],"src":"30777:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15753,"nodeType":"FunctionDefinition","src":"30888:175:14","nodes":[],"body":{"id":15752,"nodeType":"Block","src":"30960:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c75696e742c626f6f6c29","id":15744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31010:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f73c7e3dc5b5cecd5787e08e359612e609c17649291b138c8f184ee441526f2d","typeString":"literal_string \"log(string,uint,uint,bool)\""},"value":"log(string,uint,uint,bool)"},{"id":15745,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15732,"src":"31040:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15746,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15734,"src":"31044:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15747,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15736,"src":"31048:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15748,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15738,"src":"31052:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f73c7e3dc5b5cecd5787e08e359612e609c17649291b138c8f184ee441526f2d","typeString":"literal_string \"log(string,uint,uint,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15742,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30986:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15743,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30986:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30986:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15741,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"30970:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30970:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15751,"nodeType":"ExpressionStatement","src":"30970:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30897:3:14","parameters":{"id":15739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15732,"mutability":"mutable","name":"p0","nameLocation":"30915:2:14","nodeType":"VariableDeclaration","scope":15753,"src":"30901:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15731,"name":"string","nodeType":"ElementaryTypeName","src":"30901:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15734,"mutability":"mutable","name":"p1","nameLocation":"30924:2:14","nodeType":"VariableDeclaration","scope":15753,"src":"30919:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15733,"name":"uint","nodeType":"ElementaryTypeName","src":"30919:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15736,"mutability":"mutable","name":"p2","nameLocation":"30933:2:14","nodeType":"VariableDeclaration","scope":15753,"src":"30928:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15735,"name":"uint","nodeType":"ElementaryTypeName","src":"30928:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15738,"mutability":"mutable","name":"p3","nameLocation":"30942:2:14","nodeType":"VariableDeclaration","scope":15753,"src":"30937:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15737,"name":"bool","nodeType":"ElementaryTypeName","src":"30937:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30900:45:14"},"returnParameters":{"id":15740,"nodeType":"ParameterList","parameters":[],"src":"30960:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15776,"nodeType":"FunctionDefinition","src":"31069:181:14","nodes":[],"body":{"id":15775,"nodeType":"Block","src":"31144:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c75696e742c6164647265737329","id":15767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31194:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_bed728bf5bf9afc41a2cff142cfc289808bbba64cbab683d8e6689e6f6f14abc","typeString":"literal_string \"log(string,uint,uint,address)\""},"value":"log(string,uint,uint,address)"},{"id":15768,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15755,"src":"31227:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15769,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15757,"src":"31231:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15770,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15759,"src":"31235:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15771,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15761,"src":"31239:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bed728bf5bf9afc41a2cff142cfc289808bbba64cbab683d8e6689e6f6f14abc","typeString":"literal_string \"log(string,uint,uint,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15765,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31170:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15766,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31170:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31170:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15764,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"31154:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31154:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15774,"nodeType":"ExpressionStatement","src":"31154:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31078:3:14","parameters":{"id":15762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15755,"mutability":"mutable","name":"p0","nameLocation":"31096:2:14","nodeType":"VariableDeclaration","scope":15776,"src":"31082:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15754,"name":"string","nodeType":"ElementaryTypeName","src":"31082:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15757,"mutability":"mutable","name":"p1","nameLocation":"31105:2:14","nodeType":"VariableDeclaration","scope":15776,"src":"31100:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15756,"name":"uint","nodeType":"ElementaryTypeName","src":"31100:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15759,"mutability":"mutable","name":"p2","nameLocation":"31114:2:14","nodeType":"VariableDeclaration","scope":15776,"src":"31109:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15758,"name":"uint","nodeType":"ElementaryTypeName","src":"31109:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15761,"mutability":"mutable","name":"p3","nameLocation":"31126:2:14","nodeType":"VariableDeclaration","scope":15776,"src":"31118:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15760,"name":"address","nodeType":"ElementaryTypeName","src":"31118:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31081:48:14"},"returnParameters":{"id":15763,"nodeType":"ParameterList","parameters":[],"src":"31144:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15799,"nodeType":"FunctionDefinition","src":"31256:186:14","nodes":[],"body":{"id":15798,"nodeType":"Block","src":"31337:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c737472696e672c75696e7429","id":15790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31387:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0c4b225a555b1198e8b1e32117070e759cad9a7266d99901b8a7fd2482d0e2f","typeString":"literal_string \"log(string,uint,string,uint)\""},"value":"log(string,uint,string,uint)"},{"id":15791,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15778,"src":"31419:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15792,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15780,"src":"31423:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15793,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15782,"src":"31427:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15794,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15784,"src":"31431:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0c4b225a555b1198e8b1e32117070e759cad9a7266d99901b8a7fd2482d0e2f","typeString":"literal_string \"log(string,uint,string,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15788,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31363:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31363:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31363:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15787,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"31347:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31347:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15797,"nodeType":"ExpressionStatement","src":"31347:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31265:3:14","parameters":{"id":15785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15778,"mutability":"mutable","name":"p0","nameLocation":"31283:2:14","nodeType":"VariableDeclaration","scope":15799,"src":"31269:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15777,"name":"string","nodeType":"ElementaryTypeName","src":"31269:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15780,"mutability":"mutable","name":"p1","nameLocation":"31292:2:14","nodeType":"VariableDeclaration","scope":15799,"src":"31287:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15779,"name":"uint","nodeType":"ElementaryTypeName","src":"31287:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15782,"mutability":"mutable","name":"p2","nameLocation":"31310:2:14","nodeType":"VariableDeclaration","scope":15799,"src":"31296:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15781,"name":"string","nodeType":"ElementaryTypeName","src":"31296:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15784,"mutability":"mutable","name":"p3","nameLocation":"31319:2:14","nodeType":"VariableDeclaration","scope":15799,"src":"31314:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15783,"name":"uint","nodeType":"ElementaryTypeName","src":"31314:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31268:54:14"},"returnParameters":{"id":15786,"nodeType":"ParameterList","parameters":[],"src":"31337:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15822,"nodeType":"FunctionDefinition","src":"31448:197:14","nodes":[],"body":{"id":15821,"nodeType":"Block","src":"31538:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c737472696e672c737472696e6729","id":15813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31588:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6c98dae27db048edb14bb31b4326832aa1fb54be52caaf49d1cecb59aa297c07","typeString":"literal_string \"log(string,uint,string,string)\""},"value":"log(string,uint,string,string)"},{"id":15814,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15801,"src":"31622:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15815,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15803,"src":"31626:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15816,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15805,"src":"31630:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15817,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15807,"src":"31634:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6c98dae27db048edb14bb31b4326832aa1fb54be52caaf49d1cecb59aa297c07","typeString":"literal_string \"log(string,uint,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15811,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31564:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31564:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31564:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15810,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"31548:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31548:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15820,"nodeType":"ExpressionStatement","src":"31548:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31457:3:14","parameters":{"id":15808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15801,"mutability":"mutable","name":"p0","nameLocation":"31475:2:14","nodeType":"VariableDeclaration","scope":15822,"src":"31461:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15800,"name":"string","nodeType":"ElementaryTypeName","src":"31461:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15803,"mutability":"mutable","name":"p1","nameLocation":"31484:2:14","nodeType":"VariableDeclaration","scope":15822,"src":"31479:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15802,"name":"uint","nodeType":"ElementaryTypeName","src":"31479:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15805,"mutability":"mutable","name":"p2","nameLocation":"31502:2:14","nodeType":"VariableDeclaration","scope":15822,"src":"31488:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15804,"name":"string","nodeType":"ElementaryTypeName","src":"31488:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15807,"mutability":"mutable","name":"p3","nameLocation":"31520:2:14","nodeType":"VariableDeclaration","scope":15822,"src":"31506:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15806,"name":"string","nodeType":"ElementaryTypeName","src":"31506:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31460:63:14"},"returnParameters":{"id":15809,"nodeType":"ParameterList","parameters":[],"src":"31538:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15845,"nodeType":"FunctionDefinition","src":"31651:186:14","nodes":[],"body":{"id":15844,"nodeType":"Block","src":"31732:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c737472696e672c626f6f6c29","id":15836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31782:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e99f82cf29cb9d7551a843a55617f00569395570d3a9816be530f7c6197ec7c8","typeString":"literal_string \"log(string,uint,string,bool)\""},"value":"log(string,uint,string,bool)"},{"id":15837,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15824,"src":"31814:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15838,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15826,"src":"31818:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15839,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15828,"src":"31822:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15840,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15830,"src":"31826:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e99f82cf29cb9d7551a843a55617f00569395570d3a9816be530f7c6197ec7c8","typeString":"literal_string \"log(string,uint,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15834,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31758:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15835,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31758:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31758:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15833,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"31742:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31742:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15843,"nodeType":"ExpressionStatement","src":"31742:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31660:3:14","parameters":{"id":15831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15824,"mutability":"mutable","name":"p0","nameLocation":"31678:2:14","nodeType":"VariableDeclaration","scope":15845,"src":"31664:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15823,"name":"string","nodeType":"ElementaryTypeName","src":"31664:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15826,"mutability":"mutable","name":"p1","nameLocation":"31687:2:14","nodeType":"VariableDeclaration","scope":15845,"src":"31682:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15825,"name":"uint","nodeType":"ElementaryTypeName","src":"31682:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15828,"mutability":"mutable","name":"p2","nameLocation":"31705:2:14","nodeType":"VariableDeclaration","scope":15845,"src":"31691:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15827,"name":"string","nodeType":"ElementaryTypeName","src":"31691:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15830,"mutability":"mutable","name":"p3","nameLocation":"31714:2:14","nodeType":"VariableDeclaration","scope":15845,"src":"31709:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15829,"name":"bool","nodeType":"ElementaryTypeName","src":"31709:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31663:54:14"},"returnParameters":{"id":15832,"nodeType":"ParameterList","parameters":[],"src":"31732:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15868,"nodeType":"FunctionDefinition","src":"31843:192:14","nodes":[],"body":{"id":15867,"nodeType":"Block","src":"31927:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c737472696e672c6164647265737329","id":15859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31977:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_bb7235e9977380af5de9932c5c28e18d22806b4b0a15ac7e98086e795e59b31c","typeString":"literal_string \"log(string,uint,string,address)\""},"value":"log(string,uint,string,address)"},{"id":15860,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15847,"src":"32012:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15861,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15849,"src":"32016:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15862,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15851,"src":"32020:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15863,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15853,"src":"32024:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bb7235e9977380af5de9932c5c28e18d22806b4b0a15ac7e98086e795e59b31c","typeString":"literal_string \"log(string,uint,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15857,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31953:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31953:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31953:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15856,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"31937:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31937:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15866,"nodeType":"ExpressionStatement","src":"31937:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31852:3:14","parameters":{"id":15854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15847,"mutability":"mutable","name":"p0","nameLocation":"31870:2:14","nodeType":"VariableDeclaration","scope":15868,"src":"31856:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15846,"name":"string","nodeType":"ElementaryTypeName","src":"31856:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15849,"mutability":"mutable","name":"p1","nameLocation":"31879:2:14","nodeType":"VariableDeclaration","scope":15868,"src":"31874:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15848,"name":"uint","nodeType":"ElementaryTypeName","src":"31874:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15851,"mutability":"mutable","name":"p2","nameLocation":"31897:2:14","nodeType":"VariableDeclaration","scope":15868,"src":"31883:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15850,"name":"string","nodeType":"ElementaryTypeName","src":"31883:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15853,"mutability":"mutable","name":"p3","nameLocation":"31909:2:14","nodeType":"VariableDeclaration","scope":15868,"src":"31901:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15852,"name":"address","nodeType":"ElementaryTypeName","src":"31901:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31855:57:14"},"returnParameters":{"id":15855,"nodeType":"ParameterList","parameters":[],"src":"31927:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15891,"nodeType":"FunctionDefinition","src":"32041:175:14","nodes":[],"body":{"id":15890,"nodeType":"Block","src":"32113:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c626f6f6c2c75696e7429","id":15882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32163:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_550e6ef516f1b3b5be9432b068022af744a919b7f9554b6605ddb59dad27875f","typeString":"literal_string \"log(string,uint,bool,uint)\""},"value":"log(string,uint,bool,uint)"},{"id":15883,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15870,"src":"32193:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15884,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15872,"src":"32197:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15885,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15874,"src":"32201:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15886,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15876,"src":"32205:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_550e6ef516f1b3b5be9432b068022af744a919b7f9554b6605ddb59dad27875f","typeString":"literal_string \"log(string,uint,bool,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15880,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32139:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15881,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32139:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32139:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15879,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"32123:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32123:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15889,"nodeType":"ExpressionStatement","src":"32123:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32050:3:14","parameters":{"id":15877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15870,"mutability":"mutable","name":"p0","nameLocation":"32068:2:14","nodeType":"VariableDeclaration","scope":15891,"src":"32054:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15869,"name":"string","nodeType":"ElementaryTypeName","src":"32054:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15872,"mutability":"mutable","name":"p1","nameLocation":"32077:2:14","nodeType":"VariableDeclaration","scope":15891,"src":"32072:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15871,"name":"uint","nodeType":"ElementaryTypeName","src":"32072:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15874,"mutability":"mutable","name":"p2","nameLocation":"32086:2:14","nodeType":"VariableDeclaration","scope":15891,"src":"32081:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15873,"name":"bool","nodeType":"ElementaryTypeName","src":"32081:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15876,"mutability":"mutable","name":"p3","nameLocation":"32095:2:14","nodeType":"VariableDeclaration","scope":15891,"src":"32090:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15875,"name":"uint","nodeType":"ElementaryTypeName","src":"32090:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32053:45:14"},"returnParameters":{"id":15878,"nodeType":"ParameterList","parameters":[],"src":"32113:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15914,"nodeType":"FunctionDefinition","src":"32222:186:14","nodes":[],"body":{"id":15913,"nodeType":"Block","src":"32303:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c626f6f6c2c737472696e6729","id":15905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32353:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_76cc6064a225b36730abdd64aa9dcb74a19c97e79a6eaa7e7a7381b59d8b3f68","typeString":"literal_string \"log(string,uint,bool,string)\""},"value":"log(string,uint,bool,string)"},{"id":15906,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15893,"src":"32385:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15907,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15895,"src":"32389:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15908,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15897,"src":"32393:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15909,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15899,"src":"32397:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_76cc6064a225b36730abdd64aa9dcb74a19c97e79a6eaa7e7a7381b59d8b3f68","typeString":"literal_string \"log(string,uint,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15903,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32329:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15904,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32329:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32329:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15902,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"32313:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32313:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15912,"nodeType":"ExpressionStatement","src":"32313:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32231:3:14","parameters":{"id":15900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15893,"mutability":"mutable","name":"p0","nameLocation":"32249:2:14","nodeType":"VariableDeclaration","scope":15914,"src":"32235:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15892,"name":"string","nodeType":"ElementaryTypeName","src":"32235:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15895,"mutability":"mutable","name":"p1","nameLocation":"32258:2:14","nodeType":"VariableDeclaration","scope":15914,"src":"32253:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15894,"name":"uint","nodeType":"ElementaryTypeName","src":"32253:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15897,"mutability":"mutable","name":"p2","nameLocation":"32267:2:14","nodeType":"VariableDeclaration","scope":15914,"src":"32262:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15896,"name":"bool","nodeType":"ElementaryTypeName","src":"32262:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15899,"mutability":"mutable","name":"p3","nameLocation":"32285:2:14","nodeType":"VariableDeclaration","scope":15914,"src":"32271:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15898,"name":"string","nodeType":"ElementaryTypeName","src":"32271:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32234:54:14"},"returnParameters":{"id":15901,"nodeType":"ParameterList","parameters":[],"src":"32303:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15937,"nodeType":"FunctionDefinition","src":"32414:175:14","nodes":[],"body":{"id":15936,"nodeType":"Block","src":"32486:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c626f6f6c2c626f6f6c29","id":15928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32536:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e37ff3d07873d5117abd74fe9be70fdadf355b74510a6f7507b0edd4a0032d7f","typeString":"literal_string \"log(string,uint,bool,bool)\""},"value":"log(string,uint,bool,bool)"},{"id":15929,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15916,"src":"32566:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15930,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15918,"src":"32570:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15931,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15920,"src":"32574:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15932,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15922,"src":"32578:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e37ff3d07873d5117abd74fe9be70fdadf355b74510a6f7507b0edd4a0032d7f","typeString":"literal_string \"log(string,uint,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":15926,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32512:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32512:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32512:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15925,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"32496:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32496:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15935,"nodeType":"ExpressionStatement","src":"32496:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32423:3:14","parameters":{"id":15923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15916,"mutability":"mutable","name":"p0","nameLocation":"32441:2:14","nodeType":"VariableDeclaration","scope":15937,"src":"32427:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15915,"name":"string","nodeType":"ElementaryTypeName","src":"32427:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15918,"mutability":"mutable","name":"p1","nameLocation":"32450:2:14","nodeType":"VariableDeclaration","scope":15937,"src":"32445:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15917,"name":"uint","nodeType":"ElementaryTypeName","src":"32445:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15920,"mutability":"mutable","name":"p2","nameLocation":"32459:2:14","nodeType":"VariableDeclaration","scope":15937,"src":"32454:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15919,"name":"bool","nodeType":"ElementaryTypeName","src":"32454:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15922,"mutability":"mutable","name":"p3","nameLocation":"32468:2:14","nodeType":"VariableDeclaration","scope":15937,"src":"32463:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15921,"name":"bool","nodeType":"ElementaryTypeName","src":"32463:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32426:45:14"},"returnParameters":{"id":15924,"nodeType":"ParameterList","parameters":[],"src":"32486:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15960,"nodeType":"FunctionDefinition","src":"32595:181:14","nodes":[],"body":{"id":15959,"nodeType":"Block","src":"32670:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c626f6f6c2c6164647265737329","id":15951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32720:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5549d91ec2998207f70463fe94a71d0edc39b13b219ff8feb87dd990a616539","typeString":"literal_string \"log(string,uint,bool,address)\""},"value":"log(string,uint,bool,address)"},{"id":15952,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15939,"src":"32753:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15953,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15941,"src":"32757:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15954,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15943,"src":"32761:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":15955,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15945,"src":"32765:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5549d91ec2998207f70463fe94a71d0edc39b13b219ff8feb87dd990a616539","typeString":"literal_string \"log(string,uint,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":15949,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32696:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15950,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32696:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32696:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15948,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"32680:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32680:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15958,"nodeType":"ExpressionStatement","src":"32680:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32604:3:14","parameters":{"id":15946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15939,"mutability":"mutable","name":"p0","nameLocation":"32622:2:14","nodeType":"VariableDeclaration","scope":15960,"src":"32608:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15938,"name":"string","nodeType":"ElementaryTypeName","src":"32608:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15941,"mutability":"mutable","name":"p1","nameLocation":"32631:2:14","nodeType":"VariableDeclaration","scope":15960,"src":"32626:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15940,"name":"uint","nodeType":"ElementaryTypeName","src":"32626:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15943,"mutability":"mutable","name":"p2","nameLocation":"32640:2:14","nodeType":"VariableDeclaration","scope":15960,"src":"32635:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15942,"name":"bool","nodeType":"ElementaryTypeName","src":"32635:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15945,"mutability":"mutable","name":"p3","nameLocation":"32652:2:14","nodeType":"VariableDeclaration","scope":15960,"src":"32644:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15944,"name":"address","nodeType":"ElementaryTypeName","src":"32644:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32607:48:14"},"returnParameters":{"id":15947,"nodeType":"ParameterList","parameters":[],"src":"32670:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":15983,"nodeType":"FunctionDefinition","src":"32782:181:14","nodes":[],"body":{"id":15982,"nodeType":"Block","src":"32857:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c616464726573732c75696e7429","id":15974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32907:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_58497afe9e509136f5cf2fb1db9876437d9cbd769be5985b518ff094427e4f75","typeString":"literal_string \"log(string,uint,address,uint)\""},"value":"log(string,uint,address,uint)"},{"id":15975,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15962,"src":"32940:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15976,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15964,"src":"32944:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":15977,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15966,"src":"32948:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":15978,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15968,"src":"32952:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_58497afe9e509136f5cf2fb1db9876437d9cbd769be5985b518ff094427e4f75","typeString":"literal_string \"log(string,uint,address,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":15972,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32883:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15973,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32883:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":15979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32883:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15971,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"32867:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":15980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32867:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15981,"nodeType":"ExpressionStatement","src":"32867:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32791:3:14","parameters":{"id":15969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15962,"mutability":"mutable","name":"p0","nameLocation":"32809:2:14","nodeType":"VariableDeclaration","scope":15983,"src":"32795:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15961,"name":"string","nodeType":"ElementaryTypeName","src":"32795:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15964,"mutability":"mutable","name":"p1","nameLocation":"32818:2:14","nodeType":"VariableDeclaration","scope":15983,"src":"32813:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15963,"name":"uint","nodeType":"ElementaryTypeName","src":"32813:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15966,"mutability":"mutable","name":"p2","nameLocation":"32830:2:14","nodeType":"VariableDeclaration","scope":15983,"src":"32822:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15965,"name":"address","nodeType":"ElementaryTypeName","src":"32822:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15968,"mutability":"mutable","name":"p3","nameLocation":"32839:2:14","nodeType":"VariableDeclaration","scope":15983,"src":"32834:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15967,"name":"uint","nodeType":"ElementaryTypeName","src":"32834:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32794:48:14"},"returnParameters":{"id":15970,"nodeType":"ParameterList","parameters":[],"src":"32857:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16006,"nodeType":"FunctionDefinition","src":"32969:192:14","nodes":[],"body":{"id":16005,"nodeType":"Block","src":"33053:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c616464726573732c737472696e6729","id":15997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33103:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3254c2e85e824e7dd0b3e2e602f95218ed23a331406e197386693086d91053c0","typeString":"literal_string \"log(string,uint,address,string)\""},"value":"log(string,uint,address,string)"},{"id":15998,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15985,"src":"33138:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":15999,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15987,"src":"33142:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16000,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15989,"src":"33146:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16001,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15991,"src":"33150:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3254c2e85e824e7dd0b3e2e602f95218ed23a331406e197386693086d91053c0","typeString":"literal_string \"log(string,uint,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":15995,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33079:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":15996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33079:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33079:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":15994,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"33063:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33063:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16004,"nodeType":"ExpressionStatement","src":"33063:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32978:3:14","parameters":{"id":15992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15985,"mutability":"mutable","name":"p0","nameLocation":"32996:2:14","nodeType":"VariableDeclaration","scope":16006,"src":"32982:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15984,"name":"string","nodeType":"ElementaryTypeName","src":"32982:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15987,"mutability":"mutable","name":"p1","nameLocation":"33005:2:14","nodeType":"VariableDeclaration","scope":16006,"src":"33000:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15986,"name":"uint","nodeType":"ElementaryTypeName","src":"33000:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15989,"mutability":"mutable","name":"p2","nameLocation":"33017:2:14","nodeType":"VariableDeclaration","scope":16006,"src":"33009:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15988,"name":"address","nodeType":"ElementaryTypeName","src":"33009:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15991,"mutability":"mutable","name":"p3","nameLocation":"33035:2:14","nodeType":"VariableDeclaration","scope":16006,"src":"33021:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15990,"name":"string","nodeType":"ElementaryTypeName","src":"33021:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32981:57:14"},"returnParameters":{"id":15993,"nodeType":"ParameterList","parameters":[],"src":"33053:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16029,"nodeType":"FunctionDefinition","src":"33167:181:14","nodes":[],"body":{"id":16028,"nodeType":"Block","src":"33242:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c616464726573732c626f6f6c29","id":16020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33292:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1106a8f7a9fdb0743cc8f33bcf28da92f358b488bfc5eb2426dcc116571bae10","typeString":"literal_string \"log(string,uint,address,bool)\""},"value":"log(string,uint,address,bool)"},{"id":16021,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16008,"src":"33325:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16022,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16010,"src":"33329:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16023,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16012,"src":"33333:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16024,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16014,"src":"33337:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1106a8f7a9fdb0743cc8f33bcf28da92f358b488bfc5eb2426dcc116571bae10","typeString":"literal_string \"log(string,uint,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16018,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33268:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16019,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33268:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33268:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16017,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"33252:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33252:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16027,"nodeType":"ExpressionStatement","src":"33252:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33176:3:14","parameters":{"id":16015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16008,"mutability":"mutable","name":"p0","nameLocation":"33194:2:14","nodeType":"VariableDeclaration","scope":16029,"src":"33180:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16007,"name":"string","nodeType":"ElementaryTypeName","src":"33180:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16010,"mutability":"mutable","name":"p1","nameLocation":"33203:2:14","nodeType":"VariableDeclaration","scope":16029,"src":"33198:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16009,"name":"uint","nodeType":"ElementaryTypeName","src":"33198:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16012,"mutability":"mutable","name":"p2","nameLocation":"33215:2:14","nodeType":"VariableDeclaration","scope":16029,"src":"33207:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16011,"name":"address","nodeType":"ElementaryTypeName","src":"33207:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16014,"mutability":"mutable","name":"p3","nameLocation":"33224:2:14","nodeType":"VariableDeclaration","scope":16029,"src":"33219:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16013,"name":"bool","nodeType":"ElementaryTypeName","src":"33219:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33179:48:14"},"returnParameters":{"id":16016,"nodeType":"ParameterList","parameters":[],"src":"33242:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16052,"nodeType":"FunctionDefinition","src":"33354:187:14","nodes":[],"body":{"id":16051,"nodeType":"Block","src":"33432:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c616464726573732c6164647265737329","id":16043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33482:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_eac892812ad5b43e056a005de5f4269f3430ecb19d3374f0e27d055022fbb381","typeString":"literal_string \"log(string,uint,address,address)\""},"value":"log(string,uint,address,address)"},{"id":16044,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16031,"src":"33518:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16045,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16033,"src":"33522:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16046,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16035,"src":"33526:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16047,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16037,"src":"33530:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eac892812ad5b43e056a005de5f4269f3430ecb19d3374f0e27d055022fbb381","typeString":"literal_string \"log(string,uint,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16041,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33458:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33458:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33458:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16040,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"33442:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33442:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16050,"nodeType":"ExpressionStatement","src":"33442:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33363:3:14","parameters":{"id":16038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16031,"mutability":"mutable","name":"p0","nameLocation":"33381:2:14","nodeType":"VariableDeclaration","scope":16052,"src":"33367:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16030,"name":"string","nodeType":"ElementaryTypeName","src":"33367:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16033,"mutability":"mutable","name":"p1","nameLocation":"33390:2:14","nodeType":"VariableDeclaration","scope":16052,"src":"33385:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16032,"name":"uint","nodeType":"ElementaryTypeName","src":"33385:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16035,"mutability":"mutable","name":"p2","nameLocation":"33402:2:14","nodeType":"VariableDeclaration","scope":16052,"src":"33394:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16034,"name":"address","nodeType":"ElementaryTypeName","src":"33394:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16037,"mutability":"mutable","name":"p3","nameLocation":"33414:2:14","nodeType":"VariableDeclaration","scope":16052,"src":"33406:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16036,"name":"address","nodeType":"ElementaryTypeName","src":"33406:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33366:51:14"},"returnParameters":{"id":16039,"nodeType":"ParameterList","parameters":[],"src":"33432:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16075,"nodeType":"FunctionDefinition","src":"33547:186:14","nodes":[],"body":{"id":16074,"nodeType":"Block","src":"33628:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e742c75696e7429","id":16066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33678:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5cf17d093c9068e0703e037cea1f6c3048599508dc7985106a94aa34c08c926","typeString":"literal_string \"log(string,string,uint,uint)\""},"value":"log(string,string,uint,uint)"},{"id":16067,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16054,"src":"33710:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16068,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16056,"src":"33714:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16069,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16058,"src":"33718:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16070,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16060,"src":"33722:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5cf17d093c9068e0703e037cea1f6c3048599508dc7985106a94aa34c08c926","typeString":"literal_string \"log(string,string,uint,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16064,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33654:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33654:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33654:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16063,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"33638:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33638:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16073,"nodeType":"ExpressionStatement","src":"33638:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33556:3:14","parameters":{"id":16061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16054,"mutability":"mutable","name":"p0","nameLocation":"33574:2:14","nodeType":"VariableDeclaration","scope":16075,"src":"33560:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16053,"name":"string","nodeType":"ElementaryTypeName","src":"33560:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16056,"mutability":"mutable","name":"p1","nameLocation":"33592:2:14","nodeType":"VariableDeclaration","scope":16075,"src":"33578:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16055,"name":"string","nodeType":"ElementaryTypeName","src":"33578:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16058,"mutability":"mutable","name":"p2","nameLocation":"33601:2:14","nodeType":"VariableDeclaration","scope":16075,"src":"33596:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16057,"name":"uint","nodeType":"ElementaryTypeName","src":"33596:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16060,"mutability":"mutable","name":"p3","nameLocation":"33610:2:14","nodeType":"VariableDeclaration","scope":16075,"src":"33605:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16059,"name":"uint","nodeType":"ElementaryTypeName","src":"33605:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33559:54:14"},"returnParameters":{"id":16062,"nodeType":"ParameterList","parameters":[],"src":"33628:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16098,"nodeType":"FunctionDefinition","src":"33739:197:14","nodes":[],"body":{"id":16097,"nodeType":"Block","src":"33829:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e742c737472696e6729","id":16089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33879:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d142cdddf40ab944834474e14a37534e67dcf2f6ffd68fd3d894f907fb76a0a","typeString":"literal_string \"log(string,string,uint,string)\""},"value":"log(string,string,uint,string)"},{"id":16090,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16077,"src":"33913:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16091,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16079,"src":"33917:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16092,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16081,"src":"33921:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16093,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16083,"src":"33925:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d142cdddf40ab944834474e14a37534e67dcf2f6ffd68fd3d894f907fb76a0a","typeString":"literal_string \"log(string,string,uint,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16087,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33855:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33855:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33855:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16086,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"33839:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33839:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16096,"nodeType":"ExpressionStatement","src":"33839:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33748:3:14","parameters":{"id":16084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16077,"mutability":"mutable","name":"p0","nameLocation":"33766:2:14","nodeType":"VariableDeclaration","scope":16098,"src":"33752:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16076,"name":"string","nodeType":"ElementaryTypeName","src":"33752:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16079,"mutability":"mutable","name":"p1","nameLocation":"33784:2:14","nodeType":"VariableDeclaration","scope":16098,"src":"33770:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16078,"name":"string","nodeType":"ElementaryTypeName","src":"33770:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16081,"mutability":"mutable","name":"p2","nameLocation":"33793:2:14","nodeType":"VariableDeclaration","scope":16098,"src":"33788:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16080,"name":"uint","nodeType":"ElementaryTypeName","src":"33788:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16083,"mutability":"mutable","name":"p3","nameLocation":"33811:2:14","nodeType":"VariableDeclaration","scope":16098,"src":"33797:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16082,"name":"string","nodeType":"ElementaryTypeName","src":"33797:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33751:63:14"},"returnParameters":{"id":16085,"nodeType":"ParameterList","parameters":[],"src":"33829:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16121,"nodeType":"FunctionDefinition","src":"33942:186:14","nodes":[],"body":{"id":16120,"nodeType":"Block","src":"34023:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e742c626f6f6c29","id":16112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34073:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e65658ca6578795ac405c3487ab68ec21d76f9a79d734a9ab869db5d96b4556b","typeString":"literal_string \"log(string,string,uint,bool)\""},"value":"log(string,string,uint,bool)"},{"id":16113,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16100,"src":"34105:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16114,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16102,"src":"34109:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16115,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16104,"src":"34113:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16116,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16106,"src":"34117:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e65658ca6578795ac405c3487ab68ec21d76f9a79d734a9ab869db5d96b4556b","typeString":"literal_string \"log(string,string,uint,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16110,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34049:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16111,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34049:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34049:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16109,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"34033:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34033:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16119,"nodeType":"ExpressionStatement","src":"34033:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33951:3:14","parameters":{"id":16107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16100,"mutability":"mutable","name":"p0","nameLocation":"33969:2:14","nodeType":"VariableDeclaration","scope":16121,"src":"33955:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16099,"name":"string","nodeType":"ElementaryTypeName","src":"33955:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16102,"mutability":"mutable","name":"p1","nameLocation":"33987:2:14","nodeType":"VariableDeclaration","scope":16121,"src":"33973:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16101,"name":"string","nodeType":"ElementaryTypeName","src":"33973:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16104,"mutability":"mutable","name":"p2","nameLocation":"33996:2:14","nodeType":"VariableDeclaration","scope":16121,"src":"33991:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16103,"name":"uint","nodeType":"ElementaryTypeName","src":"33991:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16106,"mutability":"mutable","name":"p3","nameLocation":"34005:2:14","nodeType":"VariableDeclaration","scope":16121,"src":"34000:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16105,"name":"bool","nodeType":"ElementaryTypeName","src":"34000:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33954:54:14"},"returnParameters":{"id":16108,"nodeType":"ParameterList","parameters":[],"src":"34023:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16144,"nodeType":"FunctionDefinition","src":"34134:192:14","nodes":[],"body":{"id":16143,"nodeType":"Block","src":"34218:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e742c6164647265737329","id":16135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34268:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d4f46805293f3e84ba6dbfe353f76b3d1f1cfb2ff1e8024fb2adb45e2b7a128","typeString":"literal_string \"log(string,string,uint,address)\""},"value":"log(string,string,uint,address)"},{"id":16136,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16123,"src":"34303:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16137,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16125,"src":"34307:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16138,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16127,"src":"34311:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16139,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16129,"src":"34315:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d4f46805293f3e84ba6dbfe353f76b3d1f1cfb2ff1e8024fb2adb45e2b7a128","typeString":"literal_string \"log(string,string,uint,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16133,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34244:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34244:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34244:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16132,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"34228:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34228:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16142,"nodeType":"ExpressionStatement","src":"34228:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34143:3:14","parameters":{"id":16130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16123,"mutability":"mutable","name":"p0","nameLocation":"34161:2:14","nodeType":"VariableDeclaration","scope":16144,"src":"34147:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16122,"name":"string","nodeType":"ElementaryTypeName","src":"34147:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16125,"mutability":"mutable","name":"p1","nameLocation":"34179:2:14","nodeType":"VariableDeclaration","scope":16144,"src":"34165:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16124,"name":"string","nodeType":"ElementaryTypeName","src":"34165:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16127,"mutability":"mutable","name":"p2","nameLocation":"34188:2:14","nodeType":"VariableDeclaration","scope":16144,"src":"34183:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16126,"name":"uint","nodeType":"ElementaryTypeName","src":"34183:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16129,"mutability":"mutable","name":"p3","nameLocation":"34200:2:14","nodeType":"VariableDeclaration","scope":16144,"src":"34192:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16128,"name":"address","nodeType":"ElementaryTypeName","src":"34192:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34146:57:14"},"returnParameters":{"id":16131,"nodeType":"ParameterList","parameters":[],"src":"34218:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16167,"nodeType":"FunctionDefinition","src":"34332:197:14","nodes":[],"body":{"id":16166,"nodeType":"Block","src":"34422:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c75696e7429","id":16158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34472:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fd009f5f31a16d665d9be327a4a2b17dc428108ae31e46ab875e747b5ee155f","typeString":"literal_string \"log(string,string,string,uint)\""},"value":"log(string,string,string,uint)"},{"id":16159,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16146,"src":"34506:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16160,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16148,"src":"34510:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16161,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16150,"src":"34514:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16162,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16152,"src":"34518:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9fd009f5f31a16d665d9be327a4a2b17dc428108ae31e46ab875e747b5ee155f","typeString":"literal_string \"log(string,string,string,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16156,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34448:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34448:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34448:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16155,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"34432:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34432:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16165,"nodeType":"ExpressionStatement","src":"34432:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34341:3:14","parameters":{"id":16153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16146,"mutability":"mutable","name":"p0","nameLocation":"34359:2:14","nodeType":"VariableDeclaration","scope":16167,"src":"34345:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16145,"name":"string","nodeType":"ElementaryTypeName","src":"34345:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16148,"mutability":"mutable","name":"p1","nameLocation":"34377:2:14","nodeType":"VariableDeclaration","scope":16167,"src":"34363:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16147,"name":"string","nodeType":"ElementaryTypeName","src":"34363:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16150,"mutability":"mutable","name":"p2","nameLocation":"34395:2:14","nodeType":"VariableDeclaration","scope":16167,"src":"34381:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16149,"name":"string","nodeType":"ElementaryTypeName","src":"34381:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16152,"mutability":"mutable","name":"p3","nameLocation":"34404:2:14","nodeType":"VariableDeclaration","scope":16167,"src":"34399:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16151,"name":"uint","nodeType":"ElementaryTypeName","src":"34399:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34344:63:14"},"returnParameters":{"id":16154,"nodeType":"ParameterList","parameters":[],"src":"34422:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16190,"nodeType":"FunctionDefinition","src":"34535:208:14","nodes":[],"body":{"id":16189,"nodeType":"Block","src":"34634:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c737472696e6729","id":16181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34684:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},"value":"log(string,string,string,string)"},{"id":16182,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16169,"src":"34720:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16183,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16171,"src":"34724:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16184,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16173,"src":"34728:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16185,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16175,"src":"34732:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"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":16179,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34660:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16180,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34660:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34660:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16178,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"34644:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34644:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16188,"nodeType":"ExpressionStatement","src":"34644:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34544:3:14","parameters":{"id":16176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16169,"mutability":"mutable","name":"p0","nameLocation":"34562:2:14","nodeType":"VariableDeclaration","scope":16190,"src":"34548:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16168,"name":"string","nodeType":"ElementaryTypeName","src":"34548:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16171,"mutability":"mutable","name":"p1","nameLocation":"34580:2:14","nodeType":"VariableDeclaration","scope":16190,"src":"34566:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16170,"name":"string","nodeType":"ElementaryTypeName","src":"34566:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16173,"mutability":"mutable","name":"p2","nameLocation":"34598:2:14","nodeType":"VariableDeclaration","scope":16190,"src":"34584:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16172,"name":"string","nodeType":"ElementaryTypeName","src":"34584:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16175,"mutability":"mutable","name":"p3","nameLocation":"34616:2:14","nodeType":"VariableDeclaration","scope":16190,"src":"34602:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16174,"name":"string","nodeType":"ElementaryTypeName","src":"34602:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34547:72:14"},"returnParameters":{"id":16177,"nodeType":"ParameterList","parameters":[],"src":"34634:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16213,"nodeType":"FunctionDefinition","src":"34749:197:14","nodes":[],"body":{"id":16212,"nodeType":"Block","src":"34839:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c626f6f6c29","id":16204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34889:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},"value":"log(string,string,string,bool)"},{"id":16205,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16192,"src":"34923:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16206,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16194,"src":"34927:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16207,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16196,"src":"34931:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16208,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16198,"src":"34935:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16202,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34865:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34865:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34865:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16201,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"34849:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34849:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16211,"nodeType":"ExpressionStatement","src":"34849:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34758:3:14","parameters":{"id":16199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16192,"mutability":"mutable","name":"p0","nameLocation":"34776:2:14","nodeType":"VariableDeclaration","scope":16213,"src":"34762:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16191,"name":"string","nodeType":"ElementaryTypeName","src":"34762:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16194,"mutability":"mutable","name":"p1","nameLocation":"34794:2:14","nodeType":"VariableDeclaration","scope":16213,"src":"34780:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16193,"name":"string","nodeType":"ElementaryTypeName","src":"34780:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16196,"mutability":"mutable","name":"p2","nameLocation":"34812:2:14","nodeType":"VariableDeclaration","scope":16213,"src":"34798:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16195,"name":"string","nodeType":"ElementaryTypeName","src":"34798:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16198,"mutability":"mutable","name":"p3","nameLocation":"34821:2:14","nodeType":"VariableDeclaration","scope":16213,"src":"34816:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16197,"name":"bool","nodeType":"ElementaryTypeName","src":"34816:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"34761:63:14"},"returnParameters":{"id":16200,"nodeType":"ParameterList","parameters":[],"src":"34839:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16236,"nodeType":"FunctionDefinition","src":"34952:203:14","nodes":[],"body":{"id":16235,"nodeType":"Block","src":"35045:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c6164647265737329","id":16227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35095:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},"value":"log(string,string,string,address)"},{"id":16228,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16215,"src":"35132:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16229,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16217,"src":"35136:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16230,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16219,"src":"35140:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16231,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16221,"src":"35144:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16225,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35071:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16226,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35071:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35071:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16224,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"35055:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35055:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16234,"nodeType":"ExpressionStatement","src":"35055:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34961:3:14","parameters":{"id":16222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16215,"mutability":"mutable","name":"p0","nameLocation":"34979:2:14","nodeType":"VariableDeclaration","scope":16236,"src":"34965:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16214,"name":"string","nodeType":"ElementaryTypeName","src":"34965:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16217,"mutability":"mutable","name":"p1","nameLocation":"34997:2:14","nodeType":"VariableDeclaration","scope":16236,"src":"34983:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16216,"name":"string","nodeType":"ElementaryTypeName","src":"34983:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16219,"mutability":"mutable","name":"p2","nameLocation":"35015:2:14","nodeType":"VariableDeclaration","scope":16236,"src":"35001:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16218,"name":"string","nodeType":"ElementaryTypeName","src":"35001:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16221,"mutability":"mutable","name":"p3","nameLocation":"35027:2:14","nodeType":"VariableDeclaration","scope":16236,"src":"35019:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16220,"name":"address","nodeType":"ElementaryTypeName","src":"35019:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34964:66:14"},"returnParameters":{"id":16223,"nodeType":"ParameterList","parameters":[],"src":"35045:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16259,"nodeType":"FunctionDefinition","src":"35161:186:14","nodes":[],"body":{"id":16258,"nodeType":"Block","src":"35242:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c75696e7429","id":16250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35292:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_86818a7aa9bc994aa800ce554e865f0047fd8aaa8799a458e8fea2db0986c5c1","typeString":"literal_string \"log(string,string,bool,uint)\""},"value":"log(string,string,bool,uint)"},{"id":16251,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16238,"src":"35324:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16252,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16240,"src":"35328:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16253,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16242,"src":"35332:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16254,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16244,"src":"35336:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86818a7aa9bc994aa800ce554e865f0047fd8aaa8799a458e8fea2db0986c5c1","typeString":"literal_string \"log(string,string,bool,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16248,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35268:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35268:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35268:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16247,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"35252:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35252:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16257,"nodeType":"ExpressionStatement","src":"35252:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35170:3:14","parameters":{"id":16245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16238,"mutability":"mutable","name":"p0","nameLocation":"35188:2:14","nodeType":"VariableDeclaration","scope":16259,"src":"35174:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16237,"name":"string","nodeType":"ElementaryTypeName","src":"35174:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16240,"mutability":"mutable","name":"p1","nameLocation":"35206:2:14","nodeType":"VariableDeclaration","scope":16259,"src":"35192:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16239,"name":"string","nodeType":"ElementaryTypeName","src":"35192:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16242,"mutability":"mutable","name":"p2","nameLocation":"35215:2:14","nodeType":"VariableDeclaration","scope":16259,"src":"35210:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16241,"name":"bool","nodeType":"ElementaryTypeName","src":"35210:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16244,"mutability":"mutable","name":"p3","nameLocation":"35224:2:14","nodeType":"VariableDeclaration","scope":16259,"src":"35219:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16243,"name":"uint","nodeType":"ElementaryTypeName","src":"35219:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35173:54:14"},"returnParameters":{"id":16246,"nodeType":"ParameterList","parameters":[],"src":"35242:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16282,"nodeType":"FunctionDefinition","src":"35353:197:14","nodes":[],"body":{"id":16281,"nodeType":"Block","src":"35443:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c737472696e6729","id":16273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35493:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},"value":"log(string,string,bool,string)"},{"id":16274,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16261,"src":"35527:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16275,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16263,"src":"35531:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16276,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16265,"src":"35535:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16277,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16267,"src":"35539:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16271,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35469:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35469:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35469:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16270,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"35453:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35453:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16280,"nodeType":"ExpressionStatement","src":"35453:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35362:3:14","parameters":{"id":16268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16261,"mutability":"mutable","name":"p0","nameLocation":"35380:2:14","nodeType":"VariableDeclaration","scope":16282,"src":"35366:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16260,"name":"string","nodeType":"ElementaryTypeName","src":"35366:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16263,"mutability":"mutable","name":"p1","nameLocation":"35398:2:14","nodeType":"VariableDeclaration","scope":16282,"src":"35384:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16262,"name":"string","nodeType":"ElementaryTypeName","src":"35384:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16265,"mutability":"mutable","name":"p2","nameLocation":"35407:2:14","nodeType":"VariableDeclaration","scope":16282,"src":"35402:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16264,"name":"bool","nodeType":"ElementaryTypeName","src":"35402:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16267,"mutability":"mutable","name":"p3","nameLocation":"35425:2:14","nodeType":"VariableDeclaration","scope":16282,"src":"35411:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16266,"name":"string","nodeType":"ElementaryTypeName","src":"35411:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35365:63:14"},"returnParameters":{"id":16269,"nodeType":"ParameterList","parameters":[],"src":"35443:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16305,"nodeType":"FunctionDefinition","src":"35556:186:14","nodes":[],"body":{"id":16304,"nodeType":"Block","src":"35637:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c626f6f6c29","id":16296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35687:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},"value":"log(string,string,bool,bool)"},{"id":16297,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16284,"src":"35719:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16298,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16286,"src":"35723:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16299,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16288,"src":"35727:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16300,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16290,"src":"35731:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16294,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35663:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16295,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35663:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35663:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16293,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"35647:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35647:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16303,"nodeType":"ExpressionStatement","src":"35647:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35565:3:14","parameters":{"id":16291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16284,"mutability":"mutable","name":"p0","nameLocation":"35583:2:14","nodeType":"VariableDeclaration","scope":16305,"src":"35569:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16283,"name":"string","nodeType":"ElementaryTypeName","src":"35569:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16286,"mutability":"mutable","name":"p1","nameLocation":"35601:2:14","nodeType":"VariableDeclaration","scope":16305,"src":"35587:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16285,"name":"string","nodeType":"ElementaryTypeName","src":"35587:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16288,"mutability":"mutable","name":"p2","nameLocation":"35610:2:14","nodeType":"VariableDeclaration","scope":16305,"src":"35605:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16287,"name":"bool","nodeType":"ElementaryTypeName","src":"35605:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16290,"mutability":"mutable","name":"p3","nameLocation":"35619:2:14","nodeType":"VariableDeclaration","scope":16305,"src":"35614:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16289,"name":"bool","nodeType":"ElementaryTypeName","src":"35614:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35568:54:14"},"returnParameters":{"id":16292,"nodeType":"ParameterList","parameters":[],"src":"35637:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16328,"nodeType":"FunctionDefinition","src":"35748:192:14","nodes":[],"body":{"id":16327,"nodeType":"Block","src":"35832:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c6164647265737329","id":16319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35882:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},"value":"log(string,string,bool,address)"},{"id":16320,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16307,"src":"35917:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16321,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16309,"src":"35921:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16322,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16311,"src":"35925:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16323,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16313,"src":"35929:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16317,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35858:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16318,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35858:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35858:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16316,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"35842:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35842:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16326,"nodeType":"ExpressionStatement","src":"35842:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35757:3:14","parameters":{"id":16314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16307,"mutability":"mutable","name":"p0","nameLocation":"35775:2:14","nodeType":"VariableDeclaration","scope":16328,"src":"35761:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16306,"name":"string","nodeType":"ElementaryTypeName","src":"35761:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16309,"mutability":"mutable","name":"p1","nameLocation":"35793:2:14","nodeType":"VariableDeclaration","scope":16328,"src":"35779:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16308,"name":"string","nodeType":"ElementaryTypeName","src":"35779:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16311,"mutability":"mutable","name":"p2","nameLocation":"35802:2:14","nodeType":"VariableDeclaration","scope":16328,"src":"35797:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16310,"name":"bool","nodeType":"ElementaryTypeName","src":"35797:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16313,"mutability":"mutable","name":"p3","nameLocation":"35814:2:14","nodeType":"VariableDeclaration","scope":16328,"src":"35806:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16312,"name":"address","nodeType":"ElementaryTypeName","src":"35806:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"35760:57:14"},"returnParameters":{"id":16315,"nodeType":"ParameterList","parameters":[],"src":"35832:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16351,"nodeType":"FunctionDefinition","src":"35946:192:14","nodes":[],"body":{"id":16350,"nodeType":"Block","src":"36030:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c75696e7429","id":16342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36080:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a81a56a33247069679e8b6a463a3b29deb4b1020ce6e03b978132074cad28c2","typeString":"literal_string \"log(string,string,address,uint)\""},"value":"log(string,string,address,uint)"},{"id":16343,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16330,"src":"36115:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16344,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16332,"src":"36119:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16345,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16334,"src":"36123:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16346,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16336,"src":"36127:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a81a56a33247069679e8b6a463a3b29deb4b1020ce6e03b978132074cad28c2","typeString":"literal_string \"log(string,string,address,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16340,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36056:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36056:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36056:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16339,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"36040:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36040:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16349,"nodeType":"ExpressionStatement","src":"36040:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35955:3:14","parameters":{"id":16337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16330,"mutability":"mutable","name":"p0","nameLocation":"35973:2:14","nodeType":"VariableDeclaration","scope":16351,"src":"35959:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16329,"name":"string","nodeType":"ElementaryTypeName","src":"35959:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16332,"mutability":"mutable","name":"p1","nameLocation":"35991:2:14","nodeType":"VariableDeclaration","scope":16351,"src":"35977:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16331,"name":"string","nodeType":"ElementaryTypeName","src":"35977:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16334,"mutability":"mutable","name":"p2","nameLocation":"36003:2:14","nodeType":"VariableDeclaration","scope":16351,"src":"35995:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16333,"name":"address","nodeType":"ElementaryTypeName","src":"35995:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16336,"mutability":"mutable","name":"p3","nameLocation":"36012:2:14","nodeType":"VariableDeclaration","scope":16351,"src":"36007:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16335,"name":"uint","nodeType":"ElementaryTypeName","src":"36007:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35958:57:14"},"returnParameters":{"id":16338,"nodeType":"ParameterList","parameters":[],"src":"36030:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16374,"nodeType":"FunctionDefinition","src":"36144:203:14","nodes":[],"body":{"id":16373,"nodeType":"Block","src":"36237:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c737472696e6729","id":16365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36287:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},"value":"log(string,string,address,string)"},{"id":16366,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16353,"src":"36324:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16367,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16355,"src":"36328:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16368,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16357,"src":"36332:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16369,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16359,"src":"36336:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16363,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36263:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36263:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36263:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16362,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"36247:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36247:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16372,"nodeType":"ExpressionStatement","src":"36247:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36153:3:14","parameters":{"id":16360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16353,"mutability":"mutable","name":"p0","nameLocation":"36171:2:14","nodeType":"VariableDeclaration","scope":16374,"src":"36157:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16352,"name":"string","nodeType":"ElementaryTypeName","src":"36157:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16355,"mutability":"mutable","name":"p1","nameLocation":"36189:2:14","nodeType":"VariableDeclaration","scope":16374,"src":"36175:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16354,"name":"string","nodeType":"ElementaryTypeName","src":"36175:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16357,"mutability":"mutable","name":"p2","nameLocation":"36201:2:14","nodeType":"VariableDeclaration","scope":16374,"src":"36193:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16356,"name":"address","nodeType":"ElementaryTypeName","src":"36193:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16359,"mutability":"mutable","name":"p3","nameLocation":"36219:2:14","nodeType":"VariableDeclaration","scope":16374,"src":"36205:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16358,"name":"string","nodeType":"ElementaryTypeName","src":"36205:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36156:66:14"},"returnParameters":{"id":16361,"nodeType":"ParameterList","parameters":[],"src":"36237:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16397,"nodeType":"FunctionDefinition","src":"36353:192:14","nodes":[],"body":{"id":16396,"nodeType":"Block","src":"36437:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c626f6f6c29","id":16388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36487:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},"value":"log(string,string,address,bool)"},{"id":16389,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16376,"src":"36522:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16390,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16378,"src":"36526:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16391,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16380,"src":"36530:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16392,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16382,"src":"36534:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16386,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36463:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36463:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36463:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16385,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"36447:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36447:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16395,"nodeType":"ExpressionStatement","src":"36447:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36362:3:14","parameters":{"id":16383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16376,"mutability":"mutable","name":"p0","nameLocation":"36380:2:14","nodeType":"VariableDeclaration","scope":16397,"src":"36366:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16375,"name":"string","nodeType":"ElementaryTypeName","src":"36366:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16378,"mutability":"mutable","name":"p1","nameLocation":"36398:2:14","nodeType":"VariableDeclaration","scope":16397,"src":"36384:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16377,"name":"string","nodeType":"ElementaryTypeName","src":"36384:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16380,"mutability":"mutable","name":"p2","nameLocation":"36410:2:14","nodeType":"VariableDeclaration","scope":16397,"src":"36402:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16379,"name":"address","nodeType":"ElementaryTypeName","src":"36402:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16382,"mutability":"mutable","name":"p3","nameLocation":"36419:2:14","nodeType":"VariableDeclaration","scope":16397,"src":"36414:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16381,"name":"bool","nodeType":"ElementaryTypeName","src":"36414:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36365:57:14"},"returnParameters":{"id":16384,"nodeType":"ParameterList","parameters":[],"src":"36437:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16420,"nodeType":"FunctionDefinition","src":"36551:198:14","nodes":[],"body":{"id":16419,"nodeType":"Block","src":"36638:111:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c6164647265737329","id":16411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36688:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},"value":"log(string,string,address,address)"},{"id":16412,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16399,"src":"36726:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16413,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16401,"src":"36730:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16414,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16403,"src":"36734:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16415,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16405,"src":"36738:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16409,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36664:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36664:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36664:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16408,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"36648:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36648:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16418,"nodeType":"ExpressionStatement","src":"36648:94:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36560:3:14","parameters":{"id":16406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16399,"mutability":"mutable","name":"p0","nameLocation":"36578:2:14","nodeType":"VariableDeclaration","scope":16420,"src":"36564:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16398,"name":"string","nodeType":"ElementaryTypeName","src":"36564:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16401,"mutability":"mutable","name":"p1","nameLocation":"36596:2:14","nodeType":"VariableDeclaration","scope":16420,"src":"36582:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16400,"name":"string","nodeType":"ElementaryTypeName","src":"36582:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16403,"mutability":"mutable","name":"p2","nameLocation":"36608:2:14","nodeType":"VariableDeclaration","scope":16420,"src":"36600:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16402,"name":"address","nodeType":"ElementaryTypeName","src":"36600:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16405,"mutability":"mutable","name":"p3","nameLocation":"36620:2:14","nodeType":"VariableDeclaration","scope":16420,"src":"36612:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16404,"name":"address","nodeType":"ElementaryTypeName","src":"36612:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36563:60:14"},"returnParameters":{"id":16407,"nodeType":"ParameterList","parameters":[],"src":"36638:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16443,"nodeType":"FunctionDefinition","src":"36755:175:14","nodes":[],"body":{"id":16442,"nodeType":"Block","src":"36827:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e742c75696e7429","id":16434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36877:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5dbff038873b5f716761e9dcaab0713a903ceaebb2ba8c30b199c4dc534f7701","typeString":"literal_string \"log(string,bool,uint,uint)\""},"value":"log(string,bool,uint,uint)"},{"id":16435,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16422,"src":"36907:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16436,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16424,"src":"36911:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16437,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16426,"src":"36915:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16438,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16428,"src":"36919:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5dbff038873b5f716761e9dcaab0713a903ceaebb2ba8c30b199c4dc534f7701","typeString":"literal_string \"log(string,bool,uint,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16432,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36853:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36853:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36853:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16431,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"36837:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36837:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16441,"nodeType":"ExpressionStatement","src":"36837:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36764:3:14","parameters":{"id":16429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16422,"mutability":"mutable","name":"p0","nameLocation":"36782:2:14","nodeType":"VariableDeclaration","scope":16443,"src":"36768:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16421,"name":"string","nodeType":"ElementaryTypeName","src":"36768:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16424,"mutability":"mutable","name":"p1","nameLocation":"36791:2:14","nodeType":"VariableDeclaration","scope":16443,"src":"36786:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16423,"name":"bool","nodeType":"ElementaryTypeName","src":"36786:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16426,"mutability":"mutable","name":"p2","nameLocation":"36800:2:14","nodeType":"VariableDeclaration","scope":16443,"src":"36795:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16425,"name":"uint","nodeType":"ElementaryTypeName","src":"36795:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16428,"mutability":"mutable","name":"p3","nameLocation":"36809:2:14","nodeType":"VariableDeclaration","scope":16443,"src":"36804:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16427,"name":"uint","nodeType":"ElementaryTypeName","src":"36804:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36767:45:14"},"returnParameters":{"id":16430,"nodeType":"ParameterList","parameters":[],"src":"36827:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16466,"nodeType":"FunctionDefinition","src":"36936:186:14","nodes":[],"body":{"id":16465,"nodeType":"Block","src":"37017:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e742c737472696e6729","id":16457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37067:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_42b9a2274d0e9ab9211da679bc79f433c4055060036260a350e95cf10b9004ee","typeString":"literal_string \"log(string,bool,uint,string)\""},"value":"log(string,bool,uint,string)"},{"id":16458,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16445,"src":"37099:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16459,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16447,"src":"37103:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16460,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16449,"src":"37107:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16461,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16451,"src":"37111:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_42b9a2274d0e9ab9211da679bc79f433c4055060036260a350e95cf10b9004ee","typeString":"literal_string \"log(string,bool,uint,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16455,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37043:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37043:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37043:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16454,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"37027:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37027:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16464,"nodeType":"ExpressionStatement","src":"37027:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36945:3:14","parameters":{"id":16452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16445,"mutability":"mutable","name":"p0","nameLocation":"36963:2:14","nodeType":"VariableDeclaration","scope":16466,"src":"36949:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16444,"name":"string","nodeType":"ElementaryTypeName","src":"36949:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16447,"mutability":"mutable","name":"p1","nameLocation":"36972:2:14","nodeType":"VariableDeclaration","scope":16466,"src":"36967:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16446,"name":"bool","nodeType":"ElementaryTypeName","src":"36967:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16449,"mutability":"mutable","name":"p2","nameLocation":"36981:2:14","nodeType":"VariableDeclaration","scope":16466,"src":"36976:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16448,"name":"uint","nodeType":"ElementaryTypeName","src":"36976:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16451,"mutability":"mutable","name":"p3","nameLocation":"36999:2:14","nodeType":"VariableDeclaration","scope":16466,"src":"36985:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16450,"name":"string","nodeType":"ElementaryTypeName","src":"36985:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36948:54:14"},"returnParameters":{"id":16453,"nodeType":"ParameterList","parameters":[],"src":"37017:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16489,"nodeType":"FunctionDefinition","src":"37128:175:14","nodes":[],"body":{"id":16488,"nodeType":"Block","src":"37200:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e742c626f6f6c29","id":16480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37250:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3cc5b5d38fa67d61ad4f760e2dab344ea54d36d39a7b72ff747c1e117e2289bb","typeString":"literal_string \"log(string,bool,uint,bool)\""},"value":"log(string,bool,uint,bool)"},{"id":16481,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16468,"src":"37280:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16482,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16470,"src":"37284:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16483,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16472,"src":"37288:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16484,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16474,"src":"37292:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3cc5b5d38fa67d61ad4f760e2dab344ea54d36d39a7b72ff747c1e117e2289bb","typeString":"literal_string \"log(string,bool,uint,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16478,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37226:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37226:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37226:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16477,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"37210:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37210:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16487,"nodeType":"ExpressionStatement","src":"37210:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37137:3:14","parameters":{"id":16475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16468,"mutability":"mutable","name":"p0","nameLocation":"37155:2:14","nodeType":"VariableDeclaration","scope":16489,"src":"37141:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16467,"name":"string","nodeType":"ElementaryTypeName","src":"37141:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16470,"mutability":"mutable","name":"p1","nameLocation":"37164:2:14","nodeType":"VariableDeclaration","scope":16489,"src":"37159:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16469,"name":"bool","nodeType":"ElementaryTypeName","src":"37159:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16472,"mutability":"mutable","name":"p2","nameLocation":"37173:2:14","nodeType":"VariableDeclaration","scope":16489,"src":"37168:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16471,"name":"uint","nodeType":"ElementaryTypeName","src":"37168:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16474,"mutability":"mutable","name":"p3","nameLocation":"37182:2:14","nodeType":"VariableDeclaration","scope":16489,"src":"37177:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16473,"name":"bool","nodeType":"ElementaryTypeName","src":"37177:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37140:45:14"},"returnParameters":{"id":16476,"nodeType":"ParameterList","parameters":[],"src":"37200:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16512,"nodeType":"FunctionDefinition","src":"37309:181:14","nodes":[],"body":{"id":16511,"nodeType":"Block","src":"37384:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e742c6164647265737329","id":16503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37434:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_71d3850da171f493bcf1bd9faa0694f71484214d8459bca427251a9ad3e9bbd6","typeString":"literal_string \"log(string,bool,uint,address)\""},"value":"log(string,bool,uint,address)"},{"id":16504,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16491,"src":"37467:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16505,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16493,"src":"37471:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16506,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16495,"src":"37475:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16507,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16497,"src":"37479:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71d3850da171f493bcf1bd9faa0694f71484214d8459bca427251a9ad3e9bbd6","typeString":"literal_string \"log(string,bool,uint,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16501,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37410:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37410:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37410:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16500,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"37394:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37394:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16510,"nodeType":"ExpressionStatement","src":"37394:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37318:3:14","parameters":{"id":16498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16491,"mutability":"mutable","name":"p0","nameLocation":"37336:2:14","nodeType":"VariableDeclaration","scope":16512,"src":"37322:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16490,"name":"string","nodeType":"ElementaryTypeName","src":"37322:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16493,"mutability":"mutable","name":"p1","nameLocation":"37345:2:14","nodeType":"VariableDeclaration","scope":16512,"src":"37340:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16492,"name":"bool","nodeType":"ElementaryTypeName","src":"37340:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16495,"mutability":"mutable","name":"p2","nameLocation":"37354:2:14","nodeType":"VariableDeclaration","scope":16512,"src":"37349:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16494,"name":"uint","nodeType":"ElementaryTypeName","src":"37349:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16497,"mutability":"mutable","name":"p3","nameLocation":"37366:2:14","nodeType":"VariableDeclaration","scope":16512,"src":"37358:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16496,"name":"address","nodeType":"ElementaryTypeName","src":"37358:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37321:48:14"},"returnParameters":{"id":16499,"nodeType":"ParameterList","parameters":[],"src":"37384:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16535,"nodeType":"FunctionDefinition","src":"37496:186:14","nodes":[],"body":{"id":16534,"nodeType":"Block","src":"37577:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c75696e7429","id":16526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37627:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_34cb308d42fc37e3a239bcd0d717cf3713a336733737bee1d82ac9061e969d72","typeString":"literal_string \"log(string,bool,string,uint)\""},"value":"log(string,bool,string,uint)"},{"id":16527,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16514,"src":"37659:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16528,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16516,"src":"37663:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16529,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16518,"src":"37667:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16530,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16520,"src":"37671:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_34cb308d42fc37e3a239bcd0d717cf3713a336733737bee1d82ac9061e969d72","typeString":"literal_string \"log(string,bool,string,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16524,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37603:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16525,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37603:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37603:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16523,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"37587:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37587:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16533,"nodeType":"ExpressionStatement","src":"37587:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37505:3:14","parameters":{"id":16521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16514,"mutability":"mutable","name":"p0","nameLocation":"37523:2:14","nodeType":"VariableDeclaration","scope":16535,"src":"37509:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16513,"name":"string","nodeType":"ElementaryTypeName","src":"37509:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16516,"mutability":"mutable","name":"p1","nameLocation":"37532:2:14","nodeType":"VariableDeclaration","scope":16535,"src":"37527:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16515,"name":"bool","nodeType":"ElementaryTypeName","src":"37527:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16518,"mutability":"mutable","name":"p2","nameLocation":"37550:2:14","nodeType":"VariableDeclaration","scope":16535,"src":"37536:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16517,"name":"string","nodeType":"ElementaryTypeName","src":"37536:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16520,"mutability":"mutable","name":"p3","nameLocation":"37559:2:14","nodeType":"VariableDeclaration","scope":16535,"src":"37554:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16519,"name":"uint","nodeType":"ElementaryTypeName","src":"37554:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37508:54:14"},"returnParameters":{"id":16522,"nodeType":"ParameterList","parameters":[],"src":"37577:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16558,"nodeType":"FunctionDefinition","src":"37688:197:14","nodes":[],"body":{"id":16557,"nodeType":"Block","src":"37778:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c737472696e6729","id":16549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37828:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},"value":"log(string,bool,string,string)"},{"id":16550,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16537,"src":"37862:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16551,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16539,"src":"37866:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16552,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16541,"src":"37870:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16553,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16543,"src":"37874:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16547,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37804:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37804:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37804:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16546,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"37788:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37788:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16556,"nodeType":"ExpressionStatement","src":"37788:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37697:3:14","parameters":{"id":16544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16537,"mutability":"mutable","name":"p0","nameLocation":"37715:2:14","nodeType":"VariableDeclaration","scope":16558,"src":"37701:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16536,"name":"string","nodeType":"ElementaryTypeName","src":"37701:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16539,"mutability":"mutable","name":"p1","nameLocation":"37724:2:14","nodeType":"VariableDeclaration","scope":16558,"src":"37719:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16538,"name":"bool","nodeType":"ElementaryTypeName","src":"37719:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16541,"mutability":"mutable","name":"p2","nameLocation":"37742:2:14","nodeType":"VariableDeclaration","scope":16558,"src":"37728:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16540,"name":"string","nodeType":"ElementaryTypeName","src":"37728:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16543,"mutability":"mutable","name":"p3","nameLocation":"37760:2:14","nodeType":"VariableDeclaration","scope":16558,"src":"37746:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16542,"name":"string","nodeType":"ElementaryTypeName","src":"37746:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37700:63:14"},"returnParameters":{"id":16545,"nodeType":"ParameterList","parameters":[],"src":"37778:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16581,"nodeType":"FunctionDefinition","src":"37891:186:14","nodes":[],"body":{"id":16580,"nodeType":"Block","src":"37972:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c626f6f6c29","id":16572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38022:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},"value":"log(string,bool,string,bool)"},{"id":16573,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16560,"src":"38054:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16574,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16562,"src":"38058:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16575,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16564,"src":"38062:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16576,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16566,"src":"38066:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16570,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37998:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16571,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37998:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37998:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16569,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"37982:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37982:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16579,"nodeType":"ExpressionStatement","src":"37982:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37900:3:14","parameters":{"id":16567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16560,"mutability":"mutable","name":"p0","nameLocation":"37918:2:14","nodeType":"VariableDeclaration","scope":16581,"src":"37904:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16559,"name":"string","nodeType":"ElementaryTypeName","src":"37904:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16562,"mutability":"mutable","name":"p1","nameLocation":"37927:2:14","nodeType":"VariableDeclaration","scope":16581,"src":"37922:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16561,"name":"bool","nodeType":"ElementaryTypeName","src":"37922:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16564,"mutability":"mutable","name":"p2","nameLocation":"37945:2:14","nodeType":"VariableDeclaration","scope":16581,"src":"37931:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16563,"name":"string","nodeType":"ElementaryTypeName","src":"37931:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16566,"mutability":"mutable","name":"p3","nameLocation":"37954:2:14","nodeType":"VariableDeclaration","scope":16581,"src":"37949:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16565,"name":"bool","nodeType":"ElementaryTypeName","src":"37949:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37903:54:14"},"returnParameters":{"id":16568,"nodeType":"ParameterList","parameters":[],"src":"37972:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16604,"nodeType":"FunctionDefinition","src":"38083:192:14","nodes":[],"body":{"id":16603,"nodeType":"Block","src":"38167:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c6164647265737329","id":16595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38217:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},"value":"log(string,bool,string,address)"},{"id":16596,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16583,"src":"38252:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16597,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16585,"src":"38256:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16598,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16587,"src":"38260:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16599,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16589,"src":"38264:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16593,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38193:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38193:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38193:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16592,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"38177:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38177:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16602,"nodeType":"ExpressionStatement","src":"38177:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38092:3:14","parameters":{"id":16590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16583,"mutability":"mutable","name":"p0","nameLocation":"38110:2:14","nodeType":"VariableDeclaration","scope":16604,"src":"38096:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16582,"name":"string","nodeType":"ElementaryTypeName","src":"38096:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16585,"mutability":"mutable","name":"p1","nameLocation":"38119:2:14","nodeType":"VariableDeclaration","scope":16604,"src":"38114:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16584,"name":"bool","nodeType":"ElementaryTypeName","src":"38114:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16587,"mutability":"mutable","name":"p2","nameLocation":"38137:2:14","nodeType":"VariableDeclaration","scope":16604,"src":"38123:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16586,"name":"string","nodeType":"ElementaryTypeName","src":"38123:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16589,"mutability":"mutable","name":"p3","nameLocation":"38149:2:14","nodeType":"VariableDeclaration","scope":16604,"src":"38141:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16588,"name":"address","nodeType":"ElementaryTypeName","src":"38141:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38095:57:14"},"returnParameters":{"id":16591,"nodeType":"ParameterList","parameters":[],"src":"38167:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16627,"nodeType":"FunctionDefinition","src":"38281:175:14","nodes":[],"body":{"id":16626,"nodeType":"Block","src":"38353:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c75696e7429","id":16618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38403:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_807531e8eafdd7a15a803e586dd9a01b2aa8ae2cdd52f093775c0dcb0c977edf","typeString":"literal_string \"log(string,bool,bool,uint)\""},"value":"log(string,bool,bool,uint)"},{"id":16619,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16606,"src":"38433:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16620,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16608,"src":"38437:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16621,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16610,"src":"38441:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16622,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16612,"src":"38445:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_807531e8eafdd7a15a803e586dd9a01b2aa8ae2cdd52f093775c0dcb0c977edf","typeString":"literal_string \"log(string,bool,bool,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16616,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38379:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38379:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38379:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16615,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"38363:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38363:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16625,"nodeType":"ExpressionStatement","src":"38363:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38290:3:14","parameters":{"id":16613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16606,"mutability":"mutable","name":"p0","nameLocation":"38308:2:14","nodeType":"VariableDeclaration","scope":16627,"src":"38294:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16605,"name":"string","nodeType":"ElementaryTypeName","src":"38294:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16608,"mutability":"mutable","name":"p1","nameLocation":"38317:2:14","nodeType":"VariableDeclaration","scope":16627,"src":"38312:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16607,"name":"bool","nodeType":"ElementaryTypeName","src":"38312:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16610,"mutability":"mutable","name":"p2","nameLocation":"38326:2:14","nodeType":"VariableDeclaration","scope":16627,"src":"38321:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16609,"name":"bool","nodeType":"ElementaryTypeName","src":"38321:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16612,"mutability":"mutable","name":"p3","nameLocation":"38335:2:14","nodeType":"VariableDeclaration","scope":16627,"src":"38330:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16611,"name":"uint","nodeType":"ElementaryTypeName","src":"38330:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38293:45:14"},"returnParameters":{"id":16614,"nodeType":"ParameterList","parameters":[],"src":"38353:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16650,"nodeType":"FunctionDefinition","src":"38462:186:14","nodes":[],"body":{"id":16649,"nodeType":"Block","src":"38543:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c737472696e6729","id":16641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38593:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},"value":"log(string,bool,bool,string)"},{"id":16642,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16629,"src":"38625:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16643,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16631,"src":"38629:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16644,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16633,"src":"38633:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16645,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16635,"src":"38637:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16639,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38569:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16640,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38569:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38569:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16638,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"38553:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38553:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16648,"nodeType":"ExpressionStatement","src":"38553:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38471:3:14","parameters":{"id":16636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16629,"mutability":"mutable","name":"p0","nameLocation":"38489:2:14","nodeType":"VariableDeclaration","scope":16650,"src":"38475:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16628,"name":"string","nodeType":"ElementaryTypeName","src":"38475:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16631,"mutability":"mutable","name":"p1","nameLocation":"38498:2:14","nodeType":"VariableDeclaration","scope":16650,"src":"38493:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16630,"name":"bool","nodeType":"ElementaryTypeName","src":"38493:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16633,"mutability":"mutable","name":"p2","nameLocation":"38507:2:14","nodeType":"VariableDeclaration","scope":16650,"src":"38502:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16632,"name":"bool","nodeType":"ElementaryTypeName","src":"38502:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16635,"mutability":"mutable","name":"p3","nameLocation":"38525:2:14","nodeType":"VariableDeclaration","scope":16650,"src":"38511:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16634,"name":"string","nodeType":"ElementaryTypeName","src":"38511:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38474:54:14"},"returnParameters":{"id":16637,"nodeType":"ParameterList","parameters":[],"src":"38543:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16673,"nodeType":"FunctionDefinition","src":"38654:175:14","nodes":[],"body":{"id":16672,"nodeType":"Block","src":"38726:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c626f6f6c29","id":16664,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38776:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},"value":"log(string,bool,bool,bool)"},{"id":16665,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16652,"src":"38806:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16666,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16654,"src":"38810:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16667,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16656,"src":"38814:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16668,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16658,"src":"38818:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16662,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38752:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38752:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38752:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16661,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"38736:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38736:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16671,"nodeType":"ExpressionStatement","src":"38736:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38663:3:14","parameters":{"id":16659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16652,"mutability":"mutable","name":"p0","nameLocation":"38681:2:14","nodeType":"VariableDeclaration","scope":16673,"src":"38667:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16651,"name":"string","nodeType":"ElementaryTypeName","src":"38667:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16654,"mutability":"mutable","name":"p1","nameLocation":"38690:2:14","nodeType":"VariableDeclaration","scope":16673,"src":"38685:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16653,"name":"bool","nodeType":"ElementaryTypeName","src":"38685:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16656,"mutability":"mutable","name":"p2","nameLocation":"38699:2:14","nodeType":"VariableDeclaration","scope":16673,"src":"38694:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16655,"name":"bool","nodeType":"ElementaryTypeName","src":"38694:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16658,"mutability":"mutable","name":"p3","nameLocation":"38708:2:14","nodeType":"VariableDeclaration","scope":16673,"src":"38703:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16657,"name":"bool","nodeType":"ElementaryTypeName","src":"38703:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38666:45:14"},"returnParameters":{"id":16660,"nodeType":"ParameterList","parameters":[],"src":"38726:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16696,"nodeType":"FunctionDefinition","src":"38835:181:14","nodes":[],"body":{"id":16695,"nodeType":"Block","src":"38910:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c6164647265737329","id":16687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38960:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},"value":"log(string,bool,bool,address)"},{"id":16688,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16675,"src":"38993:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16689,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16677,"src":"38997:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16690,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16679,"src":"39001:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16691,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16681,"src":"39005:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16685,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38936:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16686,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38936:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38936:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16684,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"38920:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38920:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16694,"nodeType":"ExpressionStatement","src":"38920:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38844:3:14","parameters":{"id":16682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16675,"mutability":"mutable","name":"p0","nameLocation":"38862:2:14","nodeType":"VariableDeclaration","scope":16696,"src":"38848:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16674,"name":"string","nodeType":"ElementaryTypeName","src":"38848:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16677,"mutability":"mutable","name":"p1","nameLocation":"38871:2:14","nodeType":"VariableDeclaration","scope":16696,"src":"38866:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16676,"name":"bool","nodeType":"ElementaryTypeName","src":"38866:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16679,"mutability":"mutable","name":"p2","nameLocation":"38880:2:14","nodeType":"VariableDeclaration","scope":16696,"src":"38875:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16678,"name":"bool","nodeType":"ElementaryTypeName","src":"38875:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16681,"mutability":"mutable","name":"p3","nameLocation":"38892:2:14","nodeType":"VariableDeclaration","scope":16696,"src":"38884:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16680,"name":"address","nodeType":"ElementaryTypeName","src":"38884:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38847:48:14"},"returnParameters":{"id":16683,"nodeType":"ParameterList","parameters":[],"src":"38910:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16719,"nodeType":"FunctionDefinition","src":"39022:181:14","nodes":[],"body":{"id":16718,"nodeType":"Block","src":"39097:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c75696e7429","id":16710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39147:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_28df4e96d50017c69e64253ea877c992512b689fb9fed17cf6af78f104f1200b","typeString":"literal_string \"log(string,bool,address,uint)\""},"value":"log(string,bool,address,uint)"},{"id":16711,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16698,"src":"39180:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16712,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16700,"src":"39184:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16713,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16702,"src":"39188:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16714,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16704,"src":"39192:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_28df4e96d50017c69e64253ea877c992512b689fb9fed17cf6af78f104f1200b","typeString":"literal_string \"log(string,bool,address,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16708,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39123:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39123:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39123:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16707,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"39107:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39107:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16717,"nodeType":"ExpressionStatement","src":"39107:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39031:3:14","parameters":{"id":16705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16698,"mutability":"mutable","name":"p0","nameLocation":"39049:2:14","nodeType":"VariableDeclaration","scope":16719,"src":"39035:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16697,"name":"string","nodeType":"ElementaryTypeName","src":"39035:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16700,"mutability":"mutable","name":"p1","nameLocation":"39058:2:14","nodeType":"VariableDeclaration","scope":16719,"src":"39053:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16699,"name":"bool","nodeType":"ElementaryTypeName","src":"39053:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16702,"mutability":"mutable","name":"p2","nameLocation":"39070:2:14","nodeType":"VariableDeclaration","scope":16719,"src":"39062:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16701,"name":"address","nodeType":"ElementaryTypeName","src":"39062:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16704,"mutability":"mutable","name":"p3","nameLocation":"39079:2:14","nodeType":"VariableDeclaration","scope":16719,"src":"39074:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16703,"name":"uint","nodeType":"ElementaryTypeName","src":"39074:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39034:48:14"},"returnParameters":{"id":16706,"nodeType":"ParameterList","parameters":[],"src":"39097:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16742,"nodeType":"FunctionDefinition","src":"39209:192:14","nodes":[],"body":{"id":16741,"nodeType":"Block","src":"39293:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c737472696e6729","id":16733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39343:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},"value":"log(string,bool,address,string)"},{"id":16734,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16721,"src":"39378:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16735,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16723,"src":"39382:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16736,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16725,"src":"39386:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16737,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16727,"src":"39390:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16731,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39319:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39319:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39319:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16730,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"39303:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39303:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16740,"nodeType":"ExpressionStatement","src":"39303:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39218:3:14","parameters":{"id":16728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16721,"mutability":"mutable","name":"p0","nameLocation":"39236:2:14","nodeType":"VariableDeclaration","scope":16742,"src":"39222:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16720,"name":"string","nodeType":"ElementaryTypeName","src":"39222:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16723,"mutability":"mutable","name":"p1","nameLocation":"39245:2:14","nodeType":"VariableDeclaration","scope":16742,"src":"39240:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16722,"name":"bool","nodeType":"ElementaryTypeName","src":"39240:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16725,"mutability":"mutable","name":"p2","nameLocation":"39257:2:14","nodeType":"VariableDeclaration","scope":16742,"src":"39249:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16724,"name":"address","nodeType":"ElementaryTypeName","src":"39249:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16727,"mutability":"mutable","name":"p3","nameLocation":"39275:2:14","nodeType":"VariableDeclaration","scope":16742,"src":"39261:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16726,"name":"string","nodeType":"ElementaryTypeName","src":"39261:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39221:57:14"},"returnParameters":{"id":16729,"nodeType":"ParameterList","parameters":[],"src":"39293:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16765,"nodeType":"FunctionDefinition","src":"39407:181:14","nodes":[],"body":{"id":16764,"nodeType":"Block","src":"39482:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c626f6f6c29","id":16756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39532:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},"value":"log(string,bool,address,bool)"},{"id":16757,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16744,"src":"39565:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16758,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16746,"src":"39569:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16759,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16748,"src":"39573:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16760,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16750,"src":"39577:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16754,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39508:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16755,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39508:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39508:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16753,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"39492:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39492:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16763,"nodeType":"ExpressionStatement","src":"39492:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39416:3:14","parameters":{"id":16751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16744,"mutability":"mutable","name":"p0","nameLocation":"39434:2:14","nodeType":"VariableDeclaration","scope":16765,"src":"39420:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16743,"name":"string","nodeType":"ElementaryTypeName","src":"39420:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16746,"mutability":"mutable","name":"p1","nameLocation":"39443:2:14","nodeType":"VariableDeclaration","scope":16765,"src":"39438:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16745,"name":"bool","nodeType":"ElementaryTypeName","src":"39438:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16748,"mutability":"mutable","name":"p2","nameLocation":"39455:2:14","nodeType":"VariableDeclaration","scope":16765,"src":"39447:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16747,"name":"address","nodeType":"ElementaryTypeName","src":"39447:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16750,"mutability":"mutable","name":"p3","nameLocation":"39464:2:14","nodeType":"VariableDeclaration","scope":16765,"src":"39459:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16749,"name":"bool","nodeType":"ElementaryTypeName","src":"39459:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39419:48:14"},"returnParameters":{"id":16752,"nodeType":"ParameterList","parameters":[],"src":"39482:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16788,"nodeType":"FunctionDefinition","src":"39594:187:14","nodes":[],"body":{"id":16787,"nodeType":"Block","src":"39672:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c6164647265737329","id":16779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39722:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},"value":"log(string,bool,address,address)"},{"id":16780,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16767,"src":"39758:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16781,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16769,"src":"39762:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16782,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16771,"src":"39766:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16783,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16773,"src":"39770:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16777,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39698:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39698:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39698:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16776,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"39682:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39682:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16786,"nodeType":"ExpressionStatement","src":"39682:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39603:3:14","parameters":{"id":16774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16767,"mutability":"mutable","name":"p0","nameLocation":"39621:2:14","nodeType":"VariableDeclaration","scope":16788,"src":"39607:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16766,"name":"string","nodeType":"ElementaryTypeName","src":"39607:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16769,"mutability":"mutable","name":"p1","nameLocation":"39630:2:14","nodeType":"VariableDeclaration","scope":16788,"src":"39625:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16768,"name":"bool","nodeType":"ElementaryTypeName","src":"39625:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16771,"mutability":"mutable","name":"p2","nameLocation":"39642:2:14","nodeType":"VariableDeclaration","scope":16788,"src":"39634:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16770,"name":"address","nodeType":"ElementaryTypeName","src":"39634:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16773,"mutability":"mutable","name":"p3","nameLocation":"39654:2:14","nodeType":"VariableDeclaration","scope":16788,"src":"39646:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16772,"name":"address","nodeType":"ElementaryTypeName","src":"39646:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39606:51:14"},"returnParameters":{"id":16775,"nodeType":"ParameterList","parameters":[],"src":"39672:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16811,"nodeType":"FunctionDefinition","src":"39787:181:14","nodes":[],"body":{"id":16810,"nodeType":"Block","src":"39862:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e742c75696e7429","id":16802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39912:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_daa394bd4914eaece965f4173c7699746dff411e470b03385f052bd7b13f1bd3","typeString":"literal_string \"log(string,address,uint,uint)\""},"value":"log(string,address,uint,uint)"},{"id":16803,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16790,"src":"39945:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16804,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16792,"src":"39949:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16805,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16794,"src":"39953:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16806,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16796,"src":"39957:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_daa394bd4914eaece965f4173c7699746dff411e470b03385f052bd7b13f1bd3","typeString":"literal_string \"log(string,address,uint,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16800,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39888:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39888:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39888:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16799,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"39872:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39872:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16809,"nodeType":"ExpressionStatement","src":"39872:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39796:3:14","parameters":{"id":16797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16790,"mutability":"mutable","name":"p0","nameLocation":"39814:2:14","nodeType":"VariableDeclaration","scope":16811,"src":"39800:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16789,"name":"string","nodeType":"ElementaryTypeName","src":"39800:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16792,"mutability":"mutable","name":"p1","nameLocation":"39826:2:14","nodeType":"VariableDeclaration","scope":16811,"src":"39818:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16791,"name":"address","nodeType":"ElementaryTypeName","src":"39818:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16794,"mutability":"mutable","name":"p2","nameLocation":"39835:2:14","nodeType":"VariableDeclaration","scope":16811,"src":"39830:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16793,"name":"uint","nodeType":"ElementaryTypeName","src":"39830:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16796,"mutability":"mutable","name":"p3","nameLocation":"39844:2:14","nodeType":"VariableDeclaration","scope":16811,"src":"39839:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16795,"name":"uint","nodeType":"ElementaryTypeName","src":"39839:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39799:48:14"},"returnParameters":{"id":16798,"nodeType":"ParameterList","parameters":[],"src":"39862:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16834,"nodeType":"FunctionDefinition","src":"39974:192:14","nodes":[],"body":{"id":16833,"nodeType":"Block","src":"40058:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e742c737472696e6729","id":16825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40108:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4c55f234d048f08e770926729ee5d8a9c70d6b9a607ce037165c7e0f36155a98","typeString":"literal_string \"log(string,address,uint,string)\""},"value":"log(string,address,uint,string)"},{"id":16826,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16813,"src":"40143:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16827,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16815,"src":"40147:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16828,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16817,"src":"40151:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16829,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16819,"src":"40155:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4c55f234d048f08e770926729ee5d8a9c70d6b9a607ce037165c7e0f36155a98","typeString":"literal_string \"log(string,address,uint,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16823,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40084:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40084:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40084:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16822,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"40068:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40068:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16832,"nodeType":"ExpressionStatement","src":"40068:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39983:3:14","parameters":{"id":16820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16813,"mutability":"mutable","name":"p0","nameLocation":"40001:2:14","nodeType":"VariableDeclaration","scope":16834,"src":"39987:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16812,"name":"string","nodeType":"ElementaryTypeName","src":"39987:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16815,"mutability":"mutable","name":"p1","nameLocation":"40013:2:14","nodeType":"VariableDeclaration","scope":16834,"src":"40005:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16814,"name":"address","nodeType":"ElementaryTypeName","src":"40005:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16817,"mutability":"mutable","name":"p2","nameLocation":"40022:2:14","nodeType":"VariableDeclaration","scope":16834,"src":"40017:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16816,"name":"uint","nodeType":"ElementaryTypeName","src":"40017:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16819,"mutability":"mutable","name":"p3","nameLocation":"40040:2:14","nodeType":"VariableDeclaration","scope":16834,"src":"40026:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16818,"name":"string","nodeType":"ElementaryTypeName","src":"40026:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39986:57:14"},"returnParameters":{"id":16821,"nodeType":"ParameterList","parameters":[],"src":"40058:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16857,"nodeType":"FunctionDefinition","src":"40172:181:14","nodes":[],"body":{"id":16856,"nodeType":"Block","src":"40247:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e742c626f6f6c29","id":16848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40297:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ac1c13c91f65a91284d9d77ba7484e75b0a3dd9b57a01fd497babb7d6ebc554","typeString":"literal_string \"log(string,address,uint,bool)\""},"value":"log(string,address,uint,bool)"},{"id":16849,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16836,"src":"40330:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16850,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16838,"src":"40334:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16851,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16840,"src":"40338:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16852,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16842,"src":"40342:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ac1c13c91f65a91284d9d77ba7484e75b0a3dd9b57a01fd497babb7d6ebc554","typeString":"literal_string \"log(string,address,uint,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16846,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40273:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40273:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40273:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16845,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"40257:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40257:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16855,"nodeType":"ExpressionStatement","src":"40257:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40181:3:14","parameters":{"id":16843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16836,"mutability":"mutable","name":"p0","nameLocation":"40199:2:14","nodeType":"VariableDeclaration","scope":16857,"src":"40185:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16835,"name":"string","nodeType":"ElementaryTypeName","src":"40185:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16838,"mutability":"mutable","name":"p1","nameLocation":"40211:2:14","nodeType":"VariableDeclaration","scope":16857,"src":"40203:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16837,"name":"address","nodeType":"ElementaryTypeName","src":"40203:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16840,"mutability":"mutable","name":"p2","nameLocation":"40220:2:14","nodeType":"VariableDeclaration","scope":16857,"src":"40215:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16839,"name":"uint","nodeType":"ElementaryTypeName","src":"40215:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16842,"mutability":"mutable","name":"p3","nameLocation":"40229:2:14","nodeType":"VariableDeclaration","scope":16857,"src":"40224:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16841,"name":"bool","nodeType":"ElementaryTypeName","src":"40224:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40184:48:14"},"returnParameters":{"id":16844,"nodeType":"ParameterList","parameters":[],"src":"40247:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16880,"nodeType":"FunctionDefinition","src":"40359:187:14","nodes":[],"body":{"id":16879,"nodeType":"Block","src":"40437:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e742c6164647265737329","id":16871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40487:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a366ec808c8af1aa091e8102642939a99436cf04d3dfac2ae23c299404f821b2","typeString":"literal_string \"log(string,address,uint,address)\""},"value":"log(string,address,uint,address)"},{"id":16872,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16859,"src":"40523:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16873,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16861,"src":"40527:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16874,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16863,"src":"40531:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":16875,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16865,"src":"40535:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a366ec808c8af1aa091e8102642939a99436cf04d3dfac2ae23c299404f821b2","typeString":"literal_string \"log(string,address,uint,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16869,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40463:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40463:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40463:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16868,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"40447:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40447:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16878,"nodeType":"ExpressionStatement","src":"40447:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40368:3:14","parameters":{"id":16866,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16859,"mutability":"mutable","name":"p0","nameLocation":"40386:2:14","nodeType":"VariableDeclaration","scope":16880,"src":"40372:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16858,"name":"string","nodeType":"ElementaryTypeName","src":"40372:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16861,"mutability":"mutable","name":"p1","nameLocation":"40398:2:14","nodeType":"VariableDeclaration","scope":16880,"src":"40390:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16860,"name":"address","nodeType":"ElementaryTypeName","src":"40390:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16863,"mutability":"mutable","name":"p2","nameLocation":"40407:2:14","nodeType":"VariableDeclaration","scope":16880,"src":"40402:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16862,"name":"uint","nodeType":"ElementaryTypeName","src":"40402:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16865,"mutability":"mutable","name":"p3","nameLocation":"40419:2:14","nodeType":"VariableDeclaration","scope":16880,"src":"40411:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16864,"name":"address","nodeType":"ElementaryTypeName","src":"40411:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40371:51:14"},"returnParameters":{"id":16867,"nodeType":"ParameterList","parameters":[],"src":"40437:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16903,"nodeType":"FunctionDefinition","src":"40552:192:14","nodes":[],"body":{"id":16902,"nodeType":"Block","src":"40636:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c75696e7429","id":16894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40686:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f624be9ea3983abac9c65ced8f562a492ebb84e6f74cd40f35387eff4d66349","typeString":"literal_string \"log(string,address,string,uint)\""},"value":"log(string,address,string,uint)"},{"id":16895,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16882,"src":"40721:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16896,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16884,"src":"40725:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16897,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16886,"src":"40729:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16898,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16888,"src":"40733:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f624be9ea3983abac9c65ced8f562a492ebb84e6f74cd40f35387eff4d66349","typeString":"literal_string \"log(string,address,string,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16892,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40662:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16893,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40662:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40662:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16891,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"40646:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40646:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16901,"nodeType":"ExpressionStatement","src":"40646:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40561:3:14","parameters":{"id":16889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16882,"mutability":"mutable","name":"p0","nameLocation":"40579:2:14","nodeType":"VariableDeclaration","scope":16903,"src":"40565:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16881,"name":"string","nodeType":"ElementaryTypeName","src":"40565:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16884,"mutability":"mutable","name":"p1","nameLocation":"40591:2:14","nodeType":"VariableDeclaration","scope":16903,"src":"40583:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16883,"name":"address","nodeType":"ElementaryTypeName","src":"40583:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16886,"mutability":"mutable","name":"p2","nameLocation":"40609:2:14","nodeType":"VariableDeclaration","scope":16903,"src":"40595:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16885,"name":"string","nodeType":"ElementaryTypeName","src":"40595:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16888,"mutability":"mutable","name":"p3","nameLocation":"40618:2:14","nodeType":"VariableDeclaration","scope":16903,"src":"40613:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16887,"name":"uint","nodeType":"ElementaryTypeName","src":"40613:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40564:57:14"},"returnParameters":{"id":16890,"nodeType":"ParameterList","parameters":[],"src":"40636:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16926,"nodeType":"FunctionDefinition","src":"40750:203:14","nodes":[],"body":{"id":16925,"nodeType":"Block","src":"40843:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c737472696e6729","id":16917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40893:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},"value":"log(string,address,string,string)"},{"id":16918,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16905,"src":"40930:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16919,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16907,"src":"40934:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16920,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16909,"src":"40938:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16921,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16911,"src":"40942:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":16915,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40869:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16916,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40869:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40869:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16914,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"40853:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40853:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16924,"nodeType":"ExpressionStatement","src":"40853:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40759:3:14","parameters":{"id":16912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16905,"mutability":"mutable","name":"p0","nameLocation":"40777:2:14","nodeType":"VariableDeclaration","scope":16926,"src":"40763:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16904,"name":"string","nodeType":"ElementaryTypeName","src":"40763:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16907,"mutability":"mutable","name":"p1","nameLocation":"40789:2:14","nodeType":"VariableDeclaration","scope":16926,"src":"40781:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16906,"name":"address","nodeType":"ElementaryTypeName","src":"40781:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16909,"mutability":"mutable","name":"p2","nameLocation":"40807:2:14","nodeType":"VariableDeclaration","scope":16926,"src":"40793:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16908,"name":"string","nodeType":"ElementaryTypeName","src":"40793:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16911,"mutability":"mutable","name":"p3","nameLocation":"40825:2:14","nodeType":"VariableDeclaration","scope":16926,"src":"40811:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16910,"name":"string","nodeType":"ElementaryTypeName","src":"40811:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40762:66:14"},"returnParameters":{"id":16913,"nodeType":"ParameterList","parameters":[],"src":"40843:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16949,"nodeType":"FunctionDefinition","src":"40959:192:14","nodes":[],"body":{"id":16948,"nodeType":"Block","src":"41043:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c626f6f6c29","id":16940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41093:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},"value":"log(string,address,string,bool)"},{"id":16941,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16928,"src":"41128:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16942,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16930,"src":"41132:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16943,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16932,"src":"41136:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16944,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16934,"src":"41140:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":16938,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41069:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41069:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41069:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16937,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"41053:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41053:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16947,"nodeType":"ExpressionStatement","src":"41053:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40968:3:14","parameters":{"id":16935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16928,"mutability":"mutable","name":"p0","nameLocation":"40986:2:14","nodeType":"VariableDeclaration","scope":16949,"src":"40972:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16927,"name":"string","nodeType":"ElementaryTypeName","src":"40972:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16930,"mutability":"mutable","name":"p1","nameLocation":"40998:2:14","nodeType":"VariableDeclaration","scope":16949,"src":"40990:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16929,"name":"address","nodeType":"ElementaryTypeName","src":"40990:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16932,"mutability":"mutable","name":"p2","nameLocation":"41016:2:14","nodeType":"VariableDeclaration","scope":16949,"src":"41002:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16931,"name":"string","nodeType":"ElementaryTypeName","src":"41002:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16934,"mutability":"mutable","name":"p3","nameLocation":"41025:2:14","nodeType":"VariableDeclaration","scope":16949,"src":"41020:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16933,"name":"bool","nodeType":"ElementaryTypeName","src":"41020:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40971:57:14"},"returnParameters":{"id":16936,"nodeType":"ParameterList","parameters":[],"src":"41043:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16972,"nodeType":"FunctionDefinition","src":"41157:198:14","nodes":[],"body":{"id":16971,"nodeType":"Block","src":"41244:111:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c6164647265737329","id":16963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41294:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},"value":"log(string,address,string,address)"},{"id":16964,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16951,"src":"41332:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16965,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16953,"src":"41336:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16966,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16955,"src":"41340:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16967,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16957,"src":"41344:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":16961,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41270:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41270:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41270:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16960,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"41254:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41254:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16970,"nodeType":"ExpressionStatement","src":"41254:94:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41166:3:14","parameters":{"id":16958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16951,"mutability":"mutable","name":"p0","nameLocation":"41184:2:14","nodeType":"VariableDeclaration","scope":16972,"src":"41170:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16950,"name":"string","nodeType":"ElementaryTypeName","src":"41170:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16953,"mutability":"mutable","name":"p1","nameLocation":"41196:2:14","nodeType":"VariableDeclaration","scope":16972,"src":"41188:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16952,"name":"address","nodeType":"ElementaryTypeName","src":"41188:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16955,"mutability":"mutable","name":"p2","nameLocation":"41214:2:14","nodeType":"VariableDeclaration","scope":16972,"src":"41200:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16954,"name":"string","nodeType":"ElementaryTypeName","src":"41200:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16957,"mutability":"mutable","name":"p3","nameLocation":"41226:2:14","nodeType":"VariableDeclaration","scope":16972,"src":"41218:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16956,"name":"address","nodeType":"ElementaryTypeName","src":"41218:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41169:60:14"},"returnParameters":{"id":16959,"nodeType":"ParameterList","parameters":[],"src":"41244:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":16995,"nodeType":"FunctionDefinition","src":"41361:181:14","nodes":[],"body":{"id":16994,"nodeType":"Block","src":"41436:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c75696e7429","id":16986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41486:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d1bb8ba57e795e9925065473f653a381a99be37bdcfbeaf49f38097f35af7f","typeString":"literal_string \"log(string,address,bool,uint)\""},"value":"log(string,address,bool,uint)"},{"id":16987,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16974,"src":"41519:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":16988,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16976,"src":"41523:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":16989,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16978,"src":"41527:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":16990,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16980,"src":"41531:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d1bb8ba57e795e9925065473f653a381a99be37bdcfbeaf49f38097f35af7f","typeString":"literal_string \"log(string,address,bool,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":16984,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41462:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":16985,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41462:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":16991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41462:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":16983,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"41446:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":16992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41446:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":16993,"nodeType":"ExpressionStatement","src":"41446:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41370:3:14","parameters":{"id":16981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16974,"mutability":"mutable","name":"p0","nameLocation":"41388:2:14","nodeType":"VariableDeclaration","scope":16995,"src":"41374:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16973,"name":"string","nodeType":"ElementaryTypeName","src":"41374:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16976,"mutability":"mutable","name":"p1","nameLocation":"41400:2:14","nodeType":"VariableDeclaration","scope":16995,"src":"41392:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16975,"name":"address","nodeType":"ElementaryTypeName","src":"41392:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16978,"mutability":"mutable","name":"p2","nameLocation":"41409:2:14","nodeType":"VariableDeclaration","scope":16995,"src":"41404:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16977,"name":"bool","nodeType":"ElementaryTypeName","src":"41404:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16980,"mutability":"mutable","name":"p3","nameLocation":"41418:2:14","nodeType":"VariableDeclaration","scope":16995,"src":"41413:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16979,"name":"uint","nodeType":"ElementaryTypeName","src":"41413:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41373:48:14"},"returnParameters":{"id":16982,"nodeType":"ParameterList","parameters":[],"src":"41436:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17018,"nodeType":"FunctionDefinition","src":"41548:192:14","nodes":[],"body":{"id":17017,"nodeType":"Block","src":"41632:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c737472696e6729","id":17009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41682:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},"value":"log(string,address,bool,string)"},{"id":17010,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16997,"src":"41717:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17011,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16999,"src":"41721:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17012,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17001,"src":"41725:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17013,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17003,"src":"41729:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17007,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41658:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41658:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41658:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17006,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"41642:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41642:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17016,"nodeType":"ExpressionStatement","src":"41642:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41557:3:14","parameters":{"id":17004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16997,"mutability":"mutable","name":"p0","nameLocation":"41575:2:14","nodeType":"VariableDeclaration","scope":17018,"src":"41561:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":16996,"name":"string","nodeType":"ElementaryTypeName","src":"41561:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":16999,"mutability":"mutable","name":"p1","nameLocation":"41587:2:14","nodeType":"VariableDeclaration","scope":17018,"src":"41579:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16998,"name":"address","nodeType":"ElementaryTypeName","src":"41579:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17001,"mutability":"mutable","name":"p2","nameLocation":"41596:2:14","nodeType":"VariableDeclaration","scope":17018,"src":"41591:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17000,"name":"bool","nodeType":"ElementaryTypeName","src":"41591:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17003,"mutability":"mutable","name":"p3","nameLocation":"41614:2:14","nodeType":"VariableDeclaration","scope":17018,"src":"41600:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17002,"name":"string","nodeType":"ElementaryTypeName","src":"41600:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41560:57:14"},"returnParameters":{"id":17005,"nodeType":"ParameterList","parameters":[],"src":"41632:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17041,"nodeType":"FunctionDefinition","src":"41746:181:14","nodes":[],"body":{"id":17040,"nodeType":"Block","src":"41821:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c626f6f6c29","id":17032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41871:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},"value":"log(string,address,bool,bool)"},{"id":17033,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17020,"src":"41904:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17034,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17022,"src":"41908:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17035,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17024,"src":"41912:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17036,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17026,"src":"41916:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17030,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41847:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41847:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41847:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17029,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"41831:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41831:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17039,"nodeType":"ExpressionStatement","src":"41831:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41755:3:14","parameters":{"id":17027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17020,"mutability":"mutable","name":"p0","nameLocation":"41773:2:14","nodeType":"VariableDeclaration","scope":17041,"src":"41759:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17019,"name":"string","nodeType":"ElementaryTypeName","src":"41759:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17022,"mutability":"mutable","name":"p1","nameLocation":"41785:2:14","nodeType":"VariableDeclaration","scope":17041,"src":"41777:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17021,"name":"address","nodeType":"ElementaryTypeName","src":"41777:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17024,"mutability":"mutable","name":"p2","nameLocation":"41794:2:14","nodeType":"VariableDeclaration","scope":17041,"src":"41789:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17023,"name":"bool","nodeType":"ElementaryTypeName","src":"41789:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17026,"mutability":"mutable","name":"p3","nameLocation":"41803:2:14","nodeType":"VariableDeclaration","scope":17041,"src":"41798:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17025,"name":"bool","nodeType":"ElementaryTypeName","src":"41798:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41758:48:14"},"returnParameters":{"id":17028,"nodeType":"ParameterList","parameters":[],"src":"41821:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17064,"nodeType":"FunctionDefinition","src":"41933:187:14","nodes":[],"body":{"id":17063,"nodeType":"Block","src":"42011:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c6164647265737329","id":17055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42061:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},"value":"log(string,address,bool,address)"},{"id":17056,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17043,"src":"42097:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17057,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17045,"src":"42101:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17058,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17047,"src":"42105:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17059,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17049,"src":"42109:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17053,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42037:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17054,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42037:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42037:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17052,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"42021:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42021:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17062,"nodeType":"ExpressionStatement","src":"42021:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41942:3:14","parameters":{"id":17050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17043,"mutability":"mutable","name":"p0","nameLocation":"41960:2:14","nodeType":"VariableDeclaration","scope":17064,"src":"41946:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17042,"name":"string","nodeType":"ElementaryTypeName","src":"41946:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17045,"mutability":"mutable","name":"p1","nameLocation":"41972:2:14","nodeType":"VariableDeclaration","scope":17064,"src":"41964:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17044,"name":"address","nodeType":"ElementaryTypeName","src":"41964:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17047,"mutability":"mutable","name":"p2","nameLocation":"41981:2:14","nodeType":"VariableDeclaration","scope":17064,"src":"41976:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17046,"name":"bool","nodeType":"ElementaryTypeName","src":"41976:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17049,"mutability":"mutable","name":"p3","nameLocation":"41993:2:14","nodeType":"VariableDeclaration","scope":17064,"src":"41985:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17048,"name":"address","nodeType":"ElementaryTypeName","src":"41985:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41945:51:14"},"returnParameters":{"id":17051,"nodeType":"ParameterList","parameters":[],"src":"42011:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17087,"nodeType":"FunctionDefinition","src":"42126:187:14","nodes":[],"body":{"id":17086,"nodeType":"Block","src":"42204:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c75696e7429","id":17078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42254:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6eb7943d4272e495e7f5cdeb25ef89b9c3c1042d5c1e0e6e11a8fdc842ff5e02","typeString":"literal_string \"log(string,address,address,uint)\""},"value":"log(string,address,address,uint)"},{"id":17079,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17066,"src":"42290:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17080,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17068,"src":"42294:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17081,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17070,"src":"42298:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17082,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17072,"src":"42302:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6eb7943d4272e495e7f5cdeb25ef89b9c3c1042d5c1e0e6e11a8fdc842ff5e02","typeString":"literal_string \"log(string,address,address,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17076,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42230:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17077,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42230:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42230:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17075,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"42214:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42214:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17085,"nodeType":"ExpressionStatement","src":"42214:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42135:3:14","parameters":{"id":17073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17066,"mutability":"mutable","name":"p0","nameLocation":"42153:2:14","nodeType":"VariableDeclaration","scope":17087,"src":"42139:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17065,"name":"string","nodeType":"ElementaryTypeName","src":"42139:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17068,"mutability":"mutable","name":"p1","nameLocation":"42165:2:14","nodeType":"VariableDeclaration","scope":17087,"src":"42157:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17067,"name":"address","nodeType":"ElementaryTypeName","src":"42157:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17070,"mutability":"mutable","name":"p2","nameLocation":"42177:2:14","nodeType":"VariableDeclaration","scope":17087,"src":"42169:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17069,"name":"address","nodeType":"ElementaryTypeName","src":"42169:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17072,"mutability":"mutable","name":"p3","nameLocation":"42186:2:14","nodeType":"VariableDeclaration","scope":17087,"src":"42181:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17071,"name":"uint","nodeType":"ElementaryTypeName","src":"42181:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42138:51:14"},"returnParameters":{"id":17074,"nodeType":"ParameterList","parameters":[],"src":"42204:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17110,"nodeType":"FunctionDefinition","src":"42319:198:14","nodes":[],"body":{"id":17109,"nodeType":"Block","src":"42406:111:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c737472696e6729","id":17101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42456:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},"value":"log(string,address,address,string)"},{"id":17102,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17089,"src":"42494:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17103,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17091,"src":"42498:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17104,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17093,"src":"42502:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17105,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17095,"src":"42506:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17099,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42432:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17100,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42432:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42432:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17098,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"42416:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42416:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17108,"nodeType":"ExpressionStatement","src":"42416:94:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42328:3:14","parameters":{"id":17096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17089,"mutability":"mutable","name":"p0","nameLocation":"42346:2:14","nodeType":"VariableDeclaration","scope":17110,"src":"42332:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17088,"name":"string","nodeType":"ElementaryTypeName","src":"42332:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17091,"mutability":"mutable","name":"p1","nameLocation":"42358:2:14","nodeType":"VariableDeclaration","scope":17110,"src":"42350:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17090,"name":"address","nodeType":"ElementaryTypeName","src":"42350:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17093,"mutability":"mutable","name":"p2","nameLocation":"42370:2:14","nodeType":"VariableDeclaration","scope":17110,"src":"42362:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17092,"name":"address","nodeType":"ElementaryTypeName","src":"42362:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17095,"mutability":"mutable","name":"p3","nameLocation":"42388:2:14","nodeType":"VariableDeclaration","scope":17110,"src":"42374:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17094,"name":"string","nodeType":"ElementaryTypeName","src":"42374:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42331:60:14"},"returnParameters":{"id":17097,"nodeType":"ParameterList","parameters":[],"src":"42406:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17133,"nodeType":"FunctionDefinition","src":"42523:187:14","nodes":[],"body":{"id":17132,"nodeType":"Block","src":"42601:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c626f6f6c29","id":17124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42651:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},"value":"log(string,address,address,bool)"},{"id":17125,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17112,"src":"42687:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17126,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17114,"src":"42691:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17127,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17116,"src":"42695:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17128,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17118,"src":"42699:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17122,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42627:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42627:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42627:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17121,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"42611:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42611:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17131,"nodeType":"ExpressionStatement","src":"42611:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42532:3:14","parameters":{"id":17119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17112,"mutability":"mutable","name":"p0","nameLocation":"42550:2:14","nodeType":"VariableDeclaration","scope":17133,"src":"42536:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17111,"name":"string","nodeType":"ElementaryTypeName","src":"42536:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17114,"mutability":"mutable","name":"p1","nameLocation":"42562:2:14","nodeType":"VariableDeclaration","scope":17133,"src":"42554:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17113,"name":"address","nodeType":"ElementaryTypeName","src":"42554:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17116,"mutability":"mutable","name":"p2","nameLocation":"42574:2:14","nodeType":"VariableDeclaration","scope":17133,"src":"42566:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17115,"name":"address","nodeType":"ElementaryTypeName","src":"42566:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17118,"mutability":"mutable","name":"p3","nameLocation":"42583:2:14","nodeType":"VariableDeclaration","scope":17133,"src":"42578:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17117,"name":"bool","nodeType":"ElementaryTypeName","src":"42578:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"42535:51:14"},"returnParameters":{"id":17120,"nodeType":"ParameterList","parameters":[],"src":"42601:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17156,"nodeType":"FunctionDefinition","src":"42716:193:14","nodes":[],"body":{"id":17155,"nodeType":"Block","src":"42797:112:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c6164647265737329","id":17147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42847:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},"value":"log(string,address,address,address)"},{"id":17148,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17135,"src":"42886:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17149,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17137,"src":"42890:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17150,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17139,"src":"42894:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17151,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17141,"src":"42898:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17145,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42823:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17146,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42823:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42823:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17144,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"42807:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42807:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17154,"nodeType":"ExpressionStatement","src":"42807:95:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42725:3:14","parameters":{"id":17142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17135,"mutability":"mutable","name":"p0","nameLocation":"42743:2:14","nodeType":"VariableDeclaration","scope":17156,"src":"42729:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17134,"name":"string","nodeType":"ElementaryTypeName","src":"42729:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17137,"mutability":"mutable","name":"p1","nameLocation":"42755:2:14","nodeType":"VariableDeclaration","scope":17156,"src":"42747:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17136,"name":"address","nodeType":"ElementaryTypeName","src":"42747:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17139,"mutability":"mutable","name":"p2","nameLocation":"42767:2:14","nodeType":"VariableDeclaration","scope":17156,"src":"42759:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17138,"name":"address","nodeType":"ElementaryTypeName","src":"42759:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17141,"mutability":"mutable","name":"p3","nameLocation":"42779:2:14","nodeType":"VariableDeclaration","scope":17156,"src":"42771:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17140,"name":"address","nodeType":"ElementaryTypeName","src":"42771:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"42728:54:14"},"returnParameters":{"id":17143,"nodeType":"ParameterList","parameters":[],"src":"42797:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17179,"nodeType":"FunctionDefinition","src":"42915:164:14","nodes":[],"body":{"id":17178,"nodeType":"Block","src":"42978:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c75696e742c75696e7429","id":17170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43028:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_32dfa524f720faf836764864b46011dc5eb74e494d57e12b294a68048585d558","typeString":"literal_string \"log(bool,uint,uint,uint)\""},"value":"log(bool,uint,uint,uint)"},{"id":17171,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17158,"src":"43056:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17172,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17160,"src":"43060:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17173,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17162,"src":"43064:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17174,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17164,"src":"43068:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32dfa524f720faf836764864b46011dc5eb74e494d57e12b294a68048585d558","typeString":"literal_string \"log(bool,uint,uint,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17168,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43004:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17169,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43004:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43004:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17167,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"42988:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42988:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17177,"nodeType":"ExpressionStatement","src":"42988:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42924:3:14","parameters":{"id":17165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17158,"mutability":"mutable","name":"p0","nameLocation":"42933:2:14","nodeType":"VariableDeclaration","scope":17179,"src":"42928:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17157,"name":"bool","nodeType":"ElementaryTypeName","src":"42928:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17160,"mutability":"mutable","name":"p1","nameLocation":"42942:2:14","nodeType":"VariableDeclaration","scope":17179,"src":"42937:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17159,"name":"uint","nodeType":"ElementaryTypeName","src":"42937:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17162,"mutability":"mutable","name":"p2","nameLocation":"42951:2:14","nodeType":"VariableDeclaration","scope":17179,"src":"42946:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17161,"name":"uint","nodeType":"ElementaryTypeName","src":"42946:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17164,"mutability":"mutable","name":"p3","nameLocation":"42960:2:14","nodeType":"VariableDeclaration","scope":17179,"src":"42955:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17163,"name":"uint","nodeType":"ElementaryTypeName","src":"42955:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42927:36:14"},"returnParameters":{"id":17166,"nodeType":"ParameterList","parameters":[],"src":"42978:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17202,"nodeType":"FunctionDefinition","src":"43085:175:14","nodes":[],"body":{"id":17201,"nodeType":"Block","src":"43157:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c75696e742c737472696e6729","id":17193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43207:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_da0666c89b01999f5c8980ce90fe9d0a367a350fd8d2ec7d1f94587b6281ebd3","typeString":"literal_string \"log(bool,uint,uint,string)\""},"value":"log(bool,uint,uint,string)"},{"id":17194,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17181,"src":"43237:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17195,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17183,"src":"43241:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17196,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17185,"src":"43245:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17197,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17187,"src":"43249:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da0666c89b01999f5c8980ce90fe9d0a367a350fd8d2ec7d1f94587b6281ebd3","typeString":"literal_string \"log(bool,uint,uint,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17191,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43183:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17192,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43183:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43183:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17190,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"43167:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43167:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17200,"nodeType":"ExpressionStatement","src":"43167:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43094:3:14","parameters":{"id":17188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17181,"mutability":"mutable","name":"p0","nameLocation":"43103:2:14","nodeType":"VariableDeclaration","scope":17202,"src":"43098:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17180,"name":"bool","nodeType":"ElementaryTypeName","src":"43098:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17183,"mutability":"mutable","name":"p1","nameLocation":"43112:2:14","nodeType":"VariableDeclaration","scope":17202,"src":"43107:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17182,"name":"uint","nodeType":"ElementaryTypeName","src":"43107:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17185,"mutability":"mutable","name":"p2","nameLocation":"43121:2:14","nodeType":"VariableDeclaration","scope":17202,"src":"43116:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17184,"name":"uint","nodeType":"ElementaryTypeName","src":"43116:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17187,"mutability":"mutable","name":"p3","nameLocation":"43139:2:14","nodeType":"VariableDeclaration","scope":17202,"src":"43125:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17186,"name":"string","nodeType":"ElementaryTypeName","src":"43125:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43097:45:14"},"returnParameters":{"id":17189,"nodeType":"ParameterList","parameters":[],"src":"43157:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17225,"nodeType":"FunctionDefinition","src":"43266:164:14","nodes":[],"body":{"id":17224,"nodeType":"Block","src":"43329:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c75696e742c626f6f6c29","id":17216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43379:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a41d81dec511172fa866e067fea22fe074eb6260a116ec078e2e0e79a7fd8ef2","typeString":"literal_string \"log(bool,uint,uint,bool)\""},"value":"log(bool,uint,uint,bool)"},{"id":17217,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17204,"src":"43407:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17218,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17206,"src":"43411:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17219,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17208,"src":"43415:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17220,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17210,"src":"43419:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a41d81dec511172fa866e067fea22fe074eb6260a116ec078e2e0e79a7fd8ef2","typeString":"literal_string \"log(bool,uint,uint,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17214,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43355:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17215,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43355:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43355:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17213,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"43339:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43339:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17223,"nodeType":"ExpressionStatement","src":"43339:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43275:3:14","parameters":{"id":17211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17204,"mutability":"mutable","name":"p0","nameLocation":"43284:2:14","nodeType":"VariableDeclaration","scope":17225,"src":"43279:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17203,"name":"bool","nodeType":"ElementaryTypeName","src":"43279:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17206,"mutability":"mutable","name":"p1","nameLocation":"43293:2:14","nodeType":"VariableDeclaration","scope":17225,"src":"43288:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17205,"name":"uint","nodeType":"ElementaryTypeName","src":"43288:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17208,"mutability":"mutable","name":"p2","nameLocation":"43302:2:14","nodeType":"VariableDeclaration","scope":17225,"src":"43297:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17207,"name":"uint","nodeType":"ElementaryTypeName","src":"43297:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17210,"mutability":"mutable","name":"p3","nameLocation":"43311:2:14","nodeType":"VariableDeclaration","scope":17225,"src":"43306:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17209,"name":"bool","nodeType":"ElementaryTypeName","src":"43306:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43278:36:14"},"returnParameters":{"id":17212,"nodeType":"ParameterList","parameters":[],"src":"43329:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17248,"nodeType":"FunctionDefinition","src":"43436:170:14","nodes":[],"body":{"id":17247,"nodeType":"Block","src":"43502:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c75696e742c6164647265737329","id":17239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43552:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f161b2216765f7746c6d62a843721a4e56fa83880464de0ff958770fd9704e33","typeString":"literal_string \"log(bool,uint,uint,address)\""},"value":"log(bool,uint,uint,address)"},{"id":17240,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17227,"src":"43583:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17241,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17229,"src":"43587:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17242,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17231,"src":"43591:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17243,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17233,"src":"43595:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f161b2216765f7746c6d62a843721a4e56fa83880464de0ff958770fd9704e33","typeString":"literal_string \"log(bool,uint,uint,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17237,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43528:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43528:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43528:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17236,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"43512:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43512:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17246,"nodeType":"ExpressionStatement","src":"43512:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43445:3:14","parameters":{"id":17234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17227,"mutability":"mutable","name":"p0","nameLocation":"43454:2:14","nodeType":"VariableDeclaration","scope":17248,"src":"43449:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17226,"name":"bool","nodeType":"ElementaryTypeName","src":"43449:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17229,"mutability":"mutable","name":"p1","nameLocation":"43463:2:14","nodeType":"VariableDeclaration","scope":17248,"src":"43458:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17228,"name":"uint","nodeType":"ElementaryTypeName","src":"43458:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17231,"mutability":"mutable","name":"p2","nameLocation":"43472:2:14","nodeType":"VariableDeclaration","scope":17248,"src":"43467:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17230,"name":"uint","nodeType":"ElementaryTypeName","src":"43467:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17233,"mutability":"mutable","name":"p3","nameLocation":"43484:2:14","nodeType":"VariableDeclaration","scope":17248,"src":"43476:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17232,"name":"address","nodeType":"ElementaryTypeName","src":"43476:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43448:39:14"},"returnParameters":{"id":17235,"nodeType":"ParameterList","parameters":[],"src":"43502:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17271,"nodeType":"FunctionDefinition","src":"43612:175:14","nodes":[],"body":{"id":17270,"nodeType":"Block","src":"43684:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c737472696e672c75696e7429","id":17262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43734:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4180011b79de474cdb825b6c4cfbc6d05927b06d92ab7c90ba7ff48d251e1813","typeString":"literal_string \"log(bool,uint,string,uint)\""},"value":"log(bool,uint,string,uint)"},{"id":17263,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17250,"src":"43764:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17264,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17252,"src":"43768:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17265,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17254,"src":"43772:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17266,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17256,"src":"43776:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4180011b79de474cdb825b6c4cfbc6d05927b06d92ab7c90ba7ff48d251e1813","typeString":"literal_string \"log(bool,uint,string,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17260,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43710:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43710:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43710:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17259,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"43694:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43694:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17269,"nodeType":"ExpressionStatement","src":"43694:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43621:3:14","parameters":{"id":17257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17250,"mutability":"mutable","name":"p0","nameLocation":"43630:2:14","nodeType":"VariableDeclaration","scope":17271,"src":"43625:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17249,"name":"bool","nodeType":"ElementaryTypeName","src":"43625:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17252,"mutability":"mutable","name":"p1","nameLocation":"43639:2:14","nodeType":"VariableDeclaration","scope":17271,"src":"43634:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17251,"name":"uint","nodeType":"ElementaryTypeName","src":"43634:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17254,"mutability":"mutable","name":"p2","nameLocation":"43657:2:14","nodeType":"VariableDeclaration","scope":17271,"src":"43643:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17253,"name":"string","nodeType":"ElementaryTypeName","src":"43643:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17256,"mutability":"mutable","name":"p3","nameLocation":"43666:2:14","nodeType":"VariableDeclaration","scope":17271,"src":"43661:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17255,"name":"uint","nodeType":"ElementaryTypeName","src":"43661:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43624:45:14"},"returnParameters":{"id":17258,"nodeType":"ParameterList","parameters":[],"src":"43684:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17294,"nodeType":"FunctionDefinition","src":"43793:186:14","nodes":[],"body":{"id":17293,"nodeType":"Block","src":"43874:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c737472696e672c737472696e6729","id":17285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43924:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d32a654812cf9bc5514c83d6adb00987a26a725c531c254b4dfe4eef4cdfc8ee","typeString":"literal_string \"log(bool,uint,string,string)\""},"value":"log(bool,uint,string,string)"},{"id":17286,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17273,"src":"43956:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17287,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17275,"src":"43960:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17288,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17277,"src":"43964:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17289,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17279,"src":"43968:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d32a654812cf9bc5514c83d6adb00987a26a725c531c254b4dfe4eef4cdfc8ee","typeString":"literal_string \"log(bool,uint,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17283,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43900:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17284,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43900:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43900:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17282,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"43884:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43884:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17292,"nodeType":"ExpressionStatement","src":"43884:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43802:3:14","parameters":{"id":17280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17273,"mutability":"mutable","name":"p0","nameLocation":"43811:2:14","nodeType":"VariableDeclaration","scope":17294,"src":"43806:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17272,"name":"bool","nodeType":"ElementaryTypeName","src":"43806:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17275,"mutability":"mutable","name":"p1","nameLocation":"43820:2:14","nodeType":"VariableDeclaration","scope":17294,"src":"43815:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17274,"name":"uint","nodeType":"ElementaryTypeName","src":"43815:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17277,"mutability":"mutable","name":"p2","nameLocation":"43838:2:14","nodeType":"VariableDeclaration","scope":17294,"src":"43824:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17276,"name":"string","nodeType":"ElementaryTypeName","src":"43824:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17279,"mutability":"mutable","name":"p3","nameLocation":"43856:2:14","nodeType":"VariableDeclaration","scope":17294,"src":"43842:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17278,"name":"string","nodeType":"ElementaryTypeName","src":"43842:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43805:54:14"},"returnParameters":{"id":17281,"nodeType":"ParameterList","parameters":[],"src":"43874:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17317,"nodeType":"FunctionDefinition","src":"43985:175:14","nodes":[],"body":{"id":17316,"nodeType":"Block","src":"44057:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c737472696e672c626f6f6c29","id":17308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44107:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_91d2f813beb255a90e7ea595fb27355b60d93c3f818aac6b4c27388d34e0ea16","typeString":"literal_string \"log(bool,uint,string,bool)\""},"value":"log(bool,uint,string,bool)"},{"id":17309,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17296,"src":"44137:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17310,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17298,"src":"44141:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17311,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17300,"src":"44145:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17312,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17302,"src":"44149:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91d2f813beb255a90e7ea595fb27355b60d93c3f818aac6b4c27388d34e0ea16","typeString":"literal_string \"log(bool,uint,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17306,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44083:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17307,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44083:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44083:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17305,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"44067:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44067:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17315,"nodeType":"ExpressionStatement","src":"44067:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43994:3:14","parameters":{"id":17303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17296,"mutability":"mutable","name":"p0","nameLocation":"44003:2:14","nodeType":"VariableDeclaration","scope":17317,"src":"43998:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17295,"name":"bool","nodeType":"ElementaryTypeName","src":"43998:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17298,"mutability":"mutable","name":"p1","nameLocation":"44012:2:14","nodeType":"VariableDeclaration","scope":17317,"src":"44007:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17297,"name":"uint","nodeType":"ElementaryTypeName","src":"44007:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17300,"mutability":"mutable","name":"p2","nameLocation":"44030:2:14","nodeType":"VariableDeclaration","scope":17317,"src":"44016:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17299,"name":"string","nodeType":"ElementaryTypeName","src":"44016:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17302,"mutability":"mutable","name":"p3","nameLocation":"44039:2:14","nodeType":"VariableDeclaration","scope":17317,"src":"44034:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17301,"name":"bool","nodeType":"ElementaryTypeName","src":"44034:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43997:45:14"},"returnParameters":{"id":17304,"nodeType":"ParameterList","parameters":[],"src":"44057:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17340,"nodeType":"FunctionDefinition","src":"44166:181:14","nodes":[],"body":{"id":17339,"nodeType":"Block","src":"44241:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c737472696e672c6164647265737329","id":17331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44291:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5c70d29969a9ad21bdf8986348e5dc44eea151f64e0f90231a45219c4d0e3d5","typeString":"literal_string \"log(bool,uint,string,address)\""},"value":"log(bool,uint,string,address)"},{"id":17332,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17319,"src":"44324:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17333,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17321,"src":"44328:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17334,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17323,"src":"44332:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17335,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17325,"src":"44336:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5c70d29969a9ad21bdf8986348e5dc44eea151f64e0f90231a45219c4d0e3d5","typeString":"literal_string \"log(bool,uint,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17329,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44267:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44267:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44267:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17328,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"44251:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44251:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17338,"nodeType":"ExpressionStatement","src":"44251:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44175:3:14","parameters":{"id":17326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17319,"mutability":"mutable","name":"p0","nameLocation":"44184:2:14","nodeType":"VariableDeclaration","scope":17340,"src":"44179:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17318,"name":"bool","nodeType":"ElementaryTypeName","src":"44179:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17321,"mutability":"mutable","name":"p1","nameLocation":"44193:2:14","nodeType":"VariableDeclaration","scope":17340,"src":"44188:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17320,"name":"uint","nodeType":"ElementaryTypeName","src":"44188:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17323,"mutability":"mutable","name":"p2","nameLocation":"44211:2:14","nodeType":"VariableDeclaration","scope":17340,"src":"44197:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17322,"name":"string","nodeType":"ElementaryTypeName","src":"44197:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17325,"mutability":"mutable","name":"p3","nameLocation":"44223:2:14","nodeType":"VariableDeclaration","scope":17340,"src":"44215:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17324,"name":"address","nodeType":"ElementaryTypeName","src":"44215:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"44178:48:14"},"returnParameters":{"id":17327,"nodeType":"ParameterList","parameters":[],"src":"44241:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17363,"nodeType":"FunctionDefinition","src":"44353:164:14","nodes":[],"body":{"id":17362,"nodeType":"Block","src":"44416:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c626f6f6c2c75696e7429","id":17354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44466:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3de5593988099d08808f80d2a972ea3da18ecd746f0a3e437c530efaad65aa0","typeString":"literal_string \"log(bool,uint,bool,uint)\""},"value":"log(bool,uint,bool,uint)"},{"id":17355,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17342,"src":"44494:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17356,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17344,"src":"44498:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17357,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17346,"src":"44502:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17358,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17348,"src":"44506:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d3de5593988099d08808f80d2a972ea3da18ecd746f0a3e437c530efaad65aa0","typeString":"literal_string \"log(bool,uint,bool,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17352,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44442:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44442:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44442:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17351,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"44426:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44426:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17361,"nodeType":"ExpressionStatement","src":"44426:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44362:3:14","parameters":{"id":17349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17342,"mutability":"mutable","name":"p0","nameLocation":"44371:2:14","nodeType":"VariableDeclaration","scope":17363,"src":"44366:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17341,"name":"bool","nodeType":"ElementaryTypeName","src":"44366:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17344,"mutability":"mutable","name":"p1","nameLocation":"44380:2:14","nodeType":"VariableDeclaration","scope":17363,"src":"44375:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17343,"name":"uint","nodeType":"ElementaryTypeName","src":"44375:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17346,"mutability":"mutable","name":"p2","nameLocation":"44389:2:14","nodeType":"VariableDeclaration","scope":17363,"src":"44384:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17345,"name":"bool","nodeType":"ElementaryTypeName","src":"44384:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17348,"mutability":"mutable","name":"p3","nameLocation":"44398:2:14","nodeType":"VariableDeclaration","scope":17363,"src":"44393:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17347,"name":"uint","nodeType":"ElementaryTypeName","src":"44393:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44365:36:14"},"returnParameters":{"id":17350,"nodeType":"ParameterList","parameters":[],"src":"44416:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17386,"nodeType":"FunctionDefinition","src":"44523:175:14","nodes":[],"body":{"id":17385,"nodeType":"Block","src":"44595:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c626f6f6c2c737472696e6729","id":17377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44645:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6d569d433e69694879a799e3777d59bc29ee89dcbaf739de9b283882fd259ad","typeString":"literal_string \"log(bool,uint,bool,string)\""},"value":"log(bool,uint,bool,string)"},{"id":17378,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17365,"src":"44675:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17379,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17367,"src":"44679:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17380,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17369,"src":"44683:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17381,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17371,"src":"44687:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6d569d433e69694879a799e3777d59bc29ee89dcbaf739de9b283882fd259ad","typeString":"literal_string \"log(bool,uint,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17375,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44621:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17376,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44621:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44621:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17374,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"44605:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44605:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17384,"nodeType":"ExpressionStatement","src":"44605:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44532:3:14","parameters":{"id":17372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17365,"mutability":"mutable","name":"p0","nameLocation":"44541:2:14","nodeType":"VariableDeclaration","scope":17386,"src":"44536:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17364,"name":"bool","nodeType":"ElementaryTypeName","src":"44536:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17367,"mutability":"mutable","name":"p1","nameLocation":"44550:2:14","nodeType":"VariableDeclaration","scope":17386,"src":"44545:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17366,"name":"uint","nodeType":"ElementaryTypeName","src":"44545:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17369,"mutability":"mutable","name":"p2","nameLocation":"44559:2:14","nodeType":"VariableDeclaration","scope":17386,"src":"44554:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17368,"name":"bool","nodeType":"ElementaryTypeName","src":"44554:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17371,"mutability":"mutable","name":"p3","nameLocation":"44577:2:14","nodeType":"VariableDeclaration","scope":17386,"src":"44563:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17370,"name":"string","nodeType":"ElementaryTypeName","src":"44563:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44535:45:14"},"returnParameters":{"id":17373,"nodeType":"ParameterList","parameters":[],"src":"44595:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17409,"nodeType":"FunctionDefinition","src":"44704:164:14","nodes":[],"body":{"id":17408,"nodeType":"Block","src":"44767:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c626f6f6c2c626f6f6c29","id":17400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44817:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e01f7417c5ff66a2399364b03788fbf8437045d38acf377fab727a3440df7be","typeString":"literal_string \"log(bool,uint,bool,bool)\""},"value":"log(bool,uint,bool,bool)"},{"id":17401,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17388,"src":"44845:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17402,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17390,"src":"44849:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17403,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17392,"src":"44853:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17404,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17394,"src":"44857:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9e01f7417c5ff66a2399364b03788fbf8437045d38acf377fab727a3440df7be","typeString":"literal_string \"log(bool,uint,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17398,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44793:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44793:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44793:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17397,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"44777:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44777:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17407,"nodeType":"ExpressionStatement","src":"44777:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44713:3:14","parameters":{"id":17395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17388,"mutability":"mutable","name":"p0","nameLocation":"44722:2:14","nodeType":"VariableDeclaration","scope":17409,"src":"44717:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17387,"name":"bool","nodeType":"ElementaryTypeName","src":"44717:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17390,"mutability":"mutable","name":"p1","nameLocation":"44731:2:14","nodeType":"VariableDeclaration","scope":17409,"src":"44726:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17389,"name":"uint","nodeType":"ElementaryTypeName","src":"44726:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17392,"mutability":"mutable","name":"p2","nameLocation":"44740:2:14","nodeType":"VariableDeclaration","scope":17409,"src":"44735:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17391,"name":"bool","nodeType":"ElementaryTypeName","src":"44735:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17394,"mutability":"mutable","name":"p3","nameLocation":"44749:2:14","nodeType":"VariableDeclaration","scope":17409,"src":"44744:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17393,"name":"bool","nodeType":"ElementaryTypeName","src":"44744:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"44716:36:14"},"returnParameters":{"id":17396,"nodeType":"ParameterList","parameters":[],"src":"44767:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17432,"nodeType":"FunctionDefinition","src":"44874:170:14","nodes":[],"body":{"id":17431,"nodeType":"Block","src":"44940:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c626f6f6c2c6164647265737329","id":17423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44990:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4267c7f8f9987b1bc934e31e016f4d182f67ab95e55c5567fbc71b4f01a83f4b","typeString":"literal_string \"log(bool,uint,bool,address)\""},"value":"log(bool,uint,bool,address)"},{"id":17424,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17411,"src":"45021:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17425,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17413,"src":"45025:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17426,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17415,"src":"45029:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17427,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17417,"src":"45033:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4267c7f8f9987b1bc934e31e016f4d182f67ab95e55c5567fbc71b4f01a83f4b","typeString":"literal_string \"log(bool,uint,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17421,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44966:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44966:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44966:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17420,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"44950:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44950:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17430,"nodeType":"ExpressionStatement","src":"44950:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44883:3:14","parameters":{"id":17418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17411,"mutability":"mutable","name":"p0","nameLocation":"44892:2:14","nodeType":"VariableDeclaration","scope":17432,"src":"44887:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17410,"name":"bool","nodeType":"ElementaryTypeName","src":"44887:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17413,"mutability":"mutable","name":"p1","nameLocation":"44901:2:14","nodeType":"VariableDeclaration","scope":17432,"src":"44896:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17412,"name":"uint","nodeType":"ElementaryTypeName","src":"44896:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17415,"mutability":"mutable","name":"p2","nameLocation":"44910:2:14","nodeType":"VariableDeclaration","scope":17432,"src":"44905:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17414,"name":"bool","nodeType":"ElementaryTypeName","src":"44905:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17417,"mutability":"mutable","name":"p3","nameLocation":"44922:2:14","nodeType":"VariableDeclaration","scope":17432,"src":"44914:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17416,"name":"address","nodeType":"ElementaryTypeName","src":"44914:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"44886:39:14"},"returnParameters":{"id":17419,"nodeType":"ParameterList","parameters":[],"src":"44940:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17455,"nodeType":"FunctionDefinition","src":"45050:170:14","nodes":[],"body":{"id":17454,"nodeType":"Block","src":"45116:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c616464726573732c75696e7429","id":17446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45166:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_caa5236acb25f4f5a01ec5f570d99d895d397c7e9fd20ed31c9c33fa8a17f26d","typeString":"literal_string \"log(bool,uint,address,uint)\""},"value":"log(bool,uint,address,uint)"},{"id":17447,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17434,"src":"45197:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17448,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17436,"src":"45201:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17449,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17438,"src":"45205:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17450,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17440,"src":"45209:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_caa5236acb25f4f5a01ec5f570d99d895d397c7e9fd20ed31c9c33fa8a17f26d","typeString":"literal_string \"log(bool,uint,address,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17444,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45142:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17445,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45142:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45142:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17443,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"45126:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45126:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17453,"nodeType":"ExpressionStatement","src":"45126:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45059:3:14","parameters":{"id":17441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17434,"mutability":"mutable","name":"p0","nameLocation":"45068:2:14","nodeType":"VariableDeclaration","scope":17455,"src":"45063:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17433,"name":"bool","nodeType":"ElementaryTypeName","src":"45063:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17436,"mutability":"mutable","name":"p1","nameLocation":"45077:2:14","nodeType":"VariableDeclaration","scope":17455,"src":"45072:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17435,"name":"uint","nodeType":"ElementaryTypeName","src":"45072:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17438,"mutability":"mutable","name":"p2","nameLocation":"45089:2:14","nodeType":"VariableDeclaration","scope":17455,"src":"45081:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17437,"name":"address","nodeType":"ElementaryTypeName","src":"45081:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17440,"mutability":"mutable","name":"p3","nameLocation":"45098:2:14","nodeType":"VariableDeclaration","scope":17455,"src":"45093:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17439,"name":"uint","nodeType":"ElementaryTypeName","src":"45093:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45062:39:14"},"returnParameters":{"id":17442,"nodeType":"ParameterList","parameters":[],"src":"45116:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17478,"nodeType":"FunctionDefinition","src":"45226:181:14","nodes":[],"body":{"id":17477,"nodeType":"Block","src":"45301:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c616464726573732c737472696e6729","id":17469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45351:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_180913415ccbde45e0d2184e3dd2387bed86df0066bd73fcb896bc02a6226689","typeString":"literal_string \"log(bool,uint,address,string)\""},"value":"log(bool,uint,address,string)"},{"id":17470,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17457,"src":"45384:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17471,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17459,"src":"45388:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17472,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17461,"src":"45392:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17473,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17463,"src":"45396:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_180913415ccbde45e0d2184e3dd2387bed86df0066bd73fcb896bc02a6226689","typeString":"literal_string \"log(bool,uint,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17467,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45327:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17468,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45327:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45327:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17466,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"45311:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45311:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17476,"nodeType":"ExpressionStatement","src":"45311:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45235:3:14","parameters":{"id":17464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17457,"mutability":"mutable","name":"p0","nameLocation":"45244:2:14","nodeType":"VariableDeclaration","scope":17478,"src":"45239:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17456,"name":"bool","nodeType":"ElementaryTypeName","src":"45239:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17459,"mutability":"mutable","name":"p1","nameLocation":"45253:2:14","nodeType":"VariableDeclaration","scope":17478,"src":"45248:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17458,"name":"uint","nodeType":"ElementaryTypeName","src":"45248:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17461,"mutability":"mutable","name":"p2","nameLocation":"45265:2:14","nodeType":"VariableDeclaration","scope":17478,"src":"45257:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17460,"name":"address","nodeType":"ElementaryTypeName","src":"45257:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17463,"mutability":"mutable","name":"p3","nameLocation":"45283:2:14","nodeType":"VariableDeclaration","scope":17478,"src":"45269:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17462,"name":"string","nodeType":"ElementaryTypeName","src":"45269:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45238:48:14"},"returnParameters":{"id":17465,"nodeType":"ParameterList","parameters":[],"src":"45301:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17501,"nodeType":"FunctionDefinition","src":"45413:170:14","nodes":[],"body":{"id":17500,"nodeType":"Block","src":"45479:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c616464726573732c626f6f6c29","id":17492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45529:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_65adf4082cd731bd1252f957eddeecdbdcf11e48975b5ac20d902fcb218153fa","typeString":"literal_string \"log(bool,uint,address,bool)\""},"value":"log(bool,uint,address,bool)"},{"id":17493,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17480,"src":"45560:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17494,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17482,"src":"45564:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17495,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17484,"src":"45568:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17496,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17486,"src":"45572:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65adf4082cd731bd1252f957eddeecdbdcf11e48975b5ac20d902fcb218153fa","typeString":"literal_string \"log(bool,uint,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17490,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45505:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17491,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45505:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45505:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17489,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"45489:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45489:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17499,"nodeType":"ExpressionStatement","src":"45489:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45422:3:14","parameters":{"id":17487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17480,"mutability":"mutable","name":"p0","nameLocation":"45431:2:14","nodeType":"VariableDeclaration","scope":17501,"src":"45426:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17479,"name":"bool","nodeType":"ElementaryTypeName","src":"45426:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17482,"mutability":"mutable","name":"p1","nameLocation":"45440:2:14","nodeType":"VariableDeclaration","scope":17501,"src":"45435:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17481,"name":"uint","nodeType":"ElementaryTypeName","src":"45435:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17484,"mutability":"mutable","name":"p2","nameLocation":"45452:2:14","nodeType":"VariableDeclaration","scope":17501,"src":"45444:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17483,"name":"address","nodeType":"ElementaryTypeName","src":"45444:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17486,"mutability":"mutable","name":"p3","nameLocation":"45461:2:14","nodeType":"VariableDeclaration","scope":17501,"src":"45456:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17485,"name":"bool","nodeType":"ElementaryTypeName","src":"45456:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"45425:39:14"},"returnParameters":{"id":17488,"nodeType":"ParameterList","parameters":[],"src":"45479:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17524,"nodeType":"FunctionDefinition","src":"45589:176:14","nodes":[],"body":{"id":17523,"nodeType":"Block","src":"45658:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c616464726573732c6164647265737329","id":17515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45708:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8a2f90aa07fc9781ea213028ce9aef0a44d6a31a77e2f4d54d97a0d808348d5d","typeString":"literal_string \"log(bool,uint,address,address)\""},"value":"log(bool,uint,address,address)"},{"id":17516,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17503,"src":"45742:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17517,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17505,"src":"45746:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17518,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17507,"src":"45750:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17519,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17509,"src":"45754:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8a2f90aa07fc9781ea213028ce9aef0a44d6a31a77e2f4d54d97a0d808348d5d","typeString":"literal_string \"log(bool,uint,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17513,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45684:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45684:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45684:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17512,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"45668:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45668:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17522,"nodeType":"ExpressionStatement","src":"45668:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45598:3:14","parameters":{"id":17510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17503,"mutability":"mutable","name":"p0","nameLocation":"45607:2:14","nodeType":"VariableDeclaration","scope":17524,"src":"45602:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17502,"name":"bool","nodeType":"ElementaryTypeName","src":"45602:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17505,"mutability":"mutable","name":"p1","nameLocation":"45616:2:14","nodeType":"VariableDeclaration","scope":17524,"src":"45611:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17504,"name":"uint","nodeType":"ElementaryTypeName","src":"45611:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17507,"mutability":"mutable","name":"p2","nameLocation":"45628:2:14","nodeType":"VariableDeclaration","scope":17524,"src":"45620:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17506,"name":"address","nodeType":"ElementaryTypeName","src":"45620:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17509,"mutability":"mutable","name":"p3","nameLocation":"45640:2:14","nodeType":"VariableDeclaration","scope":17524,"src":"45632:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17508,"name":"address","nodeType":"ElementaryTypeName","src":"45632:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45601:42:14"},"returnParameters":{"id":17511,"nodeType":"ParameterList","parameters":[],"src":"45658:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17547,"nodeType":"FunctionDefinition","src":"45771:175:14","nodes":[],"body":{"id":17546,"nodeType":"Block","src":"45843:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e742c75696e7429","id":17538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45893:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e4ae86e71c7c77322d634e39fba7bc2a7e4fbe918bce10fe47326050a13b7c9","typeString":"literal_string \"log(bool,string,uint,uint)\""},"value":"log(bool,string,uint,uint)"},{"id":17539,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17526,"src":"45923:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17540,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17528,"src":"45927:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17541,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17530,"src":"45931:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17542,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17532,"src":"45935:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e4ae86e71c7c77322d634e39fba7bc2a7e4fbe918bce10fe47326050a13b7c9","typeString":"literal_string \"log(bool,string,uint,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17536,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45869:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45869:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45869:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17535,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"45853:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45853:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17545,"nodeType":"ExpressionStatement","src":"45853:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45780:3:14","parameters":{"id":17533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17526,"mutability":"mutable","name":"p0","nameLocation":"45789:2:14","nodeType":"VariableDeclaration","scope":17547,"src":"45784:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17525,"name":"bool","nodeType":"ElementaryTypeName","src":"45784:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17528,"mutability":"mutable","name":"p1","nameLocation":"45807:2:14","nodeType":"VariableDeclaration","scope":17547,"src":"45793:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17527,"name":"string","nodeType":"ElementaryTypeName","src":"45793:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17530,"mutability":"mutable","name":"p2","nameLocation":"45816:2:14","nodeType":"VariableDeclaration","scope":17547,"src":"45811:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17529,"name":"uint","nodeType":"ElementaryTypeName","src":"45811:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17532,"mutability":"mutable","name":"p3","nameLocation":"45825:2:14","nodeType":"VariableDeclaration","scope":17547,"src":"45820:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17531,"name":"uint","nodeType":"ElementaryTypeName","src":"45820:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45783:45:14"},"returnParameters":{"id":17534,"nodeType":"ParameterList","parameters":[],"src":"45843:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17570,"nodeType":"FunctionDefinition","src":"45952:186:14","nodes":[],"body":{"id":17569,"nodeType":"Block","src":"46033:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e742c737472696e6729","id":17561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46083:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_77a1abed9f9fbc44023408083dd5c1cf42b0b566799470c6ab535b12d0f8f649","typeString":"literal_string \"log(bool,string,uint,string)\""},"value":"log(bool,string,uint,string)"},{"id":17562,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17549,"src":"46115:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17563,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17551,"src":"46119:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17564,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17553,"src":"46123:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17565,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17555,"src":"46127:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_77a1abed9f9fbc44023408083dd5c1cf42b0b566799470c6ab535b12d0f8f649","typeString":"literal_string \"log(bool,string,uint,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17559,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46059:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17560,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46059:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46059:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17558,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"46043:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46043:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17568,"nodeType":"ExpressionStatement","src":"46043:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45961:3:14","parameters":{"id":17556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17549,"mutability":"mutable","name":"p0","nameLocation":"45970:2:14","nodeType":"VariableDeclaration","scope":17570,"src":"45965:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17548,"name":"bool","nodeType":"ElementaryTypeName","src":"45965:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17551,"mutability":"mutable","name":"p1","nameLocation":"45988:2:14","nodeType":"VariableDeclaration","scope":17570,"src":"45974:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17550,"name":"string","nodeType":"ElementaryTypeName","src":"45974:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17553,"mutability":"mutable","name":"p2","nameLocation":"45997:2:14","nodeType":"VariableDeclaration","scope":17570,"src":"45992:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17552,"name":"uint","nodeType":"ElementaryTypeName","src":"45992:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17555,"mutability":"mutable","name":"p3","nameLocation":"46015:2:14","nodeType":"VariableDeclaration","scope":17570,"src":"46001:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17554,"name":"string","nodeType":"ElementaryTypeName","src":"46001:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45964:54:14"},"returnParameters":{"id":17557,"nodeType":"ParameterList","parameters":[],"src":"46033:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17593,"nodeType":"FunctionDefinition","src":"46144:175:14","nodes":[],"body":{"id":17592,"nodeType":"Block","src":"46216:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e742c626f6f6c29","id":17584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46266:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_20bbc9af7c6bae926ffd73678c9130310d497610a5c76e6e2ae48edff96f38a8","typeString":"literal_string \"log(bool,string,uint,bool)\""},"value":"log(bool,string,uint,bool)"},{"id":17585,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17572,"src":"46296:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17586,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17574,"src":"46300:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17587,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17576,"src":"46304:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17588,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17578,"src":"46308:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_20bbc9af7c6bae926ffd73678c9130310d497610a5c76e6e2ae48edff96f38a8","typeString":"literal_string \"log(bool,string,uint,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17582,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46242:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46242:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46242:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17581,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"46226:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46226:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17591,"nodeType":"ExpressionStatement","src":"46226:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46153:3:14","parameters":{"id":17579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17572,"mutability":"mutable","name":"p0","nameLocation":"46162:2:14","nodeType":"VariableDeclaration","scope":17593,"src":"46157:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17571,"name":"bool","nodeType":"ElementaryTypeName","src":"46157:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17574,"mutability":"mutable","name":"p1","nameLocation":"46180:2:14","nodeType":"VariableDeclaration","scope":17593,"src":"46166:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17573,"name":"string","nodeType":"ElementaryTypeName","src":"46166:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17576,"mutability":"mutable","name":"p2","nameLocation":"46189:2:14","nodeType":"VariableDeclaration","scope":17593,"src":"46184:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17575,"name":"uint","nodeType":"ElementaryTypeName","src":"46184:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17578,"mutability":"mutable","name":"p3","nameLocation":"46198:2:14","nodeType":"VariableDeclaration","scope":17593,"src":"46193:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17577,"name":"bool","nodeType":"ElementaryTypeName","src":"46193:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46156:45:14"},"returnParameters":{"id":17580,"nodeType":"ParameterList","parameters":[],"src":"46216:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17616,"nodeType":"FunctionDefinition","src":"46325:181:14","nodes":[],"body":{"id":17615,"nodeType":"Block","src":"46400:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e742c6164647265737329","id":17607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46450:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5b22b938264abfc98de8ea025ac5bd87df03cbffd23b96cdfe194e0ef6fb136a","typeString":"literal_string \"log(bool,string,uint,address)\""},"value":"log(bool,string,uint,address)"},{"id":17608,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17595,"src":"46483:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17609,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17597,"src":"46487:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17610,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17599,"src":"46491:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17611,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17601,"src":"46495:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5b22b938264abfc98de8ea025ac5bd87df03cbffd23b96cdfe194e0ef6fb136a","typeString":"literal_string \"log(bool,string,uint,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17605,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46426:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46426:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46426:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17604,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"46410:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46410:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17614,"nodeType":"ExpressionStatement","src":"46410:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46334:3:14","parameters":{"id":17602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17595,"mutability":"mutable","name":"p0","nameLocation":"46343:2:14","nodeType":"VariableDeclaration","scope":17616,"src":"46338:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17594,"name":"bool","nodeType":"ElementaryTypeName","src":"46338:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17597,"mutability":"mutable","name":"p1","nameLocation":"46361:2:14","nodeType":"VariableDeclaration","scope":17616,"src":"46347:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17596,"name":"string","nodeType":"ElementaryTypeName","src":"46347:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17599,"mutability":"mutable","name":"p2","nameLocation":"46370:2:14","nodeType":"VariableDeclaration","scope":17616,"src":"46365:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17598,"name":"uint","nodeType":"ElementaryTypeName","src":"46365:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17601,"mutability":"mutable","name":"p3","nameLocation":"46382:2:14","nodeType":"VariableDeclaration","scope":17616,"src":"46374:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17600,"name":"address","nodeType":"ElementaryTypeName","src":"46374:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"46337:48:14"},"returnParameters":{"id":17603,"nodeType":"ParameterList","parameters":[],"src":"46400:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17639,"nodeType":"FunctionDefinition","src":"46512:186:14","nodes":[],"body":{"id":17638,"nodeType":"Block","src":"46593:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c75696e7429","id":17630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46643:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ddb259214a75c0fc75757e8e19b1cf1c4ec17a5eef635b4715f04b86884d5df","typeString":"literal_string \"log(bool,string,string,uint)\""},"value":"log(bool,string,string,uint)"},{"id":17631,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17618,"src":"46675:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17632,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17620,"src":"46679:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17633,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17622,"src":"46683:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17634,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17624,"src":"46687:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ddb259214a75c0fc75757e8e19b1cf1c4ec17a5eef635b4715f04b86884d5df","typeString":"literal_string \"log(bool,string,string,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17628,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46619:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46619:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46619:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17627,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"46603:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46603:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17637,"nodeType":"ExpressionStatement","src":"46603:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46521:3:14","parameters":{"id":17625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17618,"mutability":"mutable","name":"p0","nameLocation":"46530:2:14","nodeType":"VariableDeclaration","scope":17639,"src":"46525:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17617,"name":"bool","nodeType":"ElementaryTypeName","src":"46525:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17620,"mutability":"mutable","name":"p1","nameLocation":"46548:2:14","nodeType":"VariableDeclaration","scope":17639,"src":"46534:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17619,"name":"string","nodeType":"ElementaryTypeName","src":"46534:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17622,"mutability":"mutable","name":"p2","nameLocation":"46566:2:14","nodeType":"VariableDeclaration","scope":17639,"src":"46552:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17621,"name":"string","nodeType":"ElementaryTypeName","src":"46552:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17624,"mutability":"mutable","name":"p3","nameLocation":"46575:2:14","nodeType":"VariableDeclaration","scope":17639,"src":"46570:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17623,"name":"uint","nodeType":"ElementaryTypeName","src":"46570:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46524:54:14"},"returnParameters":{"id":17626,"nodeType":"ParameterList","parameters":[],"src":"46593:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17662,"nodeType":"FunctionDefinition","src":"46704:197:14","nodes":[],"body":{"id":17661,"nodeType":"Block","src":"46794:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c737472696e6729","id":17653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46844:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},"value":"log(bool,string,string,string)"},{"id":17654,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17641,"src":"46878:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17655,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17643,"src":"46882:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17656,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17645,"src":"46886:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17657,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17647,"src":"46890:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"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":17651,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46820:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46820:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46820:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17650,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"46804:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46804:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17660,"nodeType":"ExpressionStatement","src":"46804:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46713:3:14","parameters":{"id":17648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17641,"mutability":"mutable","name":"p0","nameLocation":"46722:2:14","nodeType":"VariableDeclaration","scope":17662,"src":"46717:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17640,"name":"bool","nodeType":"ElementaryTypeName","src":"46717:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17643,"mutability":"mutable","name":"p1","nameLocation":"46740:2:14","nodeType":"VariableDeclaration","scope":17662,"src":"46726:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17642,"name":"string","nodeType":"ElementaryTypeName","src":"46726:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17645,"mutability":"mutable","name":"p2","nameLocation":"46758:2:14","nodeType":"VariableDeclaration","scope":17662,"src":"46744:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17644,"name":"string","nodeType":"ElementaryTypeName","src":"46744:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17647,"mutability":"mutable","name":"p3","nameLocation":"46776:2:14","nodeType":"VariableDeclaration","scope":17662,"src":"46762:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17646,"name":"string","nodeType":"ElementaryTypeName","src":"46762:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46716:63:14"},"returnParameters":{"id":17649,"nodeType":"ParameterList","parameters":[],"src":"46794:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17685,"nodeType":"FunctionDefinition","src":"46907:186:14","nodes":[],"body":{"id":17684,"nodeType":"Block","src":"46988:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c626f6f6c29","id":17676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47038:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},"value":"log(bool,string,string,bool)"},{"id":17677,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17664,"src":"47070:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17678,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17666,"src":"47074:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17679,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17668,"src":"47078:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17680,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17670,"src":"47082:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17674,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47014:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47014:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47014:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17673,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"46998:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46998:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17683,"nodeType":"ExpressionStatement","src":"46998:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46916:3:14","parameters":{"id":17671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17664,"mutability":"mutable","name":"p0","nameLocation":"46925:2:14","nodeType":"VariableDeclaration","scope":17685,"src":"46920:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17663,"name":"bool","nodeType":"ElementaryTypeName","src":"46920:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17666,"mutability":"mutable","name":"p1","nameLocation":"46943:2:14","nodeType":"VariableDeclaration","scope":17685,"src":"46929:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17665,"name":"string","nodeType":"ElementaryTypeName","src":"46929:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17668,"mutability":"mutable","name":"p2","nameLocation":"46961:2:14","nodeType":"VariableDeclaration","scope":17685,"src":"46947:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17667,"name":"string","nodeType":"ElementaryTypeName","src":"46947:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17670,"mutability":"mutable","name":"p3","nameLocation":"46970:2:14","nodeType":"VariableDeclaration","scope":17685,"src":"46965:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17669,"name":"bool","nodeType":"ElementaryTypeName","src":"46965:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46919:54:14"},"returnParameters":{"id":17672,"nodeType":"ParameterList","parameters":[],"src":"46988:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17708,"nodeType":"FunctionDefinition","src":"47099:192:14","nodes":[],"body":{"id":17707,"nodeType":"Block","src":"47183:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c6164647265737329","id":17699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47233:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},"value":"log(bool,string,string,address)"},{"id":17700,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17687,"src":"47268:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17701,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17689,"src":"47272:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17702,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17691,"src":"47276:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17703,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17693,"src":"47280:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17697,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47209:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47209:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47209:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17696,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"47193:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47193:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17706,"nodeType":"ExpressionStatement","src":"47193:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47108:3:14","parameters":{"id":17694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17687,"mutability":"mutable","name":"p0","nameLocation":"47117:2:14","nodeType":"VariableDeclaration","scope":17708,"src":"47112:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17686,"name":"bool","nodeType":"ElementaryTypeName","src":"47112:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17689,"mutability":"mutable","name":"p1","nameLocation":"47135:2:14","nodeType":"VariableDeclaration","scope":17708,"src":"47121:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17688,"name":"string","nodeType":"ElementaryTypeName","src":"47121:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17691,"mutability":"mutable","name":"p2","nameLocation":"47153:2:14","nodeType":"VariableDeclaration","scope":17708,"src":"47139:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17690,"name":"string","nodeType":"ElementaryTypeName","src":"47139:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17693,"mutability":"mutable","name":"p3","nameLocation":"47165:2:14","nodeType":"VariableDeclaration","scope":17708,"src":"47157:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17692,"name":"address","nodeType":"ElementaryTypeName","src":"47157:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47111:57:14"},"returnParameters":{"id":17695,"nodeType":"ParameterList","parameters":[],"src":"47183:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17731,"nodeType":"FunctionDefinition","src":"47297:175:14","nodes":[],"body":{"id":17730,"nodeType":"Block","src":"47369:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c75696e7429","id":17722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47419:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d6f9ca539d16169f184b68d5f2cbc34ada538d6737083559aa5a96068582055","typeString":"literal_string \"log(bool,string,bool,uint)\""},"value":"log(bool,string,bool,uint)"},{"id":17723,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17710,"src":"47449:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17724,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17712,"src":"47453:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17725,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17714,"src":"47457:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17726,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17716,"src":"47461:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d6f9ca539d16169f184b68d5f2cbc34ada538d6737083559aa5a96068582055","typeString":"literal_string \"log(bool,string,bool,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17720,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47395:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47395:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47395:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17719,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"47379:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47379:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17729,"nodeType":"ExpressionStatement","src":"47379:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47306:3:14","parameters":{"id":17717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17710,"mutability":"mutable","name":"p0","nameLocation":"47315:2:14","nodeType":"VariableDeclaration","scope":17731,"src":"47310:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17709,"name":"bool","nodeType":"ElementaryTypeName","src":"47310:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17712,"mutability":"mutable","name":"p1","nameLocation":"47333:2:14","nodeType":"VariableDeclaration","scope":17731,"src":"47319:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17711,"name":"string","nodeType":"ElementaryTypeName","src":"47319:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17714,"mutability":"mutable","name":"p2","nameLocation":"47342:2:14","nodeType":"VariableDeclaration","scope":17731,"src":"47337:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17713,"name":"bool","nodeType":"ElementaryTypeName","src":"47337:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17716,"mutability":"mutable","name":"p3","nameLocation":"47351:2:14","nodeType":"VariableDeclaration","scope":17731,"src":"47346:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17715,"name":"uint","nodeType":"ElementaryTypeName","src":"47346:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47309:45:14"},"returnParameters":{"id":17718,"nodeType":"ParameterList","parameters":[],"src":"47369:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17754,"nodeType":"FunctionDefinition","src":"47478:186:14","nodes":[],"body":{"id":17753,"nodeType":"Block","src":"47559:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c737472696e6729","id":17745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47609:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},"value":"log(bool,string,bool,string)"},{"id":17746,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17733,"src":"47641:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17747,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17735,"src":"47645:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17748,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17737,"src":"47649:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17749,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17739,"src":"47653:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17743,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47585:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17744,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47585:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47585:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17742,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"47569:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47569:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17752,"nodeType":"ExpressionStatement","src":"47569:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47487:3:14","parameters":{"id":17740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17733,"mutability":"mutable","name":"p0","nameLocation":"47496:2:14","nodeType":"VariableDeclaration","scope":17754,"src":"47491:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17732,"name":"bool","nodeType":"ElementaryTypeName","src":"47491:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17735,"mutability":"mutable","name":"p1","nameLocation":"47514:2:14","nodeType":"VariableDeclaration","scope":17754,"src":"47500:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17734,"name":"string","nodeType":"ElementaryTypeName","src":"47500:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17737,"mutability":"mutable","name":"p2","nameLocation":"47523:2:14","nodeType":"VariableDeclaration","scope":17754,"src":"47518:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17736,"name":"bool","nodeType":"ElementaryTypeName","src":"47518:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17739,"mutability":"mutable","name":"p3","nameLocation":"47541:2:14","nodeType":"VariableDeclaration","scope":17754,"src":"47527:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17738,"name":"string","nodeType":"ElementaryTypeName","src":"47527:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47490:54:14"},"returnParameters":{"id":17741,"nodeType":"ParameterList","parameters":[],"src":"47559:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17777,"nodeType":"FunctionDefinition","src":"47670:175:14","nodes":[],"body":{"id":17776,"nodeType":"Block","src":"47742:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c626f6f6c29","id":17768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47792:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},"value":"log(bool,string,bool,bool)"},{"id":17769,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17756,"src":"47822:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17770,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17758,"src":"47826:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17771,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17760,"src":"47830:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17772,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17762,"src":"47834:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17766,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47768:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17767,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47768:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47768:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17765,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"47752:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47752:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17775,"nodeType":"ExpressionStatement","src":"47752:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47679:3:14","parameters":{"id":17763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17756,"mutability":"mutable","name":"p0","nameLocation":"47688:2:14","nodeType":"VariableDeclaration","scope":17777,"src":"47683:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17755,"name":"bool","nodeType":"ElementaryTypeName","src":"47683:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17758,"mutability":"mutable","name":"p1","nameLocation":"47706:2:14","nodeType":"VariableDeclaration","scope":17777,"src":"47692:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17757,"name":"string","nodeType":"ElementaryTypeName","src":"47692:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17760,"mutability":"mutable","name":"p2","nameLocation":"47715:2:14","nodeType":"VariableDeclaration","scope":17777,"src":"47710:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17759,"name":"bool","nodeType":"ElementaryTypeName","src":"47710:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17762,"mutability":"mutable","name":"p3","nameLocation":"47724:2:14","nodeType":"VariableDeclaration","scope":17777,"src":"47719:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17761,"name":"bool","nodeType":"ElementaryTypeName","src":"47719:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"47682:45:14"},"returnParameters":{"id":17764,"nodeType":"ParameterList","parameters":[],"src":"47742:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17800,"nodeType":"FunctionDefinition","src":"47851:181:14","nodes":[],"body":{"id":17799,"nodeType":"Block","src":"47926:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c6164647265737329","id":17791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47976:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},"value":"log(bool,string,bool,address)"},{"id":17792,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17779,"src":"48009:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17793,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17781,"src":"48013:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17794,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17783,"src":"48017:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17795,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17785,"src":"48021:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17789,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47952:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47952:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47952:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17788,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"47936:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47936:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17798,"nodeType":"ExpressionStatement","src":"47936:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47860:3:14","parameters":{"id":17786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17779,"mutability":"mutable","name":"p0","nameLocation":"47869:2:14","nodeType":"VariableDeclaration","scope":17800,"src":"47864:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17778,"name":"bool","nodeType":"ElementaryTypeName","src":"47864:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17781,"mutability":"mutable","name":"p1","nameLocation":"47887:2:14","nodeType":"VariableDeclaration","scope":17800,"src":"47873:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17780,"name":"string","nodeType":"ElementaryTypeName","src":"47873:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17783,"mutability":"mutable","name":"p2","nameLocation":"47896:2:14","nodeType":"VariableDeclaration","scope":17800,"src":"47891:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17782,"name":"bool","nodeType":"ElementaryTypeName","src":"47891:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17785,"mutability":"mutable","name":"p3","nameLocation":"47908:2:14","nodeType":"VariableDeclaration","scope":17800,"src":"47900:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17784,"name":"address","nodeType":"ElementaryTypeName","src":"47900:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47863:48:14"},"returnParameters":{"id":17787,"nodeType":"ParameterList","parameters":[],"src":"47926:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17823,"nodeType":"FunctionDefinition","src":"48038:181:14","nodes":[],"body":{"id":17822,"nodeType":"Block","src":"48113:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c75696e7429","id":17814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48163:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1b0b955b558cd224468bb20ba92b23519cb59fe363a105b00d7a815c1673c4ca","typeString":"literal_string \"log(bool,string,address,uint)\""},"value":"log(bool,string,address,uint)"},{"id":17815,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17802,"src":"48196:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17816,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17804,"src":"48200:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17817,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17806,"src":"48204:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17818,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17808,"src":"48208:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1b0b955b558cd224468bb20ba92b23519cb59fe363a105b00d7a815c1673c4ca","typeString":"literal_string \"log(bool,string,address,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17812,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48139:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17813,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48139:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48139:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17811,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"48123:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48123:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17821,"nodeType":"ExpressionStatement","src":"48123:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48047:3:14","parameters":{"id":17809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17802,"mutability":"mutable","name":"p0","nameLocation":"48056:2:14","nodeType":"VariableDeclaration","scope":17823,"src":"48051:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17801,"name":"bool","nodeType":"ElementaryTypeName","src":"48051:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17804,"mutability":"mutable","name":"p1","nameLocation":"48074:2:14","nodeType":"VariableDeclaration","scope":17823,"src":"48060:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17803,"name":"string","nodeType":"ElementaryTypeName","src":"48060:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17806,"mutability":"mutable","name":"p2","nameLocation":"48086:2:14","nodeType":"VariableDeclaration","scope":17823,"src":"48078:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17805,"name":"address","nodeType":"ElementaryTypeName","src":"48078:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17808,"mutability":"mutable","name":"p3","nameLocation":"48095:2:14","nodeType":"VariableDeclaration","scope":17823,"src":"48090:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17807,"name":"uint","nodeType":"ElementaryTypeName","src":"48090:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48050:48:14"},"returnParameters":{"id":17810,"nodeType":"ParameterList","parameters":[],"src":"48113:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17846,"nodeType":"FunctionDefinition","src":"48225:192:14","nodes":[],"body":{"id":17845,"nodeType":"Block","src":"48309:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c737472696e6729","id":17837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48359:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},"value":"log(bool,string,address,string)"},{"id":17838,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17825,"src":"48394:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17839,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17827,"src":"48398:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17840,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17829,"src":"48402:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17841,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17831,"src":"48406:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17835,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48335:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48335:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48335:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17834,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"48319:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48319:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17844,"nodeType":"ExpressionStatement","src":"48319:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48234:3:14","parameters":{"id":17832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17825,"mutability":"mutable","name":"p0","nameLocation":"48243:2:14","nodeType":"VariableDeclaration","scope":17846,"src":"48238:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17824,"name":"bool","nodeType":"ElementaryTypeName","src":"48238:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17827,"mutability":"mutable","name":"p1","nameLocation":"48261:2:14","nodeType":"VariableDeclaration","scope":17846,"src":"48247:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17826,"name":"string","nodeType":"ElementaryTypeName","src":"48247:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17829,"mutability":"mutable","name":"p2","nameLocation":"48273:2:14","nodeType":"VariableDeclaration","scope":17846,"src":"48265:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17828,"name":"address","nodeType":"ElementaryTypeName","src":"48265:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17831,"mutability":"mutable","name":"p3","nameLocation":"48291:2:14","nodeType":"VariableDeclaration","scope":17846,"src":"48277:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17830,"name":"string","nodeType":"ElementaryTypeName","src":"48277:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48237:57:14"},"returnParameters":{"id":17833,"nodeType":"ParameterList","parameters":[],"src":"48309:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17869,"nodeType":"FunctionDefinition","src":"48423:181:14","nodes":[],"body":{"id":17868,"nodeType":"Block","src":"48498:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c626f6f6c29","id":17860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48548:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},"value":"log(bool,string,address,bool)"},{"id":17861,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17848,"src":"48581:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17862,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17850,"src":"48585:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17863,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17852,"src":"48589:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17864,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17854,"src":"48593:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17858,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48524:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48524:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48524:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17857,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"48508:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48508:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17867,"nodeType":"ExpressionStatement","src":"48508:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48432:3:14","parameters":{"id":17855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17848,"mutability":"mutable","name":"p0","nameLocation":"48441:2:14","nodeType":"VariableDeclaration","scope":17869,"src":"48436:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17847,"name":"bool","nodeType":"ElementaryTypeName","src":"48436:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17850,"mutability":"mutable","name":"p1","nameLocation":"48459:2:14","nodeType":"VariableDeclaration","scope":17869,"src":"48445:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17849,"name":"string","nodeType":"ElementaryTypeName","src":"48445:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17852,"mutability":"mutable","name":"p2","nameLocation":"48471:2:14","nodeType":"VariableDeclaration","scope":17869,"src":"48463:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17851,"name":"address","nodeType":"ElementaryTypeName","src":"48463:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17854,"mutability":"mutable","name":"p3","nameLocation":"48480:2:14","nodeType":"VariableDeclaration","scope":17869,"src":"48475:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17853,"name":"bool","nodeType":"ElementaryTypeName","src":"48475:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48435:48:14"},"returnParameters":{"id":17856,"nodeType":"ParameterList","parameters":[],"src":"48498:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17892,"nodeType":"FunctionDefinition","src":"48610:187:14","nodes":[],"body":{"id":17891,"nodeType":"Block","src":"48688:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c6164647265737329","id":17883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48738:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},"value":"log(bool,string,address,address)"},{"id":17884,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17871,"src":"48774:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17885,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17873,"src":"48778:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":17886,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17875,"src":"48782:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":17887,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17877,"src":"48786:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17881,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48714:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17882,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48714:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48714:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17880,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"48698:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48698:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17890,"nodeType":"ExpressionStatement","src":"48698:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48619:3:14","parameters":{"id":17878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17871,"mutability":"mutable","name":"p0","nameLocation":"48628:2:14","nodeType":"VariableDeclaration","scope":17892,"src":"48623:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17870,"name":"bool","nodeType":"ElementaryTypeName","src":"48623:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17873,"mutability":"mutable","name":"p1","nameLocation":"48646:2:14","nodeType":"VariableDeclaration","scope":17892,"src":"48632:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17872,"name":"string","nodeType":"ElementaryTypeName","src":"48632:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17875,"mutability":"mutable","name":"p2","nameLocation":"48658:2:14","nodeType":"VariableDeclaration","scope":17892,"src":"48650:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17874,"name":"address","nodeType":"ElementaryTypeName","src":"48650:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":17877,"mutability":"mutable","name":"p3","nameLocation":"48670:2:14","nodeType":"VariableDeclaration","scope":17892,"src":"48662:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17876,"name":"address","nodeType":"ElementaryTypeName","src":"48662:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48622:51:14"},"returnParameters":{"id":17879,"nodeType":"ParameterList","parameters":[],"src":"48688:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17915,"nodeType":"FunctionDefinition","src":"48803:164:14","nodes":[],"body":{"id":17914,"nodeType":"Block","src":"48866:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e742c75696e7429","id":17906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48916:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4667de8ece32e91ade336fb6d8a14a500512d40e1162a34636a5bca908b16e6a","typeString":"literal_string \"log(bool,bool,uint,uint)\""},"value":"log(bool,bool,uint,uint)"},{"id":17907,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17894,"src":"48944:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17908,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17896,"src":"48948:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17909,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17898,"src":"48952:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17910,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17900,"src":"48956:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4667de8ece32e91ade336fb6d8a14a500512d40e1162a34636a5bca908b16e6a","typeString":"literal_string \"log(bool,bool,uint,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17904,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48892:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48892:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48892:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17903,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"48876:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48876:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17913,"nodeType":"ExpressionStatement","src":"48876:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48812:3:14","parameters":{"id":17901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17894,"mutability":"mutable","name":"p0","nameLocation":"48821:2:14","nodeType":"VariableDeclaration","scope":17915,"src":"48816:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17893,"name":"bool","nodeType":"ElementaryTypeName","src":"48816:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17896,"mutability":"mutable","name":"p1","nameLocation":"48830:2:14","nodeType":"VariableDeclaration","scope":17915,"src":"48825:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17895,"name":"bool","nodeType":"ElementaryTypeName","src":"48825:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17898,"mutability":"mutable","name":"p2","nameLocation":"48839:2:14","nodeType":"VariableDeclaration","scope":17915,"src":"48834:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17897,"name":"uint","nodeType":"ElementaryTypeName","src":"48834:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17900,"mutability":"mutable","name":"p3","nameLocation":"48848:2:14","nodeType":"VariableDeclaration","scope":17915,"src":"48843:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17899,"name":"uint","nodeType":"ElementaryTypeName","src":"48843:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48815:36:14"},"returnParameters":{"id":17902,"nodeType":"ParameterList","parameters":[],"src":"48866:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17938,"nodeType":"FunctionDefinition","src":"48973:175:14","nodes":[],"body":{"id":17937,"nodeType":"Block","src":"49045:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e742c737472696e6729","id":17929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49095:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_50618937639b3b1cb3bbe247efb1fae4eb9a85d1e66ac66dfc77c62561966adc","typeString":"literal_string \"log(bool,bool,uint,string)\""},"value":"log(bool,bool,uint,string)"},{"id":17930,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17917,"src":"49125:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17931,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17919,"src":"49129:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17932,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17921,"src":"49133:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17933,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17923,"src":"49137:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50618937639b3b1cb3bbe247efb1fae4eb9a85d1e66ac66dfc77c62561966adc","typeString":"literal_string \"log(bool,bool,uint,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":17927,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49071:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17928,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49071:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49071:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17926,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"49055:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49055:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17936,"nodeType":"ExpressionStatement","src":"49055:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48982:3:14","parameters":{"id":17924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17917,"mutability":"mutable","name":"p0","nameLocation":"48991:2:14","nodeType":"VariableDeclaration","scope":17938,"src":"48986:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17916,"name":"bool","nodeType":"ElementaryTypeName","src":"48986:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17919,"mutability":"mutable","name":"p1","nameLocation":"49000:2:14","nodeType":"VariableDeclaration","scope":17938,"src":"48995:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17918,"name":"bool","nodeType":"ElementaryTypeName","src":"48995:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17921,"mutability":"mutable","name":"p2","nameLocation":"49009:2:14","nodeType":"VariableDeclaration","scope":17938,"src":"49004:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17920,"name":"uint","nodeType":"ElementaryTypeName","src":"49004:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17923,"mutability":"mutable","name":"p3","nameLocation":"49027:2:14","nodeType":"VariableDeclaration","scope":17938,"src":"49013:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17922,"name":"string","nodeType":"ElementaryTypeName","src":"49013:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48985:45:14"},"returnParameters":{"id":17925,"nodeType":"ParameterList","parameters":[],"src":"49045:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17961,"nodeType":"FunctionDefinition","src":"49154:164:14","nodes":[],"body":{"id":17960,"nodeType":"Block","src":"49217:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e742c626f6f6c29","id":17952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49267:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab5cc1c47d926d79461c86216768f32b6ec0ac12d51c1eb543ea3bd1cfec0110","typeString":"literal_string \"log(bool,bool,uint,bool)\""},"value":"log(bool,bool,uint,bool)"},{"id":17953,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17940,"src":"49295:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17954,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17942,"src":"49299:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17955,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17944,"src":"49303:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17956,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17946,"src":"49307:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ab5cc1c47d926d79461c86216768f32b6ec0ac12d51c1eb543ea3bd1cfec0110","typeString":"literal_string \"log(bool,bool,uint,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":17950,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49243:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49243:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49243:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17949,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"49227:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49227:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17959,"nodeType":"ExpressionStatement","src":"49227:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49163:3:14","parameters":{"id":17947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17940,"mutability":"mutable","name":"p0","nameLocation":"49172:2:14","nodeType":"VariableDeclaration","scope":17961,"src":"49167:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17939,"name":"bool","nodeType":"ElementaryTypeName","src":"49167:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17942,"mutability":"mutable","name":"p1","nameLocation":"49181:2:14","nodeType":"VariableDeclaration","scope":17961,"src":"49176:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17941,"name":"bool","nodeType":"ElementaryTypeName","src":"49176:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17944,"mutability":"mutable","name":"p2","nameLocation":"49190:2:14","nodeType":"VariableDeclaration","scope":17961,"src":"49185:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17943,"name":"uint","nodeType":"ElementaryTypeName","src":"49185:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17946,"mutability":"mutable","name":"p3","nameLocation":"49199:2:14","nodeType":"VariableDeclaration","scope":17961,"src":"49194:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17945,"name":"bool","nodeType":"ElementaryTypeName","src":"49194:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49166:36:14"},"returnParameters":{"id":17948,"nodeType":"ParameterList","parameters":[],"src":"49217:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":17984,"nodeType":"FunctionDefinition","src":"49324:170:14","nodes":[],"body":{"id":17983,"nodeType":"Block","src":"49390:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e742c6164647265737329","id":17975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49440:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0bff950dc175e3e278946e4adb75fffc4ee67cda33555121dd293b95b27a39a7","typeString":"literal_string \"log(bool,bool,uint,address)\""},"value":"log(bool,bool,uint,address)"},{"id":17976,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17963,"src":"49471:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17977,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17965,"src":"49475:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":17978,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17967,"src":"49479:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":17979,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17969,"src":"49483:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0bff950dc175e3e278946e4adb75fffc4ee67cda33555121dd293b95b27a39a7","typeString":"literal_string \"log(bool,bool,uint,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":17973,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49416:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49416:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":17980,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49416:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17972,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"49400:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":17981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49400:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":17982,"nodeType":"ExpressionStatement","src":"49400:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49333:3:14","parameters":{"id":17970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17963,"mutability":"mutable","name":"p0","nameLocation":"49342:2:14","nodeType":"VariableDeclaration","scope":17984,"src":"49337:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17962,"name":"bool","nodeType":"ElementaryTypeName","src":"49337:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17965,"mutability":"mutable","name":"p1","nameLocation":"49351:2:14","nodeType":"VariableDeclaration","scope":17984,"src":"49346:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17964,"name":"bool","nodeType":"ElementaryTypeName","src":"49346:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17967,"mutability":"mutable","name":"p2","nameLocation":"49360:2:14","nodeType":"VariableDeclaration","scope":17984,"src":"49355:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17966,"name":"uint","nodeType":"ElementaryTypeName","src":"49355:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":17969,"mutability":"mutable","name":"p3","nameLocation":"49372:2:14","nodeType":"VariableDeclaration","scope":17984,"src":"49364:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":17968,"name":"address","nodeType":"ElementaryTypeName","src":"49364:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"49336:39:14"},"returnParameters":{"id":17971,"nodeType":"ParameterList","parameters":[],"src":"49390:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18007,"nodeType":"FunctionDefinition","src":"49500:175:14","nodes":[],"body":{"id":18006,"nodeType":"Block","src":"49572:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c75696e7429","id":17998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49622:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_178b4685db1dff62c4ee472c2e6bf50abba0dc230768235e43c6259152d1244e","typeString":"literal_string \"log(bool,bool,string,uint)\""},"value":"log(bool,bool,string,uint)"},{"id":17999,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17986,"src":"49652:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18000,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17988,"src":"49656:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18001,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17990,"src":"49660:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18002,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17992,"src":"49664:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_178b4685db1dff62c4ee472c2e6bf50abba0dc230768235e43c6259152d1244e","typeString":"literal_string \"log(bool,bool,string,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":17996,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49598:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":17997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49598:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49598:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":17995,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"49582:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49582:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18005,"nodeType":"ExpressionStatement","src":"49582:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49509:3:14","parameters":{"id":17993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":17986,"mutability":"mutable","name":"p0","nameLocation":"49518:2:14","nodeType":"VariableDeclaration","scope":18007,"src":"49513:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17985,"name":"bool","nodeType":"ElementaryTypeName","src":"49513:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17988,"mutability":"mutable","name":"p1","nameLocation":"49527:2:14","nodeType":"VariableDeclaration","scope":18007,"src":"49522:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":17987,"name":"bool","nodeType":"ElementaryTypeName","src":"49522:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":17990,"mutability":"mutable","name":"p2","nameLocation":"49545:2:14","nodeType":"VariableDeclaration","scope":18007,"src":"49531:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":17989,"name":"string","nodeType":"ElementaryTypeName","src":"49531:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":17992,"mutability":"mutable","name":"p3","nameLocation":"49554:2:14","nodeType":"VariableDeclaration","scope":18007,"src":"49549:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":17991,"name":"uint","nodeType":"ElementaryTypeName","src":"49549:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49512:45:14"},"returnParameters":{"id":17994,"nodeType":"ParameterList","parameters":[],"src":"49572:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18030,"nodeType":"FunctionDefinition","src":"49681:186:14","nodes":[],"body":{"id":18029,"nodeType":"Block","src":"49762:105:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c737472696e6729","id":18021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49812:30:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},"value":"log(bool,bool,string,string)"},{"id":18022,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18009,"src":"49844:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18023,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18011,"src":"49848:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18024,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18013,"src":"49852:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18025,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18015,"src":"49856:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18019,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49788:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49788:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49788:71:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18018,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"49772:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49772:88:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18028,"nodeType":"ExpressionStatement","src":"49772:88:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49690:3:14","parameters":{"id":18016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18009,"mutability":"mutable","name":"p0","nameLocation":"49699:2:14","nodeType":"VariableDeclaration","scope":18030,"src":"49694:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18008,"name":"bool","nodeType":"ElementaryTypeName","src":"49694:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18011,"mutability":"mutable","name":"p1","nameLocation":"49708:2:14","nodeType":"VariableDeclaration","scope":18030,"src":"49703:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18010,"name":"bool","nodeType":"ElementaryTypeName","src":"49703:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18013,"mutability":"mutable","name":"p2","nameLocation":"49726:2:14","nodeType":"VariableDeclaration","scope":18030,"src":"49712:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18012,"name":"string","nodeType":"ElementaryTypeName","src":"49712:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18015,"mutability":"mutable","name":"p3","nameLocation":"49744:2:14","nodeType":"VariableDeclaration","scope":18030,"src":"49730:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18014,"name":"string","nodeType":"ElementaryTypeName","src":"49730:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49693:54:14"},"returnParameters":{"id":18017,"nodeType":"ParameterList","parameters":[],"src":"49762:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18053,"nodeType":"FunctionDefinition","src":"49873:175:14","nodes":[],"body":{"id":18052,"nodeType":"Block","src":"49945:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c626f6f6c29","id":18044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49995:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},"value":"log(bool,bool,string,bool)"},{"id":18045,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18032,"src":"50025:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18046,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18034,"src":"50029:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18047,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18036,"src":"50033:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18048,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18038,"src":"50037:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18042,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49971:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18043,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49971:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49971:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18041,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"49955:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49955:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18051,"nodeType":"ExpressionStatement","src":"49955:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49882:3:14","parameters":{"id":18039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18032,"mutability":"mutable","name":"p0","nameLocation":"49891:2:14","nodeType":"VariableDeclaration","scope":18053,"src":"49886:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18031,"name":"bool","nodeType":"ElementaryTypeName","src":"49886:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18034,"mutability":"mutable","name":"p1","nameLocation":"49900:2:14","nodeType":"VariableDeclaration","scope":18053,"src":"49895:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18033,"name":"bool","nodeType":"ElementaryTypeName","src":"49895:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18036,"mutability":"mutable","name":"p2","nameLocation":"49918:2:14","nodeType":"VariableDeclaration","scope":18053,"src":"49904:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18035,"name":"string","nodeType":"ElementaryTypeName","src":"49904:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18038,"mutability":"mutable","name":"p3","nameLocation":"49927:2:14","nodeType":"VariableDeclaration","scope":18053,"src":"49922:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18037,"name":"bool","nodeType":"ElementaryTypeName","src":"49922:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49885:45:14"},"returnParameters":{"id":18040,"nodeType":"ParameterList","parameters":[],"src":"49945:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18076,"nodeType":"FunctionDefinition","src":"50054:181:14","nodes":[],"body":{"id":18075,"nodeType":"Block","src":"50129:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c6164647265737329","id":18067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50179:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},"value":"log(bool,bool,string,address)"},{"id":18068,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18055,"src":"50212:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18069,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18057,"src":"50216:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18070,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18059,"src":"50220:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18071,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18061,"src":"50224:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18065,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50155:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18066,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50155:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50155:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18064,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"50139:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50139:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18074,"nodeType":"ExpressionStatement","src":"50139:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50063:3:14","parameters":{"id":18062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18055,"mutability":"mutable","name":"p0","nameLocation":"50072:2:14","nodeType":"VariableDeclaration","scope":18076,"src":"50067:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18054,"name":"bool","nodeType":"ElementaryTypeName","src":"50067:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18057,"mutability":"mutable","name":"p1","nameLocation":"50081:2:14","nodeType":"VariableDeclaration","scope":18076,"src":"50076:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18056,"name":"bool","nodeType":"ElementaryTypeName","src":"50076:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18059,"mutability":"mutable","name":"p2","nameLocation":"50099:2:14","nodeType":"VariableDeclaration","scope":18076,"src":"50085:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18058,"name":"string","nodeType":"ElementaryTypeName","src":"50085:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18061,"mutability":"mutable","name":"p3","nameLocation":"50111:2:14","nodeType":"VariableDeclaration","scope":18076,"src":"50103:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18060,"name":"address","nodeType":"ElementaryTypeName","src":"50103:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50066:48:14"},"returnParameters":{"id":18063,"nodeType":"ParameterList","parameters":[],"src":"50129:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18099,"nodeType":"FunctionDefinition","src":"50241:164:14","nodes":[],"body":{"id":18098,"nodeType":"Block","src":"50304:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c75696e7429","id":18090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50354:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c248834dff84ca4bcbda9cf249a0d5da3bd0a58b4562085082654d4d9851b501","typeString":"literal_string \"log(bool,bool,bool,uint)\""},"value":"log(bool,bool,bool,uint)"},{"id":18091,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18078,"src":"50382:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18092,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18080,"src":"50386:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18093,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18082,"src":"50390:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18094,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18084,"src":"50394:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c248834dff84ca4bcbda9cf249a0d5da3bd0a58b4562085082654d4d9851b501","typeString":"literal_string \"log(bool,bool,bool,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18088,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50330:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50330:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50330:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18087,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"50314:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50314:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18097,"nodeType":"ExpressionStatement","src":"50314:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50250:3:14","parameters":{"id":18085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18078,"mutability":"mutable","name":"p0","nameLocation":"50259:2:14","nodeType":"VariableDeclaration","scope":18099,"src":"50254:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18077,"name":"bool","nodeType":"ElementaryTypeName","src":"50254:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18080,"mutability":"mutable","name":"p1","nameLocation":"50268:2:14","nodeType":"VariableDeclaration","scope":18099,"src":"50263:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18079,"name":"bool","nodeType":"ElementaryTypeName","src":"50263:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18082,"mutability":"mutable","name":"p2","nameLocation":"50277:2:14","nodeType":"VariableDeclaration","scope":18099,"src":"50272:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18081,"name":"bool","nodeType":"ElementaryTypeName","src":"50272:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18084,"mutability":"mutable","name":"p3","nameLocation":"50286:2:14","nodeType":"VariableDeclaration","scope":18099,"src":"50281:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18083,"name":"uint","nodeType":"ElementaryTypeName","src":"50281:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50253:36:14"},"returnParameters":{"id":18086,"nodeType":"ParameterList","parameters":[],"src":"50304:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18122,"nodeType":"FunctionDefinition","src":"50411:175:14","nodes":[],"body":{"id":18121,"nodeType":"Block","src":"50483:103:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c737472696e6729","id":18113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50533:28:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},"value":"log(bool,bool,bool,string)"},{"id":18114,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18101,"src":"50563:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18115,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18103,"src":"50567:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18116,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18105,"src":"50571:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18117,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18107,"src":"50575:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18111,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50509:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18112,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50509:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50509:69:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18110,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"50493:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50493:86:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18120,"nodeType":"ExpressionStatement","src":"50493:86:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50420:3:14","parameters":{"id":18108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18101,"mutability":"mutable","name":"p0","nameLocation":"50429:2:14","nodeType":"VariableDeclaration","scope":18122,"src":"50424:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18100,"name":"bool","nodeType":"ElementaryTypeName","src":"50424:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18103,"mutability":"mutable","name":"p1","nameLocation":"50438:2:14","nodeType":"VariableDeclaration","scope":18122,"src":"50433:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18102,"name":"bool","nodeType":"ElementaryTypeName","src":"50433:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18105,"mutability":"mutable","name":"p2","nameLocation":"50447:2:14","nodeType":"VariableDeclaration","scope":18122,"src":"50442:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18104,"name":"bool","nodeType":"ElementaryTypeName","src":"50442:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18107,"mutability":"mutable","name":"p3","nameLocation":"50465:2:14","nodeType":"VariableDeclaration","scope":18122,"src":"50451:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18106,"name":"string","nodeType":"ElementaryTypeName","src":"50451:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50423:45:14"},"returnParameters":{"id":18109,"nodeType":"ParameterList","parameters":[],"src":"50483:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18145,"nodeType":"FunctionDefinition","src":"50592:164:14","nodes":[],"body":{"id":18144,"nodeType":"Block","src":"50655:101:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c626f6f6c29","id":18136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50705:26:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},"value":"log(bool,bool,bool,bool)"},{"id":18137,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18124,"src":"50733:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18138,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18126,"src":"50737:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18139,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18128,"src":"50741:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18140,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18130,"src":"50745:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18134,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50681:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50681:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50681:67:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18133,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"50665:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50665:84:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18143,"nodeType":"ExpressionStatement","src":"50665:84:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50601:3:14","parameters":{"id":18131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18124,"mutability":"mutable","name":"p0","nameLocation":"50610:2:14","nodeType":"VariableDeclaration","scope":18145,"src":"50605:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18123,"name":"bool","nodeType":"ElementaryTypeName","src":"50605:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18126,"mutability":"mutable","name":"p1","nameLocation":"50619:2:14","nodeType":"VariableDeclaration","scope":18145,"src":"50614:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18125,"name":"bool","nodeType":"ElementaryTypeName","src":"50614:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18128,"mutability":"mutable","name":"p2","nameLocation":"50628:2:14","nodeType":"VariableDeclaration","scope":18145,"src":"50623:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18127,"name":"bool","nodeType":"ElementaryTypeName","src":"50623:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18130,"mutability":"mutable","name":"p3","nameLocation":"50637:2:14","nodeType":"VariableDeclaration","scope":18145,"src":"50632:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18129,"name":"bool","nodeType":"ElementaryTypeName","src":"50632:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"50604:36:14"},"returnParameters":{"id":18132,"nodeType":"ParameterList","parameters":[],"src":"50655:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18168,"nodeType":"FunctionDefinition","src":"50762:170:14","nodes":[],"body":{"id":18167,"nodeType":"Block","src":"50828:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c6164647265737329","id":18159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50878:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},"value":"log(bool,bool,bool,address)"},{"id":18160,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18147,"src":"50909:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18161,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18149,"src":"50913:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18162,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18151,"src":"50917:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18163,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18153,"src":"50921:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18157,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50854:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50854:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50854:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18156,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"50838:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50838:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18166,"nodeType":"ExpressionStatement","src":"50838:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50771:3:14","parameters":{"id":18154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18147,"mutability":"mutable","name":"p0","nameLocation":"50780:2:14","nodeType":"VariableDeclaration","scope":18168,"src":"50775:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18146,"name":"bool","nodeType":"ElementaryTypeName","src":"50775:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18149,"mutability":"mutable","name":"p1","nameLocation":"50789:2:14","nodeType":"VariableDeclaration","scope":18168,"src":"50784:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18148,"name":"bool","nodeType":"ElementaryTypeName","src":"50784:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18151,"mutability":"mutable","name":"p2","nameLocation":"50798:2:14","nodeType":"VariableDeclaration","scope":18168,"src":"50793:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18150,"name":"bool","nodeType":"ElementaryTypeName","src":"50793:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18153,"mutability":"mutable","name":"p3","nameLocation":"50810:2:14","nodeType":"VariableDeclaration","scope":18168,"src":"50802:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18152,"name":"address","nodeType":"ElementaryTypeName","src":"50802:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50774:39:14"},"returnParameters":{"id":18155,"nodeType":"ParameterList","parameters":[],"src":"50828:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18191,"nodeType":"FunctionDefinition","src":"50938:170:14","nodes":[],"body":{"id":18190,"nodeType":"Block","src":"51004:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c75696e7429","id":18182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51054:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_609386e78fd5b0eaf4b919077203f18b1606ddf72247d9e5eef9238918f7cf5e","typeString":"literal_string \"log(bool,bool,address,uint)\""},"value":"log(bool,bool,address,uint)"},{"id":18183,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18170,"src":"51085:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18184,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18172,"src":"51089:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18185,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18174,"src":"51093:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18186,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18176,"src":"51097:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_609386e78fd5b0eaf4b919077203f18b1606ddf72247d9e5eef9238918f7cf5e","typeString":"literal_string \"log(bool,bool,address,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18180,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51030:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18181,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51030:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51030:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18179,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"51014:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51014:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18189,"nodeType":"ExpressionStatement","src":"51014:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50947:3:14","parameters":{"id":18177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18170,"mutability":"mutable","name":"p0","nameLocation":"50956:2:14","nodeType":"VariableDeclaration","scope":18191,"src":"50951:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18169,"name":"bool","nodeType":"ElementaryTypeName","src":"50951:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18172,"mutability":"mutable","name":"p1","nameLocation":"50965:2:14","nodeType":"VariableDeclaration","scope":18191,"src":"50960:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18171,"name":"bool","nodeType":"ElementaryTypeName","src":"50960:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18174,"mutability":"mutable","name":"p2","nameLocation":"50977:2:14","nodeType":"VariableDeclaration","scope":18191,"src":"50969:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18173,"name":"address","nodeType":"ElementaryTypeName","src":"50969:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18176,"mutability":"mutable","name":"p3","nameLocation":"50986:2:14","nodeType":"VariableDeclaration","scope":18191,"src":"50981:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18175,"name":"uint","nodeType":"ElementaryTypeName","src":"50981:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50950:39:14"},"returnParameters":{"id":18178,"nodeType":"ParameterList","parameters":[],"src":"51004:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18214,"nodeType":"FunctionDefinition","src":"51114:181:14","nodes":[],"body":{"id":18213,"nodeType":"Block","src":"51189:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c737472696e6729","id":18205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51239:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},"value":"log(bool,bool,address,string)"},{"id":18206,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18193,"src":"51272:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18207,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18195,"src":"51276:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18208,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18197,"src":"51280:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18209,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18199,"src":"51284:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18203,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51215:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51215:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51215:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18202,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"51199:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51199:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18212,"nodeType":"ExpressionStatement","src":"51199:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51123:3:14","parameters":{"id":18200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18193,"mutability":"mutable","name":"p0","nameLocation":"51132:2:14","nodeType":"VariableDeclaration","scope":18214,"src":"51127:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18192,"name":"bool","nodeType":"ElementaryTypeName","src":"51127:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18195,"mutability":"mutable","name":"p1","nameLocation":"51141:2:14","nodeType":"VariableDeclaration","scope":18214,"src":"51136:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18194,"name":"bool","nodeType":"ElementaryTypeName","src":"51136:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18197,"mutability":"mutable","name":"p2","nameLocation":"51153:2:14","nodeType":"VariableDeclaration","scope":18214,"src":"51145:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18196,"name":"address","nodeType":"ElementaryTypeName","src":"51145:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18199,"mutability":"mutable","name":"p3","nameLocation":"51171:2:14","nodeType":"VariableDeclaration","scope":18214,"src":"51157:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18198,"name":"string","nodeType":"ElementaryTypeName","src":"51157:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51126:48:14"},"returnParameters":{"id":18201,"nodeType":"ParameterList","parameters":[],"src":"51189:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18237,"nodeType":"FunctionDefinition","src":"51301:170:14","nodes":[],"body":{"id":18236,"nodeType":"Block","src":"51367:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c626f6f6c29","id":18228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51417:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},"value":"log(bool,bool,address,bool)"},{"id":18229,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18216,"src":"51448:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18230,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18218,"src":"51452:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18231,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18220,"src":"51456:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18232,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18222,"src":"51460:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18226,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51393:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51393:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51393:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18225,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"51377:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51377:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18235,"nodeType":"ExpressionStatement","src":"51377:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51310:3:14","parameters":{"id":18223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18216,"mutability":"mutable","name":"p0","nameLocation":"51319:2:14","nodeType":"VariableDeclaration","scope":18237,"src":"51314:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18215,"name":"bool","nodeType":"ElementaryTypeName","src":"51314:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18218,"mutability":"mutable","name":"p1","nameLocation":"51328:2:14","nodeType":"VariableDeclaration","scope":18237,"src":"51323:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18217,"name":"bool","nodeType":"ElementaryTypeName","src":"51323:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18220,"mutability":"mutable","name":"p2","nameLocation":"51340:2:14","nodeType":"VariableDeclaration","scope":18237,"src":"51332:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18219,"name":"address","nodeType":"ElementaryTypeName","src":"51332:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18222,"mutability":"mutable","name":"p3","nameLocation":"51349:2:14","nodeType":"VariableDeclaration","scope":18237,"src":"51344:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18221,"name":"bool","nodeType":"ElementaryTypeName","src":"51344:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"51313:39:14"},"returnParameters":{"id":18224,"nodeType":"ParameterList","parameters":[],"src":"51367:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18260,"nodeType":"FunctionDefinition","src":"51477:176:14","nodes":[],"body":{"id":18259,"nodeType":"Block","src":"51546:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c6164647265737329","id":18251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51596:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},"value":"log(bool,bool,address,address)"},{"id":18252,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18239,"src":"51630:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18253,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18241,"src":"51634:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18254,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18243,"src":"51638:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18255,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18245,"src":"51642:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18249,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51572:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51572:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51572:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18248,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"51556:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51556:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18258,"nodeType":"ExpressionStatement","src":"51556:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51486:3:14","parameters":{"id":18246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18239,"mutability":"mutable","name":"p0","nameLocation":"51495:2:14","nodeType":"VariableDeclaration","scope":18260,"src":"51490:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18238,"name":"bool","nodeType":"ElementaryTypeName","src":"51490:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18241,"mutability":"mutable","name":"p1","nameLocation":"51504:2:14","nodeType":"VariableDeclaration","scope":18260,"src":"51499:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18240,"name":"bool","nodeType":"ElementaryTypeName","src":"51499:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18243,"mutability":"mutable","name":"p2","nameLocation":"51516:2:14","nodeType":"VariableDeclaration","scope":18260,"src":"51508:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18242,"name":"address","nodeType":"ElementaryTypeName","src":"51508:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18245,"mutability":"mutable","name":"p3","nameLocation":"51528:2:14","nodeType":"VariableDeclaration","scope":18260,"src":"51520:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18244,"name":"address","nodeType":"ElementaryTypeName","src":"51520:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"51489:42:14"},"returnParameters":{"id":18247,"nodeType":"ParameterList","parameters":[],"src":"51546:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18283,"nodeType":"FunctionDefinition","src":"51659:170:14","nodes":[],"body":{"id":18282,"nodeType":"Block","src":"51725:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e742c75696e7429","id":18274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51775:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bfe72bcae17311bf78638487cb2635e8b5b6f81761042494681e890b65ae4df","typeString":"literal_string \"log(bool,address,uint,uint)\""},"value":"log(bool,address,uint,uint)"},{"id":18275,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18262,"src":"51806:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18276,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18264,"src":"51810:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18277,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18266,"src":"51814:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18278,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18268,"src":"51818:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9bfe72bcae17311bf78638487cb2635e8b5b6f81761042494681e890b65ae4df","typeString":"literal_string \"log(bool,address,uint,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18272,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51751:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51751:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51751:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18271,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"51735:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51735:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18281,"nodeType":"ExpressionStatement","src":"51735:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51668:3:14","parameters":{"id":18269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18262,"mutability":"mutable","name":"p0","nameLocation":"51677:2:14","nodeType":"VariableDeclaration","scope":18283,"src":"51672:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18261,"name":"bool","nodeType":"ElementaryTypeName","src":"51672:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18264,"mutability":"mutable","name":"p1","nameLocation":"51689:2:14","nodeType":"VariableDeclaration","scope":18283,"src":"51681:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18263,"name":"address","nodeType":"ElementaryTypeName","src":"51681:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18266,"mutability":"mutable","name":"p2","nameLocation":"51698:2:14","nodeType":"VariableDeclaration","scope":18283,"src":"51693:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18265,"name":"uint","nodeType":"ElementaryTypeName","src":"51693:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18268,"mutability":"mutable","name":"p3","nameLocation":"51707:2:14","nodeType":"VariableDeclaration","scope":18283,"src":"51702:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18267,"name":"uint","nodeType":"ElementaryTypeName","src":"51702:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51671:39:14"},"returnParameters":{"id":18270,"nodeType":"ParameterList","parameters":[],"src":"51725:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18306,"nodeType":"FunctionDefinition","src":"51835:181:14","nodes":[],"body":{"id":18305,"nodeType":"Block","src":"51910:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e742c737472696e6729","id":18297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51960:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0685833a55270d98fa68e8c0a0f64fe3e03f6cdaeaebd8f87342de905392f45","typeString":"literal_string \"log(bool,address,uint,string)\""},"value":"log(bool,address,uint,string)"},{"id":18298,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18285,"src":"51993:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18299,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18287,"src":"51997:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18300,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18289,"src":"52001:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18301,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18291,"src":"52005:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0685833a55270d98fa68e8c0a0f64fe3e03f6cdaeaebd8f87342de905392f45","typeString":"literal_string \"log(bool,address,uint,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18295,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51936:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51936:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51936:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18294,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"51920:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51920:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18304,"nodeType":"ExpressionStatement","src":"51920:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51844:3:14","parameters":{"id":18292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18285,"mutability":"mutable","name":"p0","nameLocation":"51853:2:14","nodeType":"VariableDeclaration","scope":18306,"src":"51848:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18284,"name":"bool","nodeType":"ElementaryTypeName","src":"51848:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18287,"mutability":"mutable","name":"p1","nameLocation":"51865:2:14","nodeType":"VariableDeclaration","scope":18306,"src":"51857:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18286,"name":"address","nodeType":"ElementaryTypeName","src":"51857:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18289,"mutability":"mutable","name":"p2","nameLocation":"51874:2:14","nodeType":"VariableDeclaration","scope":18306,"src":"51869:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18288,"name":"uint","nodeType":"ElementaryTypeName","src":"51869:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18291,"mutability":"mutable","name":"p3","nameLocation":"51892:2:14","nodeType":"VariableDeclaration","scope":18306,"src":"51878:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18290,"name":"string","nodeType":"ElementaryTypeName","src":"51878:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51847:48:14"},"returnParameters":{"id":18293,"nodeType":"ParameterList","parameters":[],"src":"51910:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18329,"nodeType":"FunctionDefinition","src":"52022:170:14","nodes":[],"body":{"id":18328,"nodeType":"Block","src":"52088:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e742c626f6f6c29","id":18320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52138:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee8d8672273fdba9089296874ea62335af7f94273edab558dd69c0c81ad5275f","typeString":"literal_string \"log(bool,address,uint,bool)\""},"value":"log(bool,address,uint,bool)"},{"id":18321,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18308,"src":"52169:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18322,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18310,"src":"52173:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18323,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18312,"src":"52177:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18324,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18314,"src":"52181:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee8d8672273fdba9089296874ea62335af7f94273edab558dd69c0c81ad5275f","typeString":"literal_string \"log(bool,address,uint,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18318,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52114:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52114:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52114:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18317,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"52098:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52098:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18327,"nodeType":"ExpressionStatement","src":"52098:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52031:3:14","parameters":{"id":18315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18308,"mutability":"mutable","name":"p0","nameLocation":"52040:2:14","nodeType":"VariableDeclaration","scope":18329,"src":"52035:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18307,"name":"bool","nodeType":"ElementaryTypeName","src":"52035:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18310,"mutability":"mutable","name":"p1","nameLocation":"52052:2:14","nodeType":"VariableDeclaration","scope":18329,"src":"52044:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18309,"name":"address","nodeType":"ElementaryTypeName","src":"52044:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18312,"mutability":"mutable","name":"p2","nameLocation":"52061:2:14","nodeType":"VariableDeclaration","scope":18329,"src":"52056:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18311,"name":"uint","nodeType":"ElementaryTypeName","src":"52056:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18314,"mutability":"mutable","name":"p3","nameLocation":"52070:2:14","nodeType":"VariableDeclaration","scope":18329,"src":"52065:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18313,"name":"bool","nodeType":"ElementaryTypeName","src":"52065:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52034:39:14"},"returnParameters":{"id":18316,"nodeType":"ParameterList","parameters":[],"src":"52088:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18352,"nodeType":"FunctionDefinition","src":"52198:176:14","nodes":[],"body":{"id":18351,"nodeType":"Block","src":"52267:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e742c6164647265737329","id":18343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52317:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_68f158b5f9bd826807d19c20c2d71bd298a10503195154a299bf8d64baa18687","typeString":"literal_string \"log(bool,address,uint,address)\""},"value":"log(bool,address,uint,address)"},{"id":18344,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18331,"src":"52351:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18345,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18333,"src":"52355:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18346,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18335,"src":"52359:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18347,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18337,"src":"52363:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_68f158b5f9bd826807d19c20c2d71bd298a10503195154a299bf8d64baa18687","typeString":"literal_string \"log(bool,address,uint,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18341,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52293:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52293:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52293:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18340,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"52277:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52277:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18350,"nodeType":"ExpressionStatement","src":"52277:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52207:3:14","parameters":{"id":18338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18331,"mutability":"mutable","name":"p0","nameLocation":"52216:2:14","nodeType":"VariableDeclaration","scope":18352,"src":"52211:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18330,"name":"bool","nodeType":"ElementaryTypeName","src":"52211:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18333,"mutability":"mutable","name":"p1","nameLocation":"52228:2:14","nodeType":"VariableDeclaration","scope":18352,"src":"52220:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18332,"name":"address","nodeType":"ElementaryTypeName","src":"52220:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18335,"mutability":"mutable","name":"p2","nameLocation":"52237:2:14","nodeType":"VariableDeclaration","scope":18352,"src":"52232:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18334,"name":"uint","nodeType":"ElementaryTypeName","src":"52232:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18337,"mutability":"mutable","name":"p3","nameLocation":"52249:2:14","nodeType":"VariableDeclaration","scope":18352,"src":"52241:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18336,"name":"address","nodeType":"ElementaryTypeName","src":"52241:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52210:42:14"},"returnParameters":{"id":18339,"nodeType":"ParameterList","parameters":[],"src":"52267:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18375,"nodeType":"FunctionDefinition","src":"52380:181:14","nodes":[],"body":{"id":18374,"nodeType":"Block","src":"52455:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c75696e7429","id":18366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52505:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0b99fc2207222410afd35c7faf7feba54ff2367ba89f893584c27ce75693de6e","typeString":"literal_string \"log(bool,address,string,uint)\""},"value":"log(bool,address,string,uint)"},{"id":18367,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18354,"src":"52538:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18368,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18356,"src":"52542:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18369,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18358,"src":"52546:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18370,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18360,"src":"52550:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0b99fc2207222410afd35c7faf7feba54ff2367ba89f893584c27ce75693de6e","typeString":"literal_string \"log(bool,address,string,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18364,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52481:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18365,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52481:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52481:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18363,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"52465:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52465:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18373,"nodeType":"ExpressionStatement","src":"52465:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52389:3:14","parameters":{"id":18361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18354,"mutability":"mutable","name":"p0","nameLocation":"52398:2:14","nodeType":"VariableDeclaration","scope":18375,"src":"52393:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18353,"name":"bool","nodeType":"ElementaryTypeName","src":"52393:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18356,"mutability":"mutable","name":"p1","nameLocation":"52410:2:14","nodeType":"VariableDeclaration","scope":18375,"src":"52402:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18355,"name":"address","nodeType":"ElementaryTypeName","src":"52402:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18358,"mutability":"mutable","name":"p2","nameLocation":"52428:2:14","nodeType":"VariableDeclaration","scope":18375,"src":"52414:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18357,"name":"string","nodeType":"ElementaryTypeName","src":"52414:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18360,"mutability":"mutable","name":"p3","nameLocation":"52437:2:14","nodeType":"VariableDeclaration","scope":18375,"src":"52432:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18359,"name":"uint","nodeType":"ElementaryTypeName","src":"52432:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"52392:48:14"},"returnParameters":{"id":18362,"nodeType":"ParameterList","parameters":[],"src":"52455:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18398,"nodeType":"FunctionDefinition","src":"52567:192:14","nodes":[],"body":{"id":18397,"nodeType":"Block","src":"52651:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c737472696e6729","id":18389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52701:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},"value":"log(bool,address,string,string)"},{"id":18390,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18377,"src":"52736:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18391,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18379,"src":"52740:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18392,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18381,"src":"52744:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18393,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18383,"src":"52748:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18387,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52677:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18388,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52677:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52677:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18386,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"52661:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52661:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18396,"nodeType":"ExpressionStatement","src":"52661:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52576:3:14","parameters":{"id":18384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18377,"mutability":"mutable","name":"p0","nameLocation":"52585:2:14","nodeType":"VariableDeclaration","scope":18398,"src":"52580:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18376,"name":"bool","nodeType":"ElementaryTypeName","src":"52580:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18379,"mutability":"mutable","name":"p1","nameLocation":"52597:2:14","nodeType":"VariableDeclaration","scope":18398,"src":"52589:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18378,"name":"address","nodeType":"ElementaryTypeName","src":"52589:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18381,"mutability":"mutable","name":"p2","nameLocation":"52615:2:14","nodeType":"VariableDeclaration","scope":18398,"src":"52601:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18380,"name":"string","nodeType":"ElementaryTypeName","src":"52601:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18383,"mutability":"mutable","name":"p3","nameLocation":"52633:2:14","nodeType":"VariableDeclaration","scope":18398,"src":"52619:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18382,"name":"string","nodeType":"ElementaryTypeName","src":"52619:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52579:57:14"},"returnParameters":{"id":18385,"nodeType":"ParameterList","parameters":[],"src":"52651:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18421,"nodeType":"FunctionDefinition","src":"52765:181:14","nodes":[],"body":{"id":18420,"nodeType":"Block","src":"52840:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c626f6f6c29","id":18412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52890:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},"value":"log(bool,address,string,bool)"},{"id":18413,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18400,"src":"52923:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18414,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18402,"src":"52927:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18415,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18404,"src":"52931:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18416,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18406,"src":"52935:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18410,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52866:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52866:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52866:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18409,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"52850:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52850:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18419,"nodeType":"ExpressionStatement","src":"52850:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52774:3:14","parameters":{"id":18407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18400,"mutability":"mutable","name":"p0","nameLocation":"52783:2:14","nodeType":"VariableDeclaration","scope":18421,"src":"52778:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18399,"name":"bool","nodeType":"ElementaryTypeName","src":"52778:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18402,"mutability":"mutable","name":"p1","nameLocation":"52795:2:14","nodeType":"VariableDeclaration","scope":18421,"src":"52787:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18401,"name":"address","nodeType":"ElementaryTypeName","src":"52787:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18404,"mutability":"mutable","name":"p2","nameLocation":"52813:2:14","nodeType":"VariableDeclaration","scope":18421,"src":"52799:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18403,"name":"string","nodeType":"ElementaryTypeName","src":"52799:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18406,"mutability":"mutable","name":"p3","nameLocation":"52822:2:14","nodeType":"VariableDeclaration","scope":18421,"src":"52817:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18405,"name":"bool","nodeType":"ElementaryTypeName","src":"52817:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52777:48:14"},"returnParameters":{"id":18408,"nodeType":"ParameterList","parameters":[],"src":"52840:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18444,"nodeType":"FunctionDefinition","src":"52952:187:14","nodes":[],"body":{"id":18443,"nodeType":"Block","src":"53030:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c6164647265737329","id":18435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53080:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},"value":"log(bool,address,string,address)"},{"id":18436,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18423,"src":"53116:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18437,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18425,"src":"53120:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18438,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18427,"src":"53124:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18439,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18429,"src":"53128:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18433,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53056:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18434,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53056:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53056:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18432,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"53040:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53040:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18442,"nodeType":"ExpressionStatement","src":"53040:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52961:3:14","parameters":{"id":18430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18423,"mutability":"mutable","name":"p0","nameLocation":"52970:2:14","nodeType":"VariableDeclaration","scope":18444,"src":"52965:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18422,"name":"bool","nodeType":"ElementaryTypeName","src":"52965:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18425,"mutability":"mutable","name":"p1","nameLocation":"52982:2:14","nodeType":"VariableDeclaration","scope":18444,"src":"52974:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18424,"name":"address","nodeType":"ElementaryTypeName","src":"52974:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18427,"mutability":"mutable","name":"p2","nameLocation":"53000:2:14","nodeType":"VariableDeclaration","scope":18444,"src":"52986:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18426,"name":"string","nodeType":"ElementaryTypeName","src":"52986:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18429,"mutability":"mutable","name":"p3","nameLocation":"53012:2:14","nodeType":"VariableDeclaration","scope":18444,"src":"53004:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18428,"name":"address","nodeType":"ElementaryTypeName","src":"53004:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52964:51:14"},"returnParameters":{"id":18431,"nodeType":"ParameterList","parameters":[],"src":"53030:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18467,"nodeType":"FunctionDefinition","src":"53145:170:14","nodes":[],"body":{"id":18466,"nodeType":"Block","src":"53211:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c75696e7429","id":18458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53261:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4cb60fd1171fb665e1565124463601e5c451a362c8efbc6e1fcfbffbbb9850d9","typeString":"literal_string \"log(bool,address,bool,uint)\""},"value":"log(bool,address,bool,uint)"},{"id":18459,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18446,"src":"53292:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18460,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18448,"src":"53296:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18461,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18450,"src":"53300:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18462,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18452,"src":"53304:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4cb60fd1171fb665e1565124463601e5c451a362c8efbc6e1fcfbffbbb9850d9","typeString":"literal_string \"log(bool,address,bool,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18456,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53237:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53237:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53237:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18455,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"53221:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53221:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18465,"nodeType":"ExpressionStatement","src":"53221:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53154:3:14","parameters":{"id":18453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18446,"mutability":"mutable","name":"p0","nameLocation":"53163:2:14","nodeType":"VariableDeclaration","scope":18467,"src":"53158:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18445,"name":"bool","nodeType":"ElementaryTypeName","src":"53158:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18448,"mutability":"mutable","name":"p1","nameLocation":"53175:2:14","nodeType":"VariableDeclaration","scope":18467,"src":"53167:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18447,"name":"address","nodeType":"ElementaryTypeName","src":"53167:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18450,"mutability":"mutable","name":"p2","nameLocation":"53184:2:14","nodeType":"VariableDeclaration","scope":18467,"src":"53179:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18449,"name":"bool","nodeType":"ElementaryTypeName","src":"53179:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18452,"mutability":"mutable","name":"p3","nameLocation":"53193:2:14","nodeType":"VariableDeclaration","scope":18467,"src":"53188:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18451,"name":"uint","nodeType":"ElementaryTypeName","src":"53188:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53157:39:14"},"returnParameters":{"id":18454,"nodeType":"ParameterList","parameters":[],"src":"53211:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18490,"nodeType":"FunctionDefinition","src":"53321:181:14","nodes":[],"body":{"id":18489,"nodeType":"Block","src":"53396:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c737472696e6729","id":18481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53446:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},"value":"log(bool,address,bool,string)"},{"id":18482,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18469,"src":"53479:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18483,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18471,"src":"53483:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18484,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18473,"src":"53487:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18485,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18475,"src":"53491:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18479,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53422:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53422:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53422:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18478,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"53406:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53406:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18488,"nodeType":"ExpressionStatement","src":"53406:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53330:3:14","parameters":{"id":18476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18469,"mutability":"mutable","name":"p0","nameLocation":"53339:2:14","nodeType":"VariableDeclaration","scope":18490,"src":"53334:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18468,"name":"bool","nodeType":"ElementaryTypeName","src":"53334:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18471,"mutability":"mutable","name":"p1","nameLocation":"53351:2:14","nodeType":"VariableDeclaration","scope":18490,"src":"53343:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18470,"name":"address","nodeType":"ElementaryTypeName","src":"53343:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18473,"mutability":"mutable","name":"p2","nameLocation":"53360:2:14","nodeType":"VariableDeclaration","scope":18490,"src":"53355:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18472,"name":"bool","nodeType":"ElementaryTypeName","src":"53355:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18475,"mutability":"mutable","name":"p3","nameLocation":"53378:2:14","nodeType":"VariableDeclaration","scope":18490,"src":"53364:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18474,"name":"string","nodeType":"ElementaryTypeName","src":"53364:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53333:48:14"},"returnParameters":{"id":18477,"nodeType":"ParameterList","parameters":[],"src":"53396:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18513,"nodeType":"FunctionDefinition","src":"53508:170:14","nodes":[],"body":{"id":18512,"nodeType":"Block","src":"53574:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c626f6f6c29","id":18504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53624:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},"value":"log(bool,address,bool,bool)"},{"id":18505,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18492,"src":"53655:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18506,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18494,"src":"53659:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18507,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18496,"src":"53663:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18508,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18498,"src":"53667:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18502,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53600:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53600:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53600:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18501,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"53584:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53584:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18511,"nodeType":"ExpressionStatement","src":"53584:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53517:3:14","parameters":{"id":18499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18492,"mutability":"mutable","name":"p0","nameLocation":"53526:2:14","nodeType":"VariableDeclaration","scope":18513,"src":"53521:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18491,"name":"bool","nodeType":"ElementaryTypeName","src":"53521:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18494,"mutability":"mutable","name":"p1","nameLocation":"53538:2:14","nodeType":"VariableDeclaration","scope":18513,"src":"53530:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18493,"name":"address","nodeType":"ElementaryTypeName","src":"53530:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18496,"mutability":"mutable","name":"p2","nameLocation":"53547:2:14","nodeType":"VariableDeclaration","scope":18513,"src":"53542:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18495,"name":"bool","nodeType":"ElementaryTypeName","src":"53542:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18498,"mutability":"mutable","name":"p3","nameLocation":"53556:2:14","nodeType":"VariableDeclaration","scope":18513,"src":"53551:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18497,"name":"bool","nodeType":"ElementaryTypeName","src":"53551:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"53520:39:14"},"returnParameters":{"id":18500,"nodeType":"ParameterList","parameters":[],"src":"53574:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18536,"nodeType":"FunctionDefinition","src":"53684:176:14","nodes":[],"body":{"id":18535,"nodeType":"Block","src":"53753:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c6164647265737329","id":18527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53803:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},"value":"log(bool,address,bool,address)"},{"id":18528,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18515,"src":"53837:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18529,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18517,"src":"53841:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18530,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18519,"src":"53845:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18531,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18521,"src":"53849:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18525,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53779:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53779:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53779:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18524,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"53763:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53763:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18534,"nodeType":"ExpressionStatement","src":"53763:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53693:3:14","parameters":{"id":18522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18515,"mutability":"mutable","name":"p0","nameLocation":"53702:2:14","nodeType":"VariableDeclaration","scope":18536,"src":"53697:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18514,"name":"bool","nodeType":"ElementaryTypeName","src":"53697:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18517,"mutability":"mutable","name":"p1","nameLocation":"53714:2:14","nodeType":"VariableDeclaration","scope":18536,"src":"53706:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18516,"name":"address","nodeType":"ElementaryTypeName","src":"53706:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18519,"mutability":"mutable","name":"p2","nameLocation":"53723:2:14","nodeType":"VariableDeclaration","scope":18536,"src":"53718:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18518,"name":"bool","nodeType":"ElementaryTypeName","src":"53718:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18521,"mutability":"mutable","name":"p3","nameLocation":"53735:2:14","nodeType":"VariableDeclaration","scope":18536,"src":"53727:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18520,"name":"address","nodeType":"ElementaryTypeName","src":"53727:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"53696:42:14"},"returnParameters":{"id":18523,"nodeType":"ParameterList","parameters":[],"src":"53753:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18559,"nodeType":"FunctionDefinition","src":"53866:176:14","nodes":[],"body":{"id":18558,"nodeType":"Block","src":"53935:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c75696e7429","id":18550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53985:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5284bd6c2d02d32d79d43dcd0793be5ced63bf4e51bea38208974f6d8ca5def7","typeString":"literal_string \"log(bool,address,address,uint)\""},"value":"log(bool,address,address,uint)"},{"id":18551,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18538,"src":"54019:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18552,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18540,"src":"54023:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18553,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18542,"src":"54027:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18554,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18544,"src":"54031:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5284bd6c2d02d32d79d43dcd0793be5ced63bf4e51bea38208974f6d8ca5def7","typeString":"literal_string \"log(bool,address,address,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18548,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53961:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53961:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53961:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18547,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"53945:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53945:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18557,"nodeType":"ExpressionStatement","src":"53945:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53875:3:14","parameters":{"id":18545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18538,"mutability":"mutable","name":"p0","nameLocation":"53884:2:14","nodeType":"VariableDeclaration","scope":18559,"src":"53879:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18537,"name":"bool","nodeType":"ElementaryTypeName","src":"53879:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18540,"mutability":"mutable","name":"p1","nameLocation":"53896:2:14","nodeType":"VariableDeclaration","scope":18559,"src":"53888:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18539,"name":"address","nodeType":"ElementaryTypeName","src":"53888:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18542,"mutability":"mutable","name":"p2","nameLocation":"53908:2:14","nodeType":"VariableDeclaration","scope":18559,"src":"53900:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18541,"name":"address","nodeType":"ElementaryTypeName","src":"53900:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18544,"mutability":"mutable","name":"p3","nameLocation":"53917:2:14","nodeType":"VariableDeclaration","scope":18559,"src":"53912:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18543,"name":"uint","nodeType":"ElementaryTypeName","src":"53912:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53878:42:14"},"returnParameters":{"id":18546,"nodeType":"ParameterList","parameters":[],"src":"53935:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18582,"nodeType":"FunctionDefinition","src":"54048:187:14","nodes":[],"body":{"id":18581,"nodeType":"Block","src":"54126:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c737472696e6729","id":18573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54176:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},"value":"log(bool,address,address,string)"},{"id":18574,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18561,"src":"54212:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18575,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18563,"src":"54216:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18576,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18565,"src":"54220:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18577,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18567,"src":"54224:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18571,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54152:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18572,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54152:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54152:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18570,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"54136:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54136:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18580,"nodeType":"ExpressionStatement","src":"54136:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54057:3:14","parameters":{"id":18568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18561,"mutability":"mutable","name":"p0","nameLocation":"54066:2:14","nodeType":"VariableDeclaration","scope":18582,"src":"54061:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18560,"name":"bool","nodeType":"ElementaryTypeName","src":"54061:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18563,"mutability":"mutable","name":"p1","nameLocation":"54078:2:14","nodeType":"VariableDeclaration","scope":18582,"src":"54070:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18562,"name":"address","nodeType":"ElementaryTypeName","src":"54070:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18565,"mutability":"mutable","name":"p2","nameLocation":"54090:2:14","nodeType":"VariableDeclaration","scope":18582,"src":"54082:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18564,"name":"address","nodeType":"ElementaryTypeName","src":"54082:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18567,"mutability":"mutable","name":"p3","nameLocation":"54108:2:14","nodeType":"VariableDeclaration","scope":18582,"src":"54094:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18566,"name":"string","nodeType":"ElementaryTypeName","src":"54094:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54060:51:14"},"returnParameters":{"id":18569,"nodeType":"ParameterList","parameters":[],"src":"54126:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18605,"nodeType":"FunctionDefinition","src":"54241:176:14","nodes":[],"body":{"id":18604,"nodeType":"Block","src":"54310:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c626f6f6c29","id":18596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54360:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},"value":"log(bool,address,address,bool)"},{"id":18597,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18584,"src":"54394:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18598,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18586,"src":"54398:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18599,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18588,"src":"54402:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18600,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18590,"src":"54406:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18594,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54336:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54336:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54336:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18593,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"54320:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54320:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18603,"nodeType":"ExpressionStatement","src":"54320:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54250:3:14","parameters":{"id":18591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18584,"mutability":"mutable","name":"p0","nameLocation":"54259:2:14","nodeType":"VariableDeclaration","scope":18605,"src":"54254:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18583,"name":"bool","nodeType":"ElementaryTypeName","src":"54254:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18586,"mutability":"mutable","name":"p1","nameLocation":"54271:2:14","nodeType":"VariableDeclaration","scope":18605,"src":"54263:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18585,"name":"address","nodeType":"ElementaryTypeName","src":"54263:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18588,"mutability":"mutable","name":"p2","nameLocation":"54283:2:14","nodeType":"VariableDeclaration","scope":18605,"src":"54275:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18587,"name":"address","nodeType":"ElementaryTypeName","src":"54275:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18590,"mutability":"mutable","name":"p3","nameLocation":"54292:2:14","nodeType":"VariableDeclaration","scope":18605,"src":"54287:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18589,"name":"bool","nodeType":"ElementaryTypeName","src":"54287:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"54253:42:14"},"returnParameters":{"id":18592,"nodeType":"ParameterList","parameters":[],"src":"54310:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18628,"nodeType":"FunctionDefinition","src":"54423:182:14","nodes":[],"body":{"id":18627,"nodeType":"Block","src":"54495:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c6164647265737329","id":18619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54545:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},"value":"log(bool,address,address,address)"},{"id":18620,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18607,"src":"54582:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18621,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18609,"src":"54586:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18622,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18611,"src":"54590:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18623,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18613,"src":"54594:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18617,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54521:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18618,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54521:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54521:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18616,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"54505:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54505:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18626,"nodeType":"ExpressionStatement","src":"54505:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54432:3:14","parameters":{"id":18614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18607,"mutability":"mutable","name":"p0","nameLocation":"54441:2:14","nodeType":"VariableDeclaration","scope":18628,"src":"54436:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18606,"name":"bool","nodeType":"ElementaryTypeName","src":"54436:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18609,"mutability":"mutable","name":"p1","nameLocation":"54453:2:14","nodeType":"VariableDeclaration","scope":18628,"src":"54445:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18608,"name":"address","nodeType":"ElementaryTypeName","src":"54445:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18611,"mutability":"mutable","name":"p2","nameLocation":"54465:2:14","nodeType":"VariableDeclaration","scope":18628,"src":"54457:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18610,"name":"address","nodeType":"ElementaryTypeName","src":"54457:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18613,"mutability":"mutable","name":"p3","nameLocation":"54477:2:14","nodeType":"VariableDeclaration","scope":18628,"src":"54469:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18612,"name":"address","nodeType":"ElementaryTypeName","src":"54469:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"54435:45:14"},"returnParameters":{"id":18615,"nodeType":"ParameterList","parameters":[],"src":"54495:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18651,"nodeType":"FunctionDefinition","src":"54611:170:14","nodes":[],"body":{"id":18650,"nodeType":"Block","src":"54677:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c75696e742c75696e7429","id":18642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54727:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d0e9de46a80fe11d0044e9599dfddd0e8b842cabe189638f7090f19867918c1","typeString":"literal_string \"log(address,uint,uint,uint)\""},"value":"log(address,uint,uint,uint)"},{"id":18643,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18630,"src":"54758:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18644,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18632,"src":"54762:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18645,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18634,"src":"54766:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18646,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18636,"src":"54770:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3d0e9de46a80fe11d0044e9599dfddd0e8b842cabe189638f7090f19867918c1","typeString":"literal_string \"log(address,uint,uint,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18640,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54703:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18641,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54703:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54703:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18639,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"54687:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54687:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18649,"nodeType":"ExpressionStatement","src":"54687:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54620:3:14","parameters":{"id":18637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18630,"mutability":"mutable","name":"p0","nameLocation":"54632:2:14","nodeType":"VariableDeclaration","scope":18651,"src":"54624:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18629,"name":"address","nodeType":"ElementaryTypeName","src":"54624:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18632,"mutability":"mutable","name":"p1","nameLocation":"54641:2:14","nodeType":"VariableDeclaration","scope":18651,"src":"54636:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18631,"name":"uint","nodeType":"ElementaryTypeName","src":"54636:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18634,"mutability":"mutable","name":"p2","nameLocation":"54650:2:14","nodeType":"VariableDeclaration","scope":18651,"src":"54645:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18633,"name":"uint","nodeType":"ElementaryTypeName","src":"54645:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18636,"mutability":"mutable","name":"p3","nameLocation":"54659:2:14","nodeType":"VariableDeclaration","scope":18651,"src":"54654:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18635,"name":"uint","nodeType":"ElementaryTypeName","src":"54654:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54623:39:14"},"returnParameters":{"id":18638,"nodeType":"ParameterList","parameters":[],"src":"54677:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18674,"nodeType":"FunctionDefinition","src":"54787:181:14","nodes":[],"body":{"id":18673,"nodeType":"Block","src":"54862:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c75696e742c737472696e6729","id":18665,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54912:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_89340dab4d23e956541beb32775ccfee8376ba263886dd811a646420a3a403a3","typeString":"literal_string \"log(address,uint,uint,string)\""},"value":"log(address,uint,uint,string)"},{"id":18666,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18653,"src":"54945:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18667,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18655,"src":"54949:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18668,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18657,"src":"54953:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18669,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18659,"src":"54957:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_89340dab4d23e956541beb32775ccfee8376ba263886dd811a646420a3a403a3","typeString":"literal_string \"log(address,uint,uint,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18663,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54888:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18664,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54888:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54888:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18662,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"54872:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54872:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18672,"nodeType":"ExpressionStatement","src":"54872:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54796:3:14","parameters":{"id":18660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18653,"mutability":"mutable","name":"p0","nameLocation":"54808:2:14","nodeType":"VariableDeclaration","scope":18674,"src":"54800:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18652,"name":"address","nodeType":"ElementaryTypeName","src":"54800:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18655,"mutability":"mutable","name":"p1","nameLocation":"54817:2:14","nodeType":"VariableDeclaration","scope":18674,"src":"54812:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18654,"name":"uint","nodeType":"ElementaryTypeName","src":"54812:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18657,"mutability":"mutable","name":"p2","nameLocation":"54826:2:14","nodeType":"VariableDeclaration","scope":18674,"src":"54821:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18656,"name":"uint","nodeType":"ElementaryTypeName","src":"54821:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18659,"mutability":"mutable","name":"p3","nameLocation":"54844:2:14","nodeType":"VariableDeclaration","scope":18674,"src":"54830:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18658,"name":"string","nodeType":"ElementaryTypeName","src":"54830:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54799:48:14"},"returnParameters":{"id":18661,"nodeType":"ParameterList","parameters":[],"src":"54862:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18697,"nodeType":"FunctionDefinition","src":"54974:170:14","nodes":[],"body":{"id":18696,"nodeType":"Block","src":"55040:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c75696e742c626f6f6c29","id":18688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55090:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ec4ba8a24543362f628480c68bc2d6749e97ab33d46530db336a528c77e48393","typeString":"literal_string \"log(address,uint,uint,bool)\""},"value":"log(address,uint,uint,bool)"},{"id":18689,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18676,"src":"55121:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18690,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18678,"src":"55125:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18691,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18680,"src":"55129:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18692,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18682,"src":"55133:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ec4ba8a24543362f628480c68bc2d6749e97ab33d46530db336a528c77e48393","typeString":"literal_string \"log(address,uint,uint,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18686,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55066:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18687,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55066:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55066:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18685,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"55050:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55050:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18695,"nodeType":"ExpressionStatement","src":"55050:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54983:3:14","parameters":{"id":18683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18676,"mutability":"mutable","name":"p0","nameLocation":"54995:2:14","nodeType":"VariableDeclaration","scope":18697,"src":"54987:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18675,"name":"address","nodeType":"ElementaryTypeName","src":"54987:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18678,"mutability":"mutable","name":"p1","nameLocation":"55004:2:14","nodeType":"VariableDeclaration","scope":18697,"src":"54999:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18677,"name":"uint","nodeType":"ElementaryTypeName","src":"54999:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18680,"mutability":"mutable","name":"p2","nameLocation":"55013:2:14","nodeType":"VariableDeclaration","scope":18697,"src":"55008:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18679,"name":"uint","nodeType":"ElementaryTypeName","src":"55008:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18682,"mutability":"mutable","name":"p3","nameLocation":"55022:2:14","nodeType":"VariableDeclaration","scope":18697,"src":"55017:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18681,"name":"bool","nodeType":"ElementaryTypeName","src":"55017:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"54986:39:14"},"returnParameters":{"id":18684,"nodeType":"ParameterList","parameters":[],"src":"55040:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18720,"nodeType":"FunctionDefinition","src":"55150:176:14","nodes":[],"body":{"id":18719,"nodeType":"Block","src":"55219:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c75696e742c6164647265737329","id":18711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55269:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ef634347c2e4a2aa1a4e4e13d33bf0169f02bc4d10ff6168ca604cf3134d957","typeString":"literal_string \"log(address,uint,uint,address)\""},"value":"log(address,uint,uint,address)"},{"id":18712,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18699,"src":"55303:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18713,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18701,"src":"55307:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18714,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18703,"src":"55311:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18715,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18705,"src":"55315:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1ef634347c2e4a2aa1a4e4e13d33bf0169f02bc4d10ff6168ca604cf3134d957","typeString":"literal_string \"log(address,uint,uint,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18709,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55245:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18710,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55245:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55245:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18708,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"55229:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55229:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18718,"nodeType":"ExpressionStatement","src":"55229:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55159:3:14","parameters":{"id":18706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18699,"mutability":"mutable","name":"p0","nameLocation":"55171:2:14","nodeType":"VariableDeclaration","scope":18720,"src":"55163:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18698,"name":"address","nodeType":"ElementaryTypeName","src":"55163:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18701,"mutability":"mutable","name":"p1","nameLocation":"55180:2:14","nodeType":"VariableDeclaration","scope":18720,"src":"55175:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18700,"name":"uint","nodeType":"ElementaryTypeName","src":"55175:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18703,"mutability":"mutable","name":"p2","nameLocation":"55189:2:14","nodeType":"VariableDeclaration","scope":18720,"src":"55184:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18702,"name":"uint","nodeType":"ElementaryTypeName","src":"55184:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18705,"mutability":"mutable","name":"p3","nameLocation":"55201:2:14","nodeType":"VariableDeclaration","scope":18720,"src":"55193:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18704,"name":"address","nodeType":"ElementaryTypeName","src":"55193:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55162:42:14"},"returnParameters":{"id":18707,"nodeType":"ParameterList","parameters":[],"src":"55219:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18743,"nodeType":"FunctionDefinition","src":"55332:181:14","nodes":[],"body":{"id":18742,"nodeType":"Block","src":"55407:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c737472696e672c75696e7429","id":18734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55457:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f512cf9b6f6b16313e82164dab4a017b25c36dde729112fd1b69de438557701b","typeString":"literal_string \"log(address,uint,string,uint)\""},"value":"log(address,uint,string,uint)"},{"id":18735,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18722,"src":"55490:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18736,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18724,"src":"55494:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18737,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18726,"src":"55498:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18738,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18728,"src":"55502:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f512cf9b6f6b16313e82164dab4a017b25c36dde729112fd1b69de438557701b","typeString":"literal_string \"log(address,uint,string,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18732,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55433:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18733,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55433:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55433:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18731,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"55417:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55417:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18741,"nodeType":"ExpressionStatement","src":"55417:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55341:3:14","parameters":{"id":18729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18722,"mutability":"mutable","name":"p0","nameLocation":"55353:2:14","nodeType":"VariableDeclaration","scope":18743,"src":"55345:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18721,"name":"address","nodeType":"ElementaryTypeName","src":"55345:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18724,"mutability":"mutable","name":"p1","nameLocation":"55362:2:14","nodeType":"VariableDeclaration","scope":18743,"src":"55357:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18723,"name":"uint","nodeType":"ElementaryTypeName","src":"55357:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18726,"mutability":"mutable","name":"p2","nameLocation":"55380:2:14","nodeType":"VariableDeclaration","scope":18743,"src":"55366:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18725,"name":"string","nodeType":"ElementaryTypeName","src":"55366:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18728,"mutability":"mutable","name":"p3","nameLocation":"55389:2:14","nodeType":"VariableDeclaration","scope":18743,"src":"55384:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18727,"name":"uint","nodeType":"ElementaryTypeName","src":"55384:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55344:48:14"},"returnParameters":{"id":18730,"nodeType":"ParameterList","parameters":[],"src":"55407:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18766,"nodeType":"FunctionDefinition","src":"55519:192:14","nodes":[],"body":{"id":18765,"nodeType":"Block","src":"55603:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c737472696e672c737472696e6729","id":18757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55653:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7e56c693294848e354fd0e0f30db9c459984681d518306ec606cfd6f328a5ba0","typeString":"literal_string \"log(address,uint,string,string)\""},"value":"log(address,uint,string,string)"},{"id":18758,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18745,"src":"55688:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18759,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18747,"src":"55692:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18760,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18749,"src":"55696:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18761,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18751,"src":"55700:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7e56c693294848e354fd0e0f30db9c459984681d518306ec606cfd6f328a5ba0","typeString":"literal_string \"log(address,uint,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18755,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55629:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55629:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55629:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18754,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"55613:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55613:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18764,"nodeType":"ExpressionStatement","src":"55613:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55528:3:14","parameters":{"id":18752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18745,"mutability":"mutable","name":"p0","nameLocation":"55540:2:14","nodeType":"VariableDeclaration","scope":18766,"src":"55532:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18744,"name":"address","nodeType":"ElementaryTypeName","src":"55532:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18747,"mutability":"mutable","name":"p1","nameLocation":"55549:2:14","nodeType":"VariableDeclaration","scope":18766,"src":"55544:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18746,"name":"uint","nodeType":"ElementaryTypeName","src":"55544:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18749,"mutability":"mutable","name":"p2","nameLocation":"55567:2:14","nodeType":"VariableDeclaration","scope":18766,"src":"55553:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18748,"name":"string","nodeType":"ElementaryTypeName","src":"55553:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18751,"mutability":"mutable","name":"p3","nameLocation":"55585:2:14","nodeType":"VariableDeclaration","scope":18766,"src":"55571:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18750,"name":"string","nodeType":"ElementaryTypeName","src":"55571:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55531:57:14"},"returnParameters":{"id":18753,"nodeType":"ParameterList","parameters":[],"src":"55603:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18789,"nodeType":"FunctionDefinition","src":"55717:181:14","nodes":[],"body":{"id":18788,"nodeType":"Block","src":"55792:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c737472696e672c626f6f6c29","id":18780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55842:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a4024f1195637e9b9bd0fa746905cf1693b1e0cd3e1c717a1cbc5279763b256a","typeString":"literal_string \"log(address,uint,string,bool)\""},"value":"log(address,uint,string,bool)"},{"id":18781,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18768,"src":"55875:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18782,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18770,"src":"55879:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18783,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18772,"src":"55883:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18784,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18774,"src":"55887:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a4024f1195637e9b9bd0fa746905cf1693b1e0cd3e1c717a1cbc5279763b256a","typeString":"literal_string \"log(address,uint,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18778,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55818:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55818:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55818:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18777,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"55802:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55802:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18787,"nodeType":"ExpressionStatement","src":"55802:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55726:3:14","parameters":{"id":18775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18768,"mutability":"mutable","name":"p0","nameLocation":"55738:2:14","nodeType":"VariableDeclaration","scope":18789,"src":"55730:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18767,"name":"address","nodeType":"ElementaryTypeName","src":"55730:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18770,"mutability":"mutable","name":"p1","nameLocation":"55747:2:14","nodeType":"VariableDeclaration","scope":18789,"src":"55742:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18769,"name":"uint","nodeType":"ElementaryTypeName","src":"55742:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18772,"mutability":"mutable","name":"p2","nameLocation":"55765:2:14","nodeType":"VariableDeclaration","scope":18789,"src":"55751:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18771,"name":"string","nodeType":"ElementaryTypeName","src":"55751:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18774,"mutability":"mutable","name":"p3","nameLocation":"55774:2:14","nodeType":"VariableDeclaration","scope":18789,"src":"55769:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18773,"name":"bool","nodeType":"ElementaryTypeName","src":"55769:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"55729:48:14"},"returnParameters":{"id":18776,"nodeType":"ParameterList","parameters":[],"src":"55792:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18812,"nodeType":"FunctionDefinition","src":"55904:187:14","nodes":[],"body":{"id":18811,"nodeType":"Block","src":"55982:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c737472696e672c6164647265737329","id":18803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56032:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc792604099307de53721f0c554f3059214ac3d8d1f6cd01cd16cf188835e809","typeString":"literal_string \"log(address,uint,string,address)\""},"value":"log(address,uint,string,address)"},{"id":18804,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18791,"src":"56068:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18805,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18793,"src":"56072:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18806,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18795,"src":"56076:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":18807,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18797,"src":"56080:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc792604099307de53721f0c554f3059214ac3d8d1f6cd01cd16cf188835e809","typeString":"literal_string \"log(address,uint,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18801,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56008:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18802,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56008:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56008:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18800,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"55992:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55992:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18810,"nodeType":"ExpressionStatement","src":"55992:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55913:3:14","parameters":{"id":18798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18791,"mutability":"mutable","name":"p0","nameLocation":"55925:2:14","nodeType":"VariableDeclaration","scope":18812,"src":"55917:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18790,"name":"address","nodeType":"ElementaryTypeName","src":"55917:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18793,"mutability":"mutable","name":"p1","nameLocation":"55934:2:14","nodeType":"VariableDeclaration","scope":18812,"src":"55929:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18792,"name":"uint","nodeType":"ElementaryTypeName","src":"55929:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18795,"mutability":"mutable","name":"p2","nameLocation":"55952:2:14","nodeType":"VariableDeclaration","scope":18812,"src":"55938:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18794,"name":"string","nodeType":"ElementaryTypeName","src":"55938:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":18797,"mutability":"mutable","name":"p3","nameLocation":"55964:2:14","nodeType":"VariableDeclaration","scope":18812,"src":"55956:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18796,"name":"address","nodeType":"ElementaryTypeName","src":"55956:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55916:51:14"},"returnParameters":{"id":18799,"nodeType":"ParameterList","parameters":[],"src":"55982:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18835,"nodeType":"FunctionDefinition","src":"56097:170:14","nodes":[],"body":{"id":18834,"nodeType":"Block","src":"56163:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c626f6f6c2c75696e7429","id":18826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56213:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_698f43923a9354f67c861ae1c111970990b11c7f948743e5f44d6ea901e7f1a2","typeString":"literal_string \"log(address,uint,bool,uint)\""},"value":"log(address,uint,bool,uint)"},{"id":18827,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18814,"src":"56244:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18828,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18816,"src":"56248:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18829,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18818,"src":"56252:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18830,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18820,"src":"56256:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_698f43923a9354f67c861ae1c111970990b11c7f948743e5f44d6ea901e7f1a2","typeString":"literal_string \"log(address,uint,bool,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18824,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56189:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56189:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56189:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18823,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"56173:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56173:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18833,"nodeType":"ExpressionStatement","src":"56173:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56106:3:14","parameters":{"id":18821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18814,"mutability":"mutable","name":"p0","nameLocation":"56118:2:14","nodeType":"VariableDeclaration","scope":18835,"src":"56110:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18813,"name":"address","nodeType":"ElementaryTypeName","src":"56110:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18816,"mutability":"mutable","name":"p1","nameLocation":"56127:2:14","nodeType":"VariableDeclaration","scope":18835,"src":"56122:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18815,"name":"uint","nodeType":"ElementaryTypeName","src":"56122:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18818,"mutability":"mutable","name":"p2","nameLocation":"56136:2:14","nodeType":"VariableDeclaration","scope":18835,"src":"56131:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18817,"name":"bool","nodeType":"ElementaryTypeName","src":"56131:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18820,"mutability":"mutable","name":"p3","nameLocation":"56145:2:14","nodeType":"VariableDeclaration","scope":18835,"src":"56140:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18819,"name":"uint","nodeType":"ElementaryTypeName","src":"56140:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56109:39:14"},"returnParameters":{"id":18822,"nodeType":"ParameterList","parameters":[],"src":"56163:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18858,"nodeType":"FunctionDefinition","src":"56273:181:14","nodes":[],"body":{"id":18857,"nodeType":"Block","src":"56348:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c626f6f6c2c737472696e6729","id":18849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56398:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e8e4e75a8ccb3f0e11ad74335eebf7a17a78463e99c3b077ff34193a8918f3f","typeString":"literal_string \"log(address,uint,bool,string)\""},"value":"log(address,uint,bool,string)"},{"id":18850,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18837,"src":"56431:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18851,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18839,"src":"56435:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18852,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18841,"src":"56439:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18853,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18843,"src":"56443:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e8e4e75a8ccb3f0e11ad74335eebf7a17a78463e99c3b077ff34193a8918f3f","typeString":"literal_string \"log(address,uint,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18847,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56374:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18848,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56374:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56374:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18846,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"56358:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56358:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18856,"nodeType":"ExpressionStatement","src":"56358:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56282:3:14","parameters":{"id":18844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18837,"mutability":"mutable","name":"p0","nameLocation":"56294:2:14","nodeType":"VariableDeclaration","scope":18858,"src":"56286:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18836,"name":"address","nodeType":"ElementaryTypeName","src":"56286:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18839,"mutability":"mutable","name":"p1","nameLocation":"56303:2:14","nodeType":"VariableDeclaration","scope":18858,"src":"56298:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18838,"name":"uint","nodeType":"ElementaryTypeName","src":"56298:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18841,"mutability":"mutable","name":"p2","nameLocation":"56312:2:14","nodeType":"VariableDeclaration","scope":18858,"src":"56307:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18840,"name":"bool","nodeType":"ElementaryTypeName","src":"56307:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18843,"mutability":"mutable","name":"p3","nameLocation":"56330:2:14","nodeType":"VariableDeclaration","scope":18858,"src":"56316:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18842,"name":"string","nodeType":"ElementaryTypeName","src":"56316:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56285:48:14"},"returnParameters":{"id":18845,"nodeType":"ParameterList","parameters":[],"src":"56348:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18881,"nodeType":"FunctionDefinition","src":"56460:170:14","nodes":[],"body":{"id":18880,"nodeType":"Block","src":"56526:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c626f6f6c2c626f6f6c29","id":18872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56576:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_fea1d55aec42c422504acea77de45574d2fa3abd9dc9c6288741e19c3bd9849b","typeString":"literal_string \"log(address,uint,bool,bool)\""},"value":"log(address,uint,bool,bool)"},{"id":18873,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18860,"src":"56607:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18874,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18862,"src":"56611:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18875,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18864,"src":"56615:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18876,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18866,"src":"56619:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fea1d55aec42c422504acea77de45574d2fa3abd9dc9c6288741e19c3bd9849b","typeString":"literal_string \"log(address,uint,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18870,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56552:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18871,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56552:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56552:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18869,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"56536:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56536:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18879,"nodeType":"ExpressionStatement","src":"56536:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56469:3:14","parameters":{"id":18867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18860,"mutability":"mutable","name":"p0","nameLocation":"56481:2:14","nodeType":"VariableDeclaration","scope":18881,"src":"56473:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18859,"name":"address","nodeType":"ElementaryTypeName","src":"56473:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18862,"mutability":"mutable","name":"p1","nameLocation":"56490:2:14","nodeType":"VariableDeclaration","scope":18881,"src":"56485:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18861,"name":"uint","nodeType":"ElementaryTypeName","src":"56485:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18864,"mutability":"mutable","name":"p2","nameLocation":"56499:2:14","nodeType":"VariableDeclaration","scope":18881,"src":"56494:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18863,"name":"bool","nodeType":"ElementaryTypeName","src":"56494:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18866,"mutability":"mutable","name":"p3","nameLocation":"56508:2:14","nodeType":"VariableDeclaration","scope":18881,"src":"56503:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18865,"name":"bool","nodeType":"ElementaryTypeName","src":"56503:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"56472:39:14"},"returnParameters":{"id":18868,"nodeType":"ParameterList","parameters":[],"src":"56526:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18904,"nodeType":"FunctionDefinition","src":"56636:176:14","nodes":[],"body":{"id":18903,"nodeType":"Block","src":"56705:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c626f6f6c2c6164647265737329","id":18895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56755:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_23e5497254e625e6c33a3fa3eb47ff18f6bac3345da52f847bd5571820febf2d","typeString":"literal_string \"log(address,uint,bool,address)\""},"value":"log(address,uint,bool,address)"},{"id":18896,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18883,"src":"56789:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18897,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18885,"src":"56793:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18898,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18887,"src":"56797:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":18899,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18889,"src":"56801:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23e5497254e625e6c33a3fa3eb47ff18f6bac3345da52f847bd5571820febf2d","typeString":"literal_string \"log(address,uint,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18893,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56731:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18894,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56731:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56731:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18892,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"56715:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56715:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18902,"nodeType":"ExpressionStatement","src":"56715:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56645:3:14","parameters":{"id":18890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18883,"mutability":"mutable","name":"p0","nameLocation":"56657:2:14","nodeType":"VariableDeclaration","scope":18904,"src":"56649:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18882,"name":"address","nodeType":"ElementaryTypeName","src":"56649:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18885,"mutability":"mutable","name":"p1","nameLocation":"56666:2:14","nodeType":"VariableDeclaration","scope":18904,"src":"56661:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18884,"name":"uint","nodeType":"ElementaryTypeName","src":"56661:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18887,"mutability":"mutable","name":"p2","nameLocation":"56675:2:14","nodeType":"VariableDeclaration","scope":18904,"src":"56670:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18886,"name":"bool","nodeType":"ElementaryTypeName","src":"56670:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":18889,"mutability":"mutable","name":"p3","nameLocation":"56687:2:14","nodeType":"VariableDeclaration","scope":18904,"src":"56679:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18888,"name":"address","nodeType":"ElementaryTypeName","src":"56679:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"56648:42:14"},"returnParameters":{"id":18891,"nodeType":"ParameterList","parameters":[],"src":"56705:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18927,"nodeType":"FunctionDefinition","src":"56818:176:14","nodes":[],"body":{"id":18926,"nodeType":"Block","src":"56887:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c616464726573732c75696e7429","id":18918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56937:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5d98768f8145ad77f2cf1b1f44790c3edb28c68feadee43b01883b75311ac0e","typeString":"literal_string \"log(address,uint,address,uint)\""},"value":"log(address,uint,address,uint)"},{"id":18919,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18906,"src":"56971:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18920,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18908,"src":"56975:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18921,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18910,"src":"56979:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18922,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18912,"src":"56983:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5d98768f8145ad77f2cf1b1f44790c3edb28c68feadee43b01883b75311ac0e","typeString":"literal_string \"log(address,uint,address,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":18916,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56913:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18917,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56913:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56913:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18915,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"56897:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56897:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18925,"nodeType":"ExpressionStatement","src":"56897:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56827:3:14","parameters":{"id":18913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18906,"mutability":"mutable","name":"p0","nameLocation":"56839:2:14","nodeType":"VariableDeclaration","scope":18927,"src":"56831:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18905,"name":"address","nodeType":"ElementaryTypeName","src":"56831:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18908,"mutability":"mutable","name":"p1","nameLocation":"56848:2:14","nodeType":"VariableDeclaration","scope":18927,"src":"56843:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18907,"name":"uint","nodeType":"ElementaryTypeName","src":"56843:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18910,"mutability":"mutable","name":"p2","nameLocation":"56860:2:14","nodeType":"VariableDeclaration","scope":18927,"src":"56852:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18909,"name":"address","nodeType":"ElementaryTypeName","src":"56852:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18912,"mutability":"mutable","name":"p3","nameLocation":"56869:2:14","nodeType":"VariableDeclaration","scope":18927,"src":"56864:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18911,"name":"uint","nodeType":"ElementaryTypeName","src":"56864:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56830:42:14"},"returnParameters":{"id":18914,"nodeType":"ParameterList","parameters":[],"src":"56887:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18950,"nodeType":"FunctionDefinition","src":"57000:187:14","nodes":[],"body":{"id":18949,"nodeType":"Block","src":"57078:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c616464726573732c737472696e6729","id":18941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57128:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d71f39ef468709ab1c82c125aa1311ff96f65f56794c27c7babe5651379e4b4","typeString":"literal_string \"log(address,uint,address,string)\""},"value":"log(address,uint,address,string)"},{"id":18942,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18929,"src":"57164:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18943,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18931,"src":"57168:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18944,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18933,"src":"57172:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18945,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18935,"src":"57176:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d71f39ef468709ab1c82c125aa1311ff96f65f56794c27c7babe5651379e4b4","typeString":"literal_string \"log(address,uint,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":18939,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57104:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18940,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57104:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57104:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18938,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"57088:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57088:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18948,"nodeType":"ExpressionStatement","src":"57088:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57009:3:14","parameters":{"id":18936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18929,"mutability":"mutable","name":"p0","nameLocation":"57021:2:14","nodeType":"VariableDeclaration","scope":18950,"src":"57013:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18928,"name":"address","nodeType":"ElementaryTypeName","src":"57013:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18931,"mutability":"mutable","name":"p1","nameLocation":"57030:2:14","nodeType":"VariableDeclaration","scope":18950,"src":"57025:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18930,"name":"uint","nodeType":"ElementaryTypeName","src":"57025:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18933,"mutability":"mutable","name":"p2","nameLocation":"57042:2:14","nodeType":"VariableDeclaration","scope":18950,"src":"57034:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18932,"name":"address","nodeType":"ElementaryTypeName","src":"57034:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18935,"mutability":"mutable","name":"p3","nameLocation":"57060:2:14","nodeType":"VariableDeclaration","scope":18950,"src":"57046:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18934,"name":"string","nodeType":"ElementaryTypeName","src":"57046:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57012:51:14"},"returnParameters":{"id":18937,"nodeType":"ParameterList","parameters":[],"src":"57078:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18973,"nodeType":"FunctionDefinition","src":"57193:176:14","nodes":[],"body":{"id":18972,"nodeType":"Block","src":"57262:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c616464726573732c626f6f6c29","id":18964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57312:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f181a1e98aefbb6e5d63ca72f24da9aa3686f47d72314c12e70fa7843b309ee6","typeString":"literal_string \"log(address,uint,address,bool)\""},"value":"log(address,uint,address,bool)"},{"id":18965,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18952,"src":"57346:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18966,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18954,"src":"57350:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18967,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18956,"src":"57354:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18968,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18958,"src":"57358:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f181a1e98aefbb6e5d63ca72f24da9aa3686f47d72314c12e70fa7843b309ee6","typeString":"literal_string \"log(address,uint,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":18962,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57288:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57288:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57288:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18961,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"57272:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57272:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18971,"nodeType":"ExpressionStatement","src":"57272:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57202:3:14","parameters":{"id":18959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18952,"mutability":"mutable","name":"p0","nameLocation":"57214:2:14","nodeType":"VariableDeclaration","scope":18973,"src":"57206:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18951,"name":"address","nodeType":"ElementaryTypeName","src":"57206:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18954,"mutability":"mutable","name":"p1","nameLocation":"57223:2:14","nodeType":"VariableDeclaration","scope":18973,"src":"57218:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18953,"name":"uint","nodeType":"ElementaryTypeName","src":"57218:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18956,"mutability":"mutable","name":"p2","nameLocation":"57235:2:14","nodeType":"VariableDeclaration","scope":18973,"src":"57227:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18955,"name":"address","nodeType":"ElementaryTypeName","src":"57227:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18958,"mutability":"mutable","name":"p3","nameLocation":"57244:2:14","nodeType":"VariableDeclaration","scope":18973,"src":"57239:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":18957,"name":"bool","nodeType":"ElementaryTypeName","src":"57239:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"57205:42:14"},"returnParameters":{"id":18960,"nodeType":"ParameterList","parameters":[],"src":"57262:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":18996,"nodeType":"FunctionDefinition","src":"57375:182:14","nodes":[],"body":{"id":18995,"nodeType":"Block","src":"57447:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c616464726573732c6164647265737329","id":18987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57497:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ec24846f1ed52bfa5dc64139c1bf8b03f991fdd5156eccb50dfe44ca5a2ca40e","typeString":"literal_string \"log(address,uint,address,address)\""},"value":"log(address,uint,address,address)"},{"id":18988,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18975,"src":"57534:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18989,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18977,"src":"57538:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":18990,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18979,"src":"57542:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":18991,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18981,"src":"57546:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ec24846f1ed52bfa5dc64139c1bf8b03f991fdd5156eccb50dfe44ca5a2ca40e","typeString":"literal_string \"log(address,uint,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":18985,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57473:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":18986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57473:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":18992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57473:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":18984,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"57457:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":18993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57457:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":18994,"nodeType":"ExpressionStatement","src":"57457:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57384:3:14","parameters":{"id":18982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18975,"mutability":"mutable","name":"p0","nameLocation":"57396:2:14","nodeType":"VariableDeclaration","scope":18996,"src":"57388:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18974,"name":"address","nodeType":"ElementaryTypeName","src":"57388:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18977,"mutability":"mutable","name":"p1","nameLocation":"57405:2:14","nodeType":"VariableDeclaration","scope":18996,"src":"57400:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":18976,"name":"uint","nodeType":"ElementaryTypeName","src":"57400:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":18979,"mutability":"mutable","name":"p2","nameLocation":"57417:2:14","nodeType":"VariableDeclaration","scope":18996,"src":"57409:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18978,"name":"address","nodeType":"ElementaryTypeName","src":"57409:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":18981,"mutability":"mutable","name":"p3","nameLocation":"57429:2:14","nodeType":"VariableDeclaration","scope":18996,"src":"57421:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18980,"name":"address","nodeType":"ElementaryTypeName","src":"57421:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"57387:45:14"},"returnParameters":{"id":18983,"nodeType":"ParameterList","parameters":[],"src":"57447:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19019,"nodeType":"FunctionDefinition","src":"57563:181:14","nodes":[],"body":{"id":19018,"nodeType":"Block","src":"57638:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e742c75696e7429","id":19010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57688:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a4c92a60ad8c7136a44d442238a838fba251b421248205a77f1a522d55c988af","typeString":"literal_string \"log(address,string,uint,uint)\""},"value":"log(address,string,uint,uint)"},{"id":19011,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18998,"src":"57721:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19012,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19000,"src":"57725:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19013,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19002,"src":"57729:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19014,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19004,"src":"57733:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a4c92a60ad8c7136a44d442238a838fba251b421248205a77f1a522d55c988af","typeString":"literal_string \"log(address,string,uint,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19008,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57664:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19009,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57664:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57664:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19007,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"57648:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57648:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19017,"nodeType":"ExpressionStatement","src":"57648:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57572:3:14","parameters":{"id":19005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":18998,"mutability":"mutable","name":"p0","nameLocation":"57584:2:14","nodeType":"VariableDeclaration","scope":19019,"src":"57576:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18997,"name":"address","nodeType":"ElementaryTypeName","src":"57576:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19000,"mutability":"mutable","name":"p1","nameLocation":"57602:2:14","nodeType":"VariableDeclaration","scope":19019,"src":"57588:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":18999,"name":"string","nodeType":"ElementaryTypeName","src":"57588:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19002,"mutability":"mutable","name":"p2","nameLocation":"57611:2:14","nodeType":"VariableDeclaration","scope":19019,"src":"57606:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19001,"name":"uint","nodeType":"ElementaryTypeName","src":"57606:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19004,"mutability":"mutable","name":"p3","nameLocation":"57620:2:14","nodeType":"VariableDeclaration","scope":19019,"src":"57615:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19003,"name":"uint","nodeType":"ElementaryTypeName","src":"57615:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57575:48:14"},"returnParameters":{"id":19006,"nodeType":"ParameterList","parameters":[],"src":"57638:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19042,"nodeType":"FunctionDefinition","src":"57750:192:14","nodes":[],"body":{"id":19041,"nodeType":"Block","src":"57834:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e742c737472696e6729","id":19033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57884:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d1365c94e45374e792b786edc547d0277c401db24a4303b5dd1e8a93df0829e","typeString":"literal_string \"log(address,string,uint,string)\""},"value":"log(address,string,uint,string)"},{"id":19034,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19021,"src":"57919:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19035,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19023,"src":"57923:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19036,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19025,"src":"57927:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19037,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19027,"src":"57931:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d1365c94e45374e792b786edc547d0277c401db24a4303b5dd1e8a93df0829e","typeString":"literal_string \"log(address,string,uint,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19031,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57860:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57860:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57860:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19030,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"57844:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57844:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19040,"nodeType":"ExpressionStatement","src":"57844:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57759:3:14","parameters":{"id":19028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19021,"mutability":"mutable","name":"p0","nameLocation":"57771:2:14","nodeType":"VariableDeclaration","scope":19042,"src":"57763:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19020,"name":"address","nodeType":"ElementaryTypeName","src":"57763:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19023,"mutability":"mutable","name":"p1","nameLocation":"57789:2:14","nodeType":"VariableDeclaration","scope":19042,"src":"57775:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19022,"name":"string","nodeType":"ElementaryTypeName","src":"57775:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19025,"mutability":"mutable","name":"p2","nameLocation":"57798:2:14","nodeType":"VariableDeclaration","scope":19042,"src":"57793:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19024,"name":"uint","nodeType":"ElementaryTypeName","src":"57793:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19027,"mutability":"mutable","name":"p3","nameLocation":"57816:2:14","nodeType":"VariableDeclaration","scope":19042,"src":"57802:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19026,"name":"string","nodeType":"ElementaryTypeName","src":"57802:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57762:57:14"},"returnParameters":{"id":19029,"nodeType":"ParameterList","parameters":[],"src":"57834:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19065,"nodeType":"FunctionDefinition","src":"57948:181:14","nodes":[],"body":{"id":19064,"nodeType":"Block","src":"58023:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e742c626f6f6c29","id":19056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58073:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_7e250d5bf3975165268961c2b6dbe143f053bed03d903630f547f1fbab28b895","typeString":"literal_string \"log(address,string,uint,bool)\""},"value":"log(address,string,uint,bool)"},{"id":19057,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19044,"src":"58106:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19058,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19046,"src":"58110:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19059,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19048,"src":"58114:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19060,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19050,"src":"58118:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7e250d5bf3975165268961c2b6dbe143f053bed03d903630f547f1fbab28b895","typeString":"literal_string \"log(address,string,uint,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19054,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58049:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19055,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58049:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58049:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19053,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"58033:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58033:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19063,"nodeType":"ExpressionStatement","src":"58033:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57957:3:14","parameters":{"id":19051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19044,"mutability":"mutable","name":"p0","nameLocation":"57969:2:14","nodeType":"VariableDeclaration","scope":19065,"src":"57961:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19043,"name":"address","nodeType":"ElementaryTypeName","src":"57961:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19046,"mutability":"mutable","name":"p1","nameLocation":"57987:2:14","nodeType":"VariableDeclaration","scope":19065,"src":"57973:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19045,"name":"string","nodeType":"ElementaryTypeName","src":"57973:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19048,"mutability":"mutable","name":"p2","nameLocation":"57996:2:14","nodeType":"VariableDeclaration","scope":19065,"src":"57991:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19047,"name":"uint","nodeType":"ElementaryTypeName","src":"57991:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19050,"mutability":"mutable","name":"p3","nameLocation":"58005:2:14","nodeType":"VariableDeclaration","scope":19065,"src":"58000:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19049,"name":"bool","nodeType":"ElementaryTypeName","src":"58000:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"57960:48:14"},"returnParameters":{"id":19052,"nodeType":"ParameterList","parameters":[],"src":"58023:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19088,"nodeType":"FunctionDefinition","src":"58135:187:14","nodes":[],"body":{"id":19087,"nodeType":"Block","src":"58213:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e742c6164647265737329","id":19079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58263:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_dfd7d80b4150ea6b0b2772758d6e66d8c7f141bfd7de11119a8fee2a703664e4","typeString":"literal_string \"log(address,string,uint,address)\""},"value":"log(address,string,uint,address)"},{"id":19080,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19067,"src":"58299:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19081,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19069,"src":"58303:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19082,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19071,"src":"58307:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19083,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19073,"src":"58311:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dfd7d80b4150ea6b0b2772758d6e66d8c7f141bfd7de11119a8fee2a703664e4","typeString":"literal_string \"log(address,string,uint,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19077,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58239:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19078,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58239:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58239:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19076,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"58223:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58223:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19086,"nodeType":"ExpressionStatement","src":"58223:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58144:3:14","parameters":{"id":19074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19067,"mutability":"mutable","name":"p0","nameLocation":"58156:2:14","nodeType":"VariableDeclaration","scope":19088,"src":"58148:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19066,"name":"address","nodeType":"ElementaryTypeName","src":"58148:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19069,"mutability":"mutable","name":"p1","nameLocation":"58174:2:14","nodeType":"VariableDeclaration","scope":19088,"src":"58160:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19068,"name":"string","nodeType":"ElementaryTypeName","src":"58160:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19071,"mutability":"mutable","name":"p2","nameLocation":"58183:2:14","nodeType":"VariableDeclaration","scope":19088,"src":"58178:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19070,"name":"uint","nodeType":"ElementaryTypeName","src":"58178:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19073,"mutability":"mutable","name":"p3","nameLocation":"58195:2:14","nodeType":"VariableDeclaration","scope":19088,"src":"58187:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19072,"name":"address","nodeType":"ElementaryTypeName","src":"58187:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"58147:51:14"},"returnParameters":{"id":19075,"nodeType":"ParameterList","parameters":[],"src":"58213:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19111,"nodeType":"FunctionDefinition","src":"58328:192:14","nodes":[],"body":{"id":19110,"nodeType":"Block","src":"58412:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c75696e7429","id":19102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58462:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a14fd039ae37435afa9d1674d6d48b37ffbd5da4cd9166a3f673f5f0db01a4c5","typeString":"literal_string \"log(address,string,string,uint)\""},"value":"log(address,string,string,uint)"},{"id":19103,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19090,"src":"58497:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19104,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19092,"src":"58501:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19105,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19094,"src":"58505:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19106,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19096,"src":"58509:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a14fd039ae37435afa9d1674d6d48b37ffbd5da4cd9166a3f673f5f0db01a4c5","typeString":"literal_string \"log(address,string,string,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19100,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58438:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19101,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58438:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58438:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19099,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"58422:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58422:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19109,"nodeType":"ExpressionStatement","src":"58422:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58337:3:14","parameters":{"id":19097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19090,"mutability":"mutable","name":"p0","nameLocation":"58349:2:14","nodeType":"VariableDeclaration","scope":19111,"src":"58341:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19089,"name":"address","nodeType":"ElementaryTypeName","src":"58341:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19092,"mutability":"mutable","name":"p1","nameLocation":"58367:2:14","nodeType":"VariableDeclaration","scope":19111,"src":"58353:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19091,"name":"string","nodeType":"ElementaryTypeName","src":"58353:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19094,"mutability":"mutable","name":"p2","nameLocation":"58385:2:14","nodeType":"VariableDeclaration","scope":19111,"src":"58371:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19093,"name":"string","nodeType":"ElementaryTypeName","src":"58371:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19096,"mutability":"mutable","name":"p3","nameLocation":"58394:2:14","nodeType":"VariableDeclaration","scope":19111,"src":"58389:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19095,"name":"uint","nodeType":"ElementaryTypeName","src":"58389:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58340:57:14"},"returnParameters":{"id":19098,"nodeType":"ParameterList","parameters":[],"src":"58412:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19134,"nodeType":"FunctionDefinition","src":"58526:203:14","nodes":[],"body":{"id":19133,"nodeType":"Block","src":"58619:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c737472696e6729","id":19125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58669:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},"value":"log(address,string,string,string)"},{"id":19126,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19113,"src":"58706:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19127,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19115,"src":"58710:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19128,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19117,"src":"58714:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19129,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19119,"src":"58718:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"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":19123,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58645:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58645:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58645:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19122,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"58629:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58629:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19132,"nodeType":"ExpressionStatement","src":"58629:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58535:3:14","parameters":{"id":19120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19113,"mutability":"mutable","name":"p0","nameLocation":"58547:2:14","nodeType":"VariableDeclaration","scope":19134,"src":"58539:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19112,"name":"address","nodeType":"ElementaryTypeName","src":"58539:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19115,"mutability":"mutable","name":"p1","nameLocation":"58565:2:14","nodeType":"VariableDeclaration","scope":19134,"src":"58551:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19114,"name":"string","nodeType":"ElementaryTypeName","src":"58551:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19117,"mutability":"mutable","name":"p2","nameLocation":"58583:2:14","nodeType":"VariableDeclaration","scope":19134,"src":"58569:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19116,"name":"string","nodeType":"ElementaryTypeName","src":"58569:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19119,"mutability":"mutable","name":"p3","nameLocation":"58601:2:14","nodeType":"VariableDeclaration","scope":19134,"src":"58587:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19118,"name":"string","nodeType":"ElementaryTypeName","src":"58587:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58538:66:14"},"returnParameters":{"id":19121,"nodeType":"ParameterList","parameters":[],"src":"58619:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19157,"nodeType":"FunctionDefinition","src":"58735:192:14","nodes":[],"body":{"id":19156,"nodeType":"Block","src":"58819:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c626f6f6c29","id":19148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58869:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},"value":"log(address,string,string,bool)"},{"id":19149,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19136,"src":"58904:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19150,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19138,"src":"58908:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19151,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19140,"src":"58912:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19152,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19142,"src":"58916:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19146,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58845:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58845:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58845:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19145,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"58829:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58829:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19155,"nodeType":"ExpressionStatement","src":"58829:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58744:3:14","parameters":{"id":19143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19136,"mutability":"mutable","name":"p0","nameLocation":"58756:2:14","nodeType":"VariableDeclaration","scope":19157,"src":"58748:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19135,"name":"address","nodeType":"ElementaryTypeName","src":"58748:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19138,"mutability":"mutable","name":"p1","nameLocation":"58774:2:14","nodeType":"VariableDeclaration","scope":19157,"src":"58760:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19137,"name":"string","nodeType":"ElementaryTypeName","src":"58760:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19140,"mutability":"mutable","name":"p2","nameLocation":"58792:2:14","nodeType":"VariableDeclaration","scope":19157,"src":"58778:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19139,"name":"string","nodeType":"ElementaryTypeName","src":"58778:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19142,"mutability":"mutable","name":"p3","nameLocation":"58801:2:14","nodeType":"VariableDeclaration","scope":19157,"src":"58796:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19141,"name":"bool","nodeType":"ElementaryTypeName","src":"58796:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"58747:57:14"},"returnParameters":{"id":19144,"nodeType":"ParameterList","parameters":[],"src":"58819:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19180,"nodeType":"FunctionDefinition","src":"58933:198:14","nodes":[],"body":{"id":19179,"nodeType":"Block","src":"59020:111:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c6164647265737329","id":19171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59070:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},"value":"log(address,string,string,address)"},{"id":19172,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19159,"src":"59108:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19173,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19161,"src":"59112:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19174,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19163,"src":"59116:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19175,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19165,"src":"59120:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19169,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59046:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59046:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59046:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19168,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"59030:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59030:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19178,"nodeType":"ExpressionStatement","src":"59030:94:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58942:3:14","parameters":{"id":19166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19159,"mutability":"mutable","name":"p0","nameLocation":"58954:2:14","nodeType":"VariableDeclaration","scope":19180,"src":"58946:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19158,"name":"address","nodeType":"ElementaryTypeName","src":"58946:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19161,"mutability":"mutable","name":"p1","nameLocation":"58972:2:14","nodeType":"VariableDeclaration","scope":19180,"src":"58958:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19160,"name":"string","nodeType":"ElementaryTypeName","src":"58958:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19163,"mutability":"mutable","name":"p2","nameLocation":"58990:2:14","nodeType":"VariableDeclaration","scope":19180,"src":"58976:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19162,"name":"string","nodeType":"ElementaryTypeName","src":"58976:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19165,"mutability":"mutable","name":"p3","nameLocation":"59002:2:14","nodeType":"VariableDeclaration","scope":19180,"src":"58994:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19164,"name":"address","nodeType":"ElementaryTypeName","src":"58994:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"58945:60:14"},"returnParameters":{"id":19167,"nodeType":"ParameterList","parameters":[],"src":"59020:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19203,"nodeType":"FunctionDefinition","src":"59137:181:14","nodes":[],"body":{"id":19202,"nodeType":"Block","src":"59212:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c75696e7429","id":19194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59262:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_e720521cc58e36659b0c45689a38054bd7300ff30d5ec0cfec7bae3dc2e9689a","typeString":"literal_string \"log(address,string,bool,uint)\""},"value":"log(address,string,bool,uint)"},{"id":19195,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19182,"src":"59295:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19196,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19184,"src":"59299:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19197,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19186,"src":"59303:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19198,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19188,"src":"59307:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e720521cc58e36659b0c45689a38054bd7300ff30d5ec0cfec7bae3dc2e9689a","typeString":"literal_string \"log(address,string,bool,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19192,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59238:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59238:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59238:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19191,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"59222:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59222:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19201,"nodeType":"ExpressionStatement","src":"59222:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59146:3:14","parameters":{"id":19189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19182,"mutability":"mutable","name":"p0","nameLocation":"59158:2:14","nodeType":"VariableDeclaration","scope":19203,"src":"59150:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19181,"name":"address","nodeType":"ElementaryTypeName","src":"59150:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19184,"mutability":"mutable","name":"p1","nameLocation":"59176:2:14","nodeType":"VariableDeclaration","scope":19203,"src":"59162:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19183,"name":"string","nodeType":"ElementaryTypeName","src":"59162:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19186,"mutability":"mutable","name":"p2","nameLocation":"59185:2:14","nodeType":"VariableDeclaration","scope":19203,"src":"59180:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19185,"name":"bool","nodeType":"ElementaryTypeName","src":"59180:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19188,"mutability":"mutable","name":"p3","nameLocation":"59194:2:14","nodeType":"VariableDeclaration","scope":19203,"src":"59189:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19187,"name":"uint","nodeType":"ElementaryTypeName","src":"59189:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59149:48:14"},"returnParameters":{"id":19190,"nodeType":"ParameterList","parameters":[],"src":"59212:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19226,"nodeType":"FunctionDefinition","src":"59324:192:14","nodes":[],"body":{"id":19225,"nodeType":"Block","src":"59408:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c737472696e6729","id":19217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59458:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},"value":"log(address,string,bool,string)"},{"id":19218,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19205,"src":"59493:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19219,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19207,"src":"59497:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19220,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19209,"src":"59501:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19221,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19211,"src":"59505:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19215,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59434:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59434:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59434:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19214,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"59418:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59418:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19224,"nodeType":"ExpressionStatement","src":"59418:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59333:3:14","parameters":{"id":19212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19205,"mutability":"mutable","name":"p0","nameLocation":"59345:2:14","nodeType":"VariableDeclaration","scope":19226,"src":"59337:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19204,"name":"address","nodeType":"ElementaryTypeName","src":"59337:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19207,"mutability":"mutable","name":"p1","nameLocation":"59363:2:14","nodeType":"VariableDeclaration","scope":19226,"src":"59349:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19206,"name":"string","nodeType":"ElementaryTypeName","src":"59349:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19209,"mutability":"mutable","name":"p2","nameLocation":"59372:2:14","nodeType":"VariableDeclaration","scope":19226,"src":"59367:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19208,"name":"bool","nodeType":"ElementaryTypeName","src":"59367:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19211,"mutability":"mutable","name":"p3","nameLocation":"59390:2:14","nodeType":"VariableDeclaration","scope":19226,"src":"59376:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19210,"name":"string","nodeType":"ElementaryTypeName","src":"59376:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59336:57:14"},"returnParameters":{"id":19213,"nodeType":"ParameterList","parameters":[],"src":"59408:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19249,"nodeType":"FunctionDefinition","src":"59522:181:14","nodes":[],"body":{"id":19248,"nodeType":"Block","src":"59597:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c626f6f6c29","id":19240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59647:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},"value":"log(address,string,bool,bool)"},{"id":19241,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19228,"src":"59680:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19242,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19230,"src":"59684:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19243,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19232,"src":"59688:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19244,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19234,"src":"59692:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19238,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59623:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59623:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59623:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19237,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"59607:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59607:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19247,"nodeType":"ExpressionStatement","src":"59607:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59531:3:14","parameters":{"id":19235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19228,"mutability":"mutable","name":"p0","nameLocation":"59543:2:14","nodeType":"VariableDeclaration","scope":19249,"src":"59535:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19227,"name":"address","nodeType":"ElementaryTypeName","src":"59535:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19230,"mutability":"mutable","name":"p1","nameLocation":"59561:2:14","nodeType":"VariableDeclaration","scope":19249,"src":"59547:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19229,"name":"string","nodeType":"ElementaryTypeName","src":"59547:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19232,"mutability":"mutable","name":"p2","nameLocation":"59570:2:14","nodeType":"VariableDeclaration","scope":19249,"src":"59565:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19231,"name":"bool","nodeType":"ElementaryTypeName","src":"59565:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19234,"mutability":"mutable","name":"p3","nameLocation":"59579:2:14","nodeType":"VariableDeclaration","scope":19249,"src":"59574:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19233,"name":"bool","nodeType":"ElementaryTypeName","src":"59574:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"59534:48:14"},"returnParameters":{"id":19236,"nodeType":"ParameterList","parameters":[],"src":"59597:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19272,"nodeType":"FunctionDefinition","src":"59709:187:14","nodes":[],"body":{"id":19271,"nodeType":"Block","src":"59787:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c6164647265737329","id":19263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59837:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},"value":"log(address,string,bool,address)"},{"id":19264,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19251,"src":"59873:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19265,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19253,"src":"59877:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19266,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19255,"src":"59881:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19267,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19257,"src":"59885:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19261,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59813:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19262,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59813:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59813:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19260,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"59797:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59797:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19270,"nodeType":"ExpressionStatement","src":"59797:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59718:3:14","parameters":{"id":19258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19251,"mutability":"mutable","name":"p0","nameLocation":"59730:2:14","nodeType":"VariableDeclaration","scope":19272,"src":"59722:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19250,"name":"address","nodeType":"ElementaryTypeName","src":"59722:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19253,"mutability":"mutable","name":"p1","nameLocation":"59748:2:14","nodeType":"VariableDeclaration","scope":19272,"src":"59734:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19252,"name":"string","nodeType":"ElementaryTypeName","src":"59734:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19255,"mutability":"mutable","name":"p2","nameLocation":"59757:2:14","nodeType":"VariableDeclaration","scope":19272,"src":"59752:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19254,"name":"bool","nodeType":"ElementaryTypeName","src":"59752:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19257,"mutability":"mutable","name":"p3","nameLocation":"59769:2:14","nodeType":"VariableDeclaration","scope":19272,"src":"59761:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19256,"name":"address","nodeType":"ElementaryTypeName","src":"59761:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59721:51:14"},"returnParameters":{"id":19259,"nodeType":"ParameterList","parameters":[],"src":"59787:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19295,"nodeType":"FunctionDefinition","src":"59902:187:14","nodes":[],"body":{"id":19294,"nodeType":"Block","src":"59980:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c75696e7429","id":19286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60030:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c1933a9a9c61e3dc8d3ebdfa929712b21dab3dcf7188e7d35cbf8aaaf476582","typeString":"literal_string \"log(address,string,address,uint)\""},"value":"log(address,string,address,uint)"},{"id":19287,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19274,"src":"60066:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19288,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19276,"src":"60070:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19289,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19278,"src":"60074:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19290,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19280,"src":"60078:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c1933a9a9c61e3dc8d3ebdfa929712b21dab3dcf7188e7d35cbf8aaaf476582","typeString":"literal_string \"log(address,string,address,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19284,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60006:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19285,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60006:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60006:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19283,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"59990:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59990:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19293,"nodeType":"ExpressionStatement","src":"59990:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59911:3:14","parameters":{"id":19281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19274,"mutability":"mutable","name":"p0","nameLocation":"59923:2:14","nodeType":"VariableDeclaration","scope":19295,"src":"59915:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19273,"name":"address","nodeType":"ElementaryTypeName","src":"59915:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19276,"mutability":"mutable","name":"p1","nameLocation":"59941:2:14","nodeType":"VariableDeclaration","scope":19295,"src":"59927:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19275,"name":"string","nodeType":"ElementaryTypeName","src":"59927:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19278,"mutability":"mutable","name":"p2","nameLocation":"59953:2:14","nodeType":"VariableDeclaration","scope":19295,"src":"59945:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19277,"name":"address","nodeType":"ElementaryTypeName","src":"59945:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19280,"mutability":"mutable","name":"p3","nameLocation":"59962:2:14","nodeType":"VariableDeclaration","scope":19295,"src":"59957:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19279,"name":"uint","nodeType":"ElementaryTypeName","src":"59957:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59914:51:14"},"returnParameters":{"id":19282,"nodeType":"ParameterList","parameters":[],"src":"59980:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19318,"nodeType":"FunctionDefinition","src":"60095:198:14","nodes":[],"body":{"id":19317,"nodeType":"Block","src":"60182:111:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c737472696e6729","id":19309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60232:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},"value":"log(address,string,address,string)"},{"id":19310,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19297,"src":"60270:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19311,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19299,"src":"60274:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19312,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19301,"src":"60278:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19313,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19303,"src":"60282:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19307,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60208:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19308,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60208:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60208:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19306,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"60192:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60192:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19316,"nodeType":"ExpressionStatement","src":"60192:94:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60104:3:14","parameters":{"id":19304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19297,"mutability":"mutable","name":"p0","nameLocation":"60116:2:14","nodeType":"VariableDeclaration","scope":19318,"src":"60108:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19296,"name":"address","nodeType":"ElementaryTypeName","src":"60108:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19299,"mutability":"mutable","name":"p1","nameLocation":"60134:2:14","nodeType":"VariableDeclaration","scope":19318,"src":"60120:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19298,"name":"string","nodeType":"ElementaryTypeName","src":"60120:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19301,"mutability":"mutable","name":"p2","nameLocation":"60146:2:14","nodeType":"VariableDeclaration","scope":19318,"src":"60138:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19300,"name":"address","nodeType":"ElementaryTypeName","src":"60138:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19303,"mutability":"mutable","name":"p3","nameLocation":"60164:2:14","nodeType":"VariableDeclaration","scope":19318,"src":"60150:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19302,"name":"string","nodeType":"ElementaryTypeName","src":"60150:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60107:60:14"},"returnParameters":{"id":19305,"nodeType":"ParameterList","parameters":[],"src":"60182:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19341,"nodeType":"FunctionDefinition","src":"60299:187:14","nodes":[],"body":{"id":19340,"nodeType":"Block","src":"60377:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c626f6f6c29","id":19332,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60427:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},"value":"log(address,string,address,bool)"},{"id":19333,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19320,"src":"60463:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19334,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19322,"src":"60467:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19335,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19324,"src":"60471:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19336,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19326,"src":"60475:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19330,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60403:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19331,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60403:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60403:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19329,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"60387:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60387:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19339,"nodeType":"ExpressionStatement","src":"60387:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60308:3:14","parameters":{"id":19327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19320,"mutability":"mutable","name":"p0","nameLocation":"60320:2:14","nodeType":"VariableDeclaration","scope":19341,"src":"60312:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19319,"name":"address","nodeType":"ElementaryTypeName","src":"60312:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19322,"mutability":"mutable","name":"p1","nameLocation":"60338:2:14","nodeType":"VariableDeclaration","scope":19341,"src":"60324:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19321,"name":"string","nodeType":"ElementaryTypeName","src":"60324:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19324,"mutability":"mutable","name":"p2","nameLocation":"60350:2:14","nodeType":"VariableDeclaration","scope":19341,"src":"60342:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19323,"name":"address","nodeType":"ElementaryTypeName","src":"60342:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19326,"mutability":"mutable","name":"p3","nameLocation":"60359:2:14","nodeType":"VariableDeclaration","scope":19341,"src":"60354:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19325,"name":"bool","nodeType":"ElementaryTypeName","src":"60354:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"60311:51:14"},"returnParameters":{"id":19328,"nodeType":"ParameterList","parameters":[],"src":"60377:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19364,"nodeType":"FunctionDefinition","src":"60492:193:14","nodes":[],"body":{"id":19363,"nodeType":"Block","src":"60573:112:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c6164647265737329","id":19355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60623:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},"value":"log(address,string,address,address)"},{"id":19356,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19343,"src":"60662:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19357,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19345,"src":"60666:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19358,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19347,"src":"60670:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19359,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19349,"src":"60674:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19353,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60599:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60599:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60599:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19352,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"60583:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60583:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19362,"nodeType":"ExpressionStatement","src":"60583:95:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60501:3:14","parameters":{"id":19350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19343,"mutability":"mutable","name":"p0","nameLocation":"60513:2:14","nodeType":"VariableDeclaration","scope":19364,"src":"60505:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19342,"name":"address","nodeType":"ElementaryTypeName","src":"60505:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19345,"mutability":"mutable","name":"p1","nameLocation":"60531:2:14","nodeType":"VariableDeclaration","scope":19364,"src":"60517:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19344,"name":"string","nodeType":"ElementaryTypeName","src":"60517:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19347,"mutability":"mutable","name":"p2","nameLocation":"60543:2:14","nodeType":"VariableDeclaration","scope":19364,"src":"60535:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19346,"name":"address","nodeType":"ElementaryTypeName","src":"60535:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19349,"mutability":"mutable","name":"p3","nameLocation":"60555:2:14","nodeType":"VariableDeclaration","scope":19364,"src":"60547:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19348,"name":"address","nodeType":"ElementaryTypeName","src":"60547:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"60504:54:14"},"returnParameters":{"id":19351,"nodeType":"ParameterList","parameters":[],"src":"60573:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19387,"nodeType":"FunctionDefinition","src":"60691:170:14","nodes":[],"body":{"id":19386,"nodeType":"Block","src":"60757:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e742c75696e7429","id":19378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60807:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c210a01e60a7d88137859e75abc2d14430087408747ac6787f0acb2f0f8bfd59","typeString":"literal_string \"log(address,bool,uint,uint)\""},"value":"log(address,bool,uint,uint)"},{"id":19379,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19366,"src":"60838:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19380,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19368,"src":"60842:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19381,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19370,"src":"60846:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19382,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19372,"src":"60850:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c210a01e60a7d88137859e75abc2d14430087408747ac6787f0acb2f0f8bfd59","typeString":"literal_string \"log(address,bool,uint,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19376,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60783:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60783:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60783:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19375,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"60767:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60767:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19385,"nodeType":"ExpressionStatement","src":"60767:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60700:3:14","parameters":{"id":19373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19366,"mutability":"mutable","name":"p0","nameLocation":"60712:2:14","nodeType":"VariableDeclaration","scope":19387,"src":"60704:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19365,"name":"address","nodeType":"ElementaryTypeName","src":"60704:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19368,"mutability":"mutable","name":"p1","nameLocation":"60721:2:14","nodeType":"VariableDeclaration","scope":19387,"src":"60716:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19367,"name":"bool","nodeType":"ElementaryTypeName","src":"60716:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19370,"mutability":"mutable","name":"p2","nameLocation":"60730:2:14","nodeType":"VariableDeclaration","scope":19387,"src":"60725:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19369,"name":"uint","nodeType":"ElementaryTypeName","src":"60725:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19372,"mutability":"mutable","name":"p3","nameLocation":"60739:2:14","nodeType":"VariableDeclaration","scope":19387,"src":"60734:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19371,"name":"uint","nodeType":"ElementaryTypeName","src":"60734:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60703:39:14"},"returnParameters":{"id":19374,"nodeType":"ParameterList","parameters":[],"src":"60757:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19410,"nodeType":"FunctionDefinition","src":"60867:181:14","nodes":[],"body":{"id":19409,"nodeType":"Block","src":"60942:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e742c737472696e6729","id":19401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60992:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b588eccef132ec49572951d33e9b0d1b814d54c82133831f78cdc5d923bc6e6","typeString":"literal_string \"log(address,bool,uint,string)\""},"value":"log(address,bool,uint,string)"},{"id":19402,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19389,"src":"61025:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19403,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19391,"src":"61029:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19404,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19393,"src":"61033:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19405,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19395,"src":"61037:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b588eccef132ec49572951d33e9b0d1b814d54c82133831f78cdc5d923bc6e6","typeString":"literal_string \"log(address,bool,uint,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19399,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60968:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60968:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60968:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19398,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"60952:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60952:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19408,"nodeType":"ExpressionStatement","src":"60952:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60876:3:14","parameters":{"id":19396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19389,"mutability":"mutable","name":"p0","nameLocation":"60888:2:14","nodeType":"VariableDeclaration","scope":19410,"src":"60880:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19388,"name":"address","nodeType":"ElementaryTypeName","src":"60880:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19391,"mutability":"mutable","name":"p1","nameLocation":"60897:2:14","nodeType":"VariableDeclaration","scope":19410,"src":"60892:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19390,"name":"bool","nodeType":"ElementaryTypeName","src":"60892:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19393,"mutability":"mutable","name":"p2","nameLocation":"60906:2:14","nodeType":"VariableDeclaration","scope":19410,"src":"60901:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19392,"name":"uint","nodeType":"ElementaryTypeName","src":"60901:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19395,"mutability":"mutable","name":"p3","nameLocation":"60924:2:14","nodeType":"VariableDeclaration","scope":19410,"src":"60910:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19394,"name":"string","nodeType":"ElementaryTypeName","src":"60910:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60879:48:14"},"returnParameters":{"id":19397,"nodeType":"ParameterList","parameters":[],"src":"60942:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19433,"nodeType":"FunctionDefinition","src":"61054:170:14","nodes":[],"body":{"id":19432,"nodeType":"Block","src":"61120:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e742c626f6f6c29","id":19424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61170:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_85cdc5af22f2a2b52749c228b5bc379bac815d0d3575c2899b6657bce00fab33","typeString":"literal_string \"log(address,bool,uint,bool)\""},"value":"log(address,bool,uint,bool)"},{"id":19425,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19412,"src":"61201:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19426,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19414,"src":"61205:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19427,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19416,"src":"61209:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19428,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19418,"src":"61213:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85cdc5af22f2a2b52749c228b5bc379bac815d0d3575c2899b6657bce00fab33","typeString":"literal_string \"log(address,bool,uint,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19422,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61146:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61146:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61146:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19421,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"61130:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61130:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19431,"nodeType":"ExpressionStatement","src":"61130:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61063:3:14","parameters":{"id":19419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19412,"mutability":"mutable","name":"p0","nameLocation":"61075:2:14","nodeType":"VariableDeclaration","scope":19433,"src":"61067:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19411,"name":"address","nodeType":"ElementaryTypeName","src":"61067:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19414,"mutability":"mutable","name":"p1","nameLocation":"61084:2:14","nodeType":"VariableDeclaration","scope":19433,"src":"61079:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19413,"name":"bool","nodeType":"ElementaryTypeName","src":"61079:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19416,"mutability":"mutable","name":"p2","nameLocation":"61093:2:14","nodeType":"VariableDeclaration","scope":19433,"src":"61088:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19415,"name":"uint","nodeType":"ElementaryTypeName","src":"61088:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19418,"mutability":"mutable","name":"p3","nameLocation":"61102:2:14","nodeType":"VariableDeclaration","scope":19433,"src":"61097:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19417,"name":"bool","nodeType":"ElementaryTypeName","src":"61097:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"61066:39:14"},"returnParameters":{"id":19420,"nodeType":"ParameterList","parameters":[],"src":"61120:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19456,"nodeType":"FunctionDefinition","src":"61230:176:14","nodes":[],"body":{"id":19455,"nodeType":"Block","src":"61299:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e742c6164647265737329","id":19447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61349:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d8ce61ee7d058fd1e588343a35fb1aff71b8e7f74d553220d0e20088cb908bf","typeString":"literal_string \"log(address,bool,uint,address)\""},"value":"log(address,bool,uint,address)"},{"id":19448,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19435,"src":"61383:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19449,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19437,"src":"61387:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19450,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19439,"src":"61391:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19451,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19441,"src":"61395:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d8ce61ee7d058fd1e588343a35fb1aff71b8e7f74d553220d0e20088cb908bf","typeString":"literal_string \"log(address,bool,uint,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19445,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61325:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61325:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61325:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19444,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"61309:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61309:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19454,"nodeType":"ExpressionStatement","src":"61309:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61239:3:14","parameters":{"id":19442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19435,"mutability":"mutable","name":"p0","nameLocation":"61251:2:14","nodeType":"VariableDeclaration","scope":19456,"src":"61243:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19434,"name":"address","nodeType":"ElementaryTypeName","src":"61243:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19437,"mutability":"mutable","name":"p1","nameLocation":"61260:2:14","nodeType":"VariableDeclaration","scope":19456,"src":"61255:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19436,"name":"bool","nodeType":"ElementaryTypeName","src":"61255:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19439,"mutability":"mutable","name":"p2","nameLocation":"61269:2:14","nodeType":"VariableDeclaration","scope":19456,"src":"61264:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19438,"name":"uint","nodeType":"ElementaryTypeName","src":"61264:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19441,"mutability":"mutable","name":"p3","nameLocation":"61281:2:14","nodeType":"VariableDeclaration","scope":19456,"src":"61273:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19440,"name":"address","nodeType":"ElementaryTypeName","src":"61273:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"61242:42:14"},"returnParameters":{"id":19443,"nodeType":"ParameterList","parameters":[],"src":"61299:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19479,"nodeType":"FunctionDefinition","src":"61412:181:14","nodes":[],"body":{"id":19478,"nodeType":"Block","src":"61487:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c75696e7429","id":19470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61537:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e127b6e4348bc33b3ea7f05f6479d3e1b1fe2b3727e1f4ba94b6a36e7abac9b","typeString":"literal_string \"log(address,bool,string,uint)\""},"value":"log(address,bool,string,uint)"},{"id":19471,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19458,"src":"61570:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19472,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19460,"src":"61574:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19473,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19462,"src":"61578:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19474,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19464,"src":"61582:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9e127b6e4348bc33b3ea7f05f6479d3e1b1fe2b3727e1f4ba94b6a36e7abac9b","typeString":"literal_string \"log(address,bool,string,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19468,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61513:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19469,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61513:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61513:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19467,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"61497:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61497:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19477,"nodeType":"ExpressionStatement","src":"61497:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61421:3:14","parameters":{"id":19465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19458,"mutability":"mutable","name":"p0","nameLocation":"61433:2:14","nodeType":"VariableDeclaration","scope":19479,"src":"61425:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19457,"name":"address","nodeType":"ElementaryTypeName","src":"61425:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19460,"mutability":"mutable","name":"p1","nameLocation":"61442:2:14","nodeType":"VariableDeclaration","scope":19479,"src":"61437:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19459,"name":"bool","nodeType":"ElementaryTypeName","src":"61437:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19462,"mutability":"mutable","name":"p2","nameLocation":"61460:2:14","nodeType":"VariableDeclaration","scope":19479,"src":"61446:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19461,"name":"string","nodeType":"ElementaryTypeName","src":"61446:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19464,"mutability":"mutable","name":"p3","nameLocation":"61469:2:14","nodeType":"VariableDeclaration","scope":19479,"src":"61464:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19463,"name":"uint","nodeType":"ElementaryTypeName","src":"61464:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61424:48:14"},"returnParameters":{"id":19466,"nodeType":"ParameterList","parameters":[],"src":"61487:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19502,"nodeType":"FunctionDefinition","src":"61599:192:14","nodes":[],"body":{"id":19501,"nodeType":"Block","src":"61683:108:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c737472696e6729","id":19493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61733:33:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},"value":"log(address,bool,string,string)"},{"id":19494,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19481,"src":"61768:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19495,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19483,"src":"61772:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19496,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19485,"src":"61776:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19497,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19487,"src":"61780:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19491,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61709:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19492,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61709:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61709:74:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19490,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"61693:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61693:91:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19500,"nodeType":"ExpressionStatement","src":"61693:91:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61608:3:14","parameters":{"id":19488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19481,"mutability":"mutable","name":"p0","nameLocation":"61620:2:14","nodeType":"VariableDeclaration","scope":19502,"src":"61612:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19480,"name":"address","nodeType":"ElementaryTypeName","src":"61612:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19483,"mutability":"mutable","name":"p1","nameLocation":"61629:2:14","nodeType":"VariableDeclaration","scope":19502,"src":"61624:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19482,"name":"bool","nodeType":"ElementaryTypeName","src":"61624:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19485,"mutability":"mutable","name":"p2","nameLocation":"61647:2:14","nodeType":"VariableDeclaration","scope":19502,"src":"61633:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19484,"name":"string","nodeType":"ElementaryTypeName","src":"61633:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19487,"mutability":"mutable","name":"p3","nameLocation":"61665:2:14","nodeType":"VariableDeclaration","scope":19502,"src":"61651:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19486,"name":"string","nodeType":"ElementaryTypeName","src":"61651:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61611:57:14"},"returnParameters":{"id":19489,"nodeType":"ParameterList","parameters":[],"src":"61683:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19525,"nodeType":"FunctionDefinition","src":"61797:181:14","nodes":[],"body":{"id":19524,"nodeType":"Block","src":"61872:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c626f6f6c29","id":19516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61922:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},"value":"log(address,bool,string,bool)"},{"id":19517,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19504,"src":"61955:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19518,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19506,"src":"61959:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19519,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19508,"src":"61963:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19520,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19510,"src":"61967:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19514,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61898:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19515,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61898:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61898:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19513,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"61882:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61882:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19523,"nodeType":"ExpressionStatement","src":"61882:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61806:3:14","parameters":{"id":19511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19504,"mutability":"mutable","name":"p0","nameLocation":"61818:2:14","nodeType":"VariableDeclaration","scope":19525,"src":"61810:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19503,"name":"address","nodeType":"ElementaryTypeName","src":"61810:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19506,"mutability":"mutable","name":"p1","nameLocation":"61827:2:14","nodeType":"VariableDeclaration","scope":19525,"src":"61822:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19505,"name":"bool","nodeType":"ElementaryTypeName","src":"61822:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19508,"mutability":"mutable","name":"p2","nameLocation":"61845:2:14","nodeType":"VariableDeclaration","scope":19525,"src":"61831:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19507,"name":"string","nodeType":"ElementaryTypeName","src":"61831:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19510,"mutability":"mutable","name":"p3","nameLocation":"61854:2:14","nodeType":"VariableDeclaration","scope":19525,"src":"61849:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19509,"name":"bool","nodeType":"ElementaryTypeName","src":"61849:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"61809:48:14"},"returnParameters":{"id":19512,"nodeType":"ParameterList","parameters":[],"src":"61872:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19548,"nodeType":"FunctionDefinition","src":"61984:187:14","nodes":[],"body":{"id":19547,"nodeType":"Block","src":"62062:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c6164647265737329","id":19539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62112:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},"value":"log(address,bool,string,address)"},{"id":19540,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19527,"src":"62148:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19541,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19529,"src":"62152:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19542,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19531,"src":"62156:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19543,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19533,"src":"62160:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19537,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62088:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19538,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62088:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62088:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19536,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"62072:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62072:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19546,"nodeType":"ExpressionStatement","src":"62072:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61993:3:14","parameters":{"id":19534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19527,"mutability":"mutable","name":"p0","nameLocation":"62005:2:14","nodeType":"VariableDeclaration","scope":19548,"src":"61997:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19526,"name":"address","nodeType":"ElementaryTypeName","src":"61997:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19529,"mutability":"mutable","name":"p1","nameLocation":"62014:2:14","nodeType":"VariableDeclaration","scope":19548,"src":"62009:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19528,"name":"bool","nodeType":"ElementaryTypeName","src":"62009:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19531,"mutability":"mutable","name":"p2","nameLocation":"62032:2:14","nodeType":"VariableDeclaration","scope":19548,"src":"62018:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19530,"name":"string","nodeType":"ElementaryTypeName","src":"62018:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19533,"mutability":"mutable","name":"p3","nameLocation":"62044:2:14","nodeType":"VariableDeclaration","scope":19548,"src":"62036:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19532,"name":"address","nodeType":"ElementaryTypeName","src":"62036:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"61996:51:14"},"returnParameters":{"id":19535,"nodeType":"ParameterList","parameters":[],"src":"62062:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19571,"nodeType":"FunctionDefinition","src":"62177:170:14","nodes":[],"body":{"id":19570,"nodeType":"Block","src":"62243:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c75696e7429","id":19562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62293:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfb587569c9e063cd7daed07e27d9193980aad24c48787cb6531c47fa694e463","typeString":"literal_string \"log(address,bool,bool,uint)\""},"value":"log(address,bool,bool,uint)"},{"id":19563,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19550,"src":"62324:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19564,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19552,"src":"62328:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19565,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19554,"src":"62332:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19566,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19556,"src":"62336:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cfb587569c9e063cd7daed07e27d9193980aad24c48787cb6531c47fa694e463","typeString":"literal_string \"log(address,bool,bool,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19560,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62269:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19561,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62269:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62269:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19559,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"62253:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62253:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19569,"nodeType":"ExpressionStatement","src":"62253:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62186:3:14","parameters":{"id":19557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19550,"mutability":"mutable","name":"p0","nameLocation":"62198:2:14","nodeType":"VariableDeclaration","scope":19571,"src":"62190:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19549,"name":"address","nodeType":"ElementaryTypeName","src":"62190:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19552,"mutability":"mutable","name":"p1","nameLocation":"62207:2:14","nodeType":"VariableDeclaration","scope":19571,"src":"62202:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19551,"name":"bool","nodeType":"ElementaryTypeName","src":"62202:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19554,"mutability":"mutable","name":"p2","nameLocation":"62216:2:14","nodeType":"VariableDeclaration","scope":19571,"src":"62211:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19553,"name":"bool","nodeType":"ElementaryTypeName","src":"62211:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19556,"mutability":"mutable","name":"p3","nameLocation":"62225:2:14","nodeType":"VariableDeclaration","scope":19571,"src":"62220:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19555,"name":"uint","nodeType":"ElementaryTypeName","src":"62220:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62189:39:14"},"returnParameters":{"id":19558,"nodeType":"ParameterList","parameters":[],"src":"62243:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19594,"nodeType":"FunctionDefinition","src":"62353:181:14","nodes":[],"body":{"id":19593,"nodeType":"Block","src":"62428:106:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c737472696e6729","id":19585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62478:31:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},"value":"log(address,bool,bool,string)"},{"id":19586,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19573,"src":"62511:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19587,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19575,"src":"62515:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19588,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19577,"src":"62519:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19589,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19579,"src":"62523:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19583,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62454:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19584,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62454:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62454:72:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19582,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"62438:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62438:89:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19592,"nodeType":"ExpressionStatement","src":"62438:89:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62362:3:14","parameters":{"id":19580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19573,"mutability":"mutable","name":"p0","nameLocation":"62374:2:14","nodeType":"VariableDeclaration","scope":19594,"src":"62366:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19572,"name":"address","nodeType":"ElementaryTypeName","src":"62366:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19575,"mutability":"mutable","name":"p1","nameLocation":"62383:2:14","nodeType":"VariableDeclaration","scope":19594,"src":"62378:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19574,"name":"bool","nodeType":"ElementaryTypeName","src":"62378:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19577,"mutability":"mutable","name":"p2","nameLocation":"62392:2:14","nodeType":"VariableDeclaration","scope":19594,"src":"62387:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19576,"name":"bool","nodeType":"ElementaryTypeName","src":"62387:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19579,"mutability":"mutable","name":"p3","nameLocation":"62410:2:14","nodeType":"VariableDeclaration","scope":19594,"src":"62396:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19578,"name":"string","nodeType":"ElementaryTypeName","src":"62396:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62365:48:14"},"returnParameters":{"id":19581,"nodeType":"ParameterList","parameters":[],"src":"62428:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19617,"nodeType":"FunctionDefinition","src":"62540:170:14","nodes":[],"body":{"id":19616,"nodeType":"Block","src":"62606:104:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c626f6f6c29","id":19608,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62656:29:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},"value":"log(address,bool,bool,bool)"},{"id":19609,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19596,"src":"62687:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19610,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19598,"src":"62691:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19611,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19600,"src":"62695:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19612,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19602,"src":"62699:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19606,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62632:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62632:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62632:70:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19605,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"62616:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62616:87:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19615,"nodeType":"ExpressionStatement","src":"62616:87:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62549:3:14","parameters":{"id":19603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19596,"mutability":"mutable","name":"p0","nameLocation":"62561:2:14","nodeType":"VariableDeclaration","scope":19617,"src":"62553:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19595,"name":"address","nodeType":"ElementaryTypeName","src":"62553:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19598,"mutability":"mutable","name":"p1","nameLocation":"62570:2:14","nodeType":"VariableDeclaration","scope":19617,"src":"62565:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19597,"name":"bool","nodeType":"ElementaryTypeName","src":"62565:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19600,"mutability":"mutable","name":"p2","nameLocation":"62579:2:14","nodeType":"VariableDeclaration","scope":19617,"src":"62574:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19599,"name":"bool","nodeType":"ElementaryTypeName","src":"62574:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19602,"mutability":"mutable","name":"p3","nameLocation":"62588:2:14","nodeType":"VariableDeclaration","scope":19617,"src":"62583:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19601,"name":"bool","nodeType":"ElementaryTypeName","src":"62583:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62552:39:14"},"returnParameters":{"id":19604,"nodeType":"ParameterList","parameters":[],"src":"62606:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19640,"nodeType":"FunctionDefinition","src":"62716:176:14","nodes":[],"body":{"id":19639,"nodeType":"Block","src":"62785:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c6164647265737329","id":19631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62835:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},"value":"log(address,bool,bool,address)"},{"id":19632,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19619,"src":"62869:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19633,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19621,"src":"62873:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19634,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19623,"src":"62877:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19635,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19625,"src":"62881:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19629,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62811:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62811:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62811:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19628,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"62795:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62795:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19638,"nodeType":"ExpressionStatement","src":"62795:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62725:3:14","parameters":{"id":19626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19619,"mutability":"mutable","name":"p0","nameLocation":"62737:2:14","nodeType":"VariableDeclaration","scope":19640,"src":"62729:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19618,"name":"address","nodeType":"ElementaryTypeName","src":"62729:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19621,"mutability":"mutable","name":"p1","nameLocation":"62746:2:14","nodeType":"VariableDeclaration","scope":19640,"src":"62741:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19620,"name":"bool","nodeType":"ElementaryTypeName","src":"62741:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19623,"mutability":"mutable","name":"p2","nameLocation":"62755:2:14","nodeType":"VariableDeclaration","scope":19640,"src":"62750:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19622,"name":"bool","nodeType":"ElementaryTypeName","src":"62750:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19625,"mutability":"mutable","name":"p3","nameLocation":"62767:2:14","nodeType":"VariableDeclaration","scope":19640,"src":"62759:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19624,"name":"address","nodeType":"ElementaryTypeName","src":"62759:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"62728:42:14"},"returnParameters":{"id":19627,"nodeType":"ParameterList","parameters":[],"src":"62785:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19663,"nodeType":"FunctionDefinition","src":"62898:176:14","nodes":[],"body":{"id":19662,"nodeType":"Block","src":"62967:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c75696e7429","id":19654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63017:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc7116d2e67ccd625262e6814a6f82f2367beea9919409c81fcbb94bea1b6b84","typeString":"literal_string \"log(address,bool,address,uint)\""},"value":"log(address,bool,address,uint)"},{"id":19655,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19642,"src":"63051:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19656,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19644,"src":"63055:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19657,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19646,"src":"63059:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19658,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19648,"src":"63063:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc7116d2e67ccd625262e6814a6f82f2367beea9919409c81fcbb94bea1b6b84","typeString":"literal_string \"log(address,bool,address,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19652,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62993:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62993:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62993:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19651,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"62977:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62977:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19661,"nodeType":"ExpressionStatement","src":"62977:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62907:3:14","parameters":{"id":19649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19642,"mutability":"mutable","name":"p0","nameLocation":"62919:2:14","nodeType":"VariableDeclaration","scope":19663,"src":"62911:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19641,"name":"address","nodeType":"ElementaryTypeName","src":"62911:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19644,"mutability":"mutable","name":"p1","nameLocation":"62928:2:14","nodeType":"VariableDeclaration","scope":19663,"src":"62923:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19643,"name":"bool","nodeType":"ElementaryTypeName","src":"62923:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19646,"mutability":"mutable","name":"p2","nameLocation":"62940:2:14","nodeType":"VariableDeclaration","scope":19663,"src":"62932:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19645,"name":"address","nodeType":"ElementaryTypeName","src":"62932:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19648,"mutability":"mutable","name":"p3","nameLocation":"62949:2:14","nodeType":"VariableDeclaration","scope":19663,"src":"62944:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19647,"name":"uint","nodeType":"ElementaryTypeName","src":"62944:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62910:42:14"},"returnParameters":{"id":19650,"nodeType":"ParameterList","parameters":[],"src":"62967:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19686,"nodeType":"FunctionDefinition","src":"63080:187:14","nodes":[],"body":{"id":19685,"nodeType":"Block","src":"63158:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c737472696e6729","id":19677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63208:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},"value":"log(address,bool,address,string)"},{"id":19678,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19665,"src":"63244:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19679,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19667,"src":"63248:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19680,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19669,"src":"63252:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19681,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19671,"src":"63256:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19675,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63184:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63184:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63184:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19674,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"63168:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63168:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19684,"nodeType":"ExpressionStatement","src":"63168:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63089:3:14","parameters":{"id":19672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19665,"mutability":"mutable","name":"p0","nameLocation":"63101:2:14","nodeType":"VariableDeclaration","scope":19686,"src":"63093:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19664,"name":"address","nodeType":"ElementaryTypeName","src":"63093:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19667,"mutability":"mutable","name":"p1","nameLocation":"63110:2:14","nodeType":"VariableDeclaration","scope":19686,"src":"63105:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19666,"name":"bool","nodeType":"ElementaryTypeName","src":"63105:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19669,"mutability":"mutable","name":"p2","nameLocation":"63122:2:14","nodeType":"VariableDeclaration","scope":19686,"src":"63114:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19668,"name":"address","nodeType":"ElementaryTypeName","src":"63114:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19671,"mutability":"mutable","name":"p3","nameLocation":"63140:2:14","nodeType":"VariableDeclaration","scope":19686,"src":"63126:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19670,"name":"string","nodeType":"ElementaryTypeName","src":"63126:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63092:51:14"},"returnParameters":{"id":19673,"nodeType":"ParameterList","parameters":[],"src":"63158:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19709,"nodeType":"FunctionDefinition","src":"63273:176:14","nodes":[],"body":{"id":19708,"nodeType":"Block","src":"63342:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c626f6f6c29","id":19700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63392:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},"value":"log(address,bool,address,bool)"},{"id":19701,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19688,"src":"63426:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19702,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19690,"src":"63430:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19703,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19692,"src":"63434:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19704,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19694,"src":"63438:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19698,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63368:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19699,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63368:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63368:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19697,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"63352:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63352:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19707,"nodeType":"ExpressionStatement","src":"63352:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63282:3:14","parameters":{"id":19695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19688,"mutability":"mutable","name":"p0","nameLocation":"63294:2:14","nodeType":"VariableDeclaration","scope":19709,"src":"63286:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19687,"name":"address","nodeType":"ElementaryTypeName","src":"63286:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19690,"mutability":"mutable","name":"p1","nameLocation":"63303:2:14","nodeType":"VariableDeclaration","scope":19709,"src":"63298:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19689,"name":"bool","nodeType":"ElementaryTypeName","src":"63298:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19692,"mutability":"mutable","name":"p2","nameLocation":"63315:2:14","nodeType":"VariableDeclaration","scope":19709,"src":"63307:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19691,"name":"address","nodeType":"ElementaryTypeName","src":"63307:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19694,"mutability":"mutable","name":"p3","nameLocation":"63324:2:14","nodeType":"VariableDeclaration","scope":19709,"src":"63319:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19693,"name":"bool","nodeType":"ElementaryTypeName","src":"63319:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"63285:42:14"},"returnParameters":{"id":19696,"nodeType":"ParameterList","parameters":[],"src":"63342:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19732,"nodeType":"FunctionDefinition","src":"63455:182:14","nodes":[],"body":{"id":19731,"nodeType":"Block","src":"63527:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c6164647265737329","id":19723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63577:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},"value":"log(address,bool,address,address)"},{"id":19724,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19711,"src":"63614:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19725,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19713,"src":"63618:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19726,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19715,"src":"63622:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19727,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19717,"src":"63626:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19721,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63553:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63553:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63553:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19720,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"63537:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63537:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19730,"nodeType":"ExpressionStatement","src":"63537:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63464:3:14","parameters":{"id":19718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19711,"mutability":"mutable","name":"p0","nameLocation":"63476:2:14","nodeType":"VariableDeclaration","scope":19732,"src":"63468:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19710,"name":"address","nodeType":"ElementaryTypeName","src":"63468:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19713,"mutability":"mutable","name":"p1","nameLocation":"63485:2:14","nodeType":"VariableDeclaration","scope":19732,"src":"63480:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19712,"name":"bool","nodeType":"ElementaryTypeName","src":"63480:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19715,"mutability":"mutable","name":"p2","nameLocation":"63497:2:14","nodeType":"VariableDeclaration","scope":19732,"src":"63489:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19714,"name":"address","nodeType":"ElementaryTypeName","src":"63489:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19717,"mutability":"mutable","name":"p3","nameLocation":"63509:2:14","nodeType":"VariableDeclaration","scope":19732,"src":"63501:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19716,"name":"address","nodeType":"ElementaryTypeName","src":"63501:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"63467:45:14"},"returnParameters":{"id":19719,"nodeType":"ParameterList","parameters":[],"src":"63527:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19755,"nodeType":"FunctionDefinition","src":"63643:176:14","nodes":[],"body":{"id":19754,"nodeType":"Block","src":"63712:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e742c75696e7429","id":19746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63762:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_54fdf3e4fb94f9bebc9a1c60d5b71090f9817e68730b5af20b69dff283044ed6","typeString":"literal_string \"log(address,address,uint,uint)\""},"value":"log(address,address,uint,uint)"},{"id":19747,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19734,"src":"63796:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19748,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19736,"src":"63800:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19749,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19738,"src":"63804:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19750,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19740,"src":"63808:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_54fdf3e4fb94f9bebc9a1c60d5b71090f9817e68730b5af20b69dff283044ed6","typeString":"literal_string \"log(address,address,uint,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19744,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63738:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19745,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63738:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63738:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19743,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"63722:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63722:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19753,"nodeType":"ExpressionStatement","src":"63722:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63652:3:14","parameters":{"id":19741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19734,"mutability":"mutable","name":"p0","nameLocation":"63664:2:14","nodeType":"VariableDeclaration","scope":19755,"src":"63656:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19733,"name":"address","nodeType":"ElementaryTypeName","src":"63656:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19736,"mutability":"mutable","name":"p1","nameLocation":"63676:2:14","nodeType":"VariableDeclaration","scope":19755,"src":"63668:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19735,"name":"address","nodeType":"ElementaryTypeName","src":"63668:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19738,"mutability":"mutable","name":"p2","nameLocation":"63685:2:14","nodeType":"VariableDeclaration","scope":19755,"src":"63680:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19737,"name":"uint","nodeType":"ElementaryTypeName","src":"63680:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19740,"mutability":"mutable","name":"p3","nameLocation":"63694:2:14","nodeType":"VariableDeclaration","scope":19755,"src":"63689:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19739,"name":"uint","nodeType":"ElementaryTypeName","src":"63689:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63655:42:14"},"returnParameters":{"id":19742,"nodeType":"ParameterList","parameters":[],"src":"63712:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19778,"nodeType":"FunctionDefinition","src":"63825:187:14","nodes":[],"body":{"id":19777,"nodeType":"Block","src":"63903:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e742c737472696e6729","id":19769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63953:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9dd12eadc51edb79b050f95e9310706b305e500a52025b74b024df3cbcb53815","typeString":"literal_string \"log(address,address,uint,string)\""},"value":"log(address,address,uint,string)"},{"id":19770,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19757,"src":"63989:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19771,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19759,"src":"63993:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19772,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19761,"src":"63997:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19773,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19763,"src":"64001:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9dd12eadc51edb79b050f95e9310706b305e500a52025b74b024df3cbcb53815","typeString":"literal_string \"log(address,address,uint,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19767,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63929:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19768,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63929:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63929:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19766,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"63913:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63913:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19776,"nodeType":"ExpressionStatement","src":"63913:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63834:3:14","parameters":{"id":19764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19757,"mutability":"mutable","name":"p0","nameLocation":"63846:2:14","nodeType":"VariableDeclaration","scope":19778,"src":"63838:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19756,"name":"address","nodeType":"ElementaryTypeName","src":"63838:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19759,"mutability":"mutable","name":"p1","nameLocation":"63858:2:14","nodeType":"VariableDeclaration","scope":19778,"src":"63850:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19758,"name":"address","nodeType":"ElementaryTypeName","src":"63850:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19761,"mutability":"mutable","name":"p2","nameLocation":"63867:2:14","nodeType":"VariableDeclaration","scope":19778,"src":"63862:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19760,"name":"uint","nodeType":"ElementaryTypeName","src":"63862:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19763,"mutability":"mutable","name":"p3","nameLocation":"63885:2:14","nodeType":"VariableDeclaration","scope":19778,"src":"63871:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19762,"name":"string","nodeType":"ElementaryTypeName","src":"63871:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63837:51:14"},"returnParameters":{"id":19765,"nodeType":"ParameterList","parameters":[],"src":"63903:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19801,"nodeType":"FunctionDefinition","src":"64018:176:14","nodes":[],"body":{"id":19800,"nodeType":"Block","src":"64087:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e742c626f6f6c29","id":19792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64137:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_c2f688eccc5824e4375e54ae0df7ae9f757b0758319e26fa7dcc6a4450e1d411","typeString":"literal_string \"log(address,address,uint,bool)\""},"value":"log(address,address,uint,bool)"},{"id":19793,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19780,"src":"64171:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19794,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19782,"src":"64175:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19795,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19784,"src":"64179:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19796,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19786,"src":"64183:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c2f688eccc5824e4375e54ae0df7ae9f757b0758319e26fa7dcc6a4450e1d411","typeString":"literal_string \"log(address,address,uint,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19790,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64113:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19791,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64113:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64113:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19789,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"64097:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64097:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19799,"nodeType":"ExpressionStatement","src":"64097:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64027:3:14","parameters":{"id":19787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19780,"mutability":"mutable","name":"p0","nameLocation":"64039:2:14","nodeType":"VariableDeclaration","scope":19801,"src":"64031:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19779,"name":"address","nodeType":"ElementaryTypeName","src":"64031:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19782,"mutability":"mutable","name":"p1","nameLocation":"64051:2:14","nodeType":"VariableDeclaration","scope":19801,"src":"64043:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19781,"name":"address","nodeType":"ElementaryTypeName","src":"64043:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19784,"mutability":"mutable","name":"p2","nameLocation":"64060:2:14","nodeType":"VariableDeclaration","scope":19801,"src":"64055:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19783,"name":"uint","nodeType":"ElementaryTypeName","src":"64055:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19786,"mutability":"mutable","name":"p3","nameLocation":"64069:2:14","nodeType":"VariableDeclaration","scope":19801,"src":"64064:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19785,"name":"bool","nodeType":"ElementaryTypeName","src":"64064:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64030:42:14"},"returnParameters":{"id":19788,"nodeType":"ParameterList","parameters":[],"src":"64087:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19824,"nodeType":"FunctionDefinition","src":"64200:182:14","nodes":[],"body":{"id":19823,"nodeType":"Block","src":"64272:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e742c6164647265737329","id":19815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64322:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6c65276d9b81968c5dbc7d91412af8260979b88b9036d81153645629a214556","typeString":"literal_string \"log(address,address,uint,address)\""},"value":"log(address,address,uint,address)"},{"id":19816,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19803,"src":"64359:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19817,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19805,"src":"64363:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19818,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19807,"src":"64367:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":19819,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19809,"src":"64371:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6c65276d9b81968c5dbc7d91412af8260979b88b9036d81153645629a214556","typeString":"literal_string \"log(address,address,uint,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19813,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64298:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19814,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64298:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64298:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19812,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"64282:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64282:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19822,"nodeType":"ExpressionStatement","src":"64282:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64209:3:14","parameters":{"id":19810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19803,"mutability":"mutable","name":"p0","nameLocation":"64221:2:14","nodeType":"VariableDeclaration","scope":19824,"src":"64213:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19802,"name":"address","nodeType":"ElementaryTypeName","src":"64213:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19805,"mutability":"mutable","name":"p1","nameLocation":"64233:2:14","nodeType":"VariableDeclaration","scope":19824,"src":"64225:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19804,"name":"address","nodeType":"ElementaryTypeName","src":"64225:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19807,"mutability":"mutable","name":"p2","nameLocation":"64242:2:14","nodeType":"VariableDeclaration","scope":19824,"src":"64237:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19806,"name":"uint","nodeType":"ElementaryTypeName","src":"64237:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":19809,"mutability":"mutable","name":"p3","nameLocation":"64254:2:14","nodeType":"VariableDeclaration","scope":19824,"src":"64246:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19808,"name":"address","nodeType":"ElementaryTypeName","src":"64246:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"64212:45:14"},"returnParameters":{"id":19811,"nodeType":"ParameterList","parameters":[],"src":"64272:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19847,"nodeType":"FunctionDefinition","src":"64388:187:14","nodes":[],"body":{"id":19846,"nodeType":"Block","src":"64466:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c75696e7429","id":19838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64516:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_04289300eaed00bb9d0d7894f7439ff06a8c4040945c0625e94f6f0c87fb11ba","typeString":"literal_string \"log(address,address,string,uint)\""},"value":"log(address,address,string,uint)"},{"id":19839,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19826,"src":"64552:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19840,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19828,"src":"64556:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19841,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19830,"src":"64560:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19842,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19832,"src":"64564:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_04289300eaed00bb9d0d7894f7439ff06a8c4040945c0625e94f6f0c87fb11ba","typeString":"literal_string \"log(address,address,string,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19836,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64492:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64492:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64492:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19835,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"64476:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64476:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19845,"nodeType":"ExpressionStatement","src":"64476:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64397:3:14","parameters":{"id":19833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19826,"mutability":"mutable","name":"p0","nameLocation":"64409:2:14","nodeType":"VariableDeclaration","scope":19847,"src":"64401:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19825,"name":"address","nodeType":"ElementaryTypeName","src":"64401:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19828,"mutability":"mutable","name":"p1","nameLocation":"64421:2:14","nodeType":"VariableDeclaration","scope":19847,"src":"64413:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19827,"name":"address","nodeType":"ElementaryTypeName","src":"64413:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19830,"mutability":"mutable","name":"p2","nameLocation":"64439:2:14","nodeType":"VariableDeclaration","scope":19847,"src":"64425:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19829,"name":"string","nodeType":"ElementaryTypeName","src":"64425:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19832,"mutability":"mutable","name":"p3","nameLocation":"64448:2:14","nodeType":"VariableDeclaration","scope":19847,"src":"64443:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19831,"name":"uint","nodeType":"ElementaryTypeName","src":"64443:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"64400:51:14"},"returnParameters":{"id":19834,"nodeType":"ParameterList","parameters":[],"src":"64466:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19870,"nodeType":"FunctionDefinition","src":"64581:198:14","nodes":[],"body":{"id":19869,"nodeType":"Block","src":"64668:111:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c737472696e6729","id":19861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64718:36:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},"value":"log(address,address,string,string)"},{"id":19862,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19849,"src":"64756:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19863,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19851,"src":"64760:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19864,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19853,"src":"64764:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19865,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19855,"src":"64768:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19859,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64694:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19860,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64694:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64694:77:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19858,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"64678:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64678:94:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19868,"nodeType":"ExpressionStatement","src":"64678:94:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64590:3:14","parameters":{"id":19856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19849,"mutability":"mutable","name":"p0","nameLocation":"64602:2:14","nodeType":"VariableDeclaration","scope":19870,"src":"64594:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19848,"name":"address","nodeType":"ElementaryTypeName","src":"64594:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19851,"mutability":"mutable","name":"p1","nameLocation":"64614:2:14","nodeType":"VariableDeclaration","scope":19870,"src":"64606:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19850,"name":"address","nodeType":"ElementaryTypeName","src":"64606:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19853,"mutability":"mutable","name":"p2","nameLocation":"64632:2:14","nodeType":"VariableDeclaration","scope":19870,"src":"64618:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19852,"name":"string","nodeType":"ElementaryTypeName","src":"64618:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19855,"mutability":"mutable","name":"p3","nameLocation":"64650:2:14","nodeType":"VariableDeclaration","scope":19870,"src":"64636:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19854,"name":"string","nodeType":"ElementaryTypeName","src":"64636:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64593:60:14"},"returnParameters":{"id":19857,"nodeType":"ParameterList","parameters":[],"src":"64668:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19893,"nodeType":"FunctionDefinition","src":"64785:187:14","nodes":[],"body":{"id":19892,"nodeType":"Block","src":"64863:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c626f6f6c29","id":19884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64913:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},"value":"log(address,address,string,bool)"},{"id":19885,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19872,"src":"64949:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19886,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19874,"src":"64953:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19887,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19876,"src":"64957:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19888,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19878,"src":"64961:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19882,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64889:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64889:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64889:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19881,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"64873:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64873:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19891,"nodeType":"ExpressionStatement","src":"64873:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64794:3:14","parameters":{"id":19879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19872,"mutability":"mutable","name":"p0","nameLocation":"64806:2:14","nodeType":"VariableDeclaration","scope":19893,"src":"64798:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19871,"name":"address","nodeType":"ElementaryTypeName","src":"64798:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19874,"mutability":"mutable","name":"p1","nameLocation":"64818:2:14","nodeType":"VariableDeclaration","scope":19893,"src":"64810:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19873,"name":"address","nodeType":"ElementaryTypeName","src":"64810:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19876,"mutability":"mutable","name":"p2","nameLocation":"64836:2:14","nodeType":"VariableDeclaration","scope":19893,"src":"64822:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19875,"name":"string","nodeType":"ElementaryTypeName","src":"64822:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19878,"mutability":"mutable","name":"p3","nameLocation":"64845:2:14","nodeType":"VariableDeclaration","scope":19893,"src":"64840:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19877,"name":"bool","nodeType":"ElementaryTypeName","src":"64840:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64797:51:14"},"returnParameters":{"id":19880,"nodeType":"ParameterList","parameters":[],"src":"64863:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19916,"nodeType":"FunctionDefinition","src":"64978:193:14","nodes":[],"body":{"id":19915,"nodeType":"Block","src":"65059:112:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c6164647265737329","id":19907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65109:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},"value":"log(address,address,string,address)"},{"id":19908,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19895,"src":"65148:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19909,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19897,"src":"65152:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19910,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19899,"src":"65156:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":19911,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19901,"src":"65160:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19905,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65085:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19906,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65085:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65085:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19904,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"65069:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65069:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19914,"nodeType":"ExpressionStatement","src":"65069:95:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64987:3:14","parameters":{"id":19902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19895,"mutability":"mutable","name":"p0","nameLocation":"64999:2:14","nodeType":"VariableDeclaration","scope":19916,"src":"64991:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19894,"name":"address","nodeType":"ElementaryTypeName","src":"64991:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19897,"mutability":"mutable","name":"p1","nameLocation":"65011:2:14","nodeType":"VariableDeclaration","scope":19916,"src":"65003:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19896,"name":"address","nodeType":"ElementaryTypeName","src":"65003:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19899,"mutability":"mutable","name":"p2","nameLocation":"65029:2:14","nodeType":"VariableDeclaration","scope":19916,"src":"65015:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19898,"name":"string","nodeType":"ElementaryTypeName","src":"65015:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":19901,"mutability":"mutable","name":"p3","nameLocation":"65041:2:14","nodeType":"VariableDeclaration","scope":19916,"src":"65033:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19900,"name":"address","nodeType":"ElementaryTypeName","src":"65033:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"64990:54:14"},"returnParameters":{"id":19903,"nodeType":"ParameterList","parameters":[],"src":"65059:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19939,"nodeType":"FunctionDefinition","src":"65177:176:14","nodes":[],"body":{"id":19938,"nodeType":"Block","src":"65246:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c75696e7429","id":19930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65296:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_95d65f110e4042ee84d162cfc6d17a44c2f2784259e33c97679d21e7a95a841e","typeString":"literal_string \"log(address,address,bool,uint)\""},"value":"log(address,address,bool,uint)"},{"id":19931,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19918,"src":"65330:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19932,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19920,"src":"65334:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19933,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19922,"src":"65338:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19934,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19924,"src":"65342:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_95d65f110e4042ee84d162cfc6d17a44c2f2784259e33c97679d21e7a95a841e","typeString":"literal_string \"log(address,address,bool,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":19928,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65272:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19929,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65272:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65272:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19927,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"65256:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65256:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19937,"nodeType":"ExpressionStatement","src":"65256:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65186:3:14","parameters":{"id":19925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19918,"mutability":"mutable","name":"p0","nameLocation":"65198:2:14","nodeType":"VariableDeclaration","scope":19939,"src":"65190:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19917,"name":"address","nodeType":"ElementaryTypeName","src":"65190:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19920,"mutability":"mutable","name":"p1","nameLocation":"65210:2:14","nodeType":"VariableDeclaration","scope":19939,"src":"65202:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19919,"name":"address","nodeType":"ElementaryTypeName","src":"65202:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19922,"mutability":"mutable","name":"p2","nameLocation":"65219:2:14","nodeType":"VariableDeclaration","scope":19939,"src":"65214:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19921,"name":"bool","nodeType":"ElementaryTypeName","src":"65214:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19924,"mutability":"mutable","name":"p3","nameLocation":"65228:2:14","nodeType":"VariableDeclaration","scope":19939,"src":"65223:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":19923,"name":"uint","nodeType":"ElementaryTypeName","src":"65223:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65189:42:14"},"returnParameters":{"id":19926,"nodeType":"ParameterList","parameters":[],"src":"65246:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19962,"nodeType":"FunctionDefinition","src":"65359:187:14","nodes":[],"body":{"id":19961,"nodeType":"Block","src":"65437:109:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c737472696e6729","id":19953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65487:34:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},"value":"log(address,address,bool,string)"},{"id":19954,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19941,"src":"65523:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19955,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19943,"src":"65527:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19956,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19945,"src":"65531:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19957,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19947,"src":"65535:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":19951,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65463:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65463:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65463:75:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19950,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"65447:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65447:92:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19960,"nodeType":"ExpressionStatement","src":"65447:92:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65368:3:14","parameters":{"id":19948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19941,"mutability":"mutable","name":"p0","nameLocation":"65380:2:14","nodeType":"VariableDeclaration","scope":19962,"src":"65372:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19940,"name":"address","nodeType":"ElementaryTypeName","src":"65372:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19943,"mutability":"mutable","name":"p1","nameLocation":"65392:2:14","nodeType":"VariableDeclaration","scope":19962,"src":"65384:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19942,"name":"address","nodeType":"ElementaryTypeName","src":"65384:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19945,"mutability":"mutable","name":"p2","nameLocation":"65401:2:14","nodeType":"VariableDeclaration","scope":19962,"src":"65396:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19944,"name":"bool","nodeType":"ElementaryTypeName","src":"65396:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19947,"mutability":"mutable","name":"p3","nameLocation":"65419:2:14","nodeType":"VariableDeclaration","scope":19962,"src":"65405:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":19946,"name":"string","nodeType":"ElementaryTypeName","src":"65405:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65371:51:14"},"returnParameters":{"id":19949,"nodeType":"ParameterList","parameters":[],"src":"65437:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":19985,"nodeType":"FunctionDefinition","src":"65552:176:14","nodes":[],"body":{"id":19984,"nodeType":"Block","src":"65621:107:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c626f6f6c29","id":19976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65671:32:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},"value":"log(address,address,bool,bool)"},{"id":19977,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19964,"src":"65705:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19978,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19966,"src":"65709:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":19979,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19968,"src":"65713:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":19980,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19970,"src":"65717:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":19974,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65647:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19975,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65647:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":19981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65647:73:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19973,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"65631:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":19982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65631:90:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":19983,"nodeType":"ExpressionStatement","src":"65631:90:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65561:3:14","parameters":{"id":19971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19964,"mutability":"mutable","name":"p0","nameLocation":"65573:2:14","nodeType":"VariableDeclaration","scope":19985,"src":"65565:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19963,"name":"address","nodeType":"ElementaryTypeName","src":"65565:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19966,"mutability":"mutable","name":"p1","nameLocation":"65585:2:14","nodeType":"VariableDeclaration","scope":19985,"src":"65577:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19965,"name":"address","nodeType":"ElementaryTypeName","src":"65577:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19968,"mutability":"mutable","name":"p2","nameLocation":"65594:2:14","nodeType":"VariableDeclaration","scope":19985,"src":"65589:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19967,"name":"bool","nodeType":"ElementaryTypeName","src":"65589:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19970,"mutability":"mutable","name":"p3","nameLocation":"65603:2:14","nodeType":"VariableDeclaration","scope":19985,"src":"65598:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19969,"name":"bool","nodeType":"ElementaryTypeName","src":"65598:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"65564:42:14"},"returnParameters":{"id":19972,"nodeType":"ParameterList","parameters":[],"src":"65621:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20008,"nodeType":"FunctionDefinition","src":"65734:182:14","nodes":[],"body":{"id":20007,"nodeType":"Block","src":"65806:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c6164647265737329","id":19999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65856:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},"value":"log(address,address,bool,address)"},{"id":20000,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19987,"src":"65893:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20001,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19989,"src":"65897:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20002,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19991,"src":"65901:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20003,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19993,"src":"65905:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":19997,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65832:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":19998,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65832:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65832:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":19996,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"65816:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65816:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20006,"nodeType":"ExpressionStatement","src":"65816:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65743:3:14","parameters":{"id":19994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19987,"mutability":"mutable","name":"p0","nameLocation":"65755:2:14","nodeType":"VariableDeclaration","scope":20008,"src":"65747:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19986,"name":"address","nodeType":"ElementaryTypeName","src":"65747:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19989,"mutability":"mutable","name":"p1","nameLocation":"65767:2:14","nodeType":"VariableDeclaration","scope":20008,"src":"65759:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19988,"name":"address","nodeType":"ElementaryTypeName","src":"65759:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":19991,"mutability":"mutable","name":"p2","nameLocation":"65776:2:14","nodeType":"VariableDeclaration","scope":20008,"src":"65771:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":19990,"name":"bool","nodeType":"ElementaryTypeName","src":"65771:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":19993,"mutability":"mutable","name":"p3","nameLocation":"65788:2:14","nodeType":"VariableDeclaration","scope":20008,"src":"65780:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":19992,"name":"address","nodeType":"ElementaryTypeName","src":"65780:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"65746:45:14"},"returnParameters":{"id":19995,"nodeType":"ParameterList","parameters":[],"src":"65806:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20031,"nodeType":"FunctionDefinition","src":"65922:182:14","nodes":[],"body":{"id":20030,"nodeType":"Block","src":"65994:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c75696e7429","id":20022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66044:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_ed5eac8706392442fff9f76d5de4d50b9cc22387f3f19d447470771094406028","typeString":"literal_string \"log(address,address,address,uint)\""},"value":"log(address,address,address,uint)"},{"id":20023,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20010,"src":"66081:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20024,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20012,"src":"66085:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20025,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20014,"src":"66089:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20026,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20016,"src":"66093:2:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ed5eac8706392442fff9f76d5de4d50b9cc22387f3f19d447470771094406028","typeString":"literal_string \"log(address,address,address,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20020,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66020:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20021,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66020:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66020:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20019,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"66004:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66004:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20029,"nodeType":"ExpressionStatement","src":"66004:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65931:3:14","parameters":{"id":20017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20010,"mutability":"mutable","name":"p0","nameLocation":"65943:2:14","nodeType":"VariableDeclaration","scope":20031,"src":"65935:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20009,"name":"address","nodeType":"ElementaryTypeName","src":"65935:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20012,"mutability":"mutable","name":"p1","nameLocation":"65955:2:14","nodeType":"VariableDeclaration","scope":20031,"src":"65947:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20011,"name":"address","nodeType":"ElementaryTypeName","src":"65947:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20014,"mutability":"mutable","name":"p2","nameLocation":"65967:2:14","nodeType":"VariableDeclaration","scope":20031,"src":"65959:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20013,"name":"address","nodeType":"ElementaryTypeName","src":"65959:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20016,"mutability":"mutable","name":"p3","nameLocation":"65976:2:14","nodeType":"VariableDeclaration","scope":20031,"src":"65971:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20015,"name":"uint","nodeType":"ElementaryTypeName","src":"65971:4:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65934:45:14"},"returnParameters":{"id":20018,"nodeType":"ParameterList","parameters":[],"src":"65994:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20054,"nodeType":"FunctionDefinition","src":"66110:193:14","nodes":[],"body":{"id":20053,"nodeType":"Block","src":"66191:112:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c737472696e6729","id":20045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66241:37:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},"value":"log(address,address,address,string)"},{"id":20046,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20033,"src":"66280:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20047,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20035,"src":"66284:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20048,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20037,"src":"66288:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20049,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20039,"src":"66292:2:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20043,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66217:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66217:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66217:78:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20042,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"66201:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66201:95:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20052,"nodeType":"ExpressionStatement","src":"66201:95:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66119:3:14","parameters":{"id":20040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20033,"mutability":"mutable","name":"p0","nameLocation":"66131:2:14","nodeType":"VariableDeclaration","scope":20054,"src":"66123:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20032,"name":"address","nodeType":"ElementaryTypeName","src":"66123:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20035,"mutability":"mutable","name":"p1","nameLocation":"66143:2:14","nodeType":"VariableDeclaration","scope":20054,"src":"66135:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20034,"name":"address","nodeType":"ElementaryTypeName","src":"66135:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20037,"mutability":"mutable","name":"p2","nameLocation":"66155:2:14","nodeType":"VariableDeclaration","scope":20054,"src":"66147:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20036,"name":"address","nodeType":"ElementaryTypeName","src":"66147:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20039,"mutability":"mutable","name":"p3","nameLocation":"66173:2:14","nodeType":"VariableDeclaration","scope":20054,"src":"66159:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20038,"name":"string","nodeType":"ElementaryTypeName","src":"66159:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66122:54:14"},"returnParameters":{"id":20041,"nodeType":"ParameterList","parameters":[],"src":"66191:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20077,"nodeType":"FunctionDefinition","src":"66309:182:14","nodes":[],"body":{"id":20076,"nodeType":"Block","src":"66381:110:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c626f6f6c29","id":20068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66431:35:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},"value":"log(address,address,address,bool)"},{"id":20069,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20056,"src":"66468:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20070,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20058,"src":"66472:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20071,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20060,"src":"66476:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20072,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20062,"src":"66480:2:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20066,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66407:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20067,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66407:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66407:76:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20065,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"66391:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66391:93:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20075,"nodeType":"ExpressionStatement","src":"66391:93:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66318:3:14","parameters":{"id":20063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20056,"mutability":"mutable","name":"p0","nameLocation":"66330:2:14","nodeType":"VariableDeclaration","scope":20077,"src":"66322:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20055,"name":"address","nodeType":"ElementaryTypeName","src":"66322:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20058,"mutability":"mutable","name":"p1","nameLocation":"66342:2:14","nodeType":"VariableDeclaration","scope":20077,"src":"66334:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20057,"name":"address","nodeType":"ElementaryTypeName","src":"66334:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20060,"mutability":"mutable","name":"p2","nameLocation":"66354:2:14","nodeType":"VariableDeclaration","scope":20077,"src":"66346:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20059,"name":"address","nodeType":"ElementaryTypeName","src":"66346:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20062,"mutability":"mutable","name":"p3","nameLocation":"66363:2:14","nodeType":"VariableDeclaration","scope":20077,"src":"66358:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20061,"name":"bool","nodeType":"ElementaryTypeName","src":"66358:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"66321:45:14"},"returnParameters":{"id":20064,"nodeType":"ParameterList","parameters":[],"src":"66381:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20100,"nodeType":"FunctionDefinition","src":"66497:188:14","nodes":[],"body":{"id":20099,"nodeType":"Block","src":"66572:113:14","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c6164647265737329","id":20091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66622:38:14","typeDescriptions":{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},"value":"log(address,address,address,address)"},{"id":20092,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20079,"src":"66662:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20093,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20081,"src":"66666:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20094,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20083,"src":"66670:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20095,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20085,"src":"66674:2:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20089,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66598:3:14","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20090,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66598:23:14","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66598:79:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20088,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"66582:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66582:96:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20098,"nodeType":"ExpressionStatement","src":"66582:96:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66506:3:14","parameters":{"id":20086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20079,"mutability":"mutable","name":"p0","nameLocation":"66518:2:14","nodeType":"VariableDeclaration","scope":20100,"src":"66510:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20078,"name":"address","nodeType":"ElementaryTypeName","src":"66510:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20081,"mutability":"mutable","name":"p1","nameLocation":"66530:2:14","nodeType":"VariableDeclaration","scope":20100,"src":"66522:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20080,"name":"address","nodeType":"ElementaryTypeName","src":"66522:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20083,"mutability":"mutable","name":"p2","nameLocation":"66542:2:14","nodeType":"VariableDeclaration","scope":20100,"src":"66534:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20082,"name":"address","nodeType":"ElementaryTypeName","src":"66534:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20085,"mutability":"mutable","name":"p3","nameLocation":"66554:2:14","nodeType":"VariableDeclaration","scope":20100,"src":"66546:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20084,"name":"address","nodeType":"ElementaryTypeName","src":"66546:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66509:48:14"},"returnParameters":{"id":20087,"nodeType":"ParameterList","parameters":[],"src":"66572:0:14"},"scope":20101,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"console","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[20101],"name":"console","nameLocation":"74:7:14","scope":20102,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/console2.sol":{"id":15,"ast":{"absolutePath":"lib/forge-std/src/console2.sol","id":28198,"exportedSymbols":{"console2":[28197]},"nodeType":"SourceUnit","src":"32:69275:15","nodes":[{"id":20103,"nodeType":"PragmaDirective","src":"32:32:15","nodes":[],"literals":["solidity",">=","0.4",".22","<","0.9",".0"]},{"id":28197,"nodeType":"ContractDefinition","src":"525:68782:15","nodes":[{"id":20110,"nodeType":"VariableDeclaration","src":"548:86:15","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE_ADDRESS","nameLocation":"565:15:15","scope":28197,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20105,"name":"address","nodeType":"ElementaryTypeName","src":"548:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":20108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"591:42:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":20107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"583:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":20106,"name":"address","nodeType":"ElementaryTypeName","src":"583:7:15","typeDescriptions":{}}},"id":20109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"583:51:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":20126,"nodeType":"FunctionDefinition","src":"641:376:15","nodes":[],"body":{"id":20125,"nodeType":"Block","src":"701:316:15","nodes":[],"statements":[{"assignments":[20116],"declarations":[{"constant":false,"id":20116,"mutability":"mutable","name":"payloadLength","nameLocation":"719:13:15","nodeType":"VariableDeclaration","scope":20125,"src":"711:21:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20115,"name":"uint256","nodeType":"ElementaryTypeName","src":"711:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":20119,"initialValue":{"expression":{"id":20117,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20112,"src":"735:7:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":20118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"735:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"711:38:15"},{"assignments":[20121],"declarations":[{"constant":false,"id":20121,"mutability":"mutable","name":"consoleAddress","nameLocation":"767:14:15","nodeType":"VariableDeclaration","scope":20125,"src":"759:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20120,"name":"address","nodeType":"ElementaryTypeName","src":"759:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":20123,"initialValue":{"id":20122,"name":"CONSOLE_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20110,"src":"784:15:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"759:40:15"},{"AST":{"nodeType":"YulBlock","src":"861:150:15","statements":[{"nodeType":"YulVariableDeclaration","src":"875:36:15","value":{"arguments":[{"name":"payload","nodeType":"YulIdentifier","src":"899:7:15"},{"kind":"number","nodeType":"YulLiteral","src":"908:2:15","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"895:3:15"},"nodeType":"YulFunctionCall","src":"895:16:15"},"variables":[{"name":"payloadStart","nodeType":"YulTypedName","src":"879:12:15","type":""}]},{"nodeType":"YulVariableDeclaration","src":"924:77:15","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"944:3:15"},"nodeType":"YulFunctionCall","src":"944:5:15"},{"name":"consoleAddress","nodeType":"YulIdentifier","src":"951:14:15"},{"name":"payloadStart","nodeType":"YulIdentifier","src":"967:12:15"},{"name":"payloadLength","nodeType":"YulIdentifier","src":"981:13:15"},{"kind":"number","nodeType":"YulLiteral","src":"996:1:15","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"999:1:15","type":"","value":"0"}],"functionName":{"name":"staticcall","nodeType":"YulIdentifier","src":"933:10:15"},"nodeType":"YulFunctionCall","src":"933:68:15"},"variables":[{"name":"r","nodeType":"YulTypedName","src":"928:1:15","type":""}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"london","externalReferences":[{"declaration":20121,"isOffset":false,"isSlot":false,"src":"951:14:15","valueSize":1},{"declaration":20112,"isOffset":false,"isSlot":false,"src":"899:7:15","valueSize":1},{"declaration":20116,"isOffset":false,"isSlot":false,"src":"981:13:15","valueSize":1}],"id":20124,"nodeType":"InlineAssembly","src":"852:159:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayload","nameLocation":"650:15:15","parameters":{"id":20113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20112,"mutability":"mutable","name":"payload","nameLocation":"679:7:15","nodeType":"VariableDeclaration","scope":20126,"src":"666:20:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20111,"name":"bytes","nodeType":"ElementaryTypeName","src":"666:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"665:22:15"},"returnParameters":{"id":20114,"nodeType":"ParameterList","parameters":[],"src":"701:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":20137,"nodeType":"FunctionDefinition","src":"1023:95:15","nodes":[],"body":{"id":20136,"nodeType":"Block","src":"1052:66:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672829","id":20132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1102:7:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""},"value":"log()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""}],"expression":{"id":20130,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1078:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1078:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1078:32:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20129,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"1062:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1062:49:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20135,"nodeType":"ExpressionStatement","src":"1062:49:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"1032:3:15","parameters":{"id":20127,"nodeType":"ParameterList","parameters":[],"src":"1035:2:15"},"returnParameters":{"id":20128,"nodeType":"ParameterList","parameters":[],"src":"1052:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20151,"nodeType":"FunctionDefinition","src":"1124:117:15","nodes":[],"body":{"id":20150,"nodeType":"Block","src":"1165:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728696e7432353629","id":20145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1215:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},"value":"log(int256)"},{"id":20146,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20139,"src":"1230:2:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":20143,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1191:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1191:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1191:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20142,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"1175:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1175:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20149,"nodeType":"ExpressionStatement","src":"1175:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logInt","nameLocation":"1133:6:15","parameters":{"id":20140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20139,"mutability":"mutable","name":"p0","nameLocation":"1147:2:15","nodeType":"VariableDeclaration","scope":20151,"src":"1140:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20138,"name":"int256","nodeType":"ElementaryTypeName","src":"1140:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1139:11:15"},"returnParameters":{"id":20141,"nodeType":"ParameterList","parameters":[],"src":"1165:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20165,"nodeType":"FunctionDefinition","src":"1247:120:15","nodes":[],"body":{"id":20164,"nodeType":"Block","src":"1290:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7432353629","id":20159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1340:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},"value":"log(uint256)"},{"id":20160,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20153,"src":"1356:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20157,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1316:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1316:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1316:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20156,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"1300:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1300:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20163,"nodeType":"ExpressionStatement","src":"1300:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logUint","nameLocation":"1256:7:15","parameters":{"id":20154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20153,"mutability":"mutable","name":"p0","nameLocation":"1272:2:15","nodeType":"VariableDeclaration","scope":20165,"src":"1264:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20152,"name":"uint256","nodeType":"ElementaryTypeName","src":"1264:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1263:12:15"},"returnParameters":{"id":20155,"nodeType":"ParameterList","parameters":[],"src":"1290:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20179,"nodeType":"FunctionDefinition","src":"1373:127:15","nodes":[],"body":{"id":20178,"nodeType":"Block","src":"1424:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":20173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1474:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":20174,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20167,"src":"1489:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20171,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1450:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1450:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1450:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20170,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"1434:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1434:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20177,"nodeType":"ExpressionStatement","src":"1434:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logString","nameLocation":"1382:9:15","parameters":{"id":20168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20167,"mutability":"mutable","name":"p0","nameLocation":"1406:2:15","nodeType":"VariableDeclaration","scope":20179,"src":"1392:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20166,"name":"string","nodeType":"ElementaryTypeName","src":"1392:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1391:18:15"},"returnParameters":{"id":20169,"nodeType":"ParameterList","parameters":[],"src":"1424:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20193,"nodeType":"FunctionDefinition","src":"1506:114:15","nodes":[],"body":{"id":20192,"nodeType":"Block","src":"1546:74:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":20187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1596:11:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":20188,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20181,"src":"1609:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20185,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1572:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1572:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1572:40:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20184,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"1556:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1556:57:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20191,"nodeType":"ExpressionStatement","src":"1556:57:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBool","nameLocation":"1515:7:15","parameters":{"id":20182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20181,"mutability":"mutable","name":"p0","nameLocation":"1528:2:15","nodeType":"VariableDeclaration","scope":20193,"src":"1523:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20180,"name":"bool","nodeType":"ElementaryTypeName","src":"1523:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1522:9:15"},"returnParameters":{"id":20183,"nodeType":"ParameterList","parameters":[],"src":"1546:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20207,"nodeType":"FunctionDefinition","src":"1626:123:15","nodes":[],"body":{"id":20206,"nodeType":"Block","src":"1672:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":20201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1722:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":20202,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20195,"src":"1738:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20199,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1698:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20200,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1698:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1698:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20198,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"1682:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1682:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20205,"nodeType":"ExpressionStatement","src":"1682:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logAddress","nameLocation":"1635:10:15","parameters":{"id":20196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20195,"mutability":"mutable","name":"p0","nameLocation":"1654:2:15","nodeType":"VariableDeclaration","scope":20207,"src":"1646:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20194,"name":"address","nodeType":"ElementaryTypeName","src":"1646:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1645:12:15"},"returnParameters":{"id":20197,"nodeType":"ParameterList","parameters":[],"src":"1672:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20221,"nodeType":"FunctionDefinition","src":"1755:124:15","nodes":[],"body":{"id":20220,"nodeType":"Block","src":"1804:75:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728627974657329","id":20215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1854:12:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},"value":"log(bytes)"},{"id":20216,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20209,"src":"1868:2:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":20213,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1830:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1830:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1830:41:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20212,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"1814:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1814:58:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20219,"nodeType":"ExpressionStatement","src":"1814:58:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes","nameLocation":"1764:8:15","parameters":{"id":20210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20209,"mutability":"mutable","name":"p0","nameLocation":"1786:2:15","nodeType":"VariableDeclaration","scope":20221,"src":"1773:15:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":20208,"name":"bytes","nodeType":"ElementaryTypeName","src":"1773:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1772:17:15"},"returnParameters":{"id":20211,"nodeType":"ParameterList","parameters":[],"src":"1804:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20235,"nodeType":"FunctionDefinition","src":"1885:120:15","nodes":[],"body":{"id":20234,"nodeType":"Block","src":"1929:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733129","id":20229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1979:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},"value":"log(bytes1)"},{"id":20230,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20223,"src":"1994:2:15","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"expression":{"id":20227,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1955:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20228,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1955:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1955:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20226,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"1939:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1939:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20233,"nodeType":"ExpressionStatement","src":"1939:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes1","nameLocation":"1894:9:15","parameters":{"id":20224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20223,"mutability":"mutable","name":"p0","nameLocation":"1911:2:15","nodeType":"VariableDeclaration","scope":20235,"src":"1904:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":20222,"name":"bytes1","nodeType":"ElementaryTypeName","src":"1904:6:15","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"1903:11:15"},"returnParameters":{"id":20225,"nodeType":"ParameterList","parameters":[],"src":"1929:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20249,"nodeType":"FunctionDefinition","src":"2011:120:15","nodes":[],"body":{"id":20248,"nodeType":"Block","src":"2055:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733229","id":20243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2105:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},"value":"log(bytes2)"},{"id":20244,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20237,"src":"2120:2:15","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},{"typeIdentifier":"t_bytes2","typeString":"bytes2"}],"expression":{"id":20241,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2081:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2081:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2081:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20240,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"2065:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2065:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20247,"nodeType":"ExpressionStatement","src":"2065:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes2","nameLocation":"2020:9:15","parameters":{"id":20238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20237,"mutability":"mutable","name":"p0","nameLocation":"2037:2:15","nodeType":"VariableDeclaration","scope":20249,"src":"2030:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"typeName":{"id":20236,"name":"bytes2","nodeType":"ElementaryTypeName","src":"2030:6:15","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"visibility":"internal"}],"src":"2029:11:15"},"returnParameters":{"id":20239,"nodeType":"ParameterList","parameters":[],"src":"2055:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20263,"nodeType":"FunctionDefinition","src":"2137:120:15","nodes":[],"body":{"id":20262,"nodeType":"Block","src":"2181:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733329","id":20257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2231:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},"value":"log(bytes3)"},{"id":20258,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20251,"src":"2246:2:15","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},{"typeIdentifier":"t_bytes3","typeString":"bytes3"}],"expression":{"id":20255,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2207:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20256,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2207:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2207:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20254,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"2191:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2191:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20261,"nodeType":"ExpressionStatement","src":"2191:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes3","nameLocation":"2146:9:15","parameters":{"id":20252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20251,"mutability":"mutable","name":"p0","nameLocation":"2163:2:15","nodeType":"VariableDeclaration","scope":20263,"src":"2156:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"},"typeName":{"id":20250,"name":"bytes3","nodeType":"ElementaryTypeName","src":"2156:6:15","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}},"visibility":"internal"}],"src":"2155:11:15"},"returnParameters":{"id":20253,"nodeType":"ParameterList","parameters":[],"src":"2181:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20277,"nodeType":"FunctionDefinition","src":"2263:120:15","nodes":[],"body":{"id":20276,"nodeType":"Block","src":"2307:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733429","id":20271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2357:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},"value":"log(bytes4)"},{"id":20272,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20265,"src":"2372:2:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":20269,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2333:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20270,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2333:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2333:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20268,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"2317:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2317:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20275,"nodeType":"ExpressionStatement","src":"2317:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes4","nameLocation":"2272:9:15","parameters":{"id":20266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20265,"mutability":"mutable","name":"p0","nameLocation":"2289:2:15","nodeType":"VariableDeclaration","scope":20277,"src":"2282:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":20264,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2282:6:15","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2281:11:15"},"returnParameters":{"id":20267,"nodeType":"ParameterList","parameters":[],"src":"2307:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20291,"nodeType":"FunctionDefinition","src":"2389:120:15","nodes":[],"body":{"id":20290,"nodeType":"Block","src":"2433:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733529","id":20285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2483:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},"value":"log(bytes5)"},{"id":20286,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20279,"src":"2498:2:15","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},{"typeIdentifier":"t_bytes5","typeString":"bytes5"}],"expression":{"id":20283,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2459:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20284,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2459:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2459:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20282,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"2443:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2443:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20289,"nodeType":"ExpressionStatement","src":"2443:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes5","nameLocation":"2398:9:15","parameters":{"id":20280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20279,"mutability":"mutable","name":"p0","nameLocation":"2415:2:15","nodeType":"VariableDeclaration","scope":20291,"src":"2408:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"},"typeName":{"id":20278,"name":"bytes5","nodeType":"ElementaryTypeName","src":"2408:6:15","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}},"visibility":"internal"}],"src":"2407:11:15"},"returnParameters":{"id":20281,"nodeType":"ParameterList","parameters":[],"src":"2433:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20305,"nodeType":"FunctionDefinition","src":"2515:120:15","nodes":[],"body":{"id":20304,"nodeType":"Block","src":"2559:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733629","id":20299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2609:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},"value":"log(bytes6)"},{"id":20300,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20293,"src":"2624:2:15","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},{"typeIdentifier":"t_bytes6","typeString":"bytes6"}],"expression":{"id":20297,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2585:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2585:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2585:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20296,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"2569:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2569:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20303,"nodeType":"ExpressionStatement","src":"2569:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes6","nameLocation":"2524:9:15","parameters":{"id":20294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20293,"mutability":"mutable","name":"p0","nameLocation":"2541:2:15","nodeType":"VariableDeclaration","scope":20305,"src":"2534:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"},"typeName":{"id":20292,"name":"bytes6","nodeType":"ElementaryTypeName","src":"2534:6:15","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}},"visibility":"internal"}],"src":"2533:11:15"},"returnParameters":{"id":20295,"nodeType":"ParameterList","parameters":[],"src":"2559:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20319,"nodeType":"FunctionDefinition","src":"2641:120:15","nodes":[],"body":{"id":20318,"nodeType":"Block","src":"2685:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733729","id":20313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2735:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},"value":"log(bytes7)"},{"id":20314,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20307,"src":"2750:2:15","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},{"typeIdentifier":"t_bytes7","typeString":"bytes7"}],"expression":{"id":20311,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2711:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2711:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2711:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20310,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"2695:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2695:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20317,"nodeType":"ExpressionStatement","src":"2695:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes7","nameLocation":"2650:9:15","parameters":{"id":20308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20307,"mutability":"mutable","name":"p0","nameLocation":"2667:2:15","nodeType":"VariableDeclaration","scope":20319,"src":"2660:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"},"typeName":{"id":20306,"name":"bytes7","nodeType":"ElementaryTypeName","src":"2660:6:15","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}},"visibility":"internal"}],"src":"2659:11:15"},"returnParameters":{"id":20309,"nodeType":"ParameterList","parameters":[],"src":"2685:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20333,"nodeType":"FunctionDefinition","src":"2767:120:15","nodes":[],"body":{"id":20332,"nodeType":"Block","src":"2811:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733829","id":20327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2861:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},"value":"log(bytes8)"},{"id":20328,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20321,"src":"2876:2:15","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},{"typeIdentifier":"t_bytes8","typeString":"bytes8"}],"expression":{"id":20325,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2837:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2837:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2837:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20324,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"2821:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2821:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20331,"nodeType":"ExpressionStatement","src":"2821:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes8","nameLocation":"2776:9:15","parameters":{"id":20322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20321,"mutability":"mutable","name":"p0","nameLocation":"2793:2:15","nodeType":"VariableDeclaration","scope":20333,"src":"2786:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"typeName":{"id":20320,"name":"bytes8","nodeType":"ElementaryTypeName","src":"2786:6:15","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"visibility":"internal"}],"src":"2785:11:15"},"returnParameters":{"id":20323,"nodeType":"ParameterList","parameters":[],"src":"2811:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20347,"nodeType":"FunctionDefinition","src":"2893:120:15","nodes":[],"body":{"id":20346,"nodeType":"Block","src":"2937:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733929","id":20341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2987:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},"value":"log(bytes9)"},{"id":20342,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20335,"src":"3002:2:15","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},{"typeIdentifier":"t_bytes9","typeString":"bytes9"}],"expression":{"id":20339,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2963:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2963:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2963:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20338,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"2947:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2947:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20345,"nodeType":"ExpressionStatement","src":"2947:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes9","nameLocation":"2902:9:15","parameters":{"id":20336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20335,"mutability":"mutable","name":"p0","nameLocation":"2919:2:15","nodeType":"VariableDeclaration","scope":20347,"src":"2912:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"},"typeName":{"id":20334,"name":"bytes9","nodeType":"ElementaryTypeName","src":"2912:6:15","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}},"visibility":"internal"}],"src":"2911:11:15"},"returnParameters":{"id":20337,"nodeType":"ParameterList","parameters":[],"src":"2937:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20361,"nodeType":"FunctionDefinition","src":"3019:123:15","nodes":[],"body":{"id":20360,"nodeType":"Block","src":"3065:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313029","id":20355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3115:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},"value":"log(bytes10)"},{"id":20356,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20349,"src":"3131:2:15","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},{"typeIdentifier":"t_bytes10","typeString":"bytes10"}],"expression":{"id":20353,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3091:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3091:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3091:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20352,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"3075:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3075:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20359,"nodeType":"ExpressionStatement","src":"3075:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes10","nameLocation":"3028:10:15","parameters":{"id":20350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20349,"mutability":"mutable","name":"p0","nameLocation":"3047:2:15","nodeType":"VariableDeclaration","scope":20361,"src":"3039:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"},"typeName":{"id":20348,"name":"bytes10","nodeType":"ElementaryTypeName","src":"3039:7:15","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}},"visibility":"internal"}],"src":"3038:12:15"},"returnParameters":{"id":20351,"nodeType":"ParameterList","parameters":[],"src":"3065:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20375,"nodeType":"FunctionDefinition","src":"3148:123:15","nodes":[],"body":{"id":20374,"nodeType":"Block","src":"3194:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313129","id":20369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3244:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},"value":"log(bytes11)"},{"id":20370,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20363,"src":"3260:2:15","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},{"typeIdentifier":"t_bytes11","typeString":"bytes11"}],"expression":{"id":20367,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3220:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3220:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3220:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20366,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"3204:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3204:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20373,"nodeType":"ExpressionStatement","src":"3204:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes11","nameLocation":"3157:10:15","parameters":{"id":20364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20363,"mutability":"mutable","name":"p0","nameLocation":"3176:2:15","nodeType":"VariableDeclaration","scope":20375,"src":"3168:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"},"typeName":{"id":20362,"name":"bytes11","nodeType":"ElementaryTypeName","src":"3168:7:15","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}},"visibility":"internal"}],"src":"3167:12:15"},"returnParameters":{"id":20365,"nodeType":"ParameterList","parameters":[],"src":"3194:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20389,"nodeType":"FunctionDefinition","src":"3277:123:15","nodes":[],"body":{"id":20388,"nodeType":"Block","src":"3323:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313229","id":20383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3373:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},"value":"log(bytes12)"},{"id":20384,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20377,"src":"3389:2:15","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},{"typeIdentifier":"t_bytes12","typeString":"bytes12"}],"expression":{"id":20381,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3349:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3349:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3349:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20380,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"3333:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3333:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20387,"nodeType":"ExpressionStatement","src":"3333:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes12","nameLocation":"3286:10:15","parameters":{"id":20378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20377,"mutability":"mutable","name":"p0","nameLocation":"3305:2:15","nodeType":"VariableDeclaration","scope":20389,"src":"3297:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"},"typeName":{"id":20376,"name":"bytes12","nodeType":"ElementaryTypeName","src":"3297:7:15","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"visibility":"internal"}],"src":"3296:12:15"},"returnParameters":{"id":20379,"nodeType":"ParameterList","parameters":[],"src":"3323:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20403,"nodeType":"FunctionDefinition","src":"3406:123:15","nodes":[],"body":{"id":20402,"nodeType":"Block","src":"3452:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313329","id":20397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3502:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},"value":"log(bytes13)"},{"id":20398,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20391,"src":"3518:2:15","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},{"typeIdentifier":"t_bytes13","typeString":"bytes13"}],"expression":{"id":20395,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3478:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20396,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3478:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3478:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20394,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"3462:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3462:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20401,"nodeType":"ExpressionStatement","src":"3462:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes13","nameLocation":"3415:10:15","parameters":{"id":20392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20391,"mutability":"mutable","name":"p0","nameLocation":"3434:2:15","nodeType":"VariableDeclaration","scope":20403,"src":"3426:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"},"typeName":{"id":20390,"name":"bytes13","nodeType":"ElementaryTypeName","src":"3426:7:15","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}},"visibility":"internal"}],"src":"3425:12:15"},"returnParameters":{"id":20393,"nodeType":"ParameterList","parameters":[],"src":"3452:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20417,"nodeType":"FunctionDefinition","src":"3535:123:15","nodes":[],"body":{"id":20416,"nodeType":"Block","src":"3581:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313429","id":20411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3631:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},"value":"log(bytes14)"},{"id":20412,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20405,"src":"3647:2:15","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"expression":{"id":20409,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3607:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3607:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3607:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20408,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"3591:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3591:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20415,"nodeType":"ExpressionStatement","src":"3591:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes14","nameLocation":"3544:10:15","parameters":{"id":20406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20405,"mutability":"mutable","name":"p0","nameLocation":"3563:2:15","nodeType":"VariableDeclaration","scope":20417,"src":"3555:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":20404,"name":"bytes14","nodeType":"ElementaryTypeName","src":"3555:7:15","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"3554:12:15"},"returnParameters":{"id":20407,"nodeType":"ParameterList","parameters":[],"src":"3581:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20431,"nodeType":"FunctionDefinition","src":"3664:123:15","nodes":[],"body":{"id":20430,"nodeType":"Block","src":"3710:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313529","id":20425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3760:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},"value":"log(bytes15)"},{"id":20426,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20419,"src":"3776:2:15","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},{"typeIdentifier":"t_bytes15","typeString":"bytes15"}],"expression":{"id":20423,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3736:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3736:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3736:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20422,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"3720:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3720:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20429,"nodeType":"ExpressionStatement","src":"3720:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes15","nameLocation":"3673:10:15","parameters":{"id":20420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20419,"mutability":"mutable","name":"p0","nameLocation":"3692:2:15","nodeType":"VariableDeclaration","scope":20431,"src":"3684:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"},"typeName":{"id":20418,"name":"bytes15","nodeType":"ElementaryTypeName","src":"3684:7:15","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}},"visibility":"internal"}],"src":"3683:12:15"},"returnParameters":{"id":20421,"nodeType":"ParameterList","parameters":[],"src":"3710:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20445,"nodeType":"FunctionDefinition","src":"3793:123:15","nodes":[],"body":{"id":20444,"nodeType":"Block","src":"3839:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313629","id":20439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3889:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},"value":"log(bytes16)"},{"id":20440,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20433,"src":"3905:2:15","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},{"typeIdentifier":"t_bytes16","typeString":"bytes16"}],"expression":{"id":20437,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3865:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20438,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3865:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3865:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20436,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"3849:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3849:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20443,"nodeType":"ExpressionStatement","src":"3849:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes16","nameLocation":"3802:10:15","parameters":{"id":20434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20433,"mutability":"mutable","name":"p0","nameLocation":"3821:2:15","nodeType":"VariableDeclaration","scope":20445,"src":"3813:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":20432,"name":"bytes16","nodeType":"ElementaryTypeName","src":"3813:7:15","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"src":"3812:12:15"},"returnParameters":{"id":20435,"nodeType":"ParameterList","parameters":[],"src":"3839:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20459,"nodeType":"FunctionDefinition","src":"3922:123:15","nodes":[],"body":{"id":20458,"nodeType":"Block","src":"3968:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313729","id":20453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4018:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},"value":"log(bytes17)"},{"id":20454,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20447,"src":"4034:2:15","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},{"typeIdentifier":"t_bytes17","typeString":"bytes17"}],"expression":{"id":20451,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3994:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3994:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3994:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20450,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"3978:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3978:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20457,"nodeType":"ExpressionStatement","src":"3978:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes17","nameLocation":"3931:10:15","parameters":{"id":20448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20447,"mutability":"mutable","name":"p0","nameLocation":"3950:2:15","nodeType":"VariableDeclaration","scope":20459,"src":"3942:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"},"typeName":{"id":20446,"name":"bytes17","nodeType":"ElementaryTypeName","src":"3942:7:15","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}},"visibility":"internal"}],"src":"3941:12:15"},"returnParameters":{"id":20449,"nodeType":"ParameterList","parameters":[],"src":"3968:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20473,"nodeType":"FunctionDefinition","src":"4051:123:15","nodes":[],"body":{"id":20472,"nodeType":"Block","src":"4097:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313829","id":20467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4147:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},"value":"log(bytes18)"},{"id":20468,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20461,"src":"4163:2:15","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},{"typeIdentifier":"t_bytes18","typeString":"bytes18"}],"expression":{"id":20465,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4123:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4123:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4123:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20464,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"4107:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4107:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20471,"nodeType":"ExpressionStatement","src":"4107:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes18","nameLocation":"4060:10:15","parameters":{"id":20462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20461,"mutability":"mutable","name":"p0","nameLocation":"4079:2:15","nodeType":"VariableDeclaration","scope":20473,"src":"4071:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"},"typeName":{"id":20460,"name":"bytes18","nodeType":"ElementaryTypeName","src":"4071:7:15","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}},"visibility":"internal"}],"src":"4070:12:15"},"returnParameters":{"id":20463,"nodeType":"ParameterList","parameters":[],"src":"4097:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20487,"nodeType":"FunctionDefinition","src":"4180:123:15","nodes":[],"body":{"id":20486,"nodeType":"Block","src":"4226:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313929","id":20481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4276:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},"value":"log(bytes19)"},{"id":20482,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20475,"src":"4292:2:15","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},{"typeIdentifier":"t_bytes19","typeString":"bytes19"}],"expression":{"id":20479,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4252:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4252:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4252:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20478,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"4236:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4236:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20485,"nodeType":"ExpressionStatement","src":"4236:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes19","nameLocation":"4189:10:15","parameters":{"id":20476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20475,"mutability":"mutable","name":"p0","nameLocation":"4208:2:15","nodeType":"VariableDeclaration","scope":20487,"src":"4200:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"},"typeName":{"id":20474,"name":"bytes19","nodeType":"ElementaryTypeName","src":"4200:7:15","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}},"visibility":"internal"}],"src":"4199:12:15"},"returnParameters":{"id":20477,"nodeType":"ParameterList","parameters":[],"src":"4226:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20501,"nodeType":"FunctionDefinition","src":"4309:123:15","nodes":[],"body":{"id":20500,"nodeType":"Block","src":"4355:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323029","id":20495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4405:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},"value":"log(bytes20)"},{"id":20496,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20489,"src":"4421:2:15","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"expression":{"id":20493,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4381:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4381:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4381:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20492,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"4365:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4365:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20499,"nodeType":"ExpressionStatement","src":"4365:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes20","nameLocation":"4318:10:15","parameters":{"id":20490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20489,"mutability":"mutable","name":"p0","nameLocation":"4337:2:15","nodeType":"VariableDeclaration","scope":20501,"src":"4329:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"},"typeName":{"id":20488,"name":"bytes20","nodeType":"ElementaryTypeName","src":"4329:7:15","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"visibility":"internal"}],"src":"4328:12:15"},"returnParameters":{"id":20491,"nodeType":"ParameterList","parameters":[],"src":"4355:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20515,"nodeType":"FunctionDefinition","src":"4438:123:15","nodes":[],"body":{"id":20514,"nodeType":"Block","src":"4484:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323129","id":20509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4534:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},"value":"log(bytes21)"},{"id":20510,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20503,"src":"4550:2:15","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":20507,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4510:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20508,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4510:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4510:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20506,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"4494:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4494:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20513,"nodeType":"ExpressionStatement","src":"4494:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes21","nameLocation":"4447:10:15","parameters":{"id":20504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20503,"mutability":"mutable","name":"p0","nameLocation":"4466:2:15","nodeType":"VariableDeclaration","scope":20515,"src":"4458:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":20502,"name":"bytes21","nodeType":"ElementaryTypeName","src":"4458:7:15","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"4457:12:15"},"returnParameters":{"id":20505,"nodeType":"ParameterList","parameters":[],"src":"4484:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20529,"nodeType":"FunctionDefinition","src":"4567:123:15","nodes":[],"body":{"id":20528,"nodeType":"Block","src":"4613:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323229","id":20523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4663:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},"value":"log(bytes22)"},{"id":20524,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20517,"src":"4679:2:15","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},{"typeIdentifier":"t_bytes22","typeString":"bytes22"}],"expression":{"id":20521,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4639:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4639:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4639:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20520,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"4623:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4623:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20527,"nodeType":"ExpressionStatement","src":"4623:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes22","nameLocation":"4576:10:15","parameters":{"id":20518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20517,"mutability":"mutable","name":"p0","nameLocation":"4595:2:15","nodeType":"VariableDeclaration","scope":20529,"src":"4587:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"},"typeName":{"id":20516,"name":"bytes22","nodeType":"ElementaryTypeName","src":"4587:7:15","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}},"visibility":"internal"}],"src":"4586:12:15"},"returnParameters":{"id":20519,"nodeType":"ParameterList","parameters":[],"src":"4613:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20543,"nodeType":"FunctionDefinition","src":"4696:123:15","nodes":[],"body":{"id":20542,"nodeType":"Block","src":"4742:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323329","id":20537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4792:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},"value":"log(bytes23)"},{"id":20538,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20531,"src":"4808:2:15","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},{"typeIdentifier":"t_bytes23","typeString":"bytes23"}],"expression":{"id":20535,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4768:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20536,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4768:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4768:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20534,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"4752:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4752:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20541,"nodeType":"ExpressionStatement","src":"4752:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes23","nameLocation":"4705:10:15","parameters":{"id":20532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20531,"mutability":"mutable","name":"p0","nameLocation":"4724:2:15","nodeType":"VariableDeclaration","scope":20543,"src":"4716:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"},"typeName":{"id":20530,"name":"bytes23","nodeType":"ElementaryTypeName","src":"4716:7:15","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}},"visibility":"internal"}],"src":"4715:12:15"},"returnParameters":{"id":20533,"nodeType":"ParameterList","parameters":[],"src":"4742:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20557,"nodeType":"FunctionDefinition","src":"4825:123:15","nodes":[],"body":{"id":20556,"nodeType":"Block","src":"4871:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323429","id":20551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4921:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},"value":"log(bytes24)"},{"id":20552,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20545,"src":"4937:2:15","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},{"typeIdentifier":"t_bytes24","typeString":"bytes24"}],"expression":{"id":20549,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4897:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4897:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4897:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20548,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"4881:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4881:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20555,"nodeType":"ExpressionStatement","src":"4881:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes24","nameLocation":"4834:10:15","parameters":{"id":20546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20545,"mutability":"mutable","name":"p0","nameLocation":"4853:2:15","nodeType":"VariableDeclaration","scope":20557,"src":"4845:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"},"typeName":{"id":20544,"name":"bytes24","nodeType":"ElementaryTypeName","src":"4845:7:15","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}},"visibility":"internal"}],"src":"4844:12:15"},"returnParameters":{"id":20547,"nodeType":"ParameterList","parameters":[],"src":"4871:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20571,"nodeType":"FunctionDefinition","src":"4954:123:15","nodes":[],"body":{"id":20570,"nodeType":"Block","src":"5000:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323529","id":20565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5050:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},"value":"log(bytes25)"},{"id":20566,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20559,"src":"5066:2:15","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},{"typeIdentifier":"t_bytes25","typeString":"bytes25"}],"expression":{"id":20563,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5026:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5026:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5026:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20562,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"5010:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5010:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20569,"nodeType":"ExpressionStatement","src":"5010:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes25","nameLocation":"4963:10:15","parameters":{"id":20560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20559,"mutability":"mutable","name":"p0","nameLocation":"4982:2:15","nodeType":"VariableDeclaration","scope":20571,"src":"4974:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"},"typeName":{"id":20558,"name":"bytes25","nodeType":"ElementaryTypeName","src":"4974:7:15","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}},"visibility":"internal"}],"src":"4973:12:15"},"returnParameters":{"id":20561,"nodeType":"ParameterList","parameters":[],"src":"5000:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20585,"nodeType":"FunctionDefinition","src":"5083:123:15","nodes":[],"body":{"id":20584,"nodeType":"Block","src":"5129:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323629","id":20579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5179:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},"value":"log(bytes26)"},{"id":20580,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20573,"src":"5195:2:15","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},{"typeIdentifier":"t_bytes26","typeString":"bytes26"}],"expression":{"id":20577,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5155:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5155:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5155:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20576,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"5139:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5139:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20583,"nodeType":"ExpressionStatement","src":"5139:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes26","nameLocation":"5092:10:15","parameters":{"id":20574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20573,"mutability":"mutable","name":"p0","nameLocation":"5111:2:15","nodeType":"VariableDeclaration","scope":20585,"src":"5103:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"},"typeName":{"id":20572,"name":"bytes26","nodeType":"ElementaryTypeName","src":"5103:7:15","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}},"visibility":"internal"}],"src":"5102:12:15"},"returnParameters":{"id":20575,"nodeType":"ParameterList","parameters":[],"src":"5129:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20599,"nodeType":"FunctionDefinition","src":"5212:123:15","nodes":[],"body":{"id":20598,"nodeType":"Block","src":"5258:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323729","id":20593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5308:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},"value":"log(bytes27)"},{"id":20594,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20587,"src":"5324:2:15","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},{"typeIdentifier":"t_bytes27","typeString":"bytes27"}],"expression":{"id":20591,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5284:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5284:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5284:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20590,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"5268:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5268:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20597,"nodeType":"ExpressionStatement","src":"5268:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes27","nameLocation":"5221:10:15","parameters":{"id":20588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20587,"mutability":"mutable","name":"p0","nameLocation":"5240:2:15","nodeType":"VariableDeclaration","scope":20599,"src":"5232:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"},"typeName":{"id":20586,"name":"bytes27","nodeType":"ElementaryTypeName","src":"5232:7:15","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}},"visibility":"internal"}],"src":"5231:12:15"},"returnParameters":{"id":20589,"nodeType":"ParameterList","parameters":[],"src":"5258:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20613,"nodeType":"FunctionDefinition","src":"5341:123:15","nodes":[],"body":{"id":20612,"nodeType":"Block","src":"5387:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323829","id":20607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5437:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},"value":"log(bytes28)"},{"id":20608,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20601,"src":"5453:2:15","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},{"typeIdentifier":"t_bytes28","typeString":"bytes28"}],"expression":{"id":20605,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5413:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5413:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5413:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20604,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"5397:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5397:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20611,"nodeType":"ExpressionStatement","src":"5397:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes28","nameLocation":"5350:10:15","parameters":{"id":20602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20601,"mutability":"mutable","name":"p0","nameLocation":"5369:2:15","nodeType":"VariableDeclaration","scope":20613,"src":"5361:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"},"typeName":{"id":20600,"name":"bytes28","nodeType":"ElementaryTypeName","src":"5361:7:15","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}},"visibility":"internal"}],"src":"5360:12:15"},"returnParameters":{"id":20603,"nodeType":"ParameterList","parameters":[],"src":"5387:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20627,"nodeType":"FunctionDefinition","src":"5470:123:15","nodes":[],"body":{"id":20626,"nodeType":"Block","src":"5516:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323929","id":20621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5566:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},"value":"log(bytes29)"},{"id":20622,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20615,"src":"5582:2:15","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},{"typeIdentifier":"t_bytes29","typeString":"bytes29"}],"expression":{"id":20619,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5542:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5542:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5542:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20618,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"5526:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5526:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20625,"nodeType":"ExpressionStatement","src":"5526:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes29","nameLocation":"5479:10:15","parameters":{"id":20616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20615,"mutability":"mutable","name":"p0","nameLocation":"5498:2:15","nodeType":"VariableDeclaration","scope":20627,"src":"5490:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"},"typeName":{"id":20614,"name":"bytes29","nodeType":"ElementaryTypeName","src":"5490:7:15","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}},"visibility":"internal"}],"src":"5489:12:15"},"returnParameters":{"id":20617,"nodeType":"ParameterList","parameters":[],"src":"5516:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20641,"nodeType":"FunctionDefinition","src":"5599:123:15","nodes":[],"body":{"id":20640,"nodeType":"Block","src":"5645:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333029","id":20635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5695:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},"value":"log(bytes30)"},{"id":20636,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20629,"src":"5711:2:15","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},{"typeIdentifier":"t_bytes30","typeString":"bytes30"}],"expression":{"id":20633,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5671:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5671:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5671:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20632,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"5655:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5655:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20639,"nodeType":"ExpressionStatement","src":"5655:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes30","nameLocation":"5608:10:15","parameters":{"id":20630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20629,"mutability":"mutable","name":"p0","nameLocation":"5627:2:15","nodeType":"VariableDeclaration","scope":20641,"src":"5619:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"},"typeName":{"id":20628,"name":"bytes30","nodeType":"ElementaryTypeName","src":"5619:7:15","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}},"visibility":"internal"}],"src":"5618:12:15"},"returnParameters":{"id":20631,"nodeType":"ParameterList","parameters":[],"src":"5645:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20655,"nodeType":"FunctionDefinition","src":"5728:123:15","nodes":[],"body":{"id":20654,"nodeType":"Block","src":"5774:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333129","id":20649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5824:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},"value":"log(bytes31)"},{"id":20650,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20643,"src":"5840:2:15","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},{"typeIdentifier":"t_bytes31","typeString":"bytes31"}],"expression":{"id":20647,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5800:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20648,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5800:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5800:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20646,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"5784:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5784:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20653,"nodeType":"ExpressionStatement","src":"5784:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes31","nameLocation":"5737:10:15","parameters":{"id":20644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20643,"mutability":"mutable","name":"p0","nameLocation":"5756:2:15","nodeType":"VariableDeclaration","scope":20655,"src":"5748:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"},"typeName":{"id":20642,"name":"bytes31","nodeType":"ElementaryTypeName","src":"5748:7:15","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}},"visibility":"internal"}],"src":"5747:12:15"},"returnParameters":{"id":20645,"nodeType":"ParameterList","parameters":[],"src":"5774:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20669,"nodeType":"FunctionDefinition","src":"5857:123:15","nodes":[],"body":{"id":20668,"nodeType":"Block","src":"5903:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333229","id":20663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5953:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},"value":"log(bytes32)"},{"id":20664,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20657,"src":"5969:2:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":20661,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5929:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5929:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5929:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20660,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"5913:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5913:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20667,"nodeType":"ExpressionStatement","src":"5913:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes32","nameLocation":"5866:10:15","parameters":{"id":20658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20657,"mutability":"mutable","name":"p0","nameLocation":"5885:2:15","nodeType":"VariableDeclaration","scope":20669,"src":"5877:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":20656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5877:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5876:12:15"},"returnParameters":{"id":20659,"nodeType":"ParameterList","parameters":[],"src":"5903:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20683,"nodeType":"FunctionDefinition","src":"5986:116:15","nodes":[],"body":{"id":20682,"nodeType":"Block","src":"6025:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7432353629","id":20677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6075:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},"value":"log(uint256)"},{"id":20678,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20671,"src":"6091:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20675,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6051:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20676,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6051:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6051:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20674,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"6035:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6035:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20681,"nodeType":"ExpressionStatement","src":"6035:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5995:3:15","parameters":{"id":20672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20671,"mutability":"mutable","name":"p0","nameLocation":"6007:2:15","nodeType":"VariableDeclaration","scope":20683,"src":"5999:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20670,"name":"uint256","nodeType":"ElementaryTypeName","src":"5999:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5998:12:15"},"returnParameters":{"id":20673,"nodeType":"ParameterList","parameters":[],"src":"6025:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20697,"nodeType":"FunctionDefinition","src":"6108:114:15","nodes":[],"body":{"id":20696,"nodeType":"Block","src":"6146:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728696e7432353629","id":20691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6196:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},"value":"log(int256)"},{"id":20692,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20685,"src":"6211:2:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":20689,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6172:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6172:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6172:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20688,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"6156:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6156:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20695,"nodeType":"ExpressionStatement","src":"6156:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6117:3:15","parameters":{"id":20686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20685,"mutability":"mutable","name":"p0","nameLocation":"6128:2:15","nodeType":"VariableDeclaration","scope":20697,"src":"6121:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20684,"name":"int256","nodeType":"ElementaryTypeName","src":"6121:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"6120:11:15"},"returnParameters":{"id":20687,"nodeType":"ParameterList","parameters":[],"src":"6146:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20711,"nodeType":"FunctionDefinition","src":"6228:121:15","nodes":[],"body":{"id":20710,"nodeType":"Block","src":"6273:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":20705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6323:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":20706,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20699,"src":"6338:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20703,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6299:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20704,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6299:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6299:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20702,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"6283:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6283:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20709,"nodeType":"ExpressionStatement","src":"6283:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6237:3:15","parameters":{"id":20700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20699,"mutability":"mutable","name":"p0","nameLocation":"6255:2:15","nodeType":"VariableDeclaration","scope":20711,"src":"6241:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20698,"name":"string","nodeType":"ElementaryTypeName","src":"6241:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6240:18:15"},"returnParameters":{"id":20701,"nodeType":"ParameterList","parameters":[],"src":"6273:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20725,"nodeType":"FunctionDefinition","src":"6355:110:15","nodes":[],"body":{"id":20724,"nodeType":"Block","src":"6391:74:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":20719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6441:11:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":20720,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20713,"src":"6454:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20717,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6417:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20718,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6417:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6417:40:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20716,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"6401:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6401:57:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20723,"nodeType":"ExpressionStatement","src":"6401:57:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6364:3:15","parameters":{"id":20714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20713,"mutability":"mutable","name":"p0","nameLocation":"6373:2:15","nodeType":"VariableDeclaration","scope":20725,"src":"6368:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20712,"name":"bool","nodeType":"ElementaryTypeName","src":"6368:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6367:9:15"},"returnParameters":{"id":20715,"nodeType":"ParameterList","parameters":[],"src":"6391:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20739,"nodeType":"FunctionDefinition","src":"6471:116:15","nodes":[],"body":{"id":20738,"nodeType":"Block","src":"6510:77:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":20733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6560:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":20734,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20727,"src":"6576:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20731,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6536:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6536:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6536:43:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20730,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"6520:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6520:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20737,"nodeType":"ExpressionStatement","src":"6520:60:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6480:3:15","parameters":{"id":20728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20727,"mutability":"mutable","name":"p0","nameLocation":"6492:2:15","nodeType":"VariableDeclaration","scope":20739,"src":"6484:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20726,"name":"address","nodeType":"ElementaryTypeName","src":"6484:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6483:12:15"},"returnParameters":{"id":20729,"nodeType":"ParameterList","parameters":[],"src":"6510:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20756,"nodeType":"FunctionDefinition","src":"6593:140:15","nodes":[],"body":{"id":20755,"nodeType":"Block","src":"6644:89:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e7432353629","id":20749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6694:22:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5","typeString":"literal_string \"log(uint256,uint256)\""},"value":"log(uint256,uint256)"},{"id":20750,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20741,"src":"6718:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20751,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20743,"src":"6722:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5","typeString":"literal_string \"log(uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20747,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6670:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6670:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6670:55:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20746,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"6654:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6654:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20754,"nodeType":"ExpressionStatement","src":"6654:72:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6602:3:15","parameters":{"id":20744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20741,"mutability":"mutable","name":"p0","nameLocation":"6614:2:15","nodeType":"VariableDeclaration","scope":20756,"src":"6606:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20740,"name":"uint256","nodeType":"ElementaryTypeName","src":"6606:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20743,"mutability":"mutable","name":"p1","nameLocation":"6626:2:15","nodeType":"VariableDeclaration","scope":20756,"src":"6618:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20742,"name":"uint256","nodeType":"ElementaryTypeName","src":"6618:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6605:24:15"},"returnParameters":{"id":20745,"nodeType":"ParameterList","parameters":[],"src":"6644:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20773,"nodeType":"FunctionDefinition","src":"6739:145:15","nodes":[],"body":{"id":20772,"nodeType":"Block","src":"6796:88:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e6729","id":20766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6846:21:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3","typeString":"literal_string \"log(uint256,string)\""},"value":"log(uint256,string)"},{"id":20767,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20758,"src":"6869:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20768,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20760,"src":"6873:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3","typeString":"literal_string \"log(uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20764,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6822:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6822:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6822:54:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20763,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"6806:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6806:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20771,"nodeType":"ExpressionStatement","src":"6806:71:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6748:3:15","parameters":{"id":20761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20758,"mutability":"mutable","name":"p0","nameLocation":"6760:2:15","nodeType":"VariableDeclaration","scope":20773,"src":"6752:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20757,"name":"uint256","nodeType":"ElementaryTypeName","src":"6752:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20760,"mutability":"mutable","name":"p1","nameLocation":"6778:2:15","nodeType":"VariableDeclaration","scope":20773,"src":"6764:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20759,"name":"string","nodeType":"ElementaryTypeName","src":"6764:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6751:30:15"},"returnParameters":{"id":20762,"nodeType":"ParameterList","parameters":[],"src":"6796:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20790,"nodeType":"FunctionDefinition","src":"6890:134:15","nodes":[],"body":{"id":20789,"nodeType":"Block","src":"6938:86:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c29","id":20783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6988:19:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2","typeString":"literal_string \"log(uint256,bool)\""},"value":"log(uint256,bool)"},{"id":20784,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20775,"src":"7009:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20785,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20777,"src":"7013:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2","typeString":"literal_string \"log(uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20781,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6964:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6964:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6964:52:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20780,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"6948:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6948:69:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20788,"nodeType":"ExpressionStatement","src":"6948:69:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6899:3:15","parameters":{"id":20778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20775,"mutability":"mutable","name":"p0","nameLocation":"6911:2:15","nodeType":"VariableDeclaration","scope":20790,"src":"6903:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20774,"name":"uint256","nodeType":"ElementaryTypeName","src":"6903:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20777,"mutability":"mutable","name":"p1","nameLocation":"6920:2:15","nodeType":"VariableDeclaration","scope":20790,"src":"6915:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20776,"name":"bool","nodeType":"ElementaryTypeName","src":"6915:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6902:21:15"},"returnParameters":{"id":20779,"nodeType":"ParameterList","parameters":[],"src":"6938:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20807,"nodeType":"FunctionDefinition","src":"7030:140:15","nodes":[],"body":{"id":20806,"nodeType":"Block","src":"7081:89:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c6164647265737329","id":20800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7131:22:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27","typeString":"literal_string \"log(uint256,address)\""},"value":"log(uint256,address)"},{"id":20801,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20792,"src":"7155:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":20802,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20794,"src":"7159:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27","typeString":"literal_string \"log(uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20798,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7107:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20799,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7107:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7107:55:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20797,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"7091:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7091:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20805,"nodeType":"ExpressionStatement","src":"7091:72:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7039:3:15","parameters":{"id":20795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20792,"mutability":"mutable","name":"p0","nameLocation":"7051:2:15","nodeType":"VariableDeclaration","scope":20807,"src":"7043:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20791,"name":"uint256","nodeType":"ElementaryTypeName","src":"7043:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":20794,"mutability":"mutable","name":"p1","nameLocation":"7063:2:15","nodeType":"VariableDeclaration","scope":20807,"src":"7055:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20793,"name":"address","nodeType":"ElementaryTypeName","src":"7055:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7042:24:15"},"returnParameters":{"id":20796,"nodeType":"ParameterList","parameters":[],"src":"7081:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20824,"nodeType":"FunctionDefinition","src":"7176:145:15","nodes":[],"body":{"id":20823,"nodeType":"Block","src":"7233:88:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e7432353629","id":20817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7283:21:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},"value":"log(string,uint256)"},{"id":20818,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20809,"src":"7306:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20819,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20811,"src":"7310:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20815,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7259:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7259:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7259:54:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20814,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"7243:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7243:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20822,"nodeType":"ExpressionStatement","src":"7243:71:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7185:3:15","parameters":{"id":20812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20809,"mutability":"mutable","name":"p0","nameLocation":"7203:2:15","nodeType":"VariableDeclaration","scope":20824,"src":"7189:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20808,"name":"string","nodeType":"ElementaryTypeName","src":"7189:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20811,"mutability":"mutable","name":"p1","nameLocation":"7215:2:15","nodeType":"VariableDeclaration","scope":20824,"src":"7207:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20810,"name":"uint256","nodeType":"ElementaryTypeName","src":"7207:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7188:30:15"},"returnParameters":{"id":20813,"nodeType":"ParameterList","parameters":[],"src":"7233:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20841,"nodeType":"FunctionDefinition","src":"7327:143:15","nodes":[],"body":{"id":20840,"nodeType":"Block","src":"7383:87:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c696e7432353629","id":20834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7433:20:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_3ca6268e2d626deb26c45bf74aa3316f24594d4f4b66b5d8fd8e966d88ac4e25","typeString":"literal_string \"log(string,int256)\""},"value":"log(string,int256)"},{"id":20835,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20826,"src":"7455:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20836,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20828,"src":"7459:2:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3ca6268e2d626deb26c45bf74aa3316f24594d4f4b66b5d8fd8e966d88ac4e25","typeString":"literal_string \"log(string,int256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":20832,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7409:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20833,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7409:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7409:53:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20831,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"7393:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7393:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20839,"nodeType":"ExpressionStatement","src":"7393:70:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7336:3:15","parameters":{"id":20829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20826,"mutability":"mutable","name":"p0","nameLocation":"7354:2:15","nodeType":"VariableDeclaration","scope":20841,"src":"7340:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20825,"name":"string","nodeType":"ElementaryTypeName","src":"7340:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20828,"mutability":"mutable","name":"p1","nameLocation":"7365:2:15","nodeType":"VariableDeclaration","scope":20841,"src":"7358:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":20827,"name":"int256","nodeType":"ElementaryTypeName","src":"7358:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7339:29:15"},"returnParameters":{"id":20830,"nodeType":"ParameterList","parameters":[],"src":"7383:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20858,"nodeType":"FunctionDefinition","src":"7476:150:15","nodes":[],"body":{"id":20857,"nodeType":"Block","src":"7539:87:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e6729","id":20851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7589:20:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},"value":"log(string,string)"},{"id":20852,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20843,"src":"7611:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20853,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20845,"src":"7615:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20849,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7565:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20850,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7565:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7565:53:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20848,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"7549:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7549:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20856,"nodeType":"ExpressionStatement","src":"7549:70:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7485:3:15","parameters":{"id":20846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20843,"mutability":"mutable","name":"p0","nameLocation":"7503:2:15","nodeType":"VariableDeclaration","scope":20858,"src":"7489:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20842,"name":"string","nodeType":"ElementaryTypeName","src":"7489:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20845,"mutability":"mutable","name":"p1","nameLocation":"7521:2:15","nodeType":"VariableDeclaration","scope":20858,"src":"7507:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20844,"name":"string","nodeType":"ElementaryTypeName","src":"7507:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7488:36:15"},"returnParameters":{"id":20847,"nodeType":"ParameterList","parameters":[],"src":"7539:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20875,"nodeType":"FunctionDefinition","src":"7632:139:15","nodes":[],"body":{"id":20874,"nodeType":"Block","src":"7686:85:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c29","id":20868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7736:18:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},"value":"log(string,bool)"},{"id":20869,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20860,"src":"7756:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20870,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20862,"src":"7760:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20866,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7712:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7712:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7712:51:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20865,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"7696:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7696:68:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20873,"nodeType":"ExpressionStatement","src":"7696:68:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7641:3:15","parameters":{"id":20863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20860,"mutability":"mutable","name":"p0","nameLocation":"7659:2:15","nodeType":"VariableDeclaration","scope":20875,"src":"7645:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20859,"name":"string","nodeType":"ElementaryTypeName","src":"7645:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20862,"mutability":"mutable","name":"p1","nameLocation":"7668:2:15","nodeType":"VariableDeclaration","scope":20875,"src":"7663:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20861,"name":"bool","nodeType":"ElementaryTypeName","src":"7663:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7644:27:15"},"returnParameters":{"id":20864,"nodeType":"ParameterList","parameters":[],"src":"7686:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20892,"nodeType":"FunctionDefinition","src":"7777:145:15","nodes":[],"body":{"id":20891,"nodeType":"Block","src":"7834:88:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c6164647265737329","id":20885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7884:21:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},"value":"log(string,address)"},{"id":20886,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20877,"src":"7907:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":20887,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20879,"src":"7911:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20883,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7860:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7860:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7860:54:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20882,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"7844:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7844:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20890,"nodeType":"ExpressionStatement","src":"7844:71:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7786:3:15","parameters":{"id":20880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20877,"mutability":"mutable","name":"p0","nameLocation":"7804:2:15","nodeType":"VariableDeclaration","scope":20892,"src":"7790:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20876,"name":"string","nodeType":"ElementaryTypeName","src":"7790:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":20879,"mutability":"mutable","name":"p1","nameLocation":"7816:2:15","nodeType":"VariableDeclaration","scope":20892,"src":"7808:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20878,"name":"address","nodeType":"ElementaryTypeName","src":"7808:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7789:30:15"},"returnParameters":{"id":20881,"nodeType":"ParameterList","parameters":[],"src":"7834:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20909,"nodeType":"FunctionDefinition","src":"7928:134:15","nodes":[],"body":{"id":20908,"nodeType":"Block","src":"7976:86:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e7432353629","id":20902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8026:19:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7","typeString":"literal_string \"log(bool,uint256)\""},"value":"log(bool,uint256)"},{"id":20903,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20894,"src":"8047:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20904,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20896,"src":"8051:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7","typeString":"literal_string \"log(bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20900,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8002:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8002:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8002:52:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20899,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"7986:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7986:69:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20907,"nodeType":"ExpressionStatement","src":"7986:69:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7937:3:15","parameters":{"id":20897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20894,"mutability":"mutable","name":"p0","nameLocation":"7946:2:15","nodeType":"VariableDeclaration","scope":20909,"src":"7941:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20893,"name":"bool","nodeType":"ElementaryTypeName","src":"7941:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20896,"mutability":"mutable","name":"p1","nameLocation":"7958:2:15","nodeType":"VariableDeclaration","scope":20909,"src":"7950:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20895,"name":"uint256","nodeType":"ElementaryTypeName","src":"7950:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7940:21:15"},"returnParameters":{"id":20898,"nodeType":"ParameterList","parameters":[],"src":"7976:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20926,"nodeType":"FunctionDefinition","src":"8068:139:15","nodes":[],"body":{"id":20925,"nodeType":"Block","src":"8122:85:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e6729","id":20919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8172:18:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},"value":"log(bool,string)"},{"id":20920,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20911,"src":"8192:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20921,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20913,"src":"8196:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20917,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8148:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20918,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8148:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8148:51:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20916,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"8132:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8132:68:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20924,"nodeType":"ExpressionStatement","src":"8132:68:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8077:3:15","parameters":{"id":20914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20911,"mutability":"mutable","name":"p0","nameLocation":"8086:2:15","nodeType":"VariableDeclaration","scope":20926,"src":"8081:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20910,"name":"bool","nodeType":"ElementaryTypeName","src":"8081:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20913,"mutability":"mutable","name":"p1","nameLocation":"8104:2:15","nodeType":"VariableDeclaration","scope":20926,"src":"8090:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20912,"name":"string","nodeType":"ElementaryTypeName","src":"8090:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8080:27:15"},"returnParameters":{"id":20915,"nodeType":"ParameterList","parameters":[],"src":"8122:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20943,"nodeType":"FunctionDefinition","src":"8213:128:15","nodes":[],"body":{"id":20942,"nodeType":"Block","src":"8258:83:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c29","id":20936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8308:16:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},"value":"log(bool,bool)"},{"id":20937,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20928,"src":"8326:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20938,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20930,"src":"8330:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":20934,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8284:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8284:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8284:49:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20933,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"8268:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8268:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20941,"nodeType":"ExpressionStatement","src":"8268:66:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8222:3:15","parameters":{"id":20931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20928,"mutability":"mutable","name":"p0","nameLocation":"8231:2:15","nodeType":"VariableDeclaration","scope":20943,"src":"8226:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20927,"name":"bool","nodeType":"ElementaryTypeName","src":"8226:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20930,"mutability":"mutable","name":"p1","nameLocation":"8240:2:15","nodeType":"VariableDeclaration","scope":20943,"src":"8235:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20929,"name":"bool","nodeType":"ElementaryTypeName","src":"8235:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8225:18:15"},"returnParameters":{"id":20932,"nodeType":"ParameterList","parameters":[],"src":"8258:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20960,"nodeType":"FunctionDefinition","src":"8347:134:15","nodes":[],"body":{"id":20959,"nodeType":"Block","src":"8395:86:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c6164647265737329","id":20953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8445:19:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},"value":"log(bool,address)"},{"id":20954,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20945,"src":"8466:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":20955,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20947,"src":"8470:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":20951,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8421:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8421:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8421:52:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20950,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"8405:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8405:69:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20958,"nodeType":"ExpressionStatement","src":"8405:69:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8356:3:15","parameters":{"id":20948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20945,"mutability":"mutable","name":"p0","nameLocation":"8365:2:15","nodeType":"VariableDeclaration","scope":20960,"src":"8360:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20944,"name":"bool","nodeType":"ElementaryTypeName","src":"8360:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":20947,"mutability":"mutable","name":"p1","nameLocation":"8377:2:15","nodeType":"VariableDeclaration","scope":20960,"src":"8369:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20946,"name":"address","nodeType":"ElementaryTypeName","src":"8369:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8359:21:15"},"returnParameters":{"id":20949,"nodeType":"ParameterList","parameters":[],"src":"8395:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20977,"nodeType":"FunctionDefinition","src":"8487:140:15","nodes":[],"body":{"id":20976,"nodeType":"Block","src":"8538:89:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e7432353629","id":20970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8588:22:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e","typeString":"literal_string \"log(address,uint256)\""},"value":"log(address,uint256)"},{"id":20971,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20962,"src":"8612:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20972,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20964,"src":"8616:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e","typeString":"literal_string \"log(address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":20968,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8564:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8564:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8564:55:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20967,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"8548:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8548:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20975,"nodeType":"ExpressionStatement","src":"8548:72:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8496:3:15","parameters":{"id":20965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20962,"mutability":"mutable","name":"p0","nameLocation":"8508:2:15","nodeType":"VariableDeclaration","scope":20977,"src":"8500:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20961,"name":"address","nodeType":"ElementaryTypeName","src":"8500:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20964,"mutability":"mutable","name":"p1","nameLocation":"8520:2:15","nodeType":"VariableDeclaration","scope":20977,"src":"8512:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":20963,"name":"uint256","nodeType":"ElementaryTypeName","src":"8512:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8499:24:15"},"returnParameters":{"id":20966,"nodeType":"ParameterList","parameters":[],"src":"8538:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":20994,"nodeType":"FunctionDefinition","src":"8633:145:15","nodes":[],"body":{"id":20993,"nodeType":"Block","src":"8690:88:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e6729","id":20987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8740:21:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},"value":"log(address,string)"},{"id":20988,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20979,"src":"8763:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":20989,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20981,"src":"8767:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":20985,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8716:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":20986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8716:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":20990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8716:54:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":20984,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"8700:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":20991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8700:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":20992,"nodeType":"ExpressionStatement","src":"8700:71:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8642:3:15","parameters":{"id":20982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20979,"mutability":"mutable","name":"p0","nameLocation":"8654:2:15","nodeType":"VariableDeclaration","scope":20994,"src":"8646:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20978,"name":"address","nodeType":"ElementaryTypeName","src":"8646:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20981,"mutability":"mutable","name":"p1","nameLocation":"8672:2:15","nodeType":"VariableDeclaration","scope":20994,"src":"8658:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":20980,"name":"string","nodeType":"ElementaryTypeName","src":"8658:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8645:30:15"},"returnParameters":{"id":20983,"nodeType":"ParameterList","parameters":[],"src":"8690:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21011,"nodeType":"FunctionDefinition","src":"8784:134:15","nodes":[],"body":{"id":21010,"nodeType":"Block","src":"8832:86:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c29","id":21004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8882:19:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},"value":"log(address,bool)"},{"id":21005,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20996,"src":"8903:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21006,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20998,"src":"8907:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21002,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8858:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8858:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8858:52:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21001,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"8842:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8842:69:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21009,"nodeType":"ExpressionStatement","src":"8842:69:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8793:3:15","parameters":{"id":20999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":20996,"mutability":"mutable","name":"p0","nameLocation":"8805:2:15","nodeType":"VariableDeclaration","scope":21011,"src":"8797:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":20995,"name":"address","nodeType":"ElementaryTypeName","src":"8797:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":20998,"mutability":"mutable","name":"p1","nameLocation":"8814:2:15","nodeType":"VariableDeclaration","scope":21011,"src":"8809:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":20997,"name":"bool","nodeType":"ElementaryTypeName","src":"8809:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8796:21:15"},"returnParameters":{"id":21000,"nodeType":"ParameterList","parameters":[],"src":"8832:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21028,"nodeType":"FunctionDefinition","src":"8924:140:15","nodes":[],"body":{"id":21027,"nodeType":"Block","src":"8975:89:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c6164647265737329","id":21021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9025:22:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},"value":"log(address,address)"},{"id":21022,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21013,"src":"9049:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21023,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21015,"src":"9053:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21019,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9001:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9001:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9001:55:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21018,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"8985:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8985:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21026,"nodeType":"ExpressionStatement","src":"8985:72:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8933:3:15","parameters":{"id":21016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21013,"mutability":"mutable","name":"p0","nameLocation":"8945:2:15","nodeType":"VariableDeclaration","scope":21028,"src":"8937:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21012,"name":"address","nodeType":"ElementaryTypeName","src":"8937:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21015,"mutability":"mutable","name":"p1","nameLocation":"8957:2:15","nodeType":"VariableDeclaration","scope":21028,"src":"8949:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21014,"name":"address","nodeType":"ElementaryTypeName","src":"8949:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8936:24:15"},"returnParameters":{"id":21017,"nodeType":"ParameterList","parameters":[],"src":"8975:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21048,"nodeType":"FunctionDefinition","src":"9070:164:15","nodes":[],"body":{"id":21047,"nodeType":"Block","src":"9133:101:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e7432353629","id":21040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9183:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6","typeString":"literal_string \"log(uint256,uint256,uint256)\""},"value":"log(uint256,uint256,uint256)"},{"id":21041,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21030,"src":"9215:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21042,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21032,"src":"9219:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21043,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21034,"src":"9223:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6","typeString":"literal_string \"log(uint256,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21038,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9159:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9159:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9159:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21037,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"9143:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9143:84:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21046,"nodeType":"ExpressionStatement","src":"9143:84:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9079:3:15","parameters":{"id":21035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21030,"mutability":"mutable","name":"p0","nameLocation":"9091:2:15","nodeType":"VariableDeclaration","scope":21048,"src":"9083:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21029,"name":"uint256","nodeType":"ElementaryTypeName","src":"9083:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21032,"mutability":"mutable","name":"p1","nameLocation":"9103:2:15","nodeType":"VariableDeclaration","scope":21048,"src":"9095:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21031,"name":"uint256","nodeType":"ElementaryTypeName","src":"9095:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21034,"mutability":"mutable","name":"p2","nameLocation":"9115:2:15","nodeType":"VariableDeclaration","scope":21048,"src":"9107:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21033,"name":"uint256","nodeType":"ElementaryTypeName","src":"9107:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9082:36:15"},"returnParameters":{"id":21036,"nodeType":"ParameterList","parameters":[],"src":"9133:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21068,"nodeType":"FunctionDefinition","src":"9240:169:15","nodes":[],"body":{"id":21067,"nodeType":"Block","src":"9309:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e6729","id":21060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9359:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262","typeString":"literal_string \"log(uint256,uint256,string)\""},"value":"log(uint256,uint256,string)"},{"id":21061,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21050,"src":"9390:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21062,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21052,"src":"9394:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21063,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21054,"src":"9398:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262","typeString":"literal_string \"log(uint256,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21058,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9335:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9335:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9335:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21057,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"9319:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9319:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21066,"nodeType":"ExpressionStatement","src":"9319:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9249:3:15","parameters":{"id":21055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21050,"mutability":"mutable","name":"p0","nameLocation":"9261:2:15","nodeType":"VariableDeclaration","scope":21068,"src":"9253:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21049,"name":"uint256","nodeType":"ElementaryTypeName","src":"9253:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21052,"mutability":"mutable","name":"p1","nameLocation":"9273:2:15","nodeType":"VariableDeclaration","scope":21068,"src":"9265:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21051,"name":"uint256","nodeType":"ElementaryTypeName","src":"9265:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21054,"mutability":"mutable","name":"p2","nameLocation":"9291:2:15","nodeType":"VariableDeclaration","scope":21068,"src":"9277:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21053,"name":"string","nodeType":"ElementaryTypeName","src":"9277:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9252:42:15"},"returnParameters":{"id":21056,"nodeType":"ParameterList","parameters":[],"src":"9309:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21088,"nodeType":"FunctionDefinition","src":"9415:158:15","nodes":[],"body":{"id":21087,"nodeType":"Block","src":"9475:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c29","id":21080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9525:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0","typeString":"literal_string \"log(uint256,uint256,bool)\""},"value":"log(uint256,uint256,bool)"},{"id":21081,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21070,"src":"9554:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21082,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21072,"src":"9558:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21083,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21074,"src":"9562:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0","typeString":"literal_string \"log(uint256,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21078,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9501:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9501:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9501:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21077,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"9485:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9485:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21086,"nodeType":"ExpressionStatement","src":"9485:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9424:3:15","parameters":{"id":21075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21070,"mutability":"mutable","name":"p0","nameLocation":"9436:2:15","nodeType":"VariableDeclaration","scope":21088,"src":"9428:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21069,"name":"uint256","nodeType":"ElementaryTypeName","src":"9428:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21072,"mutability":"mutable","name":"p1","nameLocation":"9448:2:15","nodeType":"VariableDeclaration","scope":21088,"src":"9440:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21071,"name":"uint256","nodeType":"ElementaryTypeName","src":"9440:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21074,"mutability":"mutable","name":"p2","nameLocation":"9457:2:15","nodeType":"VariableDeclaration","scope":21088,"src":"9452:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21073,"name":"bool","nodeType":"ElementaryTypeName","src":"9452:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9427:33:15"},"returnParameters":{"id":21076,"nodeType":"ParameterList","parameters":[],"src":"9475:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21108,"nodeType":"FunctionDefinition","src":"9579:164:15","nodes":[],"body":{"id":21107,"nodeType":"Block","src":"9642:101:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c6164647265737329","id":21100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9692:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1","typeString":"literal_string \"log(uint256,uint256,address)\""},"value":"log(uint256,uint256,address)"},{"id":21101,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21090,"src":"9724:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21102,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21092,"src":"9728:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21103,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21094,"src":"9732:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1","typeString":"literal_string \"log(uint256,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21098,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9668:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9668:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9668:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21097,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"9652:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9652:84:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21106,"nodeType":"ExpressionStatement","src":"9652:84:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9588:3:15","parameters":{"id":21095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21090,"mutability":"mutable","name":"p0","nameLocation":"9600:2:15","nodeType":"VariableDeclaration","scope":21108,"src":"9592:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21089,"name":"uint256","nodeType":"ElementaryTypeName","src":"9592:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21092,"mutability":"mutable","name":"p1","nameLocation":"9612:2:15","nodeType":"VariableDeclaration","scope":21108,"src":"9604:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21091,"name":"uint256","nodeType":"ElementaryTypeName","src":"9604:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21094,"mutability":"mutable","name":"p2","nameLocation":"9624:2:15","nodeType":"VariableDeclaration","scope":21108,"src":"9616:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21093,"name":"address","nodeType":"ElementaryTypeName","src":"9616:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9591:36:15"},"returnParameters":{"id":21096,"nodeType":"ParameterList","parameters":[],"src":"9642:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21128,"nodeType":"FunctionDefinition","src":"9749:169:15","nodes":[],"body":{"id":21127,"nodeType":"Block","src":"9818:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e7432353629","id":21120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9868:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0","typeString":"literal_string \"log(uint256,string,uint256)\""},"value":"log(uint256,string,uint256)"},{"id":21121,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21110,"src":"9899:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21122,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21112,"src":"9903:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21123,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21114,"src":"9907:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0","typeString":"literal_string \"log(uint256,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21118,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9844:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9844:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9844:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21117,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"9828:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9828:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21126,"nodeType":"ExpressionStatement","src":"9828:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9758:3:15","parameters":{"id":21115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21110,"mutability":"mutable","name":"p0","nameLocation":"9770:2:15","nodeType":"VariableDeclaration","scope":21128,"src":"9762:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21109,"name":"uint256","nodeType":"ElementaryTypeName","src":"9762:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21112,"mutability":"mutable","name":"p1","nameLocation":"9788:2:15","nodeType":"VariableDeclaration","scope":21128,"src":"9774:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21111,"name":"string","nodeType":"ElementaryTypeName","src":"9774:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21114,"mutability":"mutable","name":"p2","nameLocation":"9800:2:15","nodeType":"VariableDeclaration","scope":21128,"src":"9792:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21113,"name":"uint256","nodeType":"ElementaryTypeName","src":"9792:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9761:42:15"},"returnParameters":{"id":21116,"nodeType":"ParameterList","parameters":[],"src":"9818:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21148,"nodeType":"FunctionDefinition","src":"9924:174:15","nodes":[],"body":{"id":21147,"nodeType":"Block","src":"9999:99:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e6729","id":21140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10049:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35","typeString":"literal_string \"log(uint256,string,string)\""},"value":"log(uint256,string,string)"},{"id":21141,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21130,"src":"10079:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21142,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21132,"src":"10083:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21143,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21134,"src":"10087:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35","typeString":"literal_string \"log(uint256,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21138,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10025:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10025:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10025:65:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21137,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"10009:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10009:82:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21146,"nodeType":"ExpressionStatement","src":"10009:82:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9933:3:15","parameters":{"id":21135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21130,"mutability":"mutable","name":"p0","nameLocation":"9945:2:15","nodeType":"VariableDeclaration","scope":21148,"src":"9937:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21129,"name":"uint256","nodeType":"ElementaryTypeName","src":"9937:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21132,"mutability":"mutable","name":"p1","nameLocation":"9963:2:15","nodeType":"VariableDeclaration","scope":21148,"src":"9949:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21131,"name":"string","nodeType":"ElementaryTypeName","src":"9949:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21134,"mutability":"mutable","name":"p2","nameLocation":"9981:2:15","nodeType":"VariableDeclaration","scope":21148,"src":"9967:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21133,"name":"string","nodeType":"ElementaryTypeName","src":"9967:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9936:48:15"},"returnParameters":{"id":21136,"nodeType":"ParameterList","parameters":[],"src":"9999:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21168,"nodeType":"FunctionDefinition","src":"10104:163:15","nodes":[],"body":{"id":21167,"nodeType":"Block","src":"10170:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c29","id":21160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10220:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a","typeString":"literal_string \"log(uint256,string,bool)\""},"value":"log(uint256,string,bool)"},{"id":21161,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21150,"src":"10248:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21162,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21152,"src":"10252:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21163,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21154,"src":"10256:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a","typeString":"literal_string \"log(uint256,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21158,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10196:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10196:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10196:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21157,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"10180:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10180:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21166,"nodeType":"ExpressionStatement","src":"10180:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10113:3:15","parameters":{"id":21155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21150,"mutability":"mutable","name":"p0","nameLocation":"10125:2:15","nodeType":"VariableDeclaration","scope":21168,"src":"10117:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21149,"name":"uint256","nodeType":"ElementaryTypeName","src":"10117:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21152,"mutability":"mutable","name":"p1","nameLocation":"10143:2:15","nodeType":"VariableDeclaration","scope":21168,"src":"10129:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21151,"name":"string","nodeType":"ElementaryTypeName","src":"10129:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21154,"mutability":"mutable","name":"p2","nameLocation":"10152:2:15","nodeType":"VariableDeclaration","scope":21168,"src":"10147:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21153,"name":"bool","nodeType":"ElementaryTypeName","src":"10147:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10116:39:15"},"returnParameters":{"id":21156,"nodeType":"ParameterList","parameters":[],"src":"10170:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21188,"nodeType":"FunctionDefinition","src":"10273:169:15","nodes":[],"body":{"id":21187,"nodeType":"Block","src":"10342:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c6164647265737329","id":21180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10392:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2","typeString":"literal_string \"log(uint256,string,address)\""},"value":"log(uint256,string,address)"},{"id":21181,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21170,"src":"10423:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21182,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21172,"src":"10427:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21183,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21174,"src":"10431:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2","typeString":"literal_string \"log(uint256,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21178,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10368:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10368:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10368:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21177,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"10352:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10352:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21186,"nodeType":"ExpressionStatement","src":"10352:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10282:3:15","parameters":{"id":21175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21170,"mutability":"mutable","name":"p0","nameLocation":"10294:2:15","nodeType":"VariableDeclaration","scope":21188,"src":"10286:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21169,"name":"uint256","nodeType":"ElementaryTypeName","src":"10286:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21172,"mutability":"mutable","name":"p1","nameLocation":"10312:2:15","nodeType":"VariableDeclaration","scope":21188,"src":"10298:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21171,"name":"string","nodeType":"ElementaryTypeName","src":"10298:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21174,"mutability":"mutable","name":"p2","nameLocation":"10324:2:15","nodeType":"VariableDeclaration","scope":21188,"src":"10316:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21173,"name":"address","nodeType":"ElementaryTypeName","src":"10316:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10285:42:15"},"returnParameters":{"id":21176,"nodeType":"ParameterList","parameters":[],"src":"10342:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21208,"nodeType":"FunctionDefinition","src":"10448:158:15","nodes":[],"body":{"id":21207,"nodeType":"Block","src":"10508:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e7432353629","id":21200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10558:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1","typeString":"literal_string \"log(uint256,bool,uint256)\""},"value":"log(uint256,bool,uint256)"},{"id":21201,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21190,"src":"10587:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21202,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21192,"src":"10591:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21203,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21194,"src":"10595:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1","typeString":"literal_string \"log(uint256,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21198,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10534:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10534:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10534:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21197,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"10518:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10518:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21206,"nodeType":"ExpressionStatement","src":"10518:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10457:3:15","parameters":{"id":21195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21190,"mutability":"mutable","name":"p0","nameLocation":"10469:2:15","nodeType":"VariableDeclaration","scope":21208,"src":"10461:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21189,"name":"uint256","nodeType":"ElementaryTypeName","src":"10461:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21192,"mutability":"mutable","name":"p1","nameLocation":"10478:2:15","nodeType":"VariableDeclaration","scope":21208,"src":"10473:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21191,"name":"bool","nodeType":"ElementaryTypeName","src":"10473:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21194,"mutability":"mutable","name":"p2","nameLocation":"10490:2:15","nodeType":"VariableDeclaration","scope":21208,"src":"10482:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21193,"name":"uint256","nodeType":"ElementaryTypeName","src":"10482:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10460:33:15"},"returnParameters":{"id":21196,"nodeType":"ParameterList","parameters":[],"src":"10508:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21228,"nodeType":"FunctionDefinition","src":"10612:163:15","nodes":[],"body":{"id":21227,"nodeType":"Block","src":"10678:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e6729","id":21220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10728:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df","typeString":"literal_string \"log(uint256,bool,string)\""},"value":"log(uint256,bool,string)"},{"id":21221,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21210,"src":"10756:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21222,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21212,"src":"10760:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21223,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21214,"src":"10764:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df","typeString":"literal_string \"log(uint256,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21218,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10704:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10704:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10704:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21217,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"10688:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10688:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21226,"nodeType":"ExpressionStatement","src":"10688:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10621:3:15","parameters":{"id":21215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21210,"mutability":"mutable","name":"p0","nameLocation":"10633:2:15","nodeType":"VariableDeclaration","scope":21228,"src":"10625:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21209,"name":"uint256","nodeType":"ElementaryTypeName","src":"10625:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21212,"mutability":"mutable","name":"p1","nameLocation":"10642:2:15","nodeType":"VariableDeclaration","scope":21228,"src":"10637:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21211,"name":"bool","nodeType":"ElementaryTypeName","src":"10637:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21214,"mutability":"mutable","name":"p2","nameLocation":"10660:2:15","nodeType":"VariableDeclaration","scope":21228,"src":"10646:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21213,"name":"string","nodeType":"ElementaryTypeName","src":"10646:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10624:39:15"},"returnParameters":{"id":21216,"nodeType":"ParameterList","parameters":[],"src":"10678:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21248,"nodeType":"FunctionDefinition","src":"10781:152:15","nodes":[],"body":{"id":21247,"nodeType":"Block","src":"10838:95:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c29","id":21240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10888:24:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6","typeString":"literal_string \"log(uint256,bool,bool)\""},"value":"log(uint256,bool,bool)"},{"id":21241,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21230,"src":"10914:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21242,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21232,"src":"10918:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21243,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21234,"src":"10922:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6","typeString":"literal_string \"log(uint256,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21238,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10864:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10864:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10864:61:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21237,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"10848:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10848:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21246,"nodeType":"ExpressionStatement","src":"10848:78:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10790:3:15","parameters":{"id":21235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21230,"mutability":"mutable","name":"p0","nameLocation":"10802:2:15","nodeType":"VariableDeclaration","scope":21248,"src":"10794:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21229,"name":"uint256","nodeType":"ElementaryTypeName","src":"10794:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21232,"mutability":"mutable","name":"p1","nameLocation":"10811:2:15","nodeType":"VariableDeclaration","scope":21248,"src":"10806:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21231,"name":"bool","nodeType":"ElementaryTypeName","src":"10806:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21234,"mutability":"mutable","name":"p2","nameLocation":"10820:2:15","nodeType":"VariableDeclaration","scope":21248,"src":"10815:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21233,"name":"bool","nodeType":"ElementaryTypeName","src":"10815:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10793:30:15"},"returnParameters":{"id":21236,"nodeType":"ParameterList","parameters":[],"src":"10838:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21268,"nodeType":"FunctionDefinition","src":"10939:158:15","nodes":[],"body":{"id":21267,"nodeType":"Block","src":"10999:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c6164647265737329","id":21260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11049:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99","typeString":"literal_string \"log(uint256,bool,address)\""},"value":"log(uint256,bool,address)"},{"id":21261,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21250,"src":"11078:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21262,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21252,"src":"11082:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21263,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21254,"src":"11086:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99","typeString":"literal_string \"log(uint256,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21258,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11025:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11025:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11025:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21257,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"11009:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11009:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21266,"nodeType":"ExpressionStatement","src":"11009:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10948:3:15","parameters":{"id":21255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21250,"mutability":"mutable","name":"p0","nameLocation":"10960:2:15","nodeType":"VariableDeclaration","scope":21268,"src":"10952:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21249,"name":"uint256","nodeType":"ElementaryTypeName","src":"10952:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21252,"mutability":"mutable","name":"p1","nameLocation":"10969:2:15","nodeType":"VariableDeclaration","scope":21268,"src":"10964:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21251,"name":"bool","nodeType":"ElementaryTypeName","src":"10964:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21254,"mutability":"mutable","name":"p2","nameLocation":"10981:2:15","nodeType":"VariableDeclaration","scope":21268,"src":"10973:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21253,"name":"address","nodeType":"ElementaryTypeName","src":"10973:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10951:33:15"},"returnParameters":{"id":21256,"nodeType":"ParameterList","parameters":[],"src":"10999:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21288,"nodeType":"FunctionDefinition","src":"11103:164:15","nodes":[],"body":{"id":21287,"nodeType":"Block","src":"11166:101:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e7432353629","id":21280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11216:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae","typeString":"literal_string \"log(uint256,address,uint256)\""},"value":"log(uint256,address,uint256)"},{"id":21281,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21270,"src":"11248:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21282,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21272,"src":"11252:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21283,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21274,"src":"11256:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae","typeString":"literal_string \"log(uint256,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21278,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11192:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21279,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11192:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11192:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21277,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"11176:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11176:84:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21286,"nodeType":"ExpressionStatement","src":"11176:84:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11112:3:15","parameters":{"id":21275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21270,"mutability":"mutable","name":"p0","nameLocation":"11124:2:15","nodeType":"VariableDeclaration","scope":21288,"src":"11116:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21269,"name":"uint256","nodeType":"ElementaryTypeName","src":"11116:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21272,"mutability":"mutable","name":"p1","nameLocation":"11136:2:15","nodeType":"VariableDeclaration","scope":21288,"src":"11128:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21271,"name":"address","nodeType":"ElementaryTypeName","src":"11128:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21274,"mutability":"mutable","name":"p2","nameLocation":"11148:2:15","nodeType":"VariableDeclaration","scope":21288,"src":"11140:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21273,"name":"uint256","nodeType":"ElementaryTypeName","src":"11140:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11115:36:15"},"returnParameters":{"id":21276,"nodeType":"ParameterList","parameters":[],"src":"11166:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21308,"nodeType":"FunctionDefinition","src":"11273:169:15","nodes":[],"body":{"id":21307,"nodeType":"Block","src":"11342:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e6729","id":21300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11392:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c","typeString":"literal_string \"log(uint256,address,string)\""},"value":"log(uint256,address,string)"},{"id":21301,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21290,"src":"11423:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21302,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21292,"src":"11427:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21303,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21294,"src":"11431:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c","typeString":"literal_string \"log(uint256,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21298,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11368:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11368:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11368:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21297,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"11352:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11352:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21306,"nodeType":"ExpressionStatement","src":"11352:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11282:3:15","parameters":{"id":21295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21290,"mutability":"mutable","name":"p0","nameLocation":"11294:2:15","nodeType":"VariableDeclaration","scope":21308,"src":"11286:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21289,"name":"uint256","nodeType":"ElementaryTypeName","src":"11286:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21292,"mutability":"mutable","name":"p1","nameLocation":"11306:2:15","nodeType":"VariableDeclaration","scope":21308,"src":"11298:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21291,"name":"address","nodeType":"ElementaryTypeName","src":"11298:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21294,"mutability":"mutable","name":"p2","nameLocation":"11324:2:15","nodeType":"VariableDeclaration","scope":21308,"src":"11310:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21293,"name":"string","nodeType":"ElementaryTypeName","src":"11310:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11285:42:15"},"returnParameters":{"id":21296,"nodeType":"ParameterList","parameters":[],"src":"11342:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21328,"nodeType":"FunctionDefinition","src":"11448:158:15","nodes":[],"body":{"id":21327,"nodeType":"Block","src":"11508:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c29","id":21320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11558:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c","typeString":"literal_string \"log(uint256,address,bool)\""},"value":"log(uint256,address,bool)"},{"id":21321,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21310,"src":"11587:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21322,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21312,"src":"11591:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21323,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21314,"src":"11595:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c","typeString":"literal_string \"log(uint256,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21318,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11534:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11534:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11534:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21317,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"11518:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11518:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21326,"nodeType":"ExpressionStatement","src":"11518:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11457:3:15","parameters":{"id":21315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21310,"mutability":"mutable","name":"p0","nameLocation":"11469:2:15","nodeType":"VariableDeclaration","scope":21328,"src":"11461:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21309,"name":"uint256","nodeType":"ElementaryTypeName","src":"11461:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21312,"mutability":"mutable","name":"p1","nameLocation":"11481:2:15","nodeType":"VariableDeclaration","scope":21328,"src":"11473:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21311,"name":"address","nodeType":"ElementaryTypeName","src":"11473:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21314,"mutability":"mutable","name":"p2","nameLocation":"11490:2:15","nodeType":"VariableDeclaration","scope":21328,"src":"11485:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21313,"name":"bool","nodeType":"ElementaryTypeName","src":"11485:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11460:33:15"},"returnParameters":{"id":21316,"nodeType":"ParameterList","parameters":[],"src":"11508:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21348,"nodeType":"FunctionDefinition","src":"11612:164:15","nodes":[],"body":{"id":21347,"nodeType":"Block","src":"11675:101:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c6164647265737329","id":21340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11725:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda","typeString":"literal_string \"log(uint256,address,address)\""},"value":"log(uint256,address,address)"},{"id":21341,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21330,"src":"11757:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21342,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21332,"src":"11761:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21343,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21334,"src":"11765:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda","typeString":"literal_string \"log(uint256,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21338,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11701:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11701:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11701:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21337,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"11685:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11685:84:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21346,"nodeType":"ExpressionStatement","src":"11685:84:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11621:3:15","parameters":{"id":21335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21330,"mutability":"mutable","name":"p0","nameLocation":"11633:2:15","nodeType":"VariableDeclaration","scope":21348,"src":"11625:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21329,"name":"uint256","nodeType":"ElementaryTypeName","src":"11625:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21332,"mutability":"mutable","name":"p1","nameLocation":"11645:2:15","nodeType":"VariableDeclaration","scope":21348,"src":"11637:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21331,"name":"address","nodeType":"ElementaryTypeName","src":"11637:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21334,"mutability":"mutable","name":"p2","nameLocation":"11657:2:15","nodeType":"VariableDeclaration","scope":21348,"src":"11649:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21333,"name":"address","nodeType":"ElementaryTypeName","src":"11649:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11624:36:15"},"returnParameters":{"id":21336,"nodeType":"ParameterList","parameters":[],"src":"11675:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21368,"nodeType":"FunctionDefinition","src":"11782:169:15","nodes":[],"body":{"id":21367,"nodeType":"Block","src":"11851:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e7432353629","id":21360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11901:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece","typeString":"literal_string \"log(string,uint256,uint256)\""},"value":"log(string,uint256,uint256)"},{"id":21361,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21350,"src":"11932:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21362,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21352,"src":"11936:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21363,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21354,"src":"11940:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece","typeString":"literal_string \"log(string,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21358,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11877:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11877:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11877:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21357,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"11861:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11861:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21366,"nodeType":"ExpressionStatement","src":"11861:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11791:3:15","parameters":{"id":21355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21350,"mutability":"mutable","name":"p0","nameLocation":"11809:2:15","nodeType":"VariableDeclaration","scope":21368,"src":"11795:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21349,"name":"string","nodeType":"ElementaryTypeName","src":"11795:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21352,"mutability":"mutable","name":"p1","nameLocation":"11821:2:15","nodeType":"VariableDeclaration","scope":21368,"src":"11813:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21351,"name":"uint256","nodeType":"ElementaryTypeName","src":"11813:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21354,"mutability":"mutable","name":"p2","nameLocation":"11833:2:15","nodeType":"VariableDeclaration","scope":21368,"src":"11825:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21353,"name":"uint256","nodeType":"ElementaryTypeName","src":"11825:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11794:42:15"},"returnParameters":{"id":21356,"nodeType":"ParameterList","parameters":[],"src":"11851:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21388,"nodeType":"FunctionDefinition","src":"11957:174:15","nodes":[],"body":{"id":21387,"nodeType":"Block","src":"12032:99:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e6729","id":21380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12082:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf","typeString":"literal_string \"log(string,uint256,string)\""},"value":"log(string,uint256,string)"},{"id":21381,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21370,"src":"12112:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21382,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21372,"src":"12116:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21383,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21374,"src":"12120:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf","typeString":"literal_string \"log(string,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21378,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12058:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12058:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12058:65:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21377,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"12042:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12042:82:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21386,"nodeType":"ExpressionStatement","src":"12042:82:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11966:3:15","parameters":{"id":21375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21370,"mutability":"mutable","name":"p0","nameLocation":"11984:2:15","nodeType":"VariableDeclaration","scope":21388,"src":"11970:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21369,"name":"string","nodeType":"ElementaryTypeName","src":"11970:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21372,"mutability":"mutable","name":"p1","nameLocation":"11996:2:15","nodeType":"VariableDeclaration","scope":21388,"src":"11988:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21371,"name":"uint256","nodeType":"ElementaryTypeName","src":"11988:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21374,"mutability":"mutable","name":"p2","nameLocation":"12014:2:15","nodeType":"VariableDeclaration","scope":21388,"src":"12000:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21373,"name":"string","nodeType":"ElementaryTypeName","src":"12000:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11969:48:15"},"returnParameters":{"id":21376,"nodeType":"ParameterList","parameters":[],"src":"12032:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21408,"nodeType":"FunctionDefinition","src":"12137:163:15","nodes":[],"body":{"id":21407,"nodeType":"Block","src":"12203:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c29","id":21400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12253:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e","typeString":"literal_string \"log(string,uint256,bool)\""},"value":"log(string,uint256,bool)"},{"id":21401,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21390,"src":"12281:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21402,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21392,"src":"12285:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21403,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21394,"src":"12289:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e","typeString":"literal_string \"log(string,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21398,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12229:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12229:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12229:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21397,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"12213:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12213:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21406,"nodeType":"ExpressionStatement","src":"12213:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12146:3:15","parameters":{"id":21395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21390,"mutability":"mutable","name":"p0","nameLocation":"12164:2:15","nodeType":"VariableDeclaration","scope":21408,"src":"12150:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21389,"name":"string","nodeType":"ElementaryTypeName","src":"12150:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21392,"mutability":"mutable","name":"p1","nameLocation":"12176:2:15","nodeType":"VariableDeclaration","scope":21408,"src":"12168:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21391,"name":"uint256","nodeType":"ElementaryTypeName","src":"12168:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21394,"mutability":"mutable","name":"p2","nameLocation":"12185:2:15","nodeType":"VariableDeclaration","scope":21408,"src":"12180:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21393,"name":"bool","nodeType":"ElementaryTypeName","src":"12180:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12149:39:15"},"returnParameters":{"id":21396,"nodeType":"ParameterList","parameters":[],"src":"12203:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21428,"nodeType":"FunctionDefinition","src":"12306:169:15","nodes":[],"body":{"id":21427,"nodeType":"Block","src":"12375:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c6164647265737329","id":21420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12425:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335","typeString":"literal_string \"log(string,uint256,address)\""},"value":"log(string,uint256,address)"},{"id":21421,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21410,"src":"12456:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21422,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21412,"src":"12460:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21423,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21414,"src":"12464:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335","typeString":"literal_string \"log(string,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21418,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12401:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12401:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12401:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21417,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"12385:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12385:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21426,"nodeType":"ExpressionStatement","src":"12385:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12315:3:15","parameters":{"id":21415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21410,"mutability":"mutable","name":"p0","nameLocation":"12333:2:15","nodeType":"VariableDeclaration","scope":21428,"src":"12319:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21409,"name":"string","nodeType":"ElementaryTypeName","src":"12319:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21412,"mutability":"mutable","name":"p1","nameLocation":"12345:2:15","nodeType":"VariableDeclaration","scope":21428,"src":"12337:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21411,"name":"uint256","nodeType":"ElementaryTypeName","src":"12337:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21414,"mutability":"mutable","name":"p2","nameLocation":"12357:2:15","nodeType":"VariableDeclaration","scope":21428,"src":"12349:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21413,"name":"address","nodeType":"ElementaryTypeName","src":"12349:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12318:42:15"},"returnParameters":{"id":21416,"nodeType":"ParameterList","parameters":[],"src":"12375:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21448,"nodeType":"FunctionDefinition","src":"12481:174:15","nodes":[],"body":{"id":21447,"nodeType":"Block","src":"12556:99:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e7432353629","id":21440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12606:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0","typeString":"literal_string \"log(string,string,uint256)\""},"value":"log(string,string,uint256)"},{"id":21441,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21430,"src":"12636:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21442,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21432,"src":"12640:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21443,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21434,"src":"12644:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0","typeString":"literal_string \"log(string,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21438,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12582:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12582:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12582:65:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21437,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"12566:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12566:82:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21446,"nodeType":"ExpressionStatement","src":"12566:82:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12490:3:15","parameters":{"id":21435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21430,"mutability":"mutable","name":"p0","nameLocation":"12508:2:15","nodeType":"VariableDeclaration","scope":21448,"src":"12494:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21429,"name":"string","nodeType":"ElementaryTypeName","src":"12494:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21432,"mutability":"mutable","name":"p1","nameLocation":"12526:2:15","nodeType":"VariableDeclaration","scope":21448,"src":"12512:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21431,"name":"string","nodeType":"ElementaryTypeName","src":"12512:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21434,"mutability":"mutable","name":"p2","nameLocation":"12538:2:15","nodeType":"VariableDeclaration","scope":21448,"src":"12530:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21433,"name":"uint256","nodeType":"ElementaryTypeName","src":"12530:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12493:48:15"},"returnParameters":{"id":21436,"nodeType":"ParameterList","parameters":[],"src":"12556:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21468,"nodeType":"FunctionDefinition","src":"12661:179:15","nodes":[],"body":{"id":21467,"nodeType":"Block","src":"12742:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e6729","id":21460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12792:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},"value":"log(string,string,string)"},{"id":21461,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21450,"src":"12821:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21462,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21452,"src":"12825:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21463,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21454,"src":"12829:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},{"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":21458,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12768:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21459,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12768:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12768:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21457,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"12752:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12752:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21466,"nodeType":"ExpressionStatement","src":"12752:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12670:3:15","parameters":{"id":21455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21450,"mutability":"mutable","name":"p0","nameLocation":"12688:2:15","nodeType":"VariableDeclaration","scope":21468,"src":"12674:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21449,"name":"string","nodeType":"ElementaryTypeName","src":"12674:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21452,"mutability":"mutable","name":"p1","nameLocation":"12706:2:15","nodeType":"VariableDeclaration","scope":21468,"src":"12692:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21451,"name":"string","nodeType":"ElementaryTypeName","src":"12692:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21454,"mutability":"mutable","name":"p2","nameLocation":"12724:2:15","nodeType":"VariableDeclaration","scope":21468,"src":"12710:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21453,"name":"string","nodeType":"ElementaryTypeName","src":"12710:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12673:54:15"},"returnParameters":{"id":21456,"nodeType":"ParameterList","parameters":[],"src":"12742:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21488,"nodeType":"FunctionDefinition","src":"12846:168:15","nodes":[],"body":{"id":21487,"nodeType":"Block","src":"12918:96:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c29","id":21480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12968:25:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},"value":"log(string,string,bool)"},{"id":21481,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21470,"src":"12995:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21482,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21472,"src":"12999:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21483,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21474,"src":"13003:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21478,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12944:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12944:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12944:62:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21477,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"12928:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12928:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21486,"nodeType":"ExpressionStatement","src":"12928:79:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12855:3:15","parameters":{"id":21475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21470,"mutability":"mutable","name":"p0","nameLocation":"12873:2:15","nodeType":"VariableDeclaration","scope":21488,"src":"12859:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21469,"name":"string","nodeType":"ElementaryTypeName","src":"12859:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21472,"mutability":"mutable","name":"p1","nameLocation":"12891:2:15","nodeType":"VariableDeclaration","scope":21488,"src":"12877:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21471,"name":"string","nodeType":"ElementaryTypeName","src":"12877:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21474,"mutability":"mutable","name":"p2","nameLocation":"12900:2:15","nodeType":"VariableDeclaration","scope":21488,"src":"12895:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21473,"name":"bool","nodeType":"ElementaryTypeName","src":"12895:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12858:45:15"},"returnParameters":{"id":21476,"nodeType":"ParameterList","parameters":[],"src":"12918:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21508,"nodeType":"FunctionDefinition","src":"13020:174:15","nodes":[],"body":{"id":21507,"nodeType":"Block","src":"13095:99:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c6164647265737329","id":21500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13145:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},"value":"log(string,string,address)"},{"id":21501,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21490,"src":"13175:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21502,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21492,"src":"13179:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21503,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21494,"src":"13183:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21498,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13121:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13121:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13121:65:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21497,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"13105:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13105:82:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21506,"nodeType":"ExpressionStatement","src":"13105:82:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13029:3:15","parameters":{"id":21495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21490,"mutability":"mutable","name":"p0","nameLocation":"13047:2:15","nodeType":"VariableDeclaration","scope":21508,"src":"13033:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21489,"name":"string","nodeType":"ElementaryTypeName","src":"13033:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21492,"mutability":"mutable","name":"p1","nameLocation":"13065:2:15","nodeType":"VariableDeclaration","scope":21508,"src":"13051:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21491,"name":"string","nodeType":"ElementaryTypeName","src":"13051:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21494,"mutability":"mutable","name":"p2","nameLocation":"13077:2:15","nodeType":"VariableDeclaration","scope":21508,"src":"13069:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21493,"name":"address","nodeType":"ElementaryTypeName","src":"13069:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13032:48:15"},"returnParameters":{"id":21496,"nodeType":"ParameterList","parameters":[],"src":"13095:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21528,"nodeType":"FunctionDefinition","src":"13200:163:15","nodes":[],"body":{"id":21527,"nodeType":"Block","src":"13266:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e7432353629","id":21520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13316:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a","typeString":"literal_string \"log(string,bool,uint256)\""},"value":"log(string,bool,uint256)"},{"id":21521,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21510,"src":"13344:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21522,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21512,"src":"13348:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21523,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21514,"src":"13352:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a","typeString":"literal_string \"log(string,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21518,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13292:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13292:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13292:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21517,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"13276:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13276:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21526,"nodeType":"ExpressionStatement","src":"13276:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13209:3:15","parameters":{"id":21515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21510,"mutability":"mutable","name":"p0","nameLocation":"13227:2:15","nodeType":"VariableDeclaration","scope":21528,"src":"13213:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21509,"name":"string","nodeType":"ElementaryTypeName","src":"13213:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21512,"mutability":"mutable","name":"p1","nameLocation":"13236:2:15","nodeType":"VariableDeclaration","scope":21528,"src":"13231:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21511,"name":"bool","nodeType":"ElementaryTypeName","src":"13231:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21514,"mutability":"mutable","name":"p2","nameLocation":"13248:2:15","nodeType":"VariableDeclaration","scope":21528,"src":"13240:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21513,"name":"uint256","nodeType":"ElementaryTypeName","src":"13240:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13212:39:15"},"returnParameters":{"id":21516,"nodeType":"ParameterList","parameters":[],"src":"13266:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21548,"nodeType":"FunctionDefinition","src":"13369:168:15","nodes":[],"body":{"id":21547,"nodeType":"Block","src":"13441:96:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e6729","id":21540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13491:25:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},"value":"log(string,bool,string)"},{"id":21541,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21530,"src":"13518:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21542,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21532,"src":"13522:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21543,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21534,"src":"13526:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21538,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13467:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13467:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13467:62:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21537,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"13451:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13451:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21546,"nodeType":"ExpressionStatement","src":"13451:79:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13378:3:15","parameters":{"id":21535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21530,"mutability":"mutable","name":"p0","nameLocation":"13396:2:15","nodeType":"VariableDeclaration","scope":21548,"src":"13382:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21529,"name":"string","nodeType":"ElementaryTypeName","src":"13382:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21532,"mutability":"mutable","name":"p1","nameLocation":"13405:2:15","nodeType":"VariableDeclaration","scope":21548,"src":"13400:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21531,"name":"bool","nodeType":"ElementaryTypeName","src":"13400:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21534,"mutability":"mutable","name":"p2","nameLocation":"13423:2:15","nodeType":"VariableDeclaration","scope":21548,"src":"13409:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21533,"name":"string","nodeType":"ElementaryTypeName","src":"13409:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13381:45:15"},"returnParameters":{"id":21536,"nodeType":"ParameterList","parameters":[],"src":"13441:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21568,"nodeType":"FunctionDefinition","src":"13543:157:15","nodes":[],"body":{"id":21567,"nodeType":"Block","src":"13606:94:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c29","id":21560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13656:23:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},"value":"log(string,bool,bool)"},{"id":21561,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21550,"src":"13681:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21562,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21552,"src":"13685:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21563,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21554,"src":"13689:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21558,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13632:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21559,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13632:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13632:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21557,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"13616:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13616:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21566,"nodeType":"ExpressionStatement","src":"13616:77:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13552:3:15","parameters":{"id":21555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21550,"mutability":"mutable","name":"p0","nameLocation":"13570:2:15","nodeType":"VariableDeclaration","scope":21568,"src":"13556:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21549,"name":"string","nodeType":"ElementaryTypeName","src":"13556:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21552,"mutability":"mutable","name":"p1","nameLocation":"13579:2:15","nodeType":"VariableDeclaration","scope":21568,"src":"13574:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21551,"name":"bool","nodeType":"ElementaryTypeName","src":"13574:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21554,"mutability":"mutable","name":"p2","nameLocation":"13588:2:15","nodeType":"VariableDeclaration","scope":21568,"src":"13583:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21553,"name":"bool","nodeType":"ElementaryTypeName","src":"13583:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13555:36:15"},"returnParameters":{"id":21556,"nodeType":"ParameterList","parameters":[],"src":"13606:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21588,"nodeType":"FunctionDefinition","src":"13706:163:15","nodes":[],"body":{"id":21587,"nodeType":"Block","src":"13772:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c6164647265737329","id":21580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13822:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},"value":"log(string,bool,address)"},{"id":21581,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21570,"src":"13850:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21582,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21572,"src":"13854:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21583,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21574,"src":"13858:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21578,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13798:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21579,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13798:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13798:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21577,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"13782:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13782:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21586,"nodeType":"ExpressionStatement","src":"13782:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13715:3:15","parameters":{"id":21575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21570,"mutability":"mutable","name":"p0","nameLocation":"13733:2:15","nodeType":"VariableDeclaration","scope":21588,"src":"13719:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21569,"name":"string","nodeType":"ElementaryTypeName","src":"13719:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21572,"mutability":"mutable","name":"p1","nameLocation":"13742:2:15","nodeType":"VariableDeclaration","scope":21588,"src":"13737:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21571,"name":"bool","nodeType":"ElementaryTypeName","src":"13737:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21574,"mutability":"mutable","name":"p2","nameLocation":"13754:2:15","nodeType":"VariableDeclaration","scope":21588,"src":"13746:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21573,"name":"address","nodeType":"ElementaryTypeName","src":"13746:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13718:39:15"},"returnParameters":{"id":21576,"nodeType":"ParameterList","parameters":[],"src":"13772:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21608,"nodeType":"FunctionDefinition","src":"13875:169:15","nodes":[],"body":{"id":21607,"nodeType":"Block","src":"13944:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e7432353629","id":21600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13994:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4","typeString":"literal_string \"log(string,address,uint256)\""},"value":"log(string,address,uint256)"},{"id":21601,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21590,"src":"14025:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21602,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21592,"src":"14029:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21603,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21594,"src":"14033:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4","typeString":"literal_string \"log(string,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21598,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13970:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13970:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13970:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21597,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"13954:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13954:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21606,"nodeType":"ExpressionStatement","src":"13954:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13884:3:15","parameters":{"id":21595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21590,"mutability":"mutable","name":"p0","nameLocation":"13902:2:15","nodeType":"VariableDeclaration","scope":21608,"src":"13888:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21589,"name":"string","nodeType":"ElementaryTypeName","src":"13888:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21592,"mutability":"mutable","name":"p1","nameLocation":"13914:2:15","nodeType":"VariableDeclaration","scope":21608,"src":"13906:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21591,"name":"address","nodeType":"ElementaryTypeName","src":"13906:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21594,"mutability":"mutable","name":"p2","nameLocation":"13926:2:15","nodeType":"VariableDeclaration","scope":21608,"src":"13918:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21593,"name":"uint256","nodeType":"ElementaryTypeName","src":"13918:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13887:42:15"},"returnParameters":{"id":21596,"nodeType":"ParameterList","parameters":[],"src":"13944:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21628,"nodeType":"FunctionDefinition","src":"14050:174:15","nodes":[],"body":{"id":21627,"nodeType":"Block","src":"14125:99:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e6729","id":21620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14175:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},"value":"log(string,address,string)"},{"id":21621,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21610,"src":"14205:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21622,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21612,"src":"14209:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21623,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21614,"src":"14213:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21618,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14151:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14151:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14151:65:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21617,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"14135:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14135:82:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21626,"nodeType":"ExpressionStatement","src":"14135:82:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14059:3:15","parameters":{"id":21615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21610,"mutability":"mutable","name":"p0","nameLocation":"14077:2:15","nodeType":"VariableDeclaration","scope":21628,"src":"14063:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21609,"name":"string","nodeType":"ElementaryTypeName","src":"14063:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21612,"mutability":"mutable","name":"p1","nameLocation":"14089:2:15","nodeType":"VariableDeclaration","scope":21628,"src":"14081:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21611,"name":"address","nodeType":"ElementaryTypeName","src":"14081:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21614,"mutability":"mutable","name":"p2","nameLocation":"14107:2:15","nodeType":"VariableDeclaration","scope":21628,"src":"14093:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21613,"name":"string","nodeType":"ElementaryTypeName","src":"14093:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14062:48:15"},"returnParameters":{"id":21616,"nodeType":"ParameterList","parameters":[],"src":"14125:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21648,"nodeType":"FunctionDefinition","src":"14230:163:15","nodes":[],"body":{"id":21647,"nodeType":"Block","src":"14296:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c29","id":21640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14346:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},"value":"log(string,address,bool)"},{"id":21641,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21630,"src":"14374:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21642,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21632,"src":"14378:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21643,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21634,"src":"14382:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21638,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14322:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14322:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14322:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21637,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"14306:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14306:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21646,"nodeType":"ExpressionStatement","src":"14306:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14239:3:15","parameters":{"id":21635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21630,"mutability":"mutable","name":"p0","nameLocation":"14257:2:15","nodeType":"VariableDeclaration","scope":21648,"src":"14243:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21629,"name":"string","nodeType":"ElementaryTypeName","src":"14243:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21632,"mutability":"mutable","name":"p1","nameLocation":"14269:2:15","nodeType":"VariableDeclaration","scope":21648,"src":"14261:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21631,"name":"address","nodeType":"ElementaryTypeName","src":"14261:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21634,"mutability":"mutable","name":"p2","nameLocation":"14278:2:15","nodeType":"VariableDeclaration","scope":21648,"src":"14273:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21633,"name":"bool","nodeType":"ElementaryTypeName","src":"14273:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14242:39:15"},"returnParameters":{"id":21636,"nodeType":"ParameterList","parameters":[],"src":"14296:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21668,"nodeType":"FunctionDefinition","src":"14399:169:15","nodes":[],"body":{"id":21667,"nodeType":"Block","src":"14468:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c6164647265737329","id":21660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14518:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},"value":"log(string,address,address)"},{"id":21661,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21650,"src":"14549:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21662,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21652,"src":"14553:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21663,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21654,"src":"14557:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21658,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14494:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14494:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14494:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21657,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"14478:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14478:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21666,"nodeType":"ExpressionStatement","src":"14478:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14408:3:15","parameters":{"id":21655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21650,"mutability":"mutable","name":"p0","nameLocation":"14426:2:15","nodeType":"VariableDeclaration","scope":21668,"src":"14412:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21649,"name":"string","nodeType":"ElementaryTypeName","src":"14412:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21652,"mutability":"mutable","name":"p1","nameLocation":"14438:2:15","nodeType":"VariableDeclaration","scope":21668,"src":"14430:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21651,"name":"address","nodeType":"ElementaryTypeName","src":"14430:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21654,"mutability":"mutable","name":"p2","nameLocation":"14450:2:15","nodeType":"VariableDeclaration","scope":21668,"src":"14442:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21653,"name":"address","nodeType":"ElementaryTypeName","src":"14442:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14411:42:15"},"returnParameters":{"id":21656,"nodeType":"ParameterList","parameters":[],"src":"14468:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21688,"nodeType":"FunctionDefinition","src":"14574:158:15","nodes":[],"body":{"id":21687,"nodeType":"Block","src":"14634:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e7432353629","id":21680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14684:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28","typeString":"literal_string \"log(bool,uint256,uint256)\""},"value":"log(bool,uint256,uint256)"},{"id":21681,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21670,"src":"14713:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21682,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21672,"src":"14717:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21683,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21674,"src":"14721:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28","typeString":"literal_string \"log(bool,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21678,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14660:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14660:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14660:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21677,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"14644:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14644:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21686,"nodeType":"ExpressionStatement","src":"14644:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14583:3:15","parameters":{"id":21675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21670,"mutability":"mutable","name":"p0","nameLocation":"14592:2:15","nodeType":"VariableDeclaration","scope":21688,"src":"14587:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21669,"name":"bool","nodeType":"ElementaryTypeName","src":"14587:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21672,"mutability":"mutable","name":"p1","nameLocation":"14604:2:15","nodeType":"VariableDeclaration","scope":21688,"src":"14596:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21671,"name":"uint256","nodeType":"ElementaryTypeName","src":"14596:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21674,"mutability":"mutable","name":"p2","nameLocation":"14616:2:15","nodeType":"VariableDeclaration","scope":21688,"src":"14608:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21673,"name":"uint256","nodeType":"ElementaryTypeName","src":"14608:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14586:33:15"},"returnParameters":{"id":21676,"nodeType":"ParameterList","parameters":[],"src":"14634:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21708,"nodeType":"FunctionDefinition","src":"14738:163:15","nodes":[],"body":{"id":21707,"nodeType":"Block","src":"14804:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e6729","id":21700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14854:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447","typeString":"literal_string \"log(bool,uint256,string)\""},"value":"log(bool,uint256,string)"},{"id":21701,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21690,"src":"14882:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21702,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21692,"src":"14886:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21703,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21694,"src":"14890:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447","typeString":"literal_string \"log(bool,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21698,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14830:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21699,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14830:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14830:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21697,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"14814:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14814:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21706,"nodeType":"ExpressionStatement","src":"14814:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14747:3:15","parameters":{"id":21695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21690,"mutability":"mutable","name":"p0","nameLocation":"14756:2:15","nodeType":"VariableDeclaration","scope":21708,"src":"14751:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21689,"name":"bool","nodeType":"ElementaryTypeName","src":"14751:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21692,"mutability":"mutable","name":"p1","nameLocation":"14768:2:15","nodeType":"VariableDeclaration","scope":21708,"src":"14760:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21691,"name":"uint256","nodeType":"ElementaryTypeName","src":"14760:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21694,"mutability":"mutable","name":"p2","nameLocation":"14786:2:15","nodeType":"VariableDeclaration","scope":21708,"src":"14772:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21693,"name":"string","nodeType":"ElementaryTypeName","src":"14772:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14750:39:15"},"returnParameters":{"id":21696,"nodeType":"ParameterList","parameters":[],"src":"14804:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21728,"nodeType":"FunctionDefinition","src":"14907:152:15","nodes":[],"body":{"id":21727,"nodeType":"Block","src":"14964:95:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c29","id":21720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15014:24:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26","typeString":"literal_string \"log(bool,uint256,bool)\""},"value":"log(bool,uint256,bool)"},{"id":21721,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21710,"src":"15040:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21722,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21712,"src":"15044:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21723,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21714,"src":"15048:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26","typeString":"literal_string \"log(bool,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21718,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14990:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14990:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14990:61:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21717,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"14974:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14974:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21726,"nodeType":"ExpressionStatement","src":"14974:78:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14916:3:15","parameters":{"id":21715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21710,"mutability":"mutable","name":"p0","nameLocation":"14925:2:15","nodeType":"VariableDeclaration","scope":21728,"src":"14920:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21709,"name":"bool","nodeType":"ElementaryTypeName","src":"14920:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21712,"mutability":"mutable","name":"p1","nameLocation":"14937:2:15","nodeType":"VariableDeclaration","scope":21728,"src":"14929:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21711,"name":"uint256","nodeType":"ElementaryTypeName","src":"14929:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21714,"mutability":"mutable","name":"p2","nameLocation":"14946:2:15","nodeType":"VariableDeclaration","scope":21728,"src":"14941:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21713,"name":"bool","nodeType":"ElementaryTypeName","src":"14941:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14919:30:15"},"returnParameters":{"id":21716,"nodeType":"ParameterList","parameters":[],"src":"14964:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21748,"nodeType":"FunctionDefinition","src":"15065:158:15","nodes":[],"body":{"id":21747,"nodeType":"Block","src":"15125:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c6164647265737329","id":21740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15175:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574","typeString":"literal_string \"log(bool,uint256,address)\""},"value":"log(bool,uint256,address)"},{"id":21741,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21730,"src":"15204:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21742,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21732,"src":"15208:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":21743,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21734,"src":"15212:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574","typeString":"literal_string \"log(bool,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21738,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15151:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21739,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15151:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15151:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21737,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"15135:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15135:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21746,"nodeType":"ExpressionStatement","src":"15135:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15074:3:15","parameters":{"id":21735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21730,"mutability":"mutable","name":"p0","nameLocation":"15083:2:15","nodeType":"VariableDeclaration","scope":21748,"src":"15078:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21729,"name":"bool","nodeType":"ElementaryTypeName","src":"15078:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21732,"mutability":"mutable","name":"p1","nameLocation":"15095:2:15","nodeType":"VariableDeclaration","scope":21748,"src":"15087:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21731,"name":"uint256","nodeType":"ElementaryTypeName","src":"15087:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21734,"mutability":"mutable","name":"p2","nameLocation":"15107:2:15","nodeType":"VariableDeclaration","scope":21748,"src":"15099:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21733,"name":"address","nodeType":"ElementaryTypeName","src":"15099:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15077:33:15"},"returnParameters":{"id":21736,"nodeType":"ParameterList","parameters":[],"src":"15125:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21768,"nodeType":"FunctionDefinition","src":"15229:163:15","nodes":[],"body":{"id":21767,"nodeType":"Block","src":"15295:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e7432353629","id":21760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15345:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64","typeString":"literal_string \"log(bool,string,uint256)\""},"value":"log(bool,string,uint256)"},{"id":21761,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21750,"src":"15373:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21762,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21752,"src":"15377:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21763,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21754,"src":"15381:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64","typeString":"literal_string \"log(bool,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21758,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15321:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15321:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15321:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21757,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"15305:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15305:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21766,"nodeType":"ExpressionStatement","src":"15305:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15238:3:15","parameters":{"id":21755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21750,"mutability":"mutable","name":"p0","nameLocation":"15247:2:15","nodeType":"VariableDeclaration","scope":21768,"src":"15242:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21749,"name":"bool","nodeType":"ElementaryTypeName","src":"15242:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21752,"mutability":"mutable","name":"p1","nameLocation":"15265:2:15","nodeType":"VariableDeclaration","scope":21768,"src":"15251:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21751,"name":"string","nodeType":"ElementaryTypeName","src":"15251:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21754,"mutability":"mutable","name":"p2","nameLocation":"15277:2:15","nodeType":"VariableDeclaration","scope":21768,"src":"15269:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21753,"name":"uint256","nodeType":"ElementaryTypeName","src":"15269:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15241:39:15"},"returnParameters":{"id":21756,"nodeType":"ParameterList","parameters":[],"src":"15295:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21788,"nodeType":"FunctionDefinition","src":"15398:168:15","nodes":[],"body":{"id":21787,"nodeType":"Block","src":"15470:96:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e6729","id":21780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15520:25:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},"value":"log(bool,string,string)"},{"id":21781,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21770,"src":"15547:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21782,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21772,"src":"15551:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21783,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21774,"src":"15555:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21778,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15496:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15496:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15496:62:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21777,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"15480:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15480:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21786,"nodeType":"ExpressionStatement","src":"15480:79:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15407:3:15","parameters":{"id":21775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21770,"mutability":"mutable","name":"p0","nameLocation":"15416:2:15","nodeType":"VariableDeclaration","scope":21788,"src":"15411:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21769,"name":"bool","nodeType":"ElementaryTypeName","src":"15411:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21772,"mutability":"mutable","name":"p1","nameLocation":"15434:2:15","nodeType":"VariableDeclaration","scope":21788,"src":"15420:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21771,"name":"string","nodeType":"ElementaryTypeName","src":"15420:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21774,"mutability":"mutable","name":"p2","nameLocation":"15452:2:15","nodeType":"VariableDeclaration","scope":21788,"src":"15438:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21773,"name":"string","nodeType":"ElementaryTypeName","src":"15438:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15410:45:15"},"returnParameters":{"id":21776,"nodeType":"ParameterList","parameters":[],"src":"15470:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21808,"nodeType":"FunctionDefinition","src":"15572:157:15","nodes":[],"body":{"id":21807,"nodeType":"Block","src":"15635:94:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c29","id":21800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15685:23:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},"value":"log(bool,string,bool)"},{"id":21801,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21790,"src":"15710:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21802,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21792,"src":"15714:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21803,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21794,"src":"15718:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21798,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15661:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21799,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15661:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15661:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21797,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"15645:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15645:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21806,"nodeType":"ExpressionStatement","src":"15645:77:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15581:3:15","parameters":{"id":21795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21790,"mutability":"mutable","name":"p0","nameLocation":"15590:2:15","nodeType":"VariableDeclaration","scope":21808,"src":"15585:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21789,"name":"bool","nodeType":"ElementaryTypeName","src":"15585:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21792,"mutability":"mutable","name":"p1","nameLocation":"15608:2:15","nodeType":"VariableDeclaration","scope":21808,"src":"15594:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21791,"name":"string","nodeType":"ElementaryTypeName","src":"15594:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21794,"mutability":"mutable","name":"p2","nameLocation":"15617:2:15","nodeType":"VariableDeclaration","scope":21808,"src":"15612:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21793,"name":"bool","nodeType":"ElementaryTypeName","src":"15612:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15584:36:15"},"returnParameters":{"id":21796,"nodeType":"ParameterList","parameters":[],"src":"15635:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21828,"nodeType":"FunctionDefinition","src":"15735:163:15","nodes":[],"body":{"id":21827,"nodeType":"Block","src":"15801:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c6164647265737329","id":21820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15851:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},"value":"log(bool,string,address)"},{"id":21821,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21810,"src":"15879:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21822,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21812,"src":"15883:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":21823,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21814,"src":"15887:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21818,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15827:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15827:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15827:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21817,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"15811:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15811:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21826,"nodeType":"ExpressionStatement","src":"15811:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15744:3:15","parameters":{"id":21815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21810,"mutability":"mutable","name":"p0","nameLocation":"15753:2:15","nodeType":"VariableDeclaration","scope":21828,"src":"15748:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21809,"name":"bool","nodeType":"ElementaryTypeName","src":"15748:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21812,"mutability":"mutable","name":"p1","nameLocation":"15771:2:15","nodeType":"VariableDeclaration","scope":21828,"src":"15757:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21811,"name":"string","nodeType":"ElementaryTypeName","src":"15757:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":21814,"mutability":"mutable","name":"p2","nameLocation":"15783:2:15","nodeType":"VariableDeclaration","scope":21828,"src":"15775:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21813,"name":"address","nodeType":"ElementaryTypeName","src":"15775:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15747:39:15"},"returnParameters":{"id":21816,"nodeType":"ParameterList","parameters":[],"src":"15801:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21848,"nodeType":"FunctionDefinition","src":"15904:152:15","nodes":[],"body":{"id":21847,"nodeType":"Block","src":"15961:95:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e7432353629","id":21840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16011:24:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211","typeString":"literal_string \"log(bool,bool,uint256)\""},"value":"log(bool,bool,uint256)"},{"id":21841,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21830,"src":"16037:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21842,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21832,"src":"16041:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21843,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21834,"src":"16045:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211","typeString":"literal_string \"log(bool,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21838,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15987:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15987:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15987:61:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21837,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"15971:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15971:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21846,"nodeType":"ExpressionStatement","src":"15971:78:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15913:3:15","parameters":{"id":21835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21830,"mutability":"mutable","name":"p0","nameLocation":"15922:2:15","nodeType":"VariableDeclaration","scope":21848,"src":"15917:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21829,"name":"bool","nodeType":"ElementaryTypeName","src":"15917:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21832,"mutability":"mutable","name":"p1","nameLocation":"15931:2:15","nodeType":"VariableDeclaration","scope":21848,"src":"15926:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21831,"name":"bool","nodeType":"ElementaryTypeName","src":"15926:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21834,"mutability":"mutable","name":"p2","nameLocation":"15943:2:15","nodeType":"VariableDeclaration","scope":21848,"src":"15935:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21833,"name":"uint256","nodeType":"ElementaryTypeName","src":"15935:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15916:30:15"},"returnParameters":{"id":21836,"nodeType":"ParameterList","parameters":[],"src":"15961:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21868,"nodeType":"FunctionDefinition","src":"16062:157:15","nodes":[],"body":{"id":21867,"nodeType":"Block","src":"16125:94:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e6729","id":21860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16175:23:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},"value":"log(bool,bool,string)"},{"id":21861,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21850,"src":"16200:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21862,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21852,"src":"16204:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21863,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21854,"src":"16208:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21858,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16151:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16151:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16151:60:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21857,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"16135:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16135:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21866,"nodeType":"ExpressionStatement","src":"16135:77:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16071:3:15","parameters":{"id":21855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21850,"mutability":"mutable","name":"p0","nameLocation":"16080:2:15","nodeType":"VariableDeclaration","scope":21868,"src":"16075:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21849,"name":"bool","nodeType":"ElementaryTypeName","src":"16075:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21852,"mutability":"mutable","name":"p1","nameLocation":"16089:2:15","nodeType":"VariableDeclaration","scope":21868,"src":"16084:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21851,"name":"bool","nodeType":"ElementaryTypeName","src":"16084:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21854,"mutability":"mutable","name":"p2","nameLocation":"16107:2:15","nodeType":"VariableDeclaration","scope":21868,"src":"16093:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21853,"name":"string","nodeType":"ElementaryTypeName","src":"16093:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16074:36:15"},"returnParameters":{"id":21856,"nodeType":"ParameterList","parameters":[],"src":"16125:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21888,"nodeType":"FunctionDefinition","src":"16225:146:15","nodes":[],"body":{"id":21887,"nodeType":"Block","src":"16279:92:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c29","id":21880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16329:21:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},"value":"log(bool,bool,bool)"},{"id":21881,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21870,"src":"16352:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21882,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21872,"src":"16356:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21883,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21874,"src":"16360:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21878,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16305:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16305:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16305:58:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21877,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"16289:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16289:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21886,"nodeType":"ExpressionStatement","src":"16289:75:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16234:3:15","parameters":{"id":21875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21870,"mutability":"mutable","name":"p0","nameLocation":"16243:2:15","nodeType":"VariableDeclaration","scope":21888,"src":"16238:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21869,"name":"bool","nodeType":"ElementaryTypeName","src":"16238:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21872,"mutability":"mutable","name":"p1","nameLocation":"16252:2:15","nodeType":"VariableDeclaration","scope":21888,"src":"16247:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21871,"name":"bool","nodeType":"ElementaryTypeName","src":"16247:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21874,"mutability":"mutable","name":"p2","nameLocation":"16261:2:15","nodeType":"VariableDeclaration","scope":21888,"src":"16256:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21873,"name":"bool","nodeType":"ElementaryTypeName","src":"16256:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16237:27:15"},"returnParameters":{"id":21876,"nodeType":"ParameterList","parameters":[],"src":"16279:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21908,"nodeType":"FunctionDefinition","src":"16377:152:15","nodes":[],"body":{"id":21907,"nodeType":"Block","src":"16434:95:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c6164647265737329","id":21900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16484:24:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},"value":"log(bool,bool,address)"},{"id":21901,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21890,"src":"16510:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21902,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21892,"src":"16514:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21903,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21894,"src":"16518:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21898,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16460:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16460:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16460:61:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21897,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"16444:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16444:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21906,"nodeType":"ExpressionStatement","src":"16444:78:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16386:3:15","parameters":{"id":21895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21890,"mutability":"mutable","name":"p0","nameLocation":"16395:2:15","nodeType":"VariableDeclaration","scope":21908,"src":"16390:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21889,"name":"bool","nodeType":"ElementaryTypeName","src":"16390:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21892,"mutability":"mutable","name":"p1","nameLocation":"16404:2:15","nodeType":"VariableDeclaration","scope":21908,"src":"16399:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21891,"name":"bool","nodeType":"ElementaryTypeName","src":"16399:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21894,"mutability":"mutable","name":"p2","nameLocation":"16416:2:15","nodeType":"VariableDeclaration","scope":21908,"src":"16408:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21893,"name":"address","nodeType":"ElementaryTypeName","src":"16408:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16389:30:15"},"returnParameters":{"id":21896,"nodeType":"ParameterList","parameters":[],"src":"16434:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21928,"nodeType":"FunctionDefinition","src":"16535:158:15","nodes":[],"body":{"id":21927,"nodeType":"Block","src":"16595:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e7432353629","id":21920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16645:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac","typeString":"literal_string \"log(bool,address,uint256)\""},"value":"log(bool,address,uint256)"},{"id":21921,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21910,"src":"16674:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21922,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21912,"src":"16678:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21923,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21914,"src":"16682:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac","typeString":"literal_string \"log(bool,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21918,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16621:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16621:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16621:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21917,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"16605:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16605:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21926,"nodeType":"ExpressionStatement","src":"16605:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16544:3:15","parameters":{"id":21915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21910,"mutability":"mutable","name":"p0","nameLocation":"16553:2:15","nodeType":"VariableDeclaration","scope":21928,"src":"16548:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21909,"name":"bool","nodeType":"ElementaryTypeName","src":"16548:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21912,"mutability":"mutable","name":"p1","nameLocation":"16565:2:15","nodeType":"VariableDeclaration","scope":21928,"src":"16557:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21911,"name":"address","nodeType":"ElementaryTypeName","src":"16557:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21914,"mutability":"mutable","name":"p2","nameLocation":"16577:2:15","nodeType":"VariableDeclaration","scope":21928,"src":"16569:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21913,"name":"uint256","nodeType":"ElementaryTypeName","src":"16569:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16547:33:15"},"returnParameters":{"id":21916,"nodeType":"ParameterList","parameters":[],"src":"16595:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21948,"nodeType":"FunctionDefinition","src":"16699:163:15","nodes":[],"body":{"id":21947,"nodeType":"Block","src":"16765:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e6729","id":21940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16815:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},"value":"log(bool,address,string)"},{"id":21941,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21930,"src":"16843:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21942,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21932,"src":"16847:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21943,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21934,"src":"16851:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":21938,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16791:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16791:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16791:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21937,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"16775:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16775:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21946,"nodeType":"ExpressionStatement","src":"16775:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16708:3:15","parameters":{"id":21935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21930,"mutability":"mutable","name":"p0","nameLocation":"16717:2:15","nodeType":"VariableDeclaration","scope":21948,"src":"16712:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21929,"name":"bool","nodeType":"ElementaryTypeName","src":"16712:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21932,"mutability":"mutable","name":"p1","nameLocation":"16729:2:15","nodeType":"VariableDeclaration","scope":21948,"src":"16721:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21931,"name":"address","nodeType":"ElementaryTypeName","src":"16721:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21934,"mutability":"mutable","name":"p2","nameLocation":"16747:2:15","nodeType":"VariableDeclaration","scope":21948,"src":"16733:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":21933,"name":"string","nodeType":"ElementaryTypeName","src":"16733:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16711:39:15"},"returnParameters":{"id":21936,"nodeType":"ParameterList","parameters":[],"src":"16765:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21968,"nodeType":"FunctionDefinition","src":"16868:152:15","nodes":[],"body":{"id":21967,"nodeType":"Block","src":"16925:95:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c29","id":21960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16975:24:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},"value":"log(bool,address,bool)"},{"id":21961,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21950,"src":"17001:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21962,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21952,"src":"17005:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21963,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21954,"src":"17009:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":21958,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16951:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16951:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16951:61:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21957,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"16935:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16935:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21966,"nodeType":"ExpressionStatement","src":"16935:78:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16877:3:15","parameters":{"id":21955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21950,"mutability":"mutable","name":"p0","nameLocation":"16886:2:15","nodeType":"VariableDeclaration","scope":21968,"src":"16881:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21949,"name":"bool","nodeType":"ElementaryTypeName","src":"16881:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21952,"mutability":"mutable","name":"p1","nameLocation":"16898:2:15","nodeType":"VariableDeclaration","scope":21968,"src":"16890:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21951,"name":"address","nodeType":"ElementaryTypeName","src":"16890:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21954,"mutability":"mutable","name":"p2","nameLocation":"16907:2:15","nodeType":"VariableDeclaration","scope":21968,"src":"16902:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21953,"name":"bool","nodeType":"ElementaryTypeName","src":"16902:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16880:30:15"},"returnParameters":{"id":21956,"nodeType":"ParameterList","parameters":[],"src":"16925:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":21988,"nodeType":"FunctionDefinition","src":"17026:158:15","nodes":[],"body":{"id":21987,"nodeType":"Block","src":"17086:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c6164647265737329","id":21980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17136:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},"value":"log(bool,address,address)"},{"id":21981,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21970,"src":"17165:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":21982,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21972,"src":"17169:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":21983,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21974,"src":"17173:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":21978,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17112:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17112:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":21984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17112:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21977,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"17096:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":21985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17096:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":21986,"nodeType":"ExpressionStatement","src":"17096:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17035:3:15","parameters":{"id":21975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21970,"mutability":"mutable","name":"p0","nameLocation":"17044:2:15","nodeType":"VariableDeclaration","scope":21988,"src":"17039:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":21969,"name":"bool","nodeType":"ElementaryTypeName","src":"17039:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":21972,"mutability":"mutable","name":"p1","nameLocation":"17056:2:15","nodeType":"VariableDeclaration","scope":21988,"src":"17048:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21971,"name":"address","nodeType":"ElementaryTypeName","src":"17048:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21974,"mutability":"mutable","name":"p2","nameLocation":"17068:2:15","nodeType":"VariableDeclaration","scope":21988,"src":"17060:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21973,"name":"address","nodeType":"ElementaryTypeName","src":"17060:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17038:33:15"},"returnParameters":{"id":21976,"nodeType":"ParameterList","parameters":[],"src":"17086:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22008,"nodeType":"FunctionDefinition","src":"17190:164:15","nodes":[],"body":{"id":22007,"nodeType":"Block","src":"17253:101:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e7432353629","id":22000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17303:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76","typeString":"literal_string \"log(address,uint256,uint256)\""},"value":"log(address,uint256,uint256)"},{"id":22001,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21990,"src":"17335:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22002,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21992,"src":"17339:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22003,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":21994,"src":"17343:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76","typeString":"literal_string \"log(address,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":21998,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17279:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":21999,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17279:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17279:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":21997,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"17263:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17263:84:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22006,"nodeType":"ExpressionStatement","src":"17263:84:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17199:3:15","parameters":{"id":21995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":21990,"mutability":"mutable","name":"p0","nameLocation":"17211:2:15","nodeType":"VariableDeclaration","scope":22008,"src":"17203:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":21989,"name":"address","nodeType":"ElementaryTypeName","src":"17203:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":21992,"mutability":"mutable","name":"p1","nameLocation":"17223:2:15","nodeType":"VariableDeclaration","scope":22008,"src":"17215:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21991,"name":"uint256","nodeType":"ElementaryTypeName","src":"17215:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":21994,"mutability":"mutable","name":"p2","nameLocation":"17235:2:15","nodeType":"VariableDeclaration","scope":22008,"src":"17227:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":21993,"name":"uint256","nodeType":"ElementaryTypeName","src":"17227:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17202:36:15"},"returnParameters":{"id":21996,"nodeType":"ParameterList","parameters":[],"src":"17253:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22028,"nodeType":"FunctionDefinition","src":"17360:169:15","nodes":[],"body":{"id":22027,"nodeType":"Block","src":"17429:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e6729","id":22020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17479:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d","typeString":"literal_string \"log(address,uint256,string)\""},"value":"log(address,uint256,string)"},{"id":22021,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22010,"src":"17510:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22022,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22012,"src":"17514:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22023,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22014,"src":"17518:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d","typeString":"literal_string \"log(address,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22018,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17455:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22019,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17455:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17455:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22017,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"17439:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17439:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22026,"nodeType":"ExpressionStatement","src":"17439:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17369:3:15","parameters":{"id":22015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22010,"mutability":"mutable","name":"p0","nameLocation":"17381:2:15","nodeType":"VariableDeclaration","scope":22028,"src":"17373:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22009,"name":"address","nodeType":"ElementaryTypeName","src":"17373:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22012,"mutability":"mutable","name":"p1","nameLocation":"17393:2:15","nodeType":"VariableDeclaration","scope":22028,"src":"17385:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22011,"name":"uint256","nodeType":"ElementaryTypeName","src":"17385:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22014,"mutability":"mutable","name":"p2","nameLocation":"17411:2:15","nodeType":"VariableDeclaration","scope":22028,"src":"17397:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22013,"name":"string","nodeType":"ElementaryTypeName","src":"17397:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17372:42:15"},"returnParameters":{"id":22016,"nodeType":"ParameterList","parameters":[],"src":"17429:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22048,"nodeType":"FunctionDefinition","src":"17535:158:15","nodes":[],"body":{"id":22047,"nodeType":"Block","src":"17595:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c29","id":22040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17645:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390","typeString":"literal_string \"log(address,uint256,bool)\""},"value":"log(address,uint256,bool)"},{"id":22041,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22030,"src":"17674:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22042,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22032,"src":"17678:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22043,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22034,"src":"17682:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390","typeString":"literal_string \"log(address,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22038,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17621:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17621:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17621:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22037,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"17605:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17605:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22046,"nodeType":"ExpressionStatement","src":"17605:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17544:3:15","parameters":{"id":22035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22030,"mutability":"mutable","name":"p0","nameLocation":"17556:2:15","nodeType":"VariableDeclaration","scope":22048,"src":"17548:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22029,"name":"address","nodeType":"ElementaryTypeName","src":"17548:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22032,"mutability":"mutable","name":"p1","nameLocation":"17568:2:15","nodeType":"VariableDeclaration","scope":22048,"src":"17560:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22031,"name":"uint256","nodeType":"ElementaryTypeName","src":"17560:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22034,"mutability":"mutable","name":"p2","nameLocation":"17577:2:15","nodeType":"VariableDeclaration","scope":22048,"src":"17572:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22033,"name":"bool","nodeType":"ElementaryTypeName","src":"17572:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17547:33:15"},"returnParameters":{"id":22036,"nodeType":"ParameterList","parameters":[],"src":"17595:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22068,"nodeType":"FunctionDefinition","src":"17699:164:15","nodes":[],"body":{"id":22067,"nodeType":"Block","src":"17762:101:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c6164647265737329","id":22060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17812:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36","typeString":"literal_string \"log(address,uint256,address)\""},"value":"log(address,uint256,address)"},{"id":22061,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22050,"src":"17844:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22062,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22052,"src":"17848:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22063,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22054,"src":"17852:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36","typeString":"literal_string \"log(address,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22058,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17788:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17788:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17788:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22057,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"17772:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17772:84:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22066,"nodeType":"ExpressionStatement","src":"17772:84:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17708:3:15","parameters":{"id":22055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22050,"mutability":"mutable","name":"p0","nameLocation":"17720:2:15","nodeType":"VariableDeclaration","scope":22068,"src":"17712:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22049,"name":"address","nodeType":"ElementaryTypeName","src":"17712:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22052,"mutability":"mutable","name":"p1","nameLocation":"17732:2:15","nodeType":"VariableDeclaration","scope":22068,"src":"17724:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22051,"name":"uint256","nodeType":"ElementaryTypeName","src":"17724:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22054,"mutability":"mutable","name":"p2","nameLocation":"17744:2:15","nodeType":"VariableDeclaration","scope":22068,"src":"17736:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22053,"name":"address","nodeType":"ElementaryTypeName","src":"17736:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17711:36:15"},"returnParameters":{"id":22056,"nodeType":"ParameterList","parameters":[],"src":"17762:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22088,"nodeType":"FunctionDefinition","src":"17869:169:15","nodes":[],"body":{"id":22087,"nodeType":"Block","src":"17938:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e7432353629","id":22080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17988:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200","typeString":"literal_string \"log(address,string,uint256)\""},"value":"log(address,string,uint256)"},{"id":22081,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22070,"src":"18019:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22082,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22072,"src":"18023:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22083,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22074,"src":"18027:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200","typeString":"literal_string \"log(address,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22078,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17964:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17964:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17964:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22077,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"17948:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17948:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22086,"nodeType":"ExpressionStatement","src":"17948:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17878:3:15","parameters":{"id":22075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22070,"mutability":"mutable","name":"p0","nameLocation":"17890:2:15","nodeType":"VariableDeclaration","scope":22088,"src":"17882:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22069,"name":"address","nodeType":"ElementaryTypeName","src":"17882:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22072,"mutability":"mutable","name":"p1","nameLocation":"17908:2:15","nodeType":"VariableDeclaration","scope":22088,"src":"17894:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22071,"name":"string","nodeType":"ElementaryTypeName","src":"17894:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22074,"mutability":"mutable","name":"p2","nameLocation":"17920:2:15","nodeType":"VariableDeclaration","scope":22088,"src":"17912:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22073,"name":"uint256","nodeType":"ElementaryTypeName","src":"17912:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17881:42:15"},"returnParameters":{"id":22076,"nodeType":"ParameterList","parameters":[],"src":"17938:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22108,"nodeType":"FunctionDefinition","src":"18044:174:15","nodes":[],"body":{"id":22107,"nodeType":"Block","src":"18119:99:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e6729","id":22100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18169:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},"value":"log(address,string,string)"},{"id":22101,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22090,"src":"18199:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22102,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22092,"src":"18203:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22103,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22094,"src":"18207:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22098,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18145:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18145:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18145:65:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22097,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"18129:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18129:82:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22106,"nodeType":"ExpressionStatement","src":"18129:82:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18053:3:15","parameters":{"id":22095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22090,"mutability":"mutable","name":"p0","nameLocation":"18065:2:15","nodeType":"VariableDeclaration","scope":22108,"src":"18057:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22089,"name":"address","nodeType":"ElementaryTypeName","src":"18057:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22092,"mutability":"mutable","name":"p1","nameLocation":"18083:2:15","nodeType":"VariableDeclaration","scope":22108,"src":"18069:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22091,"name":"string","nodeType":"ElementaryTypeName","src":"18069:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22094,"mutability":"mutable","name":"p2","nameLocation":"18101:2:15","nodeType":"VariableDeclaration","scope":22108,"src":"18087:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22093,"name":"string","nodeType":"ElementaryTypeName","src":"18087:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18056:48:15"},"returnParameters":{"id":22096,"nodeType":"ParameterList","parameters":[],"src":"18119:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22128,"nodeType":"FunctionDefinition","src":"18224:163:15","nodes":[],"body":{"id":22127,"nodeType":"Block","src":"18290:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c29","id":22120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18340:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},"value":"log(address,string,bool)"},{"id":22121,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22110,"src":"18368:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22122,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22112,"src":"18372:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22123,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22114,"src":"18376:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22118,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18316:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18316:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18316:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22117,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"18300:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18300:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22126,"nodeType":"ExpressionStatement","src":"18300:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18233:3:15","parameters":{"id":22115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22110,"mutability":"mutable","name":"p0","nameLocation":"18245:2:15","nodeType":"VariableDeclaration","scope":22128,"src":"18237:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22109,"name":"address","nodeType":"ElementaryTypeName","src":"18237:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22112,"mutability":"mutable","name":"p1","nameLocation":"18263:2:15","nodeType":"VariableDeclaration","scope":22128,"src":"18249:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22111,"name":"string","nodeType":"ElementaryTypeName","src":"18249:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22114,"mutability":"mutable","name":"p2","nameLocation":"18272:2:15","nodeType":"VariableDeclaration","scope":22128,"src":"18267:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22113,"name":"bool","nodeType":"ElementaryTypeName","src":"18267:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18236:39:15"},"returnParameters":{"id":22116,"nodeType":"ParameterList","parameters":[],"src":"18290:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22148,"nodeType":"FunctionDefinition","src":"18393:169:15","nodes":[],"body":{"id":22147,"nodeType":"Block","src":"18462:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c6164647265737329","id":22140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18512:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},"value":"log(address,string,address)"},{"id":22141,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22130,"src":"18543:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22142,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22132,"src":"18547:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22143,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22134,"src":"18551:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22138,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18488:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18488:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18488:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22137,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"18472:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18472:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22146,"nodeType":"ExpressionStatement","src":"18472:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18402:3:15","parameters":{"id":22135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22130,"mutability":"mutable","name":"p0","nameLocation":"18414:2:15","nodeType":"VariableDeclaration","scope":22148,"src":"18406:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22129,"name":"address","nodeType":"ElementaryTypeName","src":"18406:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22132,"mutability":"mutable","name":"p1","nameLocation":"18432:2:15","nodeType":"VariableDeclaration","scope":22148,"src":"18418:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22131,"name":"string","nodeType":"ElementaryTypeName","src":"18418:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22134,"mutability":"mutable","name":"p2","nameLocation":"18444:2:15","nodeType":"VariableDeclaration","scope":22148,"src":"18436:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22133,"name":"address","nodeType":"ElementaryTypeName","src":"18436:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18405:42:15"},"returnParameters":{"id":22136,"nodeType":"ParameterList","parameters":[],"src":"18462:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22168,"nodeType":"FunctionDefinition","src":"18568:158:15","nodes":[],"body":{"id":22167,"nodeType":"Block","src":"18628:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e7432353629","id":22160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18678:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9","typeString":"literal_string \"log(address,bool,uint256)\""},"value":"log(address,bool,uint256)"},{"id":22161,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22150,"src":"18707:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22162,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22152,"src":"18711:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22163,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22154,"src":"18715:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9","typeString":"literal_string \"log(address,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22158,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18654:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18654:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18654:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22157,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"18638:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18638:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22166,"nodeType":"ExpressionStatement","src":"18638:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18577:3:15","parameters":{"id":22155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22150,"mutability":"mutable","name":"p0","nameLocation":"18589:2:15","nodeType":"VariableDeclaration","scope":22168,"src":"18581:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22149,"name":"address","nodeType":"ElementaryTypeName","src":"18581:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22152,"mutability":"mutable","name":"p1","nameLocation":"18598:2:15","nodeType":"VariableDeclaration","scope":22168,"src":"18593:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22151,"name":"bool","nodeType":"ElementaryTypeName","src":"18593:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22154,"mutability":"mutable","name":"p2","nameLocation":"18610:2:15","nodeType":"VariableDeclaration","scope":22168,"src":"18602:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22153,"name":"uint256","nodeType":"ElementaryTypeName","src":"18602:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18580:33:15"},"returnParameters":{"id":22156,"nodeType":"ParameterList","parameters":[],"src":"18628:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22188,"nodeType":"FunctionDefinition","src":"18732:163:15","nodes":[],"body":{"id":22187,"nodeType":"Block","src":"18798:97:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e6729","id":22180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18848:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},"value":"log(address,bool,string)"},{"id":22181,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22170,"src":"18876:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22182,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22172,"src":"18880:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22183,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22174,"src":"18884:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22178,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18824:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18824:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18824:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22177,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"18808:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18808:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22186,"nodeType":"ExpressionStatement","src":"18808:80:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18741:3:15","parameters":{"id":22175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22170,"mutability":"mutable","name":"p0","nameLocation":"18753:2:15","nodeType":"VariableDeclaration","scope":22188,"src":"18745:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22169,"name":"address","nodeType":"ElementaryTypeName","src":"18745:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22172,"mutability":"mutable","name":"p1","nameLocation":"18762:2:15","nodeType":"VariableDeclaration","scope":22188,"src":"18757:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22171,"name":"bool","nodeType":"ElementaryTypeName","src":"18757:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22174,"mutability":"mutable","name":"p2","nameLocation":"18780:2:15","nodeType":"VariableDeclaration","scope":22188,"src":"18766:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22173,"name":"string","nodeType":"ElementaryTypeName","src":"18766:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18744:39:15"},"returnParameters":{"id":22176,"nodeType":"ParameterList","parameters":[],"src":"18798:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22208,"nodeType":"FunctionDefinition","src":"18901:152:15","nodes":[],"body":{"id":22207,"nodeType":"Block","src":"18958:95:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c29","id":22200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19008:24:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},"value":"log(address,bool,bool)"},{"id":22201,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22190,"src":"19034:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22202,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22192,"src":"19038:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22203,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22194,"src":"19042:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22198,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18984:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18984:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18984:61:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22197,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"18968:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18968:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22206,"nodeType":"ExpressionStatement","src":"18968:78:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18910:3:15","parameters":{"id":22195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22190,"mutability":"mutable","name":"p0","nameLocation":"18922:2:15","nodeType":"VariableDeclaration","scope":22208,"src":"18914:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22189,"name":"address","nodeType":"ElementaryTypeName","src":"18914:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22192,"mutability":"mutable","name":"p1","nameLocation":"18931:2:15","nodeType":"VariableDeclaration","scope":22208,"src":"18926:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22191,"name":"bool","nodeType":"ElementaryTypeName","src":"18926:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22194,"mutability":"mutable","name":"p2","nameLocation":"18940:2:15","nodeType":"VariableDeclaration","scope":22208,"src":"18935:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22193,"name":"bool","nodeType":"ElementaryTypeName","src":"18935:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18913:30:15"},"returnParameters":{"id":22196,"nodeType":"ParameterList","parameters":[],"src":"18958:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22228,"nodeType":"FunctionDefinition","src":"19059:158:15","nodes":[],"body":{"id":22227,"nodeType":"Block","src":"19119:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c6164647265737329","id":22220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19169:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},"value":"log(address,bool,address)"},{"id":22221,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22210,"src":"19198:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22222,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22212,"src":"19202:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22223,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22214,"src":"19206:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22218,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19145:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19145:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19145:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22217,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"19129:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19129:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22226,"nodeType":"ExpressionStatement","src":"19129:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19068:3:15","parameters":{"id":22215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22210,"mutability":"mutable","name":"p0","nameLocation":"19080:2:15","nodeType":"VariableDeclaration","scope":22228,"src":"19072:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22209,"name":"address","nodeType":"ElementaryTypeName","src":"19072:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22212,"mutability":"mutable","name":"p1","nameLocation":"19089:2:15","nodeType":"VariableDeclaration","scope":22228,"src":"19084:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22211,"name":"bool","nodeType":"ElementaryTypeName","src":"19084:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22214,"mutability":"mutable","name":"p2","nameLocation":"19101:2:15","nodeType":"VariableDeclaration","scope":22228,"src":"19093:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22213,"name":"address","nodeType":"ElementaryTypeName","src":"19093:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19071:33:15"},"returnParameters":{"id":22216,"nodeType":"ParameterList","parameters":[],"src":"19119:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22248,"nodeType":"FunctionDefinition","src":"19223:164:15","nodes":[],"body":{"id":22247,"nodeType":"Block","src":"19286:101:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e7432353629","id":22240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19336:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4","typeString":"literal_string \"log(address,address,uint256)\""},"value":"log(address,address,uint256)"},{"id":22241,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22230,"src":"19368:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22242,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22232,"src":"19372:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22243,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22234,"src":"19376:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4","typeString":"literal_string \"log(address,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22238,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19312:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19312:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19312:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22237,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"19296:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19296:84:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22246,"nodeType":"ExpressionStatement","src":"19296:84:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19232:3:15","parameters":{"id":22235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22230,"mutability":"mutable","name":"p0","nameLocation":"19244:2:15","nodeType":"VariableDeclaration","scope":22248,"src":"19236:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22229,"name":"address","nodeType":"ElementaryTypeName","src":"19236:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22232,"mutability":"mutable","name":"p1","nameLocation":"19256:2:15","nodeType":"VariableDeclaration","scope":22248,"src":"19248:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22231,"name":"address","nodeType":"ElementaryTypeName","src":"19248:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22234,"mutability":"mutable","name":"p2","nameLocation":"19268:2:15","nodeType":"VariableDeclaration","scope":22248,"src":"19260:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22233,"name":"uint256","nodeType":"ElementaryTypeName","src":"19260:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19235:36:15"},"returnParameters":{"id":22236,"nodeType":"ParameterList","parameters":[],"src":"19286:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22268,"nodeType":"FunctionDefinition","src":"19393:169:15","nodes":[],"body":{"id":22267,"nodeType":"Block","src":"19462:100:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e6729","id":22260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19512:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},"value":"log(address,address,string)"},{"id":22261,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22250,"src":"19543:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22262,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22252,"src":"19547:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22263,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22254,"src":"19551:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22258,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19488:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19488:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19488:66:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22257,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"19472:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19472:83:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22266,"nodeType":"ExpressionStatement","src":"19472:83:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19402:3:15","parameters":{"id":22255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22250,"mutability":"mutable","name":"p0","nameLocation":"19414:2:15","nodeType":"VariableDeclaration","scope":22268,"src":"19406:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22249,"name":"address","nodeType":"ElementaryTypeName","src":"19406:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22252,"mutability":"mutable","name":"p1","nameLocation":"19426:2:15","nodeType":"VariableDeclaration","scope":22268,"src":"19418:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22251,"name":"address","nodeType":"ElementaryTypeName","src":"19418:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22254,"mutability":"mutable","name":"p2","nameLocation":"19444:2:15","nodeType":"VariableDeclaration","scope":22268,"src":"19430:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22253,"name":"string","nodeType":"ElementaryTypeName","src":"19430:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19405:42:15"},"returnParameters":{"id":22256,"nodeType":"ParameterList","parameters":[],"src":"19462:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22288,"nodeType":"FunctionDefinition","src":"19568:158:15","nodes":[],"body":{"id":22287,"nodeType":"Block","src":"19628:98:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c29","id":22280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19678:27:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},"value":"log(address,address,bool)"},{"id":22281,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22270,"src":"19707:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22282,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22272,"src":"19711:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22283,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22274,"src":"19715:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22278,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19654:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22279,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19654:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19654:64:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22277,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"19638:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19638:81:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22286,"nodeType":"ExpressionStatement","src":"19638:81:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19577:3:15","parameters":{"id":22275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22270,"mutability":"mutable","name":"p0","nameLocation":"19589:2:15","nodeType":"VariableDeclaration","scope":22288,"src":"19581:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22269,"name":"address","nodeType":"ElementaryTypeName","src":"19581:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22272,"mutability":"mutable","name":"p1","nameLocation":"19601:2:15","nodeType":"VariableDeclaration","scope":22288,"src":"19593:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22271,"name":"address","nodeType":"ElementaryTypeName","src":"19593:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22274,"mutability":"mutable","name":"p2","nameLocation":"19610:2:15","nodeType":"VariableDeclaration","scope":22288,"src":"19605:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22273,"name":"bool","nodeType":"ElementaryTypeName","src":"19605:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19580:33:15"},"returnParameters":{"id":22276,"nodeType":"ParameterList","parameters":[],"src":"19628:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22308,"nodeType":"FunctionDefinition","src":"19732:164:15","nodes":[],"body":{"id":22307,"nodeType":"Block","src":"19795:101:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c6164647265737329","id":22300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19845:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},"value":"log(address,address,address)"},{"id":22301,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22290,"src":"19877:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22302,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22292,"src":"19881:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22303,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22294,"src":"19885:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22298,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19821:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19821:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19821:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22297,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"19805:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19805:84:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22306,"nodeType":"ExpressionStatement","src":"19805:84:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19741:3:15","parameters":{"id":22295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22290,"mutability":"mutable","name":"p0","nameLocation":"19753:2:15","nodeType":"VariableDeclaration","scope":22308,"src":"19745:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22289,"name":"address","nodeType":"ElementaryTypeName","src":"19745:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22292,"mutability":"mutable","name":"p1","nameLocation":"19765:2:15","nodeType":"VariableDeclaration","scope":22308,"src":"19757:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22291,"name":"address","nodeType":"ElementaryTypeName","src":"19757:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22294,"mutability":"mutable","name":"p2","nameLocation":"19777:2:15","nodeType":"VariableDeclaration","scope":22308,"src":"19769:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22293,"name":"address","nodeType":"ElementaryTypeName","src":"19769:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19744:36:15"},"returnParameters":{"id":22296,"nodeType":"ParameterList","parameters":[],"src":"19795:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22331,"nodeType":"FunctionDefinition","src":"19902:188:15","nodes":[],"body":{"id":22330,"nodeType":"Block","src":"19977:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c75696e7432353629","id":22322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20027:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f","typeString":"literal_string \"log(uint256,uint256,uint256,uint256)\""},"value":"log(uint256,uint256,uint256,uint256)"},{"id":22323,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22310,"src":"20067:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22324,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22312,"src":"20071:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22325,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22314,"src":"20075:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22326,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22316,"src":"20079:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f","typeString":"literal_string \"log(uint256,uint256,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22320,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20003:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22321,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20003:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20003:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22319,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"19987:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19987:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22329,"nodeType":"ExpressionStatement","src":"19987:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19911:3:15","parameters":{"id":22317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22310,"mutability":"mutable","name":"p0","nameLocation":"19923:2:15","nodeType":"VariableDeclaration","scope":22331,"src":"19915:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22309,"name":"uint256","nodeType":"ElementaryTypeName","src":"19915:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22312,"mutability":"mutable","name":"p1","nameLocation":"19935:2:15","nodeType":"VariableDeclaration","scope":22331,"src":"19927:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22311,"name":"uint256","nodeType":"ElementaryTypeName","src":"19927:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22314,"mutability":"mutable","name":"p2","nameLocation":"19947:2:15","nodeType":"VariableDeclaration","scope":22331,"src":"19939:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22313,"name":"uint256","nodeType":"ElementaryTypeName","src":"19939:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22316,"mutability":"mutable","name":"p3","nameLocation":"19959:2:15","nodeType":"VariableDeclaration","scope":22331,"src":"19951:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22315,"name":"uint256","nodeType":"ElementaryTypeName","src":"19951:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19914:48:15"},"returnParameters":{"id":22318,"nodeType":"ParameterList","parameters":[],"src":"19977:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22354,"nodeType":"FunctionDefinition","src":"20096:193:15","nodes":[],"body":{"id":22353,"nodeType":"Block","src":"20177:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c737472696e6729","id":22345,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20227:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef","typeString":"literal_string \"log(uint256,uint256,uint256,string)\""},"value":"log(uint256,uint256,uint256,string)"},{"id":22346,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22333,"src":"20266:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22347,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22335,"src":"20270:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22348,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22337,"src":"20274:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22349,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22339,"src":"20278:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef","typeString":"literal_string \"log(uint256,uint256,uint256,string)\""},{"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":22343,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20203:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22344,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20203:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20203:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22342,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"20187:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20187:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22352,"nodeType":"ExpressionStatement","src":"20187:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20105:3:15","parameters":{"id":22340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22333,"mutability":"mutable","name":"p0","nameLocation":"20117:2:15","nodeType":"VariableDeclaration","scope":22354,"src":"20109:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22332,"name":"uint256","nodeType":"ElementaryTypeName","src":"20109:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22335,"mutability":"mutable","name":"p1","nameLocation":"20129:2:15","nodeType":"VariableDeclaration","scope":22354,"src":"20121:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22334,"name":"uint256","nodeType":"ElementaryTypeName","src":"20121:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22337,"mutability":"mutable","name":"p2","nameLocation":"20141:2:15","nodeType":"VariableDeclaration","scope":22354,"src":"20133:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22336,"name":"uint256","nodeType":"ElementaryTypeName","src":"20133:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22339,"mutability":"mutable","name":"p3","nameLocation":"20159:2:15","nodeType":"VariableDeclaration","scope":22354,"src":"20145:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22338,"name":"string","nodeType":"ElementaryTypeName","src":"20145:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20108:54:15"},"returnParameters":{"id":22341,"nodeType":"ParameterList","parameters":[],"src":"20177:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22377,"nodeType":"FunctionDefinition","src":"20295:182:15","nodes":[],"body":{"id":22376,"nodeType":"Block","src":"20367:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c626f6f6c29","id":22368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20417:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3","typeString":"literal_string \"log(uint256,uint256,uint256,bool)\""},"value":"log(uint256,uint256,uint256,bool)"},{"id":22369,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22356,"src":"20454:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22370,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22358,"src":"20458:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22371,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22360,"src":"20462:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22372,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22362,"src":"20466:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3","typeString":"literal_string \"log(uint256,uint256,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22366,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20393:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22367,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20393:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20393:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22365,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"20377:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20377:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22375,"nodeType":"ExpressionStatement","src":"20377:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20304:3:15","parameters":{"id":22363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22356,"mutability":"mutable","name":"p0","nameLocation":"20316:2:15","nodeType":"VariableDeclaration","scope":22377,"src":"20308:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22355,"name":"uint256","nodeType":"ElementaryTypeName","src":"20308:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22358,"mutability":"mutable","name":"p1","nameLocation":"20328:2:15","nodeType":"VariableDeclaration","scope":22377,"src":"20320:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22357,"name":"uint256","nodeType":"ElementaryTypeName","src":"20320:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22360,"mutability":"mutable","name":"p2","nameLocation":"20340:2:15","nodeType":"VariableDeclaration","scope":22377,"src":"20332:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22359,"name":"uint256","nodeType":"ElementaryTypeName","src":"20332:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22362,"mutability":"mutable","name":"p3","nameLocation":"20349:2:15","nodeType":"VariableDeclaration","scope":22377,"src":"20344:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22361,"name":"bool","nodeType":"ElementaryTypeName","src":"20344:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20307:45:15"},"returnParameters":{"id":22364,"nodeType":"ParameterList","parameters":[],"src":"20367:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22400,"nodeType":"FunctionDefinition","src":"20483:188:15","nodes":[],"body":{"id":22399,"nodeType":"Block","src":"20558:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c6164647265737329","id":22391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20608:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79","typeString":"literal_string \"log(uint256,uint256,uint256,address)\""},"value":"log(uint256,uint256,uint256,address)"},{"id":22392,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22379,"src":"20648:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22393,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22381,"src":"20652:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22394,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22383,"src":"20656:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22395,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22385,"src":"20660:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79","typeString":"literal_string \"log(uint256,uint256,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22389,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20584:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22390,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20584:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20584:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22388,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"20568:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20568:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22398,"nodeType":"ExpressionStatement","src":"20568:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20492:3:15","parameters":{"id":22386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22379,"mutability":"mutable","name":"p0","nameLocation":"20504:2:15","nodeType":"VariableDeclaration","scope":22400,"src":"20496:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22378,"name":"uint256","nodeType":"ElementaryTypeName","src":"20496:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22381,"mutability":"mutable","name":"p1","nameLocation":"20516:2:15","nodeType":"VariableDeclaration","scope":22400,"src":"20508:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22380,"name":"uint256","nodeType":"ElementaryTypeName","src":"20508:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22383,"mutability":"mutable","name":"p2","nameLocation":"20528:2:15","nodeType":"VariableDeclaration","scope":22400,"src":"20520:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22382,"name":"uint256","nodeType":"ElementaryTypeName","src":"20520:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22385,"mutability":"mutable","name":"p3","nameLocation":"20540:2:15","nodeType":"VariableDeclaration","scope":22400,"src":"20532:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22384,"name":"address","nodeType":"ElementaryTypeName","src":"20532:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20495:48:15"},"returnParameters":{"id":22387,"nodeType":"ParameterList","parameters":[],"src":"20558:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22423,"nodeType":"FunctionDefinition","src":"20677:193:15","nodes":[],"body":{"id":22422,"nodeType":"Block","src":"20758:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c75696e7432353629","id":22414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20808:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114","typeString":"literal_string \"log(uint256,uint256,string,uint256)\""},"value":"log(uint256,uint256,string,uint256)"},{"id":22415,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22402,"src":"20847:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22416,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22404,"src":"20851:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22417,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22406,"src":"20855:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22418,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22408,"src":"20859:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114","typeString":"literal_string \"log(uint256,uint256,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22412,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20784:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20784:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20784:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22411,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"20768:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20768:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22421,"nodeType":"ExpressionStatement","src":"20768:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20686:3:15","parameters":{"id":22409,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22402,"mutability":"mutable","name":"p0","nameLocation":"20698:2:15","nodeType":"VariableDeclaration","scope":22423,"src":"20690:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22401,"name":"uint256","nodeType":"ElementaryTypeName","src":"20690:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22404,"mutability":"mutable","name":"p1","nameLocation":"20710:2:15","nodeType":"VariableDeclaration","scope":22423,"src":"20702:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22403,"name":"uint256","nodeType":"ElementaryTypeName","src":"20702:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22406,"mutability":"mutable","name":"p2","nameLocation":"20728:2:15","nodeType":"VariableDeclaration","scope":22423,"src":"20714:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22405,"name":"string","nodeType":"ElementaryTypeName","src":"20714:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22408,"mutability":"mutable","name":"p3","nameLocation":"20740:2:15","nodeType":"VariableDeclaration","scope":22423,"src":"20732:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22407,"name":"uint256","nodeType":"ElementaryTypeName","src":"20732:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20689:54:15"},"returnParameters":{"id":22410,"nodeType":"ParameterList","parameters":[],"src":"20758:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22446,"nodeType":"FunctionDefinition","src":"20876:198:15","nodes":[],"body":{"id":22445,"nodeType":"Block","src":"20963:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c737472696e6729","id":22437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21013:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0","typeString":"literal_string \"log(uint256,uint256,string,string)\""},"value":"log(uint256,uint256,string,string)"},{"id":22438,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22425,"src":"21051:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22439,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22427,"src":"21055:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22440,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22429,"src":"21059:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22441,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22431,"src":"21063:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0","typeString":"literal_string \"log(uint256,uint256,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22435,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20989:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20989:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20989:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22434,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"20973:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20973:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22444,"nodeType":"ExpressionStatement","src":"20973:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20885:3:15","parameters":{"id":22432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22425,"mutability":"mutable","name":"p0","nameLocation":"20897:2:15","nodeType":"VariableDeclaration","scope":22446,"src":"20889:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22424,"name":"uint256","nodeType":"ElementaryTypeName","src":"20889:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22427,"mutability":"mutable","name":"p1","nameLocation":"20909:2:15","nodeType":"VariableDeclaration","scope":22446,"src":"20901:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22426,"name":"uint256","nodeType":"ElementaryTypeName","src":"20901:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22429,"mutability":"mutable","name":"p2","nameLocation":"20927:2:15","nodeType":"VariableDeclaration","scope":22446,"src":"20913:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22428,"name":"string","nodeType":"ElementaryTypeName","src":"20913:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22431,"mutability":"mutable","name":"p3","nameLocation":"20945:2:15","nodeType":"VariableDeclaration","scope":22446,"src":"20931:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22430,"name":"string","nodeType":"ElementaryTypeName","src":"20931:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20888:60:15"},"returnParameters":{"id":22433,"nodeType":"ParameterList","parameters":[],"src":"20963:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22469,"nodeType":"FunctionDefinition","src":"21080:187:15","nodes":[],"body":{"id":22468,"nodeType":"Block","src":"21158:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c626f6f6c29","id":22460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21208:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9","typeString":"literal_string \"log(uint256,uint256,string,bool)\""},"value":"log(uint256,uint256,string,bool)"},{"id":22461,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22448,"src":"21244:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22462,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22450,"src":"21248:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22463,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22452,"src":"21252:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22464,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22454,"src":"21256:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9","typeString":"literal_string \"log(uint256,uint256,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22458,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21184:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22459,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21184:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21184:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22457,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"21168:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21168:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22467,"nodeType":"ExpressionStatement","src":"21168:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21089:3:15","parameters":{"id":22455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22448,"mutability":"mutable","name":"p0","nameLocation":"21101:2:15","nodeType":"VariableDeclaration","scope":22469,"src":"21093:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22447,"name":"uint256","nodeType":"ElementaryTypeName","src":"21093:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22450,"mutability":"mutable","name":"p1","nameLocation":"21113:2:15","nodeType":"VariableDeclaration","scope":22469,"src":"21105:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22449,"name":"uint256","nodeType":"ElementaryTypeName","src":"21105:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22452,"mutability":"mutable","name":"p2","nameLocation":"21131:2:15","nodeType":"VariableDeclaration","scope":22469,"src":"21117:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22451,"name":"string","nodeType":"ElementaryTypeName","src":"21117:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22454,"mutability":"mutable","name":"p3","nameLocation":"21140:2:15","nodeType":"VariableDeclaration","scope":22469,"src":"21135:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22453,"name":"bool","nodeType":"ElementaryTypeName","src":"21135:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21092:51:15"},"returnParameters":{"id":22456,"nodeType":"ParameterList","parameters":[],"src":"21158:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22492,"nodeType":"FunctionDefinition","src":"21273:193:15","nodes":[],"body":{"id":22491,"nodeType":"Block","src":"21354:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c6164647265737329","id":22483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21404:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53","typeString":"literal_string \"log(uint256,uint256,string,address)\""},"value":"log(uint256,uint256,string,address)"},{"id":22484,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22471,"src":"21443:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22485,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22473,"src":"21447:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22486,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22475,"src":"21451:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22487,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22477,"src":"21455:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53","typeString":"literal_string \"log(uint256,uint256,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22481,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21380:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22482,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21380:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21380:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22480,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"21364:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21364:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22490,"nodeType":"ExpressionStatement","src":"21364:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21282:3:15","parameters":{"id":22478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22471,"mutability":"mutable","name":"p0","nameLocation":"21294:2:15","nodeType":"VariableDeclaration","scope":22492,"src":"21286:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22470,"name":"uint256","nodeType":"ElementaryTypeName","src":"21286:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22473,"mutability":"mutable","name":"p1","nameLocation":"21306:2:15","nodeType":"VariableDeclaration","scope":22492,"src":"21298:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22472,"name":"uint256","nodeType":"ElementaryTypeName","src":"21298:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22475,"mutability":"mutable","name":"p2","nameLocation":"21324:2:15","nodeType":"VariableDeclaration","scope":22492,"src":"21310:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22474,"name":"string","nodeType":"ElementaryTypeName","src":"21310:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22477,"mutability":"mutable","name":"p3","nameLocation":"21336:2:15","nodeType":"VariableDeclaration","scope":22492,"src":"21328:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22476,"name":"address","nodeType":"ElementaryTypeName","src":"21328:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21285:54:15"},"returnParameters":{"id":22479,"nodeType":"ParameterList","parameters":[],"src":"21354:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22515,"nodeType":"FunctionDefinition","src":"21472:182:15","nodes":[],"body":{"id":22514,"nodeType":"Block","src":"21544:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c75696e7432353629","id":22506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21594:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd","typeString":"literal_string \"log(uint256,uint256,bool,uint256)\""},"value":"log(uint256,uint256,bool,uint256)"},{"id":22507,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22494,"src":"21631:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22508,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22496,"src":"21635:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22509,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22498,"src":"21639:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22510,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22500,"src":"21643:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd","typeString":"literal_string \"log(uint256,uint256,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22504,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21570:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21570:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21570:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22503,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"21554:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21554:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22513,"nodeType":"ExpressionStatement","src":"21554:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21481:3:15","parameters":{"id":22501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22494,"mutability":"mutable","name":"p0","nameLocation":"21493:2:15","nodeType":"VariableDeclaration","scope":22515,"src":"21485:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22493,"name":"uint256","nodeType":"ElementaryTypeName","src":"21485:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22496,"mutability":"mutable","name":"p1","nameLocation":"21505:2:15","nodeType":"VariableDeclaration","scope":22515,"src":"21497:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22495,"name":"uint256","nodeType":"ElementaryTypeName","src":"21497:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22498,"mutability":"mutable","name":"p2","nameLocation":"21514:2:15","nodeType":"VariableDeclaration","scope":22515,"src":"21509:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22497,"name":"bool","nodeType":"ElementaryTypeName","src":"21509:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22500,"mutability":"mutable","name":"p3","nameLocation":"21526:2:15","nodeType":"VariableDeclaration","scope":22515,"src":"21518:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22499,"name":"uint256","nodeType":"ElementaryTypeName","src":"21518:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21484:45:15"},"returnParameters":{"id":22502,"nodeType":"ParameterList","parameters":[],"src":"21544:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22538,"nodeType":"FunctionDefinition","src":"21660:187:15","nodes":[],"body":{"id":22537,"nodeType":"Block","src":"21738:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c737472696e6729","id":22529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21788:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a","typeString":"literal_string \"log(uint256,uint256,bool,string)\""},"value":"log(uint256,uint256,bool,string)"},{"id":22530,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22517,"src":"21824:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22531,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22519,"src":"21828:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22532,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22521,"src":"21832:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22533,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22523,"src":"21836:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a","typeString":"literal_string \"log(uint256,uint256,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22527,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21764:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22528,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21764:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21764:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22526,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"21748:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21748:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22536,"nodeType":"ExpressionStatement","src":"21748:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21669:3:15","parameters":{"id":22524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22517,"mutability":"mutable","name":"p0","nameLocation":"21681:2:15","nodeType":"VariableDeclaration","scope":22538,"src":"21673:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22516,"name":"uint256","nodeType":"ElementaryTypeName","src":"21673:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22519,"mutability":"mutable","name":"p1","nameLocation":"21693:2:15","nodeType":"VariableDeclaration","scope":22538,"src":"21685:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22518,"name":"uint256","nodeType":"ElementaryTypeName","src":"21685:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22521,"mutability":"mutable","name":"p2","nameLocation":"21702:2:15","nodeType":"VariableDeclaration","scope":22538,"src":"21697:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22520,"name":"bool","nodeType":"ElementaryTypeName","src":"21697:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22523,"mutability":"mutable","name":"p3","nameLocation":"21720:2:15","nodeType":"VariableDeclaration","scope":22538,"src":"21706:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22522,"name":"string","nodeType":"ElementaryTypeName","src":"21706:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21672:51:15"},"returnParameters":{"id":22525,"nodeType":"ParameterList","parameters":[],"src":"21738:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22561,"nodeType":"FunctionDefinition","src":"21853:176:15","nodes":[],"body":{"id":22560,"nodeType":"Block","src":"21922:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c626f6f6c29","id":22552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21972:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe","typeString":"literal_string \"log(uint256,uint256,bool,bool)\""},"value":"log(uint256,uint256,bool,bool)"},{"id":22553,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22540,"src":"22006:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22554,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22542,"src":"22010:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22555,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22544,"src":"22014:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22556,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22546,"src":"22018:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe","typeString":"literal_string \"log(uint256,uint256,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22550,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21948:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22551,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21948:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21948:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22549,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"21932:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21932:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22559,"nodeType":"ExpressionStatement","src":"21932:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21862:3:15","parameters":{"id":22547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22540,"mutability":"mutable","name":"p0","nameLocation":"21874:2:15","nodeType":"VariableDeclaration","scope":22561,"src":"21866:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22539,"name":"uint256","nodeType":"ElementaryTypeName","src":"21866:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22542,"mutability":"mutable","name":"p1","nameLocation":"21886:2:15","nodeType":"VariableDeclaration","scope":22561,"src":"21878:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22541,"name":"uint256","nodeType":"ElementaryTypeName","src":"21878:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22544,"mutability":"mutable","name":"p2","nameLocation":"21895:2:15","nodeType":"VariableDeclaration","scope":22561,"src":"21890:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22543,"name":"bool","nodeType":"ElementaryTypeName","src":"21890:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22546,"mutability":"mutable","name":"p3","nameLocation":"21904:2:15","nodeType":"VariableDeclaration","scope":22561,"src":"21899:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22545,"name":"bool","nodeType":"ElementaryTypeName","src":"21899:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21865:42:15"},"returnParameters":{"id":22548,"nodeType":"ParameterList","parameters":[],"src":"21922:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22584,"nodeType":"FunctionDefinition","src":"22035:182:15","nodes":[],"body":{"id":22583,"nodeType":"Block","src":"22107:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c6164647265737329","id":22575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22157:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b","typeString":"literal_string \"log(uint256,uint256,bool,address)\""},"value":"log(uint256,uint256,bool,address)"},{"id":22576,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22563,"src":"22194:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22577,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22565,"src":"22198:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22578,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22567,"src":"22202:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22579,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22569,"src":"22206:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b","typeString":"literal_string \"log(uint256,uint256,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22573,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22133:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22574,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22133:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22133:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22572,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"22117:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22117:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22582,"nodeType":"ExpressionStatement","src":"22117:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22044:3:15","parameters":{"id":22570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22563,"mutability":"mutable","name":"p0","nameLocation":"22056:2:15","nodeType":"VariableDeclaration","scope":22584,"src":"22048:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22562,"name":"uint256","nodeType":"ElementaryTypeName","src":"22048:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22565,"mutability":"mutable","name":"p1","nameLocation":"22068:2:15","nodeType":"VariableDeclaration","scope":22584,"src":"22060:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22564,"name":"uint256","nodeType":"ElementaryTypeName","src":"22060:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22567,"mutability":"mutable","name":"p2","nameLocation":"22077:2:15","nodeType":"VariableDeclaration","scope":22584,"src":"22072:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22566,"name":"bool","nodeType":"ElementaryTypeName","src":"22072:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22569,"mutability":"mutable","name":"p3","nameLocation":"22089:2:15","nodeType":"VariableDeclaration","scope":22584,"src":"22081:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22568,"name":"address","nodeType":"ElementaryTypeName","src":"22081:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22047:45:15"},"returnParameters":{"id":22571,"nodeType":"ParameterList","parameters":[],"src":"22107:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22607,"nodeType":"FunctionDefinition","src":"22223:188:15","nodes":[],"body":{"id":22606,"nodeType":"Block","src":"22298:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c75696e7432353629","id":22598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22348:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36","typeString":"literal_string \"log(uint256,uint256,address,uint256)\""},"value":"log(uint256,uint256,address,uint256)"},{"id":22599,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22586,"src":"22388:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22600,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22588,"src":"22392:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22601,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22590,"src":"22396:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22602,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22592,"src":"22400:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36","typeString":"literal_string \"log(uint256,uint256,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22596,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22324:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22597,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22324:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22324:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22595,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"22308:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22308:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22605,"nodeType":"ExpressionStatement","src":"22308:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22232:3:15","parameters":{"id":22593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22586,"mutability":"mutable","name":"p0","nameLocation":"22244:2:15","nodeType":"VariableDeclaration","scope":22607,"src":"22236:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22585,"name":"uint256","nodeType":"ElementaryTypeName","src":"22236:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22588,"mutability":"mutable","name":"p1","nameLocation":"22256:2:15","nodeType":"VariableDeclaration","scope":22607,"src":"22248:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22587,"name":"uint256","nodeType":"ElementaryTypeName","src":"22248:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22590,"mutability":"mutable","name":"p2","nameLocation":"22268:2:15","nodeType":"VariableDeclaration","scope":22607,"src":"22260:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22589,"name":"address","nodeType":"ElementaryTypeName","src":"22260:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22592,"mutability":"mutable","name":"p3","nameLocation":"22280:2:15","nodeType":"VariableDeclaration","scope":22607,"src":"22272:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22591,"name":"uint256","nodeType":"ElementaryTypeName","src":"22272:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22235:48:15"},"returnParameters":{"id":22594,"nodeType":"ParameterList","parameters":[],"src":"22298:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22630,"nodeType":"FunctionDefinition","src":"22417:193:15","nodes":[],"body":{"id":22629,"nodeType":"Block","src":"22498:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c737472696e6729","id":22621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22548:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40","typeString":"literal_string \"log(uint256,uint256,address,string)\""},"value":"log(uint256,uint256,address,string)"},{"id":22622,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22609,"src":"22587:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22623,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22611,"src":"22591:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22624,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22613,"src":"22595:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22625,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22615,"src":"22599:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40","typeString":"literal_string \"log(uint256,uint256,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22619,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22524:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22620,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22524:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22524:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22618,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"22508:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22508:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22628,"nodeType":"ExpressionStatement","src":"22508:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22426:3:15","parameters":{"id":22616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22609,"mutability":"mutable","name":"p0","nameLocation":"22438:2:15","nodeType":"VariableDeclaration","scope":22630,"src":"22430:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22608,"name":"uint256","nodeType":"ElementaryTypeName","src":"22430:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22611,"mutability":"mutable","name":"p1","nameLocation":"22450:2:15","nodeType":"VariableDeclaration","scope":22630,"src":"22442:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22610,"name":"uint256","nodeType":"ElementaryTypeName","src":"22442:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22613,"mutability":"mutable","name":"p2","nameLocation":"22462:2:15","nodeType":"VariableDeclaration","scope":22630,"src":"22454:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22612,"name":"address","nodeType":"ElementaryTypeName","src":"22454:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22615,"mutability":"mutable","name":"p3","nameLocation":"22480:2:15","nodeType":"VariableDeclaration","scope":22630,"src":"22466:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22614,"name":"string","nodeType":"ElementaryTypeName","src":"22466:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22429:54:15"},"returnParameters":{"id":22617,"nodeType":"ParameterList","parameters":[],"src":"22498:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22653,"nodeType":"FunctionDefinition","src":"22616:182:15","nodes":[],"body":{"id":22652,"nodeType":"Block","src":"22688:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c626f6f6c29","id":22644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22738:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201","typeString":"literal_string \"log(uint256,uint256,address,bool)\""},"value":"log(uint256,uint256,address,bool)"},{"id":22645,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22632,"src":"22775:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22646,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22634,"src":"22779:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22647,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22636,"src":"22783:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22648,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22638,"src":"22787:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201","typeString":"literal_string \"log(uint256,uint256,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22642,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22714:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22714:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22714:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22641,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"22698:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22698:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22651,"nodeType":"ExpressionStatement","src":"22698:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22625:3:15","parameters":{"id":22639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22632,"mutability":"mutable","name":"p0","nameLocation":"22637:2:15","nodeType":"VariableDeclaration","scope":22653,"src":"22629:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22631,"name":"uint256","nodeType":"ElementaryTypeName","src":"22629:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22634,"mutability":"mutable","name":"p1","nameLocation":"22649:2:15","nodeType":"VariableDeclaration","scope":22653,"src":"22641:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22633,"name":"uint256","nodeType":"ElementaryTypeName","src":"22641:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22636,"mutability":"mutable","name":"p2","nameLocation":"22661:2:15","nodeType":"VariableDeclaration","scope":22653,"src":"22653:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22635,"name":"address","nodeType":"ElementaryTypeName","src":"22653:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22638,"mutability":"mutable","name":"p3","nameLocation":"22670:2:15","nodeType":"VariableDeclaration","scope":22653,"src":"22665:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22637,"name":"bool","nodeType":"ElementaryTypeName","src":"22665:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22628:45:15"},"returnParameters":{"id":22640,"nodeType":"ParameterList","parameters":[],"src":"22688:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22676,"nodeType":"FunctionDefinition","src":"22804:188:15","nodes":[],"body":{"id":22675,"nodeType":"Block","src":"22879:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c6164647265737329","id":22667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22929:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d","typeString":"literal_string \"log(uint256,uint256,address,address)\""},"value":"log(uint256,uint256,address,address)"},{"id":22668,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22655,"src":"22969:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22669,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22657,"src":"22973:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22670,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22659,"src":"22977:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22671,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22661,"src":"22981:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d","typeString":"literal_string \"log(uint256,uint256,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22665,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22905:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22905:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22905:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22664,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"22889:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"22889:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22674,"nodeType":"ExpressionStatement","src":"22889:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22813:3:15","parameters":{"id":22662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22655,"mutability":"mutable","name":"p0","nameLocation":"22825:2:15","nodeType":"VariableDeclaration","scope":22676,"src":"22817:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22654,"name":"uint256","nodeType":"ElementaryTypeName","src":"22817:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22657,"mutability":"mutable","name":"p1","nameLocation":"22837:2:15","nodeType":"VariableDeclaration","scope":22676,"src":"22829:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22656,"name":"uint256","nodeType":"ElementaryTypeName","src":"22829:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22659,"mutability":"mutable","name":"p2","nameLocation":"22849:2:15","nodeType":"VariableDeclaration","scope":22676,"src":"22841:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22658,"name":"address","nodeType":"ElementaryTypeName","src":"22841:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22661,"mutability":"mutable","name":"p3","nameLocation":"22861:2:15","nodeType":"VariableDeclaration","scope":22676,"src":"22853:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22660,"name":"address","nodeType":"ElementaryTypeName","src":"22853:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22816:48:15"},"returnParameters":{"id":22663,"nodeType":"ParameterList","parameters":[],"src":"22879:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22699,"nodeType":"FunctionDefinition","src":"22998:193:15","nodes":[],"body":{"id":22698,"nodeType":"Block","src":"23079:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c75696e7432353629","id":22690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23129:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f","typeString":"literal_string \"log(uint256,string,uint256,uint256)\""},"value":"log(uint256,string,uint256,uint256)"},{"id":22691,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22678,"src":"23168:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22692,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22680,"src":"23172:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22693,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22682,"src":"23176:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22694,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22684,"src":"23180:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f","typeString":"literal_string \"log(uint256,string,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22688,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23105:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22689,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23105:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23105:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22687,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"23089:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23089:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22697,"nodeType":"ExpressionStatement","src":"23089:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23007:3:15","parameters":{"id":22685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22678,"mutability":"mutable","name":"p0","nameLocation":"23019:2:15","nodeType":"VariableDeclaration","scope":22699,"src":"23011:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22677,"name":"uint256","nodeType":"ElementaryTypeName","src":"23011:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22680,"mutability":"mutable","name":"p1","nameLocation":"23037:2:15","nodeType":"VariableDeclaration","scope":22699,"src":"23023:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22679,"name":"string","nodeType":"ElementaryTypeName","src":"23023:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22682,"mutability":"mutable","name":"p2","nameLocation":"23049:2:15","nodeType":"VariableDeclaration","scope":22699,"src":"23041:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22681,"name":"uint256","nodeType":"ElementaryTypeName","src":"23041:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22684,"mutability":"mutable","name":"p3","nameLocation":"23061:2:15","nodeType":"VariableDeclaration","scope":22699,"src":"23053:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22683,"name":"uint256","nodeType":"ElementaryTypeName","src":"23053:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23010:54:15"},"returnParameters":{"id":22686,"nodeType":"ParameterList","parameters":[],"src":"23079:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22722,"nodeType":"FunctionDefinition","src":"23197:198:15","nodes":[],"body":{"id":22721,"nodeType":"Block","src":"23284:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c737472696e6729","id":22713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23334:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace","typeString":"literal_string \"log(uint256,string,uint256,string)\""},"value":"log(uint256,string,uint256,string)"},{"id":22714,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22701,"src":"23372:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22715,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22703,"src":"23376:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22716,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22705,"src":"23380:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22717,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22707,"src":"23384:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace","typeString":"literal_string \"log(uint256,string,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22711,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23310:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23310:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23310:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22710,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"23294:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23294:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22720,"nodeType":"ExpressionStatement","src":"23294:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23206:3:15","parameters":{"id":22708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22701,"mutability":"mutable","name":"p0","nameLocation":"23218:2:15","nodeType":"VariableDeclaration","scope":22722,"src":"23210:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22700,"name":"uint256","nodeType":"ElementaryTypeName","src":"23210:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22703,"mutability":"mutable","name":"p1","nameLocation":"23236:2:15","nodeType":"VariableDeclaration","scope":22722,"src":"23222:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22702,"name":"string","nodeType":"ElementaryTypeName","src":"23222:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22705,"mutability":"mutable","name":"p2","nameLocation":"23248:2:15","nodeType":"VariableDeclaration","scope":22722,"src":"23240:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22704,"name":"uint256","nodeType":"ElementaryTypeName","src":"23240:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22707,"mutability":"mutable","name":"p3","nameLocation":"23266:2:15","nodeType":"VariableDeclaration","scope":22722,"src":"23252:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22706,"name":"string","nodeType":"ElementaryTypeName","src":"23252:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23209:60:15"},"returnParameters":{"id":22709,"nodeType":"ParameterList","parameters":[],"src":"23284:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22745,"nodeType":"FunctionDefinition","src":"23401:187:15","nodes":[],"body":{"id":22744,"nodeType":"Block","src":"23479:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c626f6f6c29","id":22736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23529:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c","typeString":"literal_string \"log(uint256,string,uint256,bool)\""},"value":"log(uint256,string,uint256,bool)"},{"id":22737,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22724,"src":"23565:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22738,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22726,"src":"23569:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22739,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22728,"src":"23573:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22740,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22730,"src":"23577:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c","typeString":"literal_string \"log(uint256,string,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22734,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23505:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22735,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23505:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23505:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22733,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"23489:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23489:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22743,"nodeType":"ExpressionStatement","src":"23489:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23410:3:15","parameters":{"id":22731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22724,"mutability":"mutable","name":"p0","nameLocation":"23422:2:15","nodeType":"VariableDeclaration","scope":22745,"src":"23414:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22723,"name":"uint256","nodeType":"ElementaryTypeName","src":"23414:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22726,"mutability":"mutable","name":"p1","nameLocation":"23440:2:15","nodeType":"VariableDeclaration","scope":22745,"src":"23426:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22725,"name":"string","nodeType":"ElementaryTypeName","src":"23426:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22728,"mutability":"mutable","name":"p2","nameLocation":"23452:2:15","nodeType":"VariableDeclaration","scope":22745,"src":"23444:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22727,"name":"uint256","nodeType":"ElementaryTypeName","src":"23444:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22730,"mutability":"mutable","name":"p3","nameLocation":"23461:2:15","nodeType":"VariableDeclaration","scope":22745,"src":"23456:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22729,"name":"bool","nodeType":"ElementaryTypeName","src":"23456:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23413:51:15"},"returnParameters":{"id":22732,"nodeType":"ParameterList","parameters":[],"src":"23479:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22768,"nodeType":"FunctionDefinition","src":"23594:193:15","nodes":[],"body":{"id":22767,"nodeType":"Block","src":"23675:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c6164647265737329","id":22759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23725:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08","typeString":"literal_string \"log(uint256,string,uint256,address)\""},"value":"log(uint256,string,uint256,address)"},{"id":22760,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22747,"src":"23764:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22761,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22749,"src":"23768:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22762,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22751,"src":"23772:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22763,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22753,"src":"23776:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08","typeString":"literal_string \"log(uint256,string,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22757,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23701:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22758,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23701:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23701:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22756,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"23685:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23685:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22766,"nodeType":"ExpressionStatement","src":"23685:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23603:3:15","parameters":{"id":22754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22747,"mutability":"mutable","name":"p0","nameLocation":"23615:2:15","nodeType":"VariableDeclaration","scope":22768,"src":"23607:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22746,"name":"uint256","nodeType":"ElementaryTypeName","src":"23607:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22749,"mutability":"mutable","name":"p1","nameLocation":"23633:2:15","nodeType":"VariableDeclaration","scope":22768,"src":"23619:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22748,"name":"string","nodeType":"ElementaryTypeName","src":"23619:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22751,"mutability":"mutable","name":"p2","nameLocation":"23645:2:15","nodeType":"VariableDeclaration","scope":22768,"src":"23637:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22750,"name":"uint256","nodeType":"ElementaryTypeName","src":"23637:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22753,"mutability":"mutable","name":"p3","nameLocation":"23657:2:15","nodeType":"VariableDeclaration","scope":22768,"src":"23649:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22752,"name":"address","nodeType":"ElementaryTypeName","src":"23649:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23606:54:15"},"returnParameters":{"id":22755,"nodeType":"ParameterList","parameters":[],"src":"23675:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22791,"nodeType":"FunctionDefinition","src":"23793:198:15","nodes":[],"body":{"id":22790,"nodeType":"Block","src":"23880:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c75696e7432353629","id":22782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23930:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1","typeString":"literal_string \"log(uint256,string,string,uint256)\""},"value":"log(uint256,string,string,uint256)"},{"id":22783,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22770,"src":"23968:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22784,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22772,"src":"23972:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22785,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22774,"src":"23976:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22786,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22776,"src":"23980:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1","typeString":"literal_string \"log(uint256,string,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22780,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23906:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22781,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23906:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23906:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22779,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"23890:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"23890:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22789,"nodeType":"ExpressionStatement","src":"23890:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23802:3:15","parameters":{"id":22777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22770,"mutability":"mutable","name":"p0","nameLocation":"23814:2:15","nodeType":"VariableDeclaration","scope":22791,"src":"23806:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22769,"name":"uint256","nodeType":"ElementaryTypeName","src":"23806:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22772,"mutability":"mutable","name":"p1","nameLocation":"23832:2:15","nodeType":"VariableDeclaration","scope":22791,"src":"23818:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22771,"name":"string","nodeType":"ElementaryTypeName","src":"23818:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22774,"mutability":"mutable","name":"p2","nameLocation":"23850:2:15","nodeType":"VariableDeclaration","scope":22791,"src":"23836:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22773,"name":"string","nodeType":"ElementaryTypeName","src":"23836:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22776,"mutability":"mutable","name":"p3","nameLocation":"23862:2:15","nodeType":"VariableDeclaration","scope":22791,"src":"23854:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22775,"name":"uint256","nodeType":"ElementaryTypeName","src":"23854:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23805:60:15"},"returnParameters":{"id":22778,"nodeType":"ParameterList","parameters":[],"src":"23880:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22814,"nodeType":"FunctionDefinition","src":"23997:203:15","nodes":[],"body":{"id":22813,"nodeType":"Block","src":"24090:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c737472696e6729","id":22805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24140:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a","typeString":"literal_string \"log(uint256,string,string,string)\""},"value":"log(uint256,string,string,string)"},{"id":22806,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22793,"src":"24177:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22807,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22795,"src":"24181:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22808,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22797,"src":"24185:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22809,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22799,"src":"24189:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a","typeString":"literal_string \"log(uint256,string,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"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":22803,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24116:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24116:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24116:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22802,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"24100:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24100:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22812,"nodeType":"ExpressionStatement","src":"24100:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24006:3:15","parameters":{"id":22800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22793,"mutability":"mutable","name":"p0","nameLocation":"24018:2:15","nodeType":"VariableDeclaration","scope":22814,"src":"24010:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22792,"name":"uint256","nodeType":"ElementaryTypeName","src":"24010:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22795,"mutability":"mutable","name":"p1","nameLocation":"24036:2:15","nodeType":"VariableDeclaration","scope":22814,"src":"24022:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22794,"name":"string","nodeType":"ElementaryTypeName","src":"24022:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22797,"mutability":"mutable","name":"p2","nameLocation":"24054:2:15","nodeType":"VariableDeclaration","scope":22814,"src":"24040:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22796,"name":"string","nodeType":"ElementaryTypeName","src":"24040:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22799,"mutability":"mutable","name":"p3","nameLocation":"24072:2:15","nodeType":"VariableDeclaration","scope":22814,"src":"24058:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22798,"name":"string","nodeType":"ElementaryTypeName","src":"24058:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24009:66:15"},"returnParameters":{"id":22801,"nodeType":"ParameterList","parameters":[],"src":"24090:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22837,"nodeType":"FunctionDefinition","src":"24206:192:15","nodes":[],"body":{"id":22836,"nodeType":"Block","src":"24290:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c626f6f6c29","id":22828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24340:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9","typeString":"literal_string \"log(uint256,string,string,bool)\""},"value":"log(uint256,string,string,bool)"},{"id":22829,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22816,"src":"24375:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22830,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22818,"src":"24379:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22831,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22820,"src":"24383:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22832,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22822,"src":"24387:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9","typeString":"literal_string \"log(uint256,string,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22826,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24316:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22827,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24316:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24316:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22825,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"24300:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24300:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22835,"nodeType":"ExpressionStatement","src":"24300:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24215:3:15","parameters":{"id":22823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22816,"mutability":"mutable","name":"p0","nameLocation":"24227:2:15","nodeType":"VariableDeclaration","scope":22837,"src":"24219:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22815,"name":"uint256","nodeType":"ElementaryTypeName","src":"24219:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22818,"mutability":"mutable","name":"p1","nameLocation":"24245:2:15","nodeType":"VariableDeclaration","scope":22837,"src":"24231:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22817,"name":"string","nodeType":"ElementaryTypeName","src":"24231:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22820,"mutability":"mutable","name":"p2","nameLocation":"24263:2:15","nodeType":"VariableDeclaration","scope":22837,"src":"24249:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22819,"name":"string","nodeType":"ElementaryTypeName","src":"24249:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22822,"mutability":"mutable","name":"p3","nameLocation":"24272:2:15","nodeType":"VariableDeclaration","scope":22837,"src":"24267:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22821,"name":"bool","nodeType":"ElementaryTypeName","src":"24267:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24218:57:15"},"returnParameters":{"id":22824,"nodeType":"ParameterList","parameters":[],"src":"24290:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22860,"nodeType":"FunctionDefinition","src":"24404:198:15","nodes":[],"body":{"id":22859,"nodeType":"Block","src":"24491:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c6164647265737329","id":22851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24541:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7","typeString":"literal_string \"log(uint256,string,string,address)\""},"value":"log(uint256,string,string,address)"},{"id":22852,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22839,"src":"24579:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22853,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22841,"src":"24583:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22854,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22843,"src":"24587:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22855,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22845,"src":"24591:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7","typeString":"literal_string \"log(uint256,string,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22849,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24517:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22850,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24517:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24517:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22848,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"24501:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24501:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22858,"nodeType":"ExpressionStatement","src":"24501:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24413:3:15","parameters":{"id":22846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22839,"mutability":"mutable","name":"p0","nameLocation":"24425:2:15","nodeType":"VariableDeclaration","scope":22860,"src":"24417:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22838,"name":"uint256","nodeType":"ElementaryTypeName","src":"24417:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22841,"mutability":"mutable","name":"p1","nameLocation":"24443:2:15","nodeType":"VariableDeclaration","scope":22860,"src":"24429:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22840,"name":"string","nodeType":"ElementaryTypeName","src":"24429:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22843,"mutability":"mutable","name":"p2","nameLocation":"24461:2:15","nodeType":"VariableDeclaration","scope":22860,"src":"24447:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22842,"name":"string","nodeType":"ElementaryTypeName","src":"24447:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22845,"mutability":"mutable","name":"p3","nameLocation":"24473:2:15","nodeType":"VariableDeclaration","scope":22860,"src":"24465:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22844,"name":"address","nodeType":"ElementaryTypeName","src":"24465:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24416:60:15"},"returnParameters":{"id":22847,"nodeType":"ParameterList","parameters":[],"src":"24491:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22883,"nodeType":"FunctionDefinition","src":"24608:187:15","nodes":[],"body":{"id":22882,"nodeType":"Block","src":"24686:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c75696e7432353629","id":22874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24736:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a","typeString":"literal_string \"log(uint256,string,bool,uint256)\""},"value":"log(uint256,string,bool,uint256)"},{"id":22875,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22862,"src":"24772:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22876,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22864,"src":"24776:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22877,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22866,"src":"24780:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22878,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22868,"src":"24784:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a","typeString":"literal_string \"log(uint256,string,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22872,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24712:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24712:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24712:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22871,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"24696:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24696:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22881,"nodeType":"ExpressionStatement","src":"24696:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24617:3:15","parameters":{"id":22869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22862,"mutability":"mutable","name":"p0","nameLocation":"24629:2:15","nodeType":"VariableDeclaration","scope":22883,"src":"24621:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22861,"name":"uint256","nodeType":"ElementaryTypeName","src":"24621:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22864,"mutability":"mutable","name":"p1","nameLocation":"24647:2:15","nodeType":"VariableDeclaration","scope":22883,"src":"24633:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22863,"name":"string","nodeType":"ElementaryTypeName","src":"24633:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22866,"mutability":"mutable","name":"p2","nameLocation":"24656:2:15","nodeType":"VariableDeclaration","scope":22883,"src":"24651:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22865,"name":"bool","nodeType":"ElementaryTypeName","src":"24651:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22868,"mutability":"mutable","name":"p3","nameLocation":"24668:2:15","nodeType":"VariableDeclaration","scope":22883,"src":"24660:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22867,"name":"uint256","nodeType":"ElementaryTypeName","src":"24660:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24620:51:15"},"returnParameters":{"id":22870,"nodeType":"ParameterList","parameters":[],"src":"24686:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22906,"nodeType":"FunctionDefinition","src":"24801:192:15","nodes":[],"body":{"id":22905,"nodeType":"Block","src":"24885:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c737472696e6729","id":22897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24935:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c","typeString":"literal_string \"log(uint256,string,bool,string)\""},"value":"log(uint256,string,bool,string)"},{"id":22898,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22885,"src":"24970:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22899,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22887,"src":"24974:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22900,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22889,"src":"24978:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22901,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22891,"src":"24982:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c","typeString":"literal_string \"log(uint256,string,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22895,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24911:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22896,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24911:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24911:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22894,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"24895:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"24895:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22904,"nodeType":"ExpressionStatement","src":"24895:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24810:3:15","parameters":{"id":22892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22885,"mutability":"mutable","name":"p0","nameLocation":"24822:2:15","nodeType":"VariableDeclaration","scope":22906,"src":"24814:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22884,"name":"uint256","nodeType":"ElementaryTypeName","src":"24814:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22887,"mutability":"mutable","name":"p1","nameLocation":"24840:2:15","nodeType":"VariableDeclaration","scope":22906,"src":"24826:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22886,"name":"string","nodeType":"ElementaryTypeName","src":"24826:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22889,"mutability":"mutable","name":"p2","nameLocation":"24849:2:15","nodeType":"VariableDeclaration","scope":22906,"src":"24844:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22888,"name":"bool","nodeType":"ElementaryTypeName","src":"24844:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22891,"mutability":"mutable","name":"p3","nameLocation":"24867:2:15","nodeType":"VariableDeclaration","scope":22906,"src":"24853:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22890,"name":"string","nodeType":"ElementaryTypeName","src":"24853:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24813:57:15"},"returnParameters":{"id":22893,"nodeType":"ParameterList","parameters":[],"src":"24885:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22929,"nodeType":"FunctionDefinition","src":"24999:181:15","nodes":[],"body":{"id":22928,"nodeType":"Block","src":"25074:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c626f6f6c29","id":22920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25124:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f","typeString":"literal_string \"log(uint256,string,bool,bool)\""},"value":"log(uint256,string,bool,bool)"},{"id":22921,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22908,"src":"25157:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22922,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22910,"src":"25161:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22923,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22912,"src":"25165:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22924,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22914,"src":"25169:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f","typeString":"literal_string \"log(uint256,string,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":22918,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25100:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25100:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25100:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22917,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"25084:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25084:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22927,"nodeType":"ExpressionStatement","src":"25084:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25008:3:15","parameters":{"id":22915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22908,"mutability":"mutable","name":"p0","nameLocation":"25020:2:15","nodeType":"VariableDeclaration","scope":22929,"src":"25012:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22907,"name":"uint256","nodeType":"ElementaryTypeName","src":"25012:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22910,"mutability":"mutable","name":"p1","nameLocation":"25038:2:15","nodeType":"VariableDeclaration","scope":22929,"src":"25024:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22909,"name":"string","nodeType":"ElementaryTypeName","src":"25024:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22912,"mutability":"mutable","name":"p2","nameLocation":"25047:2:15","nodeType":"VariableDeclaration","scope":22929,"src":"25042:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22911,"name":"bool","nodeType":"ElementaryTypeName","src":"25042:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22914,"mutability":"mutable","name":"p3","nameLocation":"25056:2:15","nodeType":"VariableDeclaration","scope":22929,"src":"25051:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22913,"name":"bool","nodeType":"ElementaryTypeName","src":"25051:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25011:48:15"},"returnParameters":{"id":22916,"nodeType":"ParameterList","parameters":[],"src":"25074:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22952,"nodeType":"FunctionDefinition","src":"25186:187:15","nodes":[],"body":{"id":22951,"nodeType":"Block","src":"25264:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c6164647265737329","id":22943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25314:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550","typeString":"literal_string \"log(uint256,string,bool,address)\""},"value":"log(uint256,string,bool,address)"},{"id":22944,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22931,"src":"25350:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22945,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22933,"src":"25354:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22946,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22935,"src":"25358:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":22947,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22937,"src":"25362:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550","typeString":"literal_string \"log(uint256,string,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":22941,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25290:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22942,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25290:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25290:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22940,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"25274:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25274:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22950,"nodeType":"ExpressionStatement","src":"25274:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25195:3:15","parameters":{"id":22938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22931,"mutability":"mutable","name":"p0","nameLocation":"25207:2:15","nodeType":"VariableDeclaration","scope":22952,"src":"25199:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22930,"name":"uint256","nodeType":"ElementaryTypeName","src":"25199:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22933,"mutability":"mutable","name":"p1","nameLocation":"25225:2:15","nodeType":"VariableDeclaration","scope":22952,"src":"25211:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22932,"name":"string","nodeType":"ElementaryTypeName","src":"25211:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22935,"mutability":"mutable","name":"p2","nameLocation":"25234:2:15","nodeType":"VariableDeclaration","scope":22952,"src":"25229:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":22934,"name":"bool","nodeType":"ElementaryTypeName","src":"25229:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":22937,"mutability":"mutable","name":"p3","nameLocation":"25246:2:15","nodeType":"VariableDeclaration","scope":22952,"src":"25238:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22936,"name":"address","nodeType":"ElementaryTypeName","src":"25238:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25198:51:15"},"returnParameters":{"id":22939,"nodeType":"ParameterList","parameters":[],"src":"25264:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22975,"nodeType":"FunctionDefinition","src":"25379:193:15","nodes":[],"body":{"id":22974,"nodeType":"Block","src":"25460:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c75696e7432353629","id":22966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25510:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908","typeString":"literal_string \"log(uint256,string,address,uint256)\""},"value":"log(uint256,string,address,uint256)"},{"id":22967,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22954,"src":"25549:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22968,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22956,"src":"25553:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22969,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22958,"src":"25557:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22970,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22960,"src":"25561:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908","typeString":"literal_string \"log(uint256,string,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":22964,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25486:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25486:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25486:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22963,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"25470:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25470:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22973,"nodeType":"ExpressionStatement","src":"25470:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25388:3:15","parameters":{"id":22961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22954,"mutability":"mutable","name":"p0","nameLocation":"25400:2:15","nodeType":"VariableDeclaration","scope":22975,"src":"25392:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22953,"name":"uint256","nodeType":"ElementaryTypeName","src":"25392:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22956,"mutability":"mutable","name":"p1","nameLocation":"25418:2:15","nodeType":"VariableDeclaration","scope":22975,"src":"25404:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22955,"name":"string","nodeType":"ElementaryTypeName","src":"25404:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22958,"mutability":"mutable","name":"p2","nameLocation":"25430:2:15","nodeType":"VariableDeclaration","scope":22975,"src":"25422:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22957,"name":"address","nodeType":"ElementaryTypeName","src":"25422:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22960,"mutability":"mutable","name":"p3","nameLocation":"25442:2:15","nodeType":"VariableDeclaration","scope":22975,"src":"25434:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22959,"name":"uint256","nodeType":"ElementaryTypeName","src":"25434:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25391:54:15"},"returnParameters":{"id":22962,"nodeType":"ParameterList","parameters":[],"src":"25460:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":22998,"nodeType":"FunctionDefinition","src":"25578:198:15","nodes":[],"body":{"id":22997,"nodeType":"Block","src":"25665:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c737472696e6729","id":22989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25715:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720","typeString":"literal_string \"log(uint256,string,address,string)\""},"value":"log(uint256,string,address,string)"},{"id":22990,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22977,"src":"25753:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":22991,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22979,"src":"25757:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":22992,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22981,"src":"25761:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":22993,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22983,"src":"25765:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720","typeString":"literal_string \"log(uint256,string,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":22987,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25691:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":22988,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25691:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":22994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25691:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":22986,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"25675:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":22995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25675:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":22996,"nodeType":"ExpressionStatement","src":"25675:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25587:3:15","parameters":{"id":22984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":22977,"mutability":"mutable","name":"p0","nameLocation":"25599:2:15","nodeType":"VariableDeclaration","scope":22998,"src":"25591:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22976,"name":"uint256","nodeType":"ElementaryTypeName","src":"25591:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":22979,"mutability":"mutable","name":"p1","nameLocation":"25617:2:15","nodeType":"VariableDeclaration","scope":22998,"src":"25603:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22978,"name":"string","nodeType":"ElementaryTypeName","src":"25603:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":22981,"mutability":"mutable","name":"p2","nameLocation":"25629:2:15","nodeType":"VariableDeclaration","scope":22998,"src":"25621:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":22980,"name":"address","nodeType":"ElementaryTypeName","src":"25621:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":22983,"mutability":"mutable","name":"p3","nameLocation":"25647:2:15","nodeType":"VariableDeclaration","scope":22998,"src":"25633:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":22982,"name":"string","nodeType":"ElementaryTypeName","src":"25633:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25590:60:15"},"returnParameters":{"id":22985,"nodeType":"ParameterList","parameters":[],"src":"25665:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23021,"nodeType":"FunctionDefinition","src":"25782:187:15","nodes":[],"body":{"id":23020,"nodeType":"Block","src":"25860:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c626f6f6c29","id":23012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25910:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5","typeString":"literal_string \"log(uint256,string,address,bool)\""},"value":"log(uint256,string,address,bool)"},{"id":23013,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23000,"src":"25946:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23014,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23002,"src":"25950:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23015,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23004,"src":"25954:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23016,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23006,"src":"25958:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5","typeString":"literal_string \"log(uint256,string,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23010,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25886:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25886:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25886:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23009,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"25870:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"25870:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23019,"nodeType":"ExpressionStatement","src":"25870:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25791:3:15","parameters":{"id":23007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23000,"mutability":"mutable","name":"p0","nameLocation":"25803:2:15","nodeType":"VariableDeclaration","scope":23021,"src":"25795:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":22999,"name":"uint256","nodeType":"ElementaryTypeName","src":"25795:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23002,"mutability":"mutable","name":"p1","nameLocation":"25821:2:15","nodeType":"VariableDeclaration","scope":23021,"src":"25807:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23001,"name":"string","nodeType":"ElementaryTypeName","src":"25807:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23004,"mutability":"mutable","name":"p2","nameLocation":"25833:2:15","nodeType":"VariableDeclaration","scope":23021,"src":"25825:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23003,"name":"address","nodeType":"ElementaryTypeName","src":"25825:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23006,"mutability":"mutable","name":"p3","nameLocation":"25842:2:15","nodeType":"VariableDeclaration","scope":23021,"src":"25837:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23005,"name":"bool","nodeType":"ElementaryTypeName","src":"25837:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25794:51:15"},"returnParameters":{"id":23008,"nodeType":"ParameterList","parameters":[],"src":"25860:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23044,"nodeType":"FunctionDefinition","src":"25975:193:15","nodes":[],"body":{"id":23043,"nodeType":"Block","src":"26056:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c6164647265737329","id":23035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26106:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd","typeString":"literal_string \"log(uint256,string,address,address)\""},"value":"log(uint256,string,address,address)"},{"id":23036,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23023,"src":"26145:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23037,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23025,"src":"26149:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23038,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23027,"src":"26153:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23039,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23029,"src":"26157:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd","typeString":"literal_string \"log(uint256,string,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23033,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26082:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26082:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26082:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23032,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"26066:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26066:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23042,"nodeType":"ExpressionStatement","src":"26066:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25984:3:15","parameters":{"id":23030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23023,"mutability":"mutable","name":"p0","nameLocation":"25996:2:15","nodeType":"VariableDeclaration","scope":23044,"src":"25988:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23022,"name":"uint256","nodeType":"ElementaryTypeName","src":"25988:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23025,"mutability":"mutable","name":"p1","nameLocation":"26014:2:15","nodeType":"VariableDeclaration","scope":23044,"src":"26000:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23024,"name":"string","nodeType":"ElementaryTypeName","src":"26000:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23027,"mutability":"mutable","name":"p2","nameLocation":"26026:2:15","nodeType":"VariableDeclaration","scope":23044,"src":"26018:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23026,"name":"address","nodeType":"ElementaryTypeName","src":"26018:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23029,"mutability":"mutable","name":"p3","nameLocation":"26038:2:15","nodeType":"VariableDeclaration","scope":23044,"src":"26030:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23028,"name":"address","nodeType":"ElementaryTypeName","src":"26030:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25987:54:15"},"returnParameters":{"id":23031,"nodeType":"ParameterList","parameters":[],"src":"26056:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23067,"nodeType":"FunctionDefinition","src":"26174:182:15","nodes":[],"body":{"id":23066,"nodeType":"Block","src":"26246:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c75696e7432353629","id":23058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26296:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4","typeString":"literal_string \"log(uint256,bool,uint256,uint256)\""},"value":"log(uint256,bool,uint256,uint256)"},{"id":23059,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23046,"src":"26333:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23060,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23048,"src":"26337:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23061,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23050,"src":"26341:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23062,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23052,"src":"26345:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4","typeString":"literal_string \"log(uint256,bool,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23056,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26272:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23057,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26272:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26272:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23055,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"26256:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26256:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23065,"nodeType":"ExpressionStatement","src":"26256:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26183:3:15","parameters":{"id":23053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23046,"mutability":"mutable","name":"p0","nameLocation":"26195:2:15","nodeType":"VariableDeclaration","scope":23067,"src":"26187:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23045,"name":"uint256","nodeType":"ElementaryTypeName","src":"26187:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23048,"mutability":"mutable","name":"p1","nameLocation":"26204:2:15","nodeType":"VariableDeclaration","scope":23067,"src":"26199:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23047,"name":"bool","nodeType":"ElementaryTypeName","src":"26199:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23050,"mutability":"mutable","name":"p2","nameLocation":"26216:2:15","nodeType":"VariableDeclaration","scope":23067,"src":"26208:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23049,"name":"uint256","nodeType":"ElementaryTypeName","src":"26208:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23052,"mutability":"mutable","name":"p3","nameLocation":"26228:2:15","nodeType":"VariableDeclaration","scope":23067,"src":"26220:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23051,"name":"uint256","nodeType":"ElementaryTypeName","src":"26220:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26186:45:15"},"returnParameters":{"id":23054,"nodeType":"ParameterList","parameters":[],"src":"26246:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23090,"nodeType":"FunctionDefinition","src":"26362:187:15","nodes":[],"body":{"id":23089,"nodeType":"Block","src":"26440:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c737472696e6729","id":23081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26490:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b","typeString":"literal_string \"log(uint256,bool,uint256,string)\""},"value":"log(uint256,bool,uint256,string)"},{"id":23082,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23069,"src":"26526:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23083,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23071,"src":"26530:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23084,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23073,"src":"26534:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23085,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23075,"src":"26538:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b","typeString":"literal_string \"log(uint256,bool,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23079,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26466:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26466:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26466:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23078,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"26450:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26450:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23088,"nodeType":"ExpressionStatement","src":"26450:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26371:3:15","parameters":{"id":23076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23069,"mutability":"mutable","name":"p0","nameLocation":"26383:2:15","nodeType":"VariableDeclaration","scope":23090,"src":"26375:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23068,"name":"uint256","nodeType":"ElementaryTypeName","src":"26375:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23071,"mutability":"mutable","name":"p1","nameLocation":"26392:2:15","nodeType":"VariableDeclaration","scope":23090,"src":"26387:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23070,"name":"bool","nodeType":"ElementaryTypeName","src":"26387:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23073,"mutability":"mutable","name":"p2","nameLocation":"26404:2:15","nodeType":"VariableDeclaration","scope":23090,"src":"26396:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23072,"name":"uint256","nodeType":"ElementaryTypeName","src":"26396:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23075,"mutability":"mutable","name":"p3","nameLocation":"26422:2:15","nodeType":"VariableDeclaration","scope":23090,"src":"26408:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23074,"name":"string","nodeType":"ElementaryTypeName","src":"26408:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26374:51:15"},"returnParameters":{"id":23077,"nodeType":"ParameterList","parameters":[],"src":"26440:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23113,"nodeType":"FunctionDefinition","src":"26555:176:15","nodes":[],"body":{"id":23112,"nodeType":"Block","src":"26624:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c626f6f6c29","id":23104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26674:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1","typeString":"literal_string \"log(uint256,bool,uint256,bool)\""},"value":"log(uint256,bool,uint256,bool)"},{"id":23105,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23092,"src":"26708:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23106,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23094,"src":"26712:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23107,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23096,"src":"26716:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23108,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23098,"src":"26720:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1","typeString":"literal_string \"log(uint256,bool,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23102,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26650:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26650:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26650:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23101,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"26634:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26634:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23111,"nodeType":"ExpressionStatement","src":"26634:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26564:3:15","parameters":{"id":23099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23092,"mutability":"mutable","name":"p0","nameLocation":"26576:2:15","nodeType":"VariableDeclaration","scope":23113,"src":"26568:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23091,"name":"uint256","nodeType":"ElementaryTypeName","src":"26568:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23094,"mutability":"mutable","name":"p1","nameLocation":"26585:2:15","nodeType":"VariableDeclaration","scope":23113,"src":"26580:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23093,"name":"bool","nodeType":"ElementaryTypeName","src":"26580:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23096,"mutability":"mutable","name":"p2","nameLocation":"26597:2:15","nodeType":"VariableDeclaration","scope":23113,"src":"26589:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23095,"name":"uint256","nodeType":"ElementaryTypeName","src":"26589:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23098,"mutability":"mutable","name":"p3","nameLocation":"26606:2:15","nodeType":"VariableDeclaration","scope":23113,"src":"26601:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23097,"name":"bool","nodeType":"ElementaryTypeName","src":"26601:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26567:42:15"},"returnParameters":{"id":23100,"nodeType":"ParameterList","parameters":[],"src":"26624:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23136,"nodeType":"FunctionDefinition","src":"26737:182:15","nodes":[],"body":{"id":23135,"nodeType":"Block","src":"26809:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c6164647265737329","id":23127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26859:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b","typeString":"literal_string \"log(uint256,bool,uint256,address)\""},"value":"log(uint256,bool,uint256,address)"},{"id":23128,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23115,"src":"26896:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23129,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23117,"src":"26900:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23130,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23119,"src":"26904:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23131,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23121,"src":"26908:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b","typeString":"literal_string \"log(uint256,bool,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23125,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26835:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26835:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26835:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23124,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"26819:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"26819:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23134,"nodeType":"ExpressionStatement","src":"26819:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26746:3:15","parameters":{"id":23122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23115,"mutability":"mutable","name":"p0","nameLocation":"26758:2:15","nodeType":"VariableDeclaration","scope":23136,"src":"26750:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23114,"name":"uint256","nodeType":"ElementaryTypeName","src":"26750:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23117,"mutability":"mutable","name":"p1","nameLocation":"26767:2:15","nodeType":"VariableDeclaration","scope":23136,"src":"26762:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23116,"name":"bool","nodeType":"ElementaryTypeName","src":"26762:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23119,"mutability":"mutable","name":"p2","nameLocation":"26779:2:15","nodeType":"VariableDeclaration","scope":23136,"src":"26771:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23118,"name":"uint256","nodeType":"ElementaryTypeName","src":"26771:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23121,"mutability":"mutable","name":"p3","nameLocation":"26791:2:15","nodeType":"VariableDeclaration","scope":23136,"src":"26783:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23120,"name":"address","nodeType":"ElementaryTypeName","src":"26783:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26749:45:15"},"returnParameters":{"id":23123,"nodeType":"ParameterList","parameters":[],"src":"26809:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23159,"nodeType":"FunctionDefinition","src":"26925:187:15","nodes":[],"body":{"id":23158,"nodeType":"Block","src":"27003:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c75696e7432353629","id":23150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27053:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8","typeString":"literal_string \"log(uint256,bool,string,uint256)\""},"value":"log(uint256,bool,string,uint256)"},{"id":23151,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23138,"src":"27089:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23152,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23140,"src":"27093:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23153,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23142,"src":"27097:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23154,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23144,"src":"27101:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8","typeString":"literal_string \"log(uint256,bool,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23148,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27029:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27029:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27029:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23147,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"27013:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27013:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23157,"nodeType":"ExpressionStatement","src":"27013:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26934:3:15","parameters":{"id":23145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23138,"mutability":"mutable","name":"p0","nameLocation":"26946:2:15","nodeType":"VariableDeclaration","scope":23159,"src":"26938:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23137,"name":"uint256","nodeType":"ElementaryTypeName","src":"26938:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23140,"mutability":"mutable","name":"p1","nameLocation":"26955:2:15","nodeType":"VariableDeclaration","scope":23159,"src":"26950:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23139,"name":"bool","nodeType":"ElementaryTypeName","src":"26950:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23142,"mutability":"mutable","name":"p2","nameLocation":"26973:2:15","nodeType":"VariableDeclaration","scope":23159,"src":"26959:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23141,"name":"string","nodeType":"ElementaryTypeName","src":"26959:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23144,"mutability":"mutable","name":"p3","nameLocation":"26985:2:15","nodeType":"VariableDeclaration","scope":23159,"src":"26977:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23143,"name":"uint256","nodeType":"ElementaryTypeName","src":"26977:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26937:51:15"},"returnParameters":{"id":23146,"nodeType":"ParameterList","parameters":[],"src":"27003:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23182,"nodeType":"FunctionDefinition","src":"27118:192:15","nodes":[],"body":{"id":23181,"nodeType":"Block","src":"27202:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c737472696e6729","id":23173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27252:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd","typeString":"literal_string \"log(uint256,bool,string,string)\""},"value":"log(uint256,bool,string,string)"},{"id":23174,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23161,"src":"27287:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23175,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23163,"src":"27291:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23176,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23165,"src":"27295:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23177,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23167,"src":"27299:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd","typeString":"literal_string \"log(uint256,bool,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23171,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27228:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27228:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27228:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23170,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"27212:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27212:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23180,"nodeType":"ExpressionStatement","src":"27212:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27127:3:15","parameters":{"id":23168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23161,"mutability":"mutable","name":"p0","nameLocation":"27139:2:15","nodeType":"VariableDeclaration","scope":23182,"src":"27131:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23160,"name":"uint256","nodeType":"ElementaryTypeName","src":"27131:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23163,"mutability":"mutable","name":"p1","nameLocation":"27148:2:15","nodeType":"VariableDeclaration","scope":23182,"src":"27143:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23162,"name":"bool","nodeType":"ElementaryTypeName","src":"27143:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23165,"mutability":"mutable","name":"p2","nameLocation":"27166:2:15","nodeType":"VariableDeclaration","scope":23182,"src":"27152:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23164,"name":"string","nodeType":"ElementaryTypeName","src":"27152:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23167,"mutability":"mutable","name":"p3","nameLocation":"27184:2:15","nodeType":"VariableDeclaration","scope":23182,"src":"27170:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23166,"name":"string","nodeType":"ElementaryTypeName","src":"27170:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27130:57:15"},"returnParameters":{"id":23169,"nodeType":"ParameterList","parameters":[],"src":"27202:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23205,"nodeType":"FunctionDefinition","src":"27316:181:15","nodes":[],"body":{"id":23204,"nodeType":"Block","src":"27391:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c626f6f6c29","id":23196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27441:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad","typeString":"literal_string \"log(uint256,bool,string,bool)\""},"value":"log(uint256,bool,string,bool)"},{"id":23197,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23184,"src":"27474:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23198,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23186,"src":"27478:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23199,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23188,"src":"27482:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23200,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23190,"src":"27486:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad","typeString":"literal_string \"log(uint256,bool,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23194,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27417:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27417:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27417:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23193,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"27401:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27401:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23203,"nodeType":"ExpressionStatement","src":"27401:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27325:3:15","parameters":{"id":23191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23184,"mutability":"mutable","name":"p0","nameLocation":"27337:2:15","nodeType":"VariableDeclaration","scope":23205,"src":"27329:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23183,"name":"uint256","nodeType":"ElementaryTypeName","src":"27329:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23186,"mutability":"mutable","name":"p1","nameLocation":"27346:2:15","nodeType":"VariableDeclaration","scope":23205,"src":"27341:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23185,"name":"bool","nodeType":"ElementaryTypeName","src":"27341:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23188,"mutability":"mutable","name":"p2","nameLocation":"27364:2:15","nodeType":"VariableDeclaration","scope":23205,"src":"27350:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23187,"name":"string","nodeType":"ElementaryTypeName","src":"27350:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23190,"mutability":"mutable","name":"p3","nameLocation":"27373:2:15","nodeType":"VariableDeclaration","scope":23205,"src":"27368:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23189,"name":"bool","nodeType":"ElementaryTypeName","src":"27368:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27328:48:15"},"returnParameters":{"id":23192,"nodeType":"ParameterList","parameters":[],"src":"27391:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23228,"nodeType":"FunctionDefinition","src":"27503:187:15","nodes":[],"body":{"id":23227,"nodeType":"Block","src":"27581:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c6164647265737329","id":23219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27631:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5","typeString":"literal_string \"log(uint256,bool,string,address)\""},"value":"log(uint256,bool,string,address)"},{"id":23220,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23207,"src":"27667:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23221,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23209,"src":"27671:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23222,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23211,"src":"27675:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23223,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23213,"src":"27679:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5","typeString":"literal_string \"log(uint256,bool,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23217,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27607:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27607:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27607:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23216,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"27591:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27591:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23226,"nodeType":"ExpressionStatement","src":"27591:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27512:3:15","parameters":{"id":23214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23207,"mutability":"mutable","name":"p0","nameLocation":"27524:2:15","nodeType":"VariableDeclaration","scope":23228,"src":"27516:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23206,"name":"uint256","nodeType":"ElementaryTypeName","src":"27516:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23209,"mutability":"mutable","name":"p1","nameLocation":"27533:2:15","nodeType":"VariableDeclaration","scope":23228,"src":"27528:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23208,"name":"bool","nodeType":"ElementaryTypeName","src":"27528:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23211,"mutability":"mutable","name":"p2","nameLocation":"27551:2:15","nodeType":"VariableDeclaration","scope":23228,"src":"27537:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23210,"name":"string","nodeType":"ElementaryTypeName","src":"27537:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23213,"mutability":"mutable","name":"p3","nameLocation":"27563:2:15","nodeType":"VariableDeclaration","scope":23228,"src":"27555:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23212,"name":"address","nodeType":"ElementaryTypeName","src":"27555:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27515:51:15"},"returnParameters":{"id":23215,"nodeType":"ParameterList","parameters":[],"src":"27581:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23251,"nodeType":"FunctionDefinition","src":"27696:176:15","nodes":[],"body":{"id":23250,"nodeType":"Block","src":"27765:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c75696e7432353629","id":23242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27815:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1","typeString":"literal_string \"log(uint256,bool,bool,uint256)\""},"value":"log(uint256,bool,bool,uint256)"},{"id":23243,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23230,"src":"27849:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23244,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23232,"src":"27853:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23245,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23234,"src":"27857:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23246,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23236,"src":"27861:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1","typeString":"literal_string \"log(uint256,bool,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23240,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27791:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23241,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27791:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27791:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23239,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"27775:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27775:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23249,"nodeType":"ExpressionStatement","src":"27775:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27705:3:15","parameters":{"id":23237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23230,"mutability":"mutable","name":"p0","nameLocation":"27717:2:15","nodeType":"VariableDeclaration","scope":23251,"src":"27709:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23229,"name":"uint256","nodeType":"ElementaryTypeName","src":"27709:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23232,"mutability":"mutable","name":"p1","nameLocation":"27726:2:15","nodeType":"VariableDeclaration","scope":23251,"src":"27721:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23231,"name":"bool","nodeType":"ElementaryTypeName","src":"27721:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23234,"mutability":"mutable","name":"p2","nameLocation":"27735:2:15","nodeType":"VariableDeclaration","scope":23251,"src":"27730:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23233,"name":"bool","nodeType":"ElementaryTypeName","src":"27730:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23236,"mutability":"mutable","name":"p3","nameLocation":"27747:2:15","nodeType":"VariableDeclaration","scope":23251,"src":"27739:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23235,"name":"uint256","nodeType":"ElementaryTypeName","src":"27739:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27708:42:15"},"returnParameters":{"id":23238,"nodeType":"ParameterList","parameters":[],"src":"27765:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23274,"nodeType":"FunctionDefinition","src":"27878:181:15","nodes":[],"body":{"id":23273,"nodeType":"Block","src":"27953:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c737472696e6729","id":23265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28003:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439","typeString":"literal_string \"log(uint256,bool,bool,string)\""},"value":"log(uint256,bool,bool,string)"},{"id":23266,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23253,"src":"28036:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23267,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23255,"src":"28040:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23268,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23257,"src":"28044:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23269,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23259,"src":"28048:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439","typeString":"literal_string \"log(uint256,bool,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23263,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27979:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23264,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27979:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27979:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23262,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"27963:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"27963:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23272,"nodeType":"ExpressionStatement","src":"27963:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27887:3:15","parameters":{"id":23260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23253,"mutability":"mutable","name":"p0","nameLocation":"27899:2:15","nodeType":"VariableDeclaration","scope":23274,"src":"27891:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23252,"name":"uint256","nodeType":"ElementaryTypeName","src":"27891:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23255,"mutability":"mutable","name":"p1","nameLocation":"27908:2:15","nodeType":"VariableDeclaration","scope":23274,"src":"27903:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23254,"name":"bool","nodeType":"ElementaryTypeName","src":"27903:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23257,"mutability":"mutable","name":"p2","nameLocation":"27917:2:15","nodeType":"VariableDeclaration","scope":23274,"src":"27912:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23256,"name":"bool","nodeType":"ElementaryTypeName","src":"27912:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23259,"mutability":"mutable","name":"p3","nameLocation":"27935:2:15","nodeType":"VariableDeclaration","scope":23274,"src":"27921:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23258,"name":"string","nodeType":"ElementaryTypeName","src":"27921:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27890:48:15"},"returnParameters":{"id":23261,"nodeType":"ParameterList","parameters":[],"src":"27953:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23297,"nodeType":"FunctionDefinition","src":"28065:170:15","nodes":[],"body":{"id":23296,"nodeType":"Block","src":"28131:104:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c626f6f6c29","id":23288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28181:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473","typeString":"literal_string \"log(uint256,bool,bool,bool)\""},"value":"log(uint256,bool,bool,bool)"},{"id":23289,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23276,"src":"28212:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23290,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23278,"src":"28216:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23291,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23280,"src":"28220:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23292,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23282,"src":"28224:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473","typeString":"literal_string \"log(uint256,bool,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23286,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28157:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28157:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28157:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23285,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"28141:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28141:87:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23295,"nodeType":"ExpressionStatement","src":"28141:87:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28074:3:15","parameters":{"id":23283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23276,"mutability":"mutable","name":"p0","nameLocation":"28086:2:15","nodeType":"VariableDeclaration","scope":23297,"src":"28078:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23275,"name":"uint256","nodeType":"ElementaryTypeName","src":"28078:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23278,"mutability":"mutable","name":"p1","nameLocation":"28095:2:15","nodeType":"VariableDeclaration","scope":23297,"src":"28090:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23277,"name":"bool","nodeType":"ElementaryTypeName","src":"28090:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23280,"mutability":"mutable","name":"p2","nameLocation":"28104:2:15","nodeType":"VariableDeclaration","scope":23297,"src":"28099:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23279,"name":"bool","nodeType":"ElementaryTypeName","src":"28099:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23282,"mutability":"mutable","name":"p3","nameLocation":"28113:2:15","nodeType":"VariableDeclaration","scope":23297,"src":"28108:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23281,"name":"bool","nodeType":"ElementaryTypeName","src":"28108:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28077:39:15"},"returnParameters":{"id":23284,"nodeType":"ParameterList","parameters":[],"src":"28131:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23320,"nodeType":"FunctionDefinition","src":"28241:176:15","nodes":[],"body":{"id":23319,"nodeType":"Block","src":"28310:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c6164647265737329","id":23311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28360:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31","typeString":"literal_string \"log(uint256,bool,bool,address)\""},"value":"log(uint256,bool,bool,address)"},{"id":23312,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23299,"src":"28394:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23313,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23301,"src":"28398:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23314,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23303,"src":"28402:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23315,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23305,"src":"28406:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31","typeString":"literal_string \"log(uint256,bool,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23309,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28336:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23310,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28336:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28336:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23308,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"28320:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28320:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23318,"nodeType":"ExpressionStatement","src":"28320:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28250:3:15","parameters":{"id":23306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23299,"mutability":"mutable","name":"p0","nameLocation":"28262:2:15","nodeType":"VariableDeclaration","scope":23320,"src":"28254:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23298,"name":"uint256","nodeType":"ElementaryTypeName","src":"28254:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23301,"mutability":"mutable","name":"p1","nameLocation":"28271:2:15","nodeType":"VariableDeclaration","scope":23320,"src":"28266:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23300,"name":"bool","nodeType":"ElementaryTypeName","src":"28266:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23303,"mutability":"mutable","name":"p2","nameLocation":"28280:2:15","nodeType":"VariableDeclaration","scope":23320,"src":"28275:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23302,"name":"bool","nodeType":"ElementaryTypeName","src":"28275:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23305,"mutability":"mutable","name":"p3","nameLocation":"28292:2:15","nodeType":"VariableDeclaration","scope":23320,"src":"28284:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23304,"name":"address","nodeType":"ElementaryTypeName","src":"28284:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28253:42:15"},"returnParameters":{"id":23307,"nodeType":"ParameterList","parameters":[],"src":"28310:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23343,"nodeType":"FunctionDefinition","src":"28423:182:15","nodes":[],"body":{"id":23342,"nodeType":"Block","src":"28495:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c75696e7432353629","id":23334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28545:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88","typeString":"literal_string \"log(uint256,bool,address,uint256)\""},"value":"log(uint256,bool,address,uint256)"},{"id":23335,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23322,"src":"28582:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23336,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23324,"src":"28586:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23337,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23326,"src":"28590:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23338,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23328,"src":"28594:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88","typeString":"literal_string \"log(uint256,bool,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23332,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28521:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28521:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28521:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23331,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"28505:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28505:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23341,"nodeType":"ExpressionStatement","src":"28505:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28432:3:15","parameters":{"id":23329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23322,"mutability":"mutable","name":"p0","nameLocation":"28444:2:15","nodeType":"VariableDeclaration","scope":23343,"src":"28436:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23321,"name":"uint256","nodeType":"ElementaryTypeName","src":"28436:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23324,"mutability":"mutable","name":"p1","nameLocation":"28453:2:15","nodeType":"VariableDeclaration","scope":23343,"src":"28448:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23323,"name":"bool","nodeType":"ElementaryTypeName","src":"28448:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23326,"mutability":"mutable","name":"p2","nameLocation":"28465:2:15","nodeType":"VariableDeclaration","scope":23343,"src":"28457:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23325,"name":"address","nodeType":"ElementaryTypeName","src":"28457:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23328,"mutability":"mutable","name":"p3","nameLocation":"28477:2:15","nodeType":"VariableDeclaration","scope":23343,"src":"28469:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23327,"name":"uint256","nodeType":"ElementaryTypeName","src":"28469:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28435:45:15"},"returnParameters":{"id":23330,"nodeType":"ParameterList","parameters":[],"src":"28495:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23366,"nodeType":"FunctionDefinition","src":"28611:187:15","nodes":[],"body":{"id":23365,"nodeType":"Block","src":"28689:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c737472696e6729","id":23357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28739:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461","typeString":"literal_string \"log(uint256,bool,address,string)\""},"value":"log(uint256,bool,address,string)"},{"id":23358,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23345,"src":"28775:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23359,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23347,"src":"28779:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23360,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23349,"src":"28783:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23361,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23351,"src":"28787:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461","typeString":"literal_string \"log(uint256,bool,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23355,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28715:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28715:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28715:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23354,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"28699:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28699:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23364,"nodeType":"ExpressionStatement","src":"28699:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28620:3:15","parameters":{"id":23352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23345,"mutability":"mutable","name":"p0","nameLocation":"28632:2:15","nodeType":"VariableDeclaration","scope":23366,"src":"28624:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23344,"name":"uint256","nodeType":"ElementaryTypeName","src":"28624:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23347,"mutability":"mutable","name":"p1","nameLocation":"28641:2:15","nodeType":"VariableDeclaration","scope":23366,"src":"28636:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23346,"name":"bool","nodeType":"ElementaryTypeName","src":"28636:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23349,"mutability":"mutable","name":"p2","nameLocation":"28653:2:15","nodeType":"VariableDeclaration","scope":23366,"src":"28645:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23348,"name":"address","nodeType":"ElementaryTypeName","src":"28645:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23351,"mutability":"mutable","name":"p3","nameLocation":"28671:2:15","nodeType":"VariableDeclaration","scope":23366,"src":"28657:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23350,"name":"string","nodeType":"ElementaryTypeName","src":"28657:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28623:51:15"},"returnParameters":{"id":23353,"nodeType":"ParameterList","parameters":[],"src":"28689:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23389,"nodeType":"FunctionDefinition","src":"28804:176:15","nodes":[],"body":{"id":23388,"nodeType":"Block","src":"28873:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c626f6f6c29","id":23380,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28923:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a","typeString":"literal_string \"log(uint256,bool,address,bool)\""},"value":"log(uint256,bool,address,bool)"},{"id":23381,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23368,"src":"28957:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23382,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23370,"src":"28961:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23383,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23372,"src":"28965:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23384,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23374,"src":"28969:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a","typeString":"literal_string \"log(uint256,bool,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23378,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28899:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28899:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28899:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23377,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"28883:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"28883:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23387,"nodeType":"ExpressionStatement","src":"28883:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28813:3:15","parameters":{"id":23375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23368,"mutability":"mutable","name":"p0","nameLocation":"28825:2:15","nodeType":"VariableDeclaration","scope":23389,"src":"28817:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23367,"name":"uint256","nodeType":"ElementaryTypeName","src":"28817:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23370,"mutability":"mutable","name":"p1","nameLocation":"28834:2:15","nodeType":"VariableDeclaration","scope":23389,"src":"28829:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23369,"name":"bool","nodeType":"ElementaryTypeName","src":"28829:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23372,"mutability":"mutable","name":"p2","nameLocation":"28846:2:15","nodeType":"VariableDeclaration","scope":23389,"src":"28838:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23371,"name":"address","nodeType":"ElementaryTypeName","src":"28838:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23374,"mutability":"mutable","name":"p3","nameLocation":"28855:2:15","nodeType":"VariableDeclaration","scope":23389,"src":"28850:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23373,"name":"bool","nodeType":"ElementaryTypeName","src":"28850:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28816:42:15"},"returnParameters":{"id":23376,"nodeType":"ParameterList","parameters":[],"src":"28873:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23412,"nodeType":"FunctionDefinition","src":"28986:182:15","nodes":[],"body":{"id":23411,"nodeType":"Block","src":"29058:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c6164647265737329","id":23403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29108:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190","typeString":"literal_string \"log(uint256,bool,address,address)\""},"value":"log(uint256,bool,address,address)"},{"id":23404,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23391,"src":"29145:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23405,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23393,"src":"29149:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23406,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23395,"src":"29153:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23407,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23397,"src":"29157:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190","typeString":"literal_string \"log(uint256,bool,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23401,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29084:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29084:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29084:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23400,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"29068:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29068:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23410,"nodeType":"ExpressionStatement","src":"29068:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28995:3:15","parameters":{"id":23398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23391,"mutability":"mutable","name":"p0","nameLocation":"29007:2:15","nodeType":"VariableDeclaration","scope":23412,"src":"28999:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23390,"name":"uint256","nodeType":"ElementaryTypeName","src":"28999:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23393,"mutability":"mutable","name":"p1","nameLocation":"29016:2:15","nodeType":"VariableDeclaration","scope":23412,"src":"29011:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23392,"name":"bool","nodeType":"ElementaryTypeName","src":"29011:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23395,"mutability":"mutable","name":"p2","nameLocation":"29028:2:15","nodeType":"VariableDeclaration","scope":23412,"src":"29020:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23394,"name":"address","nodeType":"ElementaryTypeName","src":"29020:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23397,"mutability":"mutable","name":"p3","nameLocation":"29040:2:15","nodeType":"VariableDeclaration","scope":23412,"src":"29032:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23396,"name":"address","nodeType":"ElementaryTypeName","src":"29032:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28998:45:15"},"returnParameters":{"id":23399,"nodeType":"ParameterList","parameters":[],"src":"29058:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23435,"nodeType":"FunctionDefinition","src":"29174:188:15","nodes":[],"body":{"id":23434,"nodeType":"Block","src":"29249:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c75696e7432353629","id":23426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29299:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a","typeString":"literal_string \"log(uint256,address,uint256,uint256)\""},"value":"log(uint256,address,uint256,uint256)"},{"id":23427,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23414,"src":"29339:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23428,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23416,"src":"29343:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23429,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23418,"src":"29347:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23430,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23420,"src":"29351:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a","typeString":"literal_string \"log(uint256,address,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23424,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29275:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23425,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29275:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29275:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23423,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"29259:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29259:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23433,"nodeType":"ExpressionStatement","src":"29259:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29183:3:15","parameters":{"id":23421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23414,"mutability":"mutable","name":"p0","nameLocation":"29195:2:15","nodeType":"VariableDeclaration","scope":23435,"src":"29187:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23413,"name":"uint256","nodeType":"ElementaryTypeName","src":"29187:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23416,"mutability":"mutable","name":"p1","nameLocation":"29207:2:15","nodeType":"VariableDeclaration","scope":23435,"src":"29199:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23415,"name":"address","nodeType":"ElementaryTypeName","src":"29199:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23418,"mutability":"mutable","name":"p2","nameLocation":"29219:2:15","nodeType":"VariableDeclaration","scope":23435,"src":"29211:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23417,"name":"uint256","nodeType":"ElementaryTypeName","src":"29211:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23420,"mutability":"mutable","name":"p3","nameLocation":"29231:2:15","nodeType":"VariableDeclaration","scope":23435,"src":"29223:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23419,"name":"uint256","nodeType":"ElementaryTypeName","src":"29223:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29186:48:15"},"returnParameters":{"id":23422,"nodeType":"ParameterList","parameters":[],"src":"29249:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23458,"nodeType":"FunctionDefinition","src":"29368:193:15","nodes":[],"body":{"id":23457,"nodeType":"Block","src":"29449:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c737472696e6729","id":23449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29499:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd","typeString":"literal_string \"log(uint256,address,uint256,string)\""},"value":"log(uint256,address,uint256,string)"},{"id":23450,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23437,"src":"29538:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23451,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23439,"src":"29542:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23452,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23441,"src":"29546:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23453,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23443,"src":"29550:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd","typeString":"literal_string \"log(uint256,address,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23447,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29475:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29475:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29475:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23446,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"29459:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29459:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23456,"nodeType":"ExpressionStatement","src":"29459:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29377:3:15","parameters":{"id":23444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23437,"mutability":"mutable","name":"p0","nameLocation":"29389:2:15","nodeType":"VariableDeclaration","scope":23458,"src":"29381:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23436,"name":"uint256","nodeType":"ElementaryTypeName","src":"29381:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23439,"mutability":"mutable","name":"p1","nameLocation":"29401:2:15","nodeType":"VariableDeclaration","scope":23458,"src":"29393:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23438,"name":"address","nodeType":"ElementaryTypeName","src":"29393:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23441,"mutability":"mutable","name":"p2","nameLocation":"29413:2:15","nodeType":"VariableDeclaration","scope":23458,"src":"29405:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23440,"name":"uint256","nodeType":"ElementaryTypeName","src":"29405:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23443,"mutability":"mutable","name":"p3","nameLocation":"29431:2:15","nodeType":"VariableDeclaration","scope":23458,"src":"29417:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23442,"name":"string","nodeType":"ElementaryTypeName","src":"29417:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29380:54:15"},"returnParameters":{"id":23445,"nodeType":"ParameterList","parameters":[],"src":"29449:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23481,"nodeType":"FunctionDefinition","src":"29567:182:15","nodes":[],"body":{"id":23480,"nodeType":"Block","src":"29639:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c626f6f6c29","id":23472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29689:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f","typeString":"literal_string \"log(uint256,address,uint256,bool)\""},"value":"log(uint256,address,uint256,bool)"},{"id":23473,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23460,"src":"29726:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23474,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23462,"src":"29730:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23475,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23464,"src":"29734:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23476,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23466,"src":"29738:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f","typeString":"literal_string \"log(uint256,address,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23470,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29665:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23471,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29665:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29665:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23469,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"29649:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29649:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23479,"nodeType":"ExpressionStatement","src":"29649:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29576:3:15","parameters":{"id":23467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23460,"mutability":"mutable","name":"p0","nameLocation":"29588:2:15","nodeType":"VariableDeclaration","scope":23481,"src":"29580:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23459,"name":"uint256","nodeType":"ElementaryTypeName","src":"29580:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23462,"mutability":"mutable","name":"p1","nameLocation":"29600:2:15","nodeType":"VariableDeclaration","scope":23481,"src":"29592:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23461,"name":"address","nodeType":"ElementaryTypeName","src":"29592:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23464,"mutability":"mutable","name":"p2","nameLocation":"29612:2:15","nodeType":"VariableDeclaration","scope":23481,"src":"29604:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23463,"name":"uint256","nodeType":"ElementaryTypeName","src":"29604:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23466,"mutability":"mutable","name":"p3","nameLocation":"29621:2:15","nodeType":"VariableDeclaration","scope":23481,"src":"29616:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23465,"name":"bool","nodeType":"ElementaryTypeName","src":"29616:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29579:45:15"},"returnParameters":{"id":23468,"nodeType":"ParameterList","parameters":[],"src":"29639:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23504,"nodeType":"FunctionDefinition","src":"29755:188:15","nodes":[],"body":{"id":23503,"nodeType":"Block","src":"29830:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c6164647265737329","id":23495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29880:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379","typeString":"literal_string \"log(uint256,address,uint256,address)\""},"value":"log(uint256,address,uint256,address)"},{"id":23496,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23483,"src":"29920:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23497,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23485,"src":"29924:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23498,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23487,"src":"29928:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23499,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23489,"src":"29932:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379","typeString":"literal_string \"log(uint256,address,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23493,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29856:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29856:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29856:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23492,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"29840:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"29840:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23502,"nodeType":"ExpressionStatement","src":"29840:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29764:3:15","parameters":{"id":23490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23483,"mutability":"mutable","name":"p0","nameLocation":"29776:2:15","nodeType":"VariableDeclaration","scope":23504,"src":"29768:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23482,"name":"uint256","nodeType":"ElementaryTypeName","src":"29768:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23485,"mutability":"mutable","name":"p1","nameLocation":"29788:2:15","nodeType":"VariableDeclaration","scope":23504,"src":"29780:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23484,"name":"address","nodeType":"ElementaryTypeName","src":"29780:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23487,"mutability":"mutable","name":"p2","nameLocation":"29800:2:15","nodeType":"VariableDeclaration","scope":23504,"src":"29792:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23486,"name":"uint256","nodeType":"ElementaryTypeName","src":"29792:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23489,"mutability":"mutable","name":"p3","nameLocation":"29812:2:15","nodeType":"VariableDeclaration","scope":23504,"src":"29804:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23488,"name":"address","nodeType":"ElementaryTypeName","src":"29804:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29767:48:15"},"returnParameters":{"id":23491,"nodeType":"ParameterList","parameters":[],"src":"29830:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23527,"nodeType":"FunctionDefinition","src":"29949:193:15","nodes":[],"body":{"id":23526,"nodeType":"Block","src":"30030:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c75696e7432353629","id":23518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30080:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0","typeString":"literal_string \"log(uint256,address,string,uint256)\""},"value":"log(uint256,address,string,uint256)"},{"id":23519,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23506,"src":"30119:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23520,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23508,"src":"30123:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23521,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23510,"src":"30127:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23522,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23512,"src":"30131:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0","typeString":"literal_string \"log(uint256,address,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23516,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30056:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30056:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30056:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23515,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"30040:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30040:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23525,"nodeType":"ExpressionStatement","src":"30040:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29958:3:15","parameters":{"id":23513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23506,"mutability":"mutable","name":"p0","nameLocation":"29970:2:15","nodeType":"VariableDeclaration","scope":23527,"src":"29962:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23505,"name":"uint256","nodeType":"ElementaryTypeName","src":"29962:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23508,"mutability":"mutable","name":"p1","nameLocation":"29982:2:15","nodeType":"VariableDeclaration","scope":23527,"src":"29974:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23507,"name":"address","nodeType":"ElementaryTypeName","src":"29974:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23510,"mutability":"mutable","name":"p2","nameLocation":"30000:2:15","nodeType":"VariableDeclaration","scope":23527,"src":"29986:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23509,"name":"string","nodeType":"ElementaryTypeName","src":"29986:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23512,"mutability":"mutable","name":"p3","nameLocation":"30012:2:15","nodeType":"VariableDeclaration","scope":23527,"src":"30004:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23511,"name":"uint256","nodeType":"ElementaryTypeName","src":"30004:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29961:54:15"},"returnParameters":{"id":23514,"nodeType":"ParameterList","parameters":[],"src":"30030:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23550,"nodeType":"FunctionDefinition","src":"30148:198:15","nodes":[],"body":{"id":23549,"nodeType":"Block","src":"30235:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c737472696e6729","id":23541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30285:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b","typeString":"literal_string \"log(uint256,address,string,string)\""},"value":"log(uint256,address,string,string)"},{"id":23542,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23529,"src":"30323:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23543,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23531,"src":"30327:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23544,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23533,"src":"30331:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23545,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23535,"src":"30335:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b","typeString":"literal_string \"log(uint256,address,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23539,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30261:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30261:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30261:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23538,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"30245:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30245:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23548,"nodeType":"ExpressionStatement","src":"30245:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30157:3:15","parameters":{"id":23536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23529,"mutability":"mutable","name":"p0","nameLocation":"30169:2:15","nodeType":"VariableDeclaration","scope":23550,"src":"30161:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23528,"name":"uint256","nodeType":"ElementaryTypeName","src":"30161:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23531,"mutability":"mutable","name":"p1","nameLocation":"30181:2:15","nodeType":"VariableDeclaration","scope":23550,"src":"30173:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23530,"name":"address","nodeType":"ElementaryTypeName","src":"30173:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23533,"mutability":"mutable","name":"p2","nameLocation":"30199:2:15","nodeType":"VariableDeclaration","scope":23550,"src":"30185:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23532,"name":"string","nodeType":"ElementaryTypeName","src":"30185:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23535,"mutability":"mutable","name":"p3","nameLocation":"30217:2:15","nodeType":"VariableDeclaration","scope":23550,"src":"30203:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23534,"name":"string","nodeType":"ElementaryTypeName","src":"30203:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30160:60:15"},"returnParameters":{"id":23537,"nodeType":"ParameterList","parameters":[],"src":"30235:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23573,"nodeType":"FunctionDefinition","src":"30352:187:15","nodes":[],"body":{"id":23572,"nodeType":"Block","src":"30430:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c626f6f6c29","id":23564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30480:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b","typeString":"literal_string \"log(uint256,address,string,bool)\""},"value":"log(uint256,address,string,bool)"},{"id":23565,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23552,"src":"30516:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23566,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23554,"src":"30520:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23567,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23556,"src":"30524:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23568,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23558,"src":"30528:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b","typeString":"literal_string \"log(uint256,address,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23562,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30456:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30456:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30456:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23561,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"30440:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30440:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23571,"nodeType":"ExpressionStatement","src":"30440:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30361:3:15","parameters":{"id":23559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23552,"mutability":"mutable","name":"p0","nameLocation":"30373:2:15","nodeType":"VariableDeclaration","scope":23573,"src":"30365:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23551,"name":"uint256","nodeType":"ElementaryTypeName","src":"30365:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23554,"mutability":"mutable","name":"p1","nameLocation":"30385:2:15","nodeType":"VariableDeclaration","scope":23573,"src":"30377:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23553,"name":"address","nodeType":"ElementaryTypeName","src":"30377:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23556,"mutability":"mutable","name":"p2","nameLocation":"30403:2:15","nodeType":"VariableDeclaration","scope":23573,"src":"30389:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23555,"name":"string","nodeType":"ElementaryTypeName","src":"30389:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23558,"mutability":"mutable","name":"p3","nameLocation":"30412:2:15","nodeType":"VariableDeclaration","scope":23573,"src":"30407:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23557,"name":"bool","nodeType":"ElementaryTypeName","src":"30407:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30364:51:15"},"returnParameters":{"id":23560,"nodeType":"ParameterList","parameters":[],"src":"30430:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23596,"nodeType":"FunctionDefinition","src":"30545:193:15","nodes":[],"body":{"id":23595,"nodeType":"Block","src":"30626:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c6164647265737329","id":23587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30676:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9","typeString":"literal_string \"log(uint256,address,string,address)\""},"value":"log(uint256,address,string,address)"},{"id":23588,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23575,"src":"30715:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23589,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23577,"src":"30719:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23590,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23579,"src":"30723:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23591,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23581,"src":"30727:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9","typeString":"literal_string \"log(uint256,address,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23585,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30652:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30652:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30652:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23584,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"30636:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30636:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23594,"nodeType":"ExpressionStatement","src":"30636:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30554:3:15","parameters":{"id":23582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23575,"mutability":"mutable","name":"p0","nameLocation":"30566:2:15","nodeType":"VariableDeclaration","scope":23596,"src":"30558:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23574,"name":"uint256","nodeType":"ElementaryTypeName","src":"30558:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23577,"mutability":"mutable","name":"p1","nameLocation":"30578:2:15","nodeType":"VariableDeclaration","scope":23596,"src":"30570:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23576,"name":"address","nodeType":"ElementaryTypeName","src":"30570:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23579,"mutability":"mutable","name":"p2","nameLocation":"30596:2:15","nodeType":"VariableDeclaration","scope":23596,"src":"30582:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23578,"name":"string","nodeType":"ElementaryTypeName","src":"30582:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23581,"mutability":"mutable","name":"p3","nameLocation":"30608:2:15","nodeType":"VariableDeclaration","scope":23596,"src":"30600:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23580,"name":"address","nodeType":"ElementaryTypeName","src":"30600:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30557:54:15"},"returnParameters":{"id":23583,"nodeType":"ParameterList","parameters":[],"src":"30626:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23619,"nodeType":"FunctionDefinition","src":"30744:182:15","nodes":[],"body":{"id":23618,"nodeType":"Block","src":"30816:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c75696e7432353629","id":23610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30866:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1","typeString":"literal_string \"log(uint256,address,bool,uint256)\""},"value":"log(uint256,address,bool,uint256)"},{"id":23611,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23598,"src":"30903:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23612,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23600,"src":"30907:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23613,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23602,"src":"30911:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23614,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23604,"src":"30915:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1","typeString":"literal_string \"log(uint256,address,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23608,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30842:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30842:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30842:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23607,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"30826:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"30826:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23617,"nodeType":"ExpressionStatement","src":"30826:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30753:3:15","parameters":{"id":23605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23598,"mutability":"mutable","name":"p0","nameLocation":"30765:2:15","nodeType":"VariableDeclaration","scope":23619,"src":"30757:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23597,"name":"uint256","nodeType":"ElementaryTypeName","src":"30757:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23600,"mutability":"mutable","name":"p1","nameLocation":"30777:2:15","nodeType":"VariableDeclaration","scope":23619,"src":"30769:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23599,"name":"address","nodeType":"ElementaryTypeName","src":"30769:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23602,"mutability":"mutable","name":"p2","nameLocation":"30786:2:15","nodeType":"VariableDeclaration","scope":23619,"src":"30781:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23601,"name":"bool","nodeType":"ElementaryTypeName","src":"30781:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23604,"mutability":"mutable","name":"p3","nameLocation":"30798:2:15","nodeType":"VariableDeclaration","scope":23619,"src":"30790:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23603,"name":"uint256","nodeType":"ElementaryTypeName","src":"30790:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30756:45:15"},"returnParameters":{"id":23606,"nodeType":"ParameterList","parameters":[],"src":"30816:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23642,"nodeType":"FunctionDefinition","src":"30932:187:15","nodes":[],"body":{"id":23641,"nodeType":"Block","src":"31010:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c737472696e6729","id":23633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31060:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d","typeString":"literal_string \"log(uint256,address,bool,string)\""},"value":"log(uint256,address,bool,string)"},{"id":23634,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23621,"src":"31096:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23635,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23623,"src":"31100:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23636,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23625,"src":"31104:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23637,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23627,"src":"31108:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d","typeString":"literal_string \"log(uint256,address,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23631,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31036:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23632,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31036:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31036:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23630,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"31020:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31020:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23640,"nodeType":"ExpressionStatement","src":"31020:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30941:3:15","parameters":{"id":23628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23621,"mutability":"mutable","name":"p0","nameLocation":"30953:2:15","nodeType":"VariableDeclaration","scope":23642,"src":"30945:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23620,"name":"uint256","nodeType":"ElementaryTypeName","src":"30945:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23623,"mutability":"mutable","name":"p1","nameLocation":"30965:2:15","nodeType":"VariableDeclaration","scope":23642,"src":"30957:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23622,"name":"address","nodeType":"ElementaryTypeName","src":"30957:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23625,"mutability":"mutable","name":"p2","nameLocation":"30974:2:15","nodeType":"VariableDeclaration","scope":23642,"src":"30969:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23624,"name":"bool","nodeType":"ElementaryTypeName","src":"30969:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23627,"mutability":"mutable","name":"p3","nameLocation":"30992:2:15","nodeType":"VariableDeclaration","scope":23642,"src":"30978:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23626,"name":"string","nodeType":"ElementaryTypeName","src":"30978:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30944:51:15"},"returnParameters":{"id":23629,"nodeType":"ParameterList","parameters":[],"src":"31010:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23665,"nodeType":"FunctionDefinition","src":"31125:176:15","nodes":[],"body":{"id":23664,"nodeType":"Block","src":"31194:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c626f6f6c29","id":23656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31244:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1","typeString":"literal_string \"log(uint256,address,bool,bool)\""},"value":"log(uint256,address,bool,bool)"},{"id":23657,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23644,"src":"31278:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23658,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23646,"src":"31282:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23659,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23648,"src":"31286:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23660,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23650,"src":"31290:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1","typeString":"literal_string \"log(uint256,address,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23654,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31220:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31220:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31220:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23653,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"31204:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31204:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23663,"nodeType":"ExpressionStatement","src":"31204:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31134:3:15","parameters":{"id":23651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23644,"mutability":"mutable","name":"p0","nameLocation":"31146:2:15","nodeType":"VariableDeclaration","scope":23665,"src":"31138:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23643,"name":"uint256","nodeType":"ElementaryTypeName","src":"31138:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23646,"mutability":"mutable","name":"p1","nameLocation":"31158:2:15","nodeType":"VariableDeclaration","scope":23665,"src":"31150:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23645,"name":"address","nodeType":"ElementaryTypeName","src":"31150:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23648,"mutability":"mutable","name":"p2","nameLocation":"31167:2:15","nodeType":"VariableDeclaration","scope":23665,"src":"31162:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23647,"name":"bool","nodeType":"ElementaryTypeName","src":"31162:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23650,"mutability":"mutable","name":"p3","nameLocation":"31176:2:15","nodeType":"VariableDeclaration","scope":23665,"src":"31171:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23649,"name":"bool","nodeType":"ElementaryTypeName","src":"31171:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31137:42:15"},"returnParameters":{"id":23652,"nodeType":"ParameterList","parameters":[],"src":"31194:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23688,"nodeType":"FunctionDefinition","src":"31307:182:15","nodes":[],"body":{"id":23687,"nodeType":"Block","src":"31379:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c6164647265737329","id":23679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31429:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05","typeString":"literal_string \"log(uint256,address,bool,address)\""},"value":"log(uint256,address,bool,address)"},{"id":23680,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23667,"src":"31466:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23681,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23669,"src":"31470:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23682,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23671,"src":"31474:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23683,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23673,"src":"31478:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05","typeString":"literal_string \"log(uint256,address,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23677,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31405:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31405:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31405:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23676,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"31389:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31389:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23686,"nodeType":"ExpressionStatement","src":"31389:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31316:3:15","parameters":{"id":23674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23667,"mutability":"mutable","name":"p0","nameLocation":"31328:2:15","nodeType":"VariableDeclaration","scope":23688,"src":"31320:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23666,"name":"uint256","nodeType":"ElementaryTypeName","src":"31320:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23669,"mutability":"mutable","name":"p1","nameLocation":"31340:2:15","nodeType":"VariableDeclaration","scope":23688,"src":"31332:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23668,"name":"address","nodeType":"ElementaryTypeName","src":"31332:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23671,"mutability":"mutable","name":"p2","nameLocation":"31349:2:15","nodeType":"VariableDeclaration","scope":23688,"src":"31344:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23670,"name":"bool","nodeType":"ElementaryTypeName","src":"31344:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23673,"mutability":"mutable","name":"p3","nameLocation":"31361:2:15","nodeType":"VariableDeclaration","scope":23688,"src":"31353:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23672,"name":"address","nodeType":"ElementaryTypeName","src":"31353:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31319:45:15"},"returnParameters":{"id":23675,"nodeType":"ParameterList","parameters":[],"src":"31379:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23711,"nodeType":"FunctionDefinition","src":"31495:188:15","nodes":[],"body":{"id":23710,"nodeType":"Block","src":"31570:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c75696e7432353629","id":23702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31620:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a","typeString":"literal_string \"log(uint256,address,address,uint256)\""},"value":"log(uint256,address,address,uint256)"},{"id":23703,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23690,"src":"31660:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23704,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23692,"src":"31664:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23705,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23694,"src":"31668:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23706,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23696,"src":"31672:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a","typeString":"literal_string \"log(uint256,address,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23700,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31596:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31596:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31596:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23699,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"31580:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31580:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23709,"nodeType":"ExpressionStatement","src":"31580:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31504:3:15","parameters":{"id":23697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23690,"mutability":"mutable","name":"p0","nameLocation":"31516:2:15","nodeType":"VariableDeclaration","scope":23711,"src":"31508:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23689,"name":"uint256","nodeType":"ElementaryTypeName","src":"31508:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23692,"mutability":"mutable","name":"p1","nameLocation":"31528:2:15","nodeType":"VariableDeclaration","scope":23711,"src":"31520:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23691,"name":"address","nodeType":"ElementaryTypeName","src":"31520:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23694,"mutability":"mutable","name":"p2","nameLocation":"31540:2:15","nodeType":"VariableDeclaration","scope":23711,"src":"31532:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23693,"name":"address","nodeType":"ElementaryTypeName","src":"31532:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23696,"mutability":"mutable","name":"p3","nameLocation":"31552:2:15","nodeType":"VariableDeclaration","scope":23711,"src":"31544:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23695,"name":"uint256","nodeType":"ElementaryTypeName","src":"31544:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31507:48:15"},"returnParameters":{"id":23698,"nodeType":"ParameterList","parameters":[],"src":"31570:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23734,"nodeType":"FunctionDefinition","src":"31689:193:15","nodes":[],"body":{"id":23733,"nodeType":"Block","src":"31770:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c737472696e6729","id":23725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31820:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882","typeString":"literal_string \"log(uint256,address,address,string)\""},"value":"log(uint256,address,address,string)"},{"id":23726,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23713,"src":"31859:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23727,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23715,"src":"31863:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23728,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23717,"src":"31867:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23729,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23719,"src":"31871:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882","typeString":"literal_string \"log(uint256,address,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23723,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31796:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31796:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31796:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23722,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"31780:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31780:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23732,"nodeType":"ExpressionStatement","src":"31780:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31698:3:15","parameters":{"id":23720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23713,"mutability":"mutable","name":"p0","nameLocation":"31710:2:15","nodeType":"VariableDeclaration","scope":23734,"src":"31702:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23712,"name":"uint256","nodeType":"ElementaryTypeName","src":"31702:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23715,"mutability":"mutable","name":"p1","nameLocation":"31722:2:15","nodeType":"VariableDeclaration","scope":23734,"src":"31714:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23714,"name":"address","nodeType":"ElementaryTypeName","src":"31714:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23717,"mutability":"mutable","name":"p2","nameLocation":"31734:2:15","nodeType":"VariableDeclaration","scope":23734,"src":"31726:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23716,"name":"address","nodeType":"ElementaryTypeName","src":"31726:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23719,"mutability":"mutable","name":"p3","nameLocation":"31752:2:15","nodeType":"VariableDeclaration","scope":23734,"src":"31738:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23718,"name":"string","nodeType":"ElementaryTypeName","src":"31738:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31701:54:15"},"returnParameters":{"id":23721,"nodeType":"ParameterList","parameters":[],"src":"31770:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23757,"nodeType":"FunctionDefinition","src":"31888:182:15","nodes":[],"body":{"id":23756,"nodeType":"Block","src":"31960:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c626f6f6c29","id":23748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32010:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d","typeString":"literal_string \"log(uint256,address,address,bool)\""},"value":"log(uint256,address,address,bool)"},{"id":23749,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23736,"src":"32047:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23750,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23738,"src":"32051:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23751,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23740,"src":"32055:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23752,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23742,"src":"32059:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d","typeString":"literal_string \"log(uint256,address,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23746,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31986:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23747,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31986:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31986:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23745,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"31970:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"31970:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23755,"nodeType":"ExpressionStatement","src":"31970:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31897:3:15","parameters":{"id":23743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23736,"mutability":"mutable","name":"p0","nameLocation":"31909:2:15","nodeType":"VariableDeclaration","scope":23757,"src":"31901:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23735,"name":"uint256","nodeType":"ElementaryTypeName","src":"31901:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23738,"mutability":"mutable","name":"p1","nameLocation":"31921:2:15","nodeType":"VariableDeclaration","scope":23757,"src":"31913:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23737,"name":"address","nodeType":"ElementaryTypeName","src":"31913:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23740,"mutability":"mutable","name":"p2","nameLocation":"31933:2:15","nodeType":"VariableDeclaration","scope":23757,"src":"31925:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23739,"name":"address","nodeType":"ElementaryTypeName","src":"31925:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23742,"mutability":"mutable","name":"p3","nameLocation":"31942:2:15","nodeType":"VariableDeclaration","scope":23757,"src":"31937:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23741,"name":"bool","nodeType":"ElementaryTypeName","src":"31937:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31900:45:15"},"returnParameters":{"id":23744,"nodeType":"ParameterList","parameters":[],"src":"31960:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23780,"nodeType":"FunctionDefinition","src":"32076:188:15","nodes":[],"body":{"id":23779,"nodeType":"Block","src":"32151:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c6164647265737329","id":23771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32201:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553","typeString":"literal_string \"log(uint256,address,address,address)\""},"value":"log(uint256,address,address,address)"},{"id":23772,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23759,"src":"32241:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23773,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23761,"src":"32245:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23774,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23763,"src":"32249:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":23775,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23765,"src":"32253:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553","typeString":"literal_string \"log(uint256,address,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23769,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32177:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32177:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32177:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23768,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"32161:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32161:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23778,"nodeType":"ExpressionStatement","src":"32161:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32085:3:15","parameters":{"id":23766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23759,"mutability":"mutable","name":"p0","nameLocation":"32097:2:15","nodeType":"VariableDeclaration","scope":23780,"src":"32089:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23758,"name":"uint256","nodeType":"ElementaryTypeName","src":"32089:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23761,"mutability":"mutable","name":"p1","nameLocation":"32109:2:15","nodeType":"VariableDeclaration","scope":23780,"src":"32101:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23760,"name":"address","nodeType":"ElementaryTypeName","src":"32101:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23763,"mutability":"mutable","name":"p2","nameLocation":"32121:2:15","nodeType":"VariableDeclaration","scope":23780,"src":"32113:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23762,"name":"address","nodeType":"ElementaryTypeName","src":"32113:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":23765,"mutability":"mutable","name":"p3","nameLocation":"32133:2:15","nodeType":"VariableDeclaration","scope":23780,"src":"32125:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23764,"name":"address","nodeType":"ElementaryTypeName","src":"32125:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32088:48:15"},"returnParameters":{"id":23767,"nodeType":"ParameterList","parameters":[],"src":"32151:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23803,"nodeType":"FunctionDefinition","src":"32270:193:15","nodes":[],"body":{"id":23802,"nodeType":"Block","src":"32351:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c75696e7432353629","id":23794,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32401:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5","typeString":"literal_string \"log(string,uint256,uint256,uint256)\""},"value":"log(string,uint256,uint256,uint256)"},{"id":23795,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23782,"src":"32440:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23796,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23784,"src":"32444:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23797,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23786,"src":"32448:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23798,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23788,"src":"32452:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5","typeString":"literal_string \"log(string,uint256,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23792,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32377:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32377:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32377:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23791,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"32361:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32361:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23801,"nodeType":"ExpressionStatement","src":"32361:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32279:3:15","parameters":{"id":23789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23782,"mutability":"mutable","name":"p0","nameLocation":"32297:2:15","nodeType":"VariableDeclaration","scope":23803,"src":"32283:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23781,"name":"string","nodeType":"ElementaryTypeName","src":"32283:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23784,"mutability":"mutable","name":"p1","nameLocation":"32309:2:15","nodeType":"VariableDeclaration","scope":23803,"src":"32301:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23783,"name":"uint256","nodeType":"ElementaryTypeName","src":"32301:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23786,"mutability":"mutable","name":"p2","nameLocation":"32321:2:15","nodeType":"VariableDeclaration","scope":23803,"src":"32313:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23785,"name":"uint256","nodeType":"ElementaryTypeName","src":"32313:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23788,"mutability":"mutable","name":"p3","nameLocation":"32333:2:15","nodeType":"VariableDeclaration","scope":23803,"src":"32325:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23787,"name":"uint256","nodeType":"ElementaryTypeName","src":"32325:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32282:54:15"},"returnParameters":{"id":23790,"nodeType":"ParameterList","parameters":[],"src":"32351:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23826,"nodeType":"FunctionDefinition","src":"32469:198:15","nodes":[],"body":{"id":23825,"nodeType":"Block","src":"32556:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c737472696e6729","id":23817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32606:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f","typeString":"literal_string \"log(string,uint256,uint256,string)\""},"value":"log(string,uint256,uint256,string)"},{"id":23818,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23805,"src":"32644:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23819,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23807,"src":"32648:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23820,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23809,"src":"32652:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23821,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23811,"src":"32656:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f","typeString":"literal_string \"log(string,uint256,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23815,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32582:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32582:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32582:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23814,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"32566:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32566:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23824,"nodeType":"ExpressionStatement","src":"32566:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32478:3:15","parameters":{"id":23812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23805,"mutability":"mutable","name":"p0","nameLocation":"32496:2:15","nodeType":"VariableDeclaration","scope":23826,"src":"32482:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23804,"name":"string","nodeType":"ElementaryTypeName","src":"32482:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23807,"mutability":"mutable","name":"p1","nameLocation":"32508:2:15","nodeType":"VariableDeclaration","scope":23826,"src":"32500:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23806,"name":"uint256","nodeType":"ElementaryTypeName","src":"32500:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23809,"mutability":"mutable","name":"p2","nameLocation":"32520:2:15","nodeType":"VariableDeclaration","scope":23826,"src":"32512:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23808,"name":"uint256","nodeType":"ElementaryTypeName","src":"32512:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23811,"mutability":"mutable","name":"p3","nameLocation":"32538:2:15","nodeType":"VariableDeclaration","scope":23826,"src":"32524:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23810,"name":"string","nodeType":"ElementaryTypeName","src":"32524:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32481:60:15"},"returnParameters":{"id":23813,"nodeType":"ParameterList","parameters":[],"src":"32556:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23849,"nodeType":"FunctionDefinition","src":"32673:187:15","nodes":[],"body":{"id":23848,"nodeType":"Block","src":"32751:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c626f6f6c29","id":23840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32801:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f","typeString":"literal_string \"log(string,uint256,uint256,bool)\""},"value":"log(string,uint256,uint256,bool)"},{"id":23841,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23828,"src":"32837:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23842,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23830,"src":"32841:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23843,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23832,"src":"32845:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23844,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23834,"src":"32849:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f","typeString":"literal_string \"log(string,uint256,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23838,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32777:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32777:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32777:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23837,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"32761:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32761:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23847,"nodeType":"ExpressionStatement","src":"32761:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32682:3:15","parameters":{"id":23835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23828,"mutability":"mutable","name":"p0","nameLocation":"32700:2:15","nodeType":"VariableDeclaration","scope":23849,"src":"32686:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23827,"name":"string","nodeType":"ElementaryTypeName","src":"32686:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23830,"mutability":"mutable","name":"p1","nameLocation":"32712:2:15","nodeType":"VariableDeclaration","scope":23849,"src":"32704:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23829,"name":"uint256","nodeType":"ElementaryTypeName","src":"32704:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23832,"mutability":"mutable","name":"p2","nameLocation":"32724:2:15","nodeType":"VariableDeclaration","scope":23849,"src":"32716:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23831,"name":"uint256","nodeType":"ElementaryTypeName","src":"32716:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23834,"mutability":"mutable","name":"p3","nameLocation":"32733:2:15","nodeType":"VariableDeclaration","scope":23849,"src":"32728:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23833,"name":"bool","nodeType":"ElementaryTypeName","src":"32728:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32685:51:15"},"returnParameters":{"id":23836,"nodeType":"ParameterList","parameters":[],"src":"32751:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23872,"nodeType":"FunctionDefinition","src":"32866:193:15","nodes":[],"body":{"id":23871,"nodeType":"Block","src":"32947:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c6164647265737329","id":23863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32997:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118","typeString":"literal_string \"log(string,uint256,uint256,address)\""},"value":"log(string,uint256,uint256,address)"},{"id":23864,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23851,"src":"33036:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23865,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23853,"src":"33040:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23866,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23855,"src":"33044:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23867,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23857,"src":"33048:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118","typeString":"literal_string \"log(string,uint256,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23861,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32973:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32973:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32973:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23860,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"32957:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"32957:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23870,"nodeType":"ExpressionStatement","src":"32957:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32875:3:15","parameters":{"id":23858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23851,"mutability":"mutable","name":"p0","nameLocation":"32893:2:15","nodeType":"VariableDeclaration","scope":23872,"src":"32879:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23850,"name":"string","nodeType":"ElementaryTypeName","src":"32879:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23853,"mutability":"mutable","name":"p1","nameLocation":"32905:2:15","nodeType":"VariableDeclaration","scope":23872,"src":"32897:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23852,"name":"uint256","nodeType":"ElementaryTypeName","src":"32897:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23855,"mutability":"mutable","name":"p2","nameLocation":"32917:2:15","nodeType":"VariableDeclaration","scope":23872,"src":"32909:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23854,"name":"uint256","nodeType":"ElementaryTypeName","src":"32909:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23857,"mutability":"mutable","name":"p3","nameLocation":"32929:2:15","nodeType":"VariableDeclaration","scope":23872,"src":"32921:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23856,"name":"address","nodeType":"ElementaryTypeName","src":"32921:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32878:54:15"},"returnParameters":{"id":23859,"nodeType":"ParameterList","parameters":[],"src":"32947:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23895,"nodeType":"FunctionDefinition","src":"33065:198:15","nodes":[],"body":{"id":23894,"nodeType":"Block","src":"33152:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c75696e7432353629","id":23886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33202:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9","typeString":"literal_string \"log(string,uint256,string,uint256)\""},"value":"log(string,uint256,string,uint256)"},{"id":23887,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23874,"src":"33240:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23888,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23876,"src":"33244:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23889,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23878,"src":"33248:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23890,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23880,"src":"33252:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9","typeString":"literal_string \"log(string,uint256,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23884,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33178:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33178:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33178:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23883,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"33162:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33162:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23893,"nodeType":"ExpressionStatement","src":"33162:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33074:3:15","parameters":{"id":23881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23874,"mutability":"mutable","name":"p0","nameLocation":"33092:2:15","nodeType":"VariableDeclaration","scope":23895,"src":"33078:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23873,"name":"string","nodeType":"ElementaryTypeName","src":"33078:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23876,"mutability":"mutable","name":"p1","nameLocation":"33104:2:15","nodeType":"VariableDeclaration","scope":23895,"src":"33096:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23875,"name":"uint256","nodeType":"ElementaryTypeName","src":"33096:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23878,"mutability":"mutable","name":"p2","nameLocation":"33122:2:15","nodeType":"VariableDeclaration","scope":23895,"src":"33108:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23877,"name":"string","nodeType":"ElementaryTypeName","src":"33108:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23880,"mutability":"mutable","name":"p3","nameLocation":"33134:2:15","nodeType":"VariableDeclaration","scope":23895,"src":"33126:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23879,"name":"uint256","nodeType":"ElementaryTypeName","src":"33126:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33077:60:15"},"returnParameters":{"id":23882,"nodeType":"ParameterList","parameters":[],"src":"33152:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23918,"nodeType":"FunctionDefinition","src":"33269:203:15","nodes":[],"body":{"id":23917,"nodeType":"Block","src":"33362:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c737472696e6729","id":23909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33412:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089","typeString":"literal_string \"log(string,uint256,string,string)\""},"value":"log(string,uint256,string,string)"},{"id":23910,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23897,"src":"33449:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23911,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23899,"src":"33453:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23912,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23901,"src":"33457:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23913,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23903,"src":"33461:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089","typeString":"literal_string \"log(string,uint256,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23907,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33388:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23908,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33388:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33388:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23906,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"33372:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33372:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23916,"nodeType":"ExpressionStatement","src":"33372:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33278:3:15","parameters":{"id":23904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23897,"mutability":"mutable","name":"p0","nameLocation":"33296:2:15","nodeType":"VariableDeclaration","scope":23918,"src":"33282:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23896,"name":"string","nodeType":"ElementaryTypeName","src":"33282:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23899,"mutability":"mutable","name":"p1","nameLocation":"33308:2:15","nodeType":"VariableDeclaration","scope":23918,"src":"33300:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23898,"name":"uint256","nodeType":"ElementaryTypeName","src":"33300:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23901,"mutability":"mutable","name":"p2","nameLocation":"33326:2:15","nodeType":"VariableDeclaration","scope":23918,"src":"33312:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23900,"name":"string","nodeType":"ElementaryTypeName","src":"33312:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23903,"mutability":"mutable","name":"p3","nameLocation":"33344:2:15","nodeType":"VariableDeclaration","scope":23918,"src":"33330:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23902,"name":"string","nodeType":"ElementaryTypeName","src":"33330:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33281:66:15"},"returnParameters":{"id":23905,"nodeType":"ParameterList","parameters":[],"src":"33362:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23941,"nodeType":"FunctionDefinition","src":"33478:192:15","nodes":[],"body":{"id":23940,"nodeType":"Block","src":"33562:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c626f6f6c29","id":23932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33612:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f","typeString":"literal_string \"log(string,uint256,string,bool)\""},"value":"log(string,uint256,string,bool)"},{"id":23933,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23920,"src":"33647:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23934,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23922,"src":"33651:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23935,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23924,"src":"33655:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23936,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23926,"src":"33659:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f","typeString":"literal_string \"log(string,uint256,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":23930,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33588:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33588:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33588:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23929,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"33572:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33572:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23939,"nodeType":"ExpressionStatement","src":"33572:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33487:3:15","parameters":{"id":23927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23920,"mutability":"mutable","name":"p0","nameLocation":"33505:2:15","nodeType":"VariableDeclaration","scope":23941,"src":"33491:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23919,"name":"string","nodeType":"ElementaryTypeName","src":"33491:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23922,"mutability":"mutable","name":"p1","nameLocation":"33517:2:15","nodeType":"VariableDeclaration","scope":23941,"src":"33509:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23921,"name":"uint256","nodeType":"ElementaryTypeName","src":"33509:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23924,"mutability":"mutable","name":"p2","nameLocation":"33535:2:15","nodeType":"VariableDeclaration","scope":23941,"src":"33521:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23923,"name":"string","nodeType":"ElementaryTypeName","src":"33521:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23926,"mutability":"mutable","name":"p3","nameLocation":"33544:2:15","nodeType":"VariableDeclaration","scope":23941,"src":"33539:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23925,"name":"bool","nodeType":"ElementaryTypeName","src":"33539:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33490:57:15"},"returnParameters":{"id":23928,"nodeType":"ParameterList","parameters":[],"src":"33562:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23964,"nodeType":"FunctionDefinition","src":"33676:198:15","nodes":[],"body":{"id":23963,"nodeType":"Block","src":"33763:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c6164647265737329","id":23955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33813:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb","typeString":"literal_string \"log(string,uint256,string,address)\""},"value":"log(string,uint256,string,address)"},{"id":23956,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23943,"src":"33851:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23957,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23945,"src":"33855:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23958,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23947,"src":"33859:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23959,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23949,"src":"33863:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb","typeString":"literal_string \"log(string,uint256,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":23953,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33789:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33789:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33789:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23952,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"33773:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33773:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23962,"nodeType":"ExpressionStatement","src":"33773:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33685:3:15","parameters":{"id":23950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23943,"mutability":"mutable","name":"p0","nameLocation":"33703:2:15","nodeType":"VariableDeclaration","scope":23964,"src":"33689:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23942,"name":"string","nodeType":"ElementaryTypeName","src":"33689:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23945,"mutability":"mutable","name":"p1","nameLocation":"33715:2:15","nodeType":"VariableDeclaration","scope":23964,"src":"33707:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23944,"name":"uint256","nodeType":"ElementaryTypeName","src":"33707:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23947,"mutability":"mutable","name":"p2","nameLocation":"33733:2:15","nodeType":"VariableDeclaration","scope":23964,"src":"33719:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23946,"name":"string","nodeType":"ElementaryTypeName","src":"33719:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23949,"mutability":"mutable","name":"p3","nameLocation":"33745:2:15","nodeType":"VariableDeclaration","scope":23964,"src":"33737:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":23948,"name":"address","nodeType":"ElementaryTypeName","src":"33737:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33688:60:15"},"returnParameters":{"id":23951,"nodeType":"ParameterList","parameters":[],"src":"33763:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":23987,"nodeType":"FunctionDefinition","src":"33880:187:15","nodes":[],"body":{"id":23986,"nodeType":"Block","src":"33958:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c75696e7432353629","id":23978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34008:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13","typeString":"literal_string \"log(string,uint256,bool,uint256)\""},"value":"log(string,uint256,bool,uint256)"},{"id":23979,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23966,"src":"34044:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":23980,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23968,"src":"34048:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":23981,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23970,"src":"34052:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":23982,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23972,"src":"34056:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13","typeString":"literal_string \"log(string,uint256,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":23976,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33984:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":23977,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33984:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":23983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33984:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23975,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"33968:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":23984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"33968:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":23985,"nodeType":"ExpressionStatement","src":"33968:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33889:3:15","parameters":{"id":23973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23966,"mutability":"mutable","name":"p0","nameLocation":"33907:2:15","nodeType":"VariableDeclaration","scope":23987,"src":"33893:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23965,"name":"string","nodeType":"ElementaryTypeName","src":"33893:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23968,"mutability":"mutable","name":"p1","nameLocation":"33919:2:15","nodeType":"VariableDeclaration","scope":23987,"src":"33911:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23967,"name":"uint256","nodeType":"ElementaryTypeName","src":"33911:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23970,"mutability":"mutable","name":"p2","nameLocation":"33928:2:15","nodeType":"VariableDeclaration","scope":23987,"src":"33923:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23969,"name":"bool","nodeType":"ElementaryTypeName","src":"33923:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23972,"mutability":"mutable","name":"p3","nameLocation":"33940:2:15","nodeType":"VariableDeclaration","scope":23987,"src":"33932:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23971,"name":"uint256","nodeType":"ElementaryTypeName","src":"33932:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33892:51:15"},"returnParameters":{"id":23974,"nodeType":"ParameterList","parameters":[],"src":"33958:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24010,"nodeType":"FunctionDefinition","src":"34073:192:15","nodes":[],"body":{"id":24009,"nodeType":"Block","src":"34157:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c737472696e6729","id":24001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34207:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87","typeString":"literal_string \"log(string,uint256,bool,string)\""},"value":"log(string,uint256,bool,string)"},{"id":24002,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23989,"src":"34242:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24003,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23991,"src":"34246:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24004,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23993,"src":"34250:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24005,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":23995,"src":"34254:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87","typeString":"literal_string \"log(string,uint256,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":23999,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34183:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24000,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34183:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34183:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":23998,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"34167:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34167:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24008,"nodeType":"ExpressionStatement","src":"34167:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34082:3:15","parameters":{"id":23996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":23989,"mutability":"mutable","name":"p0","nameLocation":"34100:2:15","nodeType":"VariableDeclaration","scope":24010,"src":"34086:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23988,"name":"string","nodeType":"ElementaryTypeName","src":"34086:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":23991,"mutability":"mutable","name":"p1","nameLocation":"34112:2:15","nodeType":"VariableDeclaration","scope":24010,"src":"34104:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23990,"name":"uint256","nodeType":"ElementaryTypeName","src":"34104:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":23993,"mutability":"mutable","name":"p2","nameLocation":"34121:2:15","nodeType":"VariableDeclaration","scope":24010,"src":"34116:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":23992,"name":"bool","nodeType":"ElementaryTypeName","src":"34116:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":23995,"mutability":"mutable","name":"p3","nameLocation":"34139:2:15","nodeType":"VariableDeclaration","scope":24010,"src":"34125:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":23994,"name":"string","nodeType":"ElementaryTypeName","src":"34125:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34085:57:15"},"returnParameters":{"id":23997,"nodeType":"ParameterList","parameters":[],"src":"34157:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24033,"nodeType":"FunctionDefinition","src":"34271:181:15","nodes":[],"body":{"id":24032,"nodeType":"Block","src":"34346:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c626f6f6c29","id":24024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34396:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76","typeString":"literal_string \"log(string,uint256,bool,bool)\""},"value":"log(string,uint256,bool,bool)"},{"id":24025,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24012,"src":"34429:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24026,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24014,"src":"34433:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24027,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24016,"src":"34437:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24028,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24018,"src":"34441:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76","typeString":"literal_string \"log(string,uint256,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24022,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34372:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34372:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34372:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24021,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"34356:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34356:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24031,"nodeType":"ExpressionStatement","src":"34356:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34280:3:15","parameters":{"id":24019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24012,"mutability":"mutable","name":"p0","nameLocation":"34298:2:15","nodeType":"VariableDeclaration","scope":24033,"src":"34284:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24011,"name":"string","nodeType":"ElementaryTypeName","src":"34284:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24014,"mutability":"mutable","name":"p1","nameLocation":"34310:2:15","nodeType":"VariableDeclaration","scope":24033,"src":"34302:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24013,"name":"uint256","nodeType":"ElementaryTypeName","src":"34302:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24016,"mutability":"mutable","name":"p2","nameLocation":"34319:2:15","nodeType":"VariableDeclaration","scope":24033,"src":"34314:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24015,"name":"bool","nodeType":"ElementaryTypeName","src":"34314:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24018,"mutability":"mutable","name":"p3","nameLocation":"34328:2:15","nodeType":"VariableDeclaration","scope":24033,"src":"34323:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24017,"name":"bool","nodeType":"ElementaryTypeName","src":"34323:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"34283:48:15"},"returnParameters":{"id":24020,"nodeType":"ParameterList","parameters":[],"src":"34346:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24056,"nodeType":"FunctionDefinition","src":"34458:187:15","nodes":[],"body":{"id":24055,"nodeType":"Block","src":"34536:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c6164647265737329","id":24047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34586:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7","typeString":"literal_string \"log(string,uint256,bool,address)\""},"value":"log(string,uint256,bool,address)"},{"id":24048,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24035,"src":"34622:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24049,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24037,"src":"34626:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24050,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24039,"src":"34630:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24051,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24041,"src":"34634:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7","typeString":"literal_string \"log(string,uint256,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24045,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34562:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34562:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34562:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24044,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"34546:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34546:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24054,"nodeType":"ExpressionStatement","src":"34546:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34467:3:15","parameters":{"id":24042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24035,"mutability":"mutable","name":"p0","nameLocation":"34485:2:15","nodeType":"VariableDeclaration","scope":24056,"src":"34471:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24034,"name":"string","nodeType":"ElementaryTypeName","src":"34471:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24037,"mutability":"mutable","name":"p1","nameLocation":"34497:2:15","nodeType":"VariableDeclaration","scope":24056,"src":"34489:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24036,"name":"uint256","nodeType":"ElementaryTypeName","src":"34489:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24039,"mutability":"mutable","name":"p2","nameLocation":"34506:2:15","nodeType":"VariableDeclaration","scope":24056,"src":"34501:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24038,"name":"bool","nodeType":"ElementaryTypeName","src":"34501:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24041,"mutability":"mutable","name":"p3","nameLocation":"34518:2:15","nodeType":"VariableDeclaration","scope":24056,"src":"34510:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24040,"name":"address","nodeType":"ElementaryTypeName","src":"34510:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34470:51:15"},"returnParameters":{"id":24043,"nodeType":"ParameterList","parameters":[],"src":"34536:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24079,"nodeType":"FunctionDefinition","src":"34651:193:15","nodes":[],"body":{"id":24078,"nodeType":"Block","src":"34732:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c75696e7432353629","id":24070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34782:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff","typeString":"literal_string \"log(string,uint256,address,uint256)\""},"value":"log(string,uint256,address,uint256)"},{"id":24071,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24058,"src":"34821:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24072,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24060,"src":"34825:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24073,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24062,"src":"34829:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24074,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24064,"src":"34833:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff","typeString":"literal_string \"log(string,uint256,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24068,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34758:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34758:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34758:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24067,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"34742:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34742:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24077,"nodeType":"ExpressionStatement","src":"34742:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34660:3:15","parameters":{"id":24065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24058,"mutability":"mutable","name":"p0","nameLocation":"34678:2:15","nodeType":"VariableDeclaration","scope":24079,"src":"34664:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24057,"name":"string","nodeType":"ElementaryTypeName","src":"34664:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24060,"mutability":"mutable","name":"p1","nameLocation":"34690:2:15","nodeType":"VariableDeclaration","scope":24079,"src":"34682:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24059,"name":"uint256","nodeType":"ElementaryTypeName","src":"34682:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24062,"mutability":"mutable","name":"p2","nameLocation":"34702:2:15","nodeType":"VariableDeclaration","scope":24079,"src":"34694:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24061,"name":"address","nodeType":"ElementaryTypeName","src":"34694:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24064,"mutability":"mutable","name":"p3","nameLocation":"34714:2:15","nodeType":"VariableDeclaration","scope":24079,"src":"34706:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24063,"name":"uint256","nodeType":"ElementaryTypeName","src":"34706:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34663:54:15"},"returnParameters":{"id":24066,"nodeType":"ParameterList","parameters":[],"src":"34732:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24102,"nodeType":"FunctionDefinition","src":"34850:198:15","nodes":[],"body":{"id":24101,"nodeType":"Block","src":"34937:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c737472696e6729","id":24093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34987:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b","typeString":"literal_string \"log(string,uint256,address,string)\""},"value":"log(string,uint256,address,string)"},{"id":24094,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24081,"src":"35025:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24095,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24083,"src":"35029:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24096,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24085,"src":"35033:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24097,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24087,"src":"35037:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b","typeString":"literal_string \"log(string,uint256,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24091,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34963:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34963:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34963:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24090,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"34947:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"34947:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24100,"nodeType":"ExpressionStatement","src":"34947:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34859:3:15","parameters":{"id":24088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24081,"mutability":"mutable","name":"p0","nameLocation":"34877:2:15","nodeType":"VariableDeclaration","scope":24102,"src":"34863:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24080,"name":"string","nodeType":"ElementaryTypeName","src":"34863:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24083,"mutability":"mutable","name":"p1","nameLocation":"34889:2:15","nodeType":"VariableDeclaration","scope":24102,"src":"34881:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24082,"name":"uint256","nodeType":"ElementaryTypeName","src":"34881:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24085,"mutability":"mutable","name":"p2","nameLocation":"34901:2:15","nodeType":"VariableDeclaration","scope":24102,"src":"34893:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24084,"name":"address","nodeType":"ElementaryTypeName","src":"34893:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24087,"mutability":"mutable","name":"p3","nameLocation":"34919:2:15","nodeType":"VariableDeclaration","scope":24102,"src":"34905:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24086,"name":"string","nodeType":"ElementaryTypeName","src":"34905:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34862:60:15"},"returnParameters":{"id":24089,"nodeType":"ParameterList","parameters":[],"src":"34937:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24125,"nodeType":"FunctionDefinition","src":"35054:187:15","nodes":[],"body":{"id":24124,"nodeType":"Block","src":"35132:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c626f6f6c29","id":24116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35182:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190","typeString":"literal_string \"log(string,uint256,address,bool)\""},"value":"log(string,uint256,address,bool)"},{"id":24117,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24104,"src":"35218:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24118,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24106,"src":"35222:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24119,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24108,"src":"35226:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24120,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24110,"src":"35230:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190","typeString":"literal_string \"log(string,uint256,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24114,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35158:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35158:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35158:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24113,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"35142:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35142:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24123,"nodeType":"ExpressionStatement","src":"35142:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35063:3:15","parameters":{"id":24111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24104,"mutability":"mutable","name":"p0","nameLocation":"35081:2:15","nodeType":"VariableDeclaration","scope":24125,"src":"35067:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24103,"name":"string","nodeType":"ElementaryTypeName","src":"35067:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24106,"mutability":"mutable","name":"p1","nameLocation":"35093:2:15","nodeType":"VariableDeclaration","scope":24125,"src":"35085:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24105,"name":"uint256","nodeType":"ElementaryTypeName","src":"35085:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24108,"mutability":"mutable","name":"p2","nameLocation":"35105:2:15","nodeType":"VariableDeclaration","scope":24125,"src":"35097:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24107,"name":"address","nodeType":"ElementaryTypeName","src":"35097:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24110,"mutability":"mutable","name":"p3","nameLocation":"35114:2:15","nodeType":"VariableDeclaration","scope":24125,"src":"35109:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24109,"name":"bool","nodeType":"ElementaryTypeName","src":"35109:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35066:51:15"},"returnParameters":{"id":24112,"nodeType":"ParameterList","parameters":[],"src":"35132:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24148,"nodeType":"FunctionDefinition","src":"35247:193:15","nodes":[],"body":{"id":24147,"nodeType":"Block","src":"35328:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c6164647265737329","id":24139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35378:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d","typeString":"literal_string \"log(string,uint256,address,address)\""},"value":"log(string,uint256,address,address)"},{"id":24140,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24127,"src":"35417:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24141,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24129,"src":"35421:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24142,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24131,"src":"35425:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24143,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24133,"src":"35429:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d","typeString":"literal_string \"log(string,uint256,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24137,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35354:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35354:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35354:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24136,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"35338:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35338:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24146,"nodeType":"ExpressionStatement","src":"35338:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35256:3:15","parameters":{"id":24134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24127,"mutability":"mutable","name":"p0","nameLocation":"35274:2:15","nodeType":"VariableDeclaration","scope":24148,"src":"35260:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24126,"name":"string","nodeType":"ElementaryTypeName","src":"35260:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24129,"mutability":"mutable","name":"p1","nameLocation":"35286:2:15","nodeType":"VariableDeclaration","scope":24148,"src":"35278:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24128,"name":"uint256","nodeType":"ElementaryTypeName","src":"35278:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24131,"mutability":"mutable","name":"p2","nameLocation":"35298:2:15","nodeType":"VariableDeclaration","scope":24148,"src":"35290:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24130,"name":"address","nodeType":"ElementaryTypeName","src":"35290:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24133,"mutability":"mutable","name":"p3","nameLocation":"35310:2:15","nodeType":"VariableDeclaration","scope":24148,"src":"35302:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24132,"name":"address","nodeType":"ElementaryTypeName","src":"35302:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"35259:54:15"},"returnParameters":{"id":24135,"nodeType":"ParameterList","parameters":[],"src":"35328:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24171,"nodeType":"FunctionDefinition","src":"35446:198:15","nodes":[],"body":{"id":24170,"nodeType":"Block","src":"35533:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c75696e7432353629","id":24162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35583:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776","typeString":"literal_string \"log(string,string,uint256,uint256)\""},"value":"log(string,string,uint256,uint256)"},{"id":24163,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24150,"src":"35621:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24164,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24152,"src":"35625:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24165,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24154,"src":"35629:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24166,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24156,"src":"35633:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776","typeString":"literal_string \"log(string,string,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24160,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35559:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35559:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35559:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24159,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"35543:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35543:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24169,"nodeType":"ExpressionStatement","src":"35543:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35455:3:15","parameters":{"id":24157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24150,"mutability":"mutable","name":"p0","nameLocation":"35473:2:15","nodeType":"VariableDeclaration","scope":24171,"src":"35459:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24149,"name":"string","nodeType":"ElementaryTypeName","src":"35459:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24152,"mutability":"mutable","name":"p1","nameLocation":"35491:2:15","nodeType":"VariableDeclaration","scope":24171,"src":"35477:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24151,"name":"string","nodeType":"ElementaryTypeName","src":"35477:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24154,"mutability":"mutable","name":"p2","nameLocation":"35503:2:15","nodeType":"VariableDeclaration","scope":24171,"src":"35495:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24153,"name":"uint256","nodeType":"ElementaryTypeName","src":"35495:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24156,"mutability":"mutable","name":"p3","nameLocation":"35515:2:15","nodeType":"VariableDeclaration","scope":24171,"src":"35507:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24155,"name":"uint256","nodeType":"ElementaryTypeName","src":"35507:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35458:60:15"},"returnParameters":{"id":24158,"nodeType":"ParameterList","parameters":[],"src":"35533:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24194,"nodeType":"FunctionDefinition","src":"35650:203:15","nodes":[],"body":{"id":24193,"nodeType":"Block","src":"35743:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c737472696e6729","id":24185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35793:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909","typeString":"literal_string \"log(string,string,uint256,string)\""},"value":"log(string,string,uint256,string)"},{"id":24186,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24173,"src":"35830:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24187,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24175,"src":"35834:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24188,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24177,"src":"35838:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24189,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24179,"src":"35842:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909","typeString":"literal_string \"log(string,string,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24183,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35769:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35769:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35769:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24182,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"35753:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35753:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24192,"nodeType":"ExpressionStatement","src":"35753:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35659:3:15","parameters":{"id":24180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24173,"mutability":"mutable","name":"p0","nameLocation":"35677:2:15","nodeType":"VariableDeclaration","scope":24194,"src":"35663:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24172,"name":"string","nodeType":"ElementaryTypeName","src":"35663:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24175,"mutability":"mutable","name":"p1","nameLocation":"35695:2:15","nodeType":"VariableDeclaration","scope":24194,"src":"35681:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24174,"name":"string","nodeType":"ElementaryTypeName","src":"35681:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24177,"mutability":"mutable","name":"p2","nameLocation":"35707:2:15","nodeType":"VariableDeclaration","scope":24194,"src":"35699:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24176,"name":"uint256","nodeType":"ElementaryTypeName","src":"35699:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24179,"mutability":"mutable","name":"p3","nameLocation":"35725:2:15","nodeType":"VariableDeclaration","scope":24194,"src":"35711:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24178,"name":"string","nodeType":"ElementaryTypeName","src":"35711:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35662:66:15"},"returnParameters":{"id":24181,"nodeType":"ParameterList","parameters":[],"src":"35743:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24217,"nodeType":"FunctionDefinition","src":"35859:192:15","nodes":[],"body":{"id":24216,"nodeType":"Block","src":"35943:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c626f6f6c29","id":24208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35993:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2","typeString":"literal_string \"log(string,string,uint256,bool)\""},"value":"log(string,string,uint256,bool)"},{"id":24209,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24196,"src":"36028:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24210,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24198,"src":"36032:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24211,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24200,"src":"36036:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24212,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24202,"src":"36040:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2","typeString":"literal_string \"log(string,string,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24206,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35969:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35969:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35969:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24205,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"35953:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"35953:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24215,"nodeType":"ExpressionStatement","src":"35953:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35868:3:15","parameters":{"id":24203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24196,"mutability":"mutable","name":"p0","nameLocation":"35886:2:15","nodeType":"VariableDeclaration","scope":24217,"src":"35872:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24195,"name":"string","nodeType":"ElementaryTypeName","src":"35872:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24198,"mutability":"mutable","name":"p1","nameLocation":"35904:2:15","nodeType":"VariableDeclaration","scope":24217,"src":"35890:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24197,"name":"string","nodeType":"ElementaryTypeName","src":"35890:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24200,"mutability":"mutable","name":"p2","nameLocation":"35916:2:15","nodeType":"VariableDeclaration","scope":24217,"src":"35908:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24199,"name":"uint256","nodeType":"ElementaryTypeName","src":"35908:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24202,"mutability":"mutable","name":"p3","nameLocation":"35925:2:15","nodeType":"VariableDeclaration","scope":24217,"src":"35920:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24201,"name":"bool","nodeType":"ElementaryTypeName","src":"35920:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35871:57:15"},"returnParameters":{"id":24204,"nodeType":"ParameterList","parameters":[],"src":"35943:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24240,"nodeType":"FunctionDefinition","src":"36057:198:15","nodes":[],"body":{"id":24239,"nodeType":"Block","src":"36144:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c6164647265737329","id":24231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36194:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6","typeString":"literal_string \"log(string,string,uint256,address)\""},"value":"log(string,string,uint256,address)"},{"id":24232,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24219,"src":"36232:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24233,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24221,"src":"36236:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24234,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24223,"src":"36240:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24235,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24225,"src":"36244:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6","typeString":"literal_string \"log(string,string,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24229,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36170:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36170:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36170:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24228,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"36154:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36154:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24238,"nodeType":"ExpressionStatement","src":"36154:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36066:3:15","parameters":{"id":24226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24219,"mutability":"mutable","name":"p0","nameLocation":"36084:2:15","nodeType":"VariableDeclaration","scope":24240,"src":"36070:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24218,"name":"string","nodeType":"ElementaryTypeName","src":"36070:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24221,"mutability":"mutable","name":"p1","nameLocation":"36102:2:15","nodeType":"VariableDeclaration","scope":24240,"src":"36088:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24220,"name":"string","nodeType":"ElementaryTypeName","src":"36088:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24223,"mutability":"mutable","name":"p2","nameLocation":"36114:2:15","nodeType":"VariableDeclaration","scope":24240,"src":"36106:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24222,"name":"uint256","nodeType":"ElementaryTypeName","src":"36106:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24225,"mutability":"mutable","name":"p3","nameLocation":"36126:2:15","nodeType":"VariableDeclaration","scope":24240,"src":"36118:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24224,"name":"address","nodeType":"ElementaryTypeName","src":"36118:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36069:60:15"},"returnParameters":{"id":24227,"nodeType":"ParameterList","parameters":[],"src":"36144:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24263,"nodeType":"FunctionDefinition","src":"36261:203:15","nodes":[],"body":{"id":24262,"nodeType":"Block","src":"36354:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c75696e7432353629","id":24254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36404:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689","typeString":"literal_string \"log(string,string,string,uint256)\""},"value":"log(string,string,string,uint256)"},{"id":24255,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24242,"src":"36441:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24256,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24244,"src":"36445:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24257,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24246,"src":"36449:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24258,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24248,"src":"36453:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689","typeString":"literal_string \"log(string,string,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24252,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36380:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36380:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36380:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24251,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"36364:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36364:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24261,"nodeType":"ExpressionStatement","src":"36364:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36270:3:15","parameters":{"id":24249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24242,"mutability":"mutable","name":"p0","nameLocation":"36288:2:15","nodeType":"VariableDeclaration","scope":24263,"src":"36274:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24241,"name":"string","nodeType":"ElementaryTypeName","src":"36274:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24244,"mutability":"mutable","name":"p1","nameLocation":"36306:2:15","nodeType":"VariableDeclaration","scope":24263,"src":"36292:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24243,"name":"string","nodeType":"ElementaryTypeName","src":"36292:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24246,"mutability":"mutable","name":"p2","nameLocation":"36324:2:15","nodeType":"VariableDeclaration","scope":24263,"src":"36310:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24245,"name":"string","nodeType":"ElementaryTypeName","src":"36310:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24248,"mutability":"mutable","name":"p3","nameLocation":"36336:2:15","nodeType":"VariableDeclaration","scope":24263,"src":"36328:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24247,"name":"uint256","nodeType":"ElementaryTypeName","src":"36328:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36273:66:15"},"returnParameters":{"id":24250,"nodeType":"ParameterList","parameters":[],"src":"36354:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24286,"nodeType":"FunctionDefinition","src":"36470:208:15","nodes":[],"body":{"id":24285,"nodeType":"Block","src":"36569:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c737472696e6729","id":24277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36619:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},"value":"log(string,string,string,string)"},{"id":24278,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24265,"src":"36655:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24279,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24267,"src":"36659:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24280,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24269,"src":"36663:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24281,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24271,"src":"36667:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"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":24275,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36595:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24276,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36595:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36595:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24274,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"36579:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36579:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24284,"nodeType":"ExpressionStatement","src":"36579:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36479:3:15","parameters":{"id":24272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24265,"mutability":"mutable","name":"p0","nameLocation":"36497:2:15","nodeType":"VariableDeclaration","scope":24286,"src":"36483:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24264,"name":"string","nodeType":"ElementaryTypeName","src":"36483:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24267,"mutability":"mutable","name":"p1","nameLocation":"36515:2:15","nodeType":"VariableDeclaration","scope":24286,"src":"36501:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24266,"name":"string","nodeType":"ElementaryTypeName","src":"36501:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24269,"mutability":"mutable","name":"p2","nameLocation":"36533:2:15","nodeType":"VariableDeclaration","scope":24286,"src":"36519:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24268,"name":"string","nodeType":"ElementaryTypeName","src":"36519:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24271,"mutability":"mutable","name":"p3","nameLocation":"36551:2:15","nodeType":"VariableDeclaration","scope":24286,"src":"36537:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24270,"name":"string","nodeType":"ElementaryTypeName","src":"36537:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36482:72:15"},"returnParameters":{"id":24273,"nodeType":"ParameterList","parameters":[],"src":"36569:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24309,"nodeType":"FunctionDefinition","src":"36684:197:15","nodes":[],"body":{"id":24308,"nodeType":"Block","src":"36774:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c626f6f6c29","id":24300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36824:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},"value":"log(string,string,string,bool)"},{"id":24301,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24288,"src":"36858:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24302,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24290,"src":"36862:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24303,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24292,"src":"36866:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24304,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24294,"src":"36870:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24298,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36800:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36800:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36800:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24297,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"36784:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36784:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24307,"nodeType":"ExpressionStatement","src":"36784:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36693:3:15","parameters":{"id":24295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24288,"mutability":"mutable","name":"p0","nameLocation":"36711:2:15","nodeType":"VariableDeclaration","scope":24309,"src":"36697:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24287,"name":"string","nodeType":"ElementaryTypeName","src":"36697:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24290,"mutability":"mutable","name":"p1","nameLocation":"36729:2:15","nodeType":"VariableDeclaration","scope":24309,"src":"36715:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24289,"name":"string","nodeType":"ElementaryTypeName","src":"36715:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24292,"mutability":"mutable","name":"p2","nameLocation":"36747:2:15","nodeType":"VariableDeclaration","scope":24309,"src":"36733:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24291,"name":"string","nodeType":"ElementaryTypeName","src":"36733:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24294,"mutability":"mutable","name":"p3","nameLocation":"36756:2:15","nodeType":"VariableDeclaration","scope":24309,"src":"36751:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24293,"name":"bool","nodeType":"ElementaryTypeName","src":"36751:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36696:63:15"},"returnParameters":{"id":24296,"nodeType":"ParameterList","parameters":[],"src":"36774:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24332,"nodeType":"FunctionDefinition","src":"36887:203:15","nodes":[],"body":{"id":24331,"nodeType":"Block","src":"36980:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c6164647265737329","id":24323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37030:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},"value":"log(string,string,string,address)"},{"id":24324,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24311,"src":"37067:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24325,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24313,"src":"37071:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24326,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24315,"src":"37075:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24327,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24317,"src":"37079:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24321,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37006:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37006:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37006:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24320,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"36990:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"36990:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24330,"nodeType":"ExpressionStatement","src":"36990:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36896:3:15","parameters":{"id":24318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24311,"mutability":"mutable","name":"p0","nameLocation":"36914:2:15","nodeType":"VariableDeclaration","scope":24332,"src":"36900:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24310,"name":"string","nodeType":"ElementaryTypeName","src":"36900:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24313,"mutability":"mutable","name":"p1","nameLocation":"36932:2:15","nodeType":"VariableDeclaration","scope":24332,"src":"36918:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24312,"name":"string","nodeType":"ElementaryTypeName","src":"36918:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24315,"mutability":"mutable","name":"p2","nameLocation":"36950:2:15","nodeType":"VariableDeclaration","scope":24332,"src":"36936:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24314,"name":"string","nodeType":"ElementaryTypeName","src":"36936:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24317,"mutability":"mutable","name":"p3","nameLocation":"36962:2:15","nodeType":"VariableDeclaration","scope":24332,"src":"36954:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24316,"name":"address","nodeType":"ElementaryTypeName","src":"36954:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36899:66:15"},"returnParameters":{"id":24319,"nodeType":"ParameterList","parameters":[],"src":"36980:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24355,"nodeType":"FunctionDefinition","src":"37096:192:15","nodes":[],"body":{"id":24354,"nodeType":"Block","src":"37180:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c75696e7432353629","id":24346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37230:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729","typeString":"literal_string \"log(string,string,bool,uint256)\""},"value":"log(string,string,bool,uint256)"},{"id":24347,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24334,"src":"37265:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24348,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24336,"src":"37269:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24349,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24338,"src":"37273:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24350,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24340,"src":"37277:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729","typeString":"literal_string \"log(string,string,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24344,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37206:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37206:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37206:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24343,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"37190:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37190:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24353,"nodeType":"ExpressionStatement","src":"37190:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37105:3:15","parameters":{"id":24341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24334,"mutability":"mutable","name":"p0","nameLocation":"37123:2:15","nodeType":"VariableDeclaration","scope":24355,"src":"37109:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24333,"name":"string","nodeType":"ElementaryTypeName","src":"37109:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24336,"mutability":"mutable","name":"p1","nameLocation":"37141:2:15","nodeType":"VariableDeclaration","scope":24355,"src":"37127:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24335,"name":"string","nodeType":"ElementaryTypeName","src":"37127:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24338,"mutability":"mutable","name":"p2","nameLocation":"37150:2:15","nodeType":"VariableDeclaration","scope":24355,"src":"37145:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24337,"name":"bool","nodeType":"ElementaryTypeName","src":"37145:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24340,"mutability":"mutable","name":"p3","nameLocation":"37162:2:15","nodeType":"VariableDeclaration","scope":24355,"src":"37154:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24339,"name":"uint256","nodeType":"ElementaryTypeName","src":"37154:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37108:57:15"},"returnParameters":{"id":24342,"nodeType":"ParameterList","parameters":[],"src":"37180:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24378,"nodeType":"FunctionDefinition","src":"37294:197:15","nodes":[],"body":{"id":24377,"nodeType":"Block","src":"37384:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c737472696e6729","id":24369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37434:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},"value":"log(string,string,bool,string)"},{"id":24370,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24357,"src":"37468:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24371,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24359,"src":"37472:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24372,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24361,"src":"37476:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24373,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24363,"src":"37480:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24367,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37410:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37410:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37410:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24366,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"37394:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37394:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24376,"nodeType":"ExpressionStatement","src":"37394:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37303:3:15","parameters":{"id":24364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24357,"mutability":"mutable","name":"p0","nameLocation":"37321:2:15","nodeType":"VariableDeclaration","scope":24378,"src":"37307:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24356,"name":"string","nodeType":"ElementaryTypeName","src":"37307:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24359,"mutability":"mutable","name":"p1","nameLocation":"37339:2:15","nodeType":"VariableDeclaration","scope":24378,"src":"37325:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24358,"name":"string","nodeType":"ElementaryTypeName","src":"37325:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24361,"mutability":"mutable","name":"p2","nameLocation":"37348:2:15","nodeType":"VariableDeclaration","scope":24378,"src":"37343:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24360,"name":"bool","nodeType":"ElementaryTypeName","src":"37343:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24363,"mutability":"mutable","name":"p3","nameLocation":"37366:2:15","nodeType":"VariableDeclaration","scope":24378,"src":"37352:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24362,"name":"string","nodeType":"ElementaryTypeName","src":"37352:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37306:63:15"},"returnParameters":{"id":24365,"nodeType":"ParameterList","parameters":[],"src":"37384:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24401,"nodeType":"FunctionDefinition","src":"37497:186:15","nodes":[],"body":{"id":24400,"nodeType":"Block","src":"37578:105:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c626f6f6c29","id":24392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37628:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},"value":"log(string,string,bool,bool)"},{"id":24393,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24380,"src":"37660:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24394,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24382,"src":"37664:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24395,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24384,"src":"37668:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24396,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24386,"src":"37672:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24390,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37604:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37604:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37604:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24389,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"37588:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37588:88:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24399,"nodeType":"ExpressionStatement","src":"37588:88:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37506:3:15","parameters":{"id":24387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24380,"mutability":"mutable","name":"p0","nameLocation":"37524:2:15","nodeType":"VariableDeclaration","scope":24401,"src":"37510:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24379,"name":"string","nodeType":"ElementaryTypeName","src":"37510:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24382,"mutability":"mutable","name":"p1","nameLocation":"37542:2:15","nodeType":"VariableDeclaration","scope":24401,"src":"37528:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24381,"name":"string","nodeType":"ElementaryTypeName","src":"37528:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24384,"mutability":"mutable","name":"p2","nameLocation":"37551:2:15","nodeType":"VariableDeclaration","scope":24401,"src":"37546:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24383,"name":"bool","nodeType":"ElementaryTypeName","src":"37546:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24386,"mutability":"mutable","name":"p3","nameLocation":"37560:2:15","nodeType":"VariableDeclaration","scope":24401,"src":"37555:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24385,"name":"bool","nodeType":"ElementaryTypeName","src":"37555:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37509:54:15"},"returnParameters":{"id":24388,"nodeType":"ParameterList","parameters":[],"src":"37578:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24424,"nodeType":"FunctionDefinition","src":"37689:192:15","nodes":[],"body":{"id":24423,"nodeType":"Block","src":"37773:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c6164647265737329","id":24415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37823:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},"value":"log(string,string,bool,address)"},{"id":24416,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24403,"src":"37858:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24417,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24405,"src":"37862:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24418,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24407,"src":"37866:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24419,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24409,"src":"37870:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24413,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37799:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37799:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37799:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24412,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"37783:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37783:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24422,"nodeType":"ExpressionStatement","src":"37783:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37698:3:15","parameters":{"id":24410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24403,"mutability":"mutable","name":"p0","nameLocation":"37716:2:15","nodeType":"VariableDeclaration","scope":24424,"src":"37702:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24402,"name":"string","nodeType":"ElementaryTypeName","src":"37702:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24405,"mutability":"mutable","name":"p1","nameLocation":"37734:2:15","nodeType":"VariableDeclaration","scope":24424,"src":"37720:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24404,"name":"string","nodeType":"ElementaryTypeName","src":"37720:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24407,"mutability":"mutable","name":"p2","nameLocation":"37743:2:15","nodeType":"VariableDeclaration","scope":24424,"src":"37738:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24406,"name":"bool","nodeType":"ElementaryTypeName","src":"37738:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24409,"mutability":"mutable","name":"p3","nameLocation":"37755:2:15","nodeType":"VariableDeclaration","scope":24424,"src":"37747:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24408,"name":"address","nodeType":"ElementaryTypeName","src":"37747:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37701:57:15"},"returnParameters":{"id":24411,"nodeType":"ParameterList","parameters":[],"src":"37773:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24447,"nodeType":"FunctionDefinition","src":"37887:198:15","nodes":[],"body":{"id":24446,"nodeType":"Block","src":"37974:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c75696e7432353629","id":24438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38024:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00","typeString":"literal_string \"log(string,string,address,uint256)\""},"value":"log(string,string,address,uint256)"},{"id":24439,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24426,"src":"38062:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24440,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24428,"src":"38066:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24441,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24430,"src":"38070:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24442,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24432,"src":"38074:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00","typeString":"literal_string \"log(string,string,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24436,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38000:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38000:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38000:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24435,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"37984:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"37984:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24445,"nodeType":"ExpressionStatement","src":"37984:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37896:3:15","parameters":{"id":24433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24426,"mutability":"mutable","name":"p0","nameLocation":"37914:2:15","nodeType":"VariableDeclaration","scope":24447,"src":"37900:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24425,"name":"string","nodeType":"ElementaryTypeName","src":"37900:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24428,"mutability":"mutable","name":"p1","nameLocation":"37932:2:15","nodeType":"VariableDeclaration","scope":24447,"src":"37918:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24427,"name":"string","nodeType":"ElementaryTypeName","src":"37918:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24430,"mutability":"mutable","name":"p2","nameLocation":"37944:2:15","nodeType":"VariableDeclaration","scope":24447,"src":"37936:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24429,"name":"address","nodeType":"ElementaryTypeName","src":"37936:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24432,"mutability":"mutable","name":"p3","nameLocation":"37956:2:15","nodeType":"VariableDeclaration","scope":24447,"src":"37948:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24431,"name":"uint256","nodeType":"ElementaryTypeName","src":"37948:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37899:60:15"},"returnParameters":{"id":24434,"nodeType":"ParameterList","parameters":[],"src":"37974:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24470,"nodeType":"FunctionDefinition","src":"38091:203:15","nodes":[],"body":{"id":24469,"nodeType":"Block","src":"38184:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c737472696e6729","id":24461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38234:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},"value":"log(string,string,address,string)"},{"id":24462,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24449,"src":"38271:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24463,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24451,"src":"38275:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24464,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24453,"src":"38279:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24465,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24455,"src":"38283:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24459,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38210:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24460,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38210:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38210:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24458,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"38194:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38194:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24468,"nodeType":"ExpressionStatement","src":"38194:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38100:3:15","parameters":{"id":24456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24449,"mutability":"mutable","name":"p0","nameLocation":"38118:2:15","nodeType":"VariableDeclaration","scope":24470,"src":"38104:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24448,"name":"string","nodeType":"ElementaryTypeName","src":"38104:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24451,"mutability":"mutable","name":"p1","nameLocation":"38136:2:15","nodeType":"VariableDeclaration","scope":24470,"src":"38122:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24450,"name":"string","nodeType":"ElementaryTypeName","src":"38122:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24453,"mutability":"mutable","name":"p2","nameLocation":"38148:2:15","nodeType":"VariableDeclaration","scope":24470,"src":"38140:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24452,"name":"address","nodeType":"ElementaryTypeName","src":"38140:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24455,"mutability":"mutable","name":"p3","nameLocation":"38166:2:15","nodeType":"VariableDeclaration","scope":24470,"src":"38152:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24454,"name":"string","nodeType":"ElementaryTypeName","src":"38152:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38103:66:15"},"returnParameters":{"id":24457,"nodeType":"ParameterList","parameters":[],"src":"38184:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24493,"nodeType":"FunctionDefinition","src":"38300:192:15","nodes":[],"body":{"id":24492,"nodeType":"Block","src":"38384:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c626f6f6c29","id":24484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38434:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},"value":"log(string,string,address,bool)"},{"id":24485,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24472,"src":"38469:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24486,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24474,"src":"38473:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24487,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24476,"src":"38477:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24488,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24478,"src":"38481:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24482,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38410:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24483,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38410:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38410:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24481,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"38394:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38394:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24491,"nodeType":"ExpressionStatement","src":"38394:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38309:3:15","parameters":{"id":24479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24472,"mutability":"mutable","name":"p0","nameLocation":"38327:2:15","nodeType":"VariableDeclaration","scope":24493,"src":"38313:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24471,"name":"string","nodeType":"ElementaryTypeName","src":"38313:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24474,"mutability":"mutable","name":"p1","nameLocation":"38345:2:15","nodeType":"VariableDeclaration","scope":24493,"src":"38331:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24473,"name":"string","nodeType":"ElementaryTypeName","src":"38331:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24476,"mutability":"mutable","name":"p2","nameLocation":"38357:2:15","nodeType":"VariableDeclaration","scope":24493,"src":"38349:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24475,"name":"address","nodeType":"ElementaryTypeName","src":"38349:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24478,"mutability":"mutable","name":"p3","nameLocation":"38366:2:15","nodeType":"VariableDeclaration","scope":24493,"src":"38361:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24477,"name":"bool","nodeType":"ElementaryTypeName","src":"38361:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38312:57:15"},"returnParameters":{"id":24480,"nodeType":"ParameterList","parameters":[],"src":"38384:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24516,"nodeType":"FunctionDefinition","src":"38498:198:15","nodes":[],"body":{"id":24515,"nodeType":"Block","src":"38585:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c6164647265737329","id":24507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38635:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},"value":"log(string,string,address,address)"},{"id":24508,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24495,"src":"38673:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24509,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24497,"src":"38677:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24510,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24499,"src":"38681:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24511,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24501,"src":"38685:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24505,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38611:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38611:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38611:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24504,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"38595:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38595:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24514,"nodeType":"ExpressionStatement","src":"38595:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38507:3:15","parameters":{"id":24502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24495,"mutability":"mutable","name":"p0","nameLocation":"38525:2:15","nodeType":"VariableDeclaration","scope":24516,"src":"38511:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24494,"name":"string","nodeType":"ElementaryTypeName","src":"38511:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24497,"mutability":"mutable","name":"p1","nameLocation":"38543:2:15","nodeType":"VariableDeclaration","scope":24516,"src":"38529:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24496,"name":"string","nodeType":"ElementaryTypeName","src":"38529:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24499,"mutability":"mutable","name":"p2","nameLocation":"38555:2:15","nodeType":"VariableDeclaration","scope":24516,"src":"38547:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24498,"name":"address","nodeType":"ElementaryTypeName","src":"38547:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24501,"mutability":"mutable","name":"p3","nameLocation":"38567:2:15","nodeType":"VariableDeclaration","scope":24516,"src":"38559:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24500,"name":"address","nodeType":"ElementaryTypeName","src":"38559:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38510:60:15"},"returnParameters":{"id":24503,"nodeType":"ParameterList","parameters":[],"src":"38585:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24539,"nodeType":"FunctionDefinition","src":"38702:187:15","nodes":[],"body":{"id":24538,"nodeType":"Block","src":"38780:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c75696e7432353629","id":24530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38830:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e","typeString":"literal_string \"log(string,bool,uint256,uint256)\""},"value":"log(string,bool,uint256,uint256)"},{"id":24531,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24518,"src":"38866:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24532,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24520,"src":"38870:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24533,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24522,"src":"38874:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24534,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24524,"src":"38878:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e","typeString":"literal_string \"log(string,bool,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24528,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38806:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24529,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38806:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38806:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24527,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"38790:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38790:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24537,"nodeType":"ExpressionStatement","src":"38790:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38711:3:15","parameters":{"id":24525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24518,"mutability":"mutable","name":"p0","nameLocation":"38729:2:15","nodeType":"VariableDeclaration","scope":24539,"src":"38715:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24517,"name":"string","nodeType":"ElementaryTypeName","src":"38715:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24520,"mutability":"mutable","name":"p1","nameLocation":"38738:2:15","nodeType":"VariableDeclaration","scope":24539,"src":"38733:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24519,"name":"bool","nodeType":"ElementaryTypeName","src":"38733:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24522,"mutability":"mutable","name":"p2","nameLocation":"38750:2:15","nodeType":"VariableDeclaration","scope":24539,"src":"38742:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24521,"name":"uint256","nodeType":"ElementaryTypeName","src":"38742:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24524,"mutability":"mutable","name":"p3","nameLocation":"38762:2:15","nodeType":"VariableDeclaration","scope":24539,"src":"38754:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24523,"name":"uint256","nodeType":"ElementaryTypeName","src":"38754:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38714:51:15"},"returnParameters":{"id":24526,"nodeType":"ParameterList","parameters":[],"src":"38780:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24562,"nodeType":"FunctionDefinition","src":"38895:192:15","nodes":[],"body":{"id":24561,"nodeType":"Block","src":"38979:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c737472696e6729","id":24553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39029:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00","typeString":"literal_string \"log(string,bool,uint256,string)\""},"value":"log(string,bool,uint256,string)"},{"id":24554,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24541,"src":"39064:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24555,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24543,"src":"39068:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24556,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24545,"src":"39072:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24557,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24547,"src":"39076:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00","typeString":"literal_string \"log(string,bool,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24551,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39005:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39005:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39005:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24550,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"38989:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"38989:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24560,"nodeType":"ExpressionStatement","src":"38989:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38904:3:15","parameters":{"id":24548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24541,"mutability":"mutable","name":"p0","nameLocation":"38922:2:15","nodeType":"VariableDeclaration","scope":24562,"src":"38908:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24540,"name":"string","nodeType":"ElementaryTypeName","src":"38908:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24543,"mutability":"mutable","name":"p1","nameLocation":"38931:2:15","nodeType":"VariableDeclaration","scope":24562,"src":"38926:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24542,"name":"bool","nodeType":"ElementaryTypeName","src":"38926:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24545,"mutability":"mutable","name":"p2","nameLocation":"38943:2:15","nodeType":"VariableDeclaration","scope":24562,"src":"38935:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24544,"name":"uint256","nodeType":"ElementaryTypeName","src":"38935:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24547,"mutability":"mutable","name":"p3","nameLocation":"38961:2:15","nodeType":"VariableDeclaration","scope":24562,"src":"38947:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24546,"name":"string","nodeType":"ElementaryTypeName","src":"38947:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38907:57:15"},"returnParameters":{"id":24549,"nodeType":"ParameterList","parameters":[],"src":"38979:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24585,"nodeType":"FunctionDefinition","src":"39093:181:15","nodes":[],"body":{"id":24584,"nodeType":"Block","src":"39168:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c626f6f6c29","id":24576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39218:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2","typeString":"literal_string \"log(string,bool,uint256,bool)\""},"value":"log(string,bool,uint256,bool)"},{"id":24577,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24564,"src":"39251:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24578,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24566,"src":"39255:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24579,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24568,"src":"39259:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24580,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24570,"src":"39263:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2","typeString":"literal_string \"log(string,bool,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24574,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39194:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24575,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39194:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39194:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24573,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"39178:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39178:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24583,"nodeType":"ExpressionStatement","src":"39178:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39102:3:15","parameters":{"id":24571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24564,"mutability":"mutable","name":"p0","nameLocation":"39120:2:15","nodeType":"VariableDeclaration","scope":24585,"src":"39106:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24563,"name":"string","nodeType":"ElementaryTypeName","src":"39106:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24566,"mutability":"mutable","name":"p1","nameLocation":"39129:2:15","nodeType":"VariableDeclaration","scope":24585,"src":"39124:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24565,"name":"bool","nodeType":"ElementaryTypeName","src":"39124:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24568,"mutability":"mutable","name":"p2","nameLocation":"39141:2:15","nodeType":"VariableDeclaration","scope":24585,"src":"39133:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24567,"name":"uint256","nodeType":"ElementaryTypeName","src":"39133:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24570,"mutability":"mutable","name":"p3","nameLocation":"39150:2:15","nodeType":"VariableDeclaration","scope":24585,"src":"39145:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24569,"name":"bool","nodeType":"ElementaryTypeName","src":"39145:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39105:48:15"},"returnParameters":{"id":24572,"nodeType":"ParameterList","parameters":[],"src":"39168:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24608,"nodeType":"FunctionDefinition","src":"39280:187:15","nodes":[],"body":{"id":24607,"nodeType":"Block","src":"39358:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c6164647265737329","id":24599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39408:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e","typeString":"literal_string \"log(string,bool,uint256,address)\""},"value":"log(string,bool,uint256,address)"},{"id":24600,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24587,"src":"39444:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24601,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24589,"src":"39448:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24602,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24591,"src":"39452:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24603,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24593,"src":"39456:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e","typeString":"literal_string \"log(string,bool,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24597,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39384:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39384:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39384:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24596,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"39368:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39368:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24606,"nodeType":"ExpressionStatement","src":"39368:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39289:3:15","parameters":{"id":24594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24587,"mutability":"mutable","name":"p0","nameLocation":"39307:2:15","nodeType":"VariableDeclaration","scope":24608,"src":"39293:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24586,"name":"string","nodeType":"ElementaryTypeName","src":"39293:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24589,"mutability":"mutable","name":"p1","nameLocation":"39316:2:15","nodeType":"VariableDeclaration","scope":24608,"src":"39311:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24588,"name":"bool","nodeType":"ElementaryTypeName","src":"39311:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24591,"mutability":"mutable","name":"p2","nameLocation":"39328:2:15","nodeType":"VariableDeclaration","scope":24608,"src":"39320:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24590,"name":"uint256","nodeType":"ElementaryTypeName","src":"39320:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24593,"mutability":"mutable","name":"p3","nameLocation":"39340:2:15","nodeType":"VariableDeclaration","scope":24608,"src":"39332:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24592,"name":"address","nodeType":"ElementaryTypeName","src":"39332:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39292:51:15"},"returnParameters":{"id":24595,"nodeType":"ParameterList","parameters":[],"src":"39358:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24631,"nodeType":"FunctionDefinition","src":"39473:192:15","nodes":[],"body":{"id":24630,"nodeType":"Block","src":"39557:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c75696e7432353629","id":24622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39607:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a","typeString":"literal_string \"log(string,bool,string,uint256)\""},"value":"log(string,bool,string,uint256)"},{"id":24623,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24610,"src":"39642:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24624,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24612,"src":"39646:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24625,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24614,"src":"39650:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24626,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24616,"src":"39654:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a","typeString":"literal_string \"log(string,bool,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24620,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39583:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39583:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39583:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24619,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"39567:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39567:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24629,"nodeType":"ExpressionStatement","src":"39567:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39482:3:15","parameters":{"id":24617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24610,"mutability":"mutable","name":"p0","nameLocation":"39500:2:15","nodeType":"VariableDeclaration","scope":24631,"src":"39486:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24609,"name":"string","nodeType":"ElementaryTypeName","src":"39486:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24612,"mutability":"mutable","name":"p1","nameLocation":"39509:2:15","nodeType":"VariableDeclaration","scope":24631,"src":"39504:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24611,"name":"bool","nodeType":"ElementaryTypeName","src":"39504:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24614,"mutability":"mutable","name":"p2","nameLocation":"39527:2:15","nodeType":"VariableDeclaration","scope":24631,"src":"39513:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24613,"name":"string","nodeType":"ElementaryTypeName","src":"39513:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24616,"mutability":"mutable","name":"p3","nameLocation":"39539:2:15","nodeType":"VariableDeclaration","scope":24631,"src":"39531:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24615,"name":"uint256","nodeType":"ElementaryTypeName","src":"39531:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39485:57:15"},"returnParameters":{"id":24618,"nodeType":"ParameterList","parameters":[],"src":"39557:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24654,"nodeType":"FunctionDefinition","src":"39671:197:15","nodes":[],"body":{"id":24653,"nodeType":"Block","src":"39761:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c737472696e6729","id":24645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39811:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},"value":"log(string,bool,string,string)"},{"id":24646,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24633,"src":"39845:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24647,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24635,"src":"39849:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24648,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24637,"src":"39853:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24649,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24639,"src":"39857:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24643,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39787:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39787:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39787:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24642,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"39771:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39771:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24652,"nodeType":"ExpressionStatement","src":"39771:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39680:3:15","parameters":{"id":24640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24633,"mutability":"mutable","name":"p0","nameLocation":"39698:2:15","nodeType":"VariableDeclaration","scope":24654,"src":"39684:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24632,"name":"string","nodeType":"ElementaryTypeName","src":"39684:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24635,"mutability":"mutable","name":"p1","nameLocation":"39707:2:15","nodeType":"VariableDeclaration","scope":24654,"src":"39702:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24634,"name":"bool","nodeType":"ElementaryTypeName","src":"39702:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24637,"mutability":"mutable","name":"p2","nameLocation":"39725:2:15","nodeType":"VariableDeclaration","scope":24654,"src":"39711:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24636,"name":"string","nodeType":"ElementaryTypeName","src":"39711:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24639,"mutability":"mutable","name":"p3","nameLocation":"39743:2:15","nodeType":"VariableDeclaration","scope":24654,"src":"39729:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24638,"name":"string","nodeType":"ElementaryTypeName","src":"39729:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39683:63:15"},"returnParameters":{"id":24641,"nodeType":"ParameterList","parameters":[],"src":"39761:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24677,"nodeType":"FunctionDefinition","src":"39874:186:15","nodes":[],"body":{"id":24676,"nodeType":"Block","src":"39955:105:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c626f6f6c29","id":24668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40005:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},"value":"log(string,bool,string,bool)"},{"id":24669,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24656,"src":"40037:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24670,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24658,"src":"40041:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24671,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24660,"src":"40045:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24672,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24662,"src":"40049:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24666,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39981:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39981:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39981:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24665,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"39965:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"39965:88:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24675,"nodeType":"ExpressionStatement","src":"39965:88:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39883:3:15","parameters":{"id":24663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24656,"mutability":"mutable","name":"p0","nameLocation":"39901:2:15","nodeType":"VariableDeclaration","scope":24677,"src":"39887:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24655,"name":"string","nodeType":"ElementaryTypeName","src":"39887:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24658,"mutability":"mutable","name":"p1","nameLocation":"39910:2:15","nodeType":"VariableDeclaration","scope":24677,"src":"39905:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24657,"name":"bool","nodeType":"ElementaryTypeName","src":"39905:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24660,"mutability":"mutable","name":"p2","nameLocation":"39928:2:15","nodeType":"VariableDeclaration","scope":24677,"src":"39914:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24659,"name":"string","nodeType":"ElementaryTypeName","src":"39914:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24662,"mutability":"mutable","name":"p3","nameLocation":"39937:2:15","nodeType":"VariableDeclaration","scope":24677,"src":"39932:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24661,"name":"bool","nodeType":"ElementaryTypeName","src":"39932:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39886:54:15"},"returnParameters":{"id":24664,"nodeType":"ParameterList","parameters":[],"src":"39955:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24700,"nodeType":"FunctionDefinition","src":"40066:192:15","nodes":[],"body":{"id":24699,"nodeType":"Block","src":"40150:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c6164647265737329","id":24691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40200:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},"value":"log(string,bool,string,address)"},{"id":24692,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24679,"src":"40235:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24693,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24681,"src":"40239:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24694,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24683,"src":"40243:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24695,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24685,"src":"40247:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24689,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40176:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40176:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40176:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24688,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"40160:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40160:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24698,"nodeType":"ExpressionStatement","src":"40160:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40075:3:15","parameters":{"id":24686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24679,"mutability":"mutable","name":"p0","nameLocation":"40093:2:15","nodeType":"VariableDeclaration","scope":24700,"src":"40079:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24678,"name":"string","nodeType":"ElementaryTypeName","src":"40079:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24681,"mutability":"mutable","name":"p1","nameLocation":"40102:2:15","nodeType":"VariableDeclaration","scope":24700,"src":"40097:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24680,"name":"bool","nodeType":"ElementaryTypeName","src":"40097:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24683,"mutability":"mutable","name":"p2","nameLocation":"40120:2:15","nodeType":"VariableDeclaration","scope":24700,"src":"40106:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24682,"name":"string","nodeType":"ElementaryTypeName","src":"40106:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24685,"mutability":"mutable","name":"p3","nameLocation":"40132:2:15","nodeType":"VariableDeclaration","scope":24700,"src":"40124:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24684,"name":"address","nodeType":"ElementaryTypeName","src":"40124:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40078:57:15"},"returnParameters":{"id":24687,"nodeType":"ParameterList","parameters":[],"src":"40150:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24723,"nodeType":"FunctionDefinition","src":"40264:181:15","nodes":[],"body":{"id":24722,"nodeType":"Block","src":"40339:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c75696e7432353629","id":24714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40389:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c","typeString":"literal_string \"log(string,bool,bool,uint256)\""},"value":"log(string,bool,bool,uint256)"},{"id":24715,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24702,"src":"40422:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24716,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24704,"src":"40426:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24717,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24706,"src":"40430:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24718,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24708,"src":"40434:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c","typeString":"literal_string \"log(string,bool,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24712,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40365:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40365:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40365:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24711,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"40349:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40349:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24721,"nodeType":"ExpressionStatement","src":"40349:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40273:3:15","parameters":{"id":24709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24702,"mutability":"mutable","name":"p0","nameLocation":"40291:2:15","nodeType":"VariableDeclaration","scope":24723,"src":"40277:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24701,"name":"string","nodeType":"ElementaryTypeName","src":"40277:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24704,"mutability":"mutable","name":"p1","nameLocation":"40300:2:15","nodeType":"VariableDeclaration","scope":24723,"src":"40295:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24703,"name":"bool","nodeType":"ElementaryTypeName","src":"40295:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24706,"mutability":"mutable","name":"p2","nameLocation":"40309:2:15","nodeType":"VariableDeclaration","scope":24723,"src":"40304:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24705,"name":"bool","nodeType":"ElementaryTypeName","src":"40304:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24708,"mutability":"mutable","name":"p3","nameLocation":"40321:2:15","nodeType":"VariableDeclaration","scope":24723,"src":"40313:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24707,"name":"uint256","nodeType":"ElementaryTypeName","src":"40313:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40276:48:15"},"returnParameters":{"id":24710,"nodeType":"ParameterList","parameters":[],"src":"40339:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24746,"nodeType":"FunctionDefinition","src":"40451:186:15","nodes":[],"body":{"id":24745,"nodeType":"Block","src":"40532:105:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c737472696e6729","id":24737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40582:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},"value":"log(string,bool,bool,string)"},{"id":24738,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24725,"src":"40614:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24739,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24727,"src":"40618:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24740,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24729,"src":"40622:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24741,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24731,"src":"40626:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24735,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40558:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40558:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40558:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24734,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"40542:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40542:88:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24744,"nodeType":"ExpressionStatement","src":"40542:88:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40460:3:15","parameters":{"id":24732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24725,"mutability":"mutable","name":"p0","nameLocation":"40478:2:15","nodeType":"VariableDeclaration","scope":24746,"src":"40464:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24724,"name":"string","nodeType":"ElementaryTypeName","src":"40464:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24727,"mutability":"mutable","name":"p1","nameLocation":"40487:2:15","nodeType":"VariableDeclaration","scope":24746,"src":"40482:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24726,"name":"bool","nodeType":"ElementaryTypeName","src":"40482:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24729,"mutability":"mutable","name":"p2","nameLocation":"40496:2:15","nodeType":"VariableDeclaration","scope":24746,"src":"40491:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24728,"name":"bool","nodeType":"ElementaryTypeName","src":"40491:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24731,"mutability":"mutable","name":"p3","nameLocation":"40514:2:15","nodeType":"VariableDeclaration","scope":24746,"src":"40500:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24730,"name":"string","nodeType":"ElementaryTypeName","src":"40500:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40463:54:15"},"returnParameters":{"id":24733,"nodeType":"ParameterList","parameters":[],"src":"40532:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24769,"nodeType":"FunctionDefinition","src":"40643:175:15","nodes":[],"body":{"id":24768,"nodeType":"Block","src":"40715:103:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c626f6f6c29","id":24760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40765:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},"value":"log(string,bool,bool,bool)"},{"id":24761,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24748,"src":"40795:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24762,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24750,"src":"40799:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24763,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24752,"src":"40803:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24764,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24754,"src":"40807:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24758,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40741:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40741:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40741:69:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24757,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"40725:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40725:86:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24767,"nodeType":"ExpressionStatement","src":"40725:86:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40652:3:15","parameters":{"id":24755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24748,"mutability":"mutable","name":"p0","nameLocation":"40670:2:15","nodeType":"VariableDeclaration","scope":24769,"src":"40656:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24747,"name":"string","nodeType":"ElementaryTypeName","src":"40656:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24750,"mutability":"mutable","name":"p1","nameLocation":"40679:2:15","nodeType":"VariableDeclaration","scope":24769,"src":"40674:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24749,"name":"bool","nodeType":"ElementaryTypeName","src":"40674:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24752,"mutability":"mutable","name":"p2","nameLocation":"40688:2:15","nodeType":"VariableDeclaration","scope":24769,"src":"40683:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24751,"name":"bool","nodeType":"ElementaryTypeName","src":"40683:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24754,"mutability":"mutable","name":"p3","nameLocation":"40697:2:15","nodeType":"VariableDeclaration","scope":24769,"src":"40692:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24753,"name":"bool","nodeType":"ElementaryTypeName","src":"40692:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40655:45:15"},"returnParameters":{"id":24756,"nodeType":"ParameterList","parameters":[],"src":"40715:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24792,"nodeType":"FunctionDefinition","src":"40824:181:15","nodes":[],"body":{"id":24791,"nodeType":"Block","src":"40899:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c6164647265737329","id":24783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40949:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},"value":"log(string,bool,bool,address)"},{"id":24784,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24771,"src":"40982:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24785,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24773,"src":"40986:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24786,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24775,"src":"40990:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24787,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24777,"src":"40994:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24781,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40925:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40925:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40925:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24780,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"40909:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"40909:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24790,"nodeType":"ExpressionStatement","src":"40909:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40833:3:15","parameters":{"id":24778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24771,"mutability":"mutable","name":"p0","nameLocation":"40851:2:15","nodeType":"VariableDeclaration","scope":24792,"src":"40837:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24770,"name":"string","nodeType":"ElementaryTypeName","src":"40837:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24773,"mutability":"mutable","name":"p1","nameLocation":"40860:2:15","nodeType":"VariableDeclaration","scope":24792,"src":"40855:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24772,"name":"bool","nodeType":"ElementaryTypeName","src":"40855:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24775,"mutability":"mutable","name":"p2","nameLocation":"40869:2:15","nodeType":"VariableDeclaration","scope":24792,"src":"40864:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24774,"name":"bool","nodeType":"ElementaryTypeName","src":"40864:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24777,"mutability":"mutable","name":"p3","nameLocation":"40881:2:15","nodeType":"VariableDeclaration","scope":24792,"src":"40873:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24776,"name":"address","nodeType":"ElementaryTypeName","src":"40873:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40836:48:15"},"returnParameters":{"id":24779,"nodeType":"ParameterList","parameters":[],"src":"40899:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24815,"nodeType":"FunctionDefinition","src":"41011:187:15","nodes":[],"body":{"id":24814,"nodeType":"Block","src":"41089:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c75696e7432353629","id":24806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41139:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531","typeString":"literal_string \"log(string,bool,address,uint256)\""},"value":"log(string,bool,address,uint256)"},{"id":24807,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24794,"src":"41175:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24808,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24796,"src":"41179:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24809,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24798,"src":"41183:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24810,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24800,"src":"41187:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531","typeString":"literal_string \"log(string,bool,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24804,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41115:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41115:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41115:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24803,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"41099:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41099:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24813,"nodeType":"ExpressionStatement","src":"41099:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41020:3:15","parameters":{"id":24801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24794,"mutability":"mutable","name":"p0","nameLocation":"41038:2:15","nodeType":"VariableDeclaration","scope":24815,"src":"41024:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24793,"name":"string","nodeType":"ElementaryTypeName","src":"41024:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24796,"mutability":"mutable","name":"p1","nameLocation":"41047:2:15","nodeType":"VariableDeclaration","scope":24815,"src":"41042:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24795,"name":"bool","nodeType":"ElementaryTypeName","src":"41042:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24798,"mutability":"mutable","name":"p2","nameLocation":"41059:2:15","nodeType":"VariableDeclaration","scope":24815,"src":"41051:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24797,"name":"address","nodeType":"ElementaryTypeName","src":"41051:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24800,"mutability":"mutable","name":"p3","nameLocation":"41071:2:15","nodeType":"VariableDeclaration","scope":24815,"src":"41063:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24799,"name":"uint256","nodeType":"ElementaryTypeName","src":"41063:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41023:51:15"},"returnParameters":{"id":24802,"nodeType":"ParameterList","parameters":[],"src":"41089:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24838,"nodeType":"FunctionDefinition","src":"41204:192:15","nodes":[],"body":{"id":24837,"nodeType":"Block","src":"41288:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c737472696e6729","id":24829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41338:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},"value":"log(string,bool,address,string)"},{"id":24830,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24817,"src":"41373:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24831,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24819,"src":"41377:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24832,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24821,"src":"41381:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24833,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24823,"src":"41385:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24827,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41314:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24828,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41314:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41314:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24826,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"41298:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41298:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24836,"nodeType":"ExpressionStatement","src":"41298:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41213:3:15","parameters":{"id":24824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24817,"mutability":"mutable","name":"p0","nameLocation":"41231:2:15","nodeType":"VariableDeclaration","scope":24838,"src":"41217:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24816,"name":"string","nodeType":"ElementaryTypeName","src":"41217:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24819,"mutability":"mutable","name":"p1","nameLocation":"41240:2:15","nodeType":"VariableDeclaration","scope":24838,"src":"41235:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24818,"name":"bool","nodeType":"ElementaryTypeName","src":"41235:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24821,"mutability":"mutable","name":"p2","nameLocation":"41252:2:15","nodeType":"VariableDeclaration","scope":24838,"src":"41244:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24820,"name":"address","nodeType":"ElementaryTypeName","src":"41244:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24823,"mutability":"mutable","name":"p3","nameLocation":"41270:2:15","nodeType":"VariableDeclaration","scope":24838,"src":"41256:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24822,"name":"string","nodeType":"ElementaryTypeName","src":"41256:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41216:57:15"},"returnParameters":{"id":24825,"nodeType":"ParameterList","parameters":[],"src":"41288:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24861,"nodeType":"FunctionDefinition","src":"41402:181:15","nodes":[],"body":{"id":24860,"nodeType":"Block","src":"41477:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c626f6f6c29","id":24852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41527:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},"value":"log(string,bool,address,bool)"},{"id":24853,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24840,"src":"41560:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24854,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24842,"src":"41564:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24855,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24844,"src":"41568:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24856,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24846,"src":"41572:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24850,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41503:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41503:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41503:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24849,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"41487:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41487:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24859,"nodeType":"ExpressionStatement","src":"41487:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41411:3:15","parameters":{"id":24847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24840,"mutability":"mutable","name":"p0","nameLocation":"41429:2:15","nodeType":"VariableDeclaration","scope":24861,"src":"41415:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24839,"name":"string","nodeType":"ElementaryTypeName","src":"41415:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24842,"mutability":"mutable","name":"p1","nameLocation":"41438:2:15","nodeType":"VariableDeclaration","scope":24861,"src":"41433:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24841,"name":"bool","nodeType":"ElementaryTypeName","src":"41433:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24844,"mutability":"mutable","name":"p2","nameLocation":"41450:2:15","nodeType":"VariableDeclaration","scope":24861,"src":"41442:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24843,"name":"address","nodeType":"ElementaryTypeName","src":"41442:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24846,"mutability":"mutable","name":"p3","nameLocation":"41459:2:15","nodeType":"VariableDeclaration","scope":24861,"src":"41454:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24845,"name":"bool","nodeType":"ElementaryTypeName","src":"41454:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41414:48:15"},"returnParameters":{"id":24848,"nodeType":"ParameterList","parameters":[],"src":"41477:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24884,"nodeType":"FunctionDefinition","src":"41589:187:15","nodes":[],"body":{"id":24883,"nodeType":"Block","src":"41667:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c6164647265737329","id":24875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41717:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},"value":"log(string,bool,address,address)"},{"id":24876,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24863,"src":"41753:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24877,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24865,"src":"41757:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":24878,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24867,"src":"41761:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24879,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24869,"src":"41765:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24873,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41693:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41693:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41693:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24872,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"41677:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41677:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24882,"nodeType":"ExpressionStatement","src":"41677:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41598:3:15","parameters":{"id":24870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24863,"mutability":"mutable","name":"p0","nameLocation":"41616:2:15","nodeType":"VariableDeclaration","scope":24884,"src":"41602:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24862,"name":"string","nodeType":"ElementaryTypeName","src":"41602:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24865,"mutability":"mutable","name":"p1","nameLocation":"41625:2:15","nodeType":"VariableDeclaration","scope":24884,"src":"41620:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24864,"name":"bool","nodeType":"ElementaryTypeName","src":"41620:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":24867,"mutability":"mutable","name":"p2","nameLocation":"41637:2:15","nodeType":"VariableDeclaration","scope":24884,"src":"41629:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24866,"name":"address","nodeType":"ElementaryTypeName","src":"41629:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24869,"mutability":"mutable","name":"p3","nameLocation":"41649:2:15","nodeType":"VariableDeclaration","scope":24884,"src":"41641:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24868,"name":"address","nodeType":"ElementaryTypeName","src":"41641:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41601:51:15"},"returnParameters":{"id":24871,"nodeType":"ParameterList","parameters":[],"src":"41667:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24907,"nodeType":"FunctionDefinition","src":"41782:193:15","nodes":[],"body":{"id":24906,"nodeType":"Block","src":"41863:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c75696e7432353629","id":24898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41913:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9","typeString":"literal_string \"log(string,address,uint256,uint256)\""},"value":"log(string,address,uint256,uint256)"},{"id":24899,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24886,"src":"41952:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24900,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24888,"src":"41956:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24901,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24890,"src":"41960:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24902,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24892,"src":"41964:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9","typeString":"literal_string \"log(string,address,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24896,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41889:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41889:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41889:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24895,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"41873:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"41873:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24905,"nodeType":"ExpressionStatement","src":"41873:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41791:3:15","parameters":{"id":24893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24886,"mutability":"mutable","name":"p0","nameLocation":"41809:2:15","nodeType":"VariableDeclaration","scope":24907,"src":"41795:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24885,"name":"string","nodeType":"ElementaryTypeName","src":"41795:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24888,"mutability":"mutable","name":"p1","nameLocation":"41821:2:15","nodeType":"VariableDeclaration","scope":24907,"src":"41813:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24887,"name":"address","nodeType":"ElementaryTypeName","src":"41813:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24890,"mutability":"mutable","name":"p2","nameLocation":"41833:2:15","nodeType":"VariableDeclaration","scope":24907,"src":"41825:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24889,"name":"uint256","nodeType":"ElementaryTypeName","src":"41825:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24892,"mutability":"mutable","name":"p3","nameLocation":"41845:2:15","nodeType":"VariableDeclaration","scope":24907,"src":"41837:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24891,"name":"uint256","nodeType":"ElementaryTypeName","src":"41837:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41794:54:15"},"returnParameters":{"id":24894,"nodeType":"ParameterList","parameters":[],"src":"41863:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24930,"nodeType":"FunctionDefinition","src":"41981:198:15","nodes":[],"body":{"id":24929,"nodeType":"Block","src":"42068:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c737472696e6729","id":24921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42118:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c","typeString":"literal_string \"log(string,address,uint256,string)\""},"value":"log(string,address,uint256,string)"},{"id":24922,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24909,"src":"42156:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24923,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24911,"src":"42160:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24924,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24913,"src":"42164:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24925,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24915,"src":"42168:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c","typeString":"literal_string \"log(string,address,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":24919,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42094:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42094:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42094:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24918,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"42078:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42078:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24928,"nodeType":"ExpressionStatement","src":"42078:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41990:3:15","parameters":{"id":24916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24909,"mutability":"mutable","name":"p0","nameLocation":"42008:2:15","nodeType":"VariableDeclaration","scope":24930,"src":"41994:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24908,"name":"string","nodeType":"ElementaryTypeName","src":"41994:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24911,"mutability":"mutable","name":"p1","nameLocation":"42020:2:15","nodeType":"VariableDeclaration","scope":24930,"src":"42012:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24910,"name":"address","nodeType":"ElementaryTypeName","src":"42012:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24913,"mutability":"mutable","name":"p2","nameLocation":"42032:2:15","nodeType":"VariableDeclaration","scope":24930,"src":"42024:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24912,"name":"uint256","nodeType":"ElementaryTypeName","src":"42024:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24915,"mutability":"mutable","name":"p3","nameLocation":"42050:2:15","nodeType":"VariableDeclaration","scope":24930,"src":"42036:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24914,"name":"string","nodeType":"ElementaryTypeName","src":"42036:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41993:60:15"},"returnParameters":{"id":24917,"nodeType":"ParameterList","parameters":[],"src":"42068:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24953,"nodeType":"FunctionDefinition","src":"42185:187:15","nodes":[],"body":{"id":24952,"nodeType":"Block","src":"42263:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c626f6f6c29","id":24944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42313:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7","typeString":"literal_string \"log(string,address,uint256,bool)\""},"value":"log(string,address,uint256,bool)"},{"id":24945,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24932,"src":"42349:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24946,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24934,"src":"42353:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24947,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24936,"src":"42357:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24948,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24938,"src":"42361:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7","typeString":"literal_string \"log(string,address,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":24942,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42289:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42289:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42289:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24941,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"42273:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42273:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24951,"nodeType":"ExpressionStatement","src":"42273:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42194:3:15","parameters":{"id":24939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24932,"mutability":"mutable","name":"p0","nameLocation":"42212:2:15","nodeType":"VariableDeclaration","scope":24953,"src":"42198:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24931,"name":"string","nodeType":"ElementaryTypeName","src":"42198:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24934,"mutability":"mutable","name":"p1","nameLocation":"42224:2:15","nodeType":"VariableDeclaration","scope":24953,"src":"42216:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24933,"name":"address","nodeType":"ElementaryTypeName","src":"42216:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24936,"mutability":"mutable","name":"p2","nameLocation":"42236:2:15","nodeType":"VariableDeclaration","scope":24953,"src":"42228:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24935,"name":"uint256","nodeType":"ElementaryTypeName","src":"42228:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24938,"mutability":"mutable","name":"p3","nameLocation":"42245:2:15","nodeType":"VariableDeclaration","scope":24953,"src":"42240:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":24937,"name":"bool","nodeType":"ElementaryTypeName","src":"42240:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"42197:51:15"},"returnParameters":{"id":24940,"nodeType":"ParameterList","parameters":[],"src":"42263:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24976,"nodeType":"FunctionDefinition","src":"42378:193:15","nodes":[],"body":{"id":24975,"nodeType":"Block","src":"42459:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c6164647265737329","id":24967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42509:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a","typeString":"literal_string \"log(string,address,uint256,address)\""},"value":"log(string,address,uint256,address)"},{"id":24968,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24955,"src":"42548:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24969,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24957,"src":"42552:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24970,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24959,"src":"42556:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":24971,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24961,"src":"42560:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a","typeString":"literal_string \"log(string,address,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":24965,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42485:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42485:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42485:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24964,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"42469:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42469:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24974,"nodeType":"ExpressionStatement","src":"42469:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42387:3:15","parameters":{"id":24962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24955,"mutability":"mutable","name":"p0","nameLocation":"42405:2:15","nodeType":"VariableDeclaration","scope":24976,"src":"42391:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24954,"name":"string","nodeType":"ElementaryTypeName","src":"42391:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24957,"mutability":"mutable","name":"p1","nameLocation":"42417:2:15","nodeType":"VariableDeclaration","scope":24976,"src":"42409:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24956,"name":"address","nodeType":"ElementaryTypeName","src":"42409:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24959,"mutability":"mutable","name":"p2","nameLocation":"42429:2:15","nodeType":"VariableDeclaration","scope":24976,"src":"42421:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24958,"name":"uint256","nodeType":"ElementaryTypeName","src":"42421:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":24961,"mutability":"mutable","name":"p3","nameLocation":"42441:2:15","nodeType":"VariableDeclaration","scope":24976,"src":"42433:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24960,"name":"address","nodeType":"ElementaryTypeName","src":"42433:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"42390:54:15"},"returnParameters":{"id":24963,"nodeType":"ParameterList","parameters":[],"src":"42459:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":24999,"nodeType":"FunctionDefinition","src":"42577:198:15","nodes":[],"body":{"id":24998,"nodeType":"Block","src":"42664:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c75696e7432353629","id":24990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42714:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd","typeString":"literal_string \"log(string,address,string,uint256)\""},"value":"log(string,address,string,uint256)"},{"id":24991,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24978,"src":"42752:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24992,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24980,"src":"42756:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":24993,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24982,"src":"42760:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":24994,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24984,"src":"42764:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd","typeString":"literal_string \"log(string,address,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":24988,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42690:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":24989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42690:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":24995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42690:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":24987,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"42674:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":24996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42674:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24997,"nodeType":"ExpressionStatement","src":"42674:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42586:3:15","parameters":{"id":24985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24978,"mutability":"mutable","name":"p0","nameLocation":"42604:2:15","nodeType":"VariableDeclaration","scope":24999,"src":"42590:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24977,"name":"string","nodeType":"ElementaryTypeName","src":"42590:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24980,"mutability":"mutable","name":"p1","nameLocation":"42616:2:15","nodeType":"VariableDeclaration","scope":24999,"src":"42608:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24979,"name":"address","nodeType":"ElementaryTypeName","src":"42608:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":24982,"mutability":"mutable","name":"p2","nameLocation":"42634:2:15","nodeType":"VariableDeclaration","scope":24999,"src":"42620:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":24981,"name":"string","nodeType":"ElementaryTypeName","src":"42620:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":24984,"mutability":"mutable","name":"p3","nameLocation":"42646:2:15","nodeType":"VariableDeclaration","scope":24999,"src":"42638:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24983,"name":"uint256","nodeType":"ElementaryTypeName","src":"42638:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42589:60:15"},"returnParameters":{"id":24986,"nodeType":"ParameterList","parameters":[],"src":"42664:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25022,"nodeType":"FunctionDefinition","src":"42781:203:15","nodes":[],"body":{"id":25021,"nodeType":"Block","src":"42874:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c737472696e6729","id":25013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42924:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},"value":"log(string,address,string,string)"},{"id":25014,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25001,"src":"42961:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25015,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25003,"src":"42965:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25016,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25005,"src":"42969:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25017,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25007,"src":"42973:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25011,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42900:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42900:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42900:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25010,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"42884:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"42884:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25020,"nodeType":"ExpressionStatement","src":"42884:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42790:3:15","parameters":{"id":25008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25001,"mutability":"mutable","name":"p0","nameLocation":"42808:2:15","nodeType":"VariableDeclaration","scope":25022,"src":"42794:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25000,"name":"string","nodeType":"ElementaryTypeName","src":"42794:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25003,"mutability":"mutable","name":"p1","nameLocation":"42820:2:15","nodeType":"VariableDeclaration","scope":25022,"src":"42812:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25002,"name":"address","nodeType":"ElementaryTypeName","src":"42812:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25005,"mutability":"mutable","name":"p2","nameLocation":"42838:2:15","nodeType":"VariableDeclaration","scope":25022,"src":"42824:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25004,"name":"string","nodeType":"ElementaryTypeName","src":"42824:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25007,"mutability":"mutable","name":"p3","nameLocation":"42856:2:15","nodeType":"VariableDeclaration","scope":25022,"src":"42842:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25006,"name":"string","nodeType":"ElementaryTypeName","src":"42842:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42793:66:15"},"returnParameters":{"id":25009,"nodeType":"ParameterList","parameters":[],"src":"42874:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25045,"nodeType":"FunctionDefinition","src":"42990:192:15","nodes":[],"body":{"id":25044,"nodeType":"Block","src":"43074:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c626f6f6c29","id":25036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43124:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},"value":"log(string,address,string,bool)"},{"id":25037,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25024,"src":"43159:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25038,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25026,"src":"43163:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25039,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25028,"src":"43167:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25040,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25030,"src":"43171:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25034,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43100:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25035,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43100:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43100:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25033,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"43084:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43084:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25043,"nodeType":"ExpressionStatement","src":"43084:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42999:3:15","parameters":{"id":25031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25024,"mutability":"mutable","name":"p0","nameLocation":"43017:2:15","nodeType":"VariableDeclaration","scope":25045,"src":"43003:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25023,"name":"string","nodeType":"ElementaryTypeName","src":"43003:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25026,"mutability":"mutable","name":"p1","nameLocation":"43029:2:15","nodeType":"VariableDeclaration","scope":25045,"src":"43021:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25025,"name":"address","nodeType":"ElementaryTypeName","src":"43021:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25028,"mutability":"mutable","name":"p2","nameLocation":"43047:2:15","nodeType":"VariableDeclaration","scope":25045,"src":"43033:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25027,"name":"string","nodeType":"ElementaryTypeName","src":"43033:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25030,"mutability":"mutable","name":"p3","nameLocation":"43056:2:15","nodeType":"VariableDeclaration","scope":25045,"src":"43051:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25029,"name":"bool","nodeType":"ElementaryTypeName","src":"43051:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43002:57:15"},"returnParameters":{"id":25032,"nodeType":"ParameterList","parameters":[],"src":"43074:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25068,"nodeType":"FunctionDefinition","src":"43188:198:15","nodes":[],"body":{"id":25067,"nodeType":"Block","src":"43275:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c6164647265737329","id":25059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43325:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},"value":"log(string,address,string,address)"},{"id":25060,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25047,"src":"43363:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25061,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25049,"src":"43367:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25062,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25051,"src":"43371:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25063,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25053,"src":"43375:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25057,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43301:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25058,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43301:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43301:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25056,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"43285:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43285:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25066,"nodeType":"ExpressionStatement","src":"43285:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43197:3:15","parameters":{"id":25054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25047,"mutability":"mutable","name":"p0","nameLocation":"43215:2:15","nodeType":"VariableDeclaration","scope":25068,"src":"43201:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25046,"name":"string","nodeType":"ElementaryTypeName","src":"43201:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25049,"mutability":"mutable","name":"p1","nameLocation":"43227:2:15","nodeType":"VariableDeclaration","scope":25068,"src":"43219:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25048,"name":"address","nodeType":"ElementaryTypeName","src":"43219:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25051,"mutability":"mutable","name":"p2","nameLocation":"43245:2:15","nodeType":"VariableDeclaration","scope":25068,"src":"43231:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25050,"name":"string","nodeType":"ElementaryTypeName","src":"43231:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25053,"mutability":"mutable","name":"p3","nameLocation":"43257:2:15","nodeType":"VariableDeclaration","scope":25068,"src":"43249:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25052,"name":"address","nodeType":"ElementaryTypeName","src":"43249:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43200:60:15"},"returnParameters":{"id":25055,"nodeType":"ParameterList","parameters":[],"src":"43275:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25091,"nodeType":"FunctionDefinition","src":"43392:187:15","nodes":[],"body":{"id":25090,"nodeType":"Block","src":"43470:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c75696e7432353629","id":25082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43520:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5","typeString":"literal_string \"log(string,address,bool,uint256)\""},"value":"log(string,address,bool,uint256)"},{"id":25083,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25070,"src":"43556:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25084,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25072,"src":"43560:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25085,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25074,"src":"43564:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25086,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25076,"src":"43568:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5","typeString":"literal_string \"log(string,address,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25080,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43496:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25081,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43496:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43496:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25079,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"43480:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43480:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25089,"nodeType":"ExpressionStatement","src":"43480:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43401:3:15","parameters":{"id":25077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25070,"mutability":"mutable","name":"p0","nameLocation":"43419:2:15","nodeType":"VariableDeclaration","scope":25091,"src":"43405:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25069,"name":"string","nodeType":"ElementaryTypeName","src":"43405:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25072,"mutability":"mutable","name":"p1","nameLocation":"43431:2:15","nodeType":"VariableDeclaration","scope":25091,"src":"43423:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25071,"name":"address","nodeType":"ElementaryTypeName","src":"43423:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25074,"mutability":"mutable","name":"p2","nameLocation":"43440:2:15","nodeType":"VariableDeclaration","scope":25091,"src":"43435:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25073,"name":"bool","nodeType":"ElementaryTypeName","src":"43435:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25076,"mutability":"mutable","name":"p3","nameLocation":"43452:2:15","nodeType":"VariableDeclaration","scope":25091,"src":"43444:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25075,"name":"uint256","nodeType":"ElementaryTypeName","src":"43444:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43404:51:15"},"returnParameters":{"id":25078,"nodeType":"ParameterList","parameters":[],"src":"43470:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25114,"nodeType":"FunctionDefinition","src":"43585:192:15","nodes":[],"body":{"id":25113,"nodeType":"Block","src":"43669:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c737472696e6729","id":25105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43719:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},"value":"log(string,address,bool,string)"},{"id":25106,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25093,"src":"43754:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25107,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25095,"src":"43758:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25108,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25097,"src":"43762:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25109,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25099,"src":"43766:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25103,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43695:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43695:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43695:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25102,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"43679:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43679:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25112,"nodeType":"ExpressionStatement","src":"43679:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43594:3:15","parameters":{"id":25100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25093,"mutability":"mutable","name":"p0","nameLocation":"43612:2:15","nodeType":"VariableDeclaration","scope":25114,"src":"43598:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25092,"name":"string","nodeType":"ElementaryTypeName","src":"43598:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25095,"mutability":"mutable","name":"p1","nameLocation":"43624:2:15","nodeType":"VariableDeclaration","scope":25114,"src":"43616:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25094,"name":"address","nodeType":"ElementaryTypeName","src":"43616:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25097,"mutability":"mutable","name":"p2","nameLocation":"43633:2:15","nodeType":"VariableDeclaration","scope":25114,"src":"43628:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25096,"name":"bool","nodeType":"ElementaryTypeName","src":"43628:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25099,"mutability":"mutable","name":"p3","nameLocation":"43651:2:15","nodeType":"VariableDeclaration","scope":25114,"src":"43637:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25098,"name":"string","nodeType":"ElementaryTypeName","src":"43637:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43597:57:15"},"returnParameters":{"id":25101,"nodeType":"ParameterList","parameters":[],"src":"43669:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25137,"nodeType":"FunctionDefinition","src":"43783:181:15","nodes":[],"body":{"id":25136,"nodeType":"Block","src":"43858:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c626f6f6c29","id":25128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43908:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},"value":"log(string,address,bool,bool)"},{"id":25129,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25116,"src":"43941:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25130,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25118,"src":"43945:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25131,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25120,"src":"43949:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25132,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25122,"src":"43953:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25126,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43884:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43884:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43884:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25125,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"43868:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"43868:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25135,"nodeType":"ExpressionStatement","src":"43868:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43792:3:15","parameters":{"id":25123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25116,"mutability":"mutable","name":"p0","nameLocation":"43810:2:15","nodeType":"VariableDeclaration","scope":25137,"src":"43796:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25115,"name":"string","nodeType":"ElementaryTypeName","src":"43796:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25118,"mutability":"mutable","name":"p1","nameLocation":"43822:2:15","nodeType":"VariableDeclaration","scope":25137,"src":"43814:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25117,"name":"address","nodeType":"ElementaryTypeName","src":"43814:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25120,"mutability":"mutable","name":"p2","nameLocation":"43831:2:15","nodeType":"VariableDeclaration","scope":25137,"src":"43826:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25119,"name":"bool","nodeType":"ElementaryTypeName","src":"43826:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25122,"mutability":"mutable","name":"p3","nameLocation":"43840:2:15","nodeType":"VariableDeclaration","scope":25137,"src":"43835:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25121,"name":"bool","nodeType":"ElementaryTypeName","src":"43835:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43795:48:15"},"returnParameters":{"id":25124,"nodeType":"ParameterList","parameters":[],"src":"43858:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25160,"nodeType":"FunctionDefinition","src":"43970:187:15","nodes":[],"body":{"id":25159,"nodeType":"Block","src":"44048:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c6164647265737329","id":25151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44098:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},"value":"log(string,address,bool,address)"},{"id":25152,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25139,"src":"44134:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25153,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25141,"src":"44138:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25154,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25143,"src":"44142:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25155,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25145,"src":"44146:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25149,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44074:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44074:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44074:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25148,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"44058:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44058:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25158,"nodeType":"ExpressionStatement","src":"44058:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43979:3:15","parameters":{"id":25146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25139,"mutability":"mutable","name":"p0","nameLocation":"43997:2:15","nodeType":"VariableDeclaration","scope":25160,"src":"43983:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25138,"name":"string","nodeType":"ElementaryTypeName","src":"43983:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25141,"mutability":"mutable","name":"p1","nameLocation":"44009:2:15","nodeType":"VariableDeclaration","scope":25160,"src":"44001:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25140,"name":"address","nodeType":"ElementaryTypeName","src":"44001:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25143,"mutability":"mutable","name":"p2","nameLocation":"44018:2:15","nodeType":"VariableDeclaration","scope":25160,"src":"44013:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25142,"name":"bool","nodeType":"ElementaryTypeName","src":"44013:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25145,"mutability":"mutable","name":"p3","nameLocation":"44030:2:15","nodeType":"VariableDeclaration","scope":25160,"src":"44022:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25144,"name":"address","nodeType":"ElementaryTypeName","src":"44022:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43982:51:15"},"returnParameters":{"id":25147,"nodeType":"ParameterList","parameters":[],"src":"44048:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25183,"nodeType":"FunctionDefinition","src":"44163:193:15","nodes":[],"body":{"id":25182,"nodeType":"Block","src":"44244:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c75696e7432353629","id":25174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44294:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b","typeString":"literal_string \"log(string,address,address,uint256)\""},"value":"log(string,address,address,uint256)"},{"id":25175,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25162,"src":"44333:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25176,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25164,"src":"44337:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25177,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25166,"src":"44341:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25178,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25168,"src":"44345:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b","typeString":"literal_string \"log(string,address,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25172,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44270:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44270:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44270:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25171,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"44254:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44254:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25181,"nodeType":"ExpressionStatement","src":"44254:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44172:3:15","parameters":{"id":25169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25162,"mutability":"mutable","name":"p0","nameLocation":"44190:2:15","nodeType":"VariableDeclaration","scope":25183,"src":"44176:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25161,"name":"string","nodeType":"ElementaryTypeName","src":"44176:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25164,"mutability":"mutable","name":"p1","nameLocation":"44202:2:15","nodeType":"VariableDeclaration","scope":25183,"src":"44194:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25163,"name":"address","nodeType":"ElementaryTypeName","src":"44194:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25166,"mutability":"mutable","name":"p2","nameLocation":"44214:2:15","nodeType":"VariableDeclaration","scope":25183,"src":"44206:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25165,"name":"address","nodeType":"ElementaryTypeName","src":"44206:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25168,"mutability":"mutable","name":"p3","nameLocation":"44226:2:15","nodeType":"VariableDeclaration","scope":25183,"src":"44218:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25167,"name":"uint256","nodeType":"ElementaryTypeName","src":"44218:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44175:54:15"},"returnParameters":{"id":25170,"nodeType":"ParameterList","parameters":[],"src":"44244:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25206,"nodeType":"FunctionDefinition","src":"44362:198:15","nodes":[],"body":{"id":25205,"nodeType":"Block","src":"44449:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c737472696e6729","id":25197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44499:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},"value":"log(string,address,address,string)"},{"id":25198,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25185,"src":"44537:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25199,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25187,"src":"44541:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25200,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25189,"src":"44545:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25201,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25191,"src":"44549:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25195,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44475:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25196,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44475:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44475:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25194,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"44459:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44459:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25204,"nodeType":"ExpressionStatement","src":"44459:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44371:3:15","parameters":{"id":25192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25185,"mutability":"mutable","name":"p0","nameLocation":"44389:2:15","nodeType":"VariableDeclaration","scope":25206,"src":"44375:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25184,"name":"string","nodeType":"ElementaryTypeName","src":"44375:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25187,"mutability":"mutable","name":"p1","nameLocation":"44401:2:15","nodeType":"VariableDeclaration","scope":25206,"src":"44393:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25186,"name":"address","nodeType":"ElementaryTypeName","src":"44393:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25189,"mutability":"mutable","name":"p2","nameLocation":"44413:2:15","nodeType":"VariableDeclaration","scope":25206,"src":"44405:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25188,"name":"address","nodeType":"ElementaryTypeName","src":"44405:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25191,"mutability":"mutable","name":"p3","nameLocation":"44431:2:15","nodeType":"VariableDeclaration","scope":25206,"src":"44417:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25190,"name":"string","nodeType":"ElementaryTypeName","src":"44417:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44374:60:15"},"returnParameters":{"id":25193,"nodeType":"ParameterList","parameters":[],"src":"44449:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25229,"nodeType":"FunctionDefinition","src":"44566:187:15","nodes":[],"body":{"id":25228,"nodeType":"Block","src":"44644:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c626f6f6c29","id":25220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44694:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},"value":"log(string,address,address,bool)"},{"id":25221,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25208,"src":"44730:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25222,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25210,"src":"44734:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25223,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25212,"src":"44738:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25224,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25214,"src":"44742:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25218,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44670:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44670:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44670:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25217,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"44654:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44654:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25227,"nodeType":"ExpressionStatement","src":"44654:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44575:3:15","parameters":{"id":25215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25208,"mutability":"mutable","name":"p0","nameLocation":"44593:2:15","nodeType":"VariableDeclaration","scope":25229,"src":"44579:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25207,"name":"string","nodeType":"ElementaryTypeName","src":"44579:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25210,"mutability":"mutable","name":"p1","nameLocation":"44605:2:15","nodeType":"VariableDeclaration","scope":25229,"src":"44597:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25209,"name":"address","nodeType":"ElementaryTypeName","src":"44597:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25212,"mutability":"mutable","name":"p2","nameLocation":"44617:2:15","nodeType":"VariableDeclaration","scope":25229,"src":"44609:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25211,"name":"address","nodeType":"ElementaryTypeName","src":"44609:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25214,"mutability":"mutable","name":"p3","nameLocation":"44626:2:15","nodeType":"VariableDeclaration","scope":25229,"src":"44621:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25213,"name":"bool","nodeType":"ElementaryTypeName","src":"44621:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"44578:51:15"},"returnParameters":{"id":25216,"nodeType":"ParameterList","parameters":[],"src":"44644:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25252,"nodeType":"FunctionDefinition","src":"44759:193:15","nodes":[],"body":{"id":25251,"nodeType":"Block","src":"44840:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c6164647265737329","id":25243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44890:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},"value":"log(string,address,address,address)"},{"id":25244,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25231,"src":"44929:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25245,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25233,"src":"44933:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25246,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25235,"src":"44937:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25247,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25237,"src":"44941:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25241,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44866:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44866:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44866:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25240,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"44850:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"44850:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25250,"nodeType":"ExpressionStatement","src":"44850:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44768:3:15","parameters":{"id":25238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25231,"mutability":"mutable","name":"p0","nameLocation":"44786:2:15","nodeType":"VariableDeclaration","scope":25252,"src":"44772:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25230,"name":"string","nodeType":"ElementaryTypeName","src":"44772:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25233,"mutability":"mutable","name":"p1","nameLocation":"44798:2:15","nodeType":"VariableDeclaration","scope":25252,"src":"44790:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25232,"name":"address","nodeType":"ElementaryTypeName","src":"44790:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25235,"mutability":"mutable","name":"p2","nameLocation":"44810:2:15","nodeType":"VariableDeclaration","scope":25252,"src":"44802:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25234,"name":"address","nodeType":"ElementaryTypeName","src":"44802:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25237,"mutability":"mutable","name":"p3","nameLocation":"44822:2:15","nodeType":"VariableDeclaration","scope":25252,"src":"44814:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25236,"name":"address","nodeType":"ElementaryTypeName","src":"44814:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"44771:54:15"},"returnParameters":{"id":25239,"nodeType":"ParameterList","parameters":[],"src":"44840:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25275,"nodeType":"FunctionDefinition","src":"44958:182:15","nodes":[],"body":{"id":25274,"nodeType":"Block","src":"45030:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c75696e7432353629","id":25266,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45080:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b","typeString":"literal_string \"log(bool,uint256,uint256,uint256)\""},"value":"log(bool,uint256,uint256,uint256)"},{"id":25267,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25254,"src":"45117:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25268,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25256,"src":"45121:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25269,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25258,"src":"45125:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25270,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25260,"src":"45129:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b","typeString":"literal_string \"log(bool,uint256,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25264,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45056:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45056:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45056:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25263,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"45040:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45040:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25273,"nodeType":"ExpressionStatement","src":"45040:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44967:3:15","parameters":{"id":25261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25254,"mutability":"mutable","name":"p0","nameLocation":"44976:2:15","nodeType":"VariableDeclaration","scope":25275,"src":"44971:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25253,"name":"bool","nodeType":"ElementaryTypeName","src":"44971:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25256,"mutability":"mutable","name":"p1","nameLocation":"44988:2:15","nodeType":"VariableDeclaration","scope":25275,"src":"44980:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25255,"name":"uint256","nodeType":"ElementaryTypeName","src":"44980:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25258,"mutability":"mutable","name":"p2","nameLocation":"45000:2:15","nodeType":"VariableDeclaration","scope":25275,"src":"44992:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25257,"name":"uint256","nodeType":"ElementaryTypeName","src":"44992:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25260,"mutability":"mutable","name":"p3","nameLocation":"45012:2:15","nodeType":"VariableDeclaration","scope":25275,"src":"45004:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25259,"name":"uint256","nodeType":"ElementaryTypeName","src":"45004:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44970:45:15"},"returnParameters":{"id":25262,"nodeType":"ParameterList","parameters":[],"src":"45030:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25298,"nodeType":"FunctionDefinition","src":"45146:187:15","nodes":[],"body":{"id":25297,"nodeType":"Block","src":"45224:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c737472696e6729","id":25289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45274:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3","typeString":"literal_string \"log(bool,uint256,uint256,string)\""},"value":"log(bool,uint256,uint256,string)"},{"id":25290,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25277,"src":"45310:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25291,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25279,"src":"45314:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25292,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25281,"src":"45318:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25293,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25283,"src":"45322:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3","typeString":"literal_string \"log(bool,uint256,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25287,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45250:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45250:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45250:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25286,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"45234:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45234:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25296,"nodeType":"ExpressionStatement","src":"45234:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45155:3:15","parameters":{"id":25284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25277,"mutability":"mutable","name":"p0","nameLocation":"45164:2:15","nodeType":"VariableDeclaration","scope":25298,"src":"45159:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25276,"name":"bool","nodeType":"ElementaryTypeName","src":"45159:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25279,"mutability":"mutable","name":"p1","nameLocation":"45176:2:15","nodeType":"VariableDeclaration","scope":25298,"src":"45168:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25278,"name":"uint256","nodeType":"ElementaryTypeName","src":"45168:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25281,"mutability":"mutable","name":"p2","nameLocation":"45188:2:15","nodeType":"VariableDeclaration","scope":25298,"src":"45180:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25280,"name":"uint256","nodeType":"ElementaryTypeName","src":"45180:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25283,"mutability":"mutable","name":"p3","nameLocation":"45206:2:15","nodeType":"VariableDeclaration","scope":25298,"src":"45192:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25282,"name":"string","nodeType":"ElementaryTypeName","src":"45192:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45158:51:15"},"returnParameters":{"id":25285,"nodeType":"ParameterList","parameters":[],"src":"45224:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25321,"nodeType":"FunctionDefinition","src":"45339:176:15","nodes":[],"body":{"id":25320,"nodeType":"Block","src":"45408:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c626f6f6c29","id":25312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45458:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d","typeString":"literal_string \"log(bool,uint256,uint256,bool)\""},"value":"log(bool,uint256,uint256,bool)"},{"id":25313,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25300,"src":"45492:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25314,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25302,"src":"45496:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25315,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25304,"src":"45500:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25316,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25306,"src":"45504:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d","typeString":"literal_string \"log(bool,uint256,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25310,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45434:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45434:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45434:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25309,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"45418:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45418:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25319,"nodeType":"ExpressionStatement","src":"45418:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45348:3:15","parameters":{"id":25307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25300,"mutability":"mutable","name":"p0","nameLocation":"45357:2:15","nodeType":"VariableDeclaration","scope":25321,"src":"45352:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25299,"name":"bool","nodeType":"ElementaryTypeName","src":"45352:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25302,"mutability":"mutable","name":"p1","nameLocation":"45369:2:15","nodeType":"VariableDeclaration","scope":25321,"src":"45361:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25301,"name":"uint256","nodeType":"ElementaryTypeName","src":"45361:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25304,"mutability":"mutable","name":"p2","nameLocation":"45381:2:15","nodeType":"VariableDeclaration","scope":25321,"src":"45373:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25303,"name":"uint256","nodeType":"ElementaryTypeName","src":"45373:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25306,"mutability":"mutable","name":"p3","nameLocation":"45390:2:15","nodeType":"VariableDeclaration","scope":25321,"src":"45385:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25305,"name":"bool","nodeType":"ElementaryTypeName","src":"45385:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"45351:42:15"},"returnParameters":{"id":25308,"nodeType":"ParameterList","parameters":[],"src":"45408:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25344,"nodeType":"FunctionDefinition","src":"45521:182:15","nodes":[],"body":{"id":25343,"nodeType":"Block","src":"45593:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c6164647265737329","id":25335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45643:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010","typeString":"literal_string \"log(bool,uint256,uint256,address)\""},"value":"log(bool,uint256,uint256,address)"},{"id":25336,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25323,"src":"45680:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25337,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25325,"src":"45684:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25338,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25327,"src":"45688:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25339,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25329,"src":"45692:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010","typeString":"literal_string \"log(bool,uint256,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25333,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45619:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45619:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45619:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25332,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"45603:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45603:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25342,"nodeType":"ExpressionStatement","src":"45603:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45530:3:15","parameters":{"id":25330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25323,"mutability":"mutable","name":"p0","nameLocation":"45539:2:15","nodeType":"VariableDeclaration","scope":25344,"src":"45534:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25322,"name":"bool","nodeType":"ElementaryTypeName","src":"45534:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25325,"mutability":"mutable","name":"p1","nameLocation":"45551:2:15","nodeType":"VariableDeclaration","scope":25344,"src":"45543:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25324,"name":"uint256","nodeType":"ElementaryTypeName","src":"45543:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25327,"mutability":"mutable","name":"p2","nameLocation":"45563:2:15","nodeType":"VariableDeclaration","scope":25344,"src":"45555:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25326,"name":"uint256","nodeType":"ElementaryTypeName","src":"45555:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25329,"mutability":"mutable","name":"p3","nameLocation":"45575:2:15","nodeType":"VariableDeclaration","scope":25344,"src":"45567:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25328,"name":"address","nodeType":"ElementaryTypeName","src":"45567:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45533:45:15"},"returnParameters":{"id":25331,"nodeType":"ParameterList","parameters":[],"src":"45593:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25367,"nodeType":"FunctionDefinition","src":"45709:187:15","nodes":[],"body":{"id":25366,"nodeType":"Block","src":"45787:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c75696e7432353629","id":25358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45837:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e","typeString":"literal_string \"log(bool,uint256,string,uint256)\""},"value":"log(bool,uint256,string,uint256)"},{"id":25359,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25346,"src":"45873:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25360,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25348,"src":"45877:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25361,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25350,"src":"45881:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25362,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25352,"src":"45885:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e","typeString":"literal_string \"log(bool,uint256,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25356,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45813:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45813:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45813:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25355,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"45797:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45797:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25365,"nodeType":"ExpressionStatement","src":"45797:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45718:3:15","parameters":{"id":25353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25346,"mutability":"mutable","name":"p0","nameLocation":"45727:2:15","nodeType":"VariableDeclaration","scope":25367,"src":"45722:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25345,"name":"bool","nodeType":"ElementaryTypeName","src":"45722:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25348,"mutability":"mutable","name":"p1","nameLocation":"45739:2:15","nodeType":"VariableDeclaration","scope":25367,"src":"45731:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25347,"name":"uint256","nodeType":"ElementaryTypeName","src":"45731:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25350,"mutability":"mutable","name":"p2","nameLocation":"45757:2:15","nodeType":"VariableDeclaration","scope":25367,"src":"45743:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25349,"name":"string","nodeType":"ElementaryTypeName","src":"45743:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25352,"mutability":"mutable","name":"p3","nameLocation":"45769:2:15","nodeType":"VariableDeclaration","scope":25367,"src":"45761:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25351,"name":"uint256","nodeType":"ElementaryTypeName","src":"45761:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45721:51:15"},"returnParameters":{"id":25354,"nodeType":"ParameterList","parameters":[],"src":"45787:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25390,"nodeType":"FunctionDefinition","src":"45902:192:15","nodes":[],"body":{"id":25389,"nodeType":"Block","src":"45986:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c737472696e6729","id":25381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46036:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07","typeString":"literal_string \"log(bool,uint256,string,string)\""},"value":"log(bool,uint256,string,string)"},{"id":25382,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25369,"src":"46071:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25383,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25371,"src":"46075:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25384,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25373,"src":"46079:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25385,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25375,"src":"46083:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07","typeString":"literal_string \"log(bool,uint256,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25379,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46012:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46012:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46012:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25378,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"45996:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"45996:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25388,"nodeType":"ExpressionStatement","src":"45996:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45911:3:15","parameters":{"id":25376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25369,"mutability":"mutable","name":"p0","nameLocation":"45920:2:15","nodeType":"VariableDeclaration","scope":25390,"src":"45915:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25368,"name":"bool","nodeType":"ElementaryTypeName","src":"45915:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25371,"mutability":"mutable","name":"p1","nameLocation":"45932:2:15","nodeType":"VariableDeclaration","scope":25390,"src":"45924:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25370,"name":"uint256","nodeType":"ElementaryTypeName","src":"45924:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25373,"mutability":"mutable","name":"p2","nameLocation":"45950:2:15","nodeType":"VariableDeclaration","scope":25390,"src":"45936:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25372,"name":"string","nodeType":"ElementaryTypeName","src":"45936:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25375,"mutability":"mutable","name":"p3","nameLocation":"45968:2:15","nodeType":"VariableDeclaration","scope":25390,"src":"45954:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25374,"name":"string","nodeType":"ElementaryTypeName","src":"45954:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45914:57:15"},"returnParameters":{"id":25377,"nodeType":"ParameterList","parameters":[],"src":"45986:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25413,"nodeType":"FunctionDefinition","src":"46100:181:15","nodes":[],"body":{"id":25412,"nodeType":"Block","src":"46175:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c626f6f6c29","id":25404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46225:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2","typeString":"literal_string \"log(bool,uint256,string,bool)\""},"value":"log(bool,uint256,string,bool)"},{"id":25405,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25392,"src":"46258:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25406,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25394,"src":"46262:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25407,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25396,"src":"46266:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25408,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25398,"src":"46270:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2","typeString":"literal_string \"log(bool,uint256,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25402,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46201:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46201:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46201:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25401,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"46185:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46185:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25411,"nodeType":"ExpressionStatement","src":"46185:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46109:3:15","parameters":{"id":25399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25392,"mutability":"mutable","name":"p0","nameLocation":"46118:2:15","nodeType":"VariableDeclaration","scope":25413,"src":"46113:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25391,"name":"bool","nodeType":"ElementaryTypeName","src":"46113:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25394,"mutability":"mutable","name":"p1","nameLocation":"46130:2:15","nodeType":"VariableDeclaration","scope":25413,"src":"46122:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25393,"name":"uint256","nodeType":"ElementaryTypeName","src":"46122:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25396,"mutability":"mutable","name":"p2","nameLocation":"46148:2:15","nodeType":"VariableDeclaration","scope":25413,"src":"46134:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25395,"name":"string","nodeType":"ElementaryTypeName","src":"46134:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25398,"mutability":"mutable","name":"p3","nameLocation":"46157:2:15","nodeType":"VariableDeclaration","scope":25413,"src":"46152:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25397,"name":"bool","nodeType":"ElementaryTypeName","src":"46152:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46112:48:15"},"returnParameters":{"id":25400,"nodeType":"ParameterList","parameters":[],"src":"46175:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25436,"nodeType":"FunctionDefinition","src":"46287:187:15","nodes":[],"body":{"id":25435,"nodeType":"Block","src":"46365:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c6164647265737329","id":25427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46415:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab","typeString":"literal_string \"log(bool,uint256,string,address)\""},"value":"log(bool,uint256,string,address)"},{"id":25428,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25415,"src":"46451:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25429,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25417,"src":"46455:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25430,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25419,"src":"46459:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25431,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25421,"src":"46463:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab","typeString":"literal_string \"log(bool,uint256,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25425,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46391:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46391:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46391:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25424,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"46375:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46375:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25434,"nodeType":"ExpressionStatement","src":"46375:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46296:3:15","parameters":{"id":25422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25415,"mutability":"mutable","name":"p0","nameLocation":"46305:2:15","nodeType":"VariableDeclaration","scope":25436,"src":"46300:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25414,"name":"bool","nodeType":"ElementaryTypeName","src":"46300:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25417,"mutability":"mutable","name":"p1","nameLocation":"46317:2:15","nodeType":"VariableDeclaration","scope":25436,"src":"46309:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25416,"name":"uint256","nodeType":"ElementaryTypeName","src":"46309:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25419,"mutability":"mutable","name":"p2","nameLocation":"46335:2:15","nodeType":"VariableDeclaration","scope":25436,"src":"46321:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25418,"name":"string","nodeType":"ElementaryTypeName","src":"46321:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25421,"mutability":"mutable","name":"p3","nameLocation":"46347:2:15","nodeType":"VariableDeclaration","scope":25436,"src":"46339:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25420,"name":"address","nodeType":"ElementaryTypeName","src":"46339:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"46299:51:15"},"returnParameters":{"id":25423,"nodeType":"ParameterList","parameters":[],"src":"46365:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25459,"nodeType":"FunctionDefinition","src":"46480:176:15","nodes":[],"body":{"id":25458,"nodeType":"Block","src":"46549:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c75696e7432353629","id":25450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46599:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443","typeString":"literal_string \"log(bool,uint256,bool,uint256)\""},"value":"log(bool,uint256,bool,uint256)"},{"id":25451,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25438,"src":"46633:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25452,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25440,"src":"46637:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25453,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25442,"src":"46641:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25454,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25444,"src":"46645:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443","typeString":"literal_string \"log(bool,uint256,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25448,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46575:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25449,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46575:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46575:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25447,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"46559:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46559:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25457,"nodeType":"ExpressionStatement","src":"46559:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46489:3:15","parameters":{"id":25445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25438,"mutability":"mutable","name":"p0","nameLocation":"46498:2:15","nodeType":"VariableDeclaration","scope":25459,"src":"46493:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25437,"name":"bool","nodeType":"ElementaryTypeName","src":"46493:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25440,"mutability":"mutable","name":"p1","nameLocation":"46510:2:15","nodeType":"VariableDeclaration","scope":25459,"src":"46502:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25439,"name":"uint256","nodeType":"ElementaryTypeName","src":"46502:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25442,"mutability":"mutable","name":"p2","nameLocation":"46519:2:15","nodeType":"VariableDeclaration","scope":25459,"src":"46514:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25441,"name":"bool","nodeType":"ElementaryTypeName","src":"46514:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25444,"mutability":"mutable","name":"p3","nameLocation":"46531:2:15","nodeType":"VariableDeclaration","scope":25459,"src":"46523:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25443,"name":"uint256","nodeType":"ElementaryTypeName","src":"46523:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46492:42:15"},"returnParameters":{"id":25446,"nodeType":"ParameterList","parameters":[],"src":"46549:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25482,"nodeType":"FunctionDefinition","src":"46662:181:15","nodes":[],"body":{"id":25481,"nodeType":"Block","src":"46737:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c737472696e6729","id":25473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46787:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0","typeString":"literal_string \"log(bool,uint256,bool,string)\""},"value":"log(bool,uint256,bool,string)"},{"id":25474,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25461,"src":"46820:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25475,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25463,"src":"46824:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25476,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25465,"src":"46828:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25477,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25467,"src":"46832:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0","typeString":"literal_string \"log(bool,uint256,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25471,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46763:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25472,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46763:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46763:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25470,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"46747:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46747:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25480,"nodeType":"ExpressionStatement","src":"46747:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46671:3:15","parameters":{"id":25468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25461,"mutability":"mutable","name":"p0","nameLocation":"46680:2:15","nodeType":"VariableDeclaration","scope":25482,"src":"46675:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25460,"name":"bool","nodeType":"ElementaryTypeName","src":"46675:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25463,"mutability":"mutable","name":"p1","nameLocation":"46692:2:15","nodeType":"VariableDeclaration","scope":25482,"src":"46684:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25462,"name":"uint256","nodeType":"ElementaryTypeName","src":"46684:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25465,"mutability":"mutable","name":"p2","nameLocation":"46701:2:15","nodeType":"VariableDeclaration","scope":25482,"src":"46696:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25464,"name":"bool","nodeType":"ElementaryTypeName","src":"46696:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25467,"mutability":"mutable","name":"p3","nameLocation":"46719:2:15","nodeType":"VariableDeclaration","scope":25482,"src":"46705:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25466,"name":"string","nodeType":"ElementaryTypeName","src":"46705:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46674:48:15"},"returnParameters":{"id":25469,"nodeType":"ParameterList","parameters":[],"src":"46737:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25505,"nodeType":"FunctionDefinition","src":"46849:170:15","nodes":[],"body":{"id":25504,"nodeType":"Block","src":"46915:104:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c626f6f6c29","id":25496,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46965:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2","typeString":"literal_string \"log(bool,uint256,bool,bool)\""},"value":"log(bool,uint256,bool,bool)"},{"id":25497,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25484,"src":"46996:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25498,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25486,"src":"47000:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25499,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25488,"src":"47004:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25500,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25490,"src":"47008:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2","typeString":"literal_string \"log(bool,uint256,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25494,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46941:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46941:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46941:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25493,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"46925:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"46925:87:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25503,"nodeType":"ExpressionStatement","src":"46925:87:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46858:3:15","parameters":{"id":25491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25484,"mutability":"mutable","name":"p0","nameLocation":"46867:2:15","nodeType":"VariableDeclaration","scope":25505,"src":"46862:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25483,"name":"bool","nodeType":"ElementaryTypeName","src":"46862:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25486,"mutability":"mutable","name":"p1","nameLocation":"46879:2:15","nodeType":"VariableDeclaration","scope":25505,"src":"46871:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25485,"name":"uint256","nodeType":"ElementaryTypeName","src":"46871:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25488,"mutability":"mutable","name":"p2","nameLocation":"46888:2:15","nodeType":"VariableDeclaration","scope":25505,"src":"46883:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25487,"name":"bool","nodeType":"ElementaryTypeName","src":"46883:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25490,"mutability":"mutable","name":"p3","nameLocation":"46897:2:15","nodeType":"VariableDeclaration","scope":25505,"src":"46892:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25489,"name":"bool","nodeType":"ElementaryTypeName","src":"46892:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46861:39:15"},"returnParameters":{"id":25492,"nodeType":"ParameterList","parameters":[],"src":"46915:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25528,"nodeType":"FunctionDefinition","src":"47025:176:15","nodes":[],"body":{"id":25527,"nodeType":"Block","src":"47094:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c6164647265737329","id":25519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47144:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e","typeString":"literal_string \"log(bool,uint256,bool,address)\""},"value":"log(bool,uint256,bool,address)"},{"id":25520,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25507,"src":"47178:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25521,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25509,"src":"47182:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25522,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25511,"src":"47186:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25523,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25513,"src":"47190:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e","typeString":"literal_string \"log(bool,uint256,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25517,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47120:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47120:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47120:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25516,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"47104:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47104:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25526,"nodeType":"ExpressionStatement","src":"47104:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47034:3:15","parameters":{"id":25514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25507,"mutability":"mutable","name":"p0","nameLocation":"47043:2:15","nodeType":"VariableDeclaration","scope":25528,"src":"47038:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25506,"name":"bool","nodeType":"ElementaryTypeName","src":"47038:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25509,"mutability":"mutable","name":"p1","nameLocation":"47055:2:15","nodeType":"VariableDeclaration","scope":25528,"src":"47047:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25508,"name":"uint256","nodeType":"ElementaryTypeName","src":"47047:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25511,"mutability":"mutable","name":"p2","nameLocation":"47064:2:15","nodeType":"VariableDeclaration","scope":25528,"src":"47059:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25510,"name":"bool","nodeType":"ElementaryTypeName","src":"47059:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25513,"mutability":"mutable","name":"p3","nameLocation":"47076:2:15","nodeType":"VariableDeclaration","scope":25528,"src":"47068:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25512,"name":"address","nodeType":"ElementaryTypeName","src":"47068:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47037:42:15"},"returnParameters":{"id":25515,"nodeType":"ParameterList","parameters":[],"src":"47094:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25551,"nodeType":"FunctionDefinition","src":"47207:182:15","nodes":[],"body":{"id":25550,"nodeType":"Block","src":"47279:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c75696e7432353629","id":25542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47329:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560","typeString":"literal_string \"log(bool,uint256,address,uint256)\""},"value":"log(bool,uint256,address,uint256)"},{"id":25543,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25530,"src":"47366:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25544,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25532,"src":"47370:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25545,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25534,"src":"47374:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25546,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25536,"src":"47378:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560","typeString":"literal_string \"log(bool,uint256,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25540,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47305:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47305:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47305:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25539,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"47289:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47289:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25549,"nodeType":"ExpressionStatement","src":"47289:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47216:3:15","parameters":{"id":25537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25530,"mutability":"mutable","name":"p0","nameLocation":"47225:2:15","nodeType":"VariableDeclaration","scope":25551,"src":"47220:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25529,"name":"bool","nodeType":"ElementaryTypeName","src":"47220:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25532,"mutability":"mutable","name":"p1","nameLocation":"47237:2:15","nodeType":"VariableDeclaration","scope":25551,"src":"47229:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25531,"name":"uint256","nodeType":"ElementaryTypeName","src":"47229:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25534,"mutability":"mutable","name":"p2","nameLocation":"47249:2:15","nodeType":"VariableDeclaration","scope":25551,"src":"47241:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25533,"name":"address","nodeType":"ElementaryTypeName","src":"47241:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25536,"mutability":"mutable","name":"p3","nameLocation":"47261:2:15","nodeType":"VariableDeclaration","scope":25551,"src":"47253:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25535,"name":"uint256","nodeType":"ElementaryTypeName","src":"47253:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47219:45:15"},"returnParameters":{"id":25538,"nodeType":"ParameterList","parameters":[],"src":"47279:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25574,"nodeType":"FunctionDefinition","src":"47395:187:15","nodes":[],"body":{"id":25573,"nodeType":"Block","src":"47473:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c737472696e6729","id":25565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47523:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94","typeString":"literal_string \"log(bool,uint256,address,string)\""},"value":"log(bool,uint256,address,string)"},{"id":25566,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25553,"src":"47559:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25567,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25555,"src":"47563:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25568,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25557,"src":"47567:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25569,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25559,"src":"47571:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94","typeString":"literal_string \"log(bool,uint256,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25563,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47499:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47499:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47499:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25562,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"47483:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47483:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25572,"nodeType":"ExpressionStatement","src":"47483:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47404:3:15","parameters":{"id":25560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25553,"mutability":"mutable","name":"p0","nameLocation":"47413:2:15","nodeType":"VariableDeclaration","scope":25574,"src":"47408:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25552,"name":"bool","nodeType":"ElementaryTypeName","src":"47408:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25555,"mutability":"mutable","name":"p1","nameLocation":"47425:2:15","nodeType":"VariableDeclaration","scope":25574,"src":"47417:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25554,"name":"uint256","nodeType":"ElementaryTypeName","src":"47417:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25557,"mutability":"mutable","name":"p2","nameLocation":"47437:2:15","nodeType":"VariableDeclaration","scope":25574,"src":"47429:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25556,"name":"address","nodeType":"ElementaryTypeName","src":"47429:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25559,"mutability":"mutable","name":"p3","nameLocation":"47455:2:15","nodeType":"VariableDeclaration","scope":25574,"src":"47441:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25558,"name":"string","nodeType":"ElementaryTypeName","src":"47441:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47407:51:15"},"returnParameters":{"id":25561,"nodeType":"ParameterList","parameters":[],"src":"47473:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25597,"nodeType":"FunctionDefinition","src":"47588:176:15","nodes":[],"body":{"id":25596,"nodeType":"Block","src":"47657:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c626f6f6c29","id":25588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47707:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8","typeString":"literal_string \"log(bool,uint256,address,bool)\""},"value":"log(bool,uint256,address,bool)"},{"id":25589,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25576,"src":"47741:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25590,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25578,"src":"47745:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25591,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25580,"src":"47749:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25592,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25582,"src":"47753:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8","typeString":"literal_string \"log(bool,uint256,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25586,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47683:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47683:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47683:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25585,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"47667:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47667:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25595,"nodeType":"ExpressionStatement","src":"47667:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47597:3:15","parameters":{"id":25583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25576,"mutability":"mutable","name":"p0","nameLocation":"47606:2:15","nodeType":"VariableDeclaration","scope":25597,"src":"47601:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25575,"name":"bool","nodeType":"ElementaryTypeName","src":"47601:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25578,"mutability":"mutable","name":"p1","nameLocation":"47618:2:15","nodeType":"VariableDeclaration","scope":25597,"src":"47610:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25577,"name":"uint256","nodeType":"ElementaryTypeName","src":"47610:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25580,"mutability":"mutable","name":"p2","nameLocation":"47630:2:15","nodeType":"VariableDeclaration","scope":25597,"src":"47622:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25579,"name":"address","nodeType":"ElementaryTypeName","src":"47622:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25582,"mutability":"mutable","name":"p3","nameLocation":"47639:2:15","nodeType":"VariableDeclaration","scope":25597,"src":"47634:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25581,"name":"bool","nodeType":"ElementaryTypeName","src":"47634:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"47600:42:15"},"returnParameters":{"id":25584,"nodeType":"ParameterList","parameters":[],"src":"47657:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25620,"nodeType":"FunctionDefinition","src":"47770:182:15","nodes":[],"body":{"id":25619,"nodeType":"Block","src":"47842:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c6164647265737329","id":25611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47892:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd","typeString":"literal_string \"log(bool,uint256,address,address)\""},"value":"log(bool,uint256,address,address)"},{"id":25612,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25599,"src":"47929:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25613,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25601,"src":"47933:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25614,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25603,"src":"47937:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25615,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25605,"src":"47941:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd","typeString":"literal_string \"log(bool,uint256,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25609,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47868:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47868:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47868:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25608,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"47852:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"47852:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25618,"nodeType":"ExpressionStatement","src":"47852:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47779:3:15","parameters":{"id":25606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25599,"mutability":"mutable","name":"p0","nameLocation":"47788:2:15","nodeType":"VariableDeclaration","scope":25620,"src":"47783:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25598,"name":"bool","nodeType":"ElementaryTypeName","src":"47783:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25601,"mutability":"mutable","name":"p1","nameLocation":"47800:2:15","nodeType":"VariableDeclaration","scope":25620,"src":"47792:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25600,"name":"uint256","nodeType":"ElementaryTypeName","src":"47792:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25603,"mutability":"mutable","name":"p2","nameLocation":"47812:2:15","nodeType":"VariableDeclaration","scope":25620,"src":"47804:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25602,"name":"address","nodeType":"ElementaryTypeName","src":"47804:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25605,"mutability":"mutable","name":"p3","nameLocation":"47824:2:15","nodeType":"VariableDeclaration","scope":25620,"src":"47816:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25604,"name":"address","nodeType":"ElementaryTypeName","src":"47816:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47782:45:15"},"returnParameters":{"id":25607,"nodeType":"ParameterList","parameters":[],"src":"47842:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25643,"nodeType":"FunctionDefinition","src":"47958:187:15","nodes":[],"body":{"id":25642,"nodeType":"Block","src":"48036:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c75696e7432353629","id":25634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48086:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0","typeString":"literal_string \"log(bool,string,uint256,uint256)\""},"value":"log(bool,string,uint256,uint256)"},{"id":25635,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25622,"src":"48122:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25636,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25624,"src":"48126:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25637,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25626,"src":"48130:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25638,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25628,"src":"48134:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0","typeString":"literal_string \"log(bool,string,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25632,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48062:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48062:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48062:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25631,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"48046:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48046:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25641,"nodeType":"ExpressionStatement","src":"48046:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47967:3:15","parameters":{"id":25629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25622,"mutability":"mutable","name":"p0","nameLocation":"47976:2:15","nodeType":"VariableDeclaration","scope":25643,"src":"47971:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25621,"name":"bool","nodeType":"ElementaryTypeName","src":"47971:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25624,"mutability":"mutable","name":"p1","nameLocation":"47994:2:15","nodeType":"VariableDeclaration","scope":25643,"src":"47980:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25623,"name":"string","nodeType":"ElementaryTypeName","src":"47980:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25626,"mutability":"mutable","name":"p2","nameLocation":"48006:2:15","nodeType":"VariableDeclaration","scope":25643,"src":"47998:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25625,"name":"uint256","nodeType":"ElementaryTypeName","src":"47998:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25628,"mutability":"mutable","name":"p3","nameLocation":"48018:2:15","nodeType":"VariableDeclaration","scope":25643,"src":"48010:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25627,"name":"uint256","nodeType":"ElementaryTypeName","src":"48010:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47970:51:15"},"returnParameters":{"id":25630,"nodeType":"ParameterList","parameters":[],"src":"48036:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25666,"nodeType":"FunctionDefinition","src":"48151:192:15","nodes":[],"body":{"id":25665,"nodeType":"Block","src":"48235:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c737472696e6729","id":25657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48285:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d","typeString":"literal_string \"log(bool,string,uint256,string)\""},"value":"log(bool,string,uint256,string)"},{"id":25658,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25645,"src":"48320:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25659,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25647,"src":"48324:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25660,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25649,"src":"48328:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25661,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25651,"src":"48332:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d","typeString":"literal_string \"log(bool,string,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25655,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48261:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25656,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48261:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48261:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25654,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"48245:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48245:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25664,"nodeType":"ExpressionStatement","src":"48245:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48160:3:15","parameters":{"id":25652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25645,"mutability":"mutable","name":"p0","nameLocation":"48169:2:15","nodeType":"VariableDeclaration","scope":25666,"src":"48164:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25644,"name":"bool","nodeType":"ElementaryTypeName","src":"48164:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25647,"mutability":"mutable","name":"p1","nameLocation":"48187:2:15","nodeType":"VariableDeclaration","scope":25666,"src":"48173:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25646,"name":"string","nodeType":"ElementaryTypeName","src":"48173:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25649,"mutability":"mutable","name":"p2","nameLocation":"48199:2:15","nodeType":"VariableDeclaration","scope":25666,"src":"48191:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25648,"name":"uint256","nodeType":"ElementaryTypeName","src":"48191:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25651,"mutability":"mutable","name":"p3","nameLocation":"48217:2:15","nodeType":"VariableDeclaration","scope":25666,"src":"48203:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25650,"name":"string","nodeType":"ElementaryTypeName","src":"48203:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48163:57:15"},"returnParameters":{"id":25653,"nodeType":"ParameterList","parameters":[],"src":"48235:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25689,"nodeType":"FunctionDefinition","src":"48349:181:15","nodes":[],"body":{"id":25688,"nodeType":"Block","src":"48424:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c626f6f6c29","id":25680,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48474:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411","typeString":"literal_string \"log(bool,string,uint256,bool)\""},"value":"log(bool,string,uint256,bool)"},{"id":25681,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25668,"src":"48507:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25682,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25670,"src":"48511:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25683,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25672,"src":"48515:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25684,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25674,"src":"48519:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411","typeString":"literal_string \"log(bool,string,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25678,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48450:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48450:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48450:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25677,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"48434:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48434:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25687,"nodeType":"ExpressionStatement","src":"48434:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48358:3:15","parameters":{"id":25675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25668,"mutability":"mutable","name":"p0","nameLocation":"48367:2:15","nodeType":"VariableDeclaration","scope":25689,"src":"48362:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25667,"name":"bool","nodeType":"ElementaryTypeName","src":"48362:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25670,"mutability":"mutable","name":"p1","nameLocation":"48385:2:15","nodeType":"VariableDeclaration","scope":25689,"src":"48371:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25669,"name":"string","nodeType":"ElementaryTypeName","src":"48371:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25672,"mutability":"mutable","name":"p2","nameLocation":"48397:2:15","nodeType":"VariableDeclaration","scope":25689,"src":"48389:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25671,"name":"uint256","nodeType":"ElementaryTypeName","src":"48389:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25674,"mutability":"mutable","name":"p3","nameLocation":"48406:2:15","nodeType":"VariableDeclaration","scope":25689,"src":"48401:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25673,"name":"bool","nodeType":"ElementaryTypeName","src":"48401:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48361:48:15"},"returnParameters":{"id":25676,"nodeType":"ParameterList","parameters":[],"src":"48424:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25712,"nodeType":"FunctionDefinition","src":"48536:187:15","nodes":[],"body":{"id":25711,"nodeType":"Block","src":"48614:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c6164647265737329","id":25703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48664:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056","typeString":"literal_string \"log(bool,string,uint256,address)\""},"value":"log(bool,string,uint256,address)"},{"id":25704,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25691,"src":"48700:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25705,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25693,"src":"48704:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25706,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25695,"src":"48708:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25707,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25697,"src":"48712:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056","typeString":"literal_string \"log(bool,string,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25701,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48640:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48640:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48640:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25700,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"48624:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48624:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25710,"nodeType":"ExpressionStatement","src":"48624:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48545:3:15","parameters":{"id":25698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25691,"mutability":"mutable","name":"p0","nameLocation":"48554:2:15","nodeType":"VariableDeclaration","scope":25712,"src":"48549:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25690,"name":"bool","nodeType":"ElementaryTypeName","src":"48549:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25693,"mutability":"mutable","name":"p1","nameLocation":"48572:2:15","nodeType":"VariableDeclaration","scope":25712,"src":"48558:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25692,"name":"string","nodeType":"ElementaryTypeName","src":"48558:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25695,"mutability":"mutable","name":"p2","nameLocation":"48584:2:15","nodeType":"VariableDeclaration","scope":25712,"src":"48576:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25694,"name":"uint256","nodeType":"ElementaryTypeName","src":"48576:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25697,"mutability":"mutable","name":"p3","nameLocation":"48596:2:15","nodeType":"VariableDeclaration","scope":25712,"src":"48588:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25696,"name":"address","nodeType":"ElementaryTypeName","src":"48588:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48548:51:15"},"returnParameters":{"id":25699,"nodeType":"ParameterList","parameters":[],"src":"48614:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25735,"nodeType":"FunctionDefinition","src":"48729:192:15","nodes":[],"body":{"id":25734,"nodeType":"Block","src":"48813:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c75696e7432353629","id":25726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48863:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2","typeString":"literal_string \"log(bool,string,string,uint256)\""},"value":"log(bool,string,string,uint256)"},{"id":25727,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25714,"src":"48898:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25728,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25716,"src":"48902:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25729,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25718,"src":"48906:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25730,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25720,"src":"48910:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2","typeString":"literal_string \"log(bool,string,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25724,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48839:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25725,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48839:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48839:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25723,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"48823:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"48823:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25733,"nodeType":"ExpressionStatement","src":"48823:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48738:3:15","parameters":{"id":25721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25714,"mutability":"mutable","name":"p0","nameLocation":"48747:2:15","nodeType":"VariableDeclaration","scope":25735,"src":"48742:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25713,"name":"bool","nodeType":"ElementaryTypeName","src":"48742:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25716,"mutability":"mutable","name":"p1","nameLocation":"48765:2:15","nodeType":"VariableDeclaration","scope":25735,"src":"48751:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25715,"name":"string","nodeType":"ElementaryTypeName","src":"48751:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25718,"mutability":"mutable","name":"p2","nameLocation":"48783:2:15","nodeType":"VariableDeclaration","scope":25735,"src":"48769:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25717,"name":"string","nodeType":"ElementaryTypeName","src":"48769:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25720,"mutability":"mutable","name":"p3","nameLocation":"48795:2:15","nodeType":"VariableDeclaration","scope":25735,"src":"48787:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25719,"name":"uint256","nodeType":"ElementaryTypeName","src":"48787:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48741:57:15"},"returnParameters":{"id":25722,"nodeType":"ParameterList","parameters":[],"src":"48813:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25758,"nodeType":"FunctionDefinition","src":"48927:197:15","nodes":[],"body":{"id":25757,"nodeType":"Block","src":"49017:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c737472696e6729","id":25749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49067:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},"value":"log(bool,string,string,string)"},{"id":25750,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25737,"src":"49101:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25751,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25739,"src":"49105:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25752,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25741,"src":"49109:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25753,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25743,"src":"49113:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"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":25747,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49043:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49043:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49043:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25746,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"49027:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49027:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25756,"nodeType":"ExpressionStatement","src":"49027:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48936:3:15","parameters":{"id":25744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25737,"mutability":"mutable","name":"p0","nameLocation":"48945:2:15","nodeType":"VariableDeclaration","scope":25758,"src":"48940:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25736,"name":"bool","nodeType":"ElementaryTypeName","src":"48940:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25739,"mutability":"mutable","name":"p1","nameLocation":"48963:2:15","nodeType":"VariableDeclaration","scope":25758,"src":"48949:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25738,"name":"string","nodeType":"ElementaryTypeName","src":"48949:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25741,"mutability":"mutable","name":"p2","nameLocation":"48981:2:15","nodeType":"VariableDeclaration","scope":25758,"src":"48967:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25740,"name":"string","nodeType":"ElementaryTypeName","src":"48967:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25743,"mutability":"mutable","name":"p3","nameLocation":"48999:2:15","nodeType":"VariableDeclaration","scope":25758,"src":"48985:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25742,"name":"string","nodeType":"ElementaryTypeName","src":"48985:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48939:63:15"},"returnParameters":{"id":25745,"nodeType":"ParameterList","parameters":[],"src":"49017:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25781,"nodeType":"FunctionDefinition","src":"49130:186:15","nodes":[],"body":{"id":25780,"nodeType":"Block","src":"49211:105:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c626f6f6c29","id":25772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49261:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},"value":"log(bool,string,string,bool)"},{"id":25773,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25760,"src":"49293:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25774,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25762,"src":"49297:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25775,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25764,"src":"49301:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25776,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25766,"src":"49305:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25770,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49237:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49237:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49237:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25769,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"49221:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49221:88:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25779,"nodeType":"ExpressionStatement","src":"49221:88:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49139:3:15","parameters":{"id":25767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25760,"mutability":"mutable","name":"p0","nameLocation":"49148:2:15","nodeType":"VariableDeclaration","scope":25781,"src":"49143:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25759,"name":"bool","nodeType":"ElementaryTypeName","src":"49143:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25762,"mutability":"mutable","name":"p1","nameLocation":"49166:2:15","nodeType":"VariableDeclaration","scope":25781,"src":"49152:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25761,"name":"string","nodeType":"ElementaryTypeName","src":"49152:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25764,"mutability":"mutable","name":"p2","nameLocation":"49184:2:15","nodeType":"VariableDeclaration","scope":25781,"src":"49170:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25763,"name":"string","nodeType":"ElementaryTypeName","src":"49170:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25766,"mutability":"mutable","name":"p3","nameLocation":"49193:2:15","nodeType":"VariableDeclaration","scope":25781,"src":"49188:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25765,"name":"bool","nodeType":"ElementaryTypeName","src":"49188:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49142:54:15"},"returnParameters":{"id":25768,"nodeType":"ParameterList","parameters":[],"src":"49211:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25804,"nodeType":"FunctionDefinition","src":"49322:192:15","nodes":[],"body":{"id":25803,"nodeType":"Block","src":"49406:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c6164647265737329","id":25795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49456:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},"value":"log(bool,string,string,address)"},{"id":25796,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25783,"src":"49491:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25797,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25785,"src":"49495:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25798,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25787,"src":"49499:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25799,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25789,"src":"49503:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25793,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49432:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49432:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49432:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25792,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"49416:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49416:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25802,"nodeType":"ExpressionStatement","src":"49416:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49331:3:15","parameters":{"id":25790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25783,"mutability":"mutable","name":"p0","nameLocation":"49340:2:15","nodeType":"VariableDeclaration","scope":25804,"src":"49335:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25782,"name":"bool","nodeType":"ElementaryTypeName","src":"49335:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25785,"mutability":"mutable","name":"p1","nameLocation":"49358:2:15","nodeType":"VariableDeclaration","scope":25804,"src":"49344:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25784,"name":"string","nodeType":"ElementaryTypeName","src":"49344:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25787,"mutability":"mutable","name":"p2","nameLocation":"49376:2:15","nodeType":"VariableDeclaration","scope":25804,"src":"49362:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25786,"name":"string","nodeType":"ElementaryTypeName","src":"49362:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25789,"mutability":"mutable","name":"p3","nameLocation":"49388:2:15","nodeType":"VariableDeclaration","scope":25804,"src":"49380:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25788,"name":"address","nodeType":"ElementaryTypeName","src":"49380:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"49334:57:15"},"returnParameters":{"id":25791,"nodeType":"ParameterList","parameters":[],"src":"49406:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25827,"nodeType":"FunctionDefinition","src":"49520:181:15","nodes":[],"body":{"id":25826,"nodeType":"Block","src":"49595:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c75696e7432353629","id":25818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49645:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937","typeString":"literal_string \"log(bool,string,bool,uint256)\""},"value":"log(bool,string,bool,uint256)"},{"id":25819,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25806,"src":"49678:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25820,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25808,"src":"49682:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25821,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25810,"src":"49686:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25822,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25812,"src":"49690:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937","typeString":"literal_string \"log(bool,string,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25816,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49621:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49621:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49621:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25815,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"49605:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49605:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25825,"nodeType":"ExpressionStatement","src":"49605:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49529:3:15","parameters":{"id":25813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25806,"mutability":"mutable","name":"p0","nameLocation":"49538:2:15","nodeType":"VariableDeclaration","scope":25827,"src":"49533:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25805,"name":"bool","nodeType":"ElementaryTypeName","src":"49533:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25808,"mutability":"mutable","name":"p1","nameLocation":"49556:2:15","nodeType":"VariableDeclaration","scope":25827,"src":"49542:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25807,"name":"string","nodeType":"ElementaryTypeName","src":"49542:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25810,"mutability":"mutable","name":"p2","nameLocation":"49565:2:15","nodeType":"VariableDeclaration","scope":25827,"src":"49560:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25809,"name":"bool","nodeType":"ElementaryTypeName","src":"49560:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25812,"mutability":"mutable","name":"p3","nameLocation":"49577:2:15","nodeType":"VariableDeclaration","scope":25827,"src":"49569:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25811,"name":"uint256","nodeType":"ElementaryTypeName","src":"49569:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49532:48:15"},"returnParameters":{"id":25814,"nodeType":"ParameterList","parameters":[],"src":"49595:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25850,"nodeType":"FunctionDefinition","src":"49707:186:15","nodes":[],"body":{"id":25849,"nodeType":"Block","src":"49788:105:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c737472696e6729","id":25841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49838:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},"value":"log(bool,string,bool,string)"},{"id":25842,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25829,"src":"49870:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25843,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25831,"src":"49874:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25844,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25833,"src":"49878:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25845,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25835,"src":"49882:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25839,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49814:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49814:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49814:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25838,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"49798:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49798:88:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25848,"nodeType":"ExpressionStatement","src":"49798:88:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49716:3:15","parameters":{"id":25836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25829,"mutability":"mutable","name":"p0","nameLocation":"49725:2:15","nodeType":"VariableDeclaration","scope":25850,"src":"49720:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25828,"name":"bool","nodeType":"ElementaryTypeName","src":"49720:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25831,"mutability":"mutable","name":"p1","nameLocation":"49743:2:15","nodeType":"VariableDeclaration","scope":25850,"src":"49729:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25830,"name":"string","nodeType":"ElementaryTypeName","src":"49729:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25833,"mutability":"mutable","name":"p2","nameLocation":"49752:2:15","nodeType":"VariableDeclaration","scope":25850,"src":"49747:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25832,"name":"bool","nodeType":"ElementaryTypeName","src":"49747:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25835,"mutability":"mutable","name":"p3","nameLocation":"49770:2:15","nodeType":"VariableDeclaration","scope":25850,"src":"49756:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25834,"name":"string","nodeType":"ElementaryTypeName","src":"49756:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49719:54:15"},"returnParameters":{"id":25837,"nodeType":"ParameterList","parameters":[],"src":"49788:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25873,"nodeType":"FunctionDefinition","src":"49899:175:15","nodes":[],"body":{"id":25872,"nodeType":"Block","src":"49971:103:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c626f6f6c29","id":25864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50021:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},"value":"log(bool,string,bool,bool)"},{"id":25865,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25852,"src":"50051:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25866,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25854,"src":"50055:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25867,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25856,"src":"50059:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25868,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25858,"src":"50063:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25862,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49997:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25863,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49997:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49997:69:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25861,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"49981:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"49981:86:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25871,"nodeType":"ExpressionStatement","src":"49981:86:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49908:3:15","parameters":{"id":25859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25852,"mutability":"mutable","name":"p0","nameLocation":"49917:2:15","nodeType":"VariableDeclaration","scope":25873,"src":"49912:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25851,"name":"bool","nodeType":"ElementaryTypeName","src":"49912:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25854,"mutability":"mutable","name":"p1","nameLocation":"49935:2:15","nodeType":"VariableDeclaration","scope":25873,"src":"49921:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25853,"name":"string","nodeType":"ElementaryTypeName","src":"49921:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25856,"mutability":"mutable","name":"p2","nameLocation":"49944:2:15","nodeType":"VariableDeclaration","scope":25873,"src":"49939:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25855,"name":"bool","nodeType":"ElementaryTypeName","src":"49939:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25858,"mutability":"mutable","name":"p3","nameLocation":"49953:2:15","nodeType":"VariableDeclaration","scope":25873,"src":"49948:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25857,"name":"bool","nodeType":"ElementaryTypeName","src":"49948:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49911:45:15"},"returnParameters":{"id":25860,"nodeType":"ParameterList","parameters":[],"src":"49971:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25896,"nodeType":"FunctionDefinition","src":"50080:181:15","nodes":[],"body":{"id":25895,"nodeType":"Block","src":"50155:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c6164647265737329","id":25887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50205:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},"value":"log(bool,string,bool,address)"},{"id":25888,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25875,"src":"50238:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25889,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25877,"src":"50242:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25890,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25879,"src":"50246:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25891,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25881,"src":"50250:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25885,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50181:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25886,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50181:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50181:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25884,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"50165:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50165:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25894,"nodeType":"ExpressionStatement","src":"50165:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50089:3:15","parameters":{"id":25882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25875,"mutability":"mutable","name":"p0","nameLocation":"50098:2:15","nodeType":"VariableDeclaration","scope":25896,"src":"50093:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25874,"name":"bool","nodeType":"ElementaryTypeName","src":"50093:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25877,"mutability":"mutable","name":"p1","nameLocation":"50116:2:15","nodeType":"VariableDeclaration","scope":25896,"src":"50102:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25876,"name":"string","nodeType":"ElementaryTypeName","src":"50102:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25879,"mutability":"mutable","name":"p2","nameLocation":"50125:2:15","nodeType":"VariableDeclaration","scope":25896,"src":"50120:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25878,"name":"bool","nodeType":"ElementaryTypeName","src":"50120:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25881,"mutability":"mutable","name":"p3","nameLocation":"50137:2:15","nodeType":"VariableDeclaration","scope":25896,"src":"50129:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25880,"name":"address","nodeType":"ElementaryTypeName","src":"50129:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50092:48:15"},"returnParameters":{"id":25883,"nodeType":"ParameterList","parameters":[],"src":"50155:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25919,"nodeType":"FunctionDefinition","src":"50267:187:15","nodes":[],"body":{"id":25918,"nodeType":"Block","src":"50345:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c75696e7432353629","id":25910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50395:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218","typeString":"literal_string \"log(bool,string,address,uint256)\""},"value":"log(bool,string,address,uint256)"},{"id":25911,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25898,"src":"50431:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25912,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25900,"src":"50435:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25913,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25902,"src":"50439:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25914,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25904,"src":"50443:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218","typeString":"literal_string \"log(bool,string,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":25908,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50371:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50371:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50371:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25907,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"50355:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50355:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25917,"nodeType":"ExpressionStatement","src":"50355:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50276:3:15","parameters":{"id":25905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25898,"mutability":"mutable","name":"p0","nameLocation":"50285:2:15","nodeType":"VariableDeclaration","scope":25919,"src":"50280:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25897,"name":"bool","nodeType":"ElementaryTypeName","src":"50280:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25900,"mutability":"mutable","name":"p1","nameLocation":"50303:2:15","nodeType":"VariableDeclaration","scope":25919,"src":"50289:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25899,"name":"string","nodeType":"ElementaryTypeName","src":"50289:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25902,"mutability":"mutable","name":"p2","nameLocation":"50315:2:15","nodeType":"VariableDeclaration","scope":25919,"src":"50307:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25901,"name":"address","nodeType":"ElementaryTypeName","src":"50307:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25904,"mutability":"mutable","name":"p3","nameLocation":"50327:2:15","nodeType":"VariableDeclaration","scope":25919,"src":"50319:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25903,"name":"uint256","nodeType":"ElementaryTypeName","src":"50319:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50279:51:15"},"returnParameters":{"id":25906,"nodeType":"ParameterList","parameters":[],"src":"50345:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25942,"nodeType":"FunctionDefinition","src":"50460:192:15","nodes":[],"body":{"id":25941,"nodeType":"Block","src":"50544:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c737472696e6729","id":25933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50594:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},"value":"log(bool,string,address,string)"},{"id":25934,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25921,"src":"50629:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25935,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25923,"src":"50633:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25936,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25925,"src":"50637:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25937,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25927,"src":"50641:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":25931,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50570:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25932,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50570:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50570:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25930,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"50554:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50554:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25940,"nodeType":"ExpressionStatement","src":"50554:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50469:3:15","parameters":{"id":25928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25921,"mutability":"mutable","name":"p0","nameLocation":"50478:2:15","nodeType":"VariableDeclaration","scope":25942,"src":"50473:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25920,"name":"bool","nodeType":"ElementaryTypeName","src":"50473:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25923,"mutability":"mutable","name":"p1","nameLocation":"50496:2:15","nodeType":"VariableDeclaration","scope":25942,"src":"50482:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25922,"name":"string","nodeType":"ElementaryTypeName","src":"50482:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25925,"mutability":"mutable","name":"p2","nameLocation":"50508:2:15","nodeType":"VariableDeclaration","scope":25942,"src":"50500:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25924,"name":"address","nodeType":"ElementaryTypeName","src":"50500:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25927,"mutability":"mutable","name":"p3","nameLocation":"50526:2:15","nodeType":"VariableDeclaration","scope":25942,"src":"50512:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25926,"name":"string","nodeType":"ElementaryTypeName","src":"50512:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50472:57:15"},"returnParameters":{"id":25929,"nodeType":"ParameterList","parameters":[],"src":"50544:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25965,"nodeType":"FunctionDefinition","src":"50658:181:15","nodes":[],"body":{"id":25964,"nodeType":"Block","src":"50733:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c626f6f6c29","id":25956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50783:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},"value":"log(bool,string,address,bool)"},{"id":25957,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25944,"src":"50816:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25958,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25946,"src":"50820:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25959,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25948,"src":"50824:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25960,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25950,"src":"50828:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25954,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50759:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25955,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50759:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50759:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25953,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"50743:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50743:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25963,"nodeType":"ExpressionStatement","src":"50743:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50667:3:15","parameters":{"id":25951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25944,"mutability":"mutable","name":"p0","nameLocation":"50676:2:15","nodeType":"VariableDeclaration","scope":25965,"src":"50671:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25943,"name":"bool","nodeType":"ElementaryTypeName","src":"50671:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25946,"mutability":"mutable","name":"p1","nameLocation":"50694:2:15","nodeType":"VariableDeclaration","scope":25965,"src":"50680:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25945,"name":"string","nodeType":"ElementaryTypeName","src":"50680:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25948,"mutability":"mutable","name":"p2","nameLocation":"50706:2:15","nodeType":"VariableDeclaration","scope":25965,"src":"50698:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25947,"name":"address","nodeType":"ElementaryTypeName","src":"50698:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25950,"mutability":"mutable","name":"p3","nameLocation":"50715:2:15","nodeType":"VariableDeclaration","scope":25965,"src":"50710:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25949,"name":"bool","nodeType":"ElementaryTypeName","src":"50710:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"50670:48:15"},"returnParameters":{"id":25952,"nodeType":"ParameterList","parameters":[],"src":"50733:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":25988,"nodeType":"FunctionDefinition","src":"50845:187:15","nodes":[],"body":{"id":25987,"nodeType":"Block","src":"50923:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c6164647265737329","id":25979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50973:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},"value":"log(bool,string,address,address)"},{"id":25980,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25967,"src":"51009:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":25981,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25969,"src":"51013:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":25982,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25971,"src":"51017:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25983,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25973,"src":"51021:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25977,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50949:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25978,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50949:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":25984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50949:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25976,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"50933:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":25985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"50933:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25986,"nodeType":"ExpressionStatement","src":"50933:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50854:3:15","parameters":{"id":25974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25967,"mutability":"mutable","name":"p0","nameLocation":"50863:2:15","nodeType":"VariableDeclaration","scope":25988,"src":"50858:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25966,"name":"bool","nodeType":"ElementaryTypeName","src":"50858:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25969,"mutability":"mutable","name":"p1","nameLocation":"50881:2:15","nodeType":"VariableDeclaration","scope":25988,"src":"50867:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":25968,"name":"string","nodeType":"ElementaryTypeName","src":"50867:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25971,"mutability":"mutable","name":"p2","nameLocation":"50893:2:15","nodeType":"VariableDeclaration","scope":25988,"src":"50885:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25970,"name":"address","nodeType":"ElementaryTypeName","src":"50885:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25973,"mutability":"mutable","name":"p3","nameLocation":"50905:2:15","nodeType":"VariableDeclaration","scope":25988,"src":"50897:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25972,"name":"address","nodeType":"ElementaryTypeName","src":"50897:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50857:51:15"},"returnParameters":{"id":25975,"nodeType":"ParameterList","parameters":[],"src":"50923:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26011,"nodeType":"FunctionDefinition","src":"51038:176:15","nodes":[],"body":{"id":26010,"nodeType":"Block","src":"51107:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c75696e7432353629","id":26002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51157:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34","typeString":"literal_string \"log(bool,bool,uint256,uint256)\""},"value":"log(bool,bool,uint256,uint256)"},{"id":26003,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25990,"src":"51191:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26004,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25992,"src":"51195:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26005,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25994,"src":"51199:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26006,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25996,"src":"51203:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34","typeString":"literal_string \"log(bool,bool,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26000,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51133:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26001,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51133:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51133:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25999,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"51117:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51117:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26009,"nodeType":"ExpressionStatement","src":"51117:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51047:3:15","parameters":{"id":25997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25990,"mutability":"mutable","name":"p0","nameLocation":"51056:2:15","nodeType":"VariableDeclaration","scope":26011,"src":"51051:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25989,"name":"bool","nodeType":"ElementaryTypeName","src":"51051:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25992,"mutability":"mutable","name":"p1","nameLocation":"51065:2:15","nodeType":"VariableDeclaration","scope":26011,"src":"51060:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":25991,"name":"bool","nodeType":"ElementaryTypeName","src":"51060:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":25994,"mutability":"mutable","name":"p2","nameLocation":"51077:2:15","nodeType":"VariableDeclaration","scope":26011,"src":"51069:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25993,"name":"uint256","nodeType":"ElementaryTypeName","src":"51069:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":25996,"mutability":"mutable","name":"p3","nameLocation":"51089:2:15","nodeType":"VariableDeclaration","scope":26011,"src":"51081:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25995,"name":"uint256","nodeType":"ElementaryTypeName","src":"51081:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51050:42:15"},"returnParameters":{"id":25998,"nodeType":"ParameterList","parameters":[],"src":"51107:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26034,"nodeType":"FunctionDefinition","src":"51220:181:15","nodes":[],"body":{"id":26033,"nodeType":"Block","src":"51295:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c737472696e6729","id":26025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51345:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf","typeString":"literal_string \"log(bool,bool,uint256,string)\""},"value":"log(bool,bool,uint256,string)"},{"id":26026,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26013,"src":"51378:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26027,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26015,"src":"51382:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26028,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26017,"src":"51386:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26029,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26019,"src":"51390:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf","typeString":"literal_string \"log(bool,bool,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26023,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51321:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51321:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51321:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26022,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"51305:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51305:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26032,"nodeType":"ExpressionStatement","src":"51305:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51229:3:15","parameters":{"id":26020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26013,"mutability":"mutable","name":"p0","nameLocation":"51238:2:15","nodeType":"VariableDeclaration","scope":26034,"src":"51233:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26012,"name":"bool","nodeType":"ElementaryTypeName","src":"51233:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26015,"mutability":"mutable","name":"p1","nameLocation":"51247:2:15","nodeType":"VariableDeclaration","scope":26034,"src":"51242:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26014,"name":"bool","nodeType":"ElementaryTypeName","src":"51242:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26017,"mutability":"mutable","name":"p2","nameLocation":"51259:2:15","nodeType":"VariableDeclaration","scope":26034,"src":"51251:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26016,"name":"uint256","nodeType":"ElementaryTypeName","src":"51251:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26019,"mutability":"mutable","name":"p3","nameLocation":"51277:2:15","nodeType":"VariableDeclaration","scope":26034,"src":"51263:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26018,"name":"string","nodeType":"ElementaryTypeName","src":"51263:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51232:48:15"},"returnParameters":{"id":26021,"nodeType":"ParameterList","parameters":[],"src":"51295:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26057,"nodeType":"FunctionDefinition","src":"51407:170:15","nodes":[],"body":{"id":26056,"nodeType":"Block","src":"51473:104:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c626f6f6c29","id":26048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51523:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842","typeString":"literal_string \"log(bool,bool,uint256,bool)\""},"value":"log(bool,bool,uint256,bool)"},{"id":26049,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26036,"src":"51554:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26050,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26038,"src":"51558:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26051,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26040,"src":"51562:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26052,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26042,"src":"51566:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842","typeString":"literal_string \"log(bool,bool,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26046,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51499:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51499:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51499:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26045,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"51483:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51483:87:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26055,"nodeType":"ExpressionStatement","src":"51483:87:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51416:3:15","parameters":{"id":26043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26036,"mutability":"mutable","name":"p0","nameLocation":"51425:2:15","nodeType":"VariableDeclaration","scope":26057,"src":"51420:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26035,"name":"bool","nodeType":"ElementaryTypeName","src":"51420:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26038,"mutability":"mutable","name":"p1","nameLocation":"51434:2:15","nodeType":"VariableDeclaration","scope":26057,"src":"51429:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26037,"name":"bool","nodeType":"ElementaryTypeName","src":"51429:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26040,"mutability":"mutable","name":"p2","nameLocation":"51446:2:15","nodeType":"VariableDeclaration","scope":26057,"src":"51438:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26039,"name":"uint256","nodeType":"ElementaryTypeName","src":"51438:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26042,"mutability":"mutable","name":"p3","nameLocation":"51455:2:15","nodeType":"VariableDeclaration","scope":26057,"src":"51450:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26041,"name":"bool","nodeType":"ElementaryTypeName","src":"51450:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"51419:39:15"},"returnParameters":{"id":26044,"nodeType":"ParameterList","parameters":[],"src":"51473:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26080,"nodeType":"FunctionDefinition","src":"51583:176:15","nodes":[],"body":{"id":26079,"nodeType":"Block","src":"51652:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c6164647265737329","id":26071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51702:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9","typeString":"literal_string \"log(bool,bool,uint256,address)\""},"value":"log(bool,bool,uint256,address)"},{"id":26072,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26059,"src":"51736:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26073,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26061,"src":"51740:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26074,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26063,"src":"51744:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26075,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26065,"src":"51748:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9","typeString":"literal_string \"log(bool,bool,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26069,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51678:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26070,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51678:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51678:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26068,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"51662:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51662:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26078,"nodeType":"ExpressionStatement","src":"51662:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51592:3:15","parameters":{"id":26066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26059,"mutability":"mutable","name":"p0","nameLocation":"51601:2:15","nodeType":"VariableDeclaration","scope":26080,"src":"51596:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26058,"name":"bool","nodeType":"ElementaryTypeName","src":"51596:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26061,"mutability":"mutable","name":"p1","nameLocation":"51610:2:15","nodeType":"VariableDeclaration","scope":26080,"src":"51605:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26060,"name":"bool","nodeType":"ElementaryTypeName","src":"51605:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26063,"mutability":"mutable","name":"p2","nameLocation":"51622:2:15","nodeType":"VariableDeclaration","scope":26080,"src":"51614:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26062,"name":"uint256","nodeType":"ElementaryTypeName","src":"51614:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26065,"mutability":"mutable","name":"p3","nameLocation":"51634:2:15","nodeType":"VariableDeclaration","scope":26080,"src":"51626:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26064,"name":"address","nodeType":"ElementaryTypeName","src":"51626:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"51595:42:15"},"returnParameters":{"id":26067,"nodeType":"ParameterList","parameters":[],"src":"51652:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26103,"nodeType":"FunctionDefinition","src":"51765:181:15","nodes":[],"body":{"id":26102,"nodeType":"Block","src":"51840:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c75696e7432353629","id":26094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51890:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246","typeString":"literal_string \"log(bool,bool,string,uint256)\""},"value":"log(bool,bool,string,uint256)"},{"id":26095,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26082,"src":"51923:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26096,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26084,"src":"51927:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26097,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26086,"src":"51931:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26098,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26088,"src":"51935:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246","typeString":"literal_string \"log(bool,bool,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26092,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51866:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51866:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51866:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26091,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"51850:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"51850:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26101,"nodeType":"ExpressionStatement","src":"51850:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51774:3:15","parameters":{"id":26089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26082,"mutability":"mutable","name":"p0","nameLocation":"51783:2:15","nodeType":"VariableDeclaration","scope":26103,"src":"51778:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26081,"name":"bool","nodeType":"ElementaryTypeName","src":"51778:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26084,"mutability":"mutable","name":"p1","nameLocation":"51792:2:15","nodeType":"VariableDeclaration","scope":26103,"src":"51787:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26083,"name":"bool","nodeType":"ElementaryTypeName","src":"51787:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26086,"mutability":"mutable","name":"p2","nameLocation":"51810:2:15","nodeType":"VariableDeclaration","scope":26103,"src":"51796:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26085,"name":"string","nodeType":"ElementaryTypeName","src":"51796:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26088,"mutability":"mutable","name":"p3","nameLocation":"51822:2:15","nodeType":"VariableDeclaration","scope":26103,"src":"51814:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26087,"name":"uint256","nodeType":"ElementaryTypeName","src":"51814:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51777:48:15"},"returnParameters":{"id":26090,"nodeType":"ParameterList","parameters":[],"src":"51840:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26126,"nodeType":"FunctionDefinition","src":"51952:186:15","nodes":[],"body":{"id":26125,"nodeType":"Block","src":"52033:105:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c737472696e6729","id":26117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52083:30:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},"value":"log(bool,bool,string,string)"},{"id":26118,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26105,"src":"52115:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26119,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26107,"src":"52119:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26120,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26109,"src":"52123:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26121,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26111,"src":"52127:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26115,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52059:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52059:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52059:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26114,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"52043:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52043:88:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26124,"nodeType":"ExpressionStatement","src":"52043:88:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51961:3:15","parameters":{"id":26112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26105,"mutability":"mutable","name":"p0","nameLocation":"51970:2:15","nodeType":"VariableDeclaration","scope":26126,"src":"51965:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26104,"name":"bool","nodeType":"ElementaryTypeName","src":"51965:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26107,"mutability":"mutable","name":"p1","nameLocation":"51979:2:15","nodeType":"VariableDeclaration","scope":26126,"src":"51974:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26106,"name":"bool","nodeType":"ElementaryTypeName","src":"51974:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26109,"mutability":"mutable","name":"p2","nameLocation":"51997:2:15","nodeType":"VariableDeclaration","scope":26126,"src":"51983:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26108,"name":"string","nodeType":"ElementaryTypeName","src":"51983:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26111,"mutability":"mutable","name":"p3","nameLocation":"52015:2:15","nodeType":"VariableDeclaration","scope":26126,"src":"52001:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26110,"name":"string","nodeType":"ElementaryTypeName","src":"52001:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51964:54:15"},"returnParameters":{"id":26113,"nodeType":"ParameterList","parameters":[],"src":"52033:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26149,"nodeType":"FunctionDefinition","src":"52144:175:15","nodes":[],"body":{"id":26148,"nodeType":"Block","src":"52216:103:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c626f6f6c29","id":26140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52266:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},"value":"log(bool,bool,string,bool)"},{"id":26141,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26128,"src":"52296:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26142,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26130,"src":"52300:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26143,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26132,"src":"52304:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26144,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26134,"src":"52308:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26138,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52242:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52242:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52242:69:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26137,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"52226:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52226:86:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26147,"nodeType":"ExpressionStatement","src":"52226:86:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52153:3:15","parameters":{"id":26135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26128,"mutability":"mutable","name":"p0","nameLocation":"52162:2:15","nodeType":"VariableDeclaration","scope":26149,"src":"52157:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26127,"name":"bool","nodeType":"ElementaryTypeName","src":"52157:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26130,"mutability":"mutable","name":"p1","nameLocation":"52171:2:15","nodeType":"VariableDeclaration","scope":26149,"src":"52166:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26129,"name":"bool","nodeType":"ElementaryTypeName","src":"52166:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26132,"mutability":"mutable","name":"p2","nameLocation":"52189:2:15","nodeType":"VariableDeclaration","scope":26149,"src":"52175:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26131,"name":"string","nodeType":"ElementaryTypeName","src":"52175:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26134,"mutability":"mutable","name":"p3","nameLocation":"52198:2:15","nodeType":"VariableDeclaration","scope":26149,"src":"52193:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26133,"name":"bool","nodeType":"ElementaryTypeName","src":"52193:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52156:45:15"},"returnParameters":{"id":26136,"nodeType":"ParameterList","parameters":[],"src":"52216:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26172,"nodeType":"FunctionDefinition","src":"52325:181:15","nodes":[],"body":{"id":26171,"nodeType":"Block","src":"52400:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c6164647265737329","id":26163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52450:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},"value":"log(bool,bool,string,address)"},{"id":26164,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26151,"src":"52483:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26165,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26153,"src":"52487:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26166,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26155,"src":"52491:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26167,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26157,"src":"52495:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26161,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52426:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52426:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52426:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26160,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"52410:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52410:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26170,"nodeType":"ExpressionStatement","src":"52410:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52334:3:15","parameters":{"id":26158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26151,"mutability":"mutable","name":"p0","nameLocation":"52343:2:15","nodeType":"VariableDeclaration","scope":26172,"src":"52338:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26150,"name":"bool","nodeType":"ElementaryTypeName","src":"52338:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26153,"mutability":"mutable","name":"p1","nameLocation":"52352:2:15","nodeType":"VariableDeclaration","scope":26172,"src":"52347:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26152,"name":"bool","nodeType":"ElementaryTypeName","src":"52347:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26155,"mutability":"mutable","name":"p2","nameLocation":"52370:2:15","nodeType":"VariableDeclaration","scope":26172,"src":"52356:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26154,"name":"string","nodeType":"ElementaryTypeName","src":"52356:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26157,"mutability":"mutable","name":"p3","nameLocation":"52382:2:15","nodeType":"VariableDeclaration","scope":26172,"src":"52374:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26156,"name":"address","nodeType":"ElementaryTypeName","src":"52374:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52337:48:15"},"returnParameters":{"id":26159,"nodeType":"ParameterList","parameters":[],"src":"52400:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26195,"nodeType":"FunctionDefinition","src":"52512:170:15","nodes":[],"body":{"id":26194,"nodeType":"Block","src":"52578:104:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c75696e7432353629","id":26186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52628:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c","typeString":"literal_string \"log(bool,bool,bool,uint256)\""},"value":"log(bool,bool,bool,uint256)"},{"id":26187,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26174,"src":"52659:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26188,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26176,"src":"52663:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26189,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26178,"src":"52667:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26190,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26180,"src":"52671:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c","typeString":"literal_string \"log(bool,bool,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26184,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52604:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52604:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52604:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26183,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"52588:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52588:87:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26193,"nodeType":"ExpressionStatement","src":"52588:87:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52521:3:15","parameters":{"id":26181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26174,"mutability":"mutable","name":"p0","nameLocation":"52530:2:15","nodeType":"VariableDeclaration","scope":26195,"src":"52525:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26173,"name":"bool","nodeType":"ElementaryTypeName","src":"52525:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26176,"mutability":"mutable","name":"p1","nameLocation":"52539:2:15","nodeType":"VariableDeclaration","scope":26195,"src":"52534:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26175,"name":"bool","nodeType":"ElementaryTypeName","src":"52534:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26178,"mutability":"mutable","name":"p2","nameLocation":"52548:2:15","nodeType":"VariableDeclaration","scope":26195,"src":"52543:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26177,"name":"bool","nodeType":"ElementaryTypeName","src":"52543:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26180,"mutability":"mutable","name":"p3","nameLocation":"52560:2:15","nodeType":"VariableDeclaration","scope":26195,"src":"52552:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26179,"name":"uint256","nodeType":"ElementaryTypeName","src":"52552:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"52524:39:15"},"returnParameters":{"id":26182,"nodeType":"ParameterList","parameters":[],"src":"52578:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26218,"nodeType":"FunctionDefinition","src":"52688:175:15","nodes":[],"body":{"id":26217,"nodeType":"Block","src":"52760:103:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c737472696e6729","id":26209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52810:28:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},"value":"log(bool,bool,bool,string)"},{"id":26210,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26197,"src":"52840:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26211,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26199,"src":"52844:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26212,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26201,"src":"52848:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26213,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26203,"src":"52852:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26207,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52786:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52786:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52786:69:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26206,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"52770:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52770:86:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26216,"nodeType":"ExpressionStatement","src":"52770:86:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52697:3:15","parameters":{"id":26204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26197,"mutability":"mutable","name":"p0","nameLocation":"52706:2:15","nodeType":"VariableDeclaration","scope":26218,"src":"52701:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26196,"name":"bool","nodeType":"ElementaryTypeName","src":"52701:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26199,"mutability":"mutable","name":"p1","nameLocation":"52715:2:15","nodeType":"VariableDeclaration","scope":26218,"src":"52710:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26198,"name":"bool","nodeType":"ElementaryTypeName","src":"52710:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26201,"mutability":"mutable","name":"p2","nameLocation":"52724:2:15","nodeType":"VariableDeclaration","scope":26218,"src":"52719:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26200,"name":"bool","nodeType":"ElementaryTypeName","src":"52719:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26203,"mutability":"mutable","name":"p3","nameLocation":"52742:2:15","nodeType":"VariableDeclaration","scope":26218,"src":"52728:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26202,"name":"string","nodeType":"ElementaryTypeName","src":"52728:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52700:45:15"},"returnParameters":{"id":26205,"nodeType":"ParameterList","parameters":[],"src":"52760:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26241,"nodeType":"FunctionDefinition","src":"52869:164:15","nodes":[],"body":{"id":26240,"nodeType":"Block","src":"52932:101:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c626f6f6c29","id":26232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52982:26:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},"value":"log(bool,bool,bool,bool)"},{"id":26233,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26220,"src":"53010:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26234,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26222,"src":"53014:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26235,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26224,"src":"53018:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26236,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26226,"src":"53022:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26230,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52958:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52958:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52958:67:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26229,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"52942:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"52942:84:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26239,"nodeType":"ExpressionStatement","src":"52942:84:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52878:3:15","parameters":{"id":26227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26220,"mutability":"mutable","name":"p0","nameLocation":"52887:2:15","nodeType":"VariableDeclaration","scope":26241,"src":"52882:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26219,"name":"bool","nodeType":"ElementaryTypeName","src":"52882:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26222,"mutability":"mutable","name":"p1","nameLocation":"52896:2:15","nodeType":"VariableDeclaration","scope":26241,"src":"52891:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26221,"name":"bool","nodeType":"ElementaryTypeName","src":"52891:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26224,"mutability":"mutable","name":"p2","nameLocation":"52905:2:15","nodeType":"VariableDeclaration","scope":26241,"src":"52900:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26223,"name":"bool","nodeType":"ElementaryTypeName","src":"52900:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26226,"mutability":"mutable","name":"p3","nameLocation":"52914:2:15","nodeType":"VariableDeclaration","scope":26241,"src":"52909:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26225,"name":"bool","nodeType":"ElementaryTypeName","src":"52909:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52881:36:15"},"returnParameters":{"id":26228,"nodeType":"ParameterList","parameters":[],"src":"52932:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26264,"nodeType":"FunctionDefinition","src":"53039:170:15","nodes":[],"body":{"id":26263,"nodeType":"Block","src":"53105:104:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c6164647265737329","id":26255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53155:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},"value":"log(bool,bool,bool,address)"},{"id":26256,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26243,"src":"53186:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26257,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26245,"src":"53190:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26258,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26247,"src":"53194:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26259,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26249,"src":"53198:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26253,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53131:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26254,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53131:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53131:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26252,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"53115:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53115:87:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26262,"nodeType":"ExpressionStatement","src":"53115:87:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53048:3:15","parameters":{"id":26250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26243,"mutability":"mutable","name":"p0","nameLocation":"53057:2:15","nodeType":"VariableDeclaration","scope":26264,"src":"53052:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26242,"name":"bool","nodeType":"ElementaryTypeName","src":"53052:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26245,"mutability":"mutable","name":"p1","nameLocation":"53066:2:15","nodeType":"VariableDeclaration","scope":26264,"src":"53061:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26244,"name":"bool","nodeType":"ElementaryTypeName","src":"53061:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26247,"mutability":"mutable","name":"p2","nameLocation":"53075:2:15","nodeType":"VariableDeclaration","scope":26264,"src":"53070:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26246,"name":"bool","nodeType":"ElementaryTypeName","src":"53070:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26249,"mutability":"mutable","name":"p3","nameLocation":"53087:2:15","nodeType":"VariableDeclaration","scope":26264,"src":"53079:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26248,"name":"address","nodeType":"ElementaryTypeName","src":"53079:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"53051:39:15"},"returnParameters":{"id":26251,"nodeType":"ParameterList","parameters":[],"src":"53105:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26287,"nodeType":"FunctionDefinition","src":"53215:176:15","nodes":[],"body":{"id":26286,"nodeType":"Block","src":"53284:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c75696e7432353629","id":26278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53334:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1","typeString":"literal_string \"log(bool,bool,address,uint256)\""},"value":"log(bool,bool,address,uint256)"},{"id":26279,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26266,"src":"53368:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26280,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26268,"src":"53372:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26281,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26270,"src":"53376:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26282,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26272,"src":"53380:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1","typeString":"literal_string \"log(bool,bool,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26276,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53310:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53310:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53310:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26275,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"53294:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53294:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26285,"nodeType":"ExpressionStatement","src":"53294:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53224:3:15","parameters":{"id":26273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26266,"mutability":"mutable","name":"p0","nameLocation":"53233:2:15","nodeType":"VariableDeclaration","scope":26287,"src":"53228:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26265,"name":"bool","nodeType":"ElementaryTypeName","src":"53228:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26268,"mutability":"mutable","name":"p1","nameLocation":"53242:2:15","nodeType":"VariableDeclaration","scope":26287,"src":"53237:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26267,"name":"bool","nodeType":"ElementaryTypeName","src":"53237:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26270,"mutability":"mutable","name":"p2","nameLocation":"53254:2:15","nodeType":"VariableDeclaration","scope":26287,"src":"53246:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26269,"name":"address","nodeType":"ElementaryTypeName","src":"53246:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26272,"mutability":"mutable","name":"p3","nameLocation":"53266:2:15","nodeType":"VariableDeclaration","scope":26287,"src":"53258:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26271,"name":"uint256","nodeType":"ElementaryTypeName","src":"53258:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53227:42:15"},"returnParameters":{"id":26274,"nodeType":"ParameterList","parameters":[],"src":"53284:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26310,"nodeType":"FunctionDefinition","src":"53397:181:15","nodes":[],"body":{"id":26309,"nodeType":"Block","src":"53472:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c737472696e6729","id":26301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53522:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},"value":"log(bool,bool,address,string)"},{"id":26302,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26289,"src":"53555:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26303,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26291,"src":"53559:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26304,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26293,"src":"53563:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26305,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26295,"src":"53567:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26299,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53498:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53498:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53498:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26298,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"53482:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53482:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26308,"nodeType":"ExpressionStatement","src":"53482:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53406:3:15","parameters":{"id":26296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26289,"mutability":"mutable","name":"p0","nameLocation":"53415:2:15","nodeType":"VariableDeclaration","scope":26310,"src":"53410:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26288,"name":"bool","nodeType":"ElementaryTypeName","src":"53410:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26291,"mutability":"mutable","name":"p1","nameLocation":"53424:2:15","nodeType":"VariableDeclaration","scope":26310,"src":"53419:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26290,"name":"bool","nodeType":"ElementaryTypeName","src":"53419:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26293,"mutability":"mutable","name":"p2","nameLocation":"53436:2:15","nodeType":"VariableDeclaration","scope":26310,"src":"53428:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26292,"name":"address","nodeType":"ElementaryTypeName","src":"53428:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26295,"mutability":"mutable","name":"p3","nameLocation":"53454:2:15","nodeType":"VariableDeclaration","scope":26310,"src":"53440:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26294,"name":"string","nodeType":"ElementaryTypeName","src":"53440:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53409:48:15"},"returnParameters":{"id":26297,"nodeType":"ParameterList","parameters":[],"src":"53472:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26333,"nodeType":"FunctionDefinition","src":"53584:170:15","nodes":[],"body":{"id":26332,"nodeType":"Block","src":"53650:104:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c626f6f6c29","id":26324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53700:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},"value":"log(bool,bool,address,bool)"},{"id":26325,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26312,"src":"53731:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26326,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26314,"src":"53735:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26327,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26316,"src":"53739:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26328,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26318,"src":"53743:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26322,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53676:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53676:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53676:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26321,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"53660:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53660:87:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26331,"nodeType":"ExpressionStatement","src":"53660:87:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53593:3:15","parameters":{"id":26319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26312,"mutability":"mutable","name":"p0","nameLocation":"53602:2:15","nodeType":"VariableDeclaration","scope":26333,"src":"53597:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26311,"name":"bool","nodeType":"ElementaryTypeName","src":"53597:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26314,"mutability":"mutable","name":"p1","nameLocation":"53611:2:15","nodeType":"VariableDeclaration","scope":26333,"src":"53606:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26313,"name":"bool","nodeType":"ElementaryTypeName","src":"53606:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26316,"mutability":"mutable","name":"p2","nameLocation":"53623:2:15","nodeType":"VariableDeclaration","scope":26333,"src":"53615:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26315,"name":"address","nodeType":"ElementaryTypeName","src":"53615:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26318,"mutability":"mutable","name":"p3","nameLocation":"53632:2:15","nodeType":"VariableDeclaration","scope":26333,"src":"53627:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26317,"name":"bool","nodeType":"ElementaryTypeName","src":"53627:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"53596:39:15"},"returnParameters":{"id":26320,"nodeType":"ParameterList","parameters":[],"src":"53650:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26356,"nodeType":"FunctionDefinition","src":"53760:176:15","nodes":[],"body":{"id":26355,"nodeType":"Block","src":"53829:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c6164647265737329","id":26347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53879:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},"value":"log(bool,bool,address,address)"},{"id":26348,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26335,"src":"53913:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26349,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26337,"src":"53917:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26350,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26339,"src":"53921:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26351,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26341,"src":"53925:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26345,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53855:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53855:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53855:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26344,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"53839:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"53839:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26354,"nodeType":"ExpressionStatement","src":"53839:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53769:3:15","parameters":{"id":26342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26335,"mutability":"mutable","name":"p0","nameLocation":"53778:2:15","nodeType":"VariableDeclaration","scope":26356,"src":"53773:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26334,"name":"bool","nodeType":"ElementaryTypeName","src":"53773:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26337,"mutability":"mutable","name":"p1","nameLocation":"53787:2:15","nodeType":"VariableDeclaration","scope":26356,"src":"53782:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26336,"name":"bool","nodeType":"ElementaryTypeName","src":"53782:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26339,"mutability":"mutable","name":"p2","nameLocation":"53799:2:15","nodeType":"VariableDeclaration","scope":26356,"src":"53791:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26338,"name":"address","nodeType":"ElementaryTypeName","src":"53791:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26341,"mutability":"mutable","name":"p3","nameLocation":"53811:2:15","nodeType":"VariableDeclaration","scope":26356,"src":"53803:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26340,"name":"address","nodeType":"ElementaryTypeName","src":"53803:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"53772:42:15"},"returnParameters":{"id":26343,"nodeType":"ParameterList","parameters":[],"src":"53829:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26379,"nodeType":"FunctionDefinition","src":"53942:182:15","nodes":[],"body":{"id":26378,"nodeType":"Block","src":"54014:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c75696e7432353629","id":26370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54064:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e","typeString":"literal_string \"log(bool,address,uint256,uint256)\""},"value":"log(bool,address,uint256,uint256)"},{"id":26371,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26358,"src":"54101:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26372,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26360,"src":"54105:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26373,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26362,"src":"54109:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26374,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26364,"src":"54113:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e","typeString":"literal_string \"log(bool,address,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26368,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54040:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54040:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54040:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26367,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"54024:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54024:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26377,"nodeType":"ExpressionStatement","src":"54024:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53951:3:15","parameters":{"id":26365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26358,"mutability":"mutable","name":"p0","nameLocation":"53960:2:15","nodeType":"VariableDeclaration","scope":26379,"src":"53955:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26357,"name":"bool","nodeType":"ElementaryTypeName","src":"53955:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26360,"mutability":"mutable","name":"p1","nameLocation":"53972:2:15","nodeType":"VariableDeclaration","scope":26379,"src":"53964:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26359,"name":"address","nodeType":"ElementaryTypeName","src":"53964:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26362,"mutability":"mutable","name":"p2","nameLocation":"53984:2:15","nodeType":"VariableDeclaration","scope":26379,"src":"53976:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26361,"name":"uint256","nodeType":"ElementaryTypeName","src":"53976:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26364,"mutability":"mutable","name":"p3","nameLocation":"53996:2:15","nodeType":"VariableDeclaration","scope":26379,"src":"53988:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26363,"name":"uint256","nodeType":"ElementaryTypeName","src":"53988:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53954:45:15"},"returnParameters":{"id":26366,"nodeType":"ParameterList","parameters":[],"src":"54014:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26402,"nodeType":"FunctionDefinition","src":"54130:187:15","nodes":[],"body":{"id":26401,"nodeType":"Block","src":"54208:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c737472696e6729","id":26393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54258:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7","typeString":"literal_string \"log(bool,address,uint256,string)\""},"value":"log(bool,address,uint256,string)"},{"id":26394,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26381,"src":"54294:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26395,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26383,"src":"54298:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26396,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26385,"src":"54302:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26397,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26387,"src":"54306:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7","typeString":"literal_string \"log(bool,address,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26391,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54234:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54234:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54234:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26390,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"54218:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54218:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26400,"nodeType":"ExpressionStatement","src":"54218:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54139:3:15","parameters":{"id":26388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26381,"mutability":"mutable","name":"p0","nameLocation":"54148:2:15","nodeType":"VariableDeclaration","scope":26402,"src":"54143:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26380,"name":"bool","nodeType":"ElementaryTypeName","src":"54143:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26383,"mutability":"mutable","name":"p1","nameLocation":"54160:2:15","nodeType":"VariableDeclaration","scope":26402,"src":"54152:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26382,"name":"address","nodeType":"ElementaryTypeName","src":"54152:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26385,"mutability":"mutable","name":"p2","nameLocation":"54172:2:15","nodeType":"VariableDeclaration","scope":26402,"src":"54164:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26384,"name":"uint256","nodeType":"ElementaryTypeName","src":"54164:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26387,"mutability":"mutable","name":"p3","nameLocation":"54190:2:15","nodeType":"VariableDeclaration","scope":26402,"src":"54176:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26386,"name":"string","nodeType":"ElementaryTypeName","src":"54176:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54142:51:15"},"returnParameters":{"id":26389,"nodeType":"ParameterList","parameters":[],"src":"54208:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26425,"nodeType":"FunctionDefinition","src":"54323:176:15","nodes":[],"body":{"id":26424,"nodeType":"Block","src":"54392:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c626f6f6c29","id":26416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54442:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958","typeString":"literal_string \"log(bool,address,uint256,bool)\""},"value":"log(bool,address,uint256,bool)"},{"id":26417,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26404,"src":"54476:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26418,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26406,"src":"54480:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26419,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26408,"src":"54484:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26420,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26410,"src":"54488:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958","typeString":"literal_string \"log(bool,address,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26414,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54418:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54418:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54418:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26413,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"54402:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54402:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26423,"nodeType":"ExpressionStatement","src":"54402:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54332:3:15","parameters":{"id":26411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26404,"mutability":"mutable","name":"p0","nameLocation":"54341:2:15","nodeType":"VariableDeclaration","scope":26425,"src":"54336:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26403,"name":"bool","nodeType":"ElementaryTypeName","src":"54336:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26406,"mutability":"mutable","name":"p1","nameLocation":"54353:2:15","nodeType":"VariableDeclaration","scope":26425,"src":"54345:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26405,"name":"address","nodeType":"ElementaryTypeName","src":"54345:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26408,"mutability":"mutable","name":"p2","nameLocation":"54365:2:15","nodeType":"VariableDeclaration","scope":26425,"src":"54357:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26407,"name":"uint256","nodeType":"ElementaryTypeName","src":"54357:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26410,"mutability":"mutable","name":"p3","nameLocation":"54374:2:15","nodeType":"VariableDeclaration","scope":26425,"src":"54369:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26409,"name":"bool","nodeType":"ElementaryTypeName","src":"54369:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"54335:42:15"},"returnParameters":{"id":26412,"nodeType":"ParameterList","parameters":[],"src":"54392:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26448,"nodeType":"FunctionDefinition","src":"54505:182:15","nodes":[],"body":{"id":26447,"nodeType":"Block","src":"54577:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c6164647265737329","id":26439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54627:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd","typeString":"literal_string \"log(bool,address,uint256,address)\""},"value":"log(bool,address,uint256,address)"},{"id":26440,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26427,"src":"54664:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26441,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26429,"src":"54668:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26442,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26431,"src":"54672:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26443,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26433,"src":"54676:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd","typeString":"literal_string \"log(bool,address,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26437,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54603:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26438,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54603:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54603:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26436,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"54587:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54587:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26446,"nodeType":"ExpressionStatement","src":"54587:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54514:3:15","parameters":{"id":26434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26427,"mutability":"mutable","name":"p0","nameLocation":"54523:2:15","nodeType":"VariableDeclaration","scope":26448,"src":"54518:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26426,"name":"bool","nodeType":"ElementaryTypeName","src":"54518:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26429,"mutability":"mutable","name":"p1","nameLocation":"54535:2:15","nodeType":"VariableDeclaration","scope":26448,"src":"54527:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26428,"name":"address","nodeType":"ElementaryTypeName","src":"54527:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26431,"mutability":"mutable","name":"p2","nameLocation":"54547:2:15","nodeType":"VariableDeclaration","scope":26448,"src":"54539:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26430,"name":"uint256","nodeType":"ElementaryTypeName","src":"54539:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26433,"mutability":"mutable","name":"p3","nameLocation":"54559:2:15","nodeType":"VariableDeclaration","scope":26448,"src":"54551:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26432,"name":"address","nodeType":"ElementaryTypeName","src":"54551:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"54517:45:15"},"returnParameters":{"id":26435,"nodeType":"ParameterList","parameters":[],"src":"54577:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26471,"nodeType":"FunctionDefinition","src":"54693:187:15","nodes":[],"body":{"id":26470,"nodeType":"Block","src":"54771:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c75696e7432353629","id":26462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54821:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d","typeString":"literal_string \"log(bool,address,string,uint256)\""},"value":"log(bool,address,string,uint256)"},{"id":26463,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26450,"src":"54857:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26464,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26452,"src":"54861:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26465,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26454,"src":"54865:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26466,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26456,"src":"54869:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d","typeString":"literal_string \"log(bool,address,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26460,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54797:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54797:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54797:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26459,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"54781:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54781:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26469,"nodeType":"ExpressionStatement","src":"54781:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54702:3:15","parameters":{"id":26457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26450,"mutability":"mutable","name":"p0","nameLocation":"54711:2:15","nodeType":"VariableDeclaration","scope":26471,"src":"54706:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26449,"name":"bool","nodeType":"ElementaryTypeName","src":"54706:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26452,"mutability":"mutable","name":"p1","nameLocation":"54723:2:15","nodeType":"VariableDeclaration","scope":26471,"src":"54715:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26451,"name":"address","nodeType":"ElementaryTypeName","src":"54715:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26454,"mutability":"mutable","name":"p2","nameLocation":"54741:2:15","nodeType":"VariableDeclaration","scope":26471,"src":"54727:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26453,"name":"string","nodeType":"ElementaryTypeName","src":"54727:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26456,"mutability":"mutable","name":"p3","nameLocation":"54753:2:15","nodeType":"VariableDeclaration","scope":26471,"src":"54745:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26455,"name":"uint256","nodeType":"ElementaryTypeName","src":"54745:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54705:51:15"},"returnParameters":{"id":26458,"nodeType":"ParameterList","parameters":[],"src":"54771:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26494,"nodeType":"FunctionDefinition","src":"54886:192:15","nodes":[],"body":{"id":26493,"nodeType":"Block","src":"54970:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c737472696e6729","id":26485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55020:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},"value":"log(bool,address,string,string)"},{"id":26486,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26473,"src":"55055:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26487,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26475,"src":"55059:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26488,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26477,"src":"55063:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26489,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26479,"src":"55067:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26483,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54996:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26484,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54996:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54996:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26482,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"54980:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"54980:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26492,"nodeType":"ExpressionStatement","src":"54980:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54895:3:15","parameters":{"id":26480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26473,"mutability":"mutable","name":"p0","nameLocation":"54904:2:15","nodeType":"VariableDeclaration","scope":26494,"src":"54899:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26472,"name":"bool","nodeType":"ElementaryTypeName","src":"54899:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26475,"mutability":"mutable","name":"p1","nameLocation":"54916:2:15","nodeType":"VariableDeclaration","scope":26494,"src":"54908:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26474,"name":"address","nodeType":"ElementaryTypeName","src":"54908:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26477,"mutability":"mutable","name":"p2","nameLocation":"54934:2:15","nodeType":"VariableDeclaration","scope":26494,"src":"54920:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26476,"name":"string","nodeType":"ElementaryTypeName","src":"54920:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26479,"mutability":"mutable","name":"p3","nameLocation":"54952:2:15","nodeType":"VariableDeclaration","scope":26494,"src":"54938:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26478,"name":"string","nodeType":"ElementaryTypeName","src":"54938:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54898:57:15"},"returnParameters":{"id":26481,"nodeType":"ParameterList","parameters":[],"src":"54970:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26517,"nodeType":"FunctionDefinition","src":"55084:181:15","nodes":[],"body":{"id":26516,"nodeType":"Block","src":"55159:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c626f6f6c29","id":26508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55209:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},"value":"log(bool,address,string,bool)"},{"id":26509,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26496,"src":"55242:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26510,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26498,"src":"55246:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26511,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26500,"src":"55250:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26512,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26502,"src":"55254:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26506,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55185:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55185:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55185:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26505,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"55169:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55169:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26515,"nodeType":"ExpressionStatement","src":"55169:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55093:3:15","parameters":{"id":26503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26496,"mutability":"mutable","name":"p0","nameLocation":"55102:2:15","nodeType":"VariableDeclaration","scope":26517,"src":"55097:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26495,"name":"bool","nodeType":"ElementaryTypeName","src":"55097:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26498,"mutability":"mutable","name":"p1","nameLocation":"55114:2:15","nodeType":"VariableDeclaration","scope":26517,"src":"55106:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26497,"name":"address","nodeType":"ElementaryTypeName","src":"55106:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26500,"mutability":"mutable","name":"p2","nameLocation":"55132:2:15","nodeType":"VariableDeclaration","scope":26517,"src":"55118:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26499,"name":"string","nodeType":"ElementaryTypeName","src":"55118:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26502,"mutability":"mutable","name":"p3","nameLocation":"55141:2:15","nodeType":"VariableDeclaration","scope":26517,"src":"55136:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26501,"name":"bool","nodeType":"ElementaryTypeName","src":"55136:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"55096:48:15"},"returnParameters":{"id":26504,"nodeType":"ParameterList","parameters":[],"src":"55159:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26540,"nodeType":"FunctionDefinition","src":"55271:187:15","nodes":[],"body":{"id":26539,"nodeType":"Block","src":"55349:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c6164647265737329","id":26531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55399:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},"value":"log(bool,address,string,address)"},{"id":26532,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26519,"src":"55435:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26533,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26521,"src":"55439:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26534,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26523,"src":"55443:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26535,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26525,"src":"55447:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26529,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55375:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26530,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55375:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55375:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26528,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"55359:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55359:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26538,"nodeType":"ExpressionStatement","src":"55359:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55280:3:15","parameters":{"id":26526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26519,"mutability":"mutable","name":"p0","nameLocation":"55289:2:15","nodeType":"VariableDeclaration","scope":26540,"src":"55284:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26518,"name":"bool","nodeType":"ElementaryTypeName","src":"55284:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26521,"mutability":"mutable","name":"p1","nameLocation":"55301:2:15","nodeType":"VariableDeclaration","scope":26540,"src":"55293:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26520,"name":"address","nodeType":"ElementaryTypeName","src":"55293:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26523,"mutability":"mutable","name":"p2","nameLocation":"55319:2:15","nodeType":"VariableDeclaration","scope":26540,"src":"55305:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26522,"name":"string","nodeType":"ElementaryTypeName","src":"55305:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26525,"mutability":"mutable","name":"p3","nameLocation":"55331:2:15","nodeType":"VariableDeclaration","scope":26540,"src":"55323:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26524,"name":"address","nodeType":"ElementaryTypeName","src":"55323:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55283:51:15"},"returnParameters":{"id":26527,"nodeType":"ParameterList","parameters":[],"src":"55349:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26563,"nodeType":"FunctionDefinition","src":"55464:176:15","nodes":[],"body":{"id":26562,"nodeType":"Block","src":"55533:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c75696e7432353629","id":26554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55583:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059","typeString":"literal_string \"log(bool,address,bool,uint256)\""},"value":"log(bool,address,bool,uint256)"},{"id":26555,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26542,"src":"55617:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26556,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26544,"src":"55621:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26557,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26546,"src":"55625:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26558,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26548,"src":"55629:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059","typeString":"literal_string \"log(bool,address,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26552,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55559:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55559:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55559:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26551,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"55543:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55543:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26561,"nodeType":"ExpressionStatement","src":"55543:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55473:3:15","parameters":{"id":26549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26542,"mutability":"mutable","name":"p0","nameLocation":"55482:2:15","nodeType":"VariableDeclaration","scope":26563,"src":"55477:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26541,"name":"bool","nodeType":"ElementaryTypeName","src":"55477:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26544,"mutability":"mutable","name":"p1","nameLocation":"55494:2:15","nodeType":"VariableDeclaration","scope":26563,"src":"55486:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26543,"name":"address","nodeType":"ElementaryTypeName","src":"55486:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26546,"mutability":"mutable","name":"p2","nameLocation":"55503:2:15","nodeType":"VariableDeclaration","scope":26563,"src":"55498:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26545,"name":"bool","nodeType":"ElementaryTypeName","src":"55498:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26548,"mutability":"mutable","name":"p3","nameLocation":"55515:2:15","nodeType":"VariableDeclaration","scope":26563,"src":"55507:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26547,"name":"uint256","nodeType":"ElementaryTypeName","src":"55507:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55476:42:15"},"returnParameters":{"id":26550,"nodeType":"ParameterList","parameters":[],"src":"55533:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26586,"nodeType":"FunctionDefinition","src":"55646:181:15","nodes":[],"body":{"id":26585,"nodeType":"Block","src":"55721:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c737472696e6729","id":26577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55771:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},"value":"log(bool,address,bool,string)"},{"id":26578,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26565,"src":"55804:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26579,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26567,"src":"55808:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26580,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26569,"src":"55812:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26581,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26571,"src":"55816:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26575,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55747:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55747:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55747:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26574,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"55731:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55731:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26584,"nodeType":"ExpressionStatement","src":"55731:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55655:3:15","parameters":{"id":26572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26565,"mutability":"mutable","name":"p0","nameLocation":"55664:2:15","nodeType":"VariableDeclaration","scope":26586,"src":"55659:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26564,"name":"bool","nodeType":"ElementaryTypeName","src":"55659:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26567,"mutability":"mutable","name":"p1","nameLocation":"55676:2:15","nodeType":"VariableDeclaration","scope":26586,"src":"55668:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26566,"name":"address","nodeType":"ElementaryTypeName","src":"55668:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26569,"mutability":"mutable","name":"p2","nameLocation":"55685:2:15","nodeType":"VariableDeclaration","scope":26586,"src":"55680:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26568,"name":"bool","nodeType":"ElementaryTypeName","src":"55680:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26571,"mutability":"mutable","name":"p3","nameLocation":"55703:2:15","nodeType":"VariableDeclaration","scope":26586,"src":"55689:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26570,"name":"string","nodeType":"ElementaryTypeName","src":"55689:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55658:48:15"},"returnParameters":{"id":26573,"nodeType":"ParameterList","parameters":[],"src":"55721:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26609,"nodeType":"FunctionDefinition","src":"55833:170:15","nodes":[],"body":{"id":26608,"nodeType":"Block","src":"55899:104:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c626f6f6c29","id":26600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55949:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},"value":"log(bool,address,bool,bool)"},{"id":26601,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26588,"src":"55980:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26602,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26590,"src":"55984:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26603,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26592,"src":"55988:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26604,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26594,"src":"55992:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26598,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55925:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55925:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55925:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26597,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"55909:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"55909:87:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26607,"nodeType":"ExpressionStatement","src":"55909:87:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55842:3:15","parameters":{"id":26595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26588,"mutability":"mutable","name":"p0","nameLocation":"55851:2:15","nodeType":"VariableDeclaration","scope":26609,"src":"55846:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26587,"name":"bool","nodeType":"ElementaryTypeName","src":"55846:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26590,"mutability":"mutable","name":"p1","nameLocation":"55863:2:15","nodeType":"VariableDeclaration","scope":26609,"src":"55855:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26589,"name":"address","nodeType":"ElementaryTypeName","src":"55855:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26592,"mutability":"mutable","name":"p2","nameLocation":"55872:2:15","nodeType":"VariableDeclaration","scope":26609,"src":"55867:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26591,"name":"bool","nodeType":"ElementaryTypeName","src":"55867:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26594,"mutability":"mutable","name":"p3","nameLocation":"55881:2:15","nodeType":"VariableDeclaration","scope":26609,"src":"55876:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26593,"name":"bool","nodeType":"ElementaryTypeName","src":"55876:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"55845:39:15"},"returnParameters":{"id":26596,"nodeType":"ParameterList","parameters":[],"src":"55899:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26632,"nodeType":"FunctionDefinition","src":"56009:176:15","nodes":[],"body":{"id":26631,"nodeType":"Block","src":"56078:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c6164647265737329","id":26623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56128:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},"value":"log(bool,address,bool,address)"},{"id":26624,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26611,"src":"56162:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26625,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26613,"src":"56166:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26626,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26615,"src":"56170:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26627,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26617,"src":"56174:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26621,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56104:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56104:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56104:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26620,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"56088:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56088:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26630,"nodeType":"ExpressionStatement","src":"56088:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56018:3:15","parameters":{"id":26618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26611,"mutability":"mutable","name":"p0","nameLocation":"56027:2:15","nodeType":"VariableDeclaration","scope":26632,"src":"56022:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26610,"name":"bool","nodeType":"ElementaryTypeName","src":"56022:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26613,"mutability":"mutable","name":"p1","nameLocation":"56039:2:15","nodeType":"VariableDeclaration","scope":26632,"src":"56031:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26612,"name":"address","nodeType":"ElementaryTypeName","src":"56031:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26615,"mutability":"mutable","name":"p2","nameLocation":"56048:2:15","nodeType":"VariableDeclaration","scope":26632,"src":"56043:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26614,"name":"bool","nodeType":"ElementaryTypeName","src":"56043:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26617,"mutability":"mutable","name":"p3","nameLocation":"56060:2:15","nodeType":"VariableDeclaration","scope":26632,"src":"56052:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26616,"name":"address","nodeType":"ElementaryTypeName","src":"56052:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"56021:42:15"},"returnParameters":{"id":26619,"nodeType":"ParameterList","parameters":[],"src":"56078:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26655,"nodeType":"FunctionDefinition","src":"56191:182:15","nodes":[],"body":{"id":26654,"nodeType":"Block","src":"56263:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c75696e7432353629","id":26646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56313:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8","typeString":"literal_string \"log(bool,address,address,uint256)\""},"value":"log(bool,address,address,uint256)"},{"id":26647,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26634,"src":"56350:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26648,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26636,"src":"56354:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26649,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26638,"src":"56358:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26650,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26640,"src":"56362:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8","typeString":"literal_string \"log(bool,address,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26644,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56289:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56289:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56289:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26643,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"56273:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56273:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26653,"nodeType":"ExpressionStatement","src":"56273:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56200:3:15","parameters":{"id":26641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26634,"mutability":"mutable","name":"p0","nameLocation":"56209:2:15","nodeType":"VariableDeclaration","scope":26655,"src":"56204:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26633,"name":"bool","nodeType":"ElementaryTypeName","src":"56204:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26636,"mutability":"mutable","name":"p1","nameLocation":"56221:2:15","nodeType":"VariableDeclaration","scope":26655,"src":"56213:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26635,"name":"address","nodeType":"ElementaryTypeName","src":"56213:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26638,"mutability":"mutable","name":"p2","nameLocation":"56233:2:15","nodeType":"VariableDeclaration","scope":26655,"src":"56225:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26637,"name":"address","nodeType":"ElementaryTypeName","src":"56225:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26640,"mutability":"mutable","name":"p3","nameLocation":"56245:2:15","nodeType":"VariableDeclaration","scope":26655,"src":"56237:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26639,"name":"uint256","nodeType":"ElementaryTypeName","src":"56237:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56203:45:15"},"returnParameters":{"id":26642,"nodeType":"ParameterList","parameters":[],"src":"56263:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26678,"nodeType":"FunctionDefinition","src":"56379:187:15","nodes":[],"body":{"id":26677,"nodeType":"Block","src":"56457:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c737472696e6729","id":26669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56507:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},"value":"log(bool,address,address,string)"},{"id":26670,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26657,"src":"56543:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26671,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26659,"src":"56547:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26672,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26661,"src":"56551:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26673,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26663,"src":"56555:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26667,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56483:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56483:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56483:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26666,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"56467:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56467:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26676,"nodeType":"ExpressionStatement","src":"56467:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56388:3:15","parameters":{"id":26664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26657,"mutability":"mutable","name":"p0","nameLocation":"56397:2:15","nodeType":"VariableDeclaration","scope":26678,"src":"56392:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26656,"name":"bool","nodeType":"ElementaryTypeName","src":"56392:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26659,"mutability":"mutable","name":"p1","nameLocation":"56409:2:15","nodeType":"VariableDeclaration","scope":26678,"src":"56401:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26658,"name":"address","nodeType":"ElementaryTypeName","src":"56401:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26661,"mutability":"mutable","name":"p2","nameLocation":"56421:2:15","nodeType":"VariableDeclaration","scope":26678,"src":"56413:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26660,"name":"address","nodeType":"ElementaryTypeName","src":"56413:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26663,"mutability":"mutable","name":"p3","nameLocation":"56439:2:15","nodeType":"VariableDeclaration","scope":26678,"src":"56425:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26662,"name":"string","nodeType":"ElementaryTypeName","src":"56425:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56391:51:15"},"returnParameters":{"id":26665,"nodeType":"ParameterList","parameters":[],"src":"56457:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26701,"nodeType":"FunctionDefinition","src":"56572:176:15","nodes":[],"body":{"id":26700,"nodeType":"Block","src":"56641:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c626f6f6c29","id":26692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56691:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},"value":"log(bool,address,address,bool)"},{"id":26693,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26680,"src":"56725:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26694,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26682,"src":"56729:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26695,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26684,"src":"56733:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26696,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26686,"src":"56737:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26690,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56667:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56667:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56667:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26689,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"56651:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56651:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26699,"nodeType":"ExpressionStatement","src":"56651:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56581:3:15","parameters":{"id":26687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26680,"mutability":"mutable","name":"p0","nameLocation":"56590:2:15","nodeType":"VariableDeclaration","scope":26701,"src":"56585:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26679,"name":"bool","nodeType":"ElementaryTypeName","src":"56585:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26682,"mutability":"mutable","name":"p1","nameLocation":"56602:2:15","nodeType":"VariableDeclaration","scope":26701,"src":"56594:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26681,"name":"address","nodeType":"ElementaryTypeName","src":"56594:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26684,"mutability":"mutable","name":"p2","nameLocation":"56614:2:15","nodeType":"VariableDeclaration","scope":26701,"src":"56606:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26683,"name":"address","nodeType":"ElementaryTypeName","src":"56606:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26686,"mutability":"mutable","name":"p3","nameLocation":"56623:2:15","nodeType":"VariableDeclaration","scope":26701,"src":"56618:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26685,"name":"bool","nodeType":"ElementaryTypeName","src":"56618:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"56584:42:15"},"returnParameters":{"id":26688,"nodeType":"ParameterList","parameters":[],"src":"56641:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26724,"nodeType":"FunctionDefinition","src":"56754:182:15","nodes":[],"body":{"id":26723,"nodeType":"Block","src":"56826:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c6164647265737329","id":26715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56876:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},"value":"log(bool,address,address,address)"},{"id":26716,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26703,"src":"56913:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26717,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26705,"src":"56917:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26718,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26707,"src":"56921:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26719,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26709,"src":"56925:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26713,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56852:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56852:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56852:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26712,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"56836:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"56836:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26722,"nodeType":"ExpressionStatement","src":"56836:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56763:3:15","parameters":{"id":26710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26703,"mutability":"mutable","name":"p0","nameLocation":"56772:2:15","nodeType":"VariableDeclaration","scope":26724,"src":"56767:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26702,"name":"bool","nodeType":"ElementaryTypeName","src":"56767:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26705,"mutability":"mutable","name":"p1","nameLocation":"56784:2:15","nodeType":"VariableDeclaration","scope":26724,"src":"56776:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26704,"name":"address","nodeType":"ElementaryTypeName","src":"56776:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26707,"mutability":"mutable","name":"p2","nameLocation":"56796:2:15","nodeType":"VariableDeclaration","scope":26724,"src":"56788:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26706,"name":"address","nodeType":"ElementaryTypeName","src":"56788:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26709,"mutability":"mutable","name":"p3","nameLocation":"56808:2:15","nodeType":"VariableDeclaration","scope":26724,"src":"56800:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26708,"name":"address","nodeType":"ElementaryTypeName","src":"56800:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"56766:45:15"},"returnParameters":{"id":26711,"nodeType":"ParameterList","parameters":[],"src":"56826:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26747,"nodeType":"FunctionDefinition","src":"56942:188:15","nodes":[],"body":{"id":26746,"nodeType":"Block","src":"57017:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c75696e7432353629","id":26738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57067:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6","typeString":"literal_string \"log(address,uint256,uint256,uint256)\""},"value":"log(address,uint256,uint256,uint256)"},{"id":26739,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26726,"src":"57107:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26740,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26728,"src":"57111:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26741,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26730,"src":"57115:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26742,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26732,"src":"57119:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6","typeString":"literal_string \"log(address,uint256,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26736,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57043:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57043:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57043:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26735,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"57027:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57027:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26745,"nodeType":"ExpressionStatement","src":"57027:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56951:3:15","parameters":{"id":26733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26726,"mutability":"mutable","name":"p0","nameLocation":"56963:2:15","nodeType":"VariableDeclaration","scope":26747,"src":"56955:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26725,"name":"address","nodeType":"ElementaryTypeName","src":"56955:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26728,"mutability":"mutable","name":"p1","nameLocation":"56975:2:15","nodeType":"VariableDeclaration","scope":26747,"src":"56967:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26727,"name":"uint256","nodeType":"ElementaryTypeName","src":"56967:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26730,"mutability":"mutable","name":"p2","nameLocation":"56987:2:15","nodeType":"VariableDeclaration","scope":26747,"src":"56979:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26729,"name":"uint256","nodeType":"ElementaryTypeName","src":"56979:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26732,"mutability":"mutable","name":"p3","nameLocation":"56999:2:15","nodeType":"VariableDeclaration","scope":26747,"src":"56991:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26731,"name":"uint256","nodeType":"ElementaryTypeName","src":"56991:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56954:48:15"},"returnParameters":{"id":26734,"nodeType":"ParameterList","parameters":[],"src":"57017:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26770,"nodeType":"FunctionDefinition","src":"57136:193:15","nodes":[],"body":{"id":26769,"nodeType":"Block","src":"57217:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c737472696e6729","id":26761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57267:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6","typeString":"literal_string \"log(address,uint256,uint256,string)\""},"value":"log(address,uint256,uint256,string)"},{"id":26762,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26749,"src":"57306:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26763,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26751,"src":"57310:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26764,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26753,"src":"57314:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26765,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26755,"src":"57318:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6","typeString":"literal_string \"log(address,uint256,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26759,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57243:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57243:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57243:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26758,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"57227:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57227:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26768,"nodeType":"ExpressionStatement","src":"57227:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57145:3:15","parameters":{"id":26756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26749,"mutability":"mutable","name":"p0","nameLocation":"57157:2:15","nodeType":"VariableDeclaration","scope":26770,"src":"57149:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26748,"name":"address","nodeType":"ElementaryTypeName","src":"57149:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26751,"mutability":"mutable","name":"p1","nameLocation":"57169:2:15","nodeType":"VariableDeclaration","scope":26770,"src":"57161:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26750,"name":"uint256","nodeType":"ElementaryTypeName","src":"57161:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26753,"mutability":"mutable","name":"p2","nameLocation":"57181:2:15","nodeType":"VariableDeclaration","scope":26770,"src":"57173:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26752,"name":"uint256","nodeType":"ElementaryTypeName","src":"57173:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26755,"mutability":"mutable","name":"p3","nameLocation":"57199:2:15","nodeType":"VariableDeclaration","scope":26770,"src":"57185:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26754,"name":"string","nodeType":"ElementaryTypeName","src":"57185:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57148:54:15"},"returnParameters":{"id":26757,"nodeType":"ParameterList","parameters":[],"src":"57217:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26793,"nodeType":"FunctionDefinition","src":"57335:182:15","nodes":[],"body":{"id":26792,"nodeType":"Block","src":"57407:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c626f6f6c29","id":26784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57457:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e","typeString":"literal_string \"log(address,uint256,uint256,bool)\""},"value":"log(address,uint256,uint256,bool)"},{"id":26785,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26772,"src":"57494:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26786,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26774,"src":"57498:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26787,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26776,"src":"57502:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26788,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26778,"src":"57506:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e","typeString":"literal_string \"log(address,uint256,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26782,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57433:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57433:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57433:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26781,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"57417:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57417:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26791,"nodeType":"ExpressionStatement","src":"57417:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57344:3:15","parameters":{"id":26779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26772,"mutability":"mutable","name":"p0","nameLocation":"57356:2:15","nodeType":"VariableDeclaration","scope":26793,"src":"57348:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26771,"name":"address","nodeType":"ElementaryTypeName","src":"57348:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26774,"mutability":"mutable","name":"p1","nameLocation":"57368:2:15","nodeType":"VariableDeclaration","scope":26793,"src":"57360:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26773,"name":"uint256","nodeType":"ElementaryTypeName","src":"57360:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26776,"mutability":"mutable","name":"p2","nameLocation":"57380:2:15","nodeType":"VariableDeclaration","scope":26793,"src":"57372:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26775,"name":"uint256","nodeType":"ElementaryTypeName","src":"57372:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26778,"mutability":"mutable","name":"p3","nameLocation":"57389:2:15","nodeType":"VariableDeclaration","scope":26793,"src":"57384:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26777,"name":"bool","nodeType":"ElementaryTypeName","src":"57384:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"57347:45:15"},"returnParameters":{"id":26780,"nodeType":"ParameterList","parameters":[],"src":"57407:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26816,"nodeType":"FunctionDefinition","src":"57523:188:15","nodes":[],"body":{"id":26815,"nodeType":"Block","src":"57598:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c6164647265737329","id":26807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57648:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390","typeString":"literal_string \"log(address,uint256,uint256,address)\""},"value":"log(address,uint256,uint256,address)"},{"id":26808,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"57688:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26809,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26797,"src":"57692:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26810,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26799,"src":"57696:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26811,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26801,"src":"57700:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390","typeString":"literal_string \"log(address,uint256,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26805,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57624:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57624:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57624:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26804,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"57608:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57608:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26814,"nodeType":"ExpressionStatement","src":"57608:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57532:3:15","parameters":{"id":26802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26795,"mutability":"mutable","name":"p0","nameLocation":"57544:2:15","nodeType":"VariableDeclaration","scope":26816,"src":"57536:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26794,"name":"address","nodeType":"ElementaryTypeName","src":"57536:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26797,"mutability":"mutable","name":"p1","nameLocation":"57556:2:15","nodeType":"VariableDeclaration","scope":26816,"src":"57548:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26796,"name":"uint256","nodeType":"ElementaryTypeName","src":"57548:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26799,"mutability":"mutable","name":"p2","nameLocation":"57568:2:15","nodeType":"VariableDeclaration","scope":26816,"src":"57560:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26798,"name":"uint256","nodeType":"ElementaryTypeName","src":"57560:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26801,"mutability":"mutable","name":"p3","nameLocation":"57580:2:15","nodeType":"VariableDeclaration","scope":26816,"src":"57572:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26800,"name":"address","nodeType":"ElementaryTypeName","src":"57572:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"57535:48:15"},"returnParameters":{"id":26803,"nodeType":"ParameterList","parameters":[],"src":"57598:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26839,"nodeType":"FunctionDefinition","src":"57717:193:15","nodes":[],"body":{"id":26838,"nodeType":"Block","src":"57798:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c75696e7432353629","id":26830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57848:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054","typeString":"literal_string \"log(address,uint256,string,uint256)\""},"value":"log(address,uint256,string,uint256)"},{"id":26831,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26818,"src":"57887:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26832,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26820,"src":"57891:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26833,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26822,"src":"57895:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26834,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26824,"src":"57899:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054","typeString":"literal_string \"log(address,uint256,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26828,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57824:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57824:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57824:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26827,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"57808:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"57808:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26837,"nodeType":"ExpressionStatement","src":"57808:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57726:3:15","parameters":{"id":26825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26818,"mutability":"mutable","name":"p0","nameLocation":"57738:2:15","nodeType":"VariableDeclaration","scope":26839,"src":"57730:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26817,"name":"address","nodeType":"ElementaryTypeName","src":"57730:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26820,"mutability":"mutable","name":"p1","nameLocation":"57750:2:15","nodeType":"VariableDeclaration","scope":26839,"src":"57742:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26819,"name":"uint256","nodeType":"ElementaryTypeName","src":"57742:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26822,"mutability":"mutable","name":"p2","nameLocation":"57768:2:15","nodeType":"VariableDeclaration","scope":26839,"src":"57754:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26821,"name":"string","nodeType":"ElementaryTypeName","src":"57754:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26824,"mutability":"mutable","name":"p3","nameLocation":"57780:2:15","nodeType":"VariableDeclaration","scope":26839,"src":"57772:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26823,"name":"uint256","nodeType":"ElementaryTypeName","src":"57772:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57729:54:15"},"returnParameters":{"id":26826,"nodeType":"ParameterList","parameters":[],"src":"57798:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26862,"nodeType":"FunctionDefinition","src":"57916:198:15","nodes":[],"body":{"id":26861,"nodeType":"Block","src":"58003:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c737472696e6729","id":26853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58053:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9","typeString":"literal_string \"log(address,uint256,string,string)\""},"value":"log(address,uint256,string,string)"},{"id":26854,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26841,"src":"58091:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26855,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26843,"src":"58095:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26856,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26845,"src":"58099:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26857,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26847,"src":"58103:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9","typeString":"literal_string \"log(address,uint256,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26851,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58029:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58029:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58029:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26850,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"58013:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58013:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26860,"nodeType":"ExpressionStatement","src":"58013:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57925:3:15","parameters":{"id":26848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26841,"mutability":"mutable","name":"p0","nameLocation":"57937:2:15","nodeType":"VariableDeclaration","scope":26862,"src":"57929:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26840,"name":"address","nodeType":"ElementaryTypeName","src":"57929:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26843,"mutability":"mutable","name":"p1","nameLocation":"57949:2:15","nodeType":"VariableDeclaration","scope":26862,"src":"57941:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26842,"name":"uint256","nodeType":"ElementaryTypeName","src":"57941:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26845,"mutability":"mutable","name":"p2","nameLocation":"57967:2:15","nodeType":"VariableDeclaration","scope":26862,"src":"57953:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26844,"name":"string","nodeType":"ElementaryTypeName","src":"57953:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26847,"mutability":"mutable","name":"p3","nameLocation":"57985:2:15","nodeType":"VariableDeclaration","scope":26862,"src":"57971:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26846,"name":"string","nodeType":"ElementaryTypeName","src":"57971:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57928:60:15"},"returnParameters":{"id":26849,"nodeType":"ParameterList","parameters":[],"src":"58003:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26885,"nodeType":"FunctionDefinition","src":"58120:187:15","nodes":[],"body":{"id":26884,"nodeType":"Block","src":"58198:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c626f6f6c29","id":26876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58248:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184","typeString":"literal_string \"log(address,uint256,string,bool)\""},"value":"log(address,uint256,string,bool)"},{"id":26877,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26864,"src":"58284:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26878,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26866,"src":"58288:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26879,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26868,"src":"58292:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26880,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26870,"src":"58296:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184","typeString":"literal_string \"log(address,uint256,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26874,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58224:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58224:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58224:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26873,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"58208:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58208:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26883,"nodeType":"ExpressionStatement","src":"58208:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58129:3:15","parameters":{"id":26871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26864,"mutability":"mutable","name":"p0","nameLocation":"58141:2:15","nodeType":"VariableDeclaration","scope":26885,"src":"58133:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26863,"name":"address","nodeType":"ElementaryTypeName","src":"58133:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26866,"mutability":"mutable","name":"p1","nameLocation":"58153:2:15","nodeType":"VariableDeclaration","scope":26885,"src":"58145:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26865,"name":"uint256","nodeType":"ElementaryTypeName","src":"58145:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26868,"mutability":"mutable","name":"p2","nameLocation":"58171:2:15","nodeType":"VariableDeclaration","scope":26885,"src":"58157:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26867,"name":"string","nodeType":"ElementaryTypeName","src":"58157:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26870,"mutability":"mutable","name":"p3","nameLocation":"58180:2:15","nodeType":"VariableDeclaration","scope":26885,"src":"58175:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26869,"name":"bool","nodeType":"ElementaryTypeName","src":"58175:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"58132:51:15"},"returnParameters":{"id":26872,"nodeType":"ParameterList","parameters":[],"src":"58198:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26908,"nodeType":"FunctionDefinition","src":"58313:193:15","nodes":[],"body":{"id":26907,"nodeType":"Block","src":"58394:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c6164647265737329","id":26899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58444:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a","typeString":"literal_string \"log(address,uint256,string,address)\""},"value":"log(address,uint256,string,address)"},{"id":26900,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26887,"src":"58483:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26901,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26889,"src":"58487:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26902,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26891,"src":"58491:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":26903,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26893,"src":"58495:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a","typeString":"literal_string \"log(address,uint256,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26897,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58420:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58420:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58420:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26896,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"58404:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58404:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26906,"nodeType":"ExpressionStatement","src":"58404:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58322:3:15","parameters":{"id":26894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26887,"mutability":"mutable","name":"p0","nameLocation":"58334:2:15","nodeType":"VariableDeclaration","scope":26908,"src":"58326:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26886,"name":"address","nodeType":"ElementaryTypeName","src":"58326:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26889,"mutability":"mutable","name":"p1","nameLocation":"58346:2:15","nodeType":"VariableDeclaration","scope":26908,"src":"58338:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26888,"name":"uint256","nodeType":"ElementaryTypeName","src":"58338:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26891,"mutability":"mutable","name":"p2","nameLocation":"58364:2:15","nodeType":"VariableDeclaration","scope":26908,"src":"58350:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26890,"name":"string","nodeType":"ElementaryTypeName","src":"58350:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":26893,"mutability":"mutable","name":"p3","nameLocation":"58376:2:15","nodeType":"VariableDeclaration","scope":26908,"src":"58368:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26892,"name":"address","nodeType":"ElementaryTypeName","src":"58368:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"58325:54:15"},"returnParameters":{"id":26895,"nodeType":"ParameterList","parameters":[],"src":"58394:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26931,"nodeType":"FunctionDefinition","src":"58512:182:15","nodes":[],"body":{"id":26930,"nodeType":"Block","src":"58584:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c75696e7432353629","id":26922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58634:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e","typeString":"literal_string \"log(address,uint256,bool,uint256)\""},"value":"log(address,uint256,bool,uint256)"},{"id":26923,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26910,"src":"58671:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26924,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26912,"src":"58675:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26925,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26914,"src":"58679:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26926,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26916,"src":"58683:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e","typeString":"literal_string \"log(address,uint256,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":26920,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58610:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58610:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58610:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26919,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"58594:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58594:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26929,"nodeType":"ExpressionStatement","src":"58594:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58521:3:15","parameters":{"id":26917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26910,"mutability":"mutable","name":"p0","nameLocation":"58533:2:15","nodeType":"VariableDeclaration","scope":26931,"src":"58525:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26909,"name":"address","nodeType":"ElementaryTypeName","src":"58525:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26912,"mutability":"mutable","name":"p1","nameLocation":"58545:2:15","nodeType":"VariableDeclaration","scope":26931,"src":"58537:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26911,"name":"uint256","nodeType":"ElementaryTypeName","src":"58537:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26914,"mutability":"mutable","name":"p2","nameLocation":"58554:2:15","nodeType":"VariableDeclaration","scope":26931,"src":"58549:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26913,"name":"bool","nodeType":"ElementaryTypeName","src":"58549:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26916,"mutability":"mutable","name":"p3","nameLocation":"58566:2:15","nodeType":"VariableDeclaration","scope":26931,"src":"58558:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26915,"name":"uint256","nodeType":"ElementaryTypeName","src":"58558:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58524:45:15"},"returnParameters":{"id":26918,"nodeType":"ParameterList","parameters":[],"src":"58584:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26954,"nodeType":"FunctionDefinition","src":"58700:187:15","nodes":[],"body":{"id":26953,"nodeType":"Block","src":"58778:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c737472696e6729","id":26945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58828:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b","typeString":"literal_string \"log(address,uint256,bool,string)\""},"value":"log(address,uint256,bool,string)"},{"id":26946,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26933,"src":"58864:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26947,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26935,"src":"58868:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26948,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26937,"src":"58872:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26949,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26939,"src":"58876:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b","typeString":"literal_string \"log(address,uint256,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":26943,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58804:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58804:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58804:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26942,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"58788:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58788:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26952,"nodeType":"ExpressionStatement","src":"58788:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58709:3:15","parameters":{"id":26940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26933,"mutability":"mutable","name":"p0","nameLocation":"58721:2:15","nodeType":"VariableDeclaration","scope":26954,"src":"58713:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26932,"name":"address","nodeType":"ElementaryTypeName","src":"58713:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26935,"mutability":"mutable","name":"p1","nameLocation":"58733:2:15","nodeType":"VariableDeclaration","scope":26954,"src":"58725:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26934,"name":"uint256","nodeType":"ElementaryTypeName","src":"58725:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26937,"mutability":"mutable","name":"p2","nameLocation":"58742:2:15","nodeType":"VariableDeclaration","scope":26954,"src":"58737:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26936,"name":"bool","nodeType":"ElementaryTypeName","src":"58737:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26939,"mutability":"mutable","name":"p3","nameLocation":"58760:2:15","nodeType":"VariableDeclaration","scope":26954,"src":"58746:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":26938,"name":"string","nodeType":"ElementaryTypeName","src":"58746:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58712:51:15"},"returnParameters":{"id":26941,"nodeType":"ParameterList","parameters":[],"src":"58778:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":26977,"nodeType":"FunctionDefinition","src":"58893:176:15","nodes":[],"body":{"id":26976,"nodeType":"Block","src":"58962:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c626f6f6c29","id":26968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59012:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7","typeString":"literal_string \"log(address,uint256,bool,bool)\""},"value":"log(address,uint256,bool,bool)"},{"id":26969,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26956,"src":"59046:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26970,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26958,"src":"59050:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26971,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26960,"src":"59054:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26972,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26962,"src":"59058:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7","typeString":"literal_string \"log(address,uint256,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":26966,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58988:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58988:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58988:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26965,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"58972:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"58972:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26975,"nodeType":"ExpressionStatement","src":"58972:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58902:3:15","parameters":{"id":26963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26956,"mutability":"mutable","name":"p0","nameLocation":"58914:2:15","nodeType":"VariableDeclaration","scope":26977,"src":"58906:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26955,"name":"address","nodeType":"ElementaryTypeName","src":"58906:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26958,"mutability":"mutable","name":"p1","nameLocation":"58926:2:15","nodeType":"VariableDeclaration","scope":26977,"src":"58918:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26957,"name":"uint256","nodeType":"ElementaryTypeName","src":"58918:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26960,"mutability":"mutable","name":"p2","nameLocation":"58935:2:15","nodeType":"VariableDeclaration","scope":26977,"src":"58930:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26959,"name":"bool","nodeType":"ElementaryTypeName","src":"58930:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26962,"mutability":"mutable","name":"p3","nameLocation":"58944:2:15","nodeType":"VariableDeclaration","scope":26977,"src":"58939:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26961,"name":"bool","nodeType":"ElementaryTypeName","src":"58939:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"58905:42:15"},"returnParameters":{"id":26964,"nodeType":"ParameterList","parameters":[],"src":"58962:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27000,"nodeType":"FunctionDefinition","src":"59075:182:15","nodes":[],"body":{"id":26999,"nodeType":"Block","src":"59147:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c6164647265737329","id":26991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59197:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290","typeString":"literal_string \"log(address,uint256,bool,address)\""},"value":"log(address,uint256,bool,address)"},{"id":26992,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26979,"src":"59234:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":26993,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26981,"src":"59238:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":26994,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26983,"src":"59242:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":26995,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26985,"src":"59246:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290","typeString":"literal_string \"log(address,uint256,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":26989,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59173:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":26990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59173:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":26996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59173:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":26988,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"59157:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":26997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59157:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":26998,"nodeType":"ExpressionStatement","src":"59157:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59084:3:15","parameters":{"id":26986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26979,"mutability":"mutable","name":"p0","nameLocation":"59096:2:15","nodeType":"VariableDeclaration","scope":27000,"src":"59088:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26978,"name":"address","nodeType":"ElementaryTypeName","src":"59088:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":26981,"mutability":"mutable","name":"p1","nameLocation":"59108:2:15","nodeType":"VariableDeclaration","scope":27000,"src":"59100:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26980,"name":"uint256","nodeType":"ElementaryTypeName","src":"59100:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":26983,"mutability":"mutable","name":"p2","nameLocation":"59117:2:15","nodeType":"VariableDeclaration","scope":27000,"src":"59112:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":26982,"name":"bool","nodeType":"ElementaryTypeName","src":"59112:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":26985,"mutability":"mutable","name":"p3","nameLocation":"59129:2:15","nodeType":"VariableDeclaration","scope":27000,"src":"59121:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":26984,"name":"address","nodeType":"ElementaryTypeName","src":"59121:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59087:45:15"},"returnParameters":{"id":26987,"nodeType":"ParameterList","parameters":[],"src":"59147:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27023,"nodeType":"FunctionDefinition","src":"59263:188:15","nodes":[],"body":{"id":27022,"nodeType":"Block","src":"59338:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c75696e7432353629","id":27014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59388:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6","typeString":"literal_string \"log(address,uint256,address,uint256)\""},"value":"log(address,uint256,address,uint256)"},{"id":27015,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27002,"src":"59428:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27016,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27004,"src":"59432:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27017,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27006,"src":"59436:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27018,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27008,"src":"59440:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6","typeString":"literal_string \"log(address,uint256,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27012,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59364:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59364:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59364:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27011,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"59348:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59348:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27021,"nodeType":"ExpressionStatement","src":"59348:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59272:3:15","parameters":{"id":27009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27002,"mutability":"mutable","name":"p0","nameLocation":"59284:2:15","nodeType":"VariableDeclaration","scope":27023,"src":"59276:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27001,"name":"address","nodeType":"ElementaryTypeName","src":"59276:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27004,"mutability":"mutable","name":"p1","nameLocation":"59296:2:15","nodeType":"VariableDeclaration","scope":27023,"src":"59288:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27003,"name":"uint256","nodeType":"ElementaryTypeName","src":"59288:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27006,"mutability":"mutable","name":"p2","nameLocation":"59308:2:15","nodeType":"VariableDeclaration","scope":27023,"src":"59300:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27005,"name":"address","nodeType":"ElementaryTypeName","src":"59300:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27008,"mutability":"mutable","name":"p3","nameLocation":"59320:2:15","nodeType":"VariableDeclaration","scope":27023,"src":"59312:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27007,"name":"uint256","nodeType":"ElementaryTypeName","src":"59312:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59275:48:15"},"returnParameters":{"id":27010,"nodeType":"ParameterList","parameters":[],"src":"59338:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27046,"nodeType":"FunctionDefinition","src":"59457:193:15","nodes":[],"body":{"id":27045,"nodeType":"Block","src":"59538:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c737472696e6729","id":27037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59588:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb","typeString":"literal_string \"log(address,uint256,address,string)\""},"value":"log(address,uint256,address,string)"},{"id":27038,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27025,"src":"59627:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27039,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27027,"src":"59631:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27040,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27029,"src":"59635:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27041,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27031,"src":"59639:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb","typeString":"literal_string \"log(address,uint256,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27035,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59564:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59564:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59564:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27034,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"59548:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59548:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27044,"nodeType":"ExpressionStatement","src":"59548:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59466:3:15","parameters":{"id":27032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27025,"mutability":"mutable","name":"p0","nameLocation":"59478:2:15","nodeType":"VariableDeclaration","scope":27046,"src":"59470:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27024,"name":"address","nodeType":"ElementaryTypeName","src":"59470:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27027,"mutability":"mutable","name":"p1","nameLocation":"59490:2:15","nodeType":"VariableDeclaration","scope":27046,"src":"59482:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27026,"name":"uint256","nodeType":"ElementaryTypeName","src":"59482:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27029,"mutability":"mutable","name":"p2","nameLocation":"59502:2:15","nodeType":"VariableDeclaration","scope":27046,"src":"59494:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27028,"name":"address","nodeType":"ElementaryTypeName","src":"59494:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27031,"mutability":"mutable","name":"p3","nameLocation":"59520:2:15","nodeType":"VariableDeclaration","scope":27046,"src":"59506:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27030,"name":"string","nodeType":"ElementaryTypeName","src":"59506:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59469:54:15"},"returnParameters":{"id":27033,"nodeType":"ParameterList","parameters":[],"src":"59538:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27069,"nodeType":"FunctionDefinition","src":"59656:182:15","nodes":[],"body":{"id":27068,"nodeType":"Block","src":"59728:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c626f6f6c29","id":27060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59778:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322","typeString":"literal_string \"log(address,uint256,address,bool)\""},"value":"log(address,uint256,address,bool)"},{"id":27061,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27048,"src":"59815:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27062,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27050,"src":"59819:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27063,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27052,"src":"59823:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27064,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27054,"src":"59827:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322","typeString":"literal_string \"log(address,uint256,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27058,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59754:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59754:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59754:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27057,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"59738:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59738:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27067,"nodeType":"ExpressionStatement","src":"59738:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59665:3:15","parameters":{"id":27055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27048,"mutability":"mutable","name":"p0","nameLocation":"59677:2:15","nodeType":"VariableDeclaration","scope":27069,"src":"59669:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27047,"name":"address","nodeType":"ElementaryTypeName","src":"59669:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27050,"mutability":"mutable","name":"p1","nameLocation":"59689:2:15","nodeType":"VariableDeclaration","scope":27069,"src":"59681:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27049,"name":"uint256","nodeType":"ElementaryTypeName","src":"59681:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27052,"mutability":"mutable","name":"p2","nameLocation":"59701:2:15","nodeType":"VariableDeclaration","scope":27069,"src":"59693:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27051,"name":"address","nodeType":"ElementaryTypeName","src":"59693:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27054,"mutability":"mutable","name":"p3","nameLocation":"59710:2:15","nodeType":"VariableDeclaration","scope":27069,"src":"59705:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27053,"name":"bool","nodeType":"ElementaryTypeName","src":"59705:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"59668:45:15"},"returnParameters":{"id":27056,"nodeType":"ParameterList","parameters":[],"src":"59728:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27092,"nodeType":"FunctionDefinition","src":"59844:188:15","nodes":[],"body":{"id":27091,"nodeType":"Block","src":"59919:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c6164647265737329","id":27083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59969:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4","typeString":"literal_string \"log(address,uint256,address,address)\""},"value":"log(address,uint256,address,address)"},{"id":27084,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27071,"src":"60009:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27085,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27073,"src":"60013:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27086,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27075,"src":"60017:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27087,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27077,"src":"60021:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4","typeString":"literal_string \"log(address,uint256,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27081,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59945:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59945:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59945:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27080,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"59929:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"59929:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27090,"nodeType":"ExpressionStatement","src":"59929:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59853:3:15","parameters":{"id":27078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27071,"mutability":"mutable","name":"p0","nameLocation":"59865:2:15","nodeType":"VariableDeclaration","scope":27092,"src":"59857:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27070,"name":"address","nodeType":"ElementaryTypeName","src":"59857:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27073,"mutability":"mutable","name":"p1","nameLocation":"59877:2:15","nodeType":"VariableDeclaration","scope":27092,"src":"59869:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27072,"name":"uint256","nodeType":"ElementaryTypeName","src":"59869:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27075,"mutability":"mutable","name":"p2","nameLocation":"59889:2:15","nodeType":"VariableDeclaration","scope":27092,"src":"59881:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27074,"name":"address","nodeType":"ElementaryTypeName","src":"59881:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27077,"mutability":"mutable","name":"p3","nameLocation":"59901:2:15","nodeType":"VariableDeclaration","scope":27092,"src":"59893:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27076,"name":"address","nodeType":"ElementaryTypeName","src":"59893:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59856:48:15"},"returnParameters":{"id":27079,"nodeType":"ParameterList","parameters":[],"src":"59919:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27115,"nodeType":"FunctionDefinition","src":"60038:193:15","nodes":[],"body":{"id":27114,"nodeType":"Block","src":"60119:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c75696e7432353629","id":27106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60169:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562","typeString":"literal_string \"log(address,string,uint256,uint256)\""},"value":"log(address,string,uint256,uint256)"},{"id":27107,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27094,"src":"60208:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27108,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27096,"src":"60212:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27109,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27098,"src":"60216:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27110,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27100,"src":"60220:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562","typeString":"literal_string \"log(address,string,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27104,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60145:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60145:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60145:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27103,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"60129:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60129:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27113,"nodeType":"ExpressionStatement","src":"60129:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60047:3:15","parameters":{"id":27101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27094,"mutability":"mutable","name":"p0","nameLocation":"60059:2:15","nodeType":"VariableDeclaration","scope":27115,"src":"60051:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27093,"name":"address","nodeType":"ElementaryTypeName","src":"60051:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27096,"mutability":"mutable","name":"p1","nameLocation":"60077:2:15","nodeType":"VariableDeclaration","scope":27115,"src":"60063:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27095,"name":"string","nodeType":"ElementaryTypeName","src":"60063:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27098,"mutability":"mutable","name":"p2","nameLocation":"60089:2:15","nodeType":"VariableDeclaration","scope":27115,"src":"60081:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27097,"name":"uint256","nodeType":"ElementaryTypeName","src":"60081:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27100,"mutability":"mutable","name":"p3","nameLocation":"60101:2:15","nodeType":"VariableDeclaration","scope":27115,"src":"60093:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27099,"name":"uint256","nodeType":"ElementaryTypeName","src":"60093:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60050:54:15"},"returnParameters":{"id":27102,"nodeType":"ParameterList","parameters":[],"src":"60119:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27138,"nodeType":"FunctionDefinition","src":"60237:198:15","nodes":[],"body":{"id":27137,"nodeType":"Block","src":"60324:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c737472696e6729","id":27129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60374:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3","typeString":"literal_string \"log(address,string,uint256,string)\""},"value":"log(address,string,uint256,string)"},{"id":27130,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27117,"src":"60412:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27131,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27119,"src":"60416:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27132,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27121,"src":"60420:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27133,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27123,"src":"60424:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3","typeString":"literal_string \"log(address,string,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27127,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60350:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60350:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60350:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27126,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"60334:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60334:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27136,"nodeType":"ExpressionStatement","src":"60334:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60246:3:15","parameters":{"id":27124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27117,"mutability":"mutable","name":"p0","nameLocation":"60258:2:15","nodeType":"VariableDeclaration","scope":27138,"src":"60250:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27116,"name":"address","nodeType":"ElementaryTypeName","src":"60250:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27119,"mutability":"mutable","name":"p1","nameLocation":"60276:2:15","nodeType":"VariableDeclaration","scope":27138,"src":"60262:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27118,"name":"string","nodeType":"ElementaryTypeName","src":"60262:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27121,"mutability":"mutable","name":"p2","nameLocation":"60288:2:15","nodeType":"VariableDeclaration","scope":27138,"src":"60280:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27120,"name":"uint256","nodeType":"ElementaryTypeName","src":"60280:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27123,"mutability":"mutable","name":"p3","nameLocation":"60306:2:15","nodeType":"VariableDeclaration","scope":27138,"src":"60292:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27122,"name":"string","nodeType":"ElementaryTypeName","src":"60292:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60249:60:15"},"returnParameters":{"id":27125,"nodeType":"ParameterList","parameters":[],"src":"60324:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27161,"nodeType":"FunctionDefinition","src":"60441:187:15","nodes":[],"body":{"id":27160,"nodeType":"Block","src":"60519:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c626f6f6c29","id":27152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60569:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4","typeString":"literal_string \"log(address,string,uint256,bool)\""},"value":"log(address,string,uint256,bool)"},{"id":27153,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27140,"src":"60605:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27154,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27142,"src":"60609:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27155,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27144,"src":"60613:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27156,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27146,"src":"60617:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4","typeString":"literal_string \"log(address,string,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27150,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60545:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60545:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60545:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27149,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"60529:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60529:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27159,"nodeType":"ExpressionStatement","src":"60529:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60450:3:15","parameters":{"id":27147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27140,"mutability":"mutable","name":"p0","nameLocation":"60462:2:15","nodeType":"VariableDeclaration","scope":27161,"src":"60454:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27139,"name":"address","nodeType":"ElementaryTypeName","src":"60454:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27142,"mutability":"mutable","name":"p1","nameLocation":"60480:2:15","nodeType":"VariableDeclaration","scope":27161,"src":"60466:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27141,"name":"string","nodeType":"ElementaryTypeName","src":"60466:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27144,"mutability":"mutable","name":"p2","nameLocation":"60492:2:15","nodeType":"VariableDeclaration","scope":27161,"src":"60484:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27143,"name":"uint256","nodeType":"ElementaryTypeName","src":"60484:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27146,"mutability":"mutable","name":"p3","nameLocation":"60501:2:15","nodeType":"VariableDeclaration","scope":27161,"src":"60496:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27145,"name":"bool","nodeType":"ElementaryTypeName","src":"60496:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"60453:51:15"},"returnParameters":{"id":27148,"nodeType":"ParameterList","parameters":[],"src":"60519:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27184,"nodeType":"FunctionDefinition","src":"60634:193:15","nodes":[],"body":{"id":27183,"nodeType":"Block","src":"60715:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c6164647265737329","id":27175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60765:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18","typeString":"literal_string \"log(address,string,uint256,address)\""},"value":"log(address,string,uint256,address)"},{"id":27176,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27163,"src":"60804:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27177,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27165,"src":"60808:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27178,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27167,"src":"60812:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27179,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27169,"src":"60816:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18","typeString":"literal_string \"log(address,string,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27173,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60741:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60741:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60741:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27172,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"60725:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60725:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27182,"nodeType":"ExpressionStatement","src":"60725:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60643:3:15","parameters":{"id":27170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27163,"mutability":"mutable","name":"p0","nameLocation":"60655:2:15","nodeType":"VariableDeclaration","scope":27184,"src":"60647:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27162,"name":"address","nodeType":"ElementaryTypeName","src":"60647:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27165,"mutability":"mutable","name":"p1","nameLocation":"60673:2:15","nodeType":"VariableDeclaration","scope":27184,"src":"60659:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27164,"name":"string","nodeType":"ElementaryTypeName","src":"60659:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27167,"mutability":"mutable","name":"p2","nameLocation":"60685:2:15","nodeType":"VariableDeclaration","scope":27184,"src":"60677:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27166,"name":"uint256","nodeType":"ElementaryTypeName","src":"60677:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27169,"mutability":"mutable","name":"p3","nameLocation":"60697:2:15","nodeType":"VariableDeclaration","scope":27184,"src":"60689:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27168,"name":"address","nodeType":"ElementaryTypeName","src":"60689:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"60646:54:15"},"returnParameters":{"id":27171,"nodeType":"ParameterList","parameters":[],"src":"60715:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27207,"nodeType":"FunctionDefinition","src":"60833:198:15","nodes":[],"body":{"id":27206,"nodeType":"Block","src":"60920:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c75696e7432353629","id":27198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60970:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265","typeString":"literal_string \"log(address,string,string,uint256)\""},"value":"log(address,string,string,uint256)"},{"id":27199,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27186,"src":"61008:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27200,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27188,"src":"61012:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27201,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27190,"src":"61016:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27202,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27192,"src":"61020:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265","typeString":"literal_string \"log(address,string,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27196,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60946:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60946:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60946:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27195,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"60930:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"60930:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27205,"nodeType":"ExpressionStatement","src":"60930:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60842:3:15","parameters":{"id":27193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27186,"mutability":"mutable","name":"p0","nameLocation":"60854:2:15","nodeType":"VariableDeclaration","scope":27207,"src":"60846:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27185,"name":"address","nodeType":"ElementaryTypeName","src":"60846:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27188,"mutability":"mutable","name":"p1","nameLocation":"60872:2:15","nodeType":"VariableDeclaration","scope":27207,"src":"60858:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27187,"name":"string","nodeType":"ElementaryTypeName","src":"60858:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27190,"mutability":"mutable","name":"p2","nameLocation":"60890:2:15","nodeType":"VariableDeclaration","scope":27207,"src":"60876:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27189,"name":"string","nodeType":"ElementaryTypeName","src":"60876:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27192,"mutability":"mutable","name":"p3","nameLocation":"60902:2:15","nodeType":"VariableDeclaration","scope":27207,"src":"60894:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27191,"name":"uint256","nodeType":"ElementaryTypeName","src":"60894:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60845:60:15"},"returnParameters":{"id":27194,"nodeType":"ParameterList","parameters":[],"src":"60920:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27230,"nodeType":"FunctionDefinition","src":"61037:203:15","nodes":[],"body":{"id":27229,"nodeType":"Block","src":"61130:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c737472696e6729","id":27221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61180:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},"value":"log(address,string,string,string)"},{"id":27222,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27209,"src":"61217:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27223,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27211,"src":"61221:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27224,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27213,"src":"61225:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27225,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27215,"src":"61229:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"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":27219,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61156:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61156:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61156:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27218,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"61140:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61140:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27228,"nodeType":"ExpressionStatement","src":"61140:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61046:3:15","parameters":{"id":27216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27209,"mutability":"mutable","name":"p0","nameLocation":"61058:2:15","nodeType":"VariableDeclaration","scope":27230,"src":"61050:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27208,"name":"address","nodeType":"ElementaryTypeName","src":"61050:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27211,"mutability":"mutable","name":"p1","nameLocation":"61076:2:15","nodeType":"VariableDeclaration","scope":27230,"src":"61062:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27210,"name":"string","nodeType":"ElementaryTypeName","src":"61062:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27213,"mutability":"mutable","name":"p2","nameLocation":"61094:2:15","nodeType":"VariableDeclaration","scope":27230,"src":"61080:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27212,"name":"string","nodeType":"ElementaryTypeName","src":"61080:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27215,"mutability":"mutable","name":"p3","nameLocation":"61112:2:15","nodeType":"VariableDeclaration","scope":27230,"src":"61098:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27214,"name":"string","nodeType":"ElementaryTypeName","src":"61098:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61049:66:15"},"returnParameters":{"id":27217,"nodeType":"ParameterList","parameters":[],"src":"61130:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27253,"nodeType":"FunctionDefinition","src":"61246:192:15","nodes":[],"body":{"id":27252,"nodeType":"Block","src":"61330:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c626f6f6c29","id":27244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61380:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},"value":"log(address,string,string,bool)"},{"id":27245,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27232,"src":"61415:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27246,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27234,"src":"61419:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27247,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27236,"src":"61423:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27248,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27238,"src":"61427:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27242,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61356:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61356:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61356:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27241,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"61340:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61340:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27251,"nodeType":"ExpressionStatement","src":"61340:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61255:3:15","parameters":{"id":27239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27232,"mutability":"mutable","name":"p0","nameLocation":"61267:2:15","nodeType":"VariableDeclaration","scope":27253,"src":"61259:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27231,"name":"address","nodeType":"ElementaryTypeName","src":"61259:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27234,"mutability":"mutable","name":"p1","nameLocation":"61285:2:15","nodeType":"VariableDeclaration","scope":27253,"src":"61271:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27233,"name":"string","nodeType":"ElementaryTypeName","src":"61271:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27236,"mutability":"mutable","name":"p2","nameLocation":"61303:2:15","nodeType":"VariableDeclaration","scope":27253,"src":"61289:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27235,"name":"string","nodeType":"ElementaryTypeName","src":"61289:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27238,"mutability":"mutable","name":"p3","nameLocation":"61312:2:15","nodeType":"VariableDeclaration","scope":27253,"src":"61307:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27237,"name":"bool","nodeType":"ElementaryTypeName","src":"61307:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"61258:57:15"},"returnParameters":{"id":27240,"nodeType":"ParameterList","parameters":[],"src":"61330:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27276,"nodeType":"FunctionDefinition","src":"61444:198:15","nodes":[],"body":{"id":27275,"nodeType":"Block","src":"61531:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c6164647265737329","id":27267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61581:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},"value":"log(address,string,string,address)"},{"id":27268,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27255,"src":"61619:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27269,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27257,"src":"61623:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27270,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27259,"src":"61627:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27271,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27261,"src":"61631:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27265,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61557:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27266,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61557:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61557:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27264,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"61541:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61541:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27274,"nodeType":"ExpressionStatement","src":"61541:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61453:3:15","parameters":{"id":27262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27255,"mutability":"mutable","name":"p0","nameLocation":"61465:2:15","nodeType":"VariableDeclaration","scope":27276,"src":"61457:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27254,"name":"address","nodeType":"ElementaryTypeName","src":"61457:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27257,"mutability":"mutable","name":"p1","nameLocation":"61483:2:15","nodeType":"VariableDeclaration","scope":27276,"src":"61469:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27256,"name":"string","nodeType":"ElementaryTypeName","src":"61469:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27259,"mutability":"mutable","name":"p2","nameLocation":"61501:2:15","nodeType":"VariableDeclaration","scope":27276,"src":"61487:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27258,"name":"string","nodeType":"ElementaryTypeName","src":"61487:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27261,"mutability":"mutable","name":"p3","nameLocation":"61513:2:15","nodeType":"VariableDeclaration","scope":27276,"src":"61505:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27260,"name":"address","nodeType":"ElementaryTypeName","src":"61505:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"61456:60:15"},"returnParameters":{"id":27263,"nodeType":"ParameterList","parameters":[],"src":"61531:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27299,"nodeType":"FunctionDefinition","src":"61648:187:15","nodes":[],"body":{"id":27298,"nodeType":"Block","src":"61726:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c75696e7432353629","id":27290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61776:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345","typeString":"literal_string \"log(address,string,bool,uint256)\""},"value":"log(address,string,bool,uint256)"},{"id":27291,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27278,"src":"61812:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27292,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27280,"src":"61816:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27293,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27282,"src":"61820:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27294,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27284,"src":"61824:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345","typeString":"literal_string \"log(address,string,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27288,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61752:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61752:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61752:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27287,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"61736:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61736:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27297,"nodeType":"ExpressionStatement","src":"61736:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61657:3:15","parameters":{"id":27285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27278,"mutability":"mutable","name":"p0","nameLocation":"61669:2:15","nodeType":"VariableDeclaration","scope":27299,"src":"61661:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27277,"name":"address","nodeType":"ElementaryTypeName","src":"61661:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27280,"mutability":"mutable","name":"p1","nameLocation":"61687:2:15","nodeType":"VariableDeclaration","scope":27299,"src":"61673:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27279,"name":"string","nodeType":"ElementaryTypeName","src":"61673:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27282,"mutability":"mutable","name":"p2","nameLocation":"61696:2:15","nodeType":"VariableDeclaration","scope":27299,"src":"61691:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27281,"name":"bool","nodeType":"ElementaryTypeName","src":"61691:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27284,"mutability":"mutable","name":"p3","nameLocation":"61708:2:15","nodeType":"VariableDeclaration","scope":27299,"src":"61700:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27283,"name":"uint256","nodeType":"ElementaryTypeName","src":"61700:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61660:51:15"},"returnParameters":{"id":27286,"nodeType":"ParameterList","parameters":[],"src":"61726:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27322,"nodeType":"FunctionDefinition","src":"61841:192:15","nodes":[],"body":{"id":27321,"nodeType":"Block","src":"61925:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c737472696e6729","id":27313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61975:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},"value":"log(address,string,bool,string)"},{"id":27314,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27301,"src":"62010:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27315,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27303,"src":"62014:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27316,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27305,"src":"62018:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27317,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27307,"src":"62022:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27311,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61951:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61951:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61951:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27310,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"61935:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"61935:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27320,"nodeType":"ExpressionStatement","src":"61935:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61850:3:15","parameters":{"id":27308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27301,"mutability":"mutable","name":"p0","nameLocation":"61862:2:15","nodeType":"VariableDeclaration","scope":27322,"src":"61854:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27300,"name":"address","nodeType":"ElementaryTypeName","src":"61854:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27303,"mutability":"mutable","name":"p1","nameLocation":"61880:2:15","nodeType":"VariableDeclaration","scope":27322,"src":"61866:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27302,"name":"string","nodeType":"ElementaryTypeName","src":"61866:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27305,"mutability":"mutable","name":"p2","nameLocation":"61889:2:15","nodeType":"VariableDeclaration","scope":27322,"src":"61884:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27304,"name":"bool","nodeType":"ElementaryTypeName","src":"61884:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27307,"mutability":"mutable","name":"p3","nameLocation":"61907:2:15","nodeType":"VariableDeclaration","scope":27322,"src":"61893:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27306,"name":"string","nodeType":"ElementaryTypeName","src":"61893:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61853:57:15"},"returnParameters":{"id":27309,"nodeType":"ParameterList","parameters":[],"src":"61925:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27345,"nodeType":"FunctionDefinition","src":"62039:181:15","nodes":[],"body":{"id":27344,"nodeType":"Block","src":"62114:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c626f6f6c29","id":27336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62164:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},"value":"log(address,string,bool,bool)"},{"id":27337,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27324,"src":"62197:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27338,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27326,"src":"62201:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27339,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27328,"src":"62205:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27340,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27330,"src":"62209:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27334,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62140:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62140:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62140:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27333,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"62124:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62124:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27343,"nodeType":"ExpressionStatement","src":"62124:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62048:3:15","parameters":{"id":27331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27324,"mutability":"mutable","name":"p0","nameLocation":"62060:2:15","nodeType":"VariableDeclaration","scope":27345,"src":"62052:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27323,"name":"address","nodeType":"ElementaryTypeName","src":"62052:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27326,"mutability":"mutable","name":"p1","nameLocation":"62078:2:15","nodeType":"VariableDeclaration","scope":27345,"src":"62064:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27325,"name":"string","nodeType":"ElementaryTypeName","src":"62064:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27328,"mutability":"mutable","name":"p2","nameLocation":"62087:2:15","nodeType":"VariableDeclaration","scope":27345,"src":"62082:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27327,"name":"bool","nodeType":"ElementaryTypeName","src":"62082:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27330,"mutability":"mutable","name":"p3","nameLocation":"62096:2:15","nodeType":"VariableDeclaration","scope":27345,"src":"62091:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27329,"name":"bool","nodeType":"ElementaryTypeName","src":"62091:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62051:48:15"},"returnParameters":{"id":27332,"nodeType":"ParameterList","parameters":[],"src":"62114:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27368,"nodeType":"FunctionDefinition","src":"62226:187:15","nodes":[],"body":{"id":27367,"nodeType":"Block","src":"62304:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c6164647265737329","id":27359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62354:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},"value":"log(address,string,bool,address)"},{"id":27360,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27347,"src":"62390:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27361,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27349,"src":"62394:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27362,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27351,"src":"62398:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27363,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27353,"src":"62402:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27357,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62330:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27358,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62330:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62330:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27356,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"62314:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62314:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27366,"nodeType":"ExpressionStatement","src":"62314:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62235:3:15","parameters":{"id":27354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27347,"mutability":"mutable","name":"p0","nameLocation":"62247:2:15","nodeType":"VariableDeclaration","scope":27368,"src":"62239:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27346,"name":"address","nodeType":"ElementaryTypeName","src":"62239:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27349,"mutability":"mutable","name":"p1","nameLocation":"62265:2:15","nodeType":"VariableDeclaration","scope":27368,"src":"62251:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27348,"name":"string","nodeType":"ElementaryTypeName","src":"62251:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27351,"mutability":"mutable","name":"p2","nameLocation":"62274:2:15","nodeType":"VariableDeclaration","scope":27368,"src":"62269:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27350,"name":"bool","nodeType":"ElementaryTypeName","src":"62269:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27353,"mutability":"mutable","name":"p3","nameLocation":"62286:2:15","nodeType":"VariableDeclaration","scope":27368,"src":"62278:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27352,"name":"address","nodeType":"ElementaryTypeName","src":"62278:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"62238:51:15"},"returnParameters":{"id":27355,"nodeType":"ParameterList","parameters":[],"src":"62304:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27391,"nodeType":"FunctionDefinition","src":"62419:193:15","nodes":[],"body":{"id":27390,"nodeType":"Block","src":"62500:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c75696e7432353629","id":27382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62550:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7","typeString":"literal_string \"log(address,string,address,uint256)\""},"value":"log(address,string,address,uint256)"},{"id":27383,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27370,"src":"62589:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27384,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27372,"src":"62593:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27385,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27374,"src":"62597:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27386,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27376,"src":"62601:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7","typeString":"literal_string \"log(address,string,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27380,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62526:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27381,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62526:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62526:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27379,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"62510:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62510:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27389,"nodeType":"ExpressionStatement","src":"62510:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62428:3:15","parameters":{"id":27377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27370,"mutability":"mutable","name":"p0","nameLocation":"62440:2:15","nodeType":"VariableDeclaration","scope":27391,"src":"62432:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27369,"name":"address","nodeType":"ElementaryTypeName","src":"62432:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27372,"mutability":"mutable","name":"p1","nameLocation":"62458:2:15","nodeType":"VariableDeclaration","scope":27391,"src":"62444:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27371,"name":"string","nodeType":"ElementaryTypeName","src":"62444:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27374,"mutability":"mutable","name":"p2","nameLocation":"62470:2:15","nodeType":"VariableDeclaration","scope":27391,"src":"62462:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27373,"name":"address","nodeType":"ElementaryTypeName","src":"62462:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27376,"mutability":"mutable","name":"p3","nameLocation":"62482:2:15","nodeType":"VariableDeclaration","scope":27391,"src":"62474:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27375,"name":"uint256","nodeType":"ElementaryTypeName","src":"62474:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62431:54:15"},"returnParameters":{"id":27378,"nodeType":"ParameterList","parameters":[],"src":"62500:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27414,"nodeType":"FunctionDefinition","src":"62618:198:15","nodes":[],"body":{"id":27413,"nodeType":"Block","src":"62705:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c737472696e6729","id":27405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62755:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},"value":"log(address,string,address,string)"},{"id":27406,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27393,"src":"62793:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27407,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27395,"src":"62797:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27408,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27397,"src":"62801:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27409,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27399,"src":"62805:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27403,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62731:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62731:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62731:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27402,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"62715:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62715:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27412,"nodeType":"ExpressionStatement","src":"62715:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62627:3:15","parameters":{"id":27400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27393,"mutability":"mutable","name":"p0","nameLocation":"62639:2:15","nodeType":"VariableDeclaration","scope":27414,"src":"62631:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27392,"name":"address","nodeType":"ElementaryTypeName","src":"62631:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27395,"mutability":"mutable","name":"p1","nameLocation":"62657:2:15","nodeType":"VariableDeclaration","scope":27414,"src":"62643:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27394,"name":"string","nodeType":"ElementaryTypeName","src":"62643:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27397,"mutability":"mutable","name":"p2","nameLocation":"62669:2:15","nodeType":"VariableDeclaration","scope":27414,"src":"62661:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27396,"name":"address","nodeType":"ElementaryTypeName","src":"62661:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27399,"mutability":"mutable","name":"p3","nameLocation":"62687:2:15","nodeType":"VariableDeclaration","scope":27414,"src":"62673:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27398,"name":"string","nodeType":"ElementaryTypeName","src":"62673:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62630:60:15"},"returnParameters":{"id":27401,"nodeType":"ParameterList","parameters":[],"src":"62705:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27437,"nodeType":"FunctionDefinition","src":"62822:187:15","nodes":[],"body":{"id":27436,"nodeType":"Block","src":"62900:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c626f6f6c29","id":27428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62950:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},"value":"log(address,string,address,bool)"},{"id":27429,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27416,"src":"62986:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27430,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27418,"src":"62990:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27431,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27420,"src":"62994:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27432,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27422,"src":"62998:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27426,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62926:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62926:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62926:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27425,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"62910:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"62910:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27435,"nodeType":"ExpressionStatement","src":"62910:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62831:3:15","parameters":{"id":27423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27416,"mutability":"mutable","name":"p0","nameLocation":"62843:2:15","nodeType":"VariableDeclaration","scope":27437,"src":"62835:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27415,"name":"address","nodeType":"ElementaryTypeName","src":"62835:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27418,"mutability":"mutable","name":"p1","nameLocation":"62861:2:15","nodeType":"VariableDeclaration","scope":27437,"src":"62847:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27417,"name":"string","nodeType":"ElementaryTypeName","src":"62847:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27420,"mutability":"mutable","name":"p2","nameLocation":"62873:2:15","nodeType":"VariableDeclaration","scope":27437,"src":"62865:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27419,"name":"address","nodeType":"ElementaryTypeName","src":"62865:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27422,"mutability":"mutable","name":"p3","nameLocation":"62882:2:15","nodeType":"VariableDeclaration","scope":27437,"src":"62877:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27421,"name":"bool","nodeType":"ElementaryTypeName","src":"62877:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62834:51:15"},"returnParameters":{"id":27424,"nodeType":"ParameterList","parameters":[],"src":"62900:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27460,"nodeType":"FunctionDefinition","src":"63015:193:15","nodes":[],"body":{"id":27459,"nodeType":"Block","src":"63096:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c6164647265737329","id":27451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63146:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},"value":"log(address,string,address,address)"},{"id":27452,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27439,"src":"63185:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27453,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27441,"src":"63189:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27454,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27443,"src":"63193:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27455,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27445,"src":"63197:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27449,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63122:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63122:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63122:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27448,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"63106:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63106:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27458,"nodeType":"ExpressionStatement","src":"63106:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63024:3:15","parameters":{"id":27446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27439,"mutability":"mutable","name":"p0","nameLocation":"63036:2:15","nodeType":"VariableDeclaration","scope":27460,"src":"63028:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27438,"name":"address","nodeType":"ElementaryTypeName","src":"63028:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27441,"mutability":"mutable","name":"p1","nameLocation":"63054:2:15","nodeType":"VariableDeclaration","scope":27460,"src":"63040:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27440,"name":"string","nodeType":"ElementaryTypeName","src":"63040:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27443,"mutability":"mutable","name":"p2","nameLocation":"63066:2:15","nodeType":"VariableDeclaration","scope":27460,"src":"63058:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27442,"name":"address","nodeType":"ElementaryTypeName","src":"63058:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27445,"mutability":"mutable","name":"p3","nameLocation":"63078:2:15","nodeType":"VariableDeclaration","scope":27460,"src":"63070:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27444,"name":"address","nodeType":"ElementaryTypeName","src":"63070:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"63027:54:15"},"returnParameters":{"id":27447,"nodeType":"ParameterList","parameters":[],"src":"63096:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27483,"nodeType":"FunctionDefinition","src":"63214:182:15","nodes":[],"body":{"id":27482,"nodeType":"Block","src":"63286:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c75696e7432353629","id":27474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63336:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4","typeString":"literal_string \"log(address,bool,uint256,uint256)\""},"value":"log(address,bool,uint256,uint256)"},{"id":27475,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27462,"src":"63373:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27476,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27464,"src":"63377:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27477,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27466,"src":"63381:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27478,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27468,"src":"63385:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4","typeString":"literal_string \"log(address,bool,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27472,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63312:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63312:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63312:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27471,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"63296:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63296:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27481,"nodeType":"ExpressionStatement","src":"63296:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63223:3:15","parameters":{"id":27469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27462,"mutability":"mutable","name":"p0","nameLocation":"63235:2:15","nodeType":"VariableDeclaration","scope":27483,"src":"63227:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27461,"name":"address","nodeType":"ElementaryTypeName","src":"63227:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27464,"mutability":"mutable","name":"p1","nameLocation":"63244:2:15","nodeType":"VariableDeclaration","scope":27483,"src":"63239:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27463,"name":"bool","nodeType":"ElementaryTypeName","src":"63239:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27466,"mutability":"mutable","name":"p2","nameLocation":"63256:2:15","nodeType":"VariableDeclaration","scope":27483,"src":"63248:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27465,"name":"uint256","nodeType":"ElementaryTypeName","src":"63248:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27468,"mutability":"mutable","name":"p3","nameLocation":"63268:2:15","nodeType":"VariableDeclaration","scope":27483,"src":"63260:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27467,"name":"uint256","nodeType":"ElementaryTypeName","src":"63260:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63226:45:15"},"returnParameters":{"id":27470,"nodeType":"ParameterList","parameters":[],"src":"63286:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27506,"nodeType":"FunctionDefinition","src":"63402:187:15","nodes":[],"body":{"id":27505,"nodeType":"Block","src":"63480:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c737472696e6729","id":27497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63530:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283","typeString":"literal_string \"log(address,bool,uint256,string)\""},"value":"log(address,bool,uint256,string)"},{"id":27498,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27485,"src":"63566:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27499,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27487,"src":"63570:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27500,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27489,"src":"63574:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27501,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27491,"src":"63578:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283","typeString":"literal_string \"log(address,bool,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27495,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63506:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63506:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63506:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27494,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"63490:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63490:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27504,"nodeType":"ExpressionStatement","src":"63490:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63411:3:15","parameters":{"id":27492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27485,"mutability":"mutable","name":"p0","nameLocation":"63423:2:15","nodeType":"VariableDeclaration","scope":27506,"src":"63415:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27484,"name":"address","nodeType":"ElementaryTypeName","src":"63415:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27487,"mutability":"mutable","name":"p1","nameLocation":"63432:2:15","nodeType":"VariableDeclaration","scope":27506,"src":"63427:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27486,"name":"bool","nodeType":"ElementaryTypeName","src":"63427:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27489,"mutability":"mutable","name":"p2","nameLocation":"63444:2:15","nodeType":"VariableDeclaration","scope":27506,"src":"63436:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27488,"name":"uint256","nodeType":"ElementaryTypeName","src":"63436:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27491,"mutability":"mutable","name":"p3","nameLocation":"63462:2:15","nodeType":"VariableDeclaration","scope":27506,"src":"63448:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27490,"name":"string","nodeType":"ElementaryTypeName","src":"63448:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63414:51:15"},"returnParameters":{"id":27493,"nodeType":"ParameterList","parameters":[],"src":"63480:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27529,"nodeType":"FunctionDefinition","src":"63595:176:15","nodes":[],"body":{"id":27528,"nodeType":"Block","src":"63664:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c626f6f6c29","id":27520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63714:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c","typeString":"literal_string \"log(address,bool,uint256,bool)\""},"value":"log(address,bool,uint256,bool)"},{"id":27521,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27508,"src":"63748:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27522,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27510,"src":"63752:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27523,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27512,"src":"63756:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27524,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27514,"src":"63760:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c","typeString":"literal_string \"log(address,bool,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27518,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63690:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63690:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63690:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27517,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"63674:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63674:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27527,"nodeType":"ExpressionStatement","src":"63674:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63604:3:15","parameters":{"id":27515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27508,"mutability":"mutable","name":"p0","nameLocation":"63616:2:15","nodeType":"VariableDeclaration","scope":27529,"src":"63608:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27507,"name":"address","nodeType":"ElementaryTypeName","src":"63608:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27510,"mutability":"mutable","name":"p1","nameLocation":"63625:2:15","nodeType":"VariableDeclaration","scope":27529,"src":"63620:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27509,"name":"bool","nodeType":"ElementaryTypeName","src":"63620:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27512,"mutability":"mutable","name":"p2","nameLocation":"63637:2:15","nodeType":"VariableDeclaration","scope":27529,"src":"63629:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27511,"name":"uint256","nodeType":"ElementaryTypeName","src":"63629:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27514,"mutability":"mutable","name":"p3","nameLocation":"63646:2:15","nodeType":"VariableDeclaration","scope":27529,"src":"63641:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27513,"name":"bool","nodeType":"ElementaryTypeName","src":"63641:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"63607:42:15"},"returnParameters":{"id":27516,"nodeType":"ParameterList","parameters":[],"src":"63664:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27552,"nodeType":"FunctionDefinition","src":"63777:182:15","nodes":[],"body":{"id":27551,"nodeType":"Block","src":"63849:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c6164647265737329","id":27543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63899:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee","typeString":"literal_string \"log(address,bool,uint256,address)\""},"value":"log(address,bool,uint256,address)"},{"id":27544,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27531,"src":"63936:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27545,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27533,"src":"63940:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27546,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27535,"src":"63944:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27547,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27537,"src":"63948:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee","typeString":"literal_string \"log(address,bool,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27541,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63875:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63875:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63875:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27540,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"63859:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"63859:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27550,"nodeType":"ExpressionStatement","src":"63859:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63786:3:15","parameters":{"id":27538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27531,"mutability":"mutable","name":"p0","nameLocation":"63798:2:15","nodeType":"VariableDeclaration","scope":27552,"src":"63790:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27530,"name":"address","nodeType":"ElementaryTypeName","src":"63790:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27533,"mutability":"mutable","name":"p1","nameLocation":"63807:2:15","nodeType":"VariableDeclaration","scope":27552,"src":"63802:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27532,"name":"bool","nodeType":"ElementaryTypeName","src":"63802:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27535,"mutability":"mutable","name":"p2","nameLocation":"63819:2:15","nodeType":"VariableDeclaration","scope":27552,"src":"63811:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27534,"name":"uint256","nodeType":"ElementaryTypeName","src":"63811:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27537,"mutability":"mutable","name":"p3","nameLocation":"63831:2:15","nodeType":"VariableDeclaration","scope":27552,"src":"63823:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27536,"name":"address","nodeType":"ElementaryTypeName","src":"63823:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"63789:45:15"},"returnParameters":{"id":27539,"nodeType":"ParameterList","parameters":[],"src":"63849:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27575,"nodeType":"FunctionDefinition","src":"63965:187:15","nodes":[],"body":{"id":27574,"nodeType":"Block","src":"64043:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c75696e7432353629","id":27566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64093:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69","typeString":"literal_string \"log(address,bool,string,uint256)\""},"value":"log(address,bool,string,uint256)"},{"id":27567,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27554,"src":"64129:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27568,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27556,"src":"64133:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27569,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27558,"src":"64137:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27570,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27560,"src":"64141:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69","typeString":"literal_string \"log(address,bool,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27564,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64069:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64069:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64069:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27563,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"64053:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64053:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27573,"nodeType":"ExpressionStatement","src":"64053:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63974:3:15","parameters":{"id":27561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27554,"mutability":"mutable","name":"p0","nameLocation":"63986:2:15","nodeType":"VariableDeclaration","scope":27575,"src":"63978:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27553,"name":"address","nodeType":"ElementaryTypeName","src":"63978:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27556,"mutability":"mutable","name":"p1","nameLocation":"63995:2:15","nodeType":"VariableDeclaration","scope":27575,"src":"63990:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27555,"name":"bool","nodeType":"ElementaryTypeName","src":"63990:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27558,"mutability":"mutable","name":"p2","nameLocation":"64013:2:15","nodeType":"VariableDeclaration","scope":27575,"src":"63999:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27557,"name":"string","nodeType":"ElementaryTypeName","src":"63999:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27560,"mutability":"mutable","name":"p3","nameLocation":"64025:2:15","nodeType":"VariableDeclaration","scope":27575,"src":"64017:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27559,"name":"uint256","nodeType":"ElementaryTypeName","src":"64017:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63977:51:15"},"returnParameters":{"id":27562,"nodeType":"ParameterList","parameters":[],"src":"64043:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27598,"nodeType":"FunctionDefinition","src":"64158:192:15","nodes":[],"body":{"id":27597,"nodeType":"Block","src":"64242:108:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c737472696e6729","id":27589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64292:33:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},"value":"log(address,bool,string,string)"},{"id":27590,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27577,"src":"64327:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27591,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27579,"src":"64331:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27592,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27581,"src":"64335:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27593,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27583,"src":"64339:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27587,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64268:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64268:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64268:74:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27586,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"64252:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64252:91:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27596,"nodeType":"ExpressionStatement","src":"64252:91:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64167:3:15","parameters":{"id":27584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27577,"mutability":"mutable","name":"p0","nameLocation":"64179:2:15","nodeType":"VariableDeclaration","scope":27598,"src":"64171:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27576,"name":"address","nodeType":"ElementaryTypeName","src":"64171:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27579,"mutability":"mutable","name":"p1","nameLocation":"64188:2:15","nodeType":"VariableDeclaration","scope":27598,"src":"64183:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27578,"name":"bool","nodeType":"ElementaryTypeName","src":"64183:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27581,"mutability":"mutable","name":"p2","nameLocation":"64206:2:15","nodeType":"VariableDeclaration","scope":27598,"src":"64192:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27580,"name":"string","nodeType":"ElementaryTypeName","src":"64192:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27583,"mutability":"mutable","name":"p3","nameLocation":"64224:2:15","nodeType":"VariableDeclaration","scope":27598,"src":"64210:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27582,"name":"string","nodeType":"ElementaryTypeName","src":"64210:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64170:57:15"},"returnParameters":{"id":27585,"nodeType":"ParameterList","parameters":[],"src":"64242:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27621,"nodeType":"FunctionDefinition","src":"64356:181:15","nodes":[],"body":{"id":27620,"nodeType":"Block","src":"64431:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c626f6f6c29","id":27612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64481:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},"value":"log(address,bool,string,bool)"},{"id":27613,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27600,"src":"64514:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27614,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27602,"src":"64518:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27615,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27604,"src":"64522:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27616,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27606,"src":"64526:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27610,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64457:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27611,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64457:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64457:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27609,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"64441:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64441:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27619,"nodeType":"ExpressionStatement","src":"64441:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64365:3:15","parameters":{"id":27607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27600,"mutability":"mutable","name":"p0","nameLocation":"64377:2:15","nodeType":"VariableDeclaration","scope":27621,"src":"64369:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27599,"name":"address","nodeType":"ElementaryTypeName","src":"64369:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27602,"mutability":"mutable","name":"p1","nameLocation":"64386:2:15","nodeType":"VariableDeclaration","scope":27621,"src":"64381:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27601,"name":"bool","nodeType":"ElementaryTypeName","src":"64381:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27604,"mutability":"mutable","name":"p2","nameLocation":"64404:2:15","nodeType":"VariableDeclaration","scope":27621,"src":"64390:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27603,"name":"string","nodeType":"ElementaryTypeName","src":"64390:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27606,"mutability":"mutable","name":"p3","nameLocation":"64413:2:15","nodeType":"VariableDeclaration","scope":27621,"src":"64408:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27605,"name":"bool","nodeType":"ElementaryTypeName","src":"64408:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64368:48:15"},"returnParameters":{"id":27608,"nodeType":"ParameterList","parameters":[],"src":"64431:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27644,"nodeType":"FunctionDefinition","src":"64543:187:15","nodes":[],"body":{"id":27643,"nodeType":"Block","src":"64621:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c6164647265737329","id":27635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64671:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},"value":"log(address,bool,string,address)"},{"id":27636,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27623,"src":"64707:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27637,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27625,"src":"64711:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27638,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27627,"src":"64715:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27639,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27629,"src":"64719:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27633,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64647:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64647:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64647:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27632,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"64631:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64631:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27642,"nodeType":"ExpressionStatement","src":"64631:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64552:3:15","parameters":{"id":27630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27623,"mutability":"mutable","name":"p0","nameLocation":"64564:2:15","nodeType":"VariableDeclaration","scope":27644,"src":"64556:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27622,"name":"address","nodeType":"ElementaryTypeName","src":"64556:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27625,"mutability":"mutable","name":"p1","nameLocation":"64573:2:15","nodeType":"VariableDeclaration","scope":27644,"src":"64568:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27624,"name":"bool","nodeType":"ElementaryTypeName","src":"64568:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27627,"mutability":"mutable","name":"p2","nameLocation":"64591:2:15","nodeType":"VariableDeclaration","scope":27644,"src":"64577:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27626,"name":"string","nodeType":"ElementaryTypeName","src":"64577:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27629,"mutability":"mutable","name":"p3","nameLocation":"64603:2:15","nodeType":"VariableDeclaration","scope":27644,"src":"64595:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27628,"name":"address","nodeType":"ElementaryTypeName","src":"64595:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"64555:51:15"},"returnParameters":{"id":27631,"nodeType":"ParameterList","parameters":[],"src":"64621:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27667,"nodeType":"FunctionDefinition","src":"64736:176:15","nodes":[],"body":{"id":27666,"nodeType":"Block","src":"64805:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c75696e7432353629","id":27658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64855:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e","typeString":"literal_string \"log(address,bool,bool,uint256)\""},"value":"log(address,bool,bool,uint256)"},{"id":27659,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27646,"src":"64889:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27660,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27648,"src":"64893:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27661,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27650,"src":"64897:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27662,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27652,"src":"64901:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e","typeString":"literal_string \"log(address,bool,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27656,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64831:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64831:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64831:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27655,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"64815:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"64815:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27665,"nodeType":"ExpressionStatement","src":"64815:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64745:3:15","parameters":{"id":27653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27646,"mutability":"mutable","name":"p0","nameLocation":"64757:2:15","nodeType":"VariableDeclaration","scope":27667,"src":"64749:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27645,"name":"address","nodeType":"ElementaryTypeName","src":"64749:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27648,"mutability":"mutable","name":"p1","nameLocation":"64766:2:15","nodeType":"VariableDeclaration","scope":27667,"src":"64761:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27647,"name":"bool","nodeType":"ElementaryTypeName","src":"64761:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27650,"mutability":"mutable","name":"p2","nameLocation":"64775:2:15","nodeType":"VariableDeclaration","scope":27667,"src":"64770:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27649,"name":"bool","nodeType":"ElementaryTypeName","src":"64770:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27652,"mutability":"mutable","name":"p3","nameLocation":"64787:2:15","nodeType":"VariableDeclaration","scope":27667,"src":"64779:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27651,"name":"uint256","nodeType":"ElementaryTypeName","src":"64779:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"64748:42:15"},"returnParameters":{"id":27654,"nodeType":"ParameterList","parameters":[],"src":"64805:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27690,"nodeType":"FunctionDefinition","src":"64918:181:15","nodes":[],"body":{"id":27689,"nodeType":"Block","src":"64993:106:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c737472696e6729","id":27681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65043:31:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},"value":"log(address,bool,bool,string)"},{"id":27682,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27669,"src":"65076:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27683,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27671,"src":"65080:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27684,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27673,"src":"65084:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27685,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27675,"src":"65088:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27679,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65019:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65019:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65019:72:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27678,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"65003:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65003:89:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27688,"nodeType":"ExpressionStatement","src":"65003:89:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64927:3:15","parameters":{"id":27676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27669,"mutability":"mutable","name":"p0","nameLocation":"64939:2:15","nodeType":"VariableDeclaration","scope":27690,"src":"64931:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27668,"name":"address","nodeType":"ElementaryTypeName","src":"64931:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27671,"mutability":"mutable","name":"p1","nameLocation":"64948:2:15","nodeType":"VariableDeclaration","scope":27690,"src":"64943:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27670,"name":"bool","nodeType":"ElementaryTypeName","src":"64943:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27673,"mutability":"mutable","name":"p2","nameLocation":"64957:2:15","nodeType":"VariableDeclaration","scope":27690,"src":"64952:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27672,"name":"bool","nodeType":"ElementaryTypeName","src":"64952:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27675,"mutability":"mutable","name":"p3","nameLocation":"64975:2:15","nodeType":"VariableDeclaration","scope":27690,"src":"64961:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27674,"name":"string","nodeType":"ElementaryTypeName","src":"64961:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64930:48:15"},"returnParameters":{"id":27677,"nodeType":"ParameterList","parameters":[],"src":"64993:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27713,"nodeType":"FunctionDefinition","src":"65105:170:15","nodes":[],"body":{"id":27712,"nodeType":"Block","src":"65171:104:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c626f6f6c29","id":27704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65221:29:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},"value":"log(address,bool,bool,bool)"},{"id":27705,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27692,"src":"65252:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27706,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27694,"src":"65256:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27707,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27696,"src":"65260:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27708,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27698,"src":"65264:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27702,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65197:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65197:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65197:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27701,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"65181:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65181:87:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27711,"nodeType":"ExpressionStatement","src":"65181:87:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65114:3:15","parameters":{"id":27699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27692,"mutability":"mutable","name":"p0","nameLocation":"65126:2:15","nodeType":"VariableDeclaration","scope":27713,"src":"65118:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27691,"name":"address","nodeType":"ElementaryTypeName","src":"65118:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27694,"mutability":"mutable","name":"p1","nameLocation":"65135:2:15","nodeType":"VariableDeclaration","scope":27713,"src":"65130:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27693,"name":"bool","nodeType":"ElementaryTypeName","src":"65130:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27696,"mutability":"mutable","name":"p2","nameLocation":"65144:2:15","nodeType":"VariableDeclaration","scope":27713,"src":"65139:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27695,"name":"bool","nodeType":"ElementaryTypeName","src":"65139:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27698,"mutability":"mutable","name":"p3","nameLocation":"65153:2:15","nodeType":"VariableDeclaration","scope":27713,"src":"65148:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27697,"name":"bool","nodeType":"ElementaryTypeName","src":"65148:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"65117:39:15"},"returnParameters":{"id":27700,"nodeType":"ParameterList","parameters":[],"src":"65171:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27736,"nodeType":"FunctionDefinition","src":"65281:176:15","nodes":[],"body":{"id":27735,"nodeType":"Block","src":"65350:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c6164647265737329","id":27727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65400:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},"value":"log(address,bool,bool,address)"},{"id":27728,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27715,"src":"65434:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27729,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27717,"src":"65438:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27730,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27719,"src":"65442:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27731,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27721,"src":"65446:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27725,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65376:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65376:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65376:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27724,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"65360:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65360:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27734,"nodeType":"ExpressionStatement","src":"65360:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65290:3:15","parameters":{"id":27722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27715,"mutability":"mutable","name":"p0","nameLocation":"65302:2:15","nodeType":"VariableDeclaration","scope":27736,"src":"65294:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27714,"name":"address","nodeType":"ElementaryTypeName","src":"65294:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27717,"mutability":"mutable","name":"p1","nameLocation":"65311:2:15","nodeType":"VariableDeclaration","scope":27736,"src":"65306:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27716,"name":"bool","nodeType":"ElementaryTypeName","src":"65306:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27719,"mutability":"mutable","name":"p2","nameLocation":"65320:2:15","nodeType":"VariableDeclaration","scope":27736,"src":"65315:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27718,"name":"bool","nodeType":"ElementaryTypeName","src":"65315:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27721,"mutability":"mutable","name":"p3","nameLocation":"65332:2:15","nodeType":"VariableDeclaration","scope":27736,"src":"65324:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27720,"name":"address","nodeType":"ElementaryTypeName","src":"65324:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"65293:42:15"},"returnParameters":{"id":27723,"nodeType":"ParameterList","parameters":[],"src":"65350:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27759,"nodeType":"FunctionDefinition","src":"65463:182:15","nodes":[],"body":{"id":27758,"nodeType":"Block","src":"65535:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c75696e7432353629","id":27750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65585:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039","typeString":"literal_string \"log(address,bool,address,uint256)\""},"value":"log(address,bool,address,uint256)"},{"id":27751,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27738,"src":"65622:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27752,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27740,"src":"65626:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27753,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27742,"src":"65630:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27754,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27744,"src":"65634:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039","typeString":"literal_string \"log(address,bool,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27748,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65561:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65561:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65561:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27747,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"65545:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65545:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27757,"nodeType":"ExpressionStatement","src":"65545:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65472:3:15","parameters":{"id":27745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27738,"mutability":"mutable","name":"p0","nameLocation":"65484:2:15","nodeType":"VariableDeclaration","scope":27759,"src":"65476:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27737,"name":"address","nodeType":"ElementaryTypeName","src":"65476:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27740,"mutability":"mutable","name":"p1","nameLocation":"65493:2:15","nodeType":"VariableDeclaration","scope":27759,"src":"65488:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27739,"name":"bool","nodeType":"ElementaryTypeName","src":"65488:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27742,"mutability":"mutable","name":"p2","nameLocation":"65505:2:15","nodeType":"VariableDeclaration","scope":27759,"src":"65497:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27741,"name":"address","nodeType":"ElementaryTypeName","src":"65497:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27744,"mutability":"mutable","name":"p3","nameLocation":"65517:2:15","nodeType":"VariableDeclaration","scope":27759,"src":"65509:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27743,"name":"uint256","nodeType":"ElementaryTypeName","src":"65509:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65475:45:15"},"returnParameters":{"id":27746,"nodeType":"ParameterList","parameters":[],"src":"65535:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27782,"nodeType":"FunctionDefinition","src":"65651:187:15","nodes":[],"body":{"id":27781,"nodeType":"Block","src":"65729:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c737472696e6729","id":27773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65779:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},"value":"log(address,bool,address,string)"},{"id":27774,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27761,"src":"65815:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27775,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27763,"src":"65819:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27776,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27765,"src":"65823:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27777,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27767,"src":"65827:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27771,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65755:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65755:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65755:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27770,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"65739:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65739:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27780,"nodeType":"ExpressionStatement","src":"65739:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65660:3:15","parameters":{"id":27768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27761,"mutability":"mutable","name":"p0","nameLocation":"65672:2:15","nodeType":"VariableDeclaration","scope":27782,"src":"65664:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27760,"name":"address","nodeType":"ElementaryTypeName","src":"65664:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27763,"mutability":"mutable","name":"p1","nameLocation":"65681:2:15","nodeType":"VariableDeclaration","scope":27782,"src":"65676:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27762,"name":"bool","nodeType":"ElementaryTypeName","src":"65676:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27765,"mutability":"mutable","name":"p2","nameLocation":"65693:2:15","nodeType":"VariableDeclaration","scope":27782,"src":"65685:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27764,"name":"address","nodeType":"ElementaryTypeName","src":"65685:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27767,"mutability":"mutable","name":"p3","nameLocation":"65711:2:15","nodeType":"VariableDeclaration","scope":27782,"src":"65697:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27766,"name":"string","nodeType":"ElementaryTypeName","src":"65697:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65663:51:15"},"returnParameters":{"id":27769,"nodeType":"ParameterList","parameters":[],"src":"65729:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27805,"nodeType":"FunctionDefinition","src":"65844:176:15","nodes":[],"body":{"id":27804,"nodeType":"Block","src":"65913:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c626f6f6c29","id":27796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65963:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},"value":"log(address,bool,address,bool)"},{"id":27797,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27784,"src":"65997:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27798,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27786,"src":"66001:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27799,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27788,"src":"66005:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27800,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27790,"src":"66009:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27794,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65939:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27795,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65939:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65939:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27793,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"65923:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"65923:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27803,"nodeType":"ExpressionStatement","src":"65923:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65853:3:15","parameters":{"id":27791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27784,"mutability":"mutable","name":"p0","nameLocation":"65865:2:15","nodeType":"VariableDeclaration","scope":27805,"src":"65857:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27783,"name":"address","nodeType":"ElementaryTypeName","src":"65857:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27786,"mutability":"mutable","name":"p1","nameLocation":"65874:2:15","nodeType":"VariableDeclaration","scope":27805,"src":"65869:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27785,"name":"bool","nodeType":"ElementaryTypeName","src":"65869:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27788,"mutability":"mutable","name":"p2","nameLocation":"65886:2:15","nodeType":"VariableDeclaration","scope":27805,"src":"65878:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27787,"name":"address","nodeType":"ElementaryTypeName","src":"65878:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27790,"mutability":"mutable","name":"p3","nameLocation":"65895:2:15","nodeType":"VariableDeclaration","scope":27805,"src":"65890:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27789,"name":"bool","nodeType":"ElementaryTypeName","src":"65890:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"65856:42:15"},"returnParameters":{"id":27792,"nodeType":"ParameterList","parameters":[],"src":"65913:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27828,"nodeType":"FunctionDefinition","src":"66026:182:15","nodes":[],"body":{"id":27827,"nodeType":"Block","src":"66098:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c6164647265737329","id":27819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66148:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},"value":"log(address,bool,address,address)"},{"id":27820,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27807,"src":"66185:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27821,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27809,"src":"66189:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":27822,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27811,"src":"66193:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27823,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27813,"src":"66197:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27817,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66124:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66124:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66124:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27816,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"66108:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66108:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27826,"nodeType":"ExpressionStatement","src":"66108:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66035:3:15","parameters":{"id":27814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27807,"mutability":"mutable","name":"p0","nameLocation":"66047:2:15","nodeType":"VariableDeclaration","scope":27828,"src":"66039:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27806,"name":"address","nodeType":"ElementaryTypeName","src":"66039:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27809,"mutability":"mutable","name":"p1","nameLocation":"66056:2:15","nodeType":"VariableDeclaration","scope":27828,"src":"66051:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27808,"name":"bool","nodeType":"ElementaryTypeName","src":"66051:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":27811,"mutability":"mutable","name":"p2","nameLocation":"66068:2:15","nodeType":"VariableDeclaration","scope":27828,"src":"66060:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27810,"name":"address","nodeType":"ElementaryTypeName","src":"66060:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27813,"mutability":"mutable","name":"p3","nameLocation":"66080:2:15","nodeType":"VariableDeclaration","scope":27828,"src":"66072:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27812,"name":"address","nodeType":"ElementaryTypeName","src":"66072:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66038:45:15"},"returnParameters":{"id":27815,"nodeType":"ParameterList","parameters":[],"src":"66098:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27851,"nodeType":"FunctionDefinition","src":"66214:188:15","nodes":[],"body":{"id":27850,"nodeType":"Block","src":"66289:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c75696e7432353629","id":27842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66339:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25","typeString":"literal_string \"log(address,address,uint256,uint256)\""},"value":"log(address,address,uint256,uint256)"},{"id":27843,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27830,"src":"66379:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27844,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27832,"src":"66383:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27845,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27834,"src":"66387:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27846,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27836,"src":"66391:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25","typeString":"literal_string \"log(address,address,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27840,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66315:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66315:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66315:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27839,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"66299:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66299:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27849,"nodeType":"ExpressionStatement","src":"66299:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66223:3:15","parameters":{"id":27837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27830,"mutability":"mutable","name":"p0","nameLocation":"66235:2:15","nodeType":"VariableDeclaration","scope":27851,"src":"66227:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27829,"name":"address","nodeType":"ElementaryTypeName","src":"66227:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27832,"mutability":"mutable","name":"p1","nameLocation":"66247:2:15","nodeType":"VariableDeclaration","scope":27851,"src":"66239:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27831,"name":"address","nodeType":"ElementaryTypeName","src":"66239:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27834,"mutability":"mutable","name":"p2","nameLocation":"66259:2:15","nodeType":"VariableDeclaration","scope":27851,"src":"66251:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27833,"name":"uint256","nodeType":"ElementaryTypeName","src":"66251:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27836,"mutability":"mutable","name":"p3","nameLocation":"66271:2:15","nodeType":"VariableDeclaration","scope":27851,"src":"66263:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27835,"name":"uint256","nodeType":"ElementaryTypeName","src":"66263:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"66226:48:15"},"returnParameters":{"id":27838,"nodeType":"ParameterList","parameters":[],"src":"66289:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27874,"nodeType":"FunctionDefinition","src":"66408:193:15","nodes":[],"body":{"id":27873,"nodeType":"Block","src":"66489:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c737472696e6729","id":27865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66539:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343","typeString":"literal_string \"log(address,address,uint256,string)\""},"value":"log(address,address,uint256,string)"},{"id":27866,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27853,"src":"66578:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27867,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27855,"src":"66582:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27868,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27857,"src":"66586:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27869,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27859,"src":"66590:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343","typeString":"literal_string \"log(address,address,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27863,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66515:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66515:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66515:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27862,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"66499:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66499:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27872,"nodeType":"ExpressionStatement","src":"66499:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66417:3:15","parameters":{"id":27860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27853,"mutability":"mutable","name":"p0","nameLocation":"66429:2:15","nodeType":"VariableDeclaration","scope":27874,"src":"66421:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27852,"name":"address","nodeType":"ElementaryTypeName","src":"66421:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27855,"mutability":"mutable","name":"p1","nameLocation":"66441:2:15","nodeType":"VariableDeclaration","scope":27874,"src":"66433:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27854,"name":"address","nodeType":"ElementaryTypeName","src":"66433:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27857,"mutability":"mutable","name":"p2","nameLocation":"66453:2:15","nodeType":"VariableDeclaration","scope":27874,"src":"66445:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27856,"name":"uint256","nodeType":"ElementaryTypeName","src":"66445:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27859,"mutability":"mutable","name":"p3","nameLocation":"66471:2:15","nodeType":"VariableDeclaration","scope":27874,"src":"66457:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27858,"name":"string","nodeType":"ElementaryTypeName","src":"66457:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66420:54:15"},"returnParameters":{"id":27861,"nodeType":"ParameterList","parameters":[],"src":"66489:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27897,"nodeType":"FunctionDefinition","src":"66607:182:15","nodes":[],"body":{"id":27896,"nodeType":"Block","src":"66679:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c626f6f6c29","id":27888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66729:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd","typeString":"literal_string \"log(address,address,uint256,bool)\""},"value":"log(address,address,uint256,bool)"},{"id":27889,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27876,"src":"66766:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27890,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27878,"src":"66770:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27891,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27880,"src":"66774:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27892,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27882,"src":"66778:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd","typeString":"literal_string \"log(address,address,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27886,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66705:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66705:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66705:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27885,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"66689:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66689:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27895,"nodeType":"ExpressionStatement","src":"66689:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66616:3:15","parameters":{"id":27883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27876,"mutability":"mutable","name":"p0","nameLocation":"66628:2:15","nodeType":"VariableDeclaration","scope":27897,"src":"66620:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27875,"name":"address","nodeType":"ElementaryTypeName","src":"66620:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27878,"mutability":"mutable","name":"p1","nameLocation":"66640:2:15","nodeType":"VariableDeclaration","scope":27897,"src":"66632:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27877,"name":"address","nodeType":"ElementaryTypeName","src":"66632:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27880,"mutability":"mutable","name":"p2","nameLocation":"66652:2:15","nodeType":"VariableDeclaration","scope":27897,"src":"66644:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27879,"name":"uint256","nodeType":"ElementaryTypeName","src":"66644:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27882,"mutability":"mutable","name":"p3","nameLocation":"66661:2:15","nodeType":"VariableDeclaration","scope":27897,"src":"66656:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27881,"name":"bool","nodeType":"ElementaryTypeName","src":"66656:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"66619:45:15"},"returnParameters":{"id":27884,"nodeType":"ParameterList","parameters":[],"src":"66679:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27920,"nodeType":"FunctionDefinition","src":"66795:188:15","nodes":[],"body":{"id":27919,"nodeType":"Block","src":"66870:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c6164647265737329","id":27911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66920:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b","typeString":"literal_string \"log(address,address,uint256,address)\""},"value":"log(address,address,uint256,address)"},{"id":27912,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27899,"src":"66960:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27913,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27901,"src":"66964:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27914,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27903,"src":"66968:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":27915,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27905,"src":"66972:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b","typeString":"literal_string \"log(address,address,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":27909,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66896:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66896:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66896:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27908,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"66880:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"66880:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27918,"nodeType":"ExpressionStatement","src":"66880:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66804:3:15","parameters":{"id":27906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27899,"mutability":"mutable","name":"p0","nameLocation":"66816:2:15","nodeType":"VariableDeclaration","scope":27920,"src":"66808:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27898,"name":"address","nodeType":"ElementaryTypeName","src":"66808:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27901,"mutability":"mutable","name":"p1","nameLocation":"66828:2:15","nodeType":"VariableDeclaration","scope":27920,"src":"66820:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27900,"name":"address","nodeType":"ElementaryTypeName","src":"66820:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27903,"mutability":"mutable","name":"p2","nameLocation":"66840:2:15","nodeType":"VariableDeclaration","scope":27920,"src":"66832:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27902,"name":"uint256","nodeType":"ElementaryTypeName","src":"66832:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27905,"mutability":"mutable","name":"p3","nameLocation":"66852:2:15","nodeType":"VariableDeclaration","scope":27920,"src":"66844:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27904,"name":"address","nodeType":"ElementaryTypeName","src":"66844:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66807:48:15"},"returnParameters":{"id":27907,"nodeType":"ParameterList","parameters":[],"src":"66870:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27943,"nodeType":"FunctionDefinition","src":"66989:193:15","nodes":[],"body":{"id":27942,"nodeType":"Block","src":"67070:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c75696e7432353629","id":27934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67120:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5","typeString":"literal_string \"log(address,address,string,uint256)\""},"value":"log(address,address,string,uint256)"},{"id":27935,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27922,"src":"67159:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27936,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27924,"src":"67163:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27937,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27926,"src":"67167:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27938,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27928,"src":"67171:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5","typeString":"literal_string \"log(address,address,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":27932,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67096:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67096:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67096:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27931,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"67080:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67080:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27941,"nodeType":"ExpressionStatement","src":"67080:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66998:3:15","parameters":{"id":27929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27922,"mutability":"mutable","name":"p0","nameLocation":"67010:2:15","nodeType":"VariableDeclaration","scope":27943,"src":"67002:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27921,"name":"address","nodeType":"ElementaryTypeName","src":"67002:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27924,"mutability":"mutable","name":"p1","nameLocation":"67022:2:15","nodeType":"VariableDeclaration","scope":27943,"src":"67014:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27923,"name":"address","nodeType":"ElementaryTypeName","src":"67014:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27926,"mutability":"mutable","name":"p2","nameLocation":"67040:2:15","nodeType":"VariableDeclaration","scope":27943,"src":"67026:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27925,"name":"string","nodeType":"ElementaryTypeName","src":"67026:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27928,"mutability":"mutable","name":"p3","nameLocation":"67052:2:15","nodeType":"VariableDeclaration","scope":27943,"src":"67044:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27927,"name":"uint256","nodeType":"ElementaryTypeName","src":"67044:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"67001:54:15"},"returnParameters":{"id":27930,"nodeType":"ParameterList","parameters":[],"src":"67070:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27966,"nodeType":"FunctionDefinition","src":"67188:198:15","nodes":[],"body":{"id":27965,"nodeType":"Block","src":"67275:111:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c737472696e6729","id":27957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67325:36:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},"value":"log(address,address,string,string)"},{"id":27958,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27945,"src":"67363:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27959,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27947,"src":"67367:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27960,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27949,"src":"67371:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27961,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27951,"src":"67375:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":27955,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67301:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67301:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67301:77:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27954,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"67285:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67285:94:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27964,"nodeType":"ExpressionStatement","src":"67285:94:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67197:3:15","parameters":{"id":27952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27945,"mutability":"mutable","name":"p0","nameLocation":"67209:2:15","nodeType":"VariableDeclaration","scope":27966,"src":"67201:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27944,"name":"address","nodeType":"ElementaryTypeName","src":"67201:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27947,"mutability":"mutable","name":"p1","nameLocation":"67221:2:15","nodeType":"VariableDeclaration","scope":27966,"src":"67213:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27946,"name":"address","nodeType":"ElementaryTypeName","src":"67213:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27949,"mutability":"mutable","name":"p2","nameLocation":"67239:2:15","nodeType":"VariableDeclaration","scope":27966,"src":"67225:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27948,"name":"string","nodeType":"ElementaryTypeName","src":"67225:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27951,"mutability":"mutable","name":"p3","nameLocation":"67257:2:15","nodeType":"VariableDeclaration","scope":27966,"src":"67243:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27950,"name":"string","nodeType":"ElementaryTypeName","src":"67243:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67200:60:15"},"returnParameters":{"id":27953,"nodeType":"ParameterList","parameters":[],"src":"67275:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":27989,"nodeType":"FunctionDefinition","src":"67392:187:15","nodes":[],"body":{"id":27988,"nodeType":"Block","src":"67470:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c626f6f6c29","id":27980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67520:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},"value":"log(address,address,string,bool)"},{"id":27981,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27968,"src":"67556:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27982,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27970,"src":"67560:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":27983,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27972,"src":"67564:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":27984,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27974,"src":"67568:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":27978,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67496:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":27979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67496:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":27985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67496:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":27977,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"67480:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":27986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67480:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":27987,"nodeType":"ExpressionStatement","src":"67480:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67401:3:15","parameters":{"id":27975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27968,"mutability":"mutable","name":"p0","nameLocation":"67413:2:15","nodeType":"VariableDeclaration","scope":27989,"src":"67405:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27967,"name":"address","nodeType":"ElementaryTypeName","src":"67405:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27970,"mutability":"mutable","name":"p1","nameLocation":"67425:2:15","nodeType":"VariableDeclaration","scope":27989,"src":"67417:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27969,"name":"address","nodeType":"ElementaryTypeName","src":"67417:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27972,"mutability":"mutable","name":"p2","nameLocation":"67443:2:15","nodeType":"VariableDeclaration","scope":27989,"src":"67429:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27971,"name":"string","nodeType":"ElementaryTypeName","src":"67429:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27974,"mutability":"mutable","name":"p3","nameLocation":"67452:2:15","nodeType":"VariableDeclaration","scope":27989,"src":"67447:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":27973,"name":"bool","nodeType":"ElementaryTypeName","src":"67447:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67404:51:15"},"returnParameters":{"id":27976,"nodeType":"ParameterList","parameters":[],"src":"67470:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28012,"nodeType":"FunctionDefinition","src":"67585:193:15","nodes":[],"body":{"id":28011,"nodeType":"Block","src":"67666:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c6164647265737329","id":28003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67716:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},"value":"log(address,address,string,address)"},{"id":28004,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27991,"src":"67755:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28005,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27993,"src":"67759:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28006,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27995,"src":"67763:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28007,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27997,"src":"67767:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":28001,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67692:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67692:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67692:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28000,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"67676:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":28009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67676:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28010,"nodeType":"ExpressionStatement","src":"67676:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67594:3:15","parameters":{"id":27998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27991,"mutability":"mutable","name":"p0","nameLocation":"67606:2:15","nodeType":"VariableDeclaration","scope":28012,"src":"67598:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27990,"name":"address","nodeType":"ElementaryTypeName","src":"67598:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27993,"mutability":"mutable","name":"p1","nameLocation":"67618:2:15","nodeType":"VariableDeclaration","scope":28012,"src":"67610:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27992,"name":"address","nodeType":"ElementaryTypeName","src":"67610:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27995,"mutability":"mutable","name":"p2","nameLocation":"67636:2:15","nodeType":"VariableDeclaration","scope":28012,"src":"67622:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27994,"name":"string","nodeType":"ElementaryTypeName","src":"67622:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27997,"mutability":"mutable","name":"p3","nameLocation":"67648:2:15","nodeType":"VariableDeclaration","scope":28012,"src":"67640:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27996,"name":"address","nodeType":"ElementaryTypeName","src":"67640:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"67597:54:15"},"returnParameters":{"id":27999,"nodeType":"ParameterList","parameters":[],"src":"67666:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28035,"nodeType":"FunctionDefinition","src":"67784:182:15","nodes":[],"body":{"id":28034,"nodeType":"Block","src":"67856:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c75696e7432353629","id":28026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67906:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671","typeString":"literal_string \"log(address,address,bool,uint256)\""},"value":"log(address,address,bool,uint256)"},{"id":28027,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28014,"src":"67943:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28028,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28016,"src":"67947:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28029,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28018,"src":"67951:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28030,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28020,"src":"67955:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671","typeString":"literal_string \"log(address,address,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":28024,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67882:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67882:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67882:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28023,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"67866:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":28032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"67866:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28033,"nodeType":"ExpressionStatement","src":"67866:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67793:3:15","parameters":{"id":28021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28014,"mutability":"mutable","name":"p0","nameLocation":"67805:2:15","nodeType":"VariableDeclaration","scope":28035,"src":"67797:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28013,"name":"address","nodeType":"ElementaryTypeName","src":"67797:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28016,"mutability":"mutable","name":"p1","nameLocation":"67817:2:15","nodeType":"VariableDeclaration","scope":28035,"src":"67809:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28015,"name":"address","nodeType":"ElementaryTypeName","src":"67809:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28018,"mutability":"mutable","name":"p2","nameLocation":"67826:2:15","nodeType":"VariableDeclaration","scope":28035,"src":"67821:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28017,"name":"bool","nodeType":"ElementaryTypeName","src":"67821:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28020,"mutability":"mutable","name":"p3","nameLocation":"67838:2:15","nodeType":"VariableDeclaration","scope":28035,"src":"67830:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28019,"name":"uint256","nodeType":"ElementaryTypeName","src":"67830:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"67796:45:15"},"returnParameters":{"id":28022,"nodeType":"ParameterList","parameters":[],"src":"67856:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28058,"nodeType":"FunctionDefinition","src":"67972:187:15","nodes":[],"body":{"id":28057,"nodeType":"Block","src":"68050:109:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c737472696e6729","id":28049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68100:34:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},"value":"log(address,address,bool,string)"},{"id":28050,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28037,"src":"68136:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28051,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28039,"src":"68140:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28052,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28041,"src":"68144:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28053,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28043,"src":"68148:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":28047,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68076:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68076:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68076:75:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28046,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"68060:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":28055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68060:92:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28056,"nodeType":"ExpressionStatement","src":"68060:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67981:3:15","parameters":{"id":28044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28037,"mutability":"mutable","name":"p0","nameLocation":"67993:2:15","nodeType":"VariableDeclaration","scope":28058,"src":"67985:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28036,"name":"address","nodeType":"ElementaryTypeName","src":"67985:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28039,"mutability":"mutable","name":"p1","nameLocation":"68005:2:15","nodeType":"VariableDeclaration","scope":28058,"src":"67997:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28038,"name":"address","nodeType":"ElementaryTypeName","src":"67997:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28041,"mutability":"mutable","name":"p2","nameLocation":"68014:2:15","nodeType":"VariableDeclaration","scope":28058,"src":"68009:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28040,"name":"bool","nodeType":"ElementaryTypeName","src":"68009:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28043,"mutability":"mutable","name":"p3","nameLocation":"68032:2:15","nodeType":"VariableDeclaration","scope":28058,"src":"68018:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28042,"name":"string","nodeType":"ElementaryTypeName","src":"68018:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67984:51:15"},"returnParameters":{"id":28045,"nodeType":"ParameterList","parameters":[],"src":"68050:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28081,"nodeType":"FunctionDefinition","src":"68165:176:15","nodes":[],"body":{"id":28080,"nodeType":"Block","src":"68234:107:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c626f6f6c29","id":28072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68284:32:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},"value":"log(address,address,bool,bool)"},{"id":28073,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28060,"src":"68318:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28074,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28062,"src":"68322:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28075,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28064,"src":"68326:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28076,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28066,"src":"68330:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":28070,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68260:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68260:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68260:73:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28069,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"68244:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":28078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68244:90:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28079,"nodeType":"ExpressionStatement","src":"68244:90:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68174:3:15","parameters":{"id":28067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28060,"mutability":"mutable","name":"p0","nameLocation":"68186:2:15","nodeType":"VariableDeclaration","scope":28081,"src":"68178:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28059,"name":"address","nodeType":"ElementaryTypeName","src":"68178:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28062,"mutability":"mutable","name":"p1","nameLocation":"68198:2:15","nodeType":"VariableDeclaration","scope":28081,"src":"68190:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28061,"name":"address","nodeType":"ElementaryTypeName","src":"68190:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28064,"mutability":"mutable","name":"p2","nameLocation":"68207:2:15","nodeType":"VariableDeclaration","scope":28081,"src":"68202:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28063,"name":"bool","nodeType":"ElementaryTypeName","src":"68202:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28066,"mutability":"mutable","name":"p3","nameLocation":"68216:2:15","nodeType":"VariableDeclaration","scope":28081,"src":"68211:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28065,"name":"bool","nodeType":"ElementaryTypeName","src":"68211:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"68177:42:15"},"returnParameters":{"id":28068,"nodeType":"ParameterList","parameters":[],"src":"68234:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28104,"nodeType":"FunctionDefinition","src":"68347:182:15","nodes":[],"body":{"id":28103,"nodeType":"Block","src":"68419:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c6164647265737329","id":28095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68469:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},"value":"log(address,address,bool,address)"},{"id":28096,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28083,"src":"68506:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28097,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28085,"src":"68510:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28098,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28087,"src":"68514:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28099,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28089,"src":"68518:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":28093,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68445:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68445:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68445:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28092,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"68429:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":28101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68429:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28102,"nodeType":"ExpressionStatement","src":"68429:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68356:3:15","parameters":{"id":28090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28083,"mutability":"mutable","name":"p0","nameLocation":"68368:2:15","nodeType":"VariableDeclaration","scope":28104,"src":"68360:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28082,"name":"address","nodeType":"ElementaryTypeName","src":"68360:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28085,"mutability":"mutable","name":"p1","nameLocation":"68380:2:15","nodeType":"VariableDeclaration","scope":28104,"src":"68372:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28084,"name":"address","nodeType":"ElementaryTypeName","src":"68372:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28087,"mutability":"mutable","name":"p2","nameLocation":"68389:2:15","nodeType":"VariableDeclaration","scope":28104,"src":"68384:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28086,"name":"bool","nodeType":"ElementaryTypeName","src":"68384:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28089,"mutability":"mutable","name":"p3","nameLocation":"68401:2:15","nodeType":"VariableDeclaration","scope":28104,"src":"68393:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28088,"name":"address","nodeType":"ElementaryTypeName","src":"68393:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"68359:45:15"},"returnParameters":{"id":28091,"nodeType":"ParameterList","parameters":[],"src":"68419:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28127,"nodeType":"FunctionDefinition","src":"68535:188:15","nodes":[],"body":{"id":28126,"nodeType":"Block","src":"68610:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c75696e7432353629","id":28118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68660:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577","typeString":"literal_string \"log(address,address,address,uint256)\""},"value":"log(address,address,address,uint256)"},{"id":28119,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28106,"src":"68700:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28120,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28108,"src":"68704:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28121,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28110,"src":"68708:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28122,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28112,"src":"68712:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577","typeString":"literal_string \"log(address,address,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":28116,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68636:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68636:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68636:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28115,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"68620:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":28124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68620:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28125,"nodeType":"ExpressionStatement","src":"68620:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68544:3:15","parameters":{"id":28113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28106,"mutability":"mutable","name":"p0","nameLocation":"68556:2:15","nodeType":"VariableDeclaration","scope":28127,"src":"68548:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28105,"name":"address","nodeType":"ElementaryTypeName","src":"68548:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28108,"mutability":"mutable","name":"p1","nameLocation":"68568:2:15","nodeType":"VariableDeclaration","scope":28127,"src":"68560:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28107,"name":"address","nodeType":"ElementaryTypeName","src":"68560:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28110,"mutability":"mutable","name":"p2","nameLocation":"68580:2:15","nodeType":"VariableDeclaration","scope":28127,"src":"68572:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28109,"name":"address","nodeType":"ElementaryTypeName","src":"68572:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28112,"mutability":"mutable","name":"p3","nameLocation":"68592:2:15","nodeType":"VariableDeclaration","scope":28127,"src":"68584:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28111,"name":"uint256","nodeType":"ElementaryTypeName","src":"68584:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"68547:48:15"},"returnParameters":{"id":28114,"nodeType":"ParameterList","parameters":[],"src":"68610:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28150,"nodeType":"FunctionDefinition","src":"68729:193:15","nodes":[],"body":{"id":28149,"nodeType":"Block","src":"68810:112:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c737472696e6729","id":28141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68860:37:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},"value":"log(address,address,address,string)"},{"id":28142,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28129,"src":"68899:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28143,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28131,"src":"68903:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28144,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28133,"src":"68907:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28145,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28135,"src":"68911:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":28139,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68836:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68836:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68836:78:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28138,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"68820:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":28147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"68820:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28148,"nodeType":"ExpressionStatement","src":"68820:95:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68738:3:15","parameters":{"id":28136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28129,"mutability":"mutable","name":"p0","nameLocation":"68750:2:15","nodeType":"VariableDeclaration","scope":28150,"src":"68742:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28128,"name":"address","nodeType":"ElementaryTypeName","src":"68742:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28131,"mutability":"mutable","name":"p1","nameLocation":"68762:2:15","nodeType":"VariableDeclaration","scope":28150,"src":"68754:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28130,"name":"address","nodeType":"ElementaryTypeName","src":"68754:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28133,"mutability":"mutable","name":"p2","nameLocation":"68774:2:15","nodeType":"VariableDeclaration","scope":28150,"src":"68766:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28132,"name":"address","nodeType":"ElementaryTypeName","src":"68766:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28135,"mutability":"mutable","name":"p3","nameLocation":"68792:2:15","nodeType":"VariableDeclaration","scope":28150,"src":"68778:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28134,"name":"string","nodeType":"ElementaryTypeName","src":"68778:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68741:54:15"},"returnParameters":{"id":28137,"nodeType":"ParameterList","parameters":[],"src":"68810:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28173,"nodeType":"FunctionDefinition","src":"68928:182:15","nodes":[],"body":{"id":28172,"nodeType":"Block","src":"69000:110:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c626f6f6c29","id":28164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"69050:35:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},"value":"log(address,address,address,bool)"},{"id":28165,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28152,"src":"69087:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28166,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28154,"src":"69091:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28167,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28156,"src":"69095:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28168,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28158,"src":"69099:2:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":28162,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"69026:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"69026:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"69026:76:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28161,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"69010:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":28170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"69010:93:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28171,"nodeType":"ExpressionStatement","src":"69010:93:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68937:3:15","parameters":{"id":28159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28152,"mutability":"mutable","name":"p0","nameLocation":"68949:2:15","nodeType":"VariableDeclaration","scope":28173,"src":"68941:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28151,"name":"address","nodeType":"ElementaryTypeName","src":"68941:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28154,"mutability":"mutable","name":"p1","nameLocation":"68961:2:15","nodeType":"VariableDeclaration","scope":28173,"src":"68953:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28153,"name":"address","nodeType":"ElementaryTypeName","src":"68953:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28156,"mutability":"mutable","name":"p2","nameLocation":"68973:2:15","nodeType":"VariableDeclaration","scope":28173,"src":"68965:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28155,"name":"address","nodeType":"ElementaryTypeName","src":"68965:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28158,"mutability":"mutable","name":"p3","nameLocation":"68982:2:15","nodeType":"VariableDeclaration","scope":28173,"src":"68977:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28157,"name":"bool","nodeType":"ElementaryTypeName","src":"68977:4:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"68940:45:15"},"returnParameters":{"id":28160,"nodeType":"ParameterList","parameters":[],"src":"69000:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28196,"nodeType":"FunctionDefinition","src":"69116:188:15","nodes":[],"body":{"id":28195,"nodeType":"Block","src":"69191:113:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c6164647265737329","id":28187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"69241:38:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},"value":"log(address,address,address,address)"},{"id":28188,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28175,"src":"69281:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28189,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28177,"src":"69285:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28190,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28179,"src":"69289:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":28191,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28181,"src":"69293:2:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":28185,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"69217:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"69217:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":28192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"69217:79:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28184,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":20126,"src":"69201:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":28193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"69201:96:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28194,"nodeType":"ExpressionStatement","src":"69201:96:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"69125:3:15","parameters":{"id":28182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28175,"mutability":"mutable","name":"p0","nameLocation":"69137:2:15","nodeType":"VariableDeclaration","scope":28196,"src":"69129:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28174,"name":"address","nodeType":"ElementaryTypeName","src":"69129:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28177,"mutability":"mutable","name":"p1","nameLocation":"69149:2:15","nodeType":"VariableDeclaration","scope":28196,"src":"69141:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28176,"name":"address","nodeType":"ElementaryTypeName","src":"69141:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28179,"mutability":"mutable","name":"p2","nameLocation":"69161:2:15","nodeType":"VariableDeclaration","scope":28196,"src":"69153:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28178,"name":"address","nodeType":"ElementaryTypeName","src":"69153:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28181,"mutability":"mutable","name":"p3","nameLocation":"69173:2:15","nodeType":"VariableDeclaration","scope":28196,"src":"69165:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28180,"name":"address","nodeType":"ElementaryTypeName","src":"69165:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"69128:48:15"},"returnParameters":{"id":28183,"nodeType":"ParameterList","parameters":[],"src":"69191:0:15"},"scope":28197,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"console2","contractDependencies":[],"contractKind":"library","documentation":{"id":20104,"nodeType":"StructuredDocumentation","src":"66:459:15","text":"@dev The original console.sol uses `int` and `uint` for computing function selectors, but it should\n use `int256` and `uint256`. This modified version fixes that. This version is recommended\n over `console.sol` if you don't need compatibility with Hardhat as the logs will show up in\n forge stack traces. If you do need compatibility with Hardhat, you must use `console.sol`.\n Reference: https://github.com/NomicFoundation/hardhat/issues/2178"},"fullyImplemented":true,"linearizedBaseContracts":[28197],"name":"console2","nameLocation":"533:8:15","scope":28198,"usedErrors":[]}],"license":"MIT"}},"lib/forge-std/src/interfaces/IMulticall3.sol":{"id":16,"ast":{"absolutePath":"lib/forge-std/src/interfaces/IMulticall3.sol","id":28361,"exportedSymbols":{"IMulticall3":[28360]},"nodeType":"SourceUnit","src":"32:2153:16","nodes":[{"id":28199,"nodeType":"PragmaDirective","src":"32:31:16","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":28200,"nodeType":"PragmaDirective","src":"65:33:16","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":28360,"nodeType":"ContractDefinition","src":"100:2084:16","nodes":[{"id":28205,"nodeType":"StructDefinition","src":"128:67:16","nodes":[],"canonicalName":"IMulticall3.Call","members":[{"constant":false,"id":28202,"mutability":"mutable","name":"target","nameLocation":"158:6:16","nodeType":"VariableDeclaration","scope":28205,"src":"150:14:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28201,"name":"address","nodeType":"ElementaryTypeName","src":"150:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28204,"mutability":"mutable","name":"callData","nameLocation":"180:8:16","nodeType":"VariableDeclaration","scope":28205,"src":"174:14:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28203,"name":"bytes","nodeType":"ElementaryTypeName","src":"174:5:16","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"135:4:16","scope":28360,"visibility":"public"},{"id":28212,"nodeType":"StructDefinition","src":"201:95:16","nodes":[],"canonicalName":"IMulticall3.Call3","members":[{"constant":false,"id":28207,"mutability":"mutable","name":"target","nameLocation":"232:6:16","nodeType":"VariableDeclaration","scope":28212,"src":"224:14:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28206,"name":"address","nodeType":"ElementaryTypeName","src":"224:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28209,"mutability":"mutable","name":"allowFailure","nameLocation":"253:12:16","nodeType":"VariableDeclaration","scope":28212,"src":"248:17:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28208,"name":"bool","nodeType":"ElementaryTypeName","src":"248:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28211,"mutability":"mutable","name":"callData","nameLocation":"281:8:16","nodeType":"VariableDeclaration","scope":28212,"src":"275:14:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28210,"name":"bytes","nodeType":"ElementaryTypeName","src":"275:5:16","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3","nameLocation":"208:5:16","scope":28360,"visibility":"public"},{"id":28221,"nodeType":"StructDefinition","src":"302:123:16","nodes":[],"canonicalName":"IMulticall3.Call3Value","members":[{"constant":false,"id":28214,"mutability":"mutable","name":"target","nameLocation":"338:6:16","nodeType":"VariableDeclaration","scope":28221,"src":"330:14:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28213,"name":"address","nodeType":"ElementaryTypeName","src":"330:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28216,"mutability":"mutable","name":"allowFailure","nameLocation":"359:12:16","nodeType":"VariableDeclaration","scope":28221,"src":"354:17:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28215,"name":"bool","nodeType":"ElementaryTypeName","src":"354:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28218,"mutability":"mutable","name":"value","nameLocation":"389:5:16","nodeType":"VariableDeclaration","scope":28221,"src":"381:13:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28217,"name":"uint256","nodeType":"ElementaryTypeName","src":"381:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28220,"mutability":"mutable","name":"callData","nameLocation":"410:8:16","nodeType":"VariableDeclaration","scope":28221,"src":"404:14:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28219,"name":"bytes","nodeType":"ElementaryTypeName","src":"404:5:16","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3Value","nameLocation":"309:10:16","scope":28360,"visibility":"public"},{"id":28226,"nodeType":"StructDefinition","src":"431:69:16","nodes":[],"canonicalName":"IMulticall3.Result","members":[{"constant":false,"id":28223,"mutability":"mutable","name":"success","nameLocation":"460:7:16","nodeType":"VariableDeclaration","scope":28226,"src":"455:12:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28222,"name":"bool","nodeType":"ElementaryTypeName","src":"455:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28225,"mutability":"mutable","name":"returnData","nameLocation":"483:10:16","nodeType":"VariableDeclaration","scope":28226,"src":"477:16:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28224,"name":"bytes","nodeType":"ElementaryTypeName","src":"477:5:16","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Result","nameLocation":"438:6:16","scope":28360,"visibility":"public"},{"id":28238,"nodeType":"FunctionDefinition","src":"506:140:16","nodes":[],"functionSelector":"252dba42","implemented":false,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"515:9:16","parameters":{"id":28231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28230,"mutability":"mutable","name":"calls","nameLocation":"541:5:16","nodeType":"VariableDeclaration","scope":28238,"src":"525:21:16","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":28228,"nodeType":"UserDefinedTypeName","pathNode":{"id":28227,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28205,"src":"525:4:16"},"referencedDeclaration":28205,"src":"525:4:16","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28205_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":28229,"nodeType":"ArrayTypeName","src":"525:6:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"524:23:16"},"returnParameters":{"id":28237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28233,"mutability":"mutable","name":"blockNumber","nameLocation":"606:11:16","nodeType":"VariableDeclaration","scope":28238,"src":"598:19:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28232,"name":"uint256","nodeType":"ElementaryTypeName","src":"598:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28236,"mutability":"mutable","name":"returnData","nameLocation":"634:10:16","nodeType":"VariableDeclaration","scope":28238,"src":"619:25:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":28234,"name":"bytes","nodeType":"ElementaryTypeName","src":"619:5:16","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":28235,"nodeType":"ArrayTypeName","src":"619:7:16","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"597:48:16"},"scope":28360,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":28249,"nodeType":"FunctionDefinition","src":"652:98:16","nodes":[],"functionSelector":"82ad56cb","implemented":false,"kind":"function","modifiers":[],"name":"aggregate3","nameLocation":"661:10:16","parameters":{"id":28243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28242,"mutability":"mutable","name":"calls","nameLocation":"689:5:16","nodeType":"VariableDeclaration","scope":28249,"src":"672:22:16","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28212_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":28240,"nodeType":"UserDefinedTypeName","pathNode":{"id":28239,"name":"Call3","nodeType":"IdentifierPath","referencedDeclaration":28212,"src":"672:5:16"},"referencedDeclaration":28212,"src":"672:5:16","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28212_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":28241,"nodeType":"ArrayTypeName","src":"672:7:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28212_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"src":"671:24:16"},"returnParameters":{"id":28248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28247,"mutability":"mutable","name":"returnData","nameLocation":"738:10:16","nodeType":"VariableDeclaration","scope":28249,"src":"722:26:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":28245,"nodeType":"UserDefinedTypeName","pathNode":{"id":28244,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28226,"src":"722:6:16"},"referencedDeclaration":28226,"src":"722:6:16","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28226_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":28246,"nodeType":"ArrayTypeName","src":"722:8:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"721:28:16"},"scope":28360,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":28260,"nodeType":"FunctionDefinition","src":"756:108:16","nodes":[],"functionSelector":"174dea71","implemented":false,"kind":"function","modifiers":[],"name":"aggregate3Value","nameLocation":"765:15:16","parameters":{"id":28254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28253,"mutability":"mutable","name":"calls","nameLocation":"803:5:16","nodeType":"VariableDeclaration","scope":28260,"src":"781:27:16","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28221_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":28251,"nodeType":"UserDefinedTypeName","pathNode":{"id":28250,"name":"Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28221,"src":"781:10:16"},"referencedDeclaration":28221,"src":"781:10:16","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28221_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":28252,"nodeType":"ArrayTypeName","src":"781:12:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28221_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"src":"780:29:16"},"returnParameters":{"id":28259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28258,"mutability":"mutable","name":"returnData","nameLocation":"852:10:16","nodeType":"VariableDeclaration","scope":28260,"src":"836:26:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":28256,"nodeType":"UserDefinedTypeName","pathNode":{"id":28255,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28226,"src":"836:6:16"},"referencedDeclaration":28226,"src":"836:6:16","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28226_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":28257,"nodeType":"ArrayTypeName","src":"836:8:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"835:28:16"},"scope":28360,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":28275,"nodeType":"FunctionDefinition","src":"870:168:16","nodes":[],"functionSelector":"c3077fa9","implemented":false,"kind":"function","modifiers":[],"name":"blockAndAggregate","nameLocation":"879:17:16","parameters":{"id":28265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28264,"mutability":"mutable","name":"calls","nameLocation":"913:5:16","nodeType":"VariableDeclaration","scope":28275,"src":"897:21:16","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":28262,"nodeType":"UserDefinedTypeName","pathNode":{"id":28261,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28205,"src":"897:4:16"},"referencedDeclaration":28205,"src":"897:4:16","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28205_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":28263,"nodeType":"ArrayTypeName","src":"897:6:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"896:23:16"},"returnParameters":{"id":28274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28267,"mutability":"mutable","name":"blockNumber","nameLocation":"978:11:16","nodeType":"VariableDeclaration","scope":28275,"src":"970:19:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28266,"name":"uint256","nodeType":"ElementaryTypeName","src":"970:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28269,"mutability":"mutable","name":"blockHash","nameLocation":"999:9:16","nodeType":"VariableDeclaration","scope":28275,"src":"991:17:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28268,"name":"bytes32","nodeType":"ElementaryTypeName","src":"991:7:16","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28273,"mutability":"mutable","name":"returnData","nameLocation":"1026:10:16","nodeType":"VariableDeclaration","scope":28275,"src":"1010:26:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":28271,"nodeType":"UserDefinedTypeName","pathNode":{"id":28270,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28226,"src":"1010:6:16"},"referencedDeclaration":28226,"src":"1010:6:16","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28226_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":28272,"nodeType":"ArrayTypeName","src":"1010:8:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"969:68:16"},"scope":28360,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":28280,"nodeType":"FunctionDefinition","src":"1044:62:16","nodes":[],"functionSelector":"3e64a696","implemented":false,"kind":"function","modifiers":[],"name":"getBasefee","nameLocation":"1053:10:16","parameters":{"id":28276,"nodeType":"ParameterList","parameters":[],"src":"1063:2:16"},"returnParameters":{"id":28279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28278,"mutability":"mutable","name":"basefee","nameLocation":"1097:7:16","nodeType":"VariableDeclaration","scope":28280,"src":"1089:15:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28277,"name":"uint256","nodeType":"ElementaryTypeName","src":"1089:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1088:17:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28287,"nodeType":"FunctionDefinition","src":"1112:85:16","nodes":[],"functionSelector":"ee82ac5e","implemented":false,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"1121:12:16","parameters":{"id":28283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28282,"mutability":"mutable","name":"blockNumber","nameLocation":"1142:11:16","nodeType":"VariableDeclaration","scope":28287,"src":"1134:19:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28281,"name":"uint256","nodeType":"ElementaryTypeName","src":"1134:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1133:21:16"},"returnParameters":{"id":28286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28285,"mutability":"mutable","name":"blockHash","nameLocation":"1186:9:16","nodeType":"VariableDeclaration","scope":28287,"src":"1178:17:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28284,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1178:7:16","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1177:19:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28292,"nodeType":"FunctionDefinition","src":"1203:70:16","nodes":[],"functionSelector":"42cbb15c","implemented":false,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"1212:14:16","parameters":{"id":28288,"nodeType":"ParameterList","parameters":[],"src":"1226:2:16"},"returnParameters":{"id":28291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28290,"mutability":"mutable","name":"blockNumber","nameLocation":"1260:11:16","nodeType":"VariableDeclaration","scope":28292,"src":"1252:19:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28289,"name":"uint256","nodeType":"ElementaryTypeName","src":"1252:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1251:21:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28297,"nodeType":"FunctionDefinition","src":"1279:62:16","nodes":[],"functionSelector":"3408e470","implemented":false,"kind":"function","modifiers":[],"name":"getChainId","nameLocation":"1288:10:16","parameters":{"id":28293,"nodeType":"ParameterList","parameters":[],"src":"1298:2:16"},"returnParameters":{"id":28296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28295,"mutability":"mutable","name":"chainid","nameLocation":"1332:7:16","nodeType":"VariableDeclaration","scope":28297,"src":"1324:15:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28294,"name":"uint256","nodeType":"ElementaryTypeName","src":"1324:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1323:17:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28302,"nodeType":"FunctionDefinition","src":"1347:76:16","nodes":[],"functionSelector":"a8b0574e","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"1356:23:16","parameters":{"id":28298,"nodeType":"ParameterList","parameters":[],"src":"1379:2:16"},"returnParameters":{"id":28301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28300,"mutability":"mutable","name":"coinbase","nameLocation":"1413:8:16","nodeType":"VariableDeclaration","scope":28302,"src":"1405:16:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28299,"name":"address","nodeType":"ElementaryTypeName","src":"1405:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1404:18:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28307,"nodeType":"FunctionDefinition","src":"1429:80:16","nodes":[],"functionSelector":"72425d9d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"1438:25:16","parameters":{"id":28303,"nodeType":"ParameterList","parameters":[],"src":"1463:2:16"},"returnParameters":{"id":28306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28305,"mutability":"mutable","name":"difficulty","nameLocation":"1497:10:16","nodeType":"VariableDeclaration","scope":28307,"src":"1489:18:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28304,"name":"uint256","nodeType":"ElementaryTypeName","src":"1489:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1488:20:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28312,"nodeType":"FunctionDefinition","src":"1515:76:16","nodes":[],"functionSelector":"86d516e8","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"1524:23:16","parameters":{"id":28308,"nodeType":"ParameterList","parameters":[],"src":"1547:2:16"},"returnParameters":{"id":28311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28310,"mutability":"mutable","name":"gaslimit","nameLocation":"1581:8:16","nodeType":"VariableDeclaration","scope":28312,"src":"1573:16:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28309,"name":"uint256","nodeType":"ElementaryTypeName","src":"1573:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1572:18:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28317,"nodeType":"FunctionDefinition","src":"1597:78:16","nodes":[],"functionSelector":"0f28c97d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"1606:24:16","parameters":{"id":28313,"nodeType":"ParameterList","parameters":[],"src":"1630:2:16"},"returnParameters":{"id":28316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28315,"mutability":"mutable","name":"timestamp","nameLocation":"1664:9:16","nodeType":"VariableDeclaration","scope":28317,"src":"1656:17:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28314,"name":"uint256","nodeType":"ElementaryTypeName","src":"1656:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1655:19:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28324,"nodeType":"FunctionDefinition","src":"1681:77:16","nodes":[],"functionSelector":"4d2301cc","implemented":false,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"1690:13:16","parameters":{"id":28320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28319,"mutability":"mutable","name":"addr","nameLocation":"1712:4:16","nodeType":"VariableDeclaration","scope":28324,"src":"1704:12:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28318,"name":"address","nodeType":"ElementaryTypeName","src":"1704:7:16","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1703:14:16"},"returnParameters":{"id":28323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28322,"mutability":"mutable","name":"balance","nameLocation":"1749:7:16","nodeType":"VariableDeclaration","scope":28324,"src":"1741:15:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28321,"name":"uint256","nodeType":"ElementaryTypeName","src":"1741:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1740:17:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28329,"nodeType":"FunctionDefinition","src":"1764:70:16","nodes":[],"functionSelector":"27e86d6e","implemented":false,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"1773:16:16","parameters":{"id":28325,"nodeType":"ParameterList","parameters":[],"src":"1789:2:16"},"returnParameters":{"id":28328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28327,"mutability":"mutable","name":"blockHash","nameLocation":"1823:9:16","nodeType":"VariableDeclaration","scope":28329,"src":"1815:17:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28326,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1815:7:16","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1814:19:16"},"scope":28360,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28342,"nodeType":"FunctionDefinition","src":"1840:144:16","nodes":[],"functionSelector":"bce38bd7","implemented":false,"kind":"function","modifiers":[],"name":"tryAggregate","nameLocation":"1849:12:16","parameters":{"id":28336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28331,"mutability":"mutable","name":"requireSuccess","nameLocation":"1867:14:16","nodeType":"VariableDeclaration","scope":28342,"src":"1862:19:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28330,"name":"bool","nodeType":"ElementaryTypeName","src":"1862:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28335,"mutability":"mutable","name":"calls","nameLocation":"1899:5:16","nodeType":"VariableDeclaration","scope":28342,"src":"1883:21:16","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":28333,"nodeType":"UserDefinedTypeName","pathNode":{"id":28332,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28205,"src":"1883:4:16"},"referencedDeclaration":28205,"src":"1883:4:16","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28205_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":28334,"nodeType":"ArrayTypeName","src":"1883:6:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"1861:44:16"},"returnParameters":{"id":28341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28340,"mutability":"mutable","name":"returnData","nameLocation":"1972:10:16","nodeType":"VariableDeclaration","scope":28342,"src":"1956:26:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":28338,"nodeType":"UserDefinedTypeName","pathNode":{"id":28337,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28226,"src":"1956:6:16"},"referencedDeclaration":28226,"src":"1956:6:16","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28226_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":28339,"nodeType":"ArrayTypeName","src":"1956:8:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"1955:28:16"},"scope":28360,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":28359,"nodeType":"FunctionDefinition","src":"1990:192:16","nodes":[],"functionSelector":"399542e9","implemented":false,"kind":"function","modifiers":[],"name":"tryBlockAndAggregate","nameLocation":"1999:20:16","parameters":{"id":28349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28344,"mutability":"mutable","name":"requireSuccess","nameLocation":"2025:14:16","nodeType":"VariableDeclaration","scope":28359,"src":"2020:19:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28343,"name":"bool","nodeType":"ElementaryTypeName","src":"2020:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28348,"mutability":"mutable","name":"calls","nameLocation":"2057:5:16","nodeType":"VariableDeclaration","scope":28359,"src":"2041:21:16","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":28346,"nodeType":"UserDefinedTypeName","pathNode":{"id":28345,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28205,"src":"2041:4:16"},"referencedDeclaration":28205,"src":"2041:4:16","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28205_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":28347,"nodeType":"ArrayTypeName","src":"2041:6:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28205_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"2019:44:16"},"returnParameters":{"id":28358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28351,"mutability":"mutable","name":"blockNumber","nameLocation":"2122:11:16","nodeType":"VariableDeclaration","scope":28359,"src":"2114:19:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28350,"name":"uint256","nodeType":"ElementaryTypeName","src":"2114:7:16","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28353,"mutability":"mutable","name":"blockHash","nameLocation":"2143:9:16","nodeType":"VariableDeclaration","scope":28359,"src":"2135:17:16","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28352,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2135:7:16","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28357,"mutability":"mutable","name":"returnData","nameLocation":"2170:10:16","nodeType":"VariableDeclaration","scope":28359,"src":"2154:26:16","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":28355,"nodeType":"UserDefinedTypeName","pathNode":{"id":28354,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28226,"src":"2154:6:16"},"referencedDeclaration":28226,"src":"2154:6:16","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28226_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":28356,"nodeType":"ArrayTypeName","src":"2154:8:16","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28226_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"2113:68:16"},"scope":28360,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IMulticall3","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[28360],"name":"IMulticall3","nameLocation":"110:11:16","scope":28361,"usedErrors":[]}],"license":"MIT"}},"src/Multicall.sol":{"id":17,"ast":{"absolutePath":"src/Multicall.sol","id":28521,"exportedSymbols":{"Multicall":[28520]},"nodeType":"SourceUnit","src":"32:1674:17","nodes":[{"id":28362,"nodeType":"PragmaDirective","src":"32:23:17","nodes":[],"literals":["solidity","0.8",".12"]},{"id":28520,"nodeType":"ContractDefinition","src":"280:1425:17","nodes":[{"id":28368,"nodeType":"StructDefinition","src":"305:67:17","nodes":[],"canonicalName":"Multicall.Call","members":[{"constant":false,"id":28365,"mutability":"mutable","name":"target","nameLocation":"335:6:17","nodeType":"VariableDeclaration","scope":28368,"src":"327:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28364,"name":"address","nodeType":"ElementaryTypeName","src":"327:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28367,"mutability":"mutable","name":"callData","nameLocation":"357:8:17","nodeType":"VariableDeclaration","scope":28368,"src":"351:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28366,"name":"bytes","nodeType":"ElementaryTypeName","src":"351:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"312:4:17","scope":28520,"visibility":"public"},{"id":28433,"nodeType":"FunctionDefinition","src":"378:411:17","nodes":[],"body":{"id":28432,"nodeType":"Block","src":"484:305:17","nodes":[],"statements":[{"expression":{"id":28383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28380,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28375,"src":"494:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28381,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"508:5:17","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"508:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"494:26:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28384,"nodeType":"ExpressionStatement","src":"494:26:17"},{"expression":{"id":28392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28385,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28378,"src":"530:10:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":28389,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28372,"src":"555:5:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall.Call calldata[] calldata"}},"id":28390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"555:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28388,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"543:11:17","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory[] memory)"},"typeName":{"baseType":{"id":28386,"name":"bytes","nodeType":"ElementaryTypeName","src":"547:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":28387,"nodeType":"ArrayTypeName","src":"547:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}}},"id":28391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"543:25:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"src":"530:38:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":28393,"nodeType":"ExpressionStatement","src":"530:38:17"},{"body":{"id":28430,"nodeType":"Block","src":"621:162:17","statements":[{"assignments":[28406,28408],"declarations":[{"constant":false,"id":28406,"mutability":"mutable","name":"success","nameLocation":"641:7:17","nodeType":"VariableDeclaration","scope":28430,"src":"636:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28405,"name":"bool","nodeType":"ElementaryTypeName","src":"636:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28408,"mutability":"mutable","name":"ret","nameLocation":"663:3:17","nodeType":"VariableDeclaration","scope":28430,"src":"650:16:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":28407,"name":"bytes","nodeType":"ElementaryTypeName","src":"650:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":28419,"initialValue":{"arguments":[{"expression":{"baseExpression":{"id":28414,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28372,"src":"691:5:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall.Call calldata[] calldata"}},"id":28416,"indexExpression":{"id":28415,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28395,"src":"697:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"691:8:17","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_calldata_ptr","typeString":"struct Multicall.Call calldata"}},"id":28417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":28367,"src":"691:17:17","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"baseExpression":{"id":28409,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28372,"src":"670:5:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall.Call calldata[] calldata"}},"id":28411,"indexExpression":{"id":28410,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28395,"src":"676:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"670:8:17","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_calldata_ptr","typeString":"struct Multicall.Call calldata"}},"id":28412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":28365,"src":"670:15:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"670:20:17","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":28418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"670:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"635:74:17"},{"expression":{"arguments":[{"id":28421,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28406,"src":"731:7:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":28420,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"723:7:17","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":28422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"723:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28423,"nodeType":"ExpressionStatement","src":"723:16:17"},{"expression":{"id":28428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":28424,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28378,"src":"753:10:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":28426,"indexExpression":{"id":28425,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28395,"src":"764:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"753:13:17","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":28427,"name":"ret","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28408,"src":"769:3:17","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"753:19:17","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":28429,"nodeType":"ExpressionStatement","src":"753:19:17"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28398,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28395,"src":"598:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":28399,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28372,"src":"602:5:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall.Call calldata[] calldata"}},"id":28400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"602:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"598:16:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28431,"initializationExpression":{"assignments":[28395],"declarations":[{"constant":false,"id":28395,"mutability":"mutable","name":"i","nameLocation":"591:1:17","nodeType":"VariableDeclaration","scope":28431,"src":"583:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28394,"name":"uint256","nodeType":"ElementaryTypeName","src":"583:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28397,"initialValue":{"hexValue":"30","id":28396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"595:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"583:13:17"},"loopExpression":{"expression":{"id":28403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"616:3:17","subExpression":{"id":28402,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28395,"src":"616:1:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28404,"nodeType":"ExpressionStatement","src":"616:3:17"},"nodeType":"ForStatement","src":"578:205:17"}]},"functionSelector":"252dba42","implemented":true,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"387:9:17","parameters":{"id":28373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28372,"mutability":"mutable","name":"calls","nameLocation":"413:5:17","nodeType":"VariableDeclaration","scope":28433,"src":"397:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall.Call[]"},"typeName":{"baseType":{"id":28370,"nodeType":"UserDefinedTypeName","pathNode":{"id":28369,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28368,"src":"397:4:17"},"referencedDeclaration":28368,"src":"397:4:17","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_storage_ptr","typeString":"struct Multicall.Call"}},"id":28371,"nodeType":"ArrayTypeName","src":"397:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_storage_$dyn_storage_ptr","typeString":"struct Multicall.Call[]"}},"visibility":"internal"}],"src":"396:23:17"},"returnParameters":{"id":28379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28375,"mutability":"mutable","name":"blockNumber","nameLocation":"444:11:17","nodeType":"VariableDeclaration","scope":28433,"src":"436:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28374,"name":"uint256","nodeType":"ElementaryTypeName","src":"436:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28378,"mutability":"mutable","name":"returnData","nameLocation":"472:10:17","nodeType":"VariableDeclaration","scope":28433,"src":"457:25:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":28376,"name":"bytes","nodeType":"ElementaryTypeName","src":"457:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":28377,"nodeType":"ArrayTypeName","src":"457:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"435:48:17"},"scope":28520,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":28446,"nodeType":"FunctionDefinition","src":"819:114:17","nodes":[],"body":{"id":28445,"nodeType":"Block","src":"894:39:17","nodes":[],"statements":[{"expression":{"id":28443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28440,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28438,"src":"904:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28441,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28435,"src":"914:4:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"914:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"904:22:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28444,"nodeType":"ExpressionStatement","src":"904:22:17"}]},"functionSelector":"4d2301cc","implemented":true,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"828:13:17","parameters":{"id":28436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28435,"mutability":"mutable","name":"addr","nameLocation":"850:4:17","nodeType":"VariableDeclaration","scope":28446,"src":"842:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28434,"name":"address","nodeType":"ElementaryTypeName","src":"842:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"841:14:17"},"returnParameters":{"id":28439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28438,"mutability":"mutable","name":"balance","nameLocation":"885:7:17","nodeType":"VariableDeclaration","scope":28446,"src":"877:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28437,"name":"uint256","nodeType":"ElementaryTypeName","src":"877:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"876:17:17"},"scope":28520,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28460,"nodeType":"FunctionDefinition","src":"939:134:17","nodes":[],"body":{"id":28459,"nodeType":"Block","src":"1022:51:17","nodes":[],"statements":[{"expression":{"id":28457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28453,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28451,"src":"1032:9:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":28455,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28448,"src":"1054:11:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28454,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"1044:9:17","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":28456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1044:22:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1032:34:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":28458,"nodeType":"ExpressionStatement","src":"1032:34:17"}]},"functionSelector":"ee82ac5e","implemented":true,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"948:12:17","parameters":{"id":28449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28448,"mutability":"mutable","name":"blockNumber","nameLocation":"969:11:17","nodeType":"VariableDeclaration","scope":28460,"src":"961:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28447,"name":"uint256","nodeType":"ElementaryTypeName","src":"961:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"960:21:17"},"returnParameters":{"id":28452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28451,"mutability":"mutable","name":"blockHash","nameLocation":"1011:9:17","nodeType":"VariableDeclaration","scope":28460,"src":"1003:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28450,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1003:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1002:19:17"},"scope":28520,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28475,"nodeType":"FunctionDefinition","src":"1079:124:17","nodes":[],"body":{"id":28474,"nodeType":"Block","src":"1147:56:17","nodes":[],"statements":[{"expression":{"id":28472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28465,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28463,"src":"1157:9:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":28467,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1179:5:17","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1179:12:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":28469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1194:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1179:16:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28466,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"1169:9:17","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":28471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1169:27:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1157:39:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":28473,"nodeType":"ExpressionStatement","src":"1157:39:17"}]},"functionSelector":"27e86d6e","implemented":true,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"1088:16:17","parameters":{"id":28461,"nodeType":"ParameterList","parameters":[],"src":"1104:2:17"},"returnParameters":{"id":28464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28463,"mutability":"mutable","name":"blockHash","nameLocation":"1136:9:17","nodeType":"VariableDeclaration","scope":28475,"src":"1128:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28462,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1128:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1127:19:17"},"scope":28520,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28486,"nodeType":"FunctionDefinition","src":"1209:120:17","nodes":[],"body":{"id":28485,"nodeType":"Block","src":"1285:44:17","nodes":[],"statements":[{"expression":{"id":28483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28480,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28478,"src":"1295:9:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28481,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1307:5:17","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"1307:15:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1295:27:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28484,"nodeType":"ExpressionStatement","src":"1295:27:17"}]},"functionSelector":"0f28c97d","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"1218:24:17","parameters":{"id":28476,"nodeType":"ParameterList","parameters":[],"src":"1242:2:17"},"returnParameters":{"id":28479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28478,"mutability":"mutable","name":"timestamp","nameLocation":"1274:9:17","nodeType":"VariableDeclaration","scope":28486,"src":"1266:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28477,"name":"uint256","nodeType":"ElementaryTypeName","src":"1266:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1265:19:17"},"scope":28520,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28497,"nodeType":"FunctionDefinition","src":"1335:124:17","nodes":[],"body":{"id":28496,"nodeType":"Block","src":"1413:46:17","nodes":[],"statements":[{"expression":{"id":28494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28491,"name":"difficulty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28489,"src":"1423:10:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28492,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1436:5:17","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"difficulty","nodeType":"MemberAccess","src":"1436:16:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1423:29:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28495,"nodeType":"ExpressionStatement","src":"1423:29:17"}]},"functionSelector":"72425d9d","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"1344:25:17","parameters":{"id":28487,"nodeType":"ParameterList","parameters":[],"src":"1369:2:17"},"returnParameters":{"id":28490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28489,"mutability":"mutable","name":"difficulty","nameLocation":"1401:10:17","nodeType":"VariableDeclaration","scope":28497,"src":"1393:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28488,"name":"uint256","nodeType":"ElementaryTypeName","src":"1393:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1392:20:17"},"scope":28520,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28508,"nodeType":"FunctionDefinition","src":"1465:116:17","nodes":[],"body":{"id":28507,"nodeType":"Block","src":"1539:42:17","nodes":[],"statements":[{"expression":{"id":28505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28502,"name":"gaslimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28500,"src":"1549:8:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28503,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1560:5:17","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gaslimit","nodeType":"MemberAccess","src":"1560:14:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1549:25:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28506,"nodeType":"ExpressionStatement","src":"1549:25:17"}]},"functionSelector":"86d516e8","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"1474:23:17","parameters":{"id":28498,"nodeType":"ParameterList","parameters":[],"src":"1497:2:17"},"returnParameters":{"id":28501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28500,"mutability":"mutable","name":"gaslimit","nameLocation":"1529:8:17","nodeType":"VariableDeclaration","scope":28508,"src":"1521:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28499,"name":"uint256","nodeType":"ElementaryTypeName","src":"1521:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1520:18:17"},"scope":28520,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28519,"nodeType":"FunctionDefinition","src":"1587:116:17","nodes":[],"body":{"id":28518,"nodeType":"Block","src":"1661:42:17","nodes":[],"statements":[{"expression":{"id":28516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28513,"name":"coinbase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28511,"src":"1671:8:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28514,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1682:5:17","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"coinbase","nodeType":"MemberAccess","src":"1682:14:17","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"1671:25:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28517,"nodeType":"ExpressionStatement","src":"1671:25:17"}]},"functionSelector":"a8b0574e","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"1596:23:17","parameters":{"id":28509,"nodeType":"ParameterList","parameters":[],"src":"1619:2:17"},"returnParameters":{"id":28512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28511,"mutability":"mutable","name":"coinbase","nameLocation":"1651:8:17","nodeType":"VariableDeclaration","scope":28519,"src":"1643:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28510,"name":"address","nodeType":"ElementaryTypeName","src":"1643:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1642:18:17"},"scope":28520,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"Multicall","contractDependencies":[],"contractKind":"contract","documentation":{"id":28363,"nodeType":"StructuredDocumentation","src":"57:222:17","text":"@title Multicall - Aggregate results from multiple read-only function calls\n @author Michael Elliot \n @author Joshua Levine \n @author Nick Johnson "},"fullyImplemented":true,"linearizedBaseContracts":[28520],"name":"Multicall","nameLocation":"289:9:17","scope":28521,"usedErrors":[]}],"license":"MIT"}},"src/Multicall2.sol":{"id":18,"ast":{"absolutePath":"src/Multicall2.sol","id":28830,"exportedSymbols":{"Multicall2":[28829]},"nodeType":"SourceUnit","src":"32:2912:18","nodes":[{"id":28522,"nodeType":"PragmaDirective","src":"32:23:18","nodes":[],"literals":["solidity","0.8",".12"]},{"id":28829,"nodeType":"ContractDefinition","src":"280:2663:18","nodes":[{"id":28528,"nodeType":"StructDefinition","src":"306:67:18","nodes":[],"canonicalName":"Multicall2.Call","members":[{"constant":false,"id":28525,"mutability":"mutable","name":"target","nameLocation":"336:6:18","nodeType":"VariableDeclaration","scope":28528,"src":"328:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28524,"name":"address","nodeType":"ElementaryTypeName","src":"328:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28527,"mutability":"mutable","name":"callData","nameLocation":"358:8:18","nodeType":"VariableDeclaration","scope":28528,"src":"352:14:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28526,"name":"bytes","nodeType":"ElementaryTypeName","src":"352:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"313:4:18","scope":28829,"visibility":"public"},{"id":28533,"nodeType":"StructDefinition","src":"379:69:18","nodes":[],"canonicalName":"Multicall2.Result","members":[{"constant":false,"id":28530,"mutability":"mutable","name":"success","nameLocation":"408:7:18","nodeType":"VariableDeclaration","scope":28533,"src":"403:12:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28529,"name":"bool","nodeType":"ElementaryTypeName","src":"403:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28532,"mutability":"mutable","name":"returnData","nameLocation":"431:10:18","nodeType":"VariableDeclaration","scope":28533,"src":"425:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28531,"name":"bytes","nodeType":"ElementaryTypeName","src":"425:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Result","nameLocation":"386:6:18","scope":28829,"visibility":"public"},{"id":28599,"nodeType":"FunctionDefinition","src":"454:447:18","nodes":[],"body":{"id":28598,"nodeType":"Block","src":"560:341:18","nodes":[],"statements":[{"expression":{"id":28548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28545,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28540,"src":"570:11:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28546,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"584:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"584:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"570:26:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28549,"nodeType":"ExpressionStatement","src":"570:26:18"},{"expression":{"id":28557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28550,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28543,"src":"606:10:18","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":28554,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28537,"src":"631:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}},"id":28555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"631:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"619:11:18","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory[] memory)"},"typeName":{"baseType":{"id":28551,"name":"bytes","nodeType":"ElementaryTypeName","src":"623:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":28552,"nodeType":"ArrayTypeName","src":"623:7:18","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}}},"id":28556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"619:25:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"src":"606:38:18","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":28558,"nodeType":"ExpressionStatement","src":"606:38:18"},{"body":{"id":28596,"nodeType":"Block","src":"697:198:18","statements":[{"assignments":[28571,28573],"declarations":[{"constant":false,"id":28571,"mutability":"mutable","name":"success","nameLocation":"717:7:18","nodeType":"VariableDeclaration","scope":28596,"src":"712:12:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28570,"name":"bool","nodeType":"ElementaryTypeName","src":"712:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28573,"mutability":"mutable","name":"ret","nameLocation":"739:3:18","nodeType":"VariableDeclaration","scope":28596,"src":"726:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":28572,"name":"bytes","nodeType":"ElementaryTypeName","src":"726:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":28584,"initialValue":{"arguments":[{"expression":{"baseExpression":{"id":28579,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28537,"src":"767:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}},"id":28581,"indexExpression":{"id":28580,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28560,"src":"773:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"767:8:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_calldata_ptr","typeString":"struct Multicall2.Call calldata"}},"id":28582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":28527,"src":"767:17:18","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"baseExpression":{"id":28574,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28537,"src":"746:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}},"id":28576,"indexExpression":{"id":28575,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28560,"src":"752:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"746:8:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_calldata_ptr","typeString":"struct Multicall2.Call calldata"}},"id":28577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":28525,"src":"746:15:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"746:20:18","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":28583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"746:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"711:74:18"},{"expression":{"arguments":[{"id":28586,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28571,"src":"807:7:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d756c746963616c6c206167677265676174653a2063616c6c206661696c6564","id":28587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"816:34:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_f00f29c42686fd9baf65b5bd8fa63c642ded98b2f947cb8aeb6a004fb9f654ec","typeString":"literal_string \"Multicall aggregate: call failed\""},"value":"Multicall aggregate: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f00f29c42686fd9baf65b5bd8fa63c642ded98b2f947cb8aeb6a004fb9f654ec","typeString":"literal_string \"Multicall aggregate: call failed\""}],"id":28585,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"799:7:18","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"799:52:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28589,"nodeType":"ExpressionStatement","src":"799:52:18"},{"expression":{"id":28594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":28590,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28543,"src":"865:10:18","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":28592,"indexExpression":{"id":28591,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28560,"src":"876:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"865:13:18","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":28593,"name":"ret","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28573,"src":"881:3:18","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"865:19:18","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":28595,"nodeType":"ExpressionStatement","src":"865:19:18"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28563,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28560,"src":"674:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":28564,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28537,"src":"678:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}},"id":28565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"678:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"674:16:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28597,"initializationExpression":{"assignments":[28560],"declarations":[{"constant":false,"id":28560,"mutability":"mutable","name":"i","nameLocation":"667:1:18","nodeType":"VariableDeclaration","scope":28597,"src":"659:9:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28559,"name":"uint256","nodeType":"ElementaryTypeName","src":"659:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28562,"initialValue":{"hexValue":"30","id":28561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"671:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"659:13:18"},"loopExpression":{"expression":{"id":28568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"692:3:18","subExpression":{"id":28567,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28560,"src":"692:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28569,"nodeType":"ExpressionStatement","src":"692:3:18"},"nodeType":"ForStatement","src":"654:241:18"}]},"functionSelector":"252dba42","implemented":true,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"463:9:18","parameters":{"id":28538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28537,"mutability":"mutable","name":"calls","nameLocation":"489:5:18","nodeType":"VariableDeclaration","scope":28599,"src":"473:21:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":28535,"nodeType":"UserDefinedTypeName","pathNode":{"id":28534,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"473:4:18"},"referencedDeclaration":28528,"src":"473:4:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":28536,"nodeType":"ArrayTypeName","src":"473:6:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"src":"472:23:18"},"returnParameters":{"id":28544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28540,"mutability":"mutable","name":"blockNumber","nameLocation":"520:11:18","nodeType":"VariableDeclaration","scope":28599,"src":"512:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28539,"name":"uint256","nodeType":"ElementaryTypeName","src":"512:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28543,"mutability":"mutable","name":"returnData","nameLocation":"548:10:18","nodeType":"VariableDeclaration","scope":28599,"src":"533:25:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":28541,"name":"bytes","nodeType":"ElementaryTypeName","src":"533:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":28542,"nodeType":"ArrayTypeName","src":"533:7:18","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"511:48:18"},"scope":28829,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":28668,"nodeType":"FunctionDefinition","src":"907:488:18","nodes":[],"body":{"id":28667,"nodeType":"Block","src":"1017:378:18","nodes":[],"statements":[{"expression":{"id":28620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28612,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28610,"src":"1027:10:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":28617,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28605,"src":"1053:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}},"id":28618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1053:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1040:12:18","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall2.Result memory[] memory)"},"typeName":{"baseType":{"id":28614,"nodeType":"UserDefinedTypeName","pathNode":{"id":28613,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28533,"src":"1044:6:18"},"referencedDeclaration":28533,"src":"1044:6:18","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_storage_ptr","typeString":"struct Multicall2.Result"}},"id":28615,"nodeType":"ArrayTypeName","src":"1044:8:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Result[]"}}},"id":28619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1040:26:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"src":"1027:39:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":28621,"nodeType":"ExpressionStatement","src":"1027:39:18"},{"body":{"id":28665,"nodeType":"Block","src":"1119:270:18","statements":[{"assignments":[28634,28636],"declarations":[{"constant":false,"id":28634,"mutability":"mutable","name":"success","nameLocation":"1139:7:18","nodeType":"VariableDeclaration","scope":28665,"src":"1134:12:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28633,"name":"bool","nodeType":"ElementaryTypeName","src":"1134:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28636,"mutability":"mutable","name":"ret","nameLocation":"1161:3:18","nodeType":"VariableDeclaration","scope":28665,"src":"1148:16:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":28635,"name":"bytes","nodeType":"ElementaryTypeName","src":"1148:5:18","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":28647,"initialValue":{"arguments":[{"expression":{"baseExpression":{"id":28642,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28605,"src":"1189:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}},"id":28644,"indexExpression":{"id":28643,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28623,"src":"1195:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1189:8:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_calldata_ptr","typeString":"struct Multicall2.Call calldata"}},"id":28645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":28527,"src":"1189:17:18","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"baseExpression":{"id":28637,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28605,"src":"1168:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}},"id":28639,"indexExpression":{"id":28638,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28623,"src":"1174:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1168:8:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_calldata_ptr","typeString":"struct Multicall2.Call calldata"}},"id":28640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":28525,"src":"1168:15:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"1168:20:18","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":28646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1168:39:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1133:74:18"},{"condition":{"id":28648,"name":"requireSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28601,"src":"1226:14:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28655,"nodeType":"IfStatement","src":"1222:106:18","trueBody":{"id":28654,"nodeType":"Block","src":"1242:86:18","statements":[{"expression":{"arguments":[{"id":28650,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28634,"src":"1268:7:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6564","id":28651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1277:35:18","typeDescriptions":{"typeIdentifier":"t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf","typeString":"literal_string \"Multicall2 aggregate: call failed\""},"value":"Multicall2 aggregate: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf","typeString":"literal_string \"Multicall2 aggregate: call failed\""}],"id":28649,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1260:7:18","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1260:53:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28653,"nodeType":"ExpressionStatement","src":"1260:53:18"}]}},{"expression":{"id":28663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":28656,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28610,"src":"1342:10:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":28658,"indexExpression":{"id":28657,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28623,"src":"1353:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1342:13:18","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_memory_ptr","typeString":"struct Multicall2.Result memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":28660,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28634,"src":"1365:7:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28661,"name":"ret","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28636,"src":"1374:3:18","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28659,"name":"Result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28533,"src":"1358:6:18","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Result_$28533_storage_ptr_$","typeString":"type(struct Multicall2.Result storage pointer)"}},"id":28662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1358:20:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_memory_ptr","typeString":"struct Multicall2.Result memory"}},"src":"1342:36:18","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_memory_ptr","typeString":"struct Multicall2.Result memory"}},"id":28664,"nodeType":"ExpressionStatement","src":"1342:36:18"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28626,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28623,"src":"1096:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":28627,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28605,"src":"1100:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}},"id":28628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1100:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1096:16:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28666,"initializationExpression":{"assignments":[28623],"declarations":[{"constant":false,"id":28623,"mutability":"mutable","name":"i","nameLocation":"1089:1:18","nodeType":"VariableDeclaration","scope":28666,"src":"1081:9:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28622,"name":"uint256","nodeType":"ElementaryTypeName","src":"1081:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28625,"initialValue":{"hexValue":"30","id":28624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1093:1:18","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"1081:13:18"},"loopExpression":{"expression":{"id":28631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1114:3:18","subExpression":{"id":28630,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28623,"src":"1114:1:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28632,"nodeType":"ExpressionStatement","src":"1114:3:18"},"nodeType":"ForStatement","src":"1076:313:18"}]},"functionSelector":"bce38bd7","implemented":true,"kind":"function","modifiers":[],"name":"tryAggregate","nameLocation":"916:12:18","parameters":{"id":28606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28601,"mutability":"mutable","name":"requireSuccess","nameLocation":"934:14:18","nodeType":"VariableDeclaration","scope":28668,"src":"929:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28600,"name":"bool","nodeType":"ElementaryTypeName","src":"929:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28605,"mutability":"mutable","name":"calls","nameLocation":"966:5:18","nodeType":"VariableDeclaration","scope":28668,"src":"950:21:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":28603,"nodeType":"UserDefinedTypeName","pathNode":{"id":28602,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"950:4:18"},"referencedDeclaration":28528,"src":"950:4:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":28604,"nodeType":"ArrayTypeName","src":"950:6:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"src":"928:44:18"},"returnParameters":{"id":28611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28610,"mutability":"mutable","name":"returnData","nameLocation":"1005:10:18","nodeType":"VariableDeclaration","scope":28668,"src":"989:26:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result[]"},"typeName":{"baseType":{"id":28608,"nodeType":"UserDefinedTypeName","pathNode":{"id":28607,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28533,"src":"989:6:18"},"referencedDeclaration":28533,"src":"989:6:18","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_storage_ptr","typeString":"struct Multicall2.Result"}},"id":28609,"nodeType":"ArrayTypeName","src":"989:8:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Result[]"}},"visibility":"internal"}],"src":"988:28:18"},"scope":28829,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":28705,"nodeType":"FunctionDefinition","src":"1401:304:18","nodes":[],"body":{"id":28704,"nodeType":"Block","src":"1559:146:18","nodes":[],"statements":[{"expression":{"id":28688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28685,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28677,"src":"1569:11:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28686,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1583:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1583:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1569:26:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28689,"nodeType":"ExpressionStatement","src":"1569:26:18"},{"expression":{"id":28695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28690,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28679,"src":"1605:9:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":28692,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1627:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1627:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28691,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"1617:9:18","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":28694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1617:23:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1605:35:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":28696,"nodeType":"ExpressionStatement","src":"1605:35:18"},{"expression":{"id":28702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28697,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28683,"src":"1650:10:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":28699,"name":"requireSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28670,"src":"1676:14:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":28700,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28674,"src":"1692:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}],"id":28698,"name":"tryAggregate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28668,"src":"1663:12:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr_$returns$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall2.Call calldata[] calldata) returns (struct Multicall2.Result memory[] memory)"}},"id":28701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1663:35:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"src":"1650:48:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":28703,"nodeType":"ExpressionStatement","src":"1650:48:18"}]},"functionSelector":"399542e9","implemented":true,"kind":"function","modifiers":[],"name":"tryBlockAndAggregate","nameLocation":"1410:20:18","parameters":{"id":28675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28670,"mutability":"mutable","name":"requireSuccess","nameLocation":"1436:14:18","nodeType":"VariableDeclaration","scope":28705,"src":"1431:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28669,"name":"bool","nodeType":"ElementaryTypeName","src":"1431:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28674,"mutability":"mutable","name":"calls","nameLocation":"1468:5:18","nodeType":"VariableDeclaration","scope":28705,"src":"1452:21:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":28672,"nodeType":"UserDefinedTypeName","pathNode":{"id":28671,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"1452:4:18"},"referencedDeclaration":28528,"src":"1452:4:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":28673,"nodeType":"ArrayTypeName","src":"1452:6:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"src":"1430:44:18"},"returnParameters":{"id":28684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28677,"mutability":"mutable","name":"blockNumber","nameLocation":"1499:11:18","nodeType":"VariableDeclaration","scope":28705,"src":"1491:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28676,"name":"uint256","nodeType":"ElementaryTypeName","src":"1491:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28679,"mutability":"mutable","name":"blockHash","nameLocation":"1520:9:18","nodeType":"VariableDeclaration","scope":28705,"src":"1512:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1512:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28683,"mutability":"mutable","name":"returnData","nameLocation":"1547:10:18","nodeType":"VariableDeclaration","scope":28705,"src":"1531:26:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result[]"},"typeName":{"baseType":{"id":28681,"nodeType":"UserDefinedTypeName","pathNode":{"id":28680,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28533,"src":"1531:6:18"},"referencedDeclaration":28533,"src":"1531:6:18","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_storage_ptr","typeString":"struct Multicall2.Result"}},"id":28682,"nodeType":"ArrayTypeName","src":"1531:8:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Result[]"}},"visibility":"internal"}],"src":"1490:68:18"},"scope":28829,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":28731,"nodeType":"FunctionDefinition","src":"1711:223:18","nodes":[],"body":{"id":28730,"nodeType":"Block","src":"1845:89:18","nodes":[],"statements":[{"expression":{"id":28728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":28720,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28712,"src":"1856:11:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28721,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28714,"src":"1869:9:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":28722,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28718,"src":"1880:10:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}}],"id":28723,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"1855:36:18","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall2.Result memory[] memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"74727565","id":28725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1915:4:18","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":28726,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28709,"src":"1921:5:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call calldata[] calldata"}],"id":28724,"name":"tryBlockAndAggregate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28705,"src":"1894:20:18","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr_$returns$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall2.Call calldata[] calldata) returns (uint256,bytes32,struct Multicall2.Result memory[] memory)"}},"id":28727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1894:33:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall2.Result memory[] memory)"}},"src":"1855:72:18","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28729,"nodeType":"ExpressionStatement","src":"1855:72:18"}]},"functionSelector":"c3077fa9","implemented":true,"kind":"function","modifiers":[],"name":"blockAndAggregate","nameLocation":"1720:17:18","parameters":{"id":28710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28709,"mutability":"mutable","name":"calls","nameLocation":"1754:5:18","nodeType":"VariableDeclaration","scope":28731,"src":"1738:21:18","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":28707,"nodeType":"UserDefinedTypeName","pathNode":{"id":28706,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"1738:4:18"},"referencedDeclaration":28528,"src":"1738:4:18","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":28708,"nodeType":"ArrayTypeName","src":"1738:6:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"src":"1737:23:18"},"returnParameters":{"id":28719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28712,"mutability":"mutable","name":"blockNumber","nameLocation":"1785:11:18","nodeType":"VariableDeclaration","scope":28731,"src":"1777:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28711,"name":"uint256","nodeType":"ElementaryTypeName","src":"1777:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28714,"mutability":"mutable","name":"blockHash","nameLocation":"1806:9:18","nodeType":"VariableDeclaration","scope":28731,"src":"1798:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28713,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1798:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":28718,"mutability":"mutable","name":"returnData","nameLocation":"1833:10:18","nodeType":"VariableDeclaration","scope":28731,"src":"1817:26:18","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result[]"},"typeName":{"baseType":{"id":28716,"nodeType":"UserDefinedTypeName","pathNode":{"id":28715,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28533,"src":"1817:6:18"},"referencedDeclaration":28533,"src":"1817:6:18","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_storage_ptr","typeString":"struct Multicall2.Result"}},"id":28717,"nodeType":"ArrayTypeName","src":"1817:8:18","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Result[]"}},"visibility":"internal"}],"src":"1776:68:18"},"scope":28829,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":28745,"nodeType":"FunctionDefinition","src":"1940:134:18","nodes":[],"body":{"id":28744,"nodeType":"Block","src":"2023:51:18","nodes":[],"statements":[{"expression":{"id":28742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28738,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28736,"src":"2033:9:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":28740,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28733,"src":"2055:11:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28739,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"2045:9:18","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":28741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2045:22:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2033:34:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":28743,"nodeType":"ExpressionStatement","src":"2033:34:18"}]},"functionSelector":"ee82ac5e","implemented":true,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"1949:12:18","parameters":{"id":28734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28733,"mutability":"mutable","name":"blockNumber","nameLocation":"1970:11:18","nodeType":"VariableDeclaration","scope":28745,"src":"1962:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28732,"name":"uint256","nodeType":"ElementaryTypeName","src":"1962:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1961:21:18"},"returnParameters":{"id":28737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28736,"mutability":"mutable","name":"blockHash","nameLocation":"2012:9:18","nodeType":"VariableDeclaration","scope":28745,"src":"2004:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28735,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2004:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2003:19:18"},"scope":28829,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28756,"nodeType":"FunctionDefinition","src":"2080:111:18","nodes":[],"body":{"id":28755,"nodeType":"Block","src":"2148:43:18","nodes":[],"statements":[{"expression":{"id":28753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28750,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28748,"src":"2158:11:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28751,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2172:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2172:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2158:26:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28754,"nodeType":"ExpressionStatement","src":"2158:26:18"}]},"functionSelector":"42cbb15c","implemented":true,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"2089:14:18","parameters":{"id":28746,"nodeType":"ParameterList","parameters":[],"src":"2103:2:18"},"returnParameters":{"id":28749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28748,"mutability":"mutable","name":"blockNumber","nameLocation":"2135:11:18","nodeType":"VariableDeclaration","scope":28756,"src":"2127:19:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28747,"name":"uint256","nodeType":"ElementaryTypeName","src":"2127:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2126:21:18"},"scope":28829,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28767,"nodeType":"FunctionDefinition","src":"2197:116:18","nodes":[],"body":{"id":28766,"nodeType":"Block","src":"2271:42:18","nodes":[],"statements":[{"expression":{"id":28764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28761,"name":"coinbase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28759,"src":"2281:8:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28762,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2292:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"coinbase","nodeType":"MemberAccess","src":"2292:14:18","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"2281:25:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28765,"nodeType":"ExpressionStatement","src":"2281:25:18"}]},"functionSelector":"a8b0574e","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"2206:23:18","parameters":{"id":28757,"nodeType":"ParameterList","parameters":[],"src":"2229:2:18"},"returnParameters":{"id":28760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28759,"mutability":"mutable","name":"coinbase","nameLocation":"2261:8:18","nodeType":"VariableDeclaration","scope":28767,"src":"2253:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28758,"name":"address","nodeType":"ElementaryTypeName","src":"2253:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2252:18:18"},"scope":28829,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28778,"nodeType":"FunctionDefinition","src":"2319:124:18","nodes":[],"body":{"id":28777,"nodeType":"Block","src":"2397:46:18","nodes":[],"statements":[{"expression":{"id":28775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28772,"name":"difficulty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28770,"src":"2407:10:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28773,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2420:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"difficulty","nodeType":"MemberAccess","src":"2420:16:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2407:29:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28776,"nodeType":"ExpressionStatement","src":"2407:29:18"}]},"functionSelector":"72425d9d","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"2328:25:18","parameters":{"id":28768,"nodeType":"ParameterList","parameters":[],"src":"2353:2:18"},"returnParameters":{"id":28771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28770,"mutability":"mutable","name":"difficulty","nameLocation":"2385:10:18","nodeType":"VariableDeclaration","scope":28778,"src":"2377:18:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28769,"name":"uint256","nodeType":"ElementaryTypeName","src":"2377:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2376:20:18"},"scope":28829,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28789,"nodeType":"FunctionDefinition","src":"2449:116:18","nodes":[],"body":{"id":28788,"nodeType":"Block","src":"2523:42:18","nodes":[],"statements":[{"expression":{"id":28786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28783,"name":"gaslimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28781,"src":"2533:8:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28784,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2544:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gaslimit","nodeType":"MemberAccess","src":"2544:14:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2533:25:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28787,"nodeType":"ExpressionStatement","src":"2533:25:18"}]},"functionSelector":"86d516e8","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"2458:23:18","parameters":{"id":28779,"nodeType":"ParameterList","parameters":[],"src":"2481:2:18"},"returnParameters":{"id":28782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28781,"mutability":"mutable","name":"gaslimit","nameLocation":"2513:8:18","nodeType":"VariableDeclaration","scope":28789,"src":"2505:16:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28780,"name":"uint256","nodeType":"ElementaryTypeName","src":"2505:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2504:18:18"},"scope":28829,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28800,"nodeType":"FunctionDefinition","src":"2571:120:18","nodes":[],"body":{"id":28799,"nodeType":"Block","src":"2647:44:18","nodes":[],"statements":[{"expression":{"id":28797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28794,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28792,"src":"2657:9:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28795,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2669:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"2669:15:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2657:27:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28798,"nodeType":"ExpressionStatement","src":"2657:27:18"}]},"functionSelector":"0f28c97d","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"2580:24:18","parameters":{"id":28790,"nodeType":"ParameterList","parameters":[],"src":"2604:2:18"},"returnParameters":{"id":28793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28792,"mutability":"mutable","name":"timestamp","nameLocation":"2636:9:18","nodeType":"VariableDeclaration","scope":28800,"src":"2628:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28791,"name":"uint256","nodeType":"ElementaryTypeName","src":"2628:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2627:19:18"},"scope":28829,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28813,"nodeType":"FunctionDefinition","src":"2697:114:18","nodes":[],"body":{"id":28812,"nodeType":"Block","src":"2772:39:18","nodes":[],"statements":[{"expression":{"id":28810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28807,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28805,"src":"2782:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28808,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28802,"src":"2792:4:18","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"2792:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2782:22:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28811,"nodeType":"ExpressionStatement","src":"2782:22:18"}]},"functionSelector":"4d2301cc","implemented":true,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"2706:13:18","parameters":{"id":28803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28802,"mutability":"mutable","name":"addr","nameLocation":"2728:4:18","nodeType":"VariableDeclaration","scope":28813,"src":"2720:12:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28801,"name":"address","nodeType":"ElementaryTypeName","src":"2720:7:18","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2719:14:18"},"returnParameters":{"id":28806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28805,"mutability":"mutable","name":"balance","nameLocation":"2763:7:18","nodeType":"VariableDeclaration","scope":28813,"src":"2755:15:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28804,"name":"uint256","nodeType":"ElementaryTypeName","src":"2755:7:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2754:17:18"},"scope":28829,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":28828,"nodeType":"FunctionDefinition","src":"2817:124:18","nodes":[],"body":{"id":28827,"nodeType":"Block","src":"2885:56:18","nodes":[],"statements":[{"expression":{"id":28825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28818,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28816,"src":"2895:9:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":28820,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2917:5:18","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2917:12:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":28822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2932:1:18","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2917:16:18","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28819,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"2907:9:18","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":28824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2907:27:18","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2895:39:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":28826,"nodeType":"ExpressionStatement","src":"2895:39:18"}]},"functionSelector":"27e86d6e","implemented":true,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"2826:16:18","parameters":{"id":28814,"nodeType":"ParameterList","parameters":[],"src":"2842:2:18"},"returnParameters":{"id":28817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28816,"mutability":"mutable","name":"blockHash","nameLocation":"2874:9:18","nodeType":"VariableDeclaration","scope":28828,"src":"2866:17:18","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28815,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2866:7:18","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2865:19:18"},"scope":28829,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"Multicall2","contractDependencies":[],"contractKind":"contract","documentation":{"id":28523,"nodeType":"StructuredDocumentation","src":"57:223:18","text":"@title Multicall2 - Aggregate results from multiple read-only function calls\n @author Michael Elliot \n @author Joshua Levine \n @author Nick Johnson "},"fullyImplemented":true,"linearizedBaseContracts":[28829],"name":"Multicall2","nameLocation":"289:10:18","scope":28830,"usedErrors":[]}],"license":"MIT"}},"src/Multicall3.sol":{"id":19,"ast":{"absolutePath":"src/Multicall3.sol","id":29379,"exportedSymbols":{"Multicall3":[29378]},"nodeType":"SourceUnit","src":"32:9578:19","nodes":[{"id":28831,"nodeType":"PragmaDirective","src":"32:23:19","nodes":[],"literals":["solidity","0.8",".12"]},{"id":29378,"nodeType":"ContractDefinition","src":"502:9107:19","nodes":[{"id":28837,"nodeType":"StructDefinition","src":"528:67:19","nodes":[],"canonicalName":"Multicall3.Call","members":[{"constant":false,"id":28834,"mutability":"mutable","name":"target","nameLocation":"558:6:19","nodeType":"VariableDeclaration","scope":28837,"src":"550:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28833,"name":"address","nodeType":"ElementaryTypeName","src":"550:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28836,"mutability":"mutable","name":"callData","nameLocation":"580:8:19","nodeType":"VariableDeclaration","scope":28837,"src":"574:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28835,"name":"bytes","nodeType":"ElementaryTypeName","src":"574:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"535:4:19","scope":29378,"visibility":"public"},{"id":28844,"nodeType":"StructDefinition","src":"601:95:19","nodes":[],"canonicalName":"Multicall3.Call3","members":[{"constant":false,"id":28839,"mutability":"mutable","name":"target","nameLocation":"632:6:19","nodeType":"VariableDeclaration","scope":28844,"src":"624:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28838,"name":"address","nodeType":"ElementaryTypeName","src":"624:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28841,"mutability":"mutable","name":"allowFailure","nameLocation":"653:12:19","nodeType":"VariableDeclaration","scope":28844,"src":"648:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28840,"name":"bool","nodeType":"ElementaryTypeName","src":"648:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28843,"mutability":"mutable","name":"callData","nameLocation":"681:8:19","nodeType":"VariableDeclaration","scope":28844,"src":"675:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28842,"name":"bytes","nodeType":"ElementaryTypeName","src":"675:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3","nameLocation":"608:5:19","scope":29378,"visibility":"public"},{"id":28853,"nodeType":"StructDefinition","src":"702:123:19","nodes":[],"canonicalName":"Multicall3.Call3Value","members":[{"constant":false,"id":28846,"mutability":"mutable","name":"target","nameLocation":"738:6:19","nodeType":"VariableDeclaration","scope":28853,"src":"730:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28845,"name":"address","nodeType":"ElementaryTypeName","src":"730:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28848,"mutability":"mutable","name":"allowFailure","nameLocation":"759:12:19","nodeType":"VariableDeclaration","scope":28853,"src":"754:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28847,"name":"bool","nodeType":"ElementaryTypeName","src":"754:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28850,"mutability":"mutable","name":"value","nameLocation":"789:5:19","nodeType":"VariableDeclaration","scope":28853,"src":"781:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28849,"name":"uint256","nodeType":"ElementaryTypeName","src":"781:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28852,"mutability":"mutable","name":"callData","nameLocation":"810:8:19","nodeType":"VariableDeclaration","scope":28853,"src":"804:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28851,"name":"bytes","nodeType":"ElementaryTypeName","src":"804:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3Value","nameLocation":"709:10:19","scope":29378,"visibility":"public"},{"id":28858,"nodeType":"StructDefinition","src":"831:69:19","nodes":[],"canonicalName":"Multicall3.Result","members":[{"constant":false,"id":28855,"mutability":"mutable","name":"success","nameLocation":"860:7:19","nodeType":"VariableDeclaration","scope":28858,"src":"855:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28854,"name":"bool","nodeType":"ElementaryTypeName","src":"855:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28857,"mutability":"mutable","name":"returnData","nameLocation":"883:10:19","nodeType":"VariableDeclaration","scope":28858,"src":"877:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":28856,"name":"bytes","nodeType":"ElementaryTypeName","src":"877:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Result","nameLocation":"838:6:19","scope":29378,"visibility":"public"},{"id":28934,"nodeType":"FunctionDefinition","src":"1166:534:19","nodes":[],"body":{"id":28933,"nodeType":"Block","src":"1280:420:19","nodes":[],"statements":[{"expression":{"id":28874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28871,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28866,"src":"1290:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":28872,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1304:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":28873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1304:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1290:26:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28875,"nodeType":"ExpressionStatement","src":"1290:26:19"},{"assignments":[28877],"declarations":[{"constant":false,"id":28877,"mutability":"mutable","name":"length","nameLocation":"1334:6:19","nodeType":"VariableDeclaration","scope":28933,"src":"1326:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28876,"name":"uint256","nodeType":"ElementaryTypeName","src":"1326:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28880,"initialValue":{"expression":{"id":28878,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28863,"src":"1343:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call calldata[] calldata"}},"id":28879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"1343:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1326:29:19"},{"expression":{"id":28887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28881,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28869,"src":"1365:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":28885,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28877,"src":"1390:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1378:11:19","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory[] memory)"},"typeName":{"baseType":{"id":28882,"name":"bytes","nodeType":"ElementaryTypeName","src":"1382:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":28883,"nodeType":"ArrayTypeName","src":"1382:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}}},"id":28886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1378:19:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"src":"1365:32:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":28888,"nodeType":"ExpressionStatement","src":"1365:32:19"},{"assignments":[28891],"declarations":[{"constant":false,"id":28891,"mutability":"mutable","name":"call","nameLocation":"1421:4:19","nodeType":"VariableDeclaration","scope":28933,"src":"1407:18:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call"},"typeName":{"id":28890,"nodeType":"UserDefinedTypeName","pathNode":{"id":28889,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"1407:4:19"},"referencedDeclaration":28837,"src":"1407:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"visibility":"internal"}],"id":28892,"nodeType":"VariableDeclarationStatement","src":"1407:18:19"},{"body":{"id":28931,"nodeType":"Block","src":"1468:226:19","statements":[{"assignments":[28901],"declarations":[{"constant":false,"id":28901,"mutability":"mutable","name":"success","nameLocation":"1487:7:19","nodeType":"VariableDeclaration","scope":28931,"src":"1482:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28900,"name":"bool","nodeType":"ElementaryTypeName","src":"1482:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":28902,"nodeType":"VariableDeclarationStatement","src":"1482:12:19"},{"expression":{"id":28907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28903,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28891,"src":"1508:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":28904,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28863,"src":"1515:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call calldata[] calldata"}},"id":28906,"indexExpression":{"id":28905,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28894,"src":"1521:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1515:8:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"src":"1508:15:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"id":28908,"nodeType":"ExpressionStatement","src":"1508:15:19"},{"expression":{"id":28920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":28909,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28901,"src":"1538:7:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"baseExpression":{"id":28910,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28869,"src":"1547:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":28912,"indexExpression":{"id":28911,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28894,"src":"1558:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1547:13:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":28913,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"1537:24:19","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":28917,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28891,"src":"1581:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"id":28918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":28836,"src":"1581:13:19","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":28914,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28891,"src":"1564:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"id":28915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":28834,"src":"1564:11:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"1564:16:19","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":28919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1564:31:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"1537:58:19","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28921,"nodeType":"ExpressionStatement","src":"1537:58:19"},{"expression":{"arguments":[{"id":28923,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28901,"src":"1617:7:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d756c746963616c6c333a2063616c6c206661696c6564","id":28924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1626:25:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""},"value":"Multicall3: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""}],"id":28922,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1609:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":28925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1609:43:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28926,"nodeType":"ExpressionStatement","src":"1609:43:19"},{"id":28930,"nodeType":"UncheckedBlock","src":"1666:18:19","statements":[{"expression":{"id":28928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"1678:3:19","subExpression":{"id":28927,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28894,"src":"1680:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28929,"nodeType":"ExpressionStatement","src":"1678:3:19"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28897,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28894,"src":"1455:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":28898,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28877,"src":"1459:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1455:10:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28932,"initializationExpression":{"assignments":[28894],"declarations":[{"constant":false,"id":28894,"mutability":"mutable","name":"i","nameLocation":"1448:1:19","nodeType":"VariableDeclaration","scope":28932,"src":"1440:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28893,"name":"uint256","nodeType":"ElementaryTypeName","src":"1440:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28896,"initialValue":{"hexValue":"30","id":28895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1452:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"1440:13:19"},"nodeType":"ForStatement","src":"1435:259:19"}]},"documentation":{"id":28859,"nodeType":"StructuredDocumentation","src":"906:255:19","text":"@notice Backwards-compatible call aggregation with Multicall\n @param calls An array of Call structs\n @return blockNumber The block number where the calls were executed\n @return returnData An array of bytes containing the responses"},"functionSelector":"252dba42","implemented":true,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"1175:9:19","parameters":{"id":28864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28863,"mutability":"mutable","name":"calls","nameLocation":"1201:5:19","nodeType":"VariableDeclaration","scope":28934,"src":"1185:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":28861,"nodeType":"UserDefinedTypeName","pathNode":{"id":28860,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"1185:4:19"},"referencedDeclaration":28837,"src":"1185:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":28862,"nodeType":"ArrayTypeName","src":"1185:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"src":"1184:23:19"},"returnParameters":{"id":28870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28866,"mutability":"mutable","name":"blockNumber","nameLocation":"1240:11:19","nodeType":"VariableDeclaration","scope":28934,"src":"1232:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28865,"name":"uint256","nodeType":"ElementaryTypeName","src":"1232:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28869,"mutability":"mutable","name":"returnData","nameLocation":"1268:10:19","nodeType":"VariableDeclaration","scope":28934,"src":"1253:25:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":28867,"name":"bytes","nodeType":"ElementaryTypeName","src":"1253:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":28868,"nodeType":"ArrayTypeName","src":"1253:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"1231:48:19"},"scope":29378,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":29015,"nodeType":"FunctionDefinition","src":"1985:565:19","nodes":[],"body":{"id":29014,"nodeType":"Block","src":"2103:447:19","nodes":[],"statements":[{"assignments":[28949],"declarations":[{"constant":false,"id":28949,"mutability":"mutable","name":"length","nameLocation":"2121:6:19","nodeType":"VariableDeclaration","scope":29014,"src":"2113:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28948,"name":"uint256","nodeType":"ElementaryTypeName","src":"2113:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28952,"initialValue":{"expression":{"id":28950,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28941,"src":"2130:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call calldata[] calldata"}},"id":28951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2130:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2113:29:19"},{"expression":{"id":28960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28953,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28946,"src":"2152:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":28958,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28949,"src":"2178:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2165:12:19","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Result memory[] memory)"},"typeName":{"baseType":{"id":28955,"nodeType":"UserDefinedTypeName","pathNode":{"id":28954,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"2169:6:19"},"referencedDeclaration":28858,"src":"2169:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":28956,"nodeType":"ArrayTypeName","src":"2169:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}}},"id":28959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2165:20:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"src":"2152:33:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":28961,"nodeType":"ExpressionStatement","src":"2152:33:19"},{"assignments":[28964],"declarations":[{"constant":false,"id":28964,"mutability":"mutable","name":"call","nameLocation":"2209:4:19","nodeType":"VariableDeclaration","scope":29014,"src":"2195:18:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call"},"typeName":{"id":28963,"nodeType":"UserDefinedTypeName","pathNode":{"id":28962,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"2195:4:19"},"referencedDeclaration":28837,"src":"2195:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"visibility":"internal"}],"id":28965,"nodeType":"VariableDeclarationStatement","src":"2195:18:19"},{"body":{"id":29012,"nodeType":"Block","src":"2256:288:19","statements":[{"assignments":[28975],"declarations":[{"constant":false,"id":28975,"mutability":"mutable","name":"result","nameLocation":"2284:6:19","nodeType":"VariableDeclaration","scope":29012,"src":"2270:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result"},"typeName":{"id":28974,"nodeType":"UserDefinedTypeName","pathNode":{"id":28973,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"2270:6:19"},"referencedDeclaration":28858,"src":"2270:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"visibility":"internal"}],"id":28979,"initialValue":{"baseExpression":{"id":28976,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28946,"src":"2293:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":28978,"indexExpression":{"id":28977,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28967,"src":"2304:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2293:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"nodeType":"VariableDeclarationStatement","src":"2270:36:19"},{"expression":{"id":28984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28980,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28964,"src":"2320:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":28981,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28941,"src":"2327:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call calldata[] calldata"}},"id":28983,"indexExpression":{"id":28982,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28967,"src":"2333:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2327:8:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"src":"2320:15:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"id":28985,"nodeType":"ExpressionStatement","src":"2320:15:19"},{"expression":{"id":28998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"expression":{"id":28986,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28975,"src":"2350:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":28988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"2350:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":28989,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28975,"src":"2366:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":28990,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"2366:17:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":28991,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"2349:35:19","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":28995,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28964,"src":"2404:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"id":28996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":28836,"src":"2404:13:19","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":28992,"name":"call","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28964,"src":"2387:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_calldata_ptr","typeString":"struct Multicall3.Call calldata"}},"id":28993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":28834,"src":"2387:11:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"2387:16:19","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":28997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2387:31:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"2349:69:19","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":28999,"nodeType":"ExpressionStatement","src":"2349:69:19"},{"condition":{"id":29000,"name":"requireSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28937,"src":"2436:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29007,"nodeType":"IfStatement","src":"2432:70:19","trueBody":{"expression":{"arguments":[{"expression":{"id":29002,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28975,"src":"2460:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":29003,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"2460:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d756c746963616c6c333a2063616c6c206661696c6564","id":29004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2476:25:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""},"value":"Multicall3: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""}],"id":29001,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2452:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":29005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2452:50:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29006,"nodeType":"ExpressionStatement","src":"2452:50:19"}},{"id":29011,"nodeType":"UncheckedBlock","src":"2516:18:19","statements":[{"expression":{"id":29009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"2528:3:19","subExpression":{"id":29008,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28967,"src":"2530:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29010,"nodeType":"ExpressionStatement","src":"2528:3:19"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28970,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28967,"src":"2243:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":28971,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28949,"src":"2247:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2243:10:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29013,"initializationExpression":{"assignments":[28967],"declarations":[{"constant":false,"id":28967,"mutability":"mutable","name":"i","nameLocation":"2236:1:19","nodeType":"VariableDeclaration","scope":29013,"src":"2228:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28966,"name":"uint256","nodeType":"ElementaryTypeName","src":"2228:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28969,"initialValue":{"hexValue":"30","id":28968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2240:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2228:13:19"},"nodeType":"ForStatement","src":"2223:321:19"}]},"documentation":{"id":28935,"nodeType":"StructuredDocumentation","src":"1706:274:19","text":"@notice Backwards-compatible with Multicall2\n @notice Aggregate calls without requiring success\n @param requireSuccess If true, require all calls to succeed\n @param calls An array of Call structs\n @return returnData An array of Result structs"},"functionSelector":"bce38bd7","implemented":true,"kind":"function","modifiers":[],"name":"tryAggregate","nameLocation":"1994:12:19","parameters":{"id":28942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28937,"mutability":"mutable","name":"requireSuccess","nameLocation":"2012:14:19","nodeType":"VariableDeclaration","scope":29015,"src":"2007:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28936,"name":"bool","nodeType":"ElementaryTypeName","src":"2007:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28941,"mutability":"mutable","name":"calls","nameLocation":"2044:5:19","nodeType":"VariableDeclaration","scope":29015,"src":"2028:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":28939,"nodeType":"UserDefinedTypeName","pathNode":{"id":28938,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"2028:4:19"},"referencedDeclaration":28837,"src":"2028:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":28940,"nodeType":"ArrayTypeName","src":"2028:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"src":"2006:44:19"},"returnParameters":{"id":28947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28946,"mutability":"mutable","name":"returnData","nameLocation":"2091:10:19","nodeType":"VariableDeclaration","scope":29015,"src":"2075:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result[]"},"typeName":{"baseType":{"id":28944,"nodeType":"UserDefinedTypeName","pathNode":{"id":28943,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"2075:6:19"},"referencedDeclaration":28858,"src":"2075:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":28945,"nodeType":"ArrayTypeName","src":"2075:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}},"visibility":"internal"}],"src":"2074:28:19"},"scope":29378,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":29053,"nodeType":"FunctionDefinition","src":"2932:312:19","nodes":[],"body":{"id":29052,"nodeType":"Block","src":"3098:146:19","nodes":[],"statements":[{"expression":{"id":29036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29033,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29025,"src":"3108:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":29034,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3122:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3122:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3108:26:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29037,"nodeType":"ExpressionStatement","src":"3108:26:19"},{"expression":{"id":29043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29038,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29027,"src":"3144:9:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":29040,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3166:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3166:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29039,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"3156:9:19","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":29042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3156:23:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3144:35:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":29044,"nodeType":"ExpressionStatement","src":"3144:35:19"},{"expression":{"id":29050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29045,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29031,"src":"3189:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29047,"name":"requireSuccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29018,"src":"3215:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":29048,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29022,"src":"3231:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call calldata[] calldata"}],"id":29046,"name":"tryAggregate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29015,"src":"3202:12:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall3.Call calldata[] calldata) returns (struct Multicall3.Result memory[] memory)"}},"id":29049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3202:35:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"src":"3189:48:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":29051,"nodeType":"ExpressionStatement","src":"3189:48:19"}]},"documentation":{"id":29016,"nodeType":"StructuredDocumentation","src":"2556:371:19","text":"@notice Backwards-compatible with Multicall2\n @notice Aggregate calls and allow failures using tryAggregate\n @param calls An array of Call structs\n @return blockNumber The block number where the calls were executed\n @return blockHash The hash of the block where the calls were executed\n @return returnData An array of Result structs"},"functionSelector":"399542e9","implemented":true,"kind":"function","modifiers":[],"name":"tryBlockAndAggregate","nameLocation":"2941:20:19","parameters":{"id":29023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29018,"mutability":"mutable","name":"requireSuccess","nameLocation":"2967:14:19","nodeType":"VariableDeclaration","scope":29053,"src":"2962:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29017,"name":"bool","nodeType":"ElementaryTypeName","src":"2962:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29022,"mutability":"mutable","name":"calls","nameLocation":"2999:5:19","nodeType":"VariableDeclaration","scope":29053,"src":"2983:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":29020,"nodeType":"UserDefinedTypeName","pathNode":{"id":29019,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"2983:4:19"},"referencedDeclaration":28837,"src":"2983:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":29021,"nodeType":"ArrayTypeName","src":"2983:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"src":"2961:44:19"},"returnParameters":{"id":29032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29025,"mutability":"mutable","name":"blockNumber","nameLocation":"3038:11:19","nodeType":"VariableDeclaration","scope":29053,"src":"3030:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29024,"name":"uint256","nodeType":"ElementaryTypeName","src":"3030:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29027,"mutability":"mutable","name":"blockHash","nameLocation":"3059:9:19","nodeType":"VariableDeclaration","scope":29053,"src":"3051:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29026,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3051:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29031,"mutability":"mutable","name":"returnData","nameLocation":"3086:10:19","nodeType":"VariableDeclaration","scope":29053,"src":"3070:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result[]"},"typeName":{"baseType":{"id":29029,"nodeType":"UserDefinedTypeName","pathNode":{"id":29028,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"3070:6:19"},"referencedDeclaration":28858,"src":"3070:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":29030,"nodeType":"ArrayTypeName","src":"3070:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}},"visibility":"internal"}],"src":"3029:68:19"},"scope":29378,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":29080,"nodeType":"FunctionDefinition","src":"3626:231:19","nodes":[],"body":{"id":29079,"nodeType":"Block","src":"3768:89:19","nodes":[],"statements":[{"expression":{"id":29077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":29069,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29061,"src":"3779:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":29070,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29063,"src":"3792:9:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":29071,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29067,"src":"3803:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}}],"id":29072,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"3778:36:19","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall3.Result memory[] memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"74727565","id":29074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3838:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":29075,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29058,"src":"3844:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call calldata[] calldata"}],"id":29073,"name":"tryBlockAndAggregate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29053,"src":"3817:20:19","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$_t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr_$returns$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall3.Call calldata[] calldata) returns (uint256,bytes32,struct Multicall3.Result memory[] memory)"}},"id":29076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3817:33:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall3.Result memory[] memory)"}},"src":"3778:72:19","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29078,"nodeType":"ExpressionStatement","src":"3778:72:19"}]},"documentation":{"id":29054,"nodeType":"StructuredDocumentation","src":"3250:371:19","text":"@notice Backwards-compatible with Multicall2\n @notice Aggregate calls and allow failures using tryAggregate\n @param calls An array of Call structs\n @return blockNumber The block number where the calls were executed\n @return blockHash The hash of the block where the calls were executed\n @return returnData An array of Result structs"},"functionSelector":"c3077fa9","implemented":true,"kind":"function","modifiers":[],"name":"blockAndAggregate","nameLocation":"3635:17:19","parameters":{"id":29059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29058,"mutability":"mutable","name":"calls","nameLocation":"3669:5:19","nodeType":"VariableDeclaration","scope":29080,"src":"3653:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":29056,"nodeType":"UserDefinedTypeName","pathNode":{"id":29055,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"3653:4:19"},"referencedDeclaration":28837,"src":"3653:4:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":29057,"nodeType":"ArrayTypeName","src":"3653:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"src":"3652:23:19"},"returnParameters":{"id":29068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29061,"mutability":"mutable","name":"blockNumber","nameLocation":"3708:11:19","nodeType":"VariableDeclaration","scope":29080,"src":"3700:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29060,"name":"uint256","nodeType":"ElementaryTypeName","src":"3700:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29063,"mutability":"mutable","name":"blockHash","nameLocation":"3729:9:19","nodeType":"VariableDeclaration","scope":29080,"src":"3721:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29062,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3721:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29067,"mutability":"mutable","name":"returnData","nameLocation":"3756:10:19","nodeType":"VariableDeclaration","scope":29080,"src":"3740:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result[]"},"typeName":{"baseType":{"id":29065,"nodeType":"UserDefinedTypeName","pathNode":{"id":29064,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"3740:6:19"},"referencedDeclaration":28858,"src":"3740:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":29066,"nodeType":"ArrayTypeName","src":"3740:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}},"visibility":"internal"}],"src":"3699:68:19"},"scope":29378,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":29152,"nodeType":"FunctionDefinition","src":"4039:1494:19","nodes":[],"body":{"id":29151,"nodeType":"Block","src":"4135:1398:19","nodes":[],"statements":[{"assignments":[29093],"declarations":[{"constant":false,"id":29093,"mutability":"mutable","name":"length","nameLocation":"4153:6:19","nodeType":"VariableDeclaration","scope":29151,"src":"4145:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29092,"name":"uint256","nodeType":"ElementaryTypeName","src":"4145:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29096,"initialValue":{"expression":{"id":29094,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29085,"src":"4162:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call3 calldata[] calldata"}},"id":29095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4162:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4145:29:19"},{"expression":{"id":29104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29097,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29090,"src":"4184:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29102,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29093,"src":"4210:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29101,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4197:12:19","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Result memory[] memory)"},"typeName":{"baseType":{"id":29099,"nodeType":"UserDefinedTypeName","pathNode":{"id":29098,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"4201:6:19"},"referencedDeclaration":28858,"src":"4201:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":29100,"nodeType":"ArrayTypeName","src":"4201:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}}},"id":29103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4197:20:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"src":"4184:33:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":29105,"nodeType":"ExpressionStatement","src":"4184:33:19"},{"assignments":[29108],"declarations":[{"constant":false,"id":29108,"mutability":"mutable","name":"calli","nameLocation":"4242:5:19","nodeType":"VariableDeclaration","scope":29151,"src":"4227:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_calldata_ptr","typeString":"struct Multicall3.Call3"},"typeName":{"id":29107,"nodeType":"UserDefinedTypeName","pathNode":{"id":29106,"name":"Call3","nodeType":"IdentifierPath","referencedDeclaration":28844,"src":"4227:5:19"},"referencedDeclaration":28844,"src":"4227:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_storage_ptr","typeString":"struct Multicall3.Call3"}},"visibility":"internal"}],"id":29109,"nodeType":"VariableDeclarationStatement","src":"4227:20:19"},{"body":{"id":29149,"nodeType":"Block","src":"4290:1237:19","statements":[{"assignments":[29119],"declarations":[{"constant":false,"id":29119,"mutability":"mutable","name":"result","nameLocation":"4318:6:19","nodeType":"VariableDeclaration","scope":29149,"src":"4304:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result"},"typeName":{"id":29118,"nodeType":"UserDefinedTypeName","pathNode":{"id":29117,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"4304:6:19"},"referencedDeclaration":28858,"src":"4304:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"visibility":"internal"}],"id":29123,"initialValue":{"baseExpression":{"id":29120,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29090,"src":"4327:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":29122,"indexExpression":{"id":29121,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29111,"src":"4338:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4327:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"nodeType":"VariableDeclarationStatement","src":"4304:36:19"},{"expression":{"id":29128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29124,"name":"calli","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29108,"src":"4354:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_calldata_ptr","typeString":"struct Multicall3.Call3 calldata"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":29125,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29085,"src":"4362:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call3 calldata[] calldata"}},"id":29127,"indexExpression":{"id":29126,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29111,"src":"4368:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4362:8:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_calldata_ptr","typeString":"struct Multicall3.Call3 calldata"}},"src":"4354:16:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_calldata_ptr","typeString":"struct Multicall3.Call3 calldata"}},"id":29129,"nodeType":"ExpressionStatement","src":"4354:16:19"},{"expression":{"id":29142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"expression":{"id":29130,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29119,"src":"4385:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":29132,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"4385:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":29133,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29119,"src":"4401:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":29134,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"4401:17:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":29135,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"4384:35:19","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":29139,"name":"calli","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29108,"src":"4440:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_calldata_ptr","typeString":"struct Multicall3.Call3 calldata"}},"id":29140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":28843,"src":"4440:14:19","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":29136,"name":"calli","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29108,"src":"4422:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_calldata_ptr","typeString":"struct Multicall3.Call3 calldata"}},"id":29137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":28839,"src":"4422:12:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"4422:17:19","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":29141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4422:33:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"4384:71:19","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29143,"nodeType":"ExpressionStatement","src":"4384:71:19"},{"AST":{"nodeType":"YulBlock","src":"4478:1008:19","statements":[{"body":{"nodeType":"YulBlock","src":"4727:745:19","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4854:4:19","type":"","value":"0x00"},{"kind":"number","nodeType":"YulLiteral","src":"4860:66:19","type":"","value":"0x08c379a000000000000000000000000000000000000000000000000000000000"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4847:6:19"},"nodeType":"YulFunctionCall","src":"4847:80:19"},"nodeType":"YulExpressionStatement","src":"4847:80:19"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4994:4:19","type":"","value":"0x04"},{"kind":"number","nodeType":"YulLiteral","src":"5000:66:19","type":"","value":"0x0000000000000000000000000000000000000000000000000000000000000020"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4987:6:19"},"nodeType":"YulFunctionCall","src":"4987:80:19"},"nodeType":"YulExpressionStatement","src":"4987:80:19"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5146:4:19","type":"","value":"0x24"},{"kind":"number","nodeType":"YulLiteral","src":"5152:66:19","type":"","value":"0x0000000000000000000000000000000000000000000000000000000000000017"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5139:6:19"},"nodeType":"YulFunctionCall","src":"5139:80:19"},"nodeType":"YulExpressionStatement","src":"5139:80:19"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5342:4:19","type":"","value":"0x44"},{"kind":"number","nodeType":"YulLiteral","src":"5348:66:19","type":"","value":"0x4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5335:6:19"},"nodeType":"YulFunctionCall","src":"5335:80:19"},"nodeType":"YulExpressionStatement","src":"5335:80:19"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5443:4:19","type":"","value":"0x00"},{"kind":"number","nodeType":"YulLiteral","src":"5449:4:19","type":"","value":"0x64"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5436:6:19"},"nodeType":"YulFunctionCall","src":"5436:18:19"},"nodeType":"YulExpressionStatement","src":"5436:18:19"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"calli","nodeType":"YulIdentifier","src":"4696:5:19"},{"kind":"number","nodeType":"YulLiteral","src":"4703:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4692:3:19"},"nodeType":"YulFunctionCall","src":"4692:16:19"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4679:12:19"},"nodeType":"YulFunctionCall","src":"4679:30:19"},{"arguments":[{"name":"result","nodeType":"YulIdentifier","src":"4717:6:19"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4711:5:19"},"nodeType":"YulFunctionCall","src":"4711:13:19"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"4676:2:19"},"nodeType":"YulFunctionCall","src":"4676:49:19"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4669:6:19"},"nodeType":"YulFunctionCall","src":"4669:57:19"},"nodeType":"YulIf","src":"4666:806:19"}]},"evmVersion":"london","externalReferences":[{"declaration":29108,"isOffset":false,"isSlot":false,"src":"4696:5:19","valueSize":1},{"declaration":29119,"isOffset":false,"isSlot":false,"src":"4717:6:19","valueSize":1}],"id":29144,"nodeType":"InlineAssembly","src":"4469:1017:19"},{"id":29148,"nodeType":"UncheckedBlock","src":"5499:18:19","statements":[{"expression":{"id":29146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"5511:3:19","subExpression":{"id":29145,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29111,"src":"5513:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29147,"nodeType":"ExpressionStatement","src":"5511:3:19"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29114,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29111,"src":"4277:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":29115,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29093,"src":"4281:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4277:10:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29150,"initializationExpression":{"assignments":[29111],"declarations":[{"constant":false,"id":29111,"mutability":"mutable","name":"i","nameLocation":"4270:1:19","nodeType":"VariableDeclaration","scope":29150,"src":"4262:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29110,"name":"uint256","nodeType":"ElementaryTypeName","src":"4262:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29113,"initialValue":{"hexValue":"30","id":29112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4274:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"4262:13:19"},"nodeType":"ForStatement","src":"4257:1270:19"}]},"documentation":{"id":29081,"nodeType":"StructuredDocumentation","src":"3863:171:19","text":"@notice Aggregate calls, ensuring each returns success if required\n @param calls An array of Call3 structs\n @return returnData An array of Result structs"},"functionSelector":"82ad56cb","implemented":true,"kind":"function","modifiers":[],"name":"aggregate3","nameLocation":"4048:10:19","parameters":{"id":29086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29085,"mutability":"mutable","name":"calls","nameLocation":"4076:5:19","nodeType":"VariableDeclaration","scope":29152,"src":"4059:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call3[]"},"typeName":{"baseType":{"id":29083,"nodeType":"UserDefinedTypeName","pathNode":{"id":29082,"name":"Call3","nodeType":"IdentifierPath","referencedDeclaration":28844,"src":"4059:5:19"},"referencedDeclaration":28844,"src":"4059:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_storage_ptr","typeString":"struct Multicall3.Call3"}},"id":29084,"nodeType":"ArrayTypeName","src":"4059:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3[]"}},"visibility":"internal"}],"src":"4058:24:19"},"returnParameters":{"id":29091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29090,"mutability":"mutable","name":"returnData","nameLocation":"4123:10:19","nodeType":"VariableDeclaration","scope":29152,"src":"4107:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result[]"},"typeName":{"baseType":{"id":29088,"nodeType":"UserDefinedTypeName","pathNode":{"id":29087,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"4107:6:19"},"referencedDeclaration":28858,"src":"4107:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":29089,"nodeType":"ArrayTypeName","src":"4107:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}},"visibility":"internal"}],"src":"4106:28:19"},"scope":29378,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":29247,"nodeType":"FunctionDefinition","src":"5771:1961:19","nodes":[],"body":{"id":29246,"nodeType":"Block","src":"5877:1855:19","nodes":[],"statements":[{"assignments":[29165],"declarations":[{"constant":false,"id":29165,"mutability":"mutable","name":"valAccumulator","nameLocation":"5895:14:19","nodeType":"VariableDeclaration","scope":29246,"src":"5887:22:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29164,"name":"uint256","nodeType":"ElementaryTypeName","src":"5887:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29166,"nodeType":"VariableDeclarationStatement","src":"5887:22:19"},{"assignments":[29168],"declarations":[{"constant":false,"id":29168,"mutability":"mutable","name":"length","nameLocation":"5927:6:19","nodeType":"VariableDeclaration","scope":29246,"src":"5919:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29167,"name":"uint256","nodeType":"ElementaryTypeName","src":"5919:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29171,"initialValue":{"expression":{"id":29169,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29157,"src":"5936:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call3Value calldata[] calldata"}},"id":29170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"5936:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5919:29:19"},{"expression":{"id":29179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29172,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29162,"src":"5958:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29177,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29168,"src":"5984:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5971:12:19","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Result memory[] memory)"},"typeName":{"baseType":{"id":29174,"nodeType":"UserDefinedTypeName","pathNode":{"id":29173,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"5975:6:19"},"referencedDeclaration":28858,"src":"5975:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":29175,"nodeType":"ArrayTypeName","src":"5975:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}}},"id":29178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5971:20:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"src":"5958:33:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":29180,"nodeType":"ExpressionStatement","src":"5958:33:19"},{"assignments":[29183],"declarations":[{"constant":false,"id":29183,"mutability":"mutable","name":"calli","nameLocation":"6021:5:19","nodeType":"VariableDeclaration","scope":29246,"src":"6001:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_calldata_ptr","typeString":"struct Multicall3.Call3Value"},"typeName":{"id":29182,"nodeType":"UserDefinedTypeName","pathNode":{"id":29181,"name":"Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"6001:10:19"},"referencedDeclaration":28853,"src":"6001:10:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"visibility":"internal"}],"id":29184,"nodeType":"VariableDeclarationStatement","src":"6001:25:19"},{"body":{"id":29236,"nodeType":"Block","src":"6069:1512:19","statements":[{"assignments":[29194],"declarations":[{"constant":false,"id":29194,"mutability":"mutable","name":"result","nameLocation":"6097:6:19","nodeType":"VariableDeclaration","scope":29236,"src":"6083:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result"},"typeName":{"id":29193,"nodeType":"UserDefinedTypeName","pathNode":{"id":29192,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"6083:6:19"},"referencedDeclaration":28858,"src":"6083:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"visibility":"internal"}],"id":29198,"initialValue":{"baseExpression":{"id":29195,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29162,"src":"6106:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":29197,"indexExpression":{"id":29196,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29186,"src":"6117:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6106:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"nodeType":"VariableDeclarationStatement","src":"6083:36:19"},{"expression":{"id":29203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29199,"name":"calli","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29183,"src":"6133:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_calldata_ptr","typeString":"struct Multicall3.Call3Value calldata"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":29200,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29157,"src":"6141:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call3Value calldata[] calldata"}},"id":29202,"indexExpression":{"id":29201,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29186,"src":"6147:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6141:8:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_calldata_ptr","typeString":"struct Multicall3.Call3Value calldata"}},"src":"6133:16:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_calldata_ptr","typeString":"struct Multicall3.Call3Value calldata"}},"id":29204,"nodeType":"ExpressionStatement","src":"6133:16:19"},{"assignments":[29206],"declarations":[{"constant":false,"id":29206,"mutability":"mutable","name":"val","nameLocation":"6171:3:19","nodeType":"VariableDeclaration","scope":29236,"src":"6163:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29205,"name":"uint256","nodeType":"ElementaryTypeName","src":"6163:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29209,"initialValue":{"expression":{"id":29207,"name":"calli","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29183,"src":"6177:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_calldata_ptr","typeString":"struct Multicall3.Call3Value calldata"}},"id":29208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":28850,"src":"6177:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6163:25:19"},{"id":29214,"nodeType":"UncheckedBlock","src":"6377:36:19","statements":[{"expression":{"id":29212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29210,"name":"valAccumulator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29165,"src":"6389:14:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":29211,"name":"val","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29206,"src":"6407:3:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6389:21:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29213,"nodeType":"ExpressionStatement","src":"6389:21:19"}]},{"expression":{"id":29229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"expression":{"id":29215,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29194,"src":"6427:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":29217,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"6427:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":29218,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29194,"src":"6443:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":29219,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"6443:17:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":29220,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"6426:35:19","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":29226,"name":"calli","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29183,"src":"6494:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_calldata_ptr","typeString":"struct Multicall3.Call3Value calldata"}},"id":29227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"callData","nodeType":"MemberAccess","referencedDeclaration":28852,"src":"6494:14:19","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"expression":{"id":29221,"name":"calli","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29183,"src":"6464:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_calldata_ptr","typeString":"struct Multicall3.Call3Value calldata"}},"id":29222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"target","nodeType":"MemberAccess","referencedDeclaration":28846,"src":"6464:12:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"6464:17:19","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":29225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":29224,"name":"val","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29206,"src":"6489:3:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"6464:29:19","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":29228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6464:45:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"6426:83:19","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29230,"nodeType":"ExpressionStatement","src":"6426:83:19"},{"AST":{"nodeType":"YulBlock","src":"6532:1008:19","statements":[{"body":{"nodeType":"YulBlock","src":"6781:745:19","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6908:4:19","type":"","value":"0x00"},{"kind":"number","nodeType":"YulLiteral","src":"6914:66:19","type":"","value":"0x08c379a000000000000000000000000000000000000000000000000000000000"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6901:6:19"},"nodeType":"YulFunctionCall","src":"6901:80:19"},"nodeType":"YulExpressionStatement","src":"6901:80:19"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7048:4:19","type":"","value":"0x04"},{"kind":"number","nodeType":"YulLiteral","src":"7054:66:19","type":"","value":"0x0000000000000000000000000000000000000000000000000000000000000020"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7041:6:19"},"nodeType":"YulFunctionCall","src":"7041:80:19"},"nodeType":"YulExpressionStatement","src":"7041:80:19"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7200:4:19","type":"","value":"0x24"},{"kind":"number","nodeType":"YulLiteral","src":"7206:66:19","type":"","value":"0x0000000000000000000000000000000000000000000000000000000000000017"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7193:6:19"},"nodeType":"YulFunctionCall","src":"7193:80:19"},"nodeType":"YulExpressionStatement","src":"7193:80:19"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7396:4:19","type":"","value":"0x44"},{"kind":"number","nodeType":"YulLiteral","src":"7402:66:19","type":"","value":"0x4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7389:6:19"},"nodeType":"YulFunctionCall","src":"7389:80:19"},"nodeType":"YulExpressionStatement","src":"7389:80:19"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7497:4:19","type":"","value":"0x00"},{"kind":"number","nodeType":"YulLiteral","src":"7503:4:19","type":"","value":"0x84"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7490:6:19"},"nodeType":"YulFunctionCall","src":"7490:18:19"},"nodeType":"YulExpressionStatement","src":"7490:18:19"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"calli","nodeType":"YulIdentifier","src":"6750:5:19"},{"kind":"number","nodeType":"YulLiteral","src":"6757:4:19","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6746:3:19"},"nodeType":"YulFunctionCall","src":"6746:16:19"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6733:12:19"},"nodeType":"YulFunctionCall","src":"6733:30:19"},{"arguments":[{"name":"result","nodeType":"YulIdentifier","src":"6771:6:19"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6765:5:19"},"nodeType":"YulFunctionCall","src":"6765:13:19"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"6730:2:19"},"nodeType":"YulFunctionCall","src":"6730:49:19"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6723:6:19"},"nodeType":"YulFunctionCall","src":"6723:57:19"},"nodeType":"YulIf","src":"6720:806:19"}]},"evmVersion":"london","externalReferences":[{"declaration":29183,"isOffset":false,"isSlot":false,"src":"6750:5:19","valueSize":1},{"declaration":29194,"isOffset":false,"isSlot":false,"src":"6771:6:19","valueSize":1}],"id":29231,"nodeType":"InlineAssembly","src":"6523:1017:19"},{"id":29235,"nodeType":"UncheckedBlock","src":"7553:18:19","statements":[{"expression":{"id":29233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"7565:3:19","subExpression":{"id":29232,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29186,"src":"7567:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29234,"nodeType":"ExpressionStatement","src":"7565:3:19"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29189,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29186,"src":"6056:1:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":29190,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29168,"src":"6060:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6056:10:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29237,"initializationExpression":{"assignments":[29186],"declarations":[{"constant":false,"id":29186,"mutability":"mutable","name":"i","nameLocation":"6049:1:19","nodeType":"VariableDeclaration","scope":29237,"src":"6041:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29185,"name":"uint256","nodeType":"ElementaryTypeName","src":"6041:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29188,"initialValue":{"hexValue":"30","id":29187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6053:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6041:13:19"},"nodeType":"ForStatement","src":"6036:1545:19"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":29239,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7667:3:19","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":29240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"7667:9:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":29241,"name":"valAccumulator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29165,"src":"7680:14:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7667:27:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d756c746963616c6c333a2076616c7565206d69736d61746368","id":29243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7696:28:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_52d1b5fbcd1a89add74bb8157dc5d3d128a6df96345d91050302a8ad17d52eb9","typeString":"literal_string \"Multicall3: value mismatch\""},"value":"Multicall3: value mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_52d1b5fbcd1a89add74bb8157dc5d3d128a6df96345d91050302a8ad17d52eb9","typeString":"literal_string \"Multicall3: value mismatch\""}],"id":29238,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7659:7:19","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":29244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7659:66:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29245,"nodeType":"ExpressionStatement","src":"7659:66:19"}]},"documentation":{"id":29153,"nodeType":"StructuredDocumentation","src":"5539:227:19","text":"@notice Aggregate calls with a msg value\n @notice Reverts if msg.value is less than the sum of the call values\n @param calls An array of Call3Value structs\n @return returnData An array of Result structs"},"functionSelector":"174dea71","implemented":true,"kind":"function","modifiers":[],"name":"aggregate3Value","nameLocation":"5780:15:19","parameters":{"id":29158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29157,"mutability":"mutable","name":"calls","nameLocation":"5818:5:19","nodeType":"VariableDeclaration","scope":29247,"src":"5796:27:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Multicall3.Call3Value[]"},"typeName":{"baseType":{"id":29155,"nodeType":"UserDefinedTypeName","pathNode":{"id":29154,"name":"Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"5796:10:19"},"referencedDeclaration":28853,"src":"5796:10:19","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"id":29156,"nodeType":"ArrayTypeName","src":"5796:12:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3Value[]"}},"visibility":"internal"}],"src":"5795:29:19"},"returnParameters":{"id":29163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29162,"mutability":"mutable","name":"returnData","nameLocation":"5865:10:19","nodeType":"VariableDeclaration","scope":29247,"src":"5849:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result[]"},"typeName":{"baseType":{"id":29160,"nodeType":"UserDefinedTypeName","pathNode":{"id":29159,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"5849:6:19"},"referencedDeclaration":28858,"src":"5849:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":29161,"nodeType":"ArrayTypeName","src":"5849:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}},"visibility":"internal"}],"src":"5848:28:19"},"scope":29378,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":29262,"nodeType":"FunctionDefinition","src":"7848:134:19","nodes":[],"body":{"id":29261,"nodeType":"Block","src":"7931:51:19","nodes":[],"statements":[{"expression":{"id":29259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29255,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29253,"src":"7941:9:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29257,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29250,"src":"7963:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29256,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"7953:9:19","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":29258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7953:22:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7941:34:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":29260,"nodeType":"ExpressionStatement","src":"7941:34:19"}]},"documentation":{"id":29248,"nodeType":"StructuredDocumentation","src":"7738:105:19","text":"@notice Returns the block hash for the given block number\n @param blockNumber The block number"},"functionSelector":"ee82ac5e","implemented":true,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"7857:12:19","parameters":{"id":29251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29250,"mutability":"mutable","name":"blockNumber","nameLocation":"7878:11:19","nodeType":"VariableDeclaration","scope":29262,"src":"7870:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29249,"name":"uint256","nodeType":"ElementaryTypeName","src":"7870:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7869:21:19"},"returnParameters":{"id":29254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29253,"mutability":"mutable","name":"blockHash","nameLocation":"7920:9:19","nodeType":"VariableDeclaration","scope":29262,"src":"7912:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29252,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7912:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7911:19:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":29274,"nodeType":"FunctionDefinition","src":"8029:111:19","nodes":[],"body":{"id":29273,"nodeType":"Block","src":"8097:43:19","nodes":[],"statements":[{"expression":{"id":29271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29268,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29266,"src":"8107:11:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":29269,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8121:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"8121:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8107:26:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29272,"nodeType":"ExpressionStatement","src":"8107:26:19"}]},"documentation":{"id":29263,"nodeType":"StructuredDocumentation","src":"7988:36:19","text":"@notice Returns the block number"},"functionSelector":"42cbb15c","implemented":true,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"8038:14:19","parameters":{"id":29264,"nodeType":"ParameterList","parameters":[],"src":"8052:2:19"},"returnParameters":{"id":29267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29266,"mutability":"mutable","name":"blockNumber","nameLocation":"8084:11:19","nodeType":"VariableDeclaration","scope":29274,"src":"8076:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29265,"name":"uint256","nodeType":"ElementaryTypeName","src":"8076:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8075:21:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":29286,"nodeType":"FunctionDefinition","src":"8189:116:19","nodes":[],"body":{"id":29285,"nodeType":"Block","src":"8263:42:19","nodes":[],"statements":[{"expression":{"id":29283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29280,"name":"coinbase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29278,"src":"8273:8:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":29281,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8284:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"coinbase","nodeType":"MemberAccess","src":"8284:14:19","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"8273:25:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29284,"nodeType":"ExpressionStatement","src":"8273:25:19"}]},"documentation":{"id":29275,"nodeType":"StructuredDocumentation","src":"8146:38:19","text":"@notice Returns the block coinbase"},"functionSelector":"a8b0574e","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"8198:23:19","parameters":{"id":29276,"nodeType":"ParameterList","parameters":[],"src":"8221:2:19"},"returnParameters":{"id":29279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29278,"mutability":"mutable","name":"coinbase","nameLocation":"8253:8:19","nodeType":"VariableDeclaration","scope":29286,"src":"8245:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29277,"name":"address","nodeType":"ElementaryTypeName","src":"8245:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8244:18:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":29298,"nodeType":"FunctionDefinition","src":"8356:124:19","nodes":[],"body":{"id":29297,"nodeType":"Block","src":"8434:46:19","nodes":[],"statements":[{"expression":{"id":29295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29292,"name":"difficulty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29290,"src":"8444:10:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":29293,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8457:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"difficulty","nodeType":"MemberAccess","src":"8457:16:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8444:29:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29296,"nodeType":"ExpressionStatement","src":"8444:29:19"}]},"documentation":{"id":29287,"nodeType":"StructuredDocumentation","src":"8311:40:19","text":"@notice Returns the block difficulty"},"functionSelector":"72425d9d","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"8365:25:19","parameters":{"id":29288,"nodeType":"ParameterList","parameters":[],"src":"8390:2:19"},"returnParameters":{"id":29291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29290,"mutability":"mutable","name":"difficulty","nameLocation":"8422:10:19","nodeType":"VariableDeclaration","scope":29298,"src":"8414:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29289,"name":"uint256","nodeType":"ElementaryTypeName","src":"8414:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8413:20:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":29310,"nodeType":"FunctionDefinition","src":"8530:116:19","nodes":[],"body":{"id":29309,"nodeType":"Block","src":"8604:42:19","nodes":[],"statements":[{"expression":{"id":29307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29304,"name":"gaslimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29302,"src":"8614:8:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":29305,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8625:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gaslimit","nodeType":"MemberAccess","src":"8625:14:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8614:25:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29308,"nodeType":"ExpressionStatement","src":"8614:25:19"}]},"documentation":{"id":29299,"nodeType":"StructuredDocumentation","src":"8486:39:19","text":"@notice Returns the block gas limit"},"functionSelector":"86d516e8","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"8539:23:19","parameters":{"id":29300,"nodeType":"ParameterList","parameters":[],"src":"8562:2:19"},"returnParameters":{"id":29303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29302,"mutability":"mutable","name":"gaslimit","nameLocation":"8594:8:19","nodeType":"VariableDeclaration","scope":29310,"src":"8586:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29301,"name":"uint256","nodeType":"ElementaryTypeName","src":"8586:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8585:18:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":29322,"nodeType":"FunctionDefinition","src":"8696:120:19","nodes":[],"body":{"id":29321,"nodeType":"Block","src":"8772:44:19","nodes":[],"statements":[{"expression":{"id":29319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29316,"name":"timestamp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29314,"src":"8782:9:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":29317,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8794:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"8794:15:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8782:27:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29320,"nodeType":"ExpressionStatement","src":"8782:27:19"}]},"documentation":{"id":29311,"nodeType":"StructuredDocumentation","src":"8652:39:19","text":"@notice Returns the block timestamp"},"functionSelector":"0f28c97d","implemented":true,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"8705:24:19","parameters":{"id":29312,"nodeType":"ParameterList","parameters":[],"src":"8729:2:19"},"returnParameters":{"id":29315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29314,"mutability":"mutable","name":"timestamp","nameLocation":"8761:9:19","nodeType":"VariableDeclaration","scope":29322,"src":"8753:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29313,"name":"uint256","nodeType":"ElementaryTypeName","src":"8753:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8752:19:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":29336,"nodeType":"FunctionDefinition","src":"8883:114:19","nodes":[],"body":{"id":29335,"nodeType":"Block","src":"8958:39:19","nodes":[],"statements":[{"expression":{"id":29333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29330,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29328,"src":"8968:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":29331,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29325,"src":"8978:4:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"8978:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8968:22:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29334,"nodeType":"ExpressionStatement","src":"8968:22:19"}]},"documentation":{"id":29323,"nodeType":"StructuredDocumentation","src":"8822:56:19","text":"@notice Returns the (ETH) balance of a given address"},"functionSelector":"4d2301cc","implemented":true,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"8892:13:19","parameters":{"id":29326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29325,"mutability":"mutable","name":"addr","nameLocation":"8914:4:19","nodeType":"VariableDeclaration","scope":29336,"src":"8906:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29324,"name":"address","nodeType":"ElementaryTypeName","src":"8906:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8905:14:19"},"returnParameters":{"id":29329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29328,"mutability":"mutable","name":"balance","nameLocation":"8949:7:19","nodeType":"VariableDeclaration","scope":29336,"src":"8941:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29327,"name":"uint256","nodeType":"ElementaryTypeName","src":"8941:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8940:17:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":29353,"nodeType":"FunctionDefinition","src":"9060:158:19","nodes":[],"body":{"id":29352,"nodeType":"Block","src":"9128:90:19","nodes":[],"statements":[{"id":29351,"nodeType":"UncheckedBlock","src":"9138:74:19","statements":[{"expression":{"id":29349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29342,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29340,"src":"9162:9:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":29344,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9184:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"9184:12:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":29346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9199:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9184:16:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29343,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"9174:9:19","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":29348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9174:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9162:39:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":29350,"nodeType":"ExpressionStatement","src":"9162:39:19"}]}]},"documentation":{"id":29337,"nodeType":"StructuredDocumentation","src":"9003:52:19","text":"@notice Returns the block hash of the last block"},"functionSelector":"27e86d6e","implemented":true,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"9069:16:19","parameters":{"id":29338,"nodeType":"ParameterList","parameters":[],"src":"9085:2:19"},"returnParameters":{"id":29341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29340,"mutability":"mutable","name":"blockHash","nameLocation":"9117:9:19","nodeType":"VariableDeclaration","scope":29353,"src":"9109:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29339,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9109:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9108:19:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":29365,"nodeType":"FunctionDefinition","src":"9364:100:19","nodes":[],"body":{"id":29364,"nodeType":"Block","src":"9424:40:19","nodes":[],"statements":[{"expression":{"id":29362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29359,"name":"basefee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29357,"src":"9434:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":29360,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9444:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"basefee","nodeType":"MemberAccess","src":"9444:13:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9434:23:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29363,"nodeType":"ExpressionStatement","src":"9434:23:19"}]},"documentation":{"id":29354,"nodeType":"StructuredDocumentation","src":"9224:135:19","text":"@notice Gets the base fee of the given block\n @notice Can revert if the BASEFEE opcode is not implemented by the given chain"},"functionSelector":"3e64a696","implemented":true,"kind":"function","modifiers":[],"name":"getBasefee","nameLocation":"9373:10:19","parameters":{"id":29355,"nodeType":"ParameterList","parameters":[],"src":"9383:2:19"},"returnParameters":{"id":29358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29357,"mutability":"mutable","name":"basefee","nameLocation":"9415:7:19","nodeType":"VariableDeclaration","scope":29365,"src":"9407:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29356,"name":"uint256","nodeType":"ElementaryTypeName","src":"9407:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9406:17:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":29377,"nodeType":"FunctionDefinition","src":"9507:100:19","nodes":[],"body":{"id":29376,"nodeType":"Block","src":"9567:40:19","nodes":[],"statements":[{"expression":{"id":29374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29371,"name":"chainid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29369,"src":"9577:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":29372,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9587:5:19","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"chainid","nodeType":"MemberAccess","src":"9587:13:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9577:23:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29375,"nodeType":"ExpressionStatement","src":"9577:23:19"}]},"documentation":{"id":29366,"nodeType":"StructuredDocumentation","src":"9470:32:19","text":"@notice Returns the chain id"},"functionSelector":"3408e470","implemented":true,"kind":"function","modifiers":[],"name":"getChainId","nameLocation":"9516:10:19","parameters":{"id":29367,"nodeType":"ParameterList","parameters":[],"src":"9526:2:19"},"returnParameters":{"id":29370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29369,"mutability":"mutable","name":"chainid","nameLocation":"9558:7:19","nodeType":"VariableDeclaration","scope":29377,"src":"9550:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29368,"name":"uint256","nodeType":"ElementaryTypeName","src":"9550:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9549:17:19"},"scope":29378,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"Multicall3","contractDependencies":[],"contractKind":"contract","documentation":{"id":28832,"nodeType":"StructuredDocumentation","src":"57:445:19","text":"@title Multicall3\n @notice Aggregate results from multiple function calls\n @dev Multicall & Multicall2 backwards-compatible\n @dev Aggregate methods are marked `payable` to save 24 gas per call\n @author Michael Elliot \n @author Joshua Levine \n @author Nick Johnson \n @author Andreas Bigger \n @author Matt Solomon "},"fullyImplemented":true,"linearizedBaseContracts":[29378],"name":"Multicall3","nameLocation":"511:10:19","scope":29379,"usedErrors":[]}],"license":"MIT"}},"src/interfaces/IMulticall.sol":{"id":20,"ast":{"absolutePath":"src/interfaces/IMulticall.sol","id":29439,"exportedSymbols":{"IMulticall":[29438]},"nodeType":"SourceUnit","src":"32:883:20","nodes":[{"id":29380,"nodeType":"PragmaDirective","src":"32:31:20","nodes":[],"literals":["solidity",">=","0.5",".0","<","0.9",".0"]},{"id":29381,"nodeType":"PragmaDirective","src":"65:33:20","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":29438,"nodeType":"ContractDefinition","src":"100:814:20","nodes":[{"id":29386,"nodeType":"StructDefinition","src":"127:67:20","nodes":[],"canonicalName":"IMulticall.Call","members":[{"constant":false,"id":29383,"mutability":"mutable","name":"target","nameLocation":"157:6:20","nodeType":"VariableDeclaration","scope":29386,"src":"149:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29382,"name":"address","nodeType":"ElementaryTypeName","src":"149:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29385,"mutability":"mutable","name":"callData","nameLocation":"179:8:20","nodeType":"VariableDeclaration","scope":29386,"src":"173:14:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":29384,"name":"bytes","nodeType":"ElementaryTypeName","src":"173:5:20","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"134:4:20","scope":29438,"visibility":"public"},{"id":29398,"nodeType":"FunctionDefinition","src":"200:124:20","nodes":[],"functionSelector":"252dba42","implemented":false,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"209:9:20","parameters":{"id":29391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29390,"mutability":"mutable","name":"calls","nameLocation":"235:5:20","nodeType":"VariableDeclaration","scope":29398,"src":"219:21:20","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29386_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall.Call[]"},"typeName":{"baseType":{"id":29388,"nodeType":"UserDefinedTypeName","pathNode":{"id":29387,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":29386,"src":"219:4:20"},"referencedDeclaration":29386,"src":"219:4:20","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$29386_storage_ptr","typeString":"struct IMulticall.Call"}},"id":29389,"nodeType":"ArrayTypeName","src":"219:6:20","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29386_storage_$dyn_storage_ptr","typeString":"struct IMulticall.Call[]"}},"visibility":"internal"}],"src":"218:23:20"},"returnParameters":{"id":29397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29393,"mutability":"mutable","name":"blockNumber","nameLocation":"284:11:20","nodeType":"VariableDeclaration","scope":29398,"src":"276:19:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29392,"name":"uint256","nodeType":"ElementaryTypeName","src":"276:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29396,"mutability":"mutable","name":"returnData","nameLocation":"312:10:20","nodeType":"VariableDeclaration","scope":29398,"src":"297:25:20","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":29394,"name":"bytes","nodeType":"ElementaryTypeName","src":"297:5:20","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":29395,"nodeType":"ArrayTypeName","src":"297:7:20","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"275:48:20"},"scope":29438,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":29405,"nodeType":"FunctionDefinition","src":"330:85:20","nodes":[],"functionSelector":"ee82ac5e","implemented":false,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"339:12:20","parameters":{"id":29401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29400,"mutability":"mutable","name":"blockNumber","nameLocation":"360:11:20","nodeType":"VariableDeclaration","scope":29405,"src":"352:19:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29399,"name":"uint256","nodeType":"ElementaryTypeName","src":"352:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"351:21:20"},"returnParameters":{"id":29404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29403,"mutability":"mutable","name":"blockHash","nameLocation":"404:9:20","nodeType":"VariableDeclaration","scope":29405,"src":"396:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29402,"name":"bytes32","nodeType":"ElementaryTypeName","src":"396:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"395:19:20"},"scope":29438,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29410,"nodeType":"FunctionDefinition","src":"421:76:20","nodes":[],"functionSelector":"a8b0574e","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"430:23:20","parameters":{"id":29406,"nodeType":"ParameterList","parameters":[],"src":"453:2:20"},"returnParameters":{"id":29409,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29408,"mutability":"mutable","name":"coinbase","nameLocation":"487:8:20","nodeType":"VariableDeclaration","scope":29410,"src":"479:16:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29407,"name":"address","nodeType":"ElementaryTypeName","src":"479:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"478:18:20"},"scope":29438,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29415,"nodeType":"FunctionDefinition","src":"503:80:20","nodes":[],"functionSelector":"72425d9d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"512:25:20","parameters":{"id":29411,"nodeType":"ParameterList","parameters":[],"src":"537:2:20"},"returnParameters":{"id":29414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29413,"mutability":"mutable","name":"difficulty","nameLocation":"571:10:20","nodeType":"VariableDeclaration","scope":29415,"src":"563:18:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29412,"name":"uint256","nodeType":"ElementaryTypeName","src":"563:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"562:20:20"},"scope":29438,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29420,"nodeType":"FunctionDefinition","src":"589:76:20","nodes":[],"functionSelector":"86d516e8","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"598:23:20","parameters":{"id":29416,"nodeType":"ParameterList","parameters":[],"src":"621:2:20"},"returnParameters":{"id":29419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29418,"mutability":"mutable","name":"gaslimit","nameLocation":"655:8:20","nodeType":"VariableDeclaration","scope":29420,"src":"647:16:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29417,"name":"uint256","nodeType":"ElementaryTypeName","src":"647:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"646:18:20"},"scope":29438,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29425,"nodeType":"FunctionDefinition","src":"671:78:20","nodes":[],"functionSelector":"0f28c97d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"680:24:20","parameters":{"id":29421,"nodeType":"ParameterList","parameters":[],"src":"704:2:20"},"returnParameters":{"id":29424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29423,"mutability":"mutable","name":"timestamp","nameLocation":"738:9:20","nodeType":"VariableDeclaration","scope":29425,"src":"730:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29422,"name":"uint256","nodeType":"ElementaryTypeName","src":"730:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"729:19:20"},"scope":29438,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29432,"nodeType":"FunctionDefinition","src":"755:77:20","nodes":[],"functionSelector":"4d2301cc","implemented":false,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"764:13:20","parameters":{"id":29428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29427,"mutability":"mutable","name":"addr","nameLocation":"786:4:20","nodeType":"VariableDeclaration","scope":29432,"src":"778:12:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29426,"name":"address","nodeType":"ElementaryTypeName","src":"778:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"777:14:20"},"returnParameters":{"id":29431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29430,"mutability":"mutable","name":"balance","nameLocation":"823:7:20","nodeType":"VariableDeclaration","scope":29432,"src":"815:15:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29429,"name":"uint256","nodeType":"ElementaryTypeName","src":"815:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"814:17:20"},"scope":29438,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29437,"nodeType":"FunctionDefinition","src":"842:70:20","nodes":[],"functionSelector":"27e86d6e","implemented":false,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"851:16:20","parameters":{"id":29433,"nodeType":"ParameterList","parameters":[],"src":"867:2:20"},"returnParameters":{"id":29436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29435,"mutability":"mutable","name":"blockHash","nameLocation":"901:9:20","nodeType":"VariableDeclaration","scope":29437,"src":"893:17:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29434,"name":"bytes32","nodeType":"ElementaryTypeName","src":"893:7:20","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"892:19:20"},"scope":29438,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IMulticall","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[29438],"name":"IMulticall","nameLocation":"110:10:20","scope":29439,"usedErrors":[]}],"license":"MIT"}},"src/interfaces/IMulticall2.sol":{"id":21,"ast":{"absolutePath":"src/interfaces/IMulticall2.sol","id":29554,"exportedSymbols":{"IMulticall2":[29553]},"nodeType":"SourceUnit","src":"32:1478:21","nodes":[{"id":29440,"nodeType":"PragmaDirective","src":"32:31:21","nodes":[],"literals":["solidity",">=","0.5",".0","<","0.9",".0"]},{"id":29441,"nodeType":"PragmaDirective","src":"65:33:21","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":29553,"nodeType":"ContractDefinition","src":"100:1408:21","nodes":[{"id":29446,"nodeType":"StructDefinition","src":"128:67:21","nodes":[],"canonicalName":"IMulticall2.Call","members":[{"constant":false,"id":29443,"mutability":"mutable","name":"target","nameLocation":"158:6:21","nodeType":"VariableDeclaration","scope":29446,"src":"150:14:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29442,"name":"address","nodeType":"ElementaryTypeName","src":"150:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29445,"mutability":"mutable","name":"callData","nameLocation":"180:8:21","nodeType":"VariableDeclaration","scope":29446,"src":"174:14:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":29444,"name":"bytes","nodeType":"ElementaryTypeName","src":"174:5:21","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"135:4:21","scope":29553,"visibility":"public"},{"id":29451,"nodeType":"StructDefinition","src":"201:69:21","nodes":[],"canonicalName":"IMulticall2.Result","members":[{"constant":false,"id":29448,"mutability":"mutable","name":"success","nameLocation":"230:7:21","nodeType":"VariableDeclaration","scope":29451,"src":"225:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29447,"name":"bool","nodeType":"ElementaryTypeName","src":"225:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29450,"mutability":"mutable","name":"returnData","nameLocation":"253:10:21","nodeType":"VariableDeclaration","scope":29451,"src":"247:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":29449,"name":"bytes","nodeType":"ElementaryTypeName","src":"247:5:21","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Result","nameLocation":"208:6:21","scope":29553,"visibility":"public"},{"id":29463,"nodeType":"FunctionDefinition","src":"276:108:21","nodes":[],"functionSelector":"252dba42","implemented":false,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"285:9:21","parameters":{"id":29456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29455,"mutability":"mutable","name":"calls","nameLocation":"311:5:21","nodeType":"VariableDeclaration","scope":29463,"src":"295:21:21","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29446_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall2.Call[]"},"typeName":{"baseType":{"id":29453,"nodeType":"UserDefinedTypeName","pathNode":{"id":29452,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":29446,"src":"295:4:21"},"referencedDeclaration":29446,"src":"295:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$29446_storage_ptr","typeString":"struct IMulticall2.Call"}},"id":29454,"nodeType":"ArrayTypeName","src":"295:6:21","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29446_storage_$dyn_storage_ptr","typeString":"struct IMulticall2.Call[]"}},"visibility":"internal"}],"src":"294:23:21"},"returnParameters":{"id":29462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29458,"mutability":"mutable","name":"blockNumber","nameLocation":"344:11:21","nodeType":"VariableDeclaration","scope":29463,"src":"336:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29457,"name":"uint256","nodeType":"ElementaryTypeName","src":"336:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29461,"mutability":"mutable","name":"returnData","nameLocation":"372:10:21","nodeType":"VariableDeclaration","scope":29463,"src":"357:25:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":29459,"name":"bytes","nodeType":"ElementaryTypeName","src":"357:5:21","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":29460,"nodeType":"ArrayTypeName","src":"357:7:21","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"335:48:21"},"scope":29553,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":29478,"nodeType":"FunctionDefinition","src":"390:152:21","nodes":[],"functionSelector":"c3077fa9","implemented":false,"kind":"function","modifiers":[],"name":"blockAndAggregate","nameLocation":"399:17:21","parameters":{"id":29468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29467,"mutability":"mutable","name":"calls","nameLocation":"433:5:21","nodeType":"VariableDeclaration","scope":29478,"src":"417:21:21","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29446_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall2.Call[]"},"typeName":{"baseType":{"id":29465,"nodeType":"UserDefinedTypeName","pathNode":{"id":29464,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":29446,"src":"417:4:21"},"referencedDeclaration":29446,"src":"417:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$29446_storage_ptr","typeString":"struct IMulticall2.Call"}},"id":29466,"nodeType":"ArrayTypeName","src":"417:6:21","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29446_storage_$dyn_storage_ptr","typeString":"struct IMulticall2.Call[]"}},"visibility":"internal"}],"src":"416:23:21"},"returnParameters":{"id":29477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29470,"mutability":"mutable","name":"blockNumber","nameLocation":"482:11:21","nodeType":"VariableDeclaration","scope":29478,"src":"474:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29469,"name":"uint256","nodeType":"ElementaryTypeName","src":"474:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29472,"mutability":"mutable","name":"blockHash","nameLocation":"503:9:21","nodeType":"VariableDeclaration","scope":29478,"src":"495:17:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"495:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29476,"mutability":"mutable","name":"returnData","nameLocation":"530:10:21","nodeType":"VariableDeclaration","scope":29478,"src":"514:26:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29451_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall2.Result[]"},"typeName":{"baseType":{"id":29474,"nodeType":"UserDefinedTypeName","pathNode":{"id":29473,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":29451,"src":"514:6:21"},"referencedDeclaration":29451,"src":"514:6:21","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$29451_storage_ptr","typeString":"struct IMulticall2.Result"}},"id":29475,"nodeType":"ArrayTypeName","src":"514:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29451_storage_$dyn_storage_ptr","typeString":"struct IMulticall2.Result[]"}},"visibility":"internal"}],"src":"473:68:21"},"scope":29553,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":29485,"nodeType":"FunctionDefinition","src":"548:85:21","nodes":[],"functionSelector":"ee82ac5e","implemented":false,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"557:12:21","parameters":{"id":29481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29480,"mutability":"mutable","name":"blockNumber","nameLocation":"578:11:21","nodeType":"VariableDeclaration","scope":29485,"src":"570:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29479,"name":"uint256","nodeType":"ElementaryTypeName","src":"570:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"569:21:21"},"returnParameters":{"id":29484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29483,"mutability":"mutable","name":"blockHash","nameLocation":"622:9:21","nodeType":"VariableDeclaration","scope":29485,"src":"614:17:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29482,"name":"bytes32","nodeType":"ElementaryTypeName","src":"614:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"613:19:21"},"scope":29553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29490,"nodeType":"FunctionDefinition","src":"639:70:21","nodes":[],"functionSelector":"42cbb15c","implemented":false,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"648:14:21","parameters":{"id":29486,"nodeType":"ParameterList","parameters":[],"src":"662:2:21"},"returnParameters":{"id":29489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29488,"mutability":"mutable","name":"blockNumber","nameLocation":"696:11:21","nodeType":"VariableDeclaration","scope":29490,"src":"688:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29487,"name":"uint256","nodeType":"ElementaryTypeName","src":"688:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"687:21:21"},"scope":29553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29495,"nodeType":"FunctionDefinition","src":"715:76:21","nodes":[],"functionSelector":"a8b0574e","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"724:23:21","parameters":{"id":29491,"nodeType":"ParameterList","parameters":[],"src":"747:2:21"},"returnParameters":{"id":29494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29493,"mutability":"mutable","name":"coinbase","nameLocation":"781:8:21","nodeType":"VariableDeclaration","scope":29495,"src":"773:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29492,"name":"address","nodeType":"ElementaryTypeName","src":"773:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"772:18:21"},"scope":29553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29500,"nodeType":"FunctionDefinition","src":"797:80:21","nodes":[],"functionSelector":"72425d9d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"806:25:21","parameters":{"id":29496,"nodeType":"ParameterList","parameters":[],"src":"831:2:21"},"returnParameters":{"id":29499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29498,"mutability":"mutable","name":"difficulty","nameLocation":"865:10:21","nodeType":"VariableDeclaration","scope":29500,"src":"857:18:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29497,"name":"uint256","nodeType":"ElementaryTypeName","src":"857:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"856:20:21"},"scope":29553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29505,"nodeType":"FunctionDefinition","src":"883:76:21","nodes":[],"functionSelector":"86d516e8","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"892:23:21","parameters":{"id":29501,"nodeType":"ParameterList","parameters":[],"src":"915:2:21"},"returnParameters":{"id":29504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29503,"mutability":"mutable","name":"gaslimit","nameLocation":"949:8:21","nodeType":"VariableDeclaration","scope":29505,"src":"941:16:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29502,"name":"uint256","nodeType":"ElementaryTypeName","src":"941:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"940:18:21"},"scope":29553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29510,"nodeType":"FunctionDefinition","src":"965:78:21","nodes":[],"functionSelector":"0f28c97d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"974:24:21","parameters":{"id":29506,"nodeType":"ParameterList","parameters":[],"src":"998:2:21"},"returnParameters":{"id":29509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29508,"mutability":"mutable","name":"timestamp","nameLocation":"1032:9:21","nodeType":"VariableDeclaration","scope":29510,"src":"1024:17:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29507,"name":"uint256","nodeType":"ElementaryTypeName","src":"1024:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1023:19:21"},"scope":29553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29517,"nodeType":"FunctionDefinition","src":"1049:77:21","nodes":[],"functionSelector":"4d2301cc","implemented":false,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"1058:13:21","parameters":{"id":29513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29512,"mutability":"mutable","name":"addr","nameLocation":"1080:4:21","nodeType":"VariableDeclaration","scope":29517,"src":"1072:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29511,"name":"address","nodeType":"ElementaryTypeName","src":"1072:7:21","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1071:14:21"},"returnParameters":{"id":29516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29515,"mutability":"mutable","name":"balance","nameLocation":"1117:7:21","nodeType":"VariableDeclaration","scope":29517,"src":"1109:15:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29514,"name":"uint256","nodeType":"ElementaryTypeName","src":"1109:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1108:17:21"},"scope":29553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29522,"nodeType":"FunctionDefinition","src":"1132:70:21","nodes":[],"functionSelector":"27e86d6e","implemented":false,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"1141:16:21","parameters":{"id":29518,"nodeType":"ParameterList","parameters":[],"src":"1157:2:21"},"returnParameters":{"id":29521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29520,"mutability":"mutable","name":"blockHash","nameLocation":"1191:9:21","nodeType":"VariableDeclaration","scope":29522,"src":"1183:17:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29519,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1183:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1182:19:21"},"scope":29553,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29535,"nodeType":"FunctionDefinition","src":"1208:112:21","nodes":[],"functionSelector":"bce38bd7","implemented":false,"kind":"function","modifiers":[],"name":"tryAggregate","nameLocation":"1217:12:21","parameters":{"id":29529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29524,"mutability":"mutable","name":"requireSuccess","nameLocation":"1235:14:21","nodeType":"VariableDeclaration","scope":29535,"src":"1230:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29523,"name":"bool","nodeType":"ElementaryTypeName","src":"1230:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29528,"mutability":"mutable","name":"calls","nameLocation":"1267:5:21","nodeType":"VariableDeclaration","scope":29535,"src":"1251:21:21","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29446_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall2.Call[]"},"typeName":{"baseType":{"id":29526,"nodeType":"UserDefinedTypeName","pathNode":{"id":29525,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":29446,"src":"1251:4:21"},"referencedDeclaration":29446,"src":"1251:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$29446_storage_ptr","typeString":"struct IMulticall2.Call"}},"id":29527,"nodeType":"ArrayTypeName","src":"1251:6:21","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29446_storage_$dyn_storage_ptr","typeString":"struct IMulticall2.Call[]"}},"visibility":"internal"}],"src":"1229:44:21"},"returnParameters":{"id":29534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29533,"mutability":"mutable","name":"returnData","nameLocation":"1308:10:21","nodeType":"VariableDeclaration","scope":29535,"src":"1292:26:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29451_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall2.Result[]"},"typeName":{"baseType":{"id":29531,"nodeType":"UserDefinedTypeName","pathNode":{"id":29530,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":29451,"src":"1292:6:21"},"referencedDeclaration":29451,"src":"1292:6:21","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$29451_storage_ptr","typeString":"struct IMulticall2.Result"}},"id":29532,"nodeType":"ArrayTypeName","src":"1292:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29451_storage_$dyn_storage_ptr","typeString":"struct IMulticall2.Result[]"}},"visibility":"internal"}],"src":"1291:28:21"},"scope":29553,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":29552,"nodeType":"FunctionDefinition","src":"1330:176:21","nodes":[],"functionSelector":"399542e9","implemented":false,"kind":"function","modifiers":[],"name":"tryBlockAndAggregate","nameLocation":"1339:20:21","parameters":{"id":29542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29537,"mutability":"mutable","name":"requireSuccess","nameLocation":"1365:14:21","nodeType":"VariableDeclaration","scope":29552,"src":"1360:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29536,"name":"bool","nodeType":"ElementaryTypeName","src":"1360:4:21","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29541,"mutability":"mutable","name":"calls","nameLocation":"1397:5:21","nodeType":"VariableDeclaration","scope":29552,"src":"1381:21:21","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29446_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall2.Call[]"},"typeName":{"baseType":{"id":29539,"nodeType":"UserDefinedTypeName","pathNode":{"id":29538,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":29446,"src":"1381:4:21"},"referencedDeclaration":29446,"src":"1381:4:21","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$29446_storage_ptr","typeString":"struct IMulticall2.Call"}},"id":29540,"nodeType":"ArrayTypeName","src":"1381:6:21","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29446_storage_$dyn_storage_ptr","typeString":"struct IMulticall2.Call[]"}},"visibility":"internal"}],"src":"1359:44:21"},"returnParameters":{"id":29551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29544,"mutability":"mutable","name":"blockNumber","nameLocation":"1446:11:21","nodeType":"VariableDeclaration","scope":29552,"src":"1438:19:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29543,"name":"uint256","nodeType":"ElementaryTypeName","src":"1438:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29546,"mutability":"mutable","name":"blockHash","nameLocation":"1467:9:21","nodeType":"VariableDeclaration","scope":29552,"src":"1459:17:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1459:7:21","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29550,"mutability":"mutable","name":"returnData","nameLocation":"1494:10:21","nodeType":"VariableDeclaration","scope":29552,"src":"1478:26:21","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29451_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall2.Result[]"},"typeName":{"baseType":{"id":29548,"nodeType":"UserDefinedTypeName","pathNode":{"id":29547,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":29451,"src":"1478:6:21"},"referencedDeclaration":29451,"src":"1478:6:21","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$29451_storage_ptr","typeString":"struct IMulticall2.Result"}},"id":29549,"nodeType":"ArrayTypeName","src":"1478:8:21","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29451_storage_$dyn_storage_ptr","typeString":"struct IMulticall2.Result[]"}},"visibility":"internal"}],"src":"1437:68:21"},"scope":29553,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IMulticall2","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[29553],"name":"IMulticall2","nameLocation":"110:11:21","scope":29554,"usedErrors":[]}],"license":"MIT"}},"src/interfaces/IMulticall3.sol":{"id":22,"ast":{"absolutePath":"src/interfaces/IMulticall3.sol","id":29716,"exportedSymbols":{"IMulticall3":[29715]},"nodeType":"SourceUnit","src":"32:2081:22","nodes":[{"id":29555,"nodeType":"PragmaDirective","src":"32:32:22","nodes":[],"literals":["solidity",">=","0.8",".12","<","0.9",".0"]},{"id":29715,"nodeType":"ContractDefinition","src":"66:2046:22","nodes":[{"id":29560,"nodeType":"StructDefinition","src":"94:67:22","nodes":[],"canonicalName":"IMulticall3.Call","members":[{"constant":false,"id":29557,"mutability":"mutable","name":"target","nameLocation":"124:6:22","nodeType":"VariableDeclaration","scope":29560,"src":"116:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29556,"name":"address","nodeType":"ElementaryTypeName","src":"116:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29559,"mutability":"mutable","name":"callData","nameLocation":"146:8:22","nodeType":"VariableDeclaration","scope":29560,"src":"140:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":29558,"name":"bytes","nodeType":"ElementaryTypeName","src":"140:5:22","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call","nameLocation":"101:4:22","scope":29715,"visibility":"public"},{"id":29567,"nodeType":"StructDefinition","src":"167:95:22","nodes":[],"canonicalName":"IMulticall3.Call3","members":[{"constant":false,"id":29562,"mutability":"mutable","name":"target","nameLocation":"198:6:22","nodeType":"VariableDeclaration","scope":29567,"src":"190:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29561,"name":"address","nodeType":"ElementaryTypeName","src":"190:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29564,"mutability":"mutable","name":"allowFailure","nameLocation":"219:12:22","nodeType":"VariableDeclaration","scope":29567,"src":"214:17:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29563,"name":"bool","nodeType":"ElementaryTypeName","src":"214:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29566,"mutability":"mutable","name":"callData","nameLocation":"247:8:22","nodeType":"VariableDeclaration","scope":29567,"src":"241:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":29565,"name":"bytes","nodeType":"ElementaryTypeName","src":"241:5:22","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3","nameLocation":"174:5:22","scope":29715,"visibility":"public"},{"id":29576,"nodeType":"StructDefinition","src":"268:123:22","nodes":[],"canonicalName":"IMulticall3.Call3Value","members":[{"constant":false,"id":29569,"mutability":"mutable","name":"target","nameLocation":"304:6:22","nodeType":"VariableDeclaration","scope":29576,"src":"296:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29568,"name":"address","nodeType":"ElementaryTypeName","src":"296:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29571,"mutability":"mutable","name":"allowFailure","nameLocation":"325:12:22","nodeType":"VariableDeclaration","scope":29576,"src":"320:17:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29570,"name":"bool","nodeType":"ElementaryTypeName","src":"320:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29573,"mutability":"mutable","name":"value","nameLocation":"355:5:22","nodeType":"VariableDeclaration","scope":29576,"src":"347:13:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29572,"name":"uint256","nodeType":"ElementaryTypeName","src":"347:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29575,"mutability":"mutable","name":"callData","nameLocation":"376:8:22","nodeType":"VariableDeclaration","scope":29576,"src":"370:14:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":29574,"name":"bytes","nodeType":"ElementaryTypeName","src":"370:5:22","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Call3Value","nameLocation":"275:10:22","scope":29715,"visibility":"public"},{"id":29581,"nodeType":"StructDefinition","src":"397:69:22","nodes":[],"canonicalName":"IMulticall3.Result","members":[{"constant":false,"id":29578,"mutability":"mutable","name":"success","nameLocation":"426:7:22","nodeType":"VariableDeclaration","scope":29581,"src":"421:12:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29577,"name":"bool","nodeType":"ElementaryTypeName","src":"421:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29580,"mutability":"mutable","name":"returnData","nameLocation":"449:10:22","nodeType":"VariableDeclaration","scope":29581,"src":"443:16:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":29579,"name":"bytes","nodeType":"ElementaryTypeName","src":"443:5:22","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"Result","nameLocation":"404:6:22","scope":29715,"visibility":"public"},{"id":29593,"nodeType":"FunctionDefinition","src":"472:116:22","nodes":[],"functionSelector":"252dba42","implemented":false,"kind":"function","modifiers":[],"name":"aggregate","nameLocation":"481:9:22","parameters":{"id":29586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29585,"mutability":"mutable","name":"calls","nameLocation":"507:5:22","nodeType":"VariableDeclaration","scope":29593,"src":"491:21:22","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29560_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":29583,"nodeType":"UserDefinedTypeName","pathNode":{"id":29582,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":29560,"src":"491:4:22"},"referencedDeclaration":29560,"src":"491:4:22","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$29560_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":29584,"nodeType":"ArrayTypeName","src":"491:6:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29560_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"490:23:22"},"returnParameters":{"id":29592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29588,"mutability":"mutable","name":"blockNumber","nameLocation":"548:11:22","nodeType":"VariableDeclaration","scope":29593,"src":"540:19:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29587,"name":"uint256","nodeType":"ElementaryTypeName","src":"540:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29591,"mutability":"mutable","name":"returnData","nameLocation":"576:10:22","nodeType":"VariableDeclaration","scope":29593,"src":"561:25:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":29589,"name":"bytes","nodeType":"ElementaryTypeName","src":"561:5:22","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":29590,"nodeType":"ArrayTypeName","src":"561:7:22","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"539:48:22"},"scope":29715,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":29604,"nodeType":"FunctionDefinition","src":"594:98:22","nodes":[],"functionSelector":"82ad56cb","implemented":false,"kind":"function","modifiers":[],"name":"aggregate3","nameLocation":"603:10:22","parameters":{"id":29598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29597,"mutability":"mutable","name":"calls","nameLocation":"631:5:22","nodeType":"VariableDeclaration","scope":29604,"src":"614:22:22","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$29567_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3[]"},"typeName":{"baseType":{"id":29595,"nodeType":"UserDefinedTypeName","pathNode":{"id":29594,"name":"Call3","nodeType":"IdentifierPath","referencedDeclaration":29567,"src":"614:5:22"},"referencedDeclaration":29567,"src":"614:5:22","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$29567_storage_ptr","typeString":"struct IMulticall3.Call3"}},"id":29596,"nodeType":"ArrayTypeName","src":"614:7:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$29567_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3[]"}},"visibility":"internal"}],"src":"613:24:22"},"returnParameters":{"id":29603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29602,"mutability":"mutable","name":"returnData","nameLocation":"680:10:22","nodeType":"VariableDeclaration","scope":29604,"src":"664:26:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":29600,"nodeType":"UserDefinedTypeName","pathNode":{"id":29599,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":29581,"src":"664:6:22"},"referencedDeclaration":29581,"src":"664:6:22","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$29581_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":29601,"nodeType":"ArrayTypeName","src":"664:8:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"663:28:22"},"scope":29715,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":29615,"nodeType":"FunctionDefinition","src":"698:108:22","nodes":[],"functionSelector":"174dea71","implemented":false,"kind":"function","modifiers":[],"name":"aggregate3Value","nameLocation":"707:15:22","parameters":{"id":29609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29608,"mutability":"mutable","name":"calls","nameLocation":"745:5:22","nodeType":"VariableDeclaration","scope":29615,"src":"723:27:22","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$29576_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call3Value[]"},"typeName":{"baseType":{"id":29606,"nodeType":"UserDefinedTypeName","pathNode":{"id":29605,"name":"Call3Value","nodeType":"IdentifierPath","referencedDeclaration":29576,"src":"723:10:22"},"referencedDeclaration":29576,"src":"723:10:22","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$29576_storage_ptr","typeString":"struct IMulticall3.Call3Value"}},"id":29607,"nodeType":"ArrayTypeName","src":"723:12:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$29576_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call3Value[]"}},"visibility":"internal"}],"src":"722:29:22"},"returnParameters":{"id":29614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29613,"mutability":"mutable","name":"returnData","nameLocation":"794:10:22","nodeType":"VariableDeclaration","scope":29615,"src":"778:26:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":29611,"nodeType":"UserDefinedTypeName","pathNode":{"id":29610,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":29581,"src":"778:6:22"},"referencedDeclaration":29581,"src":"778:6:22","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$29581_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":29612,"nodeType":"ArrayTypeName","src":"778:8:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"777:28:22"},"scope":29715,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":29630,"nodeType":"FunctionDefinition","src":"812:158:22","nodes":[],"functionSelector":"c3077fa9","implemented":false,"kind":"function","modifiers":[],"name":"blockAndAggregate","nameLocation":"821:17:22","parameters":{"id":29620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29619,"mutability":"mutable","name":"calls","nameLocation":"864:5:22","nodeType":"VariableDeclaration","scope":29630,"src":"848:21:22","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29560_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":29617,"nodeType":"UserDefinedTypeName","pathNode":{"id":29616,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":29560,"src":"848:4:22"},"referencedDeclaration":29560,"src":"848:4:22","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$29560_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":29618,"nodeType":"ArrayTypeName","src":"848:6:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29560_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"838:37:22"},"returnParameters":{"id":29629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29622,"mutability":"mutable","name":"blockNumber","nameLocation":"910:11:22","nodeType":"VariableDeclaration","scope":29630,"src":"902:19:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29621,"name":"uint256","nodeType":"ElementaryTypeName","src":"902:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29624,"mutability":"mutable","name":"blockHash","nameLocation":"931:9:22","nodeType":"VariableDeclaration","scope":29630,"src":"923:17:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29623,"name":"bytes32","nodeType":"ElementaryTypeName","src":"923:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29628,"mutability":"mutable","name":"returnData","nameLocation":"958:10:22","nodeType":"VariableDeclaration","scope":29630,"src":"942:26:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":29626,"nodeType":"UserDefinedTypeName","pathNode":{"id":29625,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":29581,"src":"942:6:22"},"referencedDeclaration":29581,"src":"942:6:22","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$29581_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":29627,"nodeType":"ArrayTypeName","src":"942:8:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"901:68:22"},"scope":29715,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":29635,"nodeType":"FunctionDefinition","src":"976:62:22","nodes":[],"functionSelector":"3e64a696","implemented":false,"kind":"function","modifiers":[],"name":"getBasefee","nameLocation":"985:10:22","parameters":{"id":29631,"nodeType":"ParameterList","parameters":[],"src":"995:2:22"},"returnParameters":{"id":29634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29633,"mutability":"mutable","name":"basefee","nameLocation":"1029:7:22","nodeType":"VariableDeclaration","scope":29635,"src":"1021:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29632,"name":"uint256","nodeType":"ElementaryTypeName","src":"1021:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1020:17:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29642,"nodeType":"FunctionDefinition","src":"1044:85:22","nodes":[],"functionSelector":"ee82ac5e","implemented":false,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"1053:12:22","parameters":{"id":29638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29637,"mutability":"mutable","name":"blockNumber","nameLocation":"1074:11:22","nodeType":"VariableDeclaration","scope":29642,"src":"1066:19:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29636,"name":"uint256","nodeType":"ElementaryTypeName","src":"1066:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1065:21:22"},"returnParameters":{"id":29641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29640,"mutability":"mutable","name":"blockHash","nameLocation":"1118:9:22","nodeType":"VariableDeclaration","scope":29642,"src":"1110:17:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29639,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1110:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1109:19:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29647,"nodeType":"FunctionDefinition","src":"1135:70:22","nodes":[],"functionSelector":"42cbb15c","implemented":false,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"1144:14:22","parameters":{"id":29643,"nodeType":"ParameterList","parameters":[],"src":"1158:2:22"},"returnParameters":{"id":29646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29645,"mutability":"mutable","name":"blockNumber","nameLocation":"1192:11:22","nodeType":"VariableDeclaration","scope":29647,"src":"1184:19:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29644,"name":"uint256","nodeType":"ElementaryTypeName","src":"1184:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1183:21:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29652,"nodeType":"FunctionDefinition","src":"1211:62:22","nodes":[],"functionSelector":"3408e470","implemented":false,"kind":"function","modifiers":[],"name":"getChainId","nameLocation":"1220:10:22","parameters":{"id":29648,"nodeType":"ParameterList","parameters":[],"src":"1230:2:22"},"returnParameters":{"id":29651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29650,"mutability":"mutable","name":"chainid","nameLocation":"1264:7:22","nodeType":"VariableDeclaration","scope":29652,"src":"1256:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29649,"name":"uint256","nodeType":"ElementaryTypeName","src":"1256:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1255:17:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29657,"nodeType":"FunctionDefinition","src":"1279:76:22","nodes":[],"functionSelector":"a8b0574e","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockCoinbase","nameLocation":"1288:23:22","parameters":{"id":29653,"nodeType":"ParameterList","parameters":[],"src":"1311:2:22"},"returnParameters":{"id":29656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29655,"mutability":"mutable","name":"coinbase","nameLocation":"1345:8:22","nodeType":"VariableDeclaration","scope":29657,"src":"1337:16:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29654,"name":"address","nodeType":"ElementaryTypeName","src":"1337:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1336:18:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29662,"nodeType":"FunctionDefinition","src":"1361:80:22","nodes":[],"functionSelector":"72425d9d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockDifficulty","nameLocation":"1370:25:22","parameters":{"id":29658,"nodeType":"ParameterList","parameters":[],"src":"1395:2:22"},"returnParameters":{"id":29661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29660,"mutability":"mutable","name":"difficulty","nameLocation":"1429:10:22","nodeType":"VariableDeclaration","scope":29662,"src":"1421:18:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29659,"name":"uint256","nodeType":"ElementaryTypeName","src":"1421:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1420:20:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29667,"nodeType":"FunctionDefinition","src":"1447:76:22","nodes":[],"functionSelector":"86d516e8","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockGasLimit","nameLocation":"1456:23:22","parameters":{"id":29663,"nodeType":"ParameterList","parameters":[],"src":"1479:2:22"},"returnParameters":{"id":29666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29665,"mutability":"mutable","name":"gaslimit","nameLocation":"1513:8:22","nodeType":"VariableDeclaration","scope":29667,"src":"1505:16:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29664,"name":"uint256","nodeType":"ElementaryTypeName","src":"1505:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1504:18:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29672,"nodeType":"FunctionDefinition","src":"1529:78:22","nodes":[],"functionSelector":"0f28c97d","implemented":false,"kind":"function","modifiers":[],"name":"getCurrentBlockTimestamp","nameLocation":"1538:24:22","parameters":{"id":29668,"nodeType":"ParameterList","parameters":[],"src":"1562:2:22"},"returnParameters":{"id":29671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29670,"mutability":"mutable","name":"timestamp","nameLocation":"1596:9:22","nodeType":"VariableDeclaration","scope":29672,"src":"1588:17:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29669,"name":"uint256","nodeType":"ElementaryTypeName","src":"1588:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1587:19:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29679,"nodeType":"FunctionDefinition","src":"1613:77:22","nodes":[],"functionSelector":"4d2301cc","implemented":false,"kind":"function","modifiers":[],"name":"getEthBalance","nameLocation":"1622:13:22","parameters":{"id":29675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29674,"mutability":"mutable","name":"addr","nameLocation":"1644:4:22","nodeType":"VariableDeclaration","scope":29679,"src":"1636:12:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29673,"name":"address","nodeType":"ElementaryTypeName","src":"1636:7:22","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1635:14:22"},"returnParameters":{"id":29678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29677,"mutability":"mutable","name":"balance","nameLocation":"1681:7:22","nodeType":"VariableDeclaration","scope":29679,"src":"1673:15:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29676,"name":"uint256","nodeType":"ElementaryTypeName","src":"1673:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1672:17:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29684,"nodeType":"FunctionDefinition","src":"1696:70:22","nodes":[],"functionSelector":"27e86d6e","implemented":false,"kind":"function","modifiers":[],"name":"getLastBlockHash","nameLocation":"1705:16:22","parameters":{"id":29680,"nodeType":"ParameterList","parameters":[],"src":"1721:2:22"},"returnParameters":{"id":29683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29682,"mutability":"mutable","name":"blockHash","nameLocation":"1755:9:22","nodeType":"VariableDeclaration","scope":29684,"src":"1747:17:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29681,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1747:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1746:19:22"},"scope":29715,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":29697,"nodeType":"FunctionDefinition","src":"1772:142:22","nodes":[],"functionSelector":"bce38bd7","implemented":false,"kind":"function","modifiers":[],"name":"tryAggregate","nameLocation":"1781:12:22","parameters":{"id":29691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29686,"mutability":"mutable","name":"requireSuccess","nameLocation":"1808:14:22","nodeType":"VariableDeclaration","scope":29697,"src":"1803:19:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29685,"name":"bool","nodeType":"ElementaryTypeName","src":"1803:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29690,"mutability":"mutable","name":"calls","nameLocation":"1848:5:22","nodeType":"VariableDeclaration","scope":29697,"src":"1832:21:22","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29560_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":29688,"nodeType":"UserDefinedTypeName","pathNode":{"id":29687,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":29560,"src":"1832:4:22"},"referencedDeclaration":29560,"src":"1832:4:22","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$29560_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":29689,"nodeType":"ArrayTypeName","src":"1832:6:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29560_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"1793:66:22"},"returnParameters":{"id":29696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29695,"mutability":"mutable","name":"returnData","nameLocation":"1902:10:22","nodeType":"VariableDeclaration","scope":29697,"src":"1886:26:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":29693,"nodeType":"UserDefinedTypeName","pathNode":{"id":29692,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":29581,"src":"1886:6:22"},"referencedDeclaration":29581,"src":"1886:6:22","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$29581_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":29694,"nodeType":"ArrayTypeName","src":"1886:8:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"1885:28:22"},"scope":29715,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":29714,"nodeType":"FunctionDefinition","src":"1920:190:22","nodes":[],"functionSelector":"399542e9","implemented":false,"kind":"function","modifiers":[],"name":"tryBlockAndAggregate","nameLocation":"1929:20:22","parameters":{"id":29704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29699,"mutability":"mutable","name":"requireSuccess","nameLocation":"1964:14:22","nodeType":"VariableDeclaration","scope":29714,"src":"1959:19:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29698,"name":"bool","nodeType":"ElementaryTypeName","src":"1959:4:22","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29703,"mutability":"mutable","name":"calls","nameLocation":"2004:5:22","nodeType":"VariableDeclaration","scope":29714,"src":"1988:21:22","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29560_calldata_ptr_$dyn_calldata_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":29701,"nodeType":"UserDefinedTypeName","pathNode":{"id":29700,"name":"Call","nodeType":"IdentifierPath","referencedDeclaration":29560,"src":"1988:4:22"},"referencedDeclaration":29560,"src":"1988:4:22","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$29560_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":29702,"nodeType":"ArrayTypeName","src":"1988:6:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$29560_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"src":"1949:66:22"},"returnParameters":{"id":29713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29706,"mutability":"mutable","name":"blockNumber","nameLocation":"2050:11:22","nodeType":"VariableDeclaration","scope":29714,"src":"2042:19:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29705,"name":"uint256","nodeType":"ElementaryTypeName","src":"2042:7:22","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29708,"mutability":"mutable","name":"blockHash","nameLocation":"2071:9:22","nodeType":"VariableDeclaration","scope":29714,"src":"2063:17:22","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29707,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2063:7:22","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":29712,"mutability":"mutable","name":"returnData","nameLocation":"2098:10:22","nodeType":"VariableDeclaration","scope":29714,"src":"2082:26:22","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Result[]"},"typeName":{"baseType":{"id":29710,"nodeType":"UserDefinedTypeName","pathNode":{"id":29709,"name":"Result","nodeType":"IdentifierPath","referencedDeclaration":29581,"src":"2082:6:22"},"referencedDeclaration":29581,"src":"2082:6:22","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$29581_storage_ptr","typeString":"struct IMulticall3.Result"}},"id":29711,"nodeType":"ArrayTypeName","src":"2082:8:22","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$29581_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Result[]"}},"visibility":"internal"}],"src":"2041:68:22"},"scope":29715,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IMulticall3","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[29715],"name":"IMulticall3","nameLocation":"76:11:22","scope":29716,"usedErrors":[]}],"license":"MIT"}},"src/test/Multicall.t.sol":{"id":23,"ast":{"absolutePath":"src/test/Multicall.t.sol","id":29989,"exportedSymbols":{"MockCallee":[32115],"Multicall":[28520],"MulticallTest":[29988],"Test":[10725]},"nodeType":"SourceUnit","src":"32:2397:23","nodes":[{"id":29717,"nodeType":"PragmaDirective","src":"32:23:23","nodes":[],"literals":["solidity","0.8",".12"]},{"id":29719,"nodeType":"ImportDirective","src":"57:40:23","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":29989,"sourceUnit":10726,"symbolAliases":[{"foreign":{"id":29718,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10725,"src":"65:4:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Test_$10725_$","typeString":"type(contract Test)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29721,"nodeType":"ImportDirective","src":"98:43:23","nodes":[],"absolutePath":"src/Multicall.sol","file":"../Multicall.sol","nameLocation":"-1:-1:-1","scope":29989,"sourceUnit":28521,"symbolAliases":[{"foreign":{"id":29720,"name":"Multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28520,"src":"106:9:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall_$28520_$","typeString":"type(contract Multicall)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29723,"nodeType":"ImportDirective","src":"142:50:23","nodes":[],"absolutePath":"src/test/mocks/MockCallee.sol","file":"./mocks/MockCallee.sol","nameLocation":"-1:-1:-1","scope":29989,"sourceUnit":32116,"symbolAliases":[{"foreign":{"id":29722,"name":"MockCallee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32115,"src":"150:10:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockCallee_$32115_$","typeString":"type(contract MockCallee)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29988,"nodeType":"ContractDefinition","src":"194:2234:23","nodes":[{"id":29728,"nodeType":"VariableDeclaration","src":"229:19:23","nodes":[],"constant":false,"mutability":"mutable","name":"multicall","nameLocation":"239:9:23","scope":29988,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"},"typeName":{"id":29727,"nodeType":"UserDefinedTypeName","pathNode":{"id":29726,"name":"Multicall","nodeType":"IdentifierPath","referencedDeclaration":28520,"src":"229:9:23"},"referencedDeclaration":28520,"src":"229:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"visibility":"internal"},{"id":29731,"nodeType":"VariableDeclaration","src":"252:17:23","nodes":[],"constant":false,"mutability":"mutable","name":"callee","nameLocation":"263:6:23","scope":29988,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"},"typeName":{"id":29730,"nodeType":"UserDefinedTypeName","pathNode":{"id":29729,"name":"MockCallee","nodeType":"IdentifierPath","referencedDeclaration":32115,"src":"252:10:23"},"referencedDeclaration":32115,"src":"252:10:23","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"visibility":"internal"},{"id":29750,"nodeType":"FunctionDefinition","src":"316:93:23","nodes":[],"body":{"id":29749,"nodeType":"Block","src":"340:69:23","nodes":[],"statements":[{"expression":{"id":29740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29735,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"346:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":29738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"358:13:23","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Multicall_$28520_$","typeString":"function () returns (contract Multicall)"},"typeName":{"id":29737,"nodeType":"UserDefinedTypeName","pathNode":{"id":29736,"name":"Multicall","nodeType":"IdentifierPath","referencedDeclaration":28520,"src":"362:9:23"},"referencedDeclaration":28520,"src":"362:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}}},"id":29739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"358:15:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"src":"346:27:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29741,"nodeType":"ExpressionStatement","src":"346:27:23"},{"expression":{"id":29747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29742,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29731,"src":"379:6:23","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":29745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"388:14:23","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockCallee_$32115_$","typeString":"function () returns (contract MockCallee)"},"typeName":{"id":29744,"nodeType":"UserDefinedTypeName","pathNode":{"id":29743,"name":"MockCallee","nodeType":"IdentifierPath","referencedDeclaration":32115,"src":"392:10:23"},"referencedDeclaration":32115,"src":"392:10:23","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}},"id":29746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"388:16:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"src":"379:25:23","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"id":29748,"nodeType":"ExpressionStatement","src":"379:25:23"}]},"documentation":{"id":29732,"nodeType":"StructuredDocumentation","src":"274:39:23","text":"@notice Setups up the testing suite"},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"325:5:23","parameters":{"id":29733,"nodeType":"ParameterList","parameters":[],"src":"330:2:23"},"returnParameters":{"id":29734,"nodeType":"ParameterList","parameters":[],"src":"340:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29819,"nodeType":"FunctionDefinition","src":"486:458:23","nodes":[],"body":{"id":29818,"nodeType":"Block","src":"520:424:23","nodes":[],"statements":[{"assignments":[29759],"declarations":[{"constant":false,"id":29759,"mutability":"mutable","name":"calls","nameLocation":"578:5:23","nodeType":"VariableDeclaration","scope":29818,"src":"554:29:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call[]"},"typeName":{"baseType":{"id":29757,"nodeType":"UserDefinedTypeName","pathNode":{"id":29756,"name":"Multicall.Call","nodeType":"IdentifierPath","referencedDeclaration":28368,"src":"554:14:23"},"referencedDeclaration":28368,"src":"554:14:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_storage_ptr","typeString":"struct Multicall.Call"}},"id":29758,"nodeType":"ArrayTypeName","src":"554:16:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_storage_$dyn_storage_ptr","typeString":"struct Multicall.Call[]"}},"visibility":"internal"}],"id":29766,"initialValue":{"arguments":[{"hexValue":"31","id":29764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"607:1:23","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":29763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"586:20:23","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall.Call memory[] memory)"},"typeName":{"baseType":{"id":29761,"nodeType":"UserDefinedTypeName","pathNode":{"id":29760,"name":"Multicall.Call","nodeType":"IdentifierPath","referencedDeclaration":28368,"src":"590:14:23"},"referencedDeclaration":28368,"src":"590:14:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_storage_ptr","typeString":"struct Multicall.Call"}},"id":29762,"nodeType":"ArrayTypeName","src":"590:16:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_storage_$dyn_storage_ptr","typeString":"struct Multicall.Call[]"}}},"id":29765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"586:23:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"554:55:23"},{"expression":{"id":29783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":29767,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29759,"src":"615:5:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call memory[] memory"}},"id":29769,"indexExpression":{"hexValue":"30","id":29768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"621:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"615:8:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_memory_ptr","typeString":"struct Multicall.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":29774,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29731,"src":"649:6:23","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":29773,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"641:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29772,"name":"address","nodeType":"ElementaryTypeName","src":"641:7:23","typeDescriptions":{}}},"id":29775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"641:15:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":29778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"682:23:23","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":29779,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"707:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"707:12:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":29776,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"658:3:23","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"658:23:23","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"658:62:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":29770,"name":"Multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28520,"src":"626:9:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall_$28520_$","typeString":"type(contract Multicall)"}},"id":29771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28368,"src":"626:14:23","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28368_storage_ptr_$","typeString":"type(struct Multicall.Call storage pointer)"}},"id":29782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"626:95:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_memory_ptr","typeString":"struct Multicall.Call memory"}},"src":"615:106:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_memory_ptr","typeString":"struct Multicall.Call memory"}},"id":29784,"nodeType":"ExpressionStatement","src":"615:106:23"},{"assignments":[29786,29789],"declarations":[{"constant":false,"id":29786,"mutability":"mutable","name":"blockNumber","nameLocation":"736:11:23","nodeType":"VariableDeclaration","scope":29818,"src":"728:19:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29785,"name":"uint256","nodeType":"ElementaryTypeName","src":"728:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29789,"mutability":"mutable","name":"returnData","nameLocation":"764:10:23","nodeType":"VariableDeclaration","scope":29818,"src":"749:25:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":29787,"name":"bytes","nodeType":"ElementaryTypeName","src":"749:5:23","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":29788,"nodeType":"ArrayTypeName","src":"749:7:23","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":29794,"initialValue":{"arguments":[{"id":29792,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29759,"src":"798:5:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call memory[] memory"}],"expression":{"id":29790,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"778:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":28433,"src":"778:19:23","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall.Call memory[] memory) external returns (uint256,bytes memory[] memory)"}},"id":29793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"778:26:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"727:77:23"},{"expression":{"arguments":[{"id":29796,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29786,"src":"819:11:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":29797,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"832:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"832:12:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29795,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"810:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":29799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"810:35:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29800,"nodeType":"ExpressionStatement","src":"810:35:23"},{"expression":{"arguments":[{"arguments":[{"baseExpression":{"id":29803,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29789,"src":"870:10:23","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":29805,"indexExpression":{"hexValue":"30","id":29804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"881:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"870:13:23","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29802,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"860:9:23","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":29806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"860:24:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":29811,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"923:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"923:12:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29810,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"913:9:23","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":29813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"913:23:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":29808,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"896:3:23","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29809,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"896:16:23","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":29814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"896:41:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":29807,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"886:9:23","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":29815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"886:52:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29801,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"851:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":29816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"851:88:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29817,"nodeType":"ExpressionStatement","src":"851:88:23"}]},"documentation":{"id":29751,"nodeType":"StructuredDocumentation","src":"413:70:23","text":">>>>>>>>>>>>>>>>>>>> AGGREGATION TESTS <<<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"2fc1b6ab","implemented":true,"kind":"function","modifiers":[],"name":"testAggregation","nameLocation":"495:15:23","parameters":{"id":29752,"nodeType":"ParameterList","parameters":[],"src":"510:2:23"},"returnParameters":{"id":29753,"nodeType":"ParameterList","parameters":[],"src":"520:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29885,"nodeType":"FunctionDefinition","src":"948:441:23","nodes":[],"body":{"id":29884,"nodeType":"Block","src":"994:395:23","nodes":[],"statements":[{"assignments":[29827],"declarations":[{"constant":false,"id":29827,"mutability":"mutable","name":"calls","nameLocation":"1054:5:23","nodeType":"VariableDeclaration","scope":29884,"src":"1030:29:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call[]"},"typeName":{"baseType":{"id":29825,"nodeType":"UserDefinedTypeName","pathNode":{"id":29824,"name":"Multicall.Call","nodeType":"IdentifierPath","referencedDeclaration":28368,"src":"1030:14:23"},"referencedDeclaration":28368,"src":"1030:14:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_storage_ptr","typeString":"struct Multicall.Call"}},"id":29826,"nodeType":"ArrayTypeName","src":"1030:16:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_storage_$dyn_storage_ptr","typeString":"struct Multicall.Call[]"}},"visibility":"internal"}],"id":29834,"initialValue":{"arguments":[{"hexValue":"32","id":29832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1083:1:23","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":29831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1062:20:23","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall.Call memory[] memory)"},"typeName":{"baseType":{"id":29829,"nodeType":"UserDefinedTypeName","pathNode":{"id":29828,"name":"Multicall.Call","nodeType":"IdentifierPath","referencedDeclaration":28368,"src":"1066:14:23"},"referencedDeclaration":28368,"src":"1066:14:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_storage_ptr","typeString":"struct Multicall.Call"}},"id":29830,"nodeType":"ArrayTypeName","src":"1066:16:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_storage_$dyn_storage_ptr","typeString":"struct Multicall.Call[]"}}},"id":29833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1062:23:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1030:55:23"},{"expression":{"id":29851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":29835,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29827,"src":"1091:5:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call memory[] memory"}},"id":29837,"indexExpression":{"hexValue":"30","id":29836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1097:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1091:8:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_memory_ptr","typeString":"struct Multicall.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":29842,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29731,"src":"1134:6:23","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":29841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1126:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29840,"name":"address","nodeType":"ElementaryTypeName","src":"1126:7:23","typeDescriptions":{}}},"id":29843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1126:15:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":29846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1175:23:23","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":29847,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1200:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1200:12:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":29844,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1151:3:23","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29845,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1151:23:23","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1151:62:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":29838,"name":"Multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28520,"src":"1102:9:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall_$28520_$","typeString":"type(contract Multicall)"}},"id":29839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28368,"src":"1102:14:23","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28368_storage_ptr_$","typeString":"type(struct Multicall.Call storage pointer)"}},"id":29850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1102:117:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_memory_ptr","typeString":"struct Multicall.Call memory"}},"src":"1091:128:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_memory_ptr","typeString":"struct Multicall.Call memory"}},"id":29852,"nodeType":"ExpressionStatement","src":"1091:128:23"},{"expression":{"id":29867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":29853,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29827,"src":"1225:5:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call memory[] memory"}},"id":29855,"indexExpression":{"hexValue":"31","id":29854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1231:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1225:8:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_memory_ptr","typeString":"struct Multicall.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":29860,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29731,"src":"1259:6:23","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":29859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1251:7:23","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29858,"name":"address","nodeType":"ElementaryTypeName","src":"1251:7:23","typeDescriptions":{}}},"id":29861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1251:15:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":29864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1292:21:23","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":29862,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1268:3:23","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29863,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1268:23:23","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":29865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1268:46:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":29856,"name":"Multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28520,"src":"1236:9:23","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall_$28520_$","typeString":"type(contract Multicall)"}},"id":29857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28368,"src":"1236:14:23","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28368_storage_ptr_$","typeString":"type(struct Multicall.Call storage pointer)"}},"id":29866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1236:84:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_memory_ptr","typeString":"struct Multicall.Call memory"}},"src":"1225:95:23","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28368_memory_ptr","typeString":"struct Multicall.Call memory"}},"id":29868,"nodeType":"ExpressionStatement","src":"1225:95:23"},{"expression":{"arguments":[{"arguments":[{"hexValue":"","id":29874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1348:2:23","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":29873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1342:5:23","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":29872,"name":"bytes","nodeType":"ElementaryTypeName","src":"1342:5:23","typeDescriptions":{}}},"id":29875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1342:9:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":29869,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"1326:2:23","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":29871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"1326:15:23","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":29876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1326:26:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29877,"nodeType":"ExpressionStatement","src":"1326:26:23"},{"expression":{"arguments":[{"id":29881,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29827,"src":"1378:5:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall.Call memory[] memory"}],"expression":{"id":29878,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"1358:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":28433,"src":"1358:19:23","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_struct$_Call_$28368_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall.Call memory[] memory) external returns (uint256,bytes memory[] memory)"}},"id":29882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1358:26:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes memory[] memory)"}},"id":29883,"nodeType":"ExpressionStatement","src":"1358:26:23"}]},"functionSelector":"a28c5e34","implemented":true,"kind":"function","modifiers":[],"name":"testUnsuccessfulAggregation","nameLocation":"957:27:23","parameters":{"id":29820,"nodeType":"ParameterList","parameters":[],"src":"984:2:23"},"returnParameters":{"id":29821,"nodeType":"ParameterList","parameters":[],"src":"994:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29901,"nodeType":"FunctionDefinition","src":"1466:112:23","nodes":[],"body":{"id":29900,"nodeType":"Block","src":"1514:64:23","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":29892,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29888,"src":"1529:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"1529:12:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":29896,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29888,"src":"1567:4:23","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":29894,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"1543:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getEthBalance","nodeType":"MemberAccess","referencedDeclaration":28446,"src":"1543:23:23","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":29897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1543:29:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29891,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"1520:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":29898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1520:53:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29899,"nodeType":"ExpressionStatement","src":"1520:53:23"}]},"documentation":{"id":29886,"nodeType":"StructuredDocumentation","src":"1393:70:23","text":">>>>>>>>>>>>>>>>>>>>>> HELPER TESTS <<<<<<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"8ef09210","implemented":true,"kind":"function","modifiers":[],"name":"testGetEthBalance","nameLocation":"1475:17:23","parameters":{"id":29889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29888,"mutability":"mutable","name":"addr","nameLocation":"1501:4:23","nodeType":"VariableDeclaration","scope":29901,"src":"1493:12:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29887,"name":"address","nodeType":"ElementaryTypeName","src":"1493:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1492:14:23"},"returnParameters":{"id":29890,"nodeType":"ParameterList","parameters":[],"src":"1514:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29917,"nodeType":"FunctionDefinition","src":"1582:134:23","nodes":[],"body":{"id":29916,"nodeType":"Block","src":"1636:80:23","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":29908,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29903,"src":"1661:11:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29907,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"1651:9:23","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":29909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1651:22:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":29912,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29903,"src":"1698:11:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":29910,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"1675:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getBlockHash","nodeType":"MemberAccess","referencedDeclaration":28460,"src":"1675:22:23","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view external returns (bytes32)"}},"id":29913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1675:35:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29906,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"1642:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":29914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1642:69:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29915,"nodeType":"ExpressionStatement","src":"1642:69:23"}]},"functionSelector":"41e299fe","implemented":true,"kind":"function","modifiers":[],"name":"testGetBlockHash","nameLocation":"1591:16:23","parameters":{"id":29904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29903,"mutability":"mutable","name":"blockNumber","nameLocation":"1616:11:23","nodeType":"VariableDeclaration","scope":29917,"src":"1608:19:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29902,"name":"uint256","nodeType":"ElementaryTypeName","src":"1608:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1607:21:23"},"returnParameters":{"id":29905,"nodeType":"ParameterList","parameters":[],"src":"1636:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29939,"nodeType":"FunctionDefinition","src":"1720:209:23","nodes":[],"body":{"id":29938,"nodeType":"Block","src":"1759:170:23","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":29920,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1826:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1826:12:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":29922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1842:1:23","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1826:17:23","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29925,"nodeType":"IfStatement","src":"1822:30:23","trueBody":{"functionReturnParameters":29919,"id":29924,"nodeType":"Return","src":"1845:7:23"}},{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":29928,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1876:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1876:12:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":29930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1891:1:23","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1876:16:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29927,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"1866:9:23","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":29932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1866:27:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":29933,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"1895:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getLastBlockHash","nodeType":"MemberAccess","referencedDeclaration":28475,"src":"1895:26:23","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":29935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1895:28:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29926,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"1857:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":29936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1857:67:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29937,"nodeType":"ExpressionStatement","src":"1857:67:23"}]},"functionSelector":"af056092","implemented":true,"kind":"function","modifiers":[],"name":"testGetLastBlockHash","nameLocation":"1729:20:23","parameters":{"id":29918,"nodeType":"ParameterList","parameters":[],"src":"1749:2:23"},"returnParameters":{"id":29919,"nodeType":"ParameterList","parameters":[],"src":"1759:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29951,"nodeType":"FunctionDefinition","src":"1933:121:23","nodes":[],"body":{"id":29950,"nodeType":"Block","src":"1980:74:23","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":29943,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1995:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"1995:15:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":29945,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"2012:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockTimestamp","nodeType":"MemberAccess","referencedDeclaration":28486,"src":"2012:34:23","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":29947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2012:36:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29942,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"1986:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":29948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1986:63:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29949,"nodeType":"ExpressionStatement","src":"1986:63:23"}]},"functionSelector":"4059c002","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockTimestamp","nameLocation":"1942:28:23","parameters":{"id":29940,"nodeType":"ParameterList","parameters":[],"src":"1970:2:23"},"returnParameters":{"id":29941,"nodeType":"ParameterList","parameters":[],"src":"1980:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29963,"nodeType":"FunctionDefinition","src":"2058:124:23","nodes":[],"body":{"id":29962,"nodeType":"Block","src":"2106:76:23","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":29955,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2121:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"difficulty","nodeType":"MemberAccess","src":"2121:16:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":29957,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"2139:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockDifficulty","nodeType":"MemberAccess","referencedDeclaration":28497,"src":"2139:35:23","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":29959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2139:37:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29954,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"2112:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":29960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2112:65:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29961,"nodeType":"ExpressionStatement","src":"2112:65:23"}]},"functionSelector":"77185968","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockDifficulty","nameLocation":"2067:29:23","parameters":{"id":29952,"nodeType":"ParameterList","parameters":[],"src":"2096:2:23"},"returnParameters":{"id":29953,"nodeType":"ParameterList","parameters":[],"src":"2106:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29975,"nodeType":"FunctionDefinition","src":"2186:118:23","nodes":[],"body":{"id":29974,"nodeType":"Block","src":"2232:72:23","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":29967,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2247:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gaslimit","nodeType":"MemberAccess","src":"2247:14:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":29969,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"2263:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockGasLimit","nodeType":"MemberAccess","referencedDeclaration":28508,"src":"2263:33:23","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":29971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2263:35:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29966,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"2238:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":29972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2238:61:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29973,"nodeType":"ExpressionStatement","src":"2238:61:23"}]},"functionSelector":"943849a9","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockGasLimit","nameLocation":"2195:27:23","parameters":{"id":29964,"nodeType":"ParameterList","parameters":[],"src":"2222:2:23"},"returnParameters":{"id":29965,"nodeType":"ParameterList","parameters":[],"src":"2232:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29987,"nodeType":"FunctionDefinition","src":"2308:118:23","nodes":[],"body":{"id":29986,"nodeType":"Block","src":"2354:72:23","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":29979,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2369:5:23","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":29980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"coinbase","nodeType":"MemberAccess","src":"2369:14:23","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":29981,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29728,"src":"2385:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall_$28520","typeString":"contract Multicall"}},"id":29982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockCoinbase","nodeType":"MemberAccess","referencedDeclaration":28519,"src":"2385:33:23","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":29983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2385:35:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":29978,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":320,"src":"2360:8:23","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":29984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2360:61:23","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29985,"nodeType":"ExpressionStatement","src":"2360:61:23"}]},"functionSelector":"9027c03f","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockCoinbase","nameLocation":"2317:27:23","parameters":{"id":29976,"nodeType":"ParameterList","parameters":[],"src":"2344:2:23"},"returnParameters":{"id":29977,"nodeType":"ParameterList","parameters":[],"src":"2354:0:23"},"scope":29988,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":29724,"name":"Test","nodeType":"IdentifierPath","referencedDeclaration":10725,"src":"220:4:23"},"id":29725,"nodeType":"InheritanceSpecifier","src":"220:4:23"}],"canonicalName":"MulticallTest","contractDependencies":[28520,32115],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[29988,10725,1846,1843,10676,6475,6185,5526,3954,3260,1786],"name":"MulticallTest","nameLocation":"203:13:23","scope":29989,"usedErrors":[]}],"license":"MIT"}},"src/test/Multicall2.t.sol":{"id":24,"ast":{"absolutePath":"src/test/Multicall2.t.sol","id":30684,"exportedSymbols":{"MockCallee":[32115],"Multicall2":[28829],"Multicall2Test":[30683],"Test":[10725]},"nodeType":"SourceUnit","src":"32:5304:24","nodes":[{"id":29990,"nodeType":"PragmaDirective","src":"32:23:24","nodes":[],"literals":["solidity","0.8",".12"]},{"id":29992,"nodeType":"ImportDirective","src":"57:40:24","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":30684,"sourceUnit":10726,"symbolAliases":[{"foreign":{"id":29991,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10725,"src":"65:4:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Test_$10725_$","typeString":"type(contract Test)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29994,"nodeType":"ImportDirective","src":"98:45:24","nodes":[],"absolutePath":"src/Multicall2.sol","file":"../Multicall2.sol","nameLocation":"-1:-1:-1","scope":30684,"sourceUnit":28830,"symbolAliases":[{"foreign":{"id":29993,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"106:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29996,"nodeType":"ImportDirective","src":"144:50:24","nodes":[],"absolutePath":"src/test/mocks/MockCallee.sol","file":"./mocks/MockCallee.sol","nameLocation":"-1:-1:-1","scope":30684,"sourceUnit":32116,"symbolAliases":[{"foreign":{"id":29995,"name":"MockCallee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32115,"src":"152:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockCallee_$32115_$","typeString":"type(contract MockCallee)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":30683,"nodeType":"ContractDefinition","src":"196:5139:24","nodes":[{"id":30001,"nodeType":"VariableDeclaration","src":"232:20:24","nodes":[],"constant":false,"mutability":"mutable","name":"multicall","nameLocation":"243:9:24","scope":30683,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"},"typeName":{"id":30000,"nodeType":"UserDefinedTypeName","pathNode":{"id":29999,"name":"Multicall2","nodeType":"IdentifierPath","referencedDeclaration":28829,"src":"232:10:24"},"referencedDeclaration":28829,"src":"232:10:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"visibility":"internal"},{"id":30004,"nodeType":"VariableDeclaration","src":"256:17:24","nodes":[],"constant":false,"mutability":"mutable","name":"callee","nameLocation":"267:6:24","scope":30683,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"},"typeName":{"id":30003,"nodeType":"UserDefinedTypeName","pathNode":{"id":30002,"name":"MockCallee","nodeType":"IdentifierPath","referencedDeclaration":32115,"src":"256:10:24"},"referencedDeclaration":32115,"src":"256:10:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"visibility":"internal"},{"id":30023,"nodeType":"FunctionDefinition","src":"320:94:24","nodes":[],"body":{"id":30022,"nodeType":"Block","src":"344:70:24","nodes":[],"statements":[{"expression":{"id":30013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":30008,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"350:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":30011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"362:14:24","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Multicall2_$28829_$","typeString":"function () returns (contract Multicall2)"},"typeName":{"id":30010,"nodeType":"UserDefinedTypeName","pathNode":{"id":30009,"name":"Multicall2","nodeType":"IdentifierPath","referencedDeclaration":28829,"src":"366:10:24"},"referencedDeclaration":28829,"src":"366:10:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}}},"id":30012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"362:16:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"src":"350:28:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30014,"nodeType":"ExpressionStatement","src":"350:28:24"},{"expression":{"id":30020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":30015,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"384:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":30018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"393:14:24","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockCallee_$32115_$","typeString":"function () returns (contract MockCallee)"},"typeName":{"id":30017,"nodeType":"UserDefinedTypeName","pathNode":{"id":30016,"name":"MockCallee","nodeType":"IdentifierPath","referencedDeclaration":32115,"src":"397:10:24"},"referencedDeclaration":32115,"src":"397:10:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}},"id":30019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"393:16:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"src":"384:25:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"id":30021,"nodeType":"ExpressionStatement","src":"384:25:24"}]},"documentation":{"id":30005,"nodeType":"StructuredDocumentation","src":"278:39:24","text":"@notice Setups up the testing suite"},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"329:5:24","parameters":{"id":30006,"nodeType":"ParameterList","parameters":[],"src":"334:2:24"},"returnParameters":{"id":30007,"nodeType":"ParameterList","parameters":[],"src":"344:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30092,"nodeType":"FunctionDefinition","src":"491:461:24","nodes":[],"body":{"id":30091,"nodeType":"Block","src":"525:427:24","nodes":[],"statements":[{"assignments":[30032],"declarations":[{"constant":false,"id":30032,"mutability":"mutable","name":"calls","nameLocation":"584:5:24","nodeType":"VariableDeclaration","scope":30091,"src":"559:30:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":30030,"nodeType":"UserDefinedTypeName","pathNode":{"id":30029,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"559:15:24"},"referencedDeclaration":28528,"src":"559:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30031,"nodeType":"ArrayTypeName","src":"559:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"id":30039,"initialValue":{"arguments":[{"hexValue":"31","id":30037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"614:1:24","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":30036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"592:21:24","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall2.Call memory[] memory)"},"typeName":{"baseType":{"id":30034,"nodeType":"UserDefinedTypeName","pathNode":{"id":30033,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"596:15:24"},"referencedDeclaration":28528,"src":"596:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30035,"nodeType":"ArrayTypeName","src":"596:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}}},"id":30038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"592:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"559:57:24"},{"expression":{"id":30056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30040,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30032,"src":"622:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30042,"indexExpression":{"hexValue":"30","id":30041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"628:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"622:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30047,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"657:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"649:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30045,"name":"address","nodeType":"ElementaryTypeName","src":"649:7:24","typeDescriptions":{}}},"id":30048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"649:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"690:23:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30052,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"715:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"715:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30049,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"666:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"666:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"666:62:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30043,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"633:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"633:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"633:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"622:107:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30057,"nodeType":"ExpressionStatement","src":"622:107:24"},{"assignments":[30059,30062],"declarations":[{"constant":false,"id":30059,"mutability":"mutable","name":"blockNumber","nameLocation":"744:11:24","nodeType":"VariableDeclaration","scope":30091,"src":"736:19:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30058,"name":"uint256","nodeType":"ElementaryTypeName","src":"736:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30062,"mutability":"mutable","name":"returnData","nameLocation":"772:10:24","nodeType":"VariableDeclaration","scope":30091,"src":"757:25:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":30060,"name":"bytes","nodeType":"ElementaryTypeName","src":"757:5:24","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":30061,"nodeType":"ArrayTypeName","src":"757:7:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":30067,"initialValue":{"arguments":[{"id":30065,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30032,"src":"806:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}],"expression":{"id":30063,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"786:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":28599,"src":"786:19:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall2.Call memory[] memory) external returns (uint256,bytes memory[] memory)"}},"id":30066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"786:26:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"735:77:24"},{"expression":{"arguments":[{"id":30069,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30059,"src":"827:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":30070,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"840:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"840:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30068,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"818:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"818:35:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30073,"nodeType":"ExpressionStatement","src":"818:35:24"},{"expression":{"arguments":[{"arguments":[{"baseExpression":{"id":30076,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30062,"src":"878:10:24","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":30078,"indexExpression":{"hexValue":"30","id":30077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"889:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"878:13:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30075,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"868:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"868:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":30084,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"931:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"931:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30083,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"921:9:24","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":30086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"921:23:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":30081,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"904:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"904:16:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":30087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"904:41:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30080,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"894:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"894:52:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30074,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"859:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"859:88:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30090,"nodeType":"ExpressionStatement","src":"859:88:24"}]},"documentation":{"id":30024,"nodeType":"StructuredDocumentation","src":"418:70:24","text":">>>>>>>>>>>>>>>>>>>>> AGGREGATE TESTS <<<<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"2fc1b6ab","implemented":true,"kind":"function","modifiers":[],"name":"testAggregation","nameLocation":"500:15:24","parameters":{"id":30025,"nodeType":"ParameterList","parameters":[],"src":"515:2:24"},"returnParameters":{"id":30026,"nodeType":"ParameterList","parameters":[],"src":"525:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30158,"nodeType":"FunctionDefinition","src":"956:450:24","nodes":[],"body":{"id":30157,"nodeType":"Block","src":"1002:404:24","nodes":[],"statements":[{"assignments":[30100],"declarations":[{"constant":false,"id":30100,"mutability":"mutable","name":"calls","nameLocation":"1063:5:24","nodeType":"VariableDeclaration","scope":30157,"src":"1038:30:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":30098,"nodeType":"UserDefinedTypeName","pathNode":{"id":30097,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"1038:15:24"},"referencedDeclaration":28528,"src":"1038:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30099,"nodeType":"ArrayTypeName","src":"1038:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"id":30107,"initialValue":{"arguments":[{"hexValue":"32","id":30105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1093:1:24","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":30104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1071:21:24","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall2.Call memory[] memory)"},"typeName":{"baseType":{"id":30102,"nodeType":"UserDefinedTypeName","pathNode":{"id":30101,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"1075:15:24"},"referencedDeclaration":28528,"src":"1075:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30103,"nodeType":"ArrayTypeName","src":"1075:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}}},"id":30106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1071:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1038:57:24"},{"expression":{"id":30124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30108,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30100,"src":"1101:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30110,"indexExpression":{"hexValue":"30","id":30109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1107:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1101:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30115,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"1136:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1128:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30113,"name":"address","nodeType":"ElementaryTypeName","src":"1128:7:24","typeDescriptions":{}}},"id":30116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1128:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1169:23:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30120,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1194:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1194:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30117,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1145:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1145:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1145:62:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30111,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"1112:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"1112:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1112:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"1101:107:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30125,"nodeType":"ExpressionStatement","src":"1101:107:24"},{"expression":{"id":30140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30126,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30100,"src":"1214:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30128,"indexExpression":{"hexValue":"31","id":30127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1220:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1214:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30133,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"1249:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1241:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30131,"name":"address","nodeType":"ElementaryTypeName","src":"1241:7:24","typeDescriptions":{}}},"id":30134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1241:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":30137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1282:21:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":30135,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1258:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1258:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1258:46:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30129,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"1225:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"1225:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1225:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"1214:91:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30141,"nodeType":"ExpressionStatement","src":"1214:91:24"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c206167677265676174653a2063616c6c206661696c6564","id":30147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1333:34:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_f00f29c42686fd9baf65b5bd8fa63c642ded98b2f947cb8aeb6a004fb9f654ec","typeString":"literal_string \"Multicall aggregate: call failed\""},"value":"Multicall aggregate: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f00f29c42686fd9baf65b5bd8fa63c642ded98b2f947cb8aeb6a004fb9f654ec","typeString":"literal_string \"Multicall aggregate: call failed\""}],"id":30146,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1327:5:24","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":30145,"name":"bytes","nodeType":"ElementaryTypeName","src":"1327:5:24","typeDescriptions":{}}},"id":30148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1327:41:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30142,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"1311:2:24","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":30144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"1311:15:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":30149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1311:58:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30150,"nodeType":"ExpressionStatement","src":"1311:58:24"},{"expression":{"arguments":[{"id":30154,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30100,"src":"1395:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}],"expression":{"id":30151,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"1375:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":28599,"src":"1375:19:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall2.Call memory[] memory) external returns (uint256,bytes memory[] memory)"}},"id":30155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1375:26:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes memory[] memory)"}},"id":30156,"nodeType":"ExpressionStatement","src":"1375:26:24"}]},"functionSelector":"a28c5e34","implemented":true,"kind":"function","modifiers":[],"name":"testUnsuccessfulAggregation","nameLocation":"965:27:24","parameters":{"id":30093,"nodeType":"ParameterList","parameters":[],"src":"992:2:24"},"returnParameters":{"id":30094,"nodeType":"ParameterList","parameters":[],"src":"1002:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30255,"nodeType":"FunctionDefinition","src":"1483:581:24","nodes":[],"body":{"id":30254,"nodeType":"Block","src":"1518:546:24","nodes":[],"statements":[{"assignments":[30167],"declarations":[{"constant":false,"id":30167,"mutability":"mutable","name":"calls","nameLocation":"1549:5:24","nodeType":"VariableDeclaration","scope":30254,"src":"1524:30:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":30165,"nodeType":"UserDefinedTypeName","pathNode":{"id":30164,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"1524:15:24"},"referencedDeclaration":28528,"src":"1524:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30166,"nodeType":"ArrayTypeName","src":"1524:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"id":30174,"initialValue":{"arguments":[{"hexValue":"32","id":30172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1579:1:24","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":30171,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1557:21:24","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall2.Call memory[] memory)"},"typeName":{"baseType":{"id":30169,"nodeType":"UserDefinedTypeName","pathNode":{"id":30168,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"1561:15:24"},"referencedDeclaration":28528,"src":"1561:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30170,"nodeType":"ArrayTypeName","src":"1561:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}}},"id":30173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1557:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1524:57:24"},{"expression":{"id":30191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30175,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30167,"src":"1587:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30177,"indexExpression":{"hexValue":"30","id":30176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1593:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1587:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30182,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"1622:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30181,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1614:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30180,"name":"address","nodeType":"ElementaryTypeName","src":"1614:7:24","typeDescriptions":{}}},"id":30183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1614:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1655:23:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30187,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1680:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1680:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30184,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1631:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1631:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1631:62:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30178,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"1598:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"1598:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1598:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"1587:107:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30192,"nodeType":"ExpressionStatement","src":"1587:107:24"},{"expression":{"id":30207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30193,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30167,"src":"1700:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30195,"indexExpression":{"hexValue":"31","id":30194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1706:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1700:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30200,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"1735:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1727:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30198,"name":"address","nodeType":"ElementaryTypeName","src":"1727:7:24","typeDescriptions":{}}},"id":30201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1727:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":30204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1768:21:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":30202,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1744:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30203,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1744:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1744:46:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30196,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"1711:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"1711:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1711:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"1700:91:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30208,"nodeType":"ExpressionStatement","src":"1700:91:24"},{"assignments":[30214],"declarations":[{"constant":false,"id":30214,"mutability":"mutable","name":"returnData","nameLocation":"1825:10:24","nodeType":"VariableDeclaration","scope":30254,"src":"1798:37:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result[]"},"typeName":{"baseType":{"id":30212,"nodeType":"UserDefinedTypeName","pathNode":{"id":30211,"name":"Multicall2.Result","nodeType":"IdentifierPath","referencedDeclaration":28533,"src":"1798:17:24"},"referencedDeclaration":28533,"src":"1798:17:24","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_storage_ptr","typeString":"struct Multicall2.Result"}},"id":30213,"nodeType":"ArrayTypeName","src":"1798:19:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Result[]"}},"visibility":"internal"}],"id":30220,"initialValue":{"arguments":[{"hexValue":"66616c7365","id":30217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1862:5:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":30218,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30167,"src":"1869:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}],"expression":{"id":30215,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"1839:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryAggregate","nodeType":"MemberAccess","referencedDeclaration":28668,"src":"1839:22:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall2.Call memory[] memory) external returns (struct Multicall2.Result memory[] memory)"}},"id":30219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1839:36:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1797:78:24"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":30222,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30214,"src":"1892:10:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":30224,"indexExpression":{"hexValue":"30","id":30223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1903:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1892:13:24","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_memory_ptr","typeString":"struct Multicall2.Result memory"}},"id":30225,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28530,"src":"1892:21:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":30221,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"1881:10:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":30226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1881:33:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30227,"nodeType":"ExpressionStatement","src":"1881:33:24"},{"expression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":30230,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30214,"src":"1939:10:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":30232,"indexExpression":{"hexValue":"30","id":30231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1950:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1939:13:24","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_memory_ptr","typeString":"struct Multicall2.Result memory"}},"id":30233,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28532,"src":"1939:24:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30229,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1929:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1929:35:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":30239,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2003:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2003:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30238,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"1993:9:24","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":30241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1993:23:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":30236,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1976:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"1976:16:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":30242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1976:41:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30235,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1966:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1966:52:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30228,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"1920:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1920:99:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30245,"nodeType":"ExpressionStatement","src":"1920:99:24"},{"expression":{"arguments":[{"id":30251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2036:22:24","subExpression":{"expression":{"baseExpression":{"id":30247,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30214,"src":"2037:10:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":30249,"indexExpression":{"hexValue":"31","id":30248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2048:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2037:13:24","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_memory_ptr","typeString":"struct Multicall2.Result memory"}},"id":30250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28530,"src":"2037:21:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":30246,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"2025:10:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":30252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2025:34:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30253,"nodeType":"ExpressionStatement","src":"2025:34:24"}]},"documentation":{"id":30159,"nodeType":"StructuredDocumentation","src":"1410:70:24","text":">>>>>>>>>>>>>>>>>>> TRY AGGREGATE TESTS <<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"7e5ed4db","implemented":true,"kind":"function","modifiers":[],"name":"testTryAggregate","nameLocation":"1492:16:24","parameters":{"id":30160,"nodeType":"ParameterList","parameters":[],"src":"1508:2:24"},"returnParameters":{"id":30161,"nodeType":"ParameterList","parameters":[],"src":"1518:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30322,"nodeType":"FunctionDefinition","src":"2068:431:24","nodes":[],"body":{"id":30321,"nodeType":"Block","src":"2115:384:24","nodes":[],"statements":[{"assignments":[30263],"declarations":[{"constant":false,"id":30263,"mutability":"mutable","name":"calls","nameLocation":"2146:5:24","nodeType":"VariableDeclaration","scope":30321,"src":"2121:30:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":30261,"nodeType":"UserDefinedTypeName","pathNode":{"id":30260,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"2121:15:24"},"referencedDeclaration":28528,"src":"2121:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30262,"nodeType":"ArrayTypeName","src":"2121:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"id":30270,"initialValue":{"arguments":[{"hexValue":"32","id":30268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2176:1:24","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":30267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2154:21:24","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall2.Call memory[] memory)"},"typeName":{"baseType":{"id":30265,"nodeType":"UserDefinedTypeName","pathNode":{"id":30264,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"2158:15:24"},"referencedDeclaration":28528,"src":"2158:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30266,"nodeType":"ArrayTypeName","src":"2158:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}}},"id":30269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2154:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2121:57:24"},{"expression":{"id":30287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30271,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30263,"src":"2184:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30273,"indexExpression":{"hexValue":"30","id":30272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2190:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2184:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30278,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"2219:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2211:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30276,"name":"address","nodeType":"ElementaryTypeName","src":"2211:7:24","typeDescriptions":{}}},"id":30279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2211:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2252:23:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30283,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2277:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2277:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30280,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2228:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2228:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2228:62:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30274,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"2195:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"2195:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2195:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"2184:107:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30288,"nodeType":"ExpressionStatement","src":"2184:107:24"},{"expression":{"id":30303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30289,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30263,"src":"2297:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30291,"indexExpression":{"hexValue":"31","id":30290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2303:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2297:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30296,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"2332:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30295,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2324:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30294,"name":"address","nodeType":"ElementaryTypeName","src":"2324:7:24","typeDescriptions":{}}},"id":30297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2324:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":30300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2365:21:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":30298,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2341:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2341:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2341:46:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30292,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"2308:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"2308:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2308:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"2297:91:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30304,"nodeType":"ExpressionStatement","src":"2297:91:24"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6564","id":30310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2416:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf","typeString":"literal_string \"Multicall2 aggregate: call failed\""},"value":"Multicall2 aggregate: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf","typeString":"literal_string \"Multicall2 aggregate: call failed\""}],"id":30309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2410:5:24","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":30308,"name":"bytes","nodeType":"ElementaryTypeName","src":"2410:5:24","typeDescriptions":{}}},"id":30311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2410:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30305,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"2394:2:24","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":30307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"2394:15:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":30312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2394:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30313,"nodeType":"ExpressionStatement","src":"2394:59:24"},{"expression":{"arguments":[{"hexValue":"74727565","id":30317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2482:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":30318,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30263,"src":"2488:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}],"expression":{"id":30314,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"2459:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryAggregate","nodeType":"MemberAccess","referencedDeclaration":28668,"src":"2459:22:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall2.Call memory[] memory) external returns (struct Multicall2.Result memory[] memory)"}},"id":30319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2459:35:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":30320,"nodeType":"ExpressionStatement","src":"2459:35:24"}]},"functionSelector":"434004ec","implemented":true,"kind":"function","modifiers":[],"name":"testTryAggregateUnsuccessful","nameLocation":"2077:28:24","parameters":{"id":30256,"nodeType":"ParameterList","parameters":[],"src":"2105:2:24"},"returnParameters":{"id":30257,"nodeType":"ParameterList","parameters":[],"src":"2115:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30435,"nodeType":"FunctionDefinition","src":"2576:728:24","nodes":[],"body":{"id":30434,"nodeType":"Block","src":"2619:685:24","nodes":[],"statements":[{"assignments":[30331],"declarations":[{"constant":false,"id":30331,"mutability":"mutable","name":"calls","nameLocation":"2650:5:24","nodeType":"VariableDeclaration","scope":30434,"src":"2625:30:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":30329,"nodeType":"UserDefinedTypeName","pathNode":{"id":30328,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"2625:15:24"},"referencedDeclaration":28528,"src":"2625:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30330,"nodeType":"ArrayTypeName","src":"2625:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"id":30338,"initialValue":{"arguments":[{"hexValue":"32","id":30336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2680:1:24","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":30335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2658:21:24","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall2.Call memory[] memory)"},"typeName":{"baseType":{"id":30333,"nodeType":"UserDefinedTypeName","pathNode":{"id":30332,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"2662:15:24"},"referencedDeclaration":28528,"src":"2662:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30334,"nodeType":"ArrayTypeName","src":"2662:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}}},"id":30337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2658:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2625:57:24"},{"expression":{"id":30355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30339,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30331,"src":"2688:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30341,"indexExpression":{"hexValue":"30","id":30340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2694:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2688:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30346,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"2723:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2715:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30344,"name":"address","nodeType":"ElementaryTypeName","src":"2715:7:24","typeDescriptions":{}}},"id":30347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2715:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2756:23:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30351,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2781:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2781:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30348,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2732:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30349,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2732:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2732:62:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30342,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"2699:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"2699:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2699:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"2688:107:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30356,"nodeType":"ExpressionStatement","src":"2688:107:24"},{"expression":{"id":30371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30357,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30331,"src":"2801:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30359,"indexExpression":{"hexValue":"31","id":30358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2807:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2801:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30364,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"2836:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2828:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30362,"name":"address","nodeType":"ElementaryTypeName","src":"2828:7:24","typeDescriptions":{}}},"id":30365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2828:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":30368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2869:21:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":30366,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2845:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30367,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2845:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2845:46:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30360,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"2812:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"2812:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2812:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"2801:91:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30372,"nodeType":"ExpressionStatement","src":"2801:91:24"},{"assignments":[30374,30376,30380],"declarations":[{"constant":false,"id":30374,"mutability":"mutable","name":"blockNumber","nameLocation":"2907:11:24","nodeType":"VariableDeclaration","scope":30434,"src":"2899:19:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30373,"name":"uint256","nodeType":"ElementaryTypeName","src":"2899:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30376,"mutability":"mutable","name":"blockHash","nameLocation":"2928:9:24","nodeType":"VariableDeclaration","scope":30434,"src":"2920:17:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30375,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2920:7:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30380,"mutability":"mutable","name":"returnData","nameLocation":"2966:10:24","nodeType":"VariableDeclaration","scope":30434,"src":"2939:37:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result[]"},"typeName":{"baseType":{"id":30378,"nodeType":"UserDefinedTypeName","pathNode":{"id":30377,"name":"Multicall2.Result","nodeType":"IdentifierPath","referencedDeclaration":28533,"src":"2939:17:24"},"referencedDeclaration":28533,"src":"2939:17:24","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_storage_ptr","typeString":"struct Multicall2.Result"}},"id":30379,"nodeType":"ArrayTypeName","src":"2939:19:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Result[]"}},"visibility":"internal"}],"id":30386,"initialValue":{"arguments":[{"hexValue":"66616c7365","id":30383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3011:5:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":30384,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30331,"src":"3018:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}],"expression":{"id":30381,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"2980:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryBlockAndAggregate","nodeType":"MemberAccess","referencedDeclaration":28705,"src":"2980:30:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall2.Call memory[] memory) external returns (uint256,bytes32,struct Multicall2.Result memory[] memory)"}},"id":30385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2980:44:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall2.Result memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"2898:126:24"},{"expression":{"arguments":[{"id":30388,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30374,"src":"3039:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":30389,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3052:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3052:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30387,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"3030:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3030:35:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30392,"nodeType":"ExpressionStatement","src":"3030:35:24"},{"expression":{"arguments":[{"id":30394,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30376,"src":"3080:9:24","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"expression":{"id":30396,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3101:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3101:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30395,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"3091:9:24","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":30398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3091:23:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30393,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"3071:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3071:44:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30400,"nodeType":"ExpressionStatement","src":"3071:44:24"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":30402,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30380,"src":"3132:10:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":30404,"indexExpression":{"hexValue":"30","id":30403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3143:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3132:13:24","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_memory_ptr","typeString":"struct Multicall2.Result memory"}},"id":30405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28530,"src":"3132:21:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":30401,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"3121:10:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":30406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3121:33:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30407,"nodeType":"ExpressionStatement","src":"3121:33:24"},{"expression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":30410,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30380,"src":"3179:10:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":30412,"indexExpression":{"hexValue":"30","id":30411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3190:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3179:13:24","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_memory_ptr","typeString":"struct Multicall2.Result memory"}},"id":30413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28532,"src":"3179:24:24","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30409,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3169:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3169:35:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":30419,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3243:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3243:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30418,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"3233:9:24","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":30421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3233:23:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":30416,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3216:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3216:16:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":30422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3216:41:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30415,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3206:9:24","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3206:52:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30408,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"3160:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3160:99:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30425,"nodeType":"ExpressionStatement","src":"3160:99:24"},{"expression":{"arguments":[{"id":30431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3276:22:24","subExpression":{"expression":{"baseExpression":{"id":30427,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30380,"src":"3277:10:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Result memory[] memory"}},"id":30429,"indexExpression":{"hexValue":"31","id":30428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3288:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3277:13:24","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28533_memory_ptr","typeString":"struct Multicall2.Result memory"}},"id":30430,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28530,"src":"3277:21:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":30426,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"3265:10:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":30432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3265:34:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30433,"nodeType":"ExpressionStatement","src":"3265:34:24"}]},"documentation":{"id":30323,"nodeType":"StructuredDocumentation","src":"2503:70:24","text":">>>>>>>>>>>>>> TRY BLOCK AND AGGREGATE TESTS <<<<<<<<<<<<<< ///"},"functionSelector":"b668ab7d","implemented":true,"kind":"function","modifiers":[],"name":"testTryBlockAndAggregate","nameLocation":"2585:24:24","parameters":{"id":30324,"nodeType":"ParameterList","parameters":[],"src":"2609:2:24"},"returnParameters":{"id":30325,"nodeType":"ParameterList","parameters":[],"src":"2619:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30502,"nodeType":"FunctionDefinition","src":"3308:447:24","nodes":[],"body":{"id":30501,"nodeType":"Block","src":"3363:392:24","nodes":[],"statements":[{"assignments":[30443],"declarations":[{"constant":false,"id":30443,"mutability":"mutable","name":"calls","nameLocation":"3394:5:24","nodeType":"VariableDeclaration","scope":30501,"src":"3369:30:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":30441,"nodeType":"UserDefinedTypeName","pathNode":{"id":30440,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"3369:15:24"},"referencedDeclaration":28528,"src":"3369:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30442,"nodeType":"ArrayTypeName","src":"3369:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"id":30450,"initialValue":{"arguments":[{"hexValue":"32","id":30448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3424:1:24","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":30447,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3402:21:24","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall2.Call memory[] memory)"},"typeName":{"baseType":{"id":30445,"nodeType":"UserDefinedTypeName","pathNode":{"id":30444,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"3406:15:24"},"referencedDeclaration":28528,"src":"3406:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30446,"nodeType":"ArrayTypeName","src":"3406:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}}},"id":30449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3402:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3369:57:24"},{"expression":{"id":30467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30451,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30443,"src":"3432:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30453,"indexExpression":{"hexValue":"30","id":30452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3438:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3432:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30458,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"3467:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3459:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30456,"name":"address","nodeType":"ElementaryTypeName","src":"3459:7:24","typeDescriptions":{}}},"id":30459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3459:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3500:23:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30463,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3525:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3525:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30460,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3476:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3476:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3476:62:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30454,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"3443:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"3443:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3443:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"3432:107:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30468,"nodeType":"ExpressionStatement","src":"3432:107:24"},{"expression":{"id":30483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30469,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30443,"src":"3545:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30471,"indexExpression":{"hexValue":"31","id":30470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3551:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3545:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30476,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"3580:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30475,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3572:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30474,"name":"address","nodeType":"ElementaryTypeName","src":"3572:7:24","typeDescriptions":{}}},"id":30477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3572:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":30480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3613:21:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":30478,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3589:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3589:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3589:46:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30472,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"3556:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"3556:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3556:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"3545:91:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30484,"nodeType":"ExpressionStatement","src":"3545:91:24"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6564","id":30490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3664:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf","typeString":"literal_string \"Multicall2 aggregate: call failed\""},"value":"Multicall2 aggregate: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf","typeString":"literal_string \"Multicall2 aggregate: call failed\""}],"id":30489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3658:5:24","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":30488,"name":"bytes","nodeType":"ElementaryTypeName","src":"3658:5:24","typeDescriptions":{}}},"id":30491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3658:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30485,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"3642:2:24","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":30487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"3642:15:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":30492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3642:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30493,"nodeType":"ExpressionStatement","src":"3642:59:24"},{"expression":{"arguments":[{"hexValue":"74727565","id":30497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3738:4:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":30498,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30443,"src":"3744:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}],"expression":{"id":30494,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"3707:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryBlockAndAggregate","nodeType":"MemberAccess","referencedDeclaration":28705,"src":"3707:30:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bool_$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall2.Call memory[] memory) external returns (uint256,bytes32,struct Multicall2.Result memory[] memory)"}},"id":30499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3707:43:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall2.Result memory[] memory)"}},"id":30500,"nodeType":"ExpressionStatement","src":"3707:43:24"}]},"functionSelector":"90c6e931","implemented":true,"kind":"function","modifiers":[],"name":"testTryBlockAndAggregateUnsuccessful","nameLocation":"3317:36:24","parameters":{"id":30436,"nodeType":"ParameterList","parameters":[],"src":"3353:2:24"},"returnParameters":{"id":30437,"nodeType":"ParameterList","parameters":[],"src":"3363:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30568,"nodeType":"FunctionDefinition","src":"3759:435:24","nodes":[],"body":{"id":30567,"nodeType":"Block","src":"3811:383:24","nodes":[],"statements":[{"assignments":[30510],"declarations":[{"constant":false,"id":30510,"mutability":"mutable","name":"calls","nameLocation":"3842:5:24","nodeType":"VariableDeclaration","scope":30567,"src":"3817:30:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call[]"},"typeName":{"baseType":{"id":30508,"nodeType":"UserDefinedTypeName","pathNode":{"id":30507,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"3817:15:24"},"referencedDeclaration":28528,"src":"3817:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30509,"nodeType":"ArrayTypeName","src":"3817:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}},"visibility":"internal"}],"id":30517,"initialValue":{"arguments":[{"hexValue":"32","id":30515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3872:1:24","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":30514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3850:21:24","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall2.Call memory[] memory)"},"typeName":{"baseType":{"id":30512,"nodeType":"UserDefinedTypeName","pathNode":{"id":30511,"name":"Multicall2.Call","nodeType":"IdentifierPath","referencedDeclaration":28528,"src":"3854:15:24"},"referencedDeclaration":28528,"src":"3854:15:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_storage_ptr","typeString":"struct Multicall2.Call"}},"id":30513,"nodeType":"ArrayTypeName","src":"3854:17:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_storage_$dyn_storage_ptr","typeString":"struct Multicall2.Call[]"}}},"id":30516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3850:24:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3817:57:24"},{"expression":{"id":30534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30518,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30510,"src":"3880:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30520,"indexExpression":{"hexValue":"30","id":30519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3886:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3880:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30525,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"3915:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30524,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3907:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30523,"name":"address","nodeType":"ElementaryTypeName","src":"3907:7:24","typeDescriptions":{}}},"id":30526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3907:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3948:23:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30530,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3973:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3973:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30527,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3924:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30528,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3924:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3924:62:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30521,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"3891:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"3891:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3891:96:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"3880:107:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30535,"nodeType":"ExpressionStatement","src":"3880:107:24"},{"expression":{"id":30550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30536,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30510,"src":"3993:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}},"id":30538,"indexExpression":{"hexValue":"31","id":30537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3999:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3993:8:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30543,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"4028:6:24","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4020:7:24","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30541,"name":"address","nodeType":"ElementaryTypeName","src":"4020:7:24","typeDescriptions":{}}},"id":30544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4020:15:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":30547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4061:21:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":30545,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4037:3:24","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30546,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4037:23:24","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4037:46:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30539,"name":"Multicall2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28829,"src":"4004:10:24","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall2_$28829_$","typeString":"type(contract Multicall2)"}},"id":30540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28528,"src":"4004:15:24","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28528_storage_ptr_$","typeString":"type(struct Multicall2.Call storage pointer)"}},"id":30549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4004:80:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"src":"3993:91:24","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28528_memory_ptr","typeString":"struct Multicall2.Call memory"}},"id":30551,"nodeType":"ExpressionStatement","src":"3993:91:24"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c32206167677265676174653a2063616c6c206661696c6564","id":30557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4112:35:24","typeDescriptions":{"typeIdentifier":"t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf","typeString":"literal_string \"Multicall2 aggregate: call failed\""},"value":"Multicall2 aggregate: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bd97bfad63caef51f3372eed9dcabcf122404ebbb470c4fd9b09fcde78ebd3cf","typeString":"literal_string \"Multicall2 aggregate: call failed\""}],"id":30556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4106:5:24","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":30555,"name":"bytes","nodeType":"ElementaryTypeName","src":"4106:5:24","typeDescriptions":{}}},"id":30558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4106:42:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30552,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"4090:2:24","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":30554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"4090:15:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":30559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4090:59:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30560,"nodeType":"ExpressionStatement","src":"4090:59:24"},{"expression":{"arguments":[{"id":30564,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30510,"src":"4183:5:24","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall2.Call memory[] memory"}],"expression":{"id":30561,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"4155:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"blockAndAggregate","nodeType":"MemberAccess","referencedDeclaration":28731,"src":"4155:27:24","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_struct$_Call_$28528_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall2.Call memory[] memory) external returns (uint256,bytes32,struct Multicall2.Result memory[] memory)"}},"id":30565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4155:34:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28533_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall2.Result memory[] memory)"}},"id":30566,"nodeType":"ExpressionStatement","src":"4155:34:24"}]},"functionSelector":"1d303931","implemented":true,"kind":"function","modifiers":[],"name":"testBlockAndAggregateUnsuccessful","nameLocation":"3768:33:24","parameters":{"id":30503,"nodeType":"ParameterList","parameters":[],"src":"3801:2:24"},"returnParameters":{"id":30504,"nodeType":"ParameterList","parameters":[],"src":"3811:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30585,"nodeType":"FunctionDefinition","src":"4271:134:24","nodes":[],"body":{"id":30584,"nodeType":"Block","src":"4325:80:24","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":30576,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30571,"src":"4350:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30575,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"4340:9:24","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":30577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4340:22:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":30580,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30571,"src":"4387:11:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30578,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"4364:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getBlockHash","nodeType":"MemberAccess","referencedDeclaration":28745,"src":"4364:22:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view external returns (bytes32)"}},"id":30581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4364:35:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30574,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"4331:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4331:69:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30583,"nodeType":"ExpressionStatement","src":"4331:69:24"}]},"documentation":{"id":30569,"nodeType":"StructuredDocumentation","src":"4198:70:24","text":">>>>>>>>>>>>>>>>>>>>>> HELPER TESTS <<<<<<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"41e299fe","implemented":true,"kind":"function","modifiers":[],"name":"testGetBlockHash","nameLocation":"4280:16:24","parameters":{"id":30572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30571,"mutability":"mutable","name":"blockNumber","nameLocation":"4305:11:24","nodeType":"VariableDeclaration","scope":30585,"src":"4297:19:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30570,"name":"uint256","nodeType":"ElementaryTypeName","src":"4297:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4296:21:24"},"returnParameters":{"id":30573,"nodeType":"ParameterList","parameters":[],"src":"4325:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30597,"nodeType":"FunctionDefinition","src":"4409:98:24","nodes":[],"body":{"id":30596,"nodeType":"Block","src":"4446:61:24","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":30589,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4461:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"4461:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":30591,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"4475:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getBlockNumber","nodeType":"MemberAccess","referencedDeclaration":28756,"src":"4475:24:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":30593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4475:26:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30588,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"4452:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4452:50:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30595,"nodeType":"ExpressionStatement","src":"4452:50:24"}]},"functionSelector":"23b4ffe0","implemented":true,"kind":"function","modifiers":[],"name":"testGetBlockNumber","nameLocation":"4418:18:24","parameters":{"id":30586,"nodeType":"ParameterList","parameters":[],"src":"4436:2:24"},"returnParameters":{"id":30587,"nodeType":"ParameterList","parameters":[],"src":"4446:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30609,"nodeType":"FunctionDefinition","src":"4511:118:24","nodes":[],"body":{"id":30608,"nodeType":"Block","src":"4557:72:24","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":30601,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4572:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"coinbase","nodeType":"MemberAccess","src":"4572:14:24","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":30603,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"4588:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockCoinbase","nodeType":"MemberAccess","referencedDeclaration":28767,"src":"4588:33:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":30605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4588:35:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":30600,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":320,"src":"4563:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":30606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4563:61:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30607,"nodeType":"ExpressionStatement","src":"4563:61:24"}]},"functionSelector":"9027c03f","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockCoinbase","nameLocation":"4520:27:24","parameters":{"id":30598,"nodeType":"ParameterList","parameters":[],"src":"4547:2:24"},"returnParameters":{"id":30599,"nodeType":"ParameterList","parameters":[],"src":"4557:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30621,"nodeType":"FunctionDefinition","src":"4633:124:24","nodes":[],"body":{"id":30620,"nodeType":"Block","src":"4681:76:24","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":30613,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4696:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"difficulty","nodeType":"MemberAccess","src":"4696:16:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":30615,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"4714:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockDifficulty","nodeType":"MemberAccess","referencedDeclaration":28778,"src":"4714:35:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":30617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4714:37:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30612,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"4687:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4687:65:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30619,"nodeType":"ExpressionStatement","src":"4687:65:24"}]},"functionSelector":"77185968","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockDifficulty","nameLocation":"4642:29:24","parameters":{"id":30610,"nodeType":"ParameterList","parameters":[],"src":"4671:2:24"},"returnParameters":{"id":30611,"nodeType":"ParameterList","parameters":[],"src":"4681:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30633,"nodeType":"FunctionDefinition","src":"4761:118:24","nodes":[],"body":{"id":30632,"nodeType":"Block","src":"4807:72:24","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":30625,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4822:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gaslimit","nodeType":"MemberAccess","src":"4822:14:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":30627,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"4838:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockGasLimit","nodeType":"MemberAccess","referencedDeclaration":28789,"src":"4838:33:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":30629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4838:35:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30624,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"4813:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4813:61:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30631,"nodeType":"ExpressionStatement","src":"4813:61:24"}]},"functionSelector":"943849a9","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockGasLimit","nameLocation":"4770:27:24","parameters":{"id":30622,"nodeType":"ParameterList","parameters":[],"src":"4797:2:24"},"returnParameters":{"id":30623,"nodeType":"ParameterList","parameters":[],"src":"4807:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30645,"nodeType":"FunctionDefinition","src":"4883:121:24","nodes":[],"body":{"id":30644,"nodeType":"Block","src":"4930:74:24","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":30637,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4945:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"4945:15:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":30639,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"4962:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockTimestamp","nodeType":"MemberAccess","referencedDeclaration":28800,"src":"4962:34:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":30641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4962:36:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30636,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"4936:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4936:63:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30643,"nodeType":"ExpressionStatement","src":"4936:63:24"}]},"functionSelector":"4059c002","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockTimestamp","nameLocation":"4892:28:24","parameters":{"id":30634,"nodeType":"ParameterList","parameters":[],"src":"4920:2:24"},"returnParameters":{"id":30635,"nodeType":"ParameterList","parameters":[],"src":"4930:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30660,"nodeType":"FunctionDefinition","src":"5008:112:24","nodes":[],"body":{"id":30659,"nodeType":"Block","src":"5056:64:24","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":30651,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30647,"src":"5071:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":30652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"5071:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":30655,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30647,"src":"5109:4:24","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":30653,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"5085:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getEthBalance","nodeType":"MemberAccess","referencedDeclaration":28813,"src":"5085:23:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":30656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5085:29:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30650,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"5062:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5062:53:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30658,"nodeType":"ExpressionStatement","src":"5062:53:24"}]},"functionSelector":"8ef09210","implemented":true,"kind":"function","modifiers":[],"name":"testGetEthBalance","nameLocation":"5017:17:24","parameters":{"id":30648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30647,"mutability":"mutable","name":"addr","nameLocation":"5043:4:24","nodeType":"VariableDeclaration","scope":30660,"src":"5035:12:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30646,"name":"address","nodeType":"ElementaryTypeName","src":"5035:7:24","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5034:14:24"},"returnParameters":{"id":30649,"nodeType":"ParameterList","parameters":[],"src":"5056:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30682,"nodeType":"FunctionDefinition","src":"5124:209:24","nodes":[],"body":{"id":30681,"nodeType":"Block","src":"5163:170:24","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":30663,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5230:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"5230:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":30665,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5246:1:24","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5230:17:24","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30668,"nodeType":"IfStatement","src":"5226:30:24","trueBody":{"functionReturnParameters":30662,"id":30667,"nodeType":"Return","src":"5249:7:24"}},{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":30671,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5280:5:24","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"5280:12:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":30673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5295:1:24","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5280:16:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30670,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"5270:9:24","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":30675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5270:27:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":30676,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30001,"src":"5299:9:24","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall2_$28829","typeString":"contract Multicall2"}},"id":30677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getLastBlockHash","nodeType":"MemberAccess","referencedDeclaration":28828,"src":"5299:26:24","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":30678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5299:28:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30669,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"5261:8:24","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5261:67:24","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30680,"nodeType":"ExpressionStatement","src":"5261:67:24"}]},"functionSelector":"af056092","implemented":true,"kind":"function","modifiers":[],"name":"testGetLastBlockHash","nameLocation":"5133:20:24","parameters":{"id":30661,"nodeType":"ParameterList","parameters":[],"src":"5153:2:24"},"returnParameters":{"id":30662,"nodeType":"ParameterList","parameters":[],"src":"5163:0:24"},"scope":30683,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":29997,"name":"Test","nodeType":"IdentifierPath","referencedDeclaration":10725,"src":"223:4:24"},"id":29998,"nodeType":"InheritanceSpecifier","src":"223:4:24"}],"canonicalName":"Multicall2Test","contractDependencies":[28829,32115],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[30683,10725,1846,1843,10676,6475,6185,5526,3954,3260,1786],"name":"Multicall2Test","nameLocation":"205:14:24","scope":30684,"usedErrors":[]}],"license":"MIT"}},"src/test/Multicall3.t.sol":{"id":25,"ast":{"absolutePath":"src/test/Multicall3.t.sol","id":32054,"exportedSymbols":{"EtherSink":[32062],"MockCallee":[32115],"Multicall3":[29378],"Multicall3Test":[32053],"Test":[10725]},"nodeType":"SourceUnit","src":"32:9800:25","nodes":[{"id":30685,"nodeType":"PragmaDirective","src":"32:23:25","nodes":[],"literals":["solidity","0.8",".12"]},{"id":30687,"nodeType":"ImportDirective","src":"57:40:25","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":32054,"sourceUnit":10726,"symbolAliases":[{"foreign":{"id":30686,"name":"Test","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10725,"src":"65:4:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Test_$10725_$","typeString":"type(contract Test)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":30689,"nodeType":"ImportDirective","src":"98:45:25","nodes":[],"absolutePath":"src/Multicall3.sol","file":"../Multicall3.sol","nameLocation":"-1:-1:-1","scope":32054,"sourceUnit":29379,"symbolAliases":[{"foreign":{"id":30688,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"106:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":30691,"nodeType":"ImportDirective","src":"144:50:25","nodes":[],"absolutePath":"src/test/mocks/MockCallee.sol","file":"./mocks/MockCallee.sol","nameLocation":"-1:-1:-1","scope":32054,"sourceUnit":32116,"symbolAliases":[{"foreign":{"id":30690,"name":"MockCallee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32115,"src":"152:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MockCallee_$32115_$","typeString":"type(contract MockCallee)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":30693,"nodeType":"ImportDirective","src":"195:48:25","nodes":[],"absolutePath":"src/test/mocks/EtherSink.sol","file":"./mocks/EtherSink.sol","nameLocation":"-1:-1:-1","scope":32054,"sourceUnit":32063,"symbolAliases":[{"foreign":{"id":30692,"name":"EtherSink","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32062,"src":"203:9:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EtherSink_$32062_$","typeString":"type(contract EtherSink)"}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32053,"nodeType":"ContractDefinition","src":"245:9586:25","nodes":[{"id":30698,"nodeType":"VariableDeclaration","src":"281:20:25","nodes":[],"constant":false,"mutability":"mutable","name":"multicall","nameLocation":"292:9:25","scope":32053,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"},"typeName":{"id":30697,"nodeType":"UserDefinedTypeName","pathNode":{"id":30696,"name":"Multicall3","nodeType":"IdentifierPath","referencedDeclaration":29378,"src":"281:10:25"},"referencedDeclaration":29378,"src":"281:10:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"visibility":"internal"},{"id":30701,"nodeType":"VariableDeclaration","src":"305:17:25","nodes":[],"constant":false,"mutability":"mutable","name":"callee","nameLocation":"316:6:25","scope":32053,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"},"typeName":{"id":30700,"nodeType":"UserDefinedTypeName","pathNode":{"id":30699,"name":"MockCallee","nodeType":"IdentifierPath","referencedDeclaration":32115,"src":"305:10:25"},"referencedDeclaration":32115,"src":"305:10:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"visibility":"internal"},{"id":30704,"nodeType":"VariableDeclaration","src":"326:19:25","nodes":[],"constant":false,"mutability":"mutable","name":"etherSink","nameLocation":"336:9:25","scope":32053,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"},"typeName":{"id":30703,"nodeType":"UserDefinedTypeName","pathNode":{"id":30702,"name":"EtherSink","nodeType":"IdentifierPath","referencedDeclaration":32062,"src":"326:9:25"},"referencedDeclaration":32062,"src":"326:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}},"visibility":"internal"},{"id":30730,"nodeType":"FunctionDefinition","src":"392:127:25","nodes":[],"body":{"id":30729,"nodeType":"Block","src":"416:103:25","nodes":[],"statements":[{"expression":{"id":30713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":30708,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"422:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":30711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"434:14:25","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Multicall3_$29378_$","typeString":"function () returns (contract Multicall3)"},"typeName":{"id":30710,"nodeType":"UserDefinedTypeName","pathNode":{"id":30709,"name":"Multicall3","nodeType":"IdentifierPath","referencedDeclaration":29378,"src":"438:10:25"},"referencedDeclaration":29378,"src":"438:10:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}}},"id":30712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"434:16:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"src":"422:28:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":30714,"nodeType":"ExpressionStatement","src":"422:28:25"},{"expression":{"id":30720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":30715,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"456:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":30718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"465:14:25","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_MockCallee_$32115_$","typeString":"function () returns (contract MockCallee)"},"typeName":{"id":30717,"nodeType":"UserDefinedTypeName","pathNode":{"id":30716,"name":"MockCallee","nodeType":"IdentifierPath","referencedDeclaration":32115,"src":"469:10:25"},"referencedDeclaration":32115,"src":"469:10:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}},"id":30719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"465:16:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"src":"456:25:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}},"id":30721,"nodeType":"ExpressionStatement","src":"456:25:25"},{"expression":{"id":30727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":30722,"name":"etherSink","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30704,"src":"487:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":30725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"499:13:25","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_EtherSink_$32062_$","typeString":"function () returns (contract EtherSink)"},"typeName":{"id":30724,"nodeType":"UserDefinedTypeName","pathNode":{"id":30723,"name":"EtherSink","nodeType":"IdentifierPath","referencedDeclaration":32062,"src":"503:9:25"},"referencedDeclaration":32062,"src":"503:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}}},"id":30726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"499:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}},"src":"487:27:25","typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}},"id":30728,"nodeType":"ExpressionStatement","src":"487:27:25"}]},"documentation":{"id":30705,"nodeType":"StructuredDocumentation","src":"350:39:25","text":"@notice Setups up the testing suite"},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"401:5:25","parameters":{"id":30706,"nodeType":"ParameterList","parameters":[],"src":"406:2:25"},"returnParameters":{"id":30707,"nodeType":"ParameterList","parameters":[],"src":"416:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30799,"nodeType":"FunctionDefinition","src":"596:461:25","nodes":[],"body":{"id":30798,"nodeType":"Block","src":"630:427:25","nodes":[],"statements":[{"assignments":[30739],"declarations":[{"constant":false,"id":30739,"mutability":"mutable","name":"calls","nameLocation":"689:5:25","nodeType":"VariableDeclaration","scope":30798,"src":"664:30:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":30737,"nodeType":"UserDefinedTypeName","pathNode":{"id":30736,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"664:15:25"},"referencedDeclaration":28837,"src":"664:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":30738,"nodeType":"ArrayTypeName","src":"664:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"id":30746,"initialValue":{"arguments":[{"hexValue":"31","id":30744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"719:1:25","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":30743,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"697:21:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call memory[] memory)"},"typeName":{"baseType":{"id":30741,"nodeType":"UserDefinedTypeName","pathNode":{"id":30740,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"701:15:25"},"referencedDeclaration":28837,"src":"701:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":30742,"nodeType":"ArrayTypeName","src":"701:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}}},"id":30745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"697:24:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"664:57:25"},{"expression":{"id":30763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30747,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30739,"src":"727:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":30749,"indexExpression":{"hexValue":"30","id":30748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"733:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"727:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30754,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"762:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30753,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"754:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30752,"name":"address","nodeType":"ElementaryTypeName","src":"754:7:25","typeDescriptions":{}}},"id":30755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"754:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"795:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30759,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"820:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"820:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30756,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"771:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30757,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"771:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"771:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30750,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"738:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":30751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"738:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":30762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"738:96:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"727:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":30764,"nodeType":"ExpressionStatement","src":"727:107:25"},{"assignments":[30766,30769],"declarations":[{"constant":false,"id":30766,"mutability":"mutable","name":"blockNumber","nameLocation":"849:11:25","nodeType":"VariableDeclaration","scope":30798,"src":"841:19:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30765,"name":"uint256","nodeType":"ElementaryTypeName","src":"841:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30769,"mutability":"mutable","name":"returnData","nameLocation":"877:10:25","nodeType":"VariableDeclaration","scope":30798,"src":"862:25:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":30767,"name":"bytes","nodeType":"ElementaryTypeName","src":"862:5:25","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":30768,"nodeType":"ArrayTypeName","src":"862:7:25","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":30774,"initialValue":{"arguments":[{"id":30772,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30739,"src":"911:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}],"expression":{"id":30770,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"891:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":30771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":28934,"src":"891:19:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall3.Call memory[] memory) payable external returns (uint256,bytes memory[] memory)"}},"id":30773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"891:26:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"840:77:25"},{"expression":{"arguments":[{"id":30776,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30766,"src":"932:11:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":30777,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"945:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"945:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30775,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"923:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"923:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30780,"nodeType":"ExpressionStatement","src":"923:35:25"},{"expression":{"arguments":[{"arguments":[{"baseExpression":{"id":30783,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30769,"src":"983:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":30785,"indexExpression":{"hexValue":"30","id":30784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"994:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"983:13:25","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30782,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"973:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"973:24:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":30791,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1036:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1036:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30790,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"1026:9:25","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":30793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1026:23:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":30788,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1009:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"1009:16:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":30794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1009:41:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30787,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"999:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"999:52:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30781,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"964:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"964:88:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30797,"nodeType":"ExpressionStatement","src":"964:88:25"}]},"documentation":{"id":30731,"nodeType":"StructuredDocumentation","src":"523:70:25","text":">>>>>>>>>>>>>>>>>>>>> AGGREGATE TESTS <<<<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"2fc1b6ab","implemented":true,"kind":"function","modifiers":[],"name":"testAggregation","nameLocation":"605:15:25","parameters":{"id":30732,"nodeType":"ParameterList","parameters":[],"src":"620:2:25"},"returnParameters":{"id":30733,"nodeType":"ParameterList","parameters":[],"src":"630:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30865,"nodeType":"FunctionDefinition","src":"1061:441:25","nodes":[],"body":{"id":30864,"nodeType":"Block","src":"1107:395:25","nodes":[],"statements":[{"assignments":[30807],"declarations":[{"constant":false,"id":30807,"mutability":"mutable","name":"calls","nameLocation":"1168:5:25","nodeType":"VariableDeclaration","scope":30864,"src":"1143:30:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":30805,"nodeType":"UserDefinedTypeName","pathNode":{"id":30804,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"1143:15:25"},"referencedDeclaration":28837,"src":"1143:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":30806,"nodeType":"ArrayTypeName","src":"1143:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"id":30814,"initialValue":{"arguments":[{"hexValue":"32","id":30812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1198:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":30811,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1176:21:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call memory[] memory)"},"typeName":{"baseType":{"id":30809,"nodeType":"UserDefinedTypeName","pathNode":{"id":30808,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"1180:15:25"},"referencedDeclaration":28837,"src":"1180:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":30810,"nodeType":"ArrayTypeName","src":"1180:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}}},"id":30813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1176:24:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1143:57:25"},{"expression":{"id":30831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30815,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30807,"src":"1206:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":30817,"indexExpression":{"hexValue":"30","id":30816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1212:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1206:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30822,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"1241:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1233:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30820,"name":"address","nodeType":"ElementaryTypeName","src":"1233:7:25","typeDescriptions":{}}},"id":30823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1233:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1274:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30827,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1299:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1299:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30824,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1250:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1250:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1250:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30818,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"1217:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":30819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"1217:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":30830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1217:96:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"1206:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":30832,"nodeType":"ExpressionStatement","src":"1206:107:25"},{"expression":{"id":30847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30833,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30807,"src":"1319:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":30835,"indexExpression":{"hexValue":"31","id":30834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1325:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1319:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30840,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"1354:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1346:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30838,"name":"address","nodeType":"ElementaryTypeName","src":"1346:7:25","typeDescriptions":{}}},"id":30841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1346:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":30844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1387:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":30842,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1363:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1363:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1363:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30836,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"1330:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":30837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"1330:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":30846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1330:80:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"1319:91:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":30848,"nodeType":"ExpressionStatement","src":"1319:91:25"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c333a2063616c6c206661696c6564","id":30854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1438:25:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""},"value":"Multicall3: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""}],"id":30853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1432:5:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":30852,"name":"bytes","nodeType":"ElementaryTypeName","src":"1432:5:25","typeDescriptions":{}}},"id":30855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1432:32:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30849,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"1416:2:25","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":30851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"1416:15:25","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":30856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1416:49:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30857,"nodeType":"ExpressionStatement","src":"1416:49:25"},{"expression":{"arguments":[{"id":30861,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30807,"src":"1491:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}],"expression":{"id":30858,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"1471:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":30860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":28934,"src":"1471:19:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall3.Call memory[] memory) payable external returns (uint256,bytes memory[] memory)"}},"id":30862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1471:26:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes memory[] memory)"}},"id":30863,"nodeType":"ExpressionStatement","src":"1471:26:25"}]},"functionSelector":"a28c5e34","implemented":true,"kind":"function","modifiers":[],"name":"testUnsuccessfulAggregation","nameLocation":"1070:27:25","parameters":{"id":30800,"nodeType":"ParameterList","parameters":[],"src":"1097:2:25"},"returnParameters":{"id":30801,"nodeType":"ParameterList","parameters":[],"src":"1107:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":30962,"nodeType":"FunctionDefinition","src":"1579:581:25","nodes":[],"body":{"id":30961,"nodeType":"Block","src":"1614:546:25","nodes":[],"statements":[{"assignments":[30874],"declarations":[{"constant":false,"id":30874,"mutability":"mutable","name":"calls","nameLocation":"1645:5:25","nodeType":"VariableDeclaration","scope":30961,"src":"1620:30:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":30872,"nodeType":"UserDefinedTypeName","pathNode":{"id":30871,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"1620:15:25"},"referencedDeclaration":28837,"src":"1620:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":30873,"nodeType":"ArrayTypeName","src":"1620:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"id":30881,"initialValue":{"arguments":[{"hexValue":"32","id":30879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1675:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":30878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1653:21:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call memory[] memory)"},"typeName":{"baseType":{"id":30876,"nodeType":"UserDefinedTypeName","pathNode":{"id":30875,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"1657:15:25"},"referencedDeclaration":28837,"src":"1657:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":30877,"nodeType":"ArrayTypeName","src":"1657:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}}},"id":30880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1653:24:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1620:57:25"},{"expression":{"id":30898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30882,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30874,"src":"1683:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":30884,"indexExpression":{"hexValue":"30","id":30883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1689:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1683:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30889,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"1718:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1710:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30887,"name":"address","nodeType":"ElementaryTypeName","src":"1710:7:25","typeDescriptions":{}}},"id":30890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1710:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1751:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30894,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1776:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"1776:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30891,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1727:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30892,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1727:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1727:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30885,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"1694:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":30886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"1694:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":30897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1694:96:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"1683:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":30899,"nodeType":"ExpressionStatement","src":"1683:107:25"},{"expression":{"id":30914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30900,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30874,"src":"1796:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":30902,"indexExpression":{"hexValue":"31","id":30901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1802:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1796:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30907,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"1831:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30906,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1823:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30905,"name":"address","nodeType":"ElementaryTypeName","src":"1823:7:25","typeDescriptions":{}}},"id":30908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1823:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":30911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1864:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":30909,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1840:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1840:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1840:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30903,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"1807:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":30904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"1807:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":30913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1807:80:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"1796:91:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":30915,"nodeType":"ExpressionStatement","src":"1796:91:25"},{"assignments":[30921],"declarations":[{"constant":false,"id":30921,"mutability":"mutable","name":"returnData","nameLocation":"1921:10:25","nodeType":"VariableDeclaration","scope":30961,"src":"1894:37:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result[]"},"typeName":{"baseType":{"id":30919,"nodeType":"UserDefinedTypeName","pathNode":{"id":30918,"name":"Multicall3.Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"1894:17:25"},"referencedDeclaration":28858,"src":"1894:17:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":30920,"nodeType":"ArrayTypeName","src":"1894:19:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}},"visibility":"internal"}],"id":30927,"initialValue":{"arguments":[{"hexValue":"66616c7365","id":30924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1958:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":30925,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30874,"src":"1965:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}],"expression":{"id":30922,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"1935:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":30923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryAggregate","nodeType":"MemberAccess","referencedDeclaration":29015,"src":"1935:22:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bool_$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall3.Call memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":30926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1935:36:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1893:78:25"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":30929,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30921,"src":"1988:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":30931,"indexExpression":{"hexValue":"30","id":30930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1999:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1988:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":30932,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"1988:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":30928,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"1977:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":30933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1977:33:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30934,"nodeType":"ExpressionStatement","src":"1977:33:25"},{"expression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":30937,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30921,"src":"2035:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":30939,"indexExpression":{"hexValue":"30","id":30938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2046:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2035:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":30940,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"2035:24:25","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30936,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2025:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2025:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":30946,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2099:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2099:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30945,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"2089:9:25","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":30948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2089:23:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":30943,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2072:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"2072:16:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":30949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2072:41:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":30942,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2062:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":30950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2062:52:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30935,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"2016:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2016:99:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30952,"nodeType":"ExpressionStatement","src":"2016:99:25"},{"expression":{"arguments":[{"id":30958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2132:22:25","subExpression":{"expression":{"baseExpression":{"id":30954,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30921,"src":"2133:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":30956,"indexExpression":{"hexValue":"31","id":30955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2144:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2133:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":30957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"2133:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":30953,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"2121:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":30959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2121:34:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30960,"nodeType":"ExpressionStatement","src":"2121:34:25"}]},"documentation":{"id":30866,"nodeType":"StructuredDocumentation","src":"1506:70:25","text":">>>>>>>>>>>>>>>>>>> TRY AGGREGATE TESTS <<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"7e5ed4db","implemented":true,"kind":"function","modifiers":[],"name":"testTryAggregate","nameLocation":"1588:16:25","parameters":{"id":30867,"nodeType":"ParameterList","parameters":[],"src":"1604:2:25"},"returnParameters":{"id":30868,"nodeType":"ParameterList","parameters":[],"src":"1614:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31029,"nodeType":"FunctionDefinition","src":"2164:421:25","nodes":[],"body":{"id":31028,"nodeType":"Block","src":"2211:374:25","nodes":[],"statements":[{"assignments":[30970],"declarations":[{"constant":false,"id":30970,"mutability":"mutable","name":"calls","nameLocation":"2242:5:25","nodeType":"VariableDeclaration","scope":31028,"src":"2217:30:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":30968,"nodeType":"UserDefinedTypeName","pathNode":{"id":30967,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"2217:15:25"},"referencedDeclaration":28837,"src":"2217:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":30969,"nodeType":"ArrayTypeName","src":"2217:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"id":30977,"initialValue":{"arguments":[{"hexValue":"32","id":30975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2272:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":30974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2250:21:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call memory[] memory)"},"typeName":{"baseType":{"id":30972,"nodeType":"UserDefinedTypeName","pathNode":{"id":30971,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"2254:15:25"},"referencedDeclaration":28837,"src":"2254:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":30973,"nodeType":"ArrayTypeName","src":"2254:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}}},"id":30976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2250:24:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2217:57:25"},{"expression":{"id":30994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30978,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30970,"src":"2280:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":30980,"indexExpression":{"hexValue":"30","id":30979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2286:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2280:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":30985,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"2315:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":30984,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2307:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":30983,"name":"address","nodeType":"ElementaryTypeName","src":"2307:7:25","typeDescriptions":{}}},"id":30986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2307:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":30989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2348:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":30990,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2373:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":30991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2373:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":30987,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2324:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":30988,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2324:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":30992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2324:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30981,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"2291:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":30982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"2291:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":30993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2291:96:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"2280:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":30995,"nodeType":"ExpressionStatement","src":"2280:107:25"},{"expression":{"id":31010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":30996,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30970,"src":"2393:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":30998,"indexExpression":{"hexValue":"31","id":30997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2399:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2393:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31003,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"2428:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2420:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31001,"name":"address","nodeType":"ElementaryTypeName","src":"2420:7:25","typeDescriptions":{}}},"id":31004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2420:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2461:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31005,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2437:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2437:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2437:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":30999,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"2404:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"2404:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":31009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2404:80:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"2393:91:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":31011,"nodeType":"ExpressionStatement","src":"2393:91:25"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c333a2063616c6c206661696c6564","id":31017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2512:25:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""},"value":"Multicall3: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""}],"id":31016,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2506:5:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":31015,"name":"bytes","nodeType":"ElementaryTypeName","src":"2506:5:25","typeDescriptions":{}}},"id":31018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2506:32:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31012,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"2490:2:25","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":31014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"2490:15:25","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":31019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2490:49:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31020,"nodeType":"ExpressionStatement","src":"2490:49:25"},{"expression":{"arguments":[{"hexValue":"74727565","id":31024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2568:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":31025,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30970,"src":"2574:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}],"expression":{"id":31021,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"2545:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryAggregate","nodeType":"MemberAccess","referencedDeclaration":29015,"src":"2545:22:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bool_$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall3.Call memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":31026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2545:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31027,"nodeType":"ExpressionStatement","src":"2545:35:25"}]},"functionSelector":"434004ec","implemented":true,"kind":"function","modifiers":[],"name":"testTryAggregateUnsuccessful","nameLocation":"2173:28:25","parameters":{"id":30963,"nodeType":"ParameterList","parameters":[],"src":"2201:2:25"},"returnParameters":{"id":30964,"nodeType":"ParameterList","parameters":[],"src":"2211:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31142,"nodeType":"FunctionDefinition","src":"2662:728:25","nodes":[],"body":{"id":31141,"nodeType":"Block","src":"2705:685:25","nodes":[],"statements":[{"assignments":[31038],"declarations":[{"constant":false,"id":31038,"mutability":"mutable","name":"calls","nameLocation":"2736:5:25","nodeType":"VariableDeclaration","scope":31141,"src":"2711:30:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":31036,"nodeType":"UserDefinedTypeName","pathNode":{"id":31035,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"2711:15:25"},"referencedDeclaration":28837,"src":"2711:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":31037,"nodeType":"ArrayTypeName","src":"2711:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"id":31045,"initialValue":{"arguments":[{"hexValue":"32","id":31043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2766:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":31042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2744:21:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call memory[] memory)"},"typeName":{"baseType":{"id":31040,"nodeType":"UserDefinedTypeName","pathNode":{"id":31039,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"2748:15:25"},"referencedDeclaration":28837,"src":"2748:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":31041,"nodeType":"ArrayTypeName","src":"2748:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}}},"id":31044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2744:24:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2711:57:25"},{"expression":{"id":31062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31046,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31038,"src":"2774:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":31048,"indexExpression":{"hexValue":"30","id":31047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2780:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2774:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31053,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"2809:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2801:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31051,"name":"address","nodeType":"ElementaryTypeName","src":"2801:7:25","typeDescriptions":{}}},"id":31054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2801:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":31057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2842:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":31058,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2867:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"2867:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31055,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2818:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2818:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2818:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31049,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"2785:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"2785:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":31061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2785:96:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"2774:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":31063,"nodeType":"ExpressionStatement","src":"2774:107:25"},{"expression":{"id":31078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31064,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31038,"src":"2887:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":31066,"indexExpression":{"hexValue":"31","id":31065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2893:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2887:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31071,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"2922:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31070,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2914:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31069,"name":"address","nodeType":"ElementaryTypeName","src":"2914:7:25","typeDescriptions":{}}},"id":31072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2914:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2955:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31073,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2931:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2931:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2931:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31067,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"2898:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"2898:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":31077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2898:80:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"2887:91:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":31079,"nodeType":"ExpressionStatement","src":"2887:91:25"},{"assignments":[31081,31083,31087],"declarations":[{"constant":false,"id":31081,"mutability":"mutable","name":"blockNumber","nameLocation":"2993:11:25","nodeType":"VariableDeclaration","scope":31141,"src":"2985:19:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31080,"name":"uint256","nodeType":"ElementaryTypeName","src":"2985:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31083,"mutability":"mutable","name":"blockHash","nameLocation":"3014:9:25","nodeType":"VariableDeclaration","scope":31141,"src":"3006:17:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":31082,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3006:7:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":31087,"mutability":"mutable","name":"returnData","nameLocation":"3052:10:25","nodeType":"VariableDeclaration","scope":31141,"src":"3025:37:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result[]"},"typeName":{"baseType":{"id":31085,"nodeType":"UserDefinedTypeName","pathNode":{"id":31084,"name":"Multicall3.Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"3025:17:25"},"referencedDeclaration":28858,"src":"3025:17:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":31086,"nodeType":"ArrayTypeName","src":"3025:19:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}},"visibility":"internal"}],"id":31093,"initialValue":{"arguments":[{"hexValue":"66616c7365","id":31090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3097:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":31091,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31038,"src":"3104:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}],"expression":{"id":31088,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"3066:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryBlockAndAggregate","nodeType":"MemberAccess","referencedDeclaration":29053,"src":"3066:30:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bool_$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall3.Call memory[] memory) payable external returns (uint256,bytes32,struct Multicall3.Result memory[] memory)"}},"id":31092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3066:44:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall3.Result memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"2984:126:25"},{"expression":{"arguments":[{"id":31095,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31081,"src":"3125:11:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":31096,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3138:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3138:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31094,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"3116:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":31098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3116:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31099,"nodeType":"ExpressionStatement","src":"3116:35:25"},{"expression":{"arguments":[{"id":31101,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31083,"src":"3166:9:25","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"expression":{"id":31103,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3187:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3187:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31102,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"3177:9:25","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":31105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3177:23:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":31100,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"3157:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":31106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3157:44:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31107,"nodeType":"ExpressionStatement","src":"3157:44:25"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":31109,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31087,"src":"3218:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31111,"indexExpression":{"hexValue":"30","id":31110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3229:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3218:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"3218:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":31108,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"3207:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":31113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3207:33:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31114,"nodeType":"ExpressionStatement","src":"3207:33:25"},{"expression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":31117,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31087,"src":"3265:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31119,"indexExpression":{"hexValue":"30","id":31118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3276:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3265:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31120,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"3265:24:25","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31116,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3255:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3255:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":31126,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3329:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3329:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31125,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"3319:9:25","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":31128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3319:23:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":31123,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3302:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"3302:16:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":31129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3302:41:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31122,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3292:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3292:52:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":31115,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"3246:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":31131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3246:99:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31132,"nodeType":"ExpressionStatement","src":"3246:99:25"},{"expression":{"arguments":[{"id":31138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3362:22:25","subExpression":{"expression":{"baseExpression":{"id":31134,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31087,"src":"3363:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31136,"indexExpression":{"hexValue":"31","id":31135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3374:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3363:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31137,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"3363:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":31133,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"3351:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":31139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3351:34:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31140,"nodeType":"ExpressionStatement","src":"3351:34:25"}]},"documentation":{"id":31030,"nodeType":"StructuredDocumentation","src":"2589:70:25","text":">>>>>>>>>>>>>> TRY BLOCK AND AGGREGATE TESTS <<<<<<<<<<<<<< ///"},"functionSelector":"b668ab7d","implemented":true,"kind":"function","modifiers":[],"name":"testTryBlockAndAggregate","nameLocation":"2671:24:25","parameters":{"id":31031,"nodeType":"ParameterList","parameters":[],"src":"2695:2:25"},"returnParameters":{"id":31032,"nodeType":"ParameterList","parameters":[],"src":"2705:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31209,"nodeType":"FunctionDefinition","src":"3394:437:25","nodes":[],"body":{"id":31208,"nodeType":"Block","src":"3449:382:25","nodes":[],"statements":[{"assignments":[31150],"declarations":[{"constant":false,"id":31150,"mutability":"mutable","name":"calls","nameLocation":"3480:5:25","nodeType":"VariableDeclaration","scope":31208,"src":"3455:30:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":31148,"nodeType":"UserDefinedTypeName","pathNode":{"id":31147,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"3455:15:25"},"referencedDeclaration":28837,"src":"3455:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":31149,"nodeType":"ArrayTypeName","src":"3455:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"id":31157,"initialValue":{"arguments":[{"hexValue":"32","id":31155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3510:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":31154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3488:21:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call memory[] memory)"},"typeName":{"baseType":{"id":31152,"nodeType":"UserDefinedTypeName","pathNode":{"id":31151,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"3492:15:25"},"referencedDeclaration":28837,"src":"3492:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":31153,"nodeType":"ArrayTypeName","src":"3492:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}}},"id":31156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3488:24:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3455:57:25"},{"expression":{"id":31174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31158,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31150,"src":"3518:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":31160,"indexExpression":{"hexValue":"30","id":31159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3524:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3518:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31165,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"3553:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31164,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3545:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31163,"name":"address","nodeType":"ElementaryTypeName","src":"3545:7:25","typeDescriptions":{}}},"id":31166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3545:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":31169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3586:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":31170,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3611:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"3611:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31167,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3562:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3562:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3562:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31161,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"3529:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"3529:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":31173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3529:96:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"3518:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":31175,"nodeType":"ExpressionStatement","src":"3518:107:25"},{"expression":{"id":31190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31176,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31150,"src":"3631:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":31178,"indexExpression":{"hexValue":"31","id":31177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3637:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3631:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31183,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"3666:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3658:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31181,"name":"address","nodeType":"ElementaryTypeName","src":"3658:7:25","typeDescriptions":{}}},"id":31184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3658:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3699:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31185,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3675:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3675:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3675:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31179,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"3642:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"3642:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":31189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3642:80:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"3631:91:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":31191,"nodeType":"ExpressionStatement","src":"3631:91:25"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c333a2063616c6c206661696c6564","id":31197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3750:25:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""},"value":"Multicall3: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""}],"id":31196,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3744:5:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":31195,"name":"bytes","nodeType":"ElementaryTypeName","src":"3744:5:25","typeDescriptions":{}}},"id":31198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3744:32:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31192,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"3728:2:25","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":31194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"3728:15:25","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":31199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3728:49:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31200,"nodeType":"ExpressionStatement","src":"3728:49:25"},{"expression":{"arguments":[{"hexValue":"74727565","id":31204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3814:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":31205,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31150,"src":"3820:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}],"expression":{"id":31201,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"3783:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"tryBlockAndAggregate","nodeType":"MemberAccess","referencedDeclaration":29053,"src":"3783:30:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bool_$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bool,struct Multicall3.Call memory[] memory) payable external returns (uint256,bytes32,struct Multicall3.Result memory[] memory)"}},"id":31206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3783:43:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall3.Result memory[] memory)"}},"id":31207,"nodeType":"ExpressionStatement","src":"3783:43:25"}]},"functionSelector":"90c6e931","implemented":true,"kind":"function","modifiers":[],"name":"testTryBlockAndAggregateUnsuccessful","nameLocation":"3403:36:25","parameters":{"id":31143,"nodeType":"ParameterList","parameters":[],"src":"3439:2:25"},"returnParameters":{"id":31144,"nodeType":"ParameterList","parameters":[],"src":"3449:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31275,"nodeType":"FunctionDefinition","src":"3835:425:25","nodes":[],"body":{"id":31274,"nodeType":"Block","src":"3887:373:25","nodes":[],"statements":[{"assignments":[31217],"declarations":[{"constant":false,"id":31217,"mutability":"mutable","name":"calls","nameLocation":"3918:5:25","nodeType":"VariableDeclaration","scope":31274,"src":"3893:30:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call[]"},"typeName":{"baseType":{"id":31215,"nodeType":"UserDefinedTypeName","pathNode":{"id":31214,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"3893:15:25"},"referencedDeclaration":28837,"src":"3893:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":31216,"nodeType":"ArrayTypeName","src":"3893:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}},"visibility":"internal"}],"id":31224,"initialValue":{"arguments":[{"hexValue":"32","id":31222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3948:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":31221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3926:21:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call memory[] memory)"},"typeName":{"baseType":{"id":31219,"nodeType":"UserDefinedTypeName","pathNode":{"id":31218,"name":"Multicall3.Call","nodeType":"IdentifierPath","referencedDeclaration":28837,"src":"3930:15:25"},"referencedDeclaration":28837,"src":"3930:15:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_storage_ptr","typeString":"struct Multicall3.Call"}},"id":31220,"nodeType":"ArrayTypeName","src":"3930:17:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call[]"}}},"id":31223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3926:24:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3893:57:25"},{"expression":{"id":31241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31225,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31217,"src":"3956:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":31227,"indexExpression":{"hexValue":"30","id":31226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3962:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3956:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31232,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"3991:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3983:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31230,"name":"address","nodeType":"ElementaryTypeName","src":"3983:7:25","typeDescriptions":{}}},"id":31233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3983:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":31236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4024:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":31237,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4049:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"4049:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31234,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4000:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31235,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4000:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4000:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31228,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"3967:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"3967:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":31240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3967:96:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"3956:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":31242,"nodeType":"ExpressionStatement","src":"3956:107:25"},{"expression":{"id":31257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31243,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31217,"src":"4069:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}},"id":31245,"indexExpression":{"hexValue":"31","id":31244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4075:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4069:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31250,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"4104:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4096:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31248,"name":"address","nodeType":"ElementaryTypeName","src":"4096:7:25","typeDescriptions":{}}},"id":31251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4096:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4137:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31252,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4113:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4113:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4113:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31246,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"4080:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":28837,"src":"4080:15:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$28837_storage_ptr_$","typeString":"type(struct Multicall3.Call storage pointer)"}},"id":31256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4080:80:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"src":"4069:91:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$28837_memory_ptr","typeString":"struct Multicall3.Call memory"}},"id":31258,"nodeType":"ExpressionStatement","src":"4069:91:25"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c333a2063616c6c206661696c6564","id":31264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4188:25:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""},"value":"Multicall3: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""}],"id":31263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4182:5:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":31262,"name":"bytes","nodeType":"ElementaryTypeName","src":"4182:5:25","typeDescriptions":{}}},"id":31265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4182:32:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31259,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"4166:2:25","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":31261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"4166:15:25","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":31266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4166:49:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31267,"nodeType":"ExpressionStatement","src":"4166:49:25"},{"expression":{"arguments":[{"id":31271,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31217,"src":"4249:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call memory[] memory"}],"expression":{"id":31268,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"4221:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"blockAndAggregate","nodeType":"MemberAccess","referencedDeclaration":29080,"src":"4221:27:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call_$28837_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall3.Call memory[] memory) payable external returns (uint256,bytes32,struct Multicall3.Result memory[] memory)"}},"id":31272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4221:34:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes32,struct Multicall3.Result memory[] memory)"}},"id":31273,"nodeType":"ExpressionStatement","src":"4221:34:25"}]},"functionSelector":"1d303931","implemented":true,"kind":"function","modifiers":[],"name":"testBlockAndAggregateUnsuccessful","nameLocation":"3844:33:25","parameters":{"id":31210,"nodeType":"ParameterList","parameters":[],"src":"3877:2:25"},"returnParameters":{"id":31211,"nodeType":"ParameterList","parameters":[],"src":"3887:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31454,"nodeType":"FunctionDefinition","src":"4337:1091:25","nodes":[],"body":{"id":31453,"nodeType":"Block","src":"4370:1058:25","nodes":[],"statements":[{"assignments":[31284],"declarations":[{"constant":false,"id":31284,"mutability":"mutable","name":"calls","nameLocation":"4402:5:25","nodeType":"VariableDeclaration","scope":31453,"src":"4376:31:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3[]"},"typeName":{"baseType":{"id":31282,"nodeType":"UserDefinedTypeName","pathNode":{"id":31281,"name":"Multicall3.Call3","nodeType":"IdentifierPath","referencedDeclaration":28844,"src":"4376:16:25"},"referencedDeclaration":28844,"src":"4376:16:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_storage_ptr","typeString":"struct Multicall3.Call3"}},"id":31283,"nodeType":"ArrayTypeName","src":"4376:18:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3[]"}},"visibility":"internal"}],"id":31291,"initialValue":{"arguments":[{"hexValue":"33","id":31289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4433:1:25","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":31288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4410:22:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":31286,"nodeType":"UserDefinedTypeName","pathNode":{"id":31285,"name":"Multicall3.Call3","nodeType":"IdentifierPath","referencedDeclaration":28844,"src":"4414:16:25"},"referencedDeclaration":28844,"src":"4414:16:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_storage_ptr","typeString":"struct Multicall3.Call3"}},"id":31287,"nodeType":"ArrayTypeName","src":"4414:18:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3[]"}}},"id":31290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4410:25:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4376:59:25"},{"expression":{"id":31309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31292,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31284,"src":"4441:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}},"id":31294,"indexExpression":{"hexValue":"30","id":31293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4447:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4441:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31299,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"4477:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4469:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31297,"name":"address","nodeType":"ElementaryTypeName","src":"4469:7:25","typeDescriptions":{}}},"id":31300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4469:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":31301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4486:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":31304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4517:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":31305,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4542:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"4542:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31302,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4493:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4493:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4493:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31295,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"4452:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":28844,"src":"4452:16:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$28844_storage_ptr_$","typeString":"type(struct Multicall3.Call3 storage pointer)"}},"id":31308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4452:104:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"src":"4441:115:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"id":31310,"nodeType":"ExpressionStatement","src":"4441:115:25"},{"expression":{"id":31326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31311,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31284,"src":"4562:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}},"id":31313,"indexExpression":{"hexValue":"31","id":31312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4568:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4562:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31318,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"4598:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4590:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31316,"name":"address","nodeType":"ElementaryTypeName","src":"4590:7:25","typeDescriptions":{}}},"id":31319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4590:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":31320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4607:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4637:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31321,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4613:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4613:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4613:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31314,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"4573:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":28844,"src":"4573:16:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$28844_storage_ptr_$","typeString":"type(struct Multicall3.Call3 storage pointer)"}},"id":31325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4573:87:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"src":"4562:98:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"id":31327,"nodeType":"ExpressionStatement","src":"4562:98:25"},{"expression":{"id":31343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31328,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31284,"src":"4666:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}},"id":31330,"indexExpression":{"hexValue":"32","id":31329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4672:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4666:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31335,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"4702:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}],"id":31334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4694:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31333,"name":"address","nodeType":"ElementaryTypeName","src":"4694:7:25","typeDescriptions":{}}},"id":31336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4694:18:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":31337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4714:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"arguments":[{"hexValue":"67657443757272656e74426c6f636b54696d657374616d702829","id":31340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4744:28:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_0f28c97d007f30cf70b492fc4841677c7a4116e5bd511a88406c1219ba4ff635","typeString":"literal_string \"getCurrentBlockTimestamp()\""},"value":"getCurrentBlockTimestamp()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0f28c97d007f30cf70b492fc4841677c7a4116e5bd511a88406c1219ba4ff635","typeString":"literal_string \"getCurrentBlockTimestamp()\""}],"expression":{"id":31338,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4720:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4720:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4720:53:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31331,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"4677:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":28844,"src":"4677:16:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$28844_storage_ptr_$","typeString":"type(struct Multicall3.Call3 storage pointer)"}},"id":31342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4677:97:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"src":"4666:108:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"id":31344,"nodeType":"ExpressionStatement","src":"4666:108:25"},{"assignments":[31350],"declarations":[{"constant":false,"id":31350,"mutability":"mutable","name":"returnData","nameLocation":"4808:10:25","nodeType":"VariableDeclaration","scope":31453,"src":"4781:37:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result[]"},"typeName":{"baseType":{"id":31348,"nodeType":"UserDefinedTypeName","pathNode":{"id":31347,"name":"Multicall3.Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"4781:17:25"},"referencedDeclaration":28858,"src":"4781:17:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":31349,"nodeType":"ArrayTypeName","src":"4781:19:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}},"visibility":"internal"}],"id":31355,"initialValue":{"arguments":[{"id":31353,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31284,"src":"4843:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}],"expression":{"id":31351,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"4822:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate3","nodeType":"MemberAccess","referencedDeclaration":29152,"src":"4822:20:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall3.Call3 memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":31354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4822:27:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4780:69:25"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":31357,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31350,"src":"4882:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31359,"indexExpression":{"hexValue":"30","id":31358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4893:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4882:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"4882:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":31356,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"4871:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":31361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4871:33:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31362,"nodeType":"ExpressionStatement","src":"4871:33:25"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":31365,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4929:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"4929:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31364,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"4919:9:25","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":31367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4919:23:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"expression":{"baseExpression":{"id":31370,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31350,"src":"4955:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31372,"indexExpression":{"hexValue":"30","id":31371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4966:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4955:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31373,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"4955:24:25","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":31375,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4982:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":31374,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4982:7:25","typeDescriptions":{}}}],"id":31376,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4981:9:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}],"expression":{"id":31368,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4944:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"4944:10:25","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":31377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4944:47:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":31363,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"4910:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":31378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4910:82:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31379,"nodeType":"ExpressionStatement","src":"4910:82:25"},{"expression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":31382,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31350,"src":"5017:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31384,"indexExpression":{"hexValue":"30","id":31383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5028:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5017:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"5017:24:25","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31381,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5007:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5007:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":31391,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5081:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"5081:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31390,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"5071:9:25","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":31393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5071:23:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":31388,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5054:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31389,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"5054:16:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":31394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5054:41:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31387,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5044:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5044:52:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":31380,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"4998:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":31396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4998:99:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31397,"nodeType":"ExpressionStatement","src":"4998:99:25"},{"expression":{"arguments":[{"id":31403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5130:22:25","subExpression":{"expression":{"baseExpression":{"id":31399,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31350,"src":"5131:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31401,"indexExpression":{"hexValue":"31","id":31400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5142:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5131:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31402,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"5131:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":31398,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"5119:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":31404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5119:34:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31405,"nodeType":"ExpressionStatement","src":"5119:34:25"},{"expression":{"arguments":[{"expression":{"expression":{"baseExpression":{"id":31407,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31350,"src":"5168:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31409,"indexExpression":{"hexValue":"31","id":31408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5179:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5168:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31410,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"5168:24:25","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":31411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"5168:31:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"34","id":31412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5201:1:25","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}],"id":31406,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"5159:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":31413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5159:44:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31414,"nodeType":"ExpressionStatement","src":"5159:44:25"},{"expression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":31418,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31350,"src":"5225:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31420,"indexExpression":{"hexValue":"31","id":31419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5236:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5225:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"5225:24:25","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5218:6:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":31416,"name":"bytes4","nodeType":"ElementaryTypeName","src":"5218:6:25","typeDescriptions":{}}},"id":31422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5218:32:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"arguments":[{"hexValue":"556e7375636365737366756c2829","id":31426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5269:16:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_81775cc3b9c3884cf58ae65c143f8a7c86c1a556d299542edd1e3d6a7e310a03","typeString":"literal_string \"Unsuccessful()\""},"value":"Unsuccessful()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_81775cc3b9c3884cf58ae65c143f8a7c86c1a556d299542edd1e3d6a7e310a03","typeString":"literal_string \"Unsuccessful()\""}],"id":31425,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5259:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5259:27:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":31424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5252:6:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":31423,"name":"bytes4","nodeType":"ElementaryTypeName","src":"5252:6:25","typeDescriptions":{}}},"id":31428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5252:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":31415,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"5209:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":31429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5209:79:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31430,"nodeType":"ExpressionStatement","src":"5209:79:25"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":31432,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31350,"src":"5321:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31434,"indexExpression":{"hexValue":"32","id":31433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5332:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5321:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31435,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"5321:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":31431,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"5310:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":31436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5310:33:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31437,"nodeType":"ExpressionStatement","src":"5310:33:25"},{"expression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":31441,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31350,"src":"5369:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31443,"indexExpression":{"hexValue":"32","id":31442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5380:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5369:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31444,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"5369:24:25","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":31446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5396:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":31445,"name":"uint256","nodeType":"ElementaryTypeName","src":"5396:7:25","typeDescriptions":{}}}],"id":31447,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5395:9:25","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":31439,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5358:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"5358:10:25","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":31448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5358:47:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":31449,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5407:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"5407:15:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31438,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"5349:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":31451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5349:74:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31452,"nodeType":"ExpressionStatement","src":"5349:74:25"}]},"documentation":{"id":31276,"nodeType":"StructuredDocumentation","src":"4264:70:25","text":">>>>>>>>>>>>>>>>>>> AGGREGATE3 TESTS <<<<<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"7d498da7","implemented":true,"kind":"function","modifiers":[],"name":"testAggregate3","nameLocation":"4346:14:25","parameters":{"id":31277,"nodeType":"ParameterList","parameters":[],"src":"4360:2:25"},"returnParameters":{"id":31278,"nodeType":"ParameterList","parameters":[],"src":"4370:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31522,"nodeType":"FunctionDefinition","src":"5432:429:25","nodes":[],"body":{"id":31521,"nodeType":"Block","src":"5477:384:25","nodes":[],"statements":[{"assignments":[31462],"declarations":[{"constant":false,"id":31462,"mutability":"mutable","name":"calls","nameLocation":"5509:5:25","nodeType":"VariableDeclaration","scope":31521,"src":"5483:31:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3[]"},"typeName":{"baseType":{"id":31460,"nodeType":"UserDefinedTypeName","pathNode":{"id":31459,"name":"Multicall3.Call3","nodeType":"IdentifierPath","referencedDeclaration":28844,"src":"5483:16:25"},"referencedDeclaration":28844,"src":"5483:16:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_storage_ptr","typeString":"struct Multicall3.Call3"}},"id":31461,"nodeType":"ArrayTypeName","src":"5483:18:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3[]"}},"visibility":"internal"}],"id":31469,"initialValue":{"arguments":[{"hexValue":"32","id":31467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5540:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":31466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"5517:22:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call3 memory[] memory)"},"typeName":{"baseType":{"id":31464,"nodeType":"UserDefinedTypeName","pathNode":{"id":31463,"name":"Multicall3.Call3","nodeType":"IdentifierPath","referencedDeclaration":28844,"src":"5521:16:25"},"referencedDeclaration":28844,"src":"5521:16:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_storage_ptr","typeString":"struct Multicall3.Call3"}},"id":31465,"nodeType":"ArrayTypeName","src":"5521:18:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3[]"}}},"id":31468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5517:25:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5483:59:25"},{"expression":{"id":31487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31470,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31462,"src":"5548:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}},"id":31472,"indexExpression":{"hexValue":"30","id":31471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5554:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5548:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31477,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"5584:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5576:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31475,"name":"address","nodeType":"ElementaryTypeName","src":"5576:7:25","typeDescriptions":{}}},"id":31478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5576:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":31479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5593:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":31482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5624:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":31483,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5649:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"5649:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31480,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5600:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31481,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5600:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5600:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31473,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"5559:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":28844,"src":"5559:16:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$28844_storage_ptr_$","typeString":"type(struct Multicall3.Call3 storage pointer)"}},"id":31486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5559:104:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"src":"5548:115:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"id":31488,"nodeType":"ExpressionStatement","src":"5548:115:25"},{"expression":{"id":31504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31489,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31462,"src":"5669:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}},"id":31491,"indexExpression":{"hexValue":"31","id":31490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5675:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5669:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31496,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"5705:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5697:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31494,"name":"address","nodeType":"ElementaryTypeName","src":"5697:7:25","typeDescriptions":{}}},"id":31497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5697:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":31498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5714:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5745:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31499,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5721:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31500,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5721:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5721:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31492,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"5680:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3","nodeType":"MemberAccess","referencedDeclaration":28844,"src":"5680:16:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3_$28844_storage_ptr_$","typeString":"type(struct Multicall3.Call3 storage pointer)"}},"id":31503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5680:88:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"src":"5669:99:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3_$28844_memory_ptr","typeString":"struct Multicall3.Call3 memory"}},"id":31505,"nodeType":"ExpressionStatement","src":"5669:99:25"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c333a2063616c6c206661696c6564","id":31511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5796:25:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""},"value":"Multicall3: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""}],"id":31510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5790:5:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":31509,"name":"bytes","nodeType":"ElementaryTypeName","src":"5790:5:25","typeDescriptions":{}}},"id":31512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5790:32:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31506,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"5774:2:25","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":31508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"5774:15:25","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":31513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5774:49:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31514,"nodeType":"ExpressionStatement","src":"5774:49:25"},{"expression":{"arguments":[{"id":31518,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31462,"src":"5850:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3 memory[] memory"}],"expression":{"id":31515,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"5829:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate3","nodeType":"MemberAccess","referencedDeclaration":29152,"src":"5829:20:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call3_$28844_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall3.Call3 memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":31519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5829:27:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31520,"nodeType":"ExpressionStatement","src":"5829:27:25"}]},"functionSelector":"e3d37d78","implemented":true,"kind":"function","modifiers":[],"name":"testAggregate3Unsuccessful","nameLocation":"5441:26:25","parameters":{"id":31455,"nodeType":"ParameterList","parameters":[],"src":"5467:2:25"},"returnParameters":{"id":31456,"nodeType":"ParameterList","parameters":[],"src":"5477:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31653,"nodeType":"FunctionDefinition","src":"5938:807:25","nodes":[],"body":{"id":31652,"nodeType":"Block","src":"5976:769:25","nodes":[],"statements":[{"assignments":[31531],"declarations":[{"constant":false,"id":31531,"mutability":"mutable","name":"calls","nameLocation":"6013:5:25","nodeType":"VariableDeclaration","scope":31652,"src":"5982:36:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value[]"},"typeName":{"baseType":{"id":31529,"nodeType":"UserDefinedTypeName","pathNode":{"id":31528,"name":"Multicall3.Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"5982:21:25"},"referencedDeclaration":28853,"src":"5982:21:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"id":31530,"nodeType":"ArrayTypeName","src":"5982:23:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3Value[]"}},"visibility":"internal"}],"id":31538,"initialValue":{"arguments":[{"hexValue":"33","id":31536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6049:1:25","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":31535,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6021:27:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":31533,"nodeType":"UserDefinedTypeName","pathNode":{"id":31532,"name":"Multicall3.Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"6025:21:25"},"referencedDeclaration":28853,"src":"6025:21:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"id":31534,"nodeType":"ArrayTypeName","src":"6025:23:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3Value[]"}}},"id":31537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6021:30:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"5982:69:25"},{"expression":{"id":31557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31539,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31531,"src":"6057:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31541,"indexExpression":{"hexValue":"30","id":31540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6063:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6057:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31546,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"6098:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31545,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6090:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31544,"name":"address","nodeType":"ElementaryTypeName","src":"6090:7:25","typeDescriptions":{}}},"id":31547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6090:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":31548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6107:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":31549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6114:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":31552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6141:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":31553,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"6166:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"6166:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31550,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6117:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31551,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6117:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6117:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31542,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"6068:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"6068:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6068:112:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"6057:123:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31558,"nodeType":"ExpressionStatement","src":"6057:123:25"},{"expression":{"id":31575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31559,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31531,"src":"6186:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31561,"indexExpression":{"hexValue":"31","id":31560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6192:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6186:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31566,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"6227:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6219:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31564,"name":"address","nodeType":"ElementaryTypeName","src":"6219:7:25","typeDescriptions":{}}},"id":31567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6219:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":31568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6236:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"30","id":31569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6242:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6269:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31570,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6245:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31571,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6245:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6245:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31562,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"6197:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"6197:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6197:95:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"6186:106:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31576,"nodeType":"ExpressionStatement","src":"6186:106:25"},{"expression":{"id":31597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31577,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31531,"src":"6298:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31579,"indexExpression":{"hexValue":"32","id":31578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6304:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6298:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31584,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"6339:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6331:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31582,"name":"address","nodeType":"ElementaryTypeName","src":"6331:7:25","typeDescriptions":{}}},"id":31585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6331:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":31586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6348:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"31","id":31587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6354:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"hexValue":"73656e644261636b56616c7565286164647265737329","id":31590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6381:24:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_36c40ea693c54386db620696286f8726d43e8b622ba7bda33839d6d3735f9e03","typeString":"literal_string \"sendBackValue(address)\""},"value":"sendBackValue(address)"},{"arguments":[{"id":31593,"name":"etherSink","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30704,"src":"6415:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}],"id":31592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6407:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31591,"name":"address","nodeType":"ElementaryTypeName","src":"6407:7:25","typeDescriptions":{}}},"id":31594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6407:18:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_36c40ea693c54386db620696286f8726d43e8b622ba7bda33839d6d3735f9e03","typeString":"literal_string \"sendBackValue(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":31588,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6357:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6357:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6357:69:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31580,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"6309:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"6309:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6309:118:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"6298:129:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31598,"nodeType":"ExpressionStatement","src":"6298:129:25"},{"assignments":[31604],"declarations":[{"constant":false,"id":31604,"mutability":"mutable","name":"returnData","nameLocation":"6461:10:25","nodeType":"VariableDeclaration","scope":31652,"src":"6434:37:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result[]"},"typeName":{"baseType":{"id":31602,"nodeType":"UserDefinedTypeName","pathNode":{"id":31601,"name":"Multicall3.Result","nodeType":"IdentifierPath","referencedDeclaration":28858,"src":"6434:17:25"},"referencedDeclaration":28858,"src":"6434:17:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_storage_ptr","typeString":"struct Multicall3.Result"}},"id":31603,"nodeType":"ArrayTypeName","src":"6434:19:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Result[]"}},"visibility":"internal"}],"id":31611,"initialValue":{"arguments":[{"id":31609,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31531,"src":"6511:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}],"expression":{"id":31605,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"6475:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":29247,"src":"6475:25:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall3.Call3Value memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":31608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"hexValue":"31","id":31607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6508:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"src":"6475:35:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$value","typeString":"function (struct Multicall3.Call3Value memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":31610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6475:42:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6433:84:25"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":31613,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31604,"src":"6534:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31615,"indexExpression":{"hexValue":"30","id":31614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6545:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6534:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31616,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"6534:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":31612,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"6523:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":31617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6523:33:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31618,"nodeType":"ExpressionStatement","src":"6523:33:25"},{"expression":{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":31621,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31604,"src":"6581:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31623,"indexExpression":{"hexValue":"30","id":31622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6592:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6581:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31624,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"returnData","nodeType":"MemberAccess","referencedDeclaration":28857,"src":"6581:24:25","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31620,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6571:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6571:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":31630,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"6645:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"6645:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31629,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"6635:9:25","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":31632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6635:23:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":31627,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6618:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31628,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodePacked","nodeType":"MemberAccess","src":"6618:16:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":31633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6618:41:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31626,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6608:9:25","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6608:52:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":31619,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"6562:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":31635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6562:99:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31636,"nodeType":"ExpressionStatement","src":"6562:99:25"},{"expression":{"arguments":[{"id":31642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6678:22:25","subExpression":{"expression":{"baseExpression":{"id":31638,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31604,"src":"6679:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31640,"indexExpression":{"hexValue":"31","id":31639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6690:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6679:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31641,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"6679:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":31637,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"6667:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":31643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6667:34:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31644,"nodeType":"ExpressionStatement","src":"6667:34:25"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":31646,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31604,"src":"6718:10:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31648,"indexExpression":{"hexValue":"32","id":31647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6729:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6718:13:25","typeDescriptions":{"typeIdentifier":"t_struct$_Result_$28858_memory_ptr","typeString":"struct Multicall3.Result memory"}},"id":31649,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"success","nodeType":"MemberAccess","referencedDeclaration":28855,"src":"6718:21:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":31645,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[269,290],"referencedDeclaration":269,"src":"6707:10:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":31650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6707:33:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31651,"nodeType":"ExpressionStatement","src":"6707:33:25"}]},"documentation":{"id":31523,"nodeType":"StructuredDocumentation","src":"5865:70:25","text":">>>>>>>>>>>>>>>>> AGGREGATE3VALUE TESTS <<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"f69f11f9","implemented":true,"kind":"function","modifiers":[],"name":"testAggregate3Value","nameLocation":"5947:19:25","parameters":{"id":31524,"nodeType":"ParameterList","parameters":[],"src":"5966:2:25"},"returnParameters":{"id":31525,"nodeType":"ParameterList","parameters":[],"src":"5976:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31914,"nodeType":"FunctionDefinition","src":"6749:1751:25","nodes":[],"body":{"id":31913,"nodeType":"Block","src":"6799:1701:25","nodes":[],"statements":[{"assignments":[31661],"declarations":[{"constant":false,"id":31661,"mutability":"mutable","name":"calls","nameLocation":"6836:5:25","nodeType":"VariableDeclaration","scope":31913,"src":"6805:36:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value[]"},"typeName":{"baseType":{"id":31659,"nodeType":"UserDefinedTypeName","pathNode":{"id":31658,"name":"Multicall3.Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"6805:21:25"},"referencedDeclaration":28853,"src":"6805:21:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"id":31660,"nodeType":"ArrayTypeName","src":"6805:23:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3Value[]"}},"visibility":"internal"}],"id":31668,"initialValue":{"arguments":[{"hexValue":"33","id":31666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6872:1:25","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":31665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6844:27:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":31663,"nodeType":"UserDefinedTypeName","pathNode":{"id":31662,"name":"Multicall3.Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"6848:21:25"},"referencedDeclaration":28853,"src":"6848:21:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"id":31664,"nodeType":"ArrayTypeName","src":"6848:23:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3Value[]"}}},"id":31667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6844:30:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6805:69:25"},{"expression":{"id":31687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31669,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31661,"src":"6880:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31671,"indexExpression":{"hexValue":"30","id":31670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6886:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6880:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31676,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"6921:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6913:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31674,"name":"address","nodeType":"ElementaryTypeName","src":"6913:7:25","typeDescriptions":{}}},"id":31677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6913:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":31678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6930:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":31679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6937:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":31682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6964:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":31683,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"6989:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"6989:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31680,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6940:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6940:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6940:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31672,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"6891:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"6891:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6891:112:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"6880:123:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31688,"nodeType":"ExpressionStatement","src":"6880:123:25"},{"expression":{"id":31705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31689,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31661,"src":"7009:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31691,"indexExpression":{"hexValue":"31","id":31690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7015:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7009:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31696,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"7050:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31695,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7042:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31694,"name":"address","nodeType":"ElementaryTypeName","src":"7042:7:25","typeDescriptions":{}}},"id":31697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7042:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":31698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7059:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":31699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7066:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7093:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31700,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7069:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7069:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7069:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31692,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"7020:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"7020:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7020:96:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"7009:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31706,"nodeType":"ExpressionStatement","src":"7009:107:25"},{"expression":{"id":31727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31707,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31661,"src":"7122:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31709,"indexExpression":{"hexValue":"32","id":31708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7128:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7122:8:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31714,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"7163:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7155:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31712,"name":"address","nodeType":"ElementaryTypeName","src":"7155:7:25","typeDescriptions":{}}},"id":31715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7155:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":31716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7172:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"31","id":31717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7179:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"hexValue":"73656e644261636b56616c7565286164647265737329","id":31720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7206:24:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_36c40ea693c54386db620696286f8726d43e8b622ba7bda33839d6d3735f9e03","typeString":"literal_string \"sendBackValue(address)\""},"value":"sendBackValue(address)"},{"arguments":[{"id":31723,"name":"etherSink","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30704,"src":"7240:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}],"id":31722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7232:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31721,"name":"address","nodeType":"ElementaryTypeName","src":"7232:7:25","typeDescriptions":{}}},"id":31724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7232:18:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_36c40ea693c54386db620696286f8726d43e8b622ba7bda33839d6d3735f9e03","typeString":"literal_string \"sendBackValue(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":31718,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7182:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7182:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7182:69:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31710,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"7133:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"7133:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7133:119:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"7122:130:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31728,"nodeType":"ExpressionStatement","src":"7122:130:25"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c333a2063616c6c206661696c6564","id":31734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7280:25:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""},"value":"Multicall3: call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23ab9e5d0770df1c36d63874497b8bf30a9e27c92db9b4c1c1b021555c145738","typeString":"literal_string \"Multicall3: call failed\""}],"id":31733,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7274:5:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":31732,"name":"bytes","nodeType":"ElementaryTypeName","src":"7274:5:25","typeDescriptions":{}}},"id":31735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7274:32:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31729,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"7258:2:25","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":31731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"7258:15:25","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":31736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7258:49:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31737,"nodeType":"ExpressionStatement","src":"7258:49:25"},{"expression":{"arguments":[{"id":31741,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31661,"src":"7339:5:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}],"expression":{"id":31738,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"7313:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":29247,"src":"7313:25:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall3.Call3Value memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":31742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7313:32:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31743,"nodeType":"ExpressionStatement","src":"7313:32:25"},{"assignments":[31749],"declarations":[{"constant":false,"id":31749,"mutability":"mutable","name":"calls2","nameLocation":"7435:6:25","nodeType":"VariableDeclaration","scope":31913,"src":"7404:37:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value[]"},"typeName":{"baseType":{"id":31747,"nodeType":"UserDefinedTypeName","pathNode":{"id":31746,"name":"Multicall3.Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"7404:21:25"},"referencedDeclaration":28853,"src":"7404:21:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"id":31748,"nodeType":"ArrayTypeName","src":"7404:23:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3Value[]"}},"visibility":"internal"}],"id":31756,"initialValue":{"arguments":[{"hexValue":"33","id":31754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7472:1:25","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":31753,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7444:27:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":31751,"nodeType":"UserDefinedTypeName","pathNode":{"id":31750,"name":"Multicall3.Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"7448:21:25"},"referencedDeclaration":28853,"src":"7448:21:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"id":31752,"nodeType":"ArrayTypeName","src":"7448:23:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3Value[]"}}},"id":31755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7444:30:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7404:70:25"},{"expression":{"id":31775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31757,"name":"calls2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31749,"src":"7480:6:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31759,"indexExpression":{"hexValue":"30","id":31758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7487:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7480:9:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31764,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"7522:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7514:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31762,"name":"address","nodeType":"ElementaryTypeName","src":"7514:7:25","typeDescriptions":{}}},"id":31765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7514:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":31766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7531:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"30","id":31767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7537:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":31770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7564:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":31771,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"7589:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"7589:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31768,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7540:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31769,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7540:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7540:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31760,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"7492:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"7492:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7492:111:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"7480:123:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31776,"nodeType":"ExpressionStatement","src":"7480:123:25"},{"expression":{"id":31793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31777,"name":"calls2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31749,"src":"7609:6:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31779,"indexExpression":{"hexValue":"31","id":31778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7616:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7609:9:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31784,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"7651:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7643:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31782,"name":"address","nodeType":"ElementaryTypeName","src":"7643:7:25","typeDescriptions":{}}},"id":31785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7643:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":31786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7660:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"30","id":31787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7666:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7693:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31788,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7669:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7669:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7669:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31780,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"7621:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"7621:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7621:95:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"7609:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31794,"nodeType":"ExpressionStatement","src":"7609:107:25"},{"expression":{"id":31815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31795,"name":"calls2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31749,"src":"7722:6:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31797,"indexExpression":{"hexValue":"32","id":31796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7729:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7722:9:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31802,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"7764:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7756:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31800,"name":"address","nodeType":"ElementaryTypeName","src":"7756:7:25","typeDescriptions":{}}},"id":31803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7756:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":31804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7773:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"31","id":31805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7779:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"hexValue":"73656e644261636b56616c7565286164647265737329","id":31808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7806:24:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_36c40ea693c54386db620696286f8726d43e8b622ba7bda33839d6d3735f9e03","typeString":"literal_string \"sendBackValue(address)\""},"value":"sendBackValue(address)"},{"arguments":[{"id":31811,"name":"etherSink","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30704,"src":"7840:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}],"id":31810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7832:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31809,"name":"address","nodeType":"ElementaryTypeName","src":"7832:7:25","typeDescriptions":{}}},"id":31812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7832:18:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_36c40ea693c54386db620696286f8726d43e8b622ba7bda33839d6d3735f9e03","typeString":"literal_string \"sendBackValue(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":31806,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7782:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7782:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7782:69:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31798,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"7734:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"7734:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7734:118:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"7722:130:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31816,"nodeType":"ExpressionStatement","src":"7722:130:25"},{"expression":{"arguments":[{"arguments":[{"hexValue":"4d756c746963616c6c333a2076616c7565206d69736d61746368","id":31822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7880:28:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_52d1b5fbcd1a89add74bb8157dc5d3d128a6df96345d91050302a8ad17d52eb9","typeString":"literal_string \"Multicall3: value mismatch\""},"value":"Multicall3: value mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_52d1b5fbcd1a89add74bb8157dc5d3d128a6df96345d91050302a8ad17d52eb9","typeString":"literal_string \"Multicall3: value mismatch\""}],"id":31821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7874:5:25","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":31820,"name":"bytes","nodeType":"ElementaryTypeName","src":"7874:5:25","typeDescriptions":{}}},"id":31823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7874:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31817,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1839,"src":"7858:2:25","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$12037","typeString":"contract Vm"}},"id":31819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":11779,"src":"7858:15:25","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":31824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7858:52:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31825,"nodeType":"ExpressionStatement","src":"7858:52:25"},{"expression":{"arguments":[{"id":31829,"name":"calls2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31749,"src":"7942:6:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}],"expression":{"id":31826,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"7916:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":29247,"src":"7916:25:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall3.Call3Value memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":31830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7916:33:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31831,"nodeType":"ExpressionStatement","src":"7916:33:25"},{"assignments":[31837],"declarations":[{"constant":false,"id":31837,"mutability":"mutable","name":"calls3","nameLocation":"8027:6:25","nodeType":"VariableDeclaration","scope":31913,"src":"7996:37:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value[]"},"typeName":{"baseType":{"id":31835,"nodeType":"UserDefinedTypeName","pathNode":{"id":31834,"name":"Multicall3.Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"7996:21:25"},"referencedDeclaration":28853,"src":"7996:21:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"id":31836,"nodeType":"ArrayTypeName","src":"7996:23:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3Value[]"}},"visibility":"internal"}],"id":31844,"initialValue":{"arguments":[{"hexValue":"33","id":31842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8064:1:25","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":31841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8036:27:25","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Multicall3.Call3Value memory[] memory)"},"typeName":{"baseType":{"id":31839,"nodeType":"UserDefinedTypeName","pathNode":{"id":31838,"name":"Multicall3.Call3Value","nodeType":"IdentifierPath","referencedDeclaration":28853,"src":"8040:21:25"},"referencedDeclaration":28853,"src":"8040:21:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_storage_ptr","typeString":"struct Multicall3.Call3Value"}},"id":31840,"nodeType":"ArrayTypeName","src":"8040:23:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_storage_$dyn_storage_ptr","typeString":"struct Multicall3.Call3Value[]"}}},"id":31843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8036:30:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7996:70:25"},{"expression":{"id":31863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31845,"name":"calls3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31837,"src":"8072:6:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31847,"indexExpression":{"hexValue":"30","id":31846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8079:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8072:9:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31852,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"8114:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8106:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31850,"name":"address","nodeType":"ElementaryTypeName","src":"8106:7:25","typeDescriptions":{}}},"id":31853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8106:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":31854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8123:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":31855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8130:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"676574426c6f636b486173682875696e7432353629","id":31858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8157:23:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},"value":"getBlockHash(uint256)"},{"expression":{"id":31859,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8182:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"8182:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee82ac5e353ab27e0c3606e004269adc02f5d06dbc90d6dce04e3c974dee2acb","typeString":"literal_string \"getBlockHash(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31856,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8133:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8133:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8133:62:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31848,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"8084:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"8084:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8084:112:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"8072:124:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31864,"nodeType":"ExpressionStatement","src":"8072:124:25"},{"expression":{"id":31881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31865,"name":"calls3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31837,"src":"8202:6:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31867,"indexExpression":{"hexValue":"31","id":31866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8209:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8202:9:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31872,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"8244:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31871,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8236:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31870,"name":"address","nodeType":"ElementaryTypeName","src":"8236:7:25","typeDescriptions":{}}},"id":31873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8236:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":31874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8253:4:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"30","id":31875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8259:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"746869734d6574686f64526576657274732829","id":31878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8286:21:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""},"value":"thisMethodReverts()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_032d007453e7a0f91fec66bb5f6ca2ff2ae8e8196809abc8cb2e1abef41e0e01","typeString":"literal_string \"thisMethodReverts()\""}],"expression":{"id":31876,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8262:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8262:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8262:46:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31868,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"8214:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"8214:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8214:95:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"8202:107:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31882,"nodeType":"ExpressionStatement","src":"8202:107:25"},{"expression":{"id":31903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":31883,"name":"calls3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31837,"src":"8315:6:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}},"id":31885,"indexExpression":{"hexValue":"32","id":31884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8322:1:25","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8315:9:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":31890,"name":"callee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30701,"src":"8357:6:25","typeDescriptions":{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockCallee_$32115","typeString":"contract MockCallee"}],"id":31889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8349:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31888,"name":"address","nodeType":"ElementaryTypeName","src":"8349:7:25","typeDescriptions":{}}},"id":31891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8349:15:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"66616c7365","id":31892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8366:5:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"31","id":31893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8373:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"hexValue":"73656e644261636b56616c7565286164647265737329","id":31896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8400:24:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_36c40ea693c54386db620696286f8726d43e8b622ba7bda33839d6d3735f9e03","typeString":"literal_string \"sendBackValue(address)\""},"value":"sendBackValue(address)"},{"arguments":[{"id":31899,"name":"etherSink","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30704,"src":"8434:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_EtherSink_$32062","typeString":"contract EtherSink"}],"id":31898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8426:7:25","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":31897,"name":"address","nodeType":"ElementaryTypeName","src":"8426:7:25","typeDescriptions":{}}},"id":31900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8426:18:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_36c40ea693c54386db620696286f8726d43e8b622ba7bda33839d6d3735f9e03","typeString":"literal_string \"sendBackValue(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":31894,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8376:3:25","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31895,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8376:23:25","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":31901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8376:69:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":31886,"name":"Multicall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29378,"src":"8327:10:25","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Multicall3_$29378_$","typeString":"type(contract Multicall3)"}},"id":31887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Call3Value","nodeType":"MemberAccess","referencedDeclaration":28853,"src":"8327:21:25","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call3Value_$28853_storage_ptr_$","typeString":"type(struct Multicall3.Call3Value storage pointer)"}},"id":31902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8327:119:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"src":"8315:131:25","typeDescriptions":{"typeIdentifier":"t_struct$_Call3Value_$28853_memory_ptr","typeString":"struct Multicall3.Call3Value memory"}},"id":31904,"nodeType":"ExpressionStatement","src":"8315:131:25"},{"expression":{"arguments":[{"id":31910,"name":"calls3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31837,"src":"8488:6:25","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Call3Value memory[] memory"}],"expression":{"id":31905,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"8452:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"aggregate3Value","nodeType":"MemberAccess","referencedDeclaration":29247,"src":"8452:25:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct Multicall3.Call3Value memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":31909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"hexValue":"31","id":31908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8485:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"src":"8452:35:25","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call3Value_$28853_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr_$value","typeString":"function (struct Multicall3.Call3Value memory[] memory) payable external returns (struct Multicall3.Result memory[] memory)"}},"id":31911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8452:43:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Result_$28858_memory_ptr_$dyn_memory_ptr","typeString":"struct Multicall3.Result memory[] memory"}},"id":31912,"nodeType":"ExpressionStatement","src":"8452:43:25"}]},"functionSelector":"3ab461c7","implemented":true,"kind":"function","modifiers":[],"name":"testAggregate3ValueUnsuccessful","nameLocation":"6758:31:25","parameters":{"id":31654,"nodeType":"ParameterList","parameters":[],"src":"6789:2:25"},"returnParameters":{"id":31655,"nodeType":"ParameterList","parameters":[],"src":"6799:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31931,"nodeType":"FunctionDefinition","src":"8577:134:25","nodes":[],"body":{"id":31930,"nodeType":"Block","src":"8631:80:25","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":31922,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31917,"src":"8656:11:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31921,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"8646:9:25","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":31923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8646:22:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":31926,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31917,"src":"8693:11:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":31924,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"8670:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getBlockHash","nodeType":"MemberAccess","referencedDeclaration":29262,"src":"8670:22:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view external returns (bytes32)"}},"id":31927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8670:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":31920,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"8637:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":31928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8637:69:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31929,"nodeType":"ExpressionStatement","src":"8637:69:25"}]},"documentation":{"id":31915,"nodeType":"StructuredDocumentation","src":"8504:70:25","text":">>>>>>>>>>>>>>>>>>>>>> HELPER TESTS <<<<<<<<<<<<<<<<<<<<<<< ///"},"functionSelector":"41e299fe","implemented":true,"kind":"function","modifiers":[],"name":"testGetBlockHash","nameLocation":"8586:16:25","parameters":{"id":31918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31917,"mutability":"mutable","name":"blockNumber","nameLocation":"8611:11:25","nodeType":"VariableDeclaration","scope":31931,"src":"8603:19:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31916,"name":"uint256","nodeType":"ElementaryTypeName","src":"8603:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8602:21:25"},"returnParameters":{"id":31919,"nodeType":"ParameterList","parameters":[],"src":"8631:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31943,"nodeType":"FunctionDefinition","src":"8715:98:25","nodes":[],"body":{"id":31942,"nodeType":"Block","src":"8752:61:25","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":31935,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8767:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"8767:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":31937,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"8781:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getBlockNumber","nodeType":"MemberAccess","referencedDeclaration":29274,"src":"8781:24:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":31939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8781:26:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31934,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"8758:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":31940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8758:50:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31941,"nodeType":"ExpressionStatement","src":"8758:50:25"}]},"functionSelector":"23b4ffe0","implemented":true,"kind":"function","modifiers":[],"name":"testGetBlockNumber","nameLocation":"8724:18:25","parameters":{"id":31932,"nodeType":"ParameterList","parameters":[],"src":"8742:2:25"},"returnParameters":{"id":31933,"nodeType":"ParameterList","parameters":[],"src":"8752:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31955,"nodeType":"FunctionDefinition","src":"8817:118:25","nodes":[],"body":{"id":31954,"nodeType":"Block","src":"8863:72:25","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":31947,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"8878:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"coinbase","nodeType":"MemberAccess","src":"8878:14:25","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":31949,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"8894:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockCoinbase","nodeType":"MemberAccess","referencedDeclaration":29286,"src":"8894:33:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":31951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8894:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_address","typeString":"address"}],"id":31946,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":320,"src":"8869:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":31952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8869:61:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31953,"nodeType":"ExpressionStatement","src":"8869:61:25"}]},"functionSelector":"9027c03f","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockCoinbase","nameLocation":"8826:27:25","parameters":{"id":31944,"nodeType":"ParameterList","parameters":[],"src":"8853:2:25"},"returnParameters":{"id":31945,"nodeType":"ParameterList","parameters":[],"src":"8863:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31967,"nodeType":"FunctionDefinition","src":"8939:124:25","nodes":[],"body":{"id":31966,"nodeType":"Block","src":"8987:76:25","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":31959,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9002:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"difficulty","nodeType":"MemberAccess","src":"9002:16:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":31961,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"9020:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockDifficulty","nodeType":"MemberAccess","referencedDeclaration":29298,"src":"9020:35:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":31963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9020:37:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31958,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"8993:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":31964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8993:65:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31965,"nodeType":"ExpressionStatement","src":"8993:65:25"}]},"functionSelector":"77185968","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockDifficulty","nameLocation":"8948:29:25","parameters":{"id":31956,"nodeType":"ParameterList","parameters":[],"src":"8977:2:25"},"returnParameters":{"id":31957,"nodeType":"ParameterList","parameters":[],"src":"8987:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31979,"nodeType":"FunctionDefinition","src":"9067:118:25","nodes":[],"body":{"id":31978,"nodeType":"Block","src":"9113:72:25","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":31971,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9128:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gaslimit","nodeType":"MemberAccess","src":"9128:14:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":31973,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"9144:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockGasLimit","nodeType":"MemberAccess","referencedDeclaration":29310,"src":"9144:33:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":31975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9144:35:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31970,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"9119:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":31976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9119:61:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31977,"nodeType":"ExpressionStatement","src":"9119:61:25"}]},"functionSelector":"943849a9","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockGasLimit","nameLocation":"9076:27:25","parameters":{"id":31968,"nodeType":"ParameterList","parameters":[],"src":"9103:2:25"},"returnParameters":{"id":31969,"nodeType":"ParameterList","parameters":[],"src":"9113:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":31991,"nodeType":"FunctionDefinition","src":"9189:121:25","nodes":[],"body":{"id":31990,"nodeType":"Block","src":"9236:74:25","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":31983,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9251:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":31984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","src":"9251:15:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":31985,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"9268:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":31986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCurrentBlockTimestamp","nodeType":"MemberAccess","referencedDeclaration":29322,"src":"9268:34:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":31987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9268:36:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31982,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"9242:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":31988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9242:63:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31989,"nodeType":"ExpressionStatement","src":"9242:63:25"}]},"functionSelector":"4059c002","implemented":true,"kind":"function","modifiers":[],"name":"testGetCurrentBlockTimestamp","nameLocation":"9198:28:25","parameters":{"id":31980,"nodeType":"ParameterList","parameters":[],"src":"9226:2:25"},"returnParameters":{"id":31981,"nodeType":"ParameterList","parameters":[],"src":"9236:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":32006,"nodeType":"FunctionDefinition","src":"9314:112:25","nodes":[],"body":{"id":32005,"nodeType":"Block","src":"9362:64:25","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":31997,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31993,"src":"9377:4:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":31998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balance","nodeType":"MemberAccess","src":"9377:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":32001,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31993,"src":"9415:4:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":31999,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"9391:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":32000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getEthBalance","nodeType":"MemberAccess","referencedDeclaration":29336,"src":"9391:23:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":32002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9391:29:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31996,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"9368:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":32003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9368:53:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32004,"nodeType":"ExpressionStatement","src":"9368:53:25"}]},"functionSelector":"8ef09210","implemented":true,"kind":"function","modifiers":[],"name":"testGetEthBalance","nameLocation":"9323:17:25","parameters":{"id":31994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31993,"mutability":"mutable","name":"addr","nameLocation":"9349:4:25","nodeType":"VariableDeclaration","scope":32006,"src":"9341:12:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":31992,"name":"address","nodeType":"ElementaryTypeName","src":"9341:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9340:14:25"},"returnParameters":{"id":31995,"nodeType":"ParameterList","parameters":[],"src":"9362:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":32028,"nodeType":"FunctionDefinition","src":"9430:209:25","nodes":[],"body":{"id":32027,"nodeType":"Block","src":"9469:170:25","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32009,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9536:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":32010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"9536:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":32011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9552:1:25","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9536:17:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32014,"nodeType":"IfStatement","src":"9532:30:25","trueBody":{"functionReturnParameters":32008,"id":32013,"nodeType":"Return","src":"9555:7:25"}},{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":32020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32017,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9586:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":32018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"9586:12:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":32019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9601:1:25","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9586:16:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32016,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"9576:9:25","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":32021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9576:27:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":32022,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"9605:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":32023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getLastBlockHash","nodeType":"MemberAccess","referencedDeclaration":29353,"src":"9605:26:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":32024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9605:28:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":32015,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":375,"src":"9567:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":32025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9567:67:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32026,"nodeType":"ExpressionStatement","src":"9567:67:25"}]},"functionSelector":"af056092","implemented":true,"kind":"function","modifiers":[],"name":"testGetLastBlockHash","nameLocation":"9439:20:25","parameters":{"id":32007,"nodeType":"ParameterList","parameters":[],"src":"9459:2:25"},"returnParameters":{"id":32008,"nodeType":"ParameterList","parameters":[],"src":"9469:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":32040,"nodeType":"FunctionDefinition","src":"9643:91:25","nodes":[],"body":{"id":32039,"nodeType":"Block","src":"9676:58:25","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":32032,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9691:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":32033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"basefee","nodeType":"MemberAccess","src":"9691:13:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":32034,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"9706:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":32035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getBasefee","nodeType":"MemberAccess","referencedDeclaration":29365,"src":"9706:20:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":32036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9706:22:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32031,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"9682:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":32037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9682:47:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32038,"nodeType":"ExpressionStatement","src":"9682:47:25"}]},"functionSelector":"72f70f66","implemented":true,"kind":"function","modifiers":[],"name":"testGetBasefee","nameLocation":"9652:14:25","parameters":{"id":32029,"nodeType":"ParameterList","parameters":[],"src":"9666:2:25"},"returnParameters":{"id":32030,"nodeType":"ParameterList","parameters":[],"src":"9676:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":32052,"nodeType":"FunctionDefinition","src":"9738:91:25","nodes":[],"body":{"id":32051,"nodeType":"Block","src":"9771:58:25","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":32044,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9786:5:25","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":32045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"chainid","nodeType":"MemberAccess","src":"9786:13:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":32046,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30698,"src":"9801:9:25","typeDescriptions":{"typeIdentifier":"t_contract$_Multicall3_$29378","typeString":"contract Multicall3"}},"id":32047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getChainId","nodeType":"MemberAccess","referencedDeclaration":29377,"src":"9801:20:25","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":32048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9801:22:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32043,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[1977,2002,2015,2031,2073,2115,2157,2194,2231,2268,320,345,375,400,459,484,514,539,1639,1674],"referencedDeclaration":514,"src":"9777:8:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":32049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9777:47:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32050,"nodeType":"ExpressionStatement","src":"9777:47:25"}]},"functionSelector":"d924f180","implemented":true,"kind":"function","modifiers":[],"name":"testGetChainId","nameLocation":"9747:14:25","parameters":{"id":32041,"nodeType":"ParameterList","parameters":[],"src":"9761:2:25"},"returnParameters":{"id":32042,"nodeType":"ParameterList","parameters":[],"src":"9771:0:25"},"scope":32053,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":30694,"name":"Test","nodeType":"IdentifierPath","referencedDeclaration":10725,"src":"272:4:25"},"id":30695,"nodeType":"InheritanceSpecifier","src":"272:4:25"}],"canonicalName":"Multicall3Test","contractDependencies":[29378,32062,32115],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[32053,10725,1846,1843,10676,6475,6185,5526,3954,3260,1786],"name":"Multicall3Test","nameLocation":"254:14:25","scope":32054,"usedErrors":[]}],"license":"MIT"}},"src/test/mocks/EtherSink.sol":{"id":26,"ast":{"absolutePath":"src/test/mocks/EtherSink.sol","id":32063,"exportedSymbols":{"EtherSink":[32062]},"nodeType":"SourceUnit","src":"32:325:26","nodes":[{"id":32055,"nodeType":"PragmaDirective","src":"32:23:26","nodes":[],"literals":["solidity","0.8",".12"]},{"id":32062,"nodeType":"ContractDefinition","src":"164:193:26","nodes":[{"id":32061,"nodeType":"FunctionDefinition","src":"326:29:26","nodes":[],"body":{"id":32060,"nodeType":"Block","src":"353:2:26","nodes":[],"statements":[]},"documentation":{"id":32057,"nodeType":"StructuredDocumentation","src":"261:62:26","text":"@notice Allows the test to receive eth via low level calls"},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":32058,"nodeType":"ParameterList","parameters":[],"src":"333:2:26"},"returnParameters":{"id":32059,"nodeType":"ParameterList","parameters":[],"src":"353:0:26"},"scope":32062,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"EtherSink","contractDependencies":[],"contractKind":"contract","documentation":{"id":32056,"nodeType":"StructuredDocumentation","src":"57:107:26","text":"@title EtherSink\n @notice Receives Ether, that's about it \\( o_o )/\n @author andreas@nascent.xyz"},"fullyImplemented":true,"linearizedBaseContracts":[32062],"name":"EtherSink","nameLocation":"173:9:26","scope":32063,"usedErrors":[]}],"license":"MIT"}},"src/test/mocks/MockCallee.sol":{"id":27,"ast":{"absolutePath":"src/test/mocks/MockCallee.sol","id":32116,"exportedSymbols":{"MockCallee":[32115]},"nodeType":"SourceUnit","src":"32:773:27","nodes":[{"id":32064,"nodeType":"PragmaDirective","src":"32:23:27","nodes":[],"literals":["solidity","0.8",".12"]},{"id":32115,"nodeType":"ContractDefinition","src":"159:645:27","nodes":[{"id":32068,"nodeType":"ErrorDefinition","src":"206:21:27","nodes":[],"documentation":{"id":32066,"nodeType":"StructuredDocumentation","src":"184:19:27","text":"@notice Failure"},"name":"Unsuccessful","nameLocation":"212:12:27","parameters":{"id":32067,"nodeType":"ParameterList","parameters":[],"src":"224:2:27"}},{"id":32083,"nodeType":"FunctionDefinition","src":"384:128:27","nodes":[],"body":{"id":32082,"nodeType":"Block","src":"467:45:27","nodes":[],"statements":[{"expression":{"id":32080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":32076,"name":"blockHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32074,"src":"473:9:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":32078,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32071,"src":"495:11:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":32077,"name":"blockhash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-5,"src":"485:9:27","typeDescriptions":{"typeIdentifier":"t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$","typeString":"function (uint256) view returns (bytes32)"}},"id":32079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"485:22:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"473:34:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":32081,"nodeType":"ExpressionStatement","src":"473:34:27"}]},"documentation":{"id":32069,"nodeType":"StructuredDocumentation","src":"231:150:27","text":"@notice Returns the block hash for the given block number\n @param blockNumber The block number\n @return blockHash The 32 byte block hash"},"functionSelector":"ee82ac5e","implemented":true,"kind":"function","modifiers":[],"name":"getBlockHash","nameLocation":"393:12:27","parameters":{"id":32072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32071,"mutability":"mutable","name":"blockNumber","nameLocation":"414:11:27","nodeType":"VariableDeclaration","scope":32083,"src":"406:19:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":32070,"name":"uint256","nodeType":"ElementaryTypeName","src":"406:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"405:21:27"},"returnParameters":{"id":32075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32074,"mutability":"mutable","name":"blockHash","nameLocation":"456:9:27","nodeType":"VariableDeclaration","scope":32083,"src":"448:17:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":32073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"448:7:27","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"447:19:27"},"scope":32115,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":32091,"nodeType":"FunctionDefinition","src":"547:73:27","nodes":[],"body":{"id":32090,"nodeType":"Block","src":"588:32:27","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":32087,"name":"Unsuccessful","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32068,"src":"601:12:27","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":32088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"601:14:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32089,"nodeType":"RevertStatement","src":"594:21:27"}]},"documentation":{"id":32084,"nodeType":"StructuredDocumentation","src":"516:28:27","text":"@notice Reverts o______O"},"functionSelector":"032d0074","implemented":true,"kind":"function","modifiers":[],"name":"thisMethodReverts","nameLocation":"556:17:27","parameters":{"id":32085,"nodeType":"ParameterList","parameters":[],"src":"573:2:27"},"returnParameters":{"id":32086,"nodeType":"ParameterList","parameters":[],"src":"588:0:27"},"scope":32115,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":32114,"nodeType":"FunctionDefinition","src":"654:148:27","nodes":[],"body":{"id":32113,"nodeType":"Block","src":"708:94:27","nodes":[],"statements":[{"assignments":[32098,null],"declarations":[{"constant":false,"id":32098,"mutability":"mutable","name":"ok","nameLocation":"720:2:27","nodeType":"VariableDeclaration","scope":32113,"src":"715:7:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32097,"name":"bool","nodeType":"ElementaryTypeName","src":"715:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":32106,"initialValue":{"arguments":[{"hexValue":"","id":32104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"758:2:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":32099,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32094,"src":"728:6:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":32100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","src":"728:11:27","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":32103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":32101,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"747:3:27","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":32102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"747:9:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"728:29:27","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":32105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"728:33:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"714:47:27"},{"condition":{"id":32108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"771:3:27","subExpression":{"id":32107,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32098,"src":"772:2:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":32112,"nodeType":"IfStatement","src":"767:30:27","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":32109,"name":"Unsuccessful","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32068,"src":"783:12:27","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":32110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"783:14:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":32111,"nodeType":"RevertStatement","src":"776:21:27"}}]},"documentation":{"id":32092,"nodeType":"StructuredDocumentation","src":"624:27:27","text":"@notice Accepts a value"},"functionSelector":"36c40ea6","implemented":true,"kind":"function","modifiers":[],"name":"sendBackValue","nameLocation":"663:13:27","parameters":{"id":32095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":32094,"mutability":"mutable","name":"target","nameLocation":"685:6:27","nodeType":"VariableDeclaration","scope":32114,"src":"677:14:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":32093,"name":"address","nodeType":"ElementaryTypeName","src":"677:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"676:16:27"},"returnParameters":{"id":32096,"nodeType":"ParameterList","parameters":[],"src":"708:0:27"},"scope":32115,"stateMutability":"payable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"MockCallee","contractDependencies":[],"contractKind":"contract","documentation":{"id":32065,"nodeType":"StructuredDocumentation","src":"57:102:27","text":"@title MockCallee\n @notice Receives calls from the Multicaller\n @author andreas@nascent.xyz"},"fullyImplemented":true,"linearizedBaseContracts":[32115],"name":"MockCallee","nameLocation":"168:10:27","scope":32116,"usedErrors":[32068]}],"license":"MIT"}}}},"solcLongVersion":"0.8.12","solcVersion":"0.8.12"}
\ No newline at end of file
diff --git a/jobs/predeploy/multicall3.yaml b/jobs/predeploy/multicall3.yaml
new file mode 100644
index 0000000..61b10f5
--- /dev/null
+++ b/jobs/predeploy/multicall3.yaml
@@ -0,0 +1,20 @@
+name: "multicall3"
+version: "1"
+description: "Deploy Multicall3 via Singleton Factory (ERC-2470)"
+depends_on: ["era-evm-predeploy-erc2470"]
+
+actions:
+ - name: "multicall3"
+ template: "erc-2470"
+ arguments:
+ salt: "0x416775737831323131206d616465204352454154453326342678030003000000"
+ creationCode: "{{Contract(./build-info/multicall3.json:Multicall3).creationCode}}"
+ output: true
+
+ - name: "verify-multicall3"
+ type: "verify-contract"
+ depends_on: ["multicall3"]
+ arguments:
+ address: "{{multicall3.address}}"
+ contract: "{{Contract(./build-info/multicall3.json:Multicall3)}}"
+ output: false
diff --git a/jobs/trails/build-info/rc-3/all-contracts.json b/jobs/trails/build-info/rc-3/all-contracts.json
new file mode 100644
index 0000000..d30bb7d
--- /dev/null
+++ b/jobs/trails/build-info/rc-3/all-contracts.json
@@ -0,0 +1 @@
+{"id":"1e060b0a5f267a28","source_id_to_path":{"0":"lib/erc2470-libs/script/SingletonDeployer.s.sol","1":"lib/erc2470-libs/src/ISingletonFactory.sol","2":"lib/forge-std/src/Base.sol","3":"lib/forge-std/src/Script.sol","4":"lib/forge-std/src/StdAssertions.sol","5":"lib/forge-std/src/StdChains.sol","6":"lib/forge-std/src/StdCheats.sol","7":"lib/forge-std/src/StdConstants.sol","8":"lib/forge-std/src/StdError.sol","9":"lib/forge-std/src/StdInvariant.sol","10":"lib/forge-std/src/StdJson.sol","11":"lib/forge-std/src/StdMath.sol","12":"lib/forge-std/src/StdStorage.sol","13":"lib/forge-std/src/StdStyle.sol","14":"lib/forge-std/src/StdToml.sol","15":"lib/forge-std/src/StdUtils.sol","16":"lib/forge-std/src/Test.sol","17":"lib/forge-std/src/Vm.sol","18":"lib/forge-std/src/console.sol","19":"lib/forge-std/src/console2.sol","20":"lib/forge-std/src/interfaces/IMulticall3.sol","21":"lib/forge-std/src/safeconsole.sol","22":"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol","23":"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol","24":"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol","25":"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol","26":"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol","27":"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol","28":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","29":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","30":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol","31":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","32":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","33":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","34":"lib/openzeppelin-contracts/contracts/utils/Bytes.sol","35":"lib/openzeppelin-contracts/contracts/utils/Context.sol","36":"lib/openzeppelin-contracts/contracts/utils/Nonces.sol","37":"lib/openzeppelin-contracts/contracts/utils/Panic.sol","38":"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol","39":"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol","40":"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol","41":"lib/openzeppelin-contracts/contracts/utils/Strings.sol","42":"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol","43":"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol","44":"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol","45":"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","46":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","47":"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol","48":"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol","49":"lib/tstorish/src/Tstorish.sol","50":"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol","51":"script/TrailsIntentEntrypoint.s.sol","52":"script/TrailsRouter.s.sol","53":"script/TrailsRouterShim.s.sol","54":"src/TrailsIntentEntrypoint.sol","55":"src/TrailsRouter.sol","56":"src/TrailsRouterShim.sol","57":"src/guards/DelegatecallGuard.sol","58":"src/interfaces/IMulticall3.sol","59":"src/interfaces/ITrailsIntentEntrypoint.sol","60":"src/interfaces/ITrailsRouter.sol","61":"src/interfaces/ITrailsRouterShim.sol","62":"src/libraries/TrailsSentinelLib.sol","63":"test/TrailsIntentEntrypoint.t.sol","64":"test/TrailsRouter.t.sol","65":"test/TrailsRouterShim.t.sol","66":"test/guards/DelegatecallGuard.t.sol","67":"test/libraries/TrailsSentinelLib.t.sol","68":"test/mocks/MockERC20.sol","69":"test/mocks/MockMulticall3.sol","70":"test/mocks/MockNonStandardERC20.sol","71":"test/mocks/MockSenderGetter.sol","72":"test/script/TrailsIntentEntrypoint.s.t.sol","73":"test/script/TrailsRouter.s.t.sol","74":"test/script/TrailsRouterShim.s.t.sol","75":"test/utils/Create2Utils.sol","76":"test/utils/TstoreUtils.sol"},"language":"Solidity","_format":"ethers-rs-sol-build-info-1","input":{"version":"0.8.30","language":"Solidity","sources":{"lib/erc2470-libs/script/SingletonDeployer.s.sol":{"content":"// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.18;\n\nimport {Script, console} from \"forge-std/Script.sol\";\n\nimport {\n ISingletonFactory,\n SINGLETON_DEPLOY_COST,\n SINGLETON_DEPLOY_TX,\n SINGLETON_EOA_ADDR,\n SINGLETON_FACTORY_ADDR\n} from \"../src/ISingletonFactory.sol\";\n\nerror DeploymentFailed(string reason);\n\nabstract contract SingletonDeployer is Script {\n ISingletonFactory private constant SINGLETON_FACTORY = ISingletonFactory(SINGLETON_FACTORY_ADDR);\n\n function _deploySingletonFactoryIfNotAlready(uint256 pk) internal {\n if (SINGLETON_FACTORY_ADDR.code.length <= 2) {\n if (SINGLETON_EOA_ADDR.balance < SINGLETON_DEPLOY_COST) {\n // Fund Singleton Factory EOA\n console.log(\"Funding Singleton Factory EOA\");\n vm.startBroadcast(pk);\n payable(SINGLETON_EOA_ADDR).transfer(SINGLETON_DEPLOY_COST - SINGLETON_EOA_ADDR.balance);\n vm.stopBroadcast();\n }\n // Deploy Singleton Factory\n console.log(\"Deploying Singleton Factory to\", SINGLETON_FACTORY_ADDR);\n vm.broadcastRawTransaction(SINGLETON_DEPLOY_TX);\n }\n }\n\n function _deployIfNotAlready(string memory name, bytes memory _initCode, bytes32 _salt, uint256 pk)\n internal\n returns (address addr)\n {\n _deploySingletonFactoryIfNotAlready(pk);\n addr = _singletonAddressOf(_initCode, _salt);\n if (addr.code.length <= 2) {\n console.log(name, \"deploying to\", addr);\n vm.startBroadcast(pk);\n address actualAddr = SINGLETON_FACTORY.deploy(_initCode, _salt);\n vm.stopBroadcast();\n if (addr != actualAddr) {\n revert DeploymentFailed(\"Deployed address mismatch\");\n }\n if (addr.code.length <= 2) {\n revert DeploymentFailed(\"Deployment failed\");\n }\n } else {\n console.log(name, \"already deployed to\", addr);\n }\n return addr;\n }\n\n function _singletonAddressOf(bytes memory _initCode, bytes32 _salt) internal pure returns (address addr) {\n return address(\n uint160(\n uint256(\n keccak256(abi.encodePacked(bytes1(0xff), address(SINGLETON_FACTORY), _salt, keccak256(_initCode)))\n )\n )\n );\n }\n}\n"},"lib/erc2470-libs/src/ISingletonFactory.sol":{"content":"// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.18;\n\naddress constant SINGLETON_FACTORY_ADDR = 0xce0042B868300000d44A59004Da54A005ffdcf9f;\naddress constant SINGLETON_EOA_ADDR = 0xBb6e024b9cFFACB947A71991E386681B1Cd1477D;\nuint256 constant SINGLETON_DEPLOY_COST = 0.0247 ether;\nbytes constant SINGLETON_DEPLOY_TX =\n hex\"f9016c8085174876e8008303c4d88080b90154608060405234801561001057600080fd5b50610134806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd5b60cf60048036036040811015604157600080fd5b810190602081018135640100000000811115605b57600080fd5b820183602082011115606c57600080fd5b80359060200191846001830284011164010000000083111715608d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925060eb915050565b604080516001600160a01b039092168252519081900360200190f35b6000818351602085016000f5939250505056fea26469706673582212206b44f8a82cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c634300060200331b83247000822470\";\n\ninterface ISingletonFactory {\n function deploy(bytes calldata _initCode, bytes32 _salt) external returns (address payable createdContract);\n}\n"},"lib/forge-std/src/Base.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {StdStorage} from \"./StdStorage.sol\";\nimport {Vm, VmSafe} from \"./Vm.sol\";\n\nabstract contract CommonBase {\n /// @dev Cheat code address.\n /// Calculated as `address(uint160(uint256(keccak256(\"hevm cheat code\"))))`.\n address internal constant VM_ADDRESS = 0x7109709ECfa91a80626fF3989D68f67F5b1DD12D;\n\n /// @dev console.sol and console2.sol work by executing a staticcall to this address.\n /// Calculated as `address(uint160(uint88(bytes11(\"console.log\"))))`.\n address internal constant CONSOLE = 0x000000000000000000636F6e736F6c652e6c6f67;\n\n /// @dev Used when deploying with create2.\n /// Taken from https://github.com/Arachnid/deterministic-deployment-proxy.\n address internal constant CREATE2_FACTORY = 0x4e59b44847b379578588920cA78FbF26c0B4956C;\n\n /// @dev The default address for tx.origin and msg.sender.\n /// Calculated as `address(uint160(uint256(keccak256(\"foundry default caller\"))))`.\n address internal constant DEFAULT_SENDER = 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38;\n\n /// @dev The address of the first contract `CREATE`d by a running test contract.\n /// When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1.\n /// Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`.\n address internal constant DEFAULT_TEST_CONTRACT = 0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f;\n\n /// @dev Deterministic deployment address of the Multicall3 contract.\n /// Taken from https://www.multicall3.com.\n address internal constant MULTICALL3_ADDRESS = 0xcA11bde05977b3631167028862bE2a173976CA11;\n\n /// @dev The order of the secp256k1 curve.\n uint256 internal constant SECP256K1_ORDER =\n 115792089237316195423570985008687907852837564279074904382605163141518161494337;\n\n uint256 internal constant UINT256_MAX =\n 115792089237316195423570985008687907853269984665640564039457584007913129639935;\n\n Vm internal constant vm = Vm(VM_ADDRESS);\n StdStorage internal stdstore;\n}\n\nabstract contract TestBase is CommonBase {}\n\nabstract contract ScriptBase is CommonBase {\n VmSafe internal constant vmSafe = VmSafe(VM_ADDRESS);\n}\n"},"lib/forge-std/src/Script.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\n// 💬 ABOUT\n// Forge Std's default Script.\n\n// 🧩 MODULES\nimport {console} from \"./console.sol\";\nimport {console2} from \"./console2.sol\";\nimport {safeconsole} from \"./safeconsole.sol\";\nimport {StdChains} from \"./StdChains.sol\";\nimport {StdCheatsSafe} from \"./StdCheats.sol\";\nimport {StdConstants} from \"./StdConstants.sol\";\nimport {stdJson} from \"./StdJson.sol\";\nimport {stdMath} from \"./StdMath.sol\";\nimport {StdStorage, stdStorageSafe} from \"./StdStorage.sol\";\nimport {StdStyle} from \"./StdStyle.sol\";\nimport {StdUtils} from \"./StdUtils.sol\";\nimport {VmSafe} from \"./Vm.sol\";\n\n// 📦 BOILERPLATE\nimport {ScriptBase} from \"./Base.sol\";\n\n// ⭐️ SCRIPT\nabstract contract Script is ScriptBase, StdChains, StdCheatsSafe, StdUtils {\n // Note: IS_SCRIPT() must return true.\n bool public IS_SCRIPT = true;\n}\n"},"lib/forge-std/src/StdAssertions.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport {Vm} from \"./Vm.sol\";\n\nabstract contract StdAssertions {\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n event log(string);\n event logs(bytes);\n\n event log_address(address);\n event log_bytes32(bytes32);\n event log_int(int256);\n event log_uint(uint256);\n event log_bytes(bytes);\n event log_string(string);\n\n event log_named_address(string key, address val);\n event log_named_bytes32(string key, bytes32 val);\n event log_named_decimal_int(string key, int256 val, uint256 decimals);\n event log_named_decimal_uint(string key, uint256 val, uint256 decimals);\n event log_named_int(string key, int256 val);\n event log_named_uint(string key, uint256 val);\n event log_named_bytes(string key, bytes val);\n event log_named_string(string key, string val);\n\n event log_array(uint256[] val);\n event log_array(int256[] val);\n event log_array(address[] val);\n event log_named_array(string key, uint256[] val);\n event log_named_array(string key, int256[] val);\n event log_named_array(string key, address[] val);\n\n bytes32 private constant FAILED_SLOT = bytes32(\"failed\");\n\n bool private _failed;\n\n function failed() public view returns (bool) {\n if (_failed) {\n return true;\n } else {\n return vm.load(address(vm), FAILED_SLOT) != bytes32(0);\n }\n }\n\n function fail() internal virtual {\n vm.store(address(vm), FAILED_SLOT, bytes32(uint256(1)));\n _failed = true;\n }\n\n function fail(string memory message) internal virtual {\n fail();\n vm.assertTrue(false, message);\n }\n\n function assertTrue(bool data) internal pure virtual {\n if (!data) {\n vm.assertTrue(data);\n }\n }\n\n function assertTrue(bool data, string memory err) internal pure virtual {\n if (!data) {\n vm.assertTrue(data, err);\n }\n }\n\n function assertFalse(bool data) internal pure virtual {\n if (data) {\n vm.assertFalse(data);\n }\n }\n\n function assertFalse(bool data, string memory err) internal pure virtual {\n if (data) {\n vm.assertFalse(data, err);\n }\n }\n\n function assertEq(bool left, bool right) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right);\n }\n }\n\n function assertEq(bool left, bool right, string memory err) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right, err);\n }\n }\n\n function assertEq(uint256 left, uint256 right) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right);\n }\n }\n\n function assertEq(uint256 left, uint256 right, string memory err) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right, err);\n }\n }\n\n function assertEqDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual {\n vm.assertEqDecimal(left, right, decimals);\n }\n\n function assertEqDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertEqDecimal(left, right, decimals, err);\n }\n\n function assertEq(int256 left, int256 right) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right);\n }\n }\n\n function assertEq(int256 left, int256 right, string memory err) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right, err);\n }\n }\n\n function assertEqDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual {\n vm.assertEqDecimal(left, right, decimals);\n }\n\n function assertEqDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertEqDecimal(left, right, decimals, err);\n }\n\n function assertEq(address left, address right) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right);\n }\n }\n\n function assertEq(address left, address right, string memory err) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right, err);\n }\n }\n\n function assertEq(bytes32 left, bytes32 right) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right);\n }\n }\n\n function assertEq(bytes32 left, bytes32 right, string memory err) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right, err);\n }\n }\n\n function assertEq32(bytes32 left, bytes32 right) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right);\n }\n }\n\n function assertEq32(bytes32 left, bytes32 right, string memory err) internal pure virtual {\n if (left != right) {\n vm.assertEq(left, right, err);\n }\n }\n\n function assertEq(string memory left, string memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(string memory left, string memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(bytes memory left, bytes memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(bytes memory left, bytes memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(bool[] memory left, bool[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(bool[] memory left, bool[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(uint256[] memory left, uint256[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(uint256[] memory left, uint256[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(int256[] memory left, int256[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(int256[] memory left, int256[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(address[] memory left, address[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(address[] memory left, address[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(bytes32[] memory left, bytes32[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(bytes32[] memory left, bytes32[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(string[] memory left, string[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(string[] memory left, string[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n function assertEq(bytes[] memory left, bytes[] memory right) internal pure virtual {\n vm.assertEq(left, right);\n }\n\n function assertEq(bytes[] memory left, bytes[] memory right, string memory err) internal pure virtual {\n vm.assertEq(left, right, err);\n }\n\n // Legacy helper\n function assertEqUint(uint256 left, uint256 right) internal pure virtual {\n assertEq(left, right);\n }\n\n function assertNotEq(bool left, bool right) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right);\n }\n }\n\n function assertNotEq(bool left, bool right, string memory err) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right, err);\n }\n }\n\n function assertNotEq(uint256 left, uint256 right) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right);\n }\n }\n\n function assertNotEq(uint256 left, uint256 right, string memory err) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right, err);\n }\n }\n\n function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual {\n vm.assertNotEqDecimal(left, right, decimals);\n }\n\n function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals, string memory err)\n internal\n pure\n virtual\n {\n vm.assertNotEqDecimal(left, right, decimals, err);\n }\n\n function assertNotEq(int256 left, int256 right) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right);\n }\n }\n\n function assertNotEq(int256 left, int256 right, string memory err) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right, err);\n }\n }\n\n function assertNotEqDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual {\n vm.assertNotEqDecimal(left, right, decimals);\n }\n\n function assertNotEqDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertNotEqDecimal(left, right, decimals, err);\n }\n\n function assertNotEq(address left, address right) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right);\n }\n }\n\n function assertNotEq(address left, address right, string memory err) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right, err);\n }\n }\n\n function assertNotEq(bytes32 left, bytes32 right) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right);\n }\n }\n\n function assertNotEq(bytes32 left, bytes32 right, string memory err) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right, err);\n }\n }\n\n function assertNotEq32(bytes32 left, bytes32 right) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right);\n }\n }\n\n function assertNotEq32(bytes32 left, bytes32 right, string memory err) internal pure virtual {\n if (left == right) {\n vm.assertNotEq(left, right, err);\n }\n }\n\n function assertNotEq(string memory left, string memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(string memory left, string memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(bytes memory left, bytes memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(bytes memory left, bytes memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(bool[] memory left, bool[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(bool[] memory left, bool[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(uint256[] memory left, uint256[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(uint256[] memory left, uint256[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(int256[] memory left, int256[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(int256[] memory left, int256[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(address[] memory left, address[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(address[] memory left, address[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(bytes32[] memory left, bytes32[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(bytes32[] memory left, bytes32[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(string[] memory left, string[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(string[] memory left, string[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertNotEq(bytes[] memory left, bytes[] memory right) internal pure virtual {\n vm.assertNotEq(left, right);\n }\n\n function assertNotEq(bytes[] memory left, bytes[] memory right, string memory err) internal pure virtual {\n vm.assertNotEq(left, right, err);\n }\n\n function assertLt(uint256 left, uint256 right) internal pure virtual {\n if (left >= right) {\n vm.assertLt(left, right);\n }\n }\n\n function assertLt(uint256 left, uint256 right, string memory err) internal pure virtual {\n if (left >= right) {\n vm.assertLt(left, right, err);\n }\n }\n\n function assertLtDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual {\n vm.assertLtDecimal(left, right, decimals);\n }\n\n function assertLtDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertLtDecimal(left, right, decimals, err);\n }\n\n function assertLt(int256 left, int256 right) internal pure virtual {\n if (left >= right) {\n vm.assertLt(left, right);\n }\n }\n\n function assertLt(int256 left, int256 right, string memory err) internal pure virtual {\n if (left >= right) {\n vm.assertLt(left, right, err);\n }\n }\n\n function assertLtDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual {\n vm.assertLtDecimal(left, right, decimals);\n }\n\n function assertLtDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertLtDecimal(left, right, decimals, err);\n }\n\n function assertGt(uint256 left, uint256 right) internal pure virtual {\n if (left <= right) {\n vm.assertGt(left, right);\n }\n }\n\n function assertGt(uint256 left, uint256 right, string memory err) internal pure virtual {\n if (left <= right) {\n vm.assertGt(left, right, err);\n }\n }\n\n function assertGtDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual {\n vm.assertGtDecimal(left, right, decimals);\n }\n\n function assertGtDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertGtDecimal(left, right, decimals, err);\n }\n\n function assertGt(int256 left, int256 right) internal pure virtual {\n if (left <= right) {\n vm.assertGt(left, right);\n }\n }\n\n function assertGt(int256 left, int256 right, string memory err) internal pure virtual {\n if (left <= right) {\n vm.assertGt(left, right, err);\n }\n }\n\n function assertGtDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual {\n vm.assertGtDecimal(left, right, decimals);\n }\n\n function assertGtDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertGtDecimal(left, right, decimals, err);\n }\n\n function assertLe(uint256 left, uint256 right) internal pure virtual {\n if (left > right) {\n vm.assertLe(left, right);\n }\n }\n\n function assertLe(uint256 left, uint256 right, string memory err) internal pure virtual {\n if (left > right) {\n vm.assertLe(left, right, err);\n }\n }\n\n function assertLeDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual {\n vm.assertLeDecimal(left, right, decimals);\n }\n\n function assertLeDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertLeDecimal(left, right, decimals, err);\n }\n\n function assertLe(int256 left, int256 right) internal pure virtual {\n if (left > right) {\n vm.assertLe(left, right);\n }\n }\n\n function assertLe(int256 left, int256 right, string memory err) internal pure virtual {\n if (left > right) {\n vm.assertLe(left, right, err);\n }\n }\n\n function assertLeDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual {\n vm.assertLeDecimal(left, right, decimals);\n }\n\n function assertLeDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertLeDecimal(left, right, decimals, err);\n }\n\n function assertGe(uint256 left, uint256 right) internal pure virtual {\n if (left < right) {\n vm.assertGe(left, right);\n }\n }\n\n function assertGe(uint256 left, uint256 right, string memory err) internal pure virtual {\n if (left < right) {\n vm.assertGe(left, right, err);\n }\n }\n\n function assertGeDecimal(uint256 left, uint256 right, uint256 decimals) internal pure virtual {\n vm.assertGeDecimal(left, right, decimals);\n }\n\n function assertGeDecimal(uint256 left, uint256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertGeDecimal(left, right, decimals, err);\n }\n\n function assertGe(int256 left, int256 right) internal pure virtual {\n if (left < right) {\n vm.assertGe(left, right);\n }\n }\n\n function assertGe(int256 left, int256 right, string memory err) internal pure virtual {\n if (left < right) {\n vm.assertGe(left, right, err);\n }\n }\n\n function assertGeDecimal(int256 left, int256 right, uint256 decimals) internal pure virtual {\n vm.assertGeDecimal(left, right, decimals);\n }\n\n function assertGeDecimal(int256 left, int256 right, uint256 decimals, string memory err) internal pure virtual {\n vm.assertGeDecimal(left, right, decimals, err);\n }\n\n function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta) internal pure virtual {\n vm.assertApproxEqAbs(left, right, maxDelta);\n }\n\n function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta, string memory err)\n internal\n pure\n virtual\n {\n vm.assertApproxEqAbs(left, right, maxDelta, err);\n }\n\n function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals)\n internal\n pure\n virtual\n {\n vm.assertApproxEqAbsDecimal(left, right, maxDelta, decimals);\n }\n\n function assertApproxEqAbsDecimal(\n uint256 left,\n uint256 right,\n uint256 maxDelta,\n uint256 decimals,\n string memory err\n ) internal pure virtual {\n vm.assertApproxEqAbsDecimal(left, right, maxDelta, decimals, err);\n }\n\n function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta) internal pure virtual {\n vm.assertApproxEqAbs(left, right, maxDelta);\n }\n\n function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta, string memory err) internal pure virtual {\n vm.assertApproxEqAbs(left, right, maxDelta, err);\n }\n\n function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals)\n internal\n pure\n virtual\n {\n vm.assertApproxEqAbsDecimal(left, right, maxDelta, decimals);\n }\n\n function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals, string memory err)\n internal\n pure\n virtual\n {\n vm.assertApproxEqAbsDecimal(left, right, maxDelta, decimals, err);\n }\n\n function assertApproxEqRel(\n uint256 left,\n uint256 right,\n uint256 maxPercentDelta // An 18 decimal fixed point number, where 1e18 == 100%\n ) internal pure virtual {\n vm.assertApproxEqRel(left, right, maxPercentDelta);\n }\n\n function assertApproxEqRel(\n uint256 left,\n uint256 right,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n string memory err\n ) internal pure virtual {\n vm.assertApproxEqRel(left, right, maxPercentDelta, err);\n }\n\n function assertApproxEqRelDecimal(\n uint256 left,\n uint256 right,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n uint256 decimals\n ) internal pure virtual {\n vm.assertApproxEqRelDecimal(left, right, maxPercentDelta, decimals);\n }\n\n function assertApproxEqRelDecimal(\n uint256 left,\n uint256 right,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n uint256 decimals,\n string memory err\n ) internal pure virtual {\n vm.assertApproxEqRelDecimal(left, right, maxPercentDelta, decimals, err);\n }\n\n function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta) internal pure virtual {\n vm.assertApproxEqRel(left, right, maxPercentDelta);\n }\n\n function assertApproxEqRel(\n int256 left,\n int256 right,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n string memory err\n ) internal pure virtual {\n vm.assertApproxEqRel(left, right, maxPercentDelta, err);\n }\n\n function assertApproxEqRelDecimal(\n int256 left,\n int256 right,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n uint256 decimals\n ) internal pure virtual {\n vm.assertApproxEqRelDecimal(left, right, maxPercentDelta, decimals);\n }\n\n function assertApproxEqRelDecimal(\n int256 left,\n int256 right,\n uint256 maxPercentDelta, // An 18 decimal fixed point number, where 1e18 == 100%\n uint256 decimals,\n string memory err\n ) internal pure virtual {\n vm.assertApproxEqRelDecimal(left, right, maxPercentDelta, decimals, err);\n }\n\n // Inherited from DSTest, not used but kept for backwards-compatibility\n function checkEq0(bytes memory left, bytes memory right) internal pure returns (bool) {\n return keccak256(left) == keccak256(right);\n }\n\n function assertEq0(bytes memory left, bytes memory right) internal pure virtual {\n assertEq(left, right);\n }\n\n function assertEq0(bytes memory left, bytes memory right, string memory err) internal pure virtual {\n assertEq(left, right, err);\n }\n\n function assertNotEq0(bytes memory left, bytes memory right) internal pure virtual {\n assertNotEq(left, right);\n }\n\n function assertNotEq0(bytes memory left, bytes memory right, string memory err) internal pure virtual {\n assertNotEq(left, right, err);\n }\n\n function assertEqCall(address target, bytes memory callDataA, bytes memory callDataB) internal virtual {\n assertEqCall(target, callDataA, target, callDataB, true);\n }\n\n function assertEqCall(address targetA, bytes memory callDataA, address targetB, bytes memory callDataB)\n internal\n virtual\n {\n assertEqCall(targetA, callDataA, targetB, callDataB, true);\n }\n\n function assertEqCall(address target, bytes memory callDataA, bytes memory callDataB, bool strictRevertData)\n internal\n virtual\n {\n assertEqCall(target, callDataA, target, callDataB, strictRevertData);\n }\n\n function assertEqCall(\n address targetA,\n bytes memory callDataA,\n address targetB,\n bytes memory callDataB,\n bool strictRevertData\n ) internal virtual {\n (bool successA, bytes memory returnDataA) = address(targetA).call(callDataA);\n (bool successB, bytes memory returnDataB) = address(targetB).call(callDataB);\n\n if (successA && successB) {\n assertEq(returnDataA, returnDataB, \"Call return data does not match\");\n }\n\n if (!successA && !successB && strictRevertData) {\n assertEq(returnDataA, returnDataB, \"Call revert data does not match\");\n }\n\n if (!successA && successB) {\n emit log(\"Error: Calls were not equal\");\n emit log_named_bytes(\" Left call revert data\", returnDataA);\n emit log_named_bytes(\" Right call return data\", returnDataB);\n revert(\"assertion failed\");\n }\n\n if (successA && !successB) {\n emit log(\"Error: Calls were not equal\");\n emit log_named_bytes(\" Left call return data\", returnDataA);\n emit log_named_bytes(\" Right call revert data\", returnDataB);\n revert(\"assertion failed\");\n }\n }\n}\n"},"lib/forge-std/src/StdChains.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport {VmSafe} from \"./Vm.sol\";\n\n/**\n * StdChains provides information about EVM compatible chains that can be used in scripts/tests.\n * For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are\n * identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of\n * the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the\n * alias used in this contract, which can be found as the first argument to the\n * `setChainWithDefaultRpcUrl` call in the `initializeStdChains` function.\n *\n * There are two main ways to use this contract:\n * 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or\n * `setChain(string memory chainAlias, Chain memory chain)`\n * 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`.\n *\n * The first time either of those are used, chains are initialized with the default set of RPC URLs.\n * This is done in `initializeStdChains`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in\n * `defaultRpcUrls`.\n *\n * The `setChain` function is straightforward, and it simply saves off the given chain data.\n *\n * The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say\n * we want to retrieve the RPC URL for `mainnet`:\n * - If you have specified data with `setChain`, it will return that.\n * - If you have configured a mainnet RPC URL in `foundry.toml`, it will return the URL, provided it\n * is valid (e.g. a URL is specified, or an environment variable is given and exists).\n * - If neither of the above conditions is met, the default data is returned.\n *\n * Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults.\n */\nabstract contract StdChains {\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n bool private stdChainsInitialized;\n\n struct ChainData {\n string name;\n uint256 chainId;\n string rpcUrl;\n }\n\n struct Chain {\n // The chain name.\n string name;\n // The chain's Chain ID.\n uint256 chainId;\n // The chain's alias. (i.e. what gets specified in `foundry.toml`).\n string chainAlias;\n // A default RPC endpoint for this chain.\n // NOTE: This default RPC URL is included for convenience to facilitate quick tests and\n // experimentation. Do not use this RPC URL for production test suites, CI, or other heavy\n // usage as you will be throttled and this is a disservice to others who need this endpoint.\n string rpcUrl;\n }\n\n // Maps from the chain's alias (matching the alias in the `foundry.toml` file) to chain data.\n mapping(string => Chain) private chains;\n // Maps from the chain's alias to it's default RPC URL.\n mapping(string => string) private defaultRpcUrls;\n // Maps from a chain ID to it's alias.\n mapping(uint256 => string) private idToAlias;\n\n bool private fallbackToDefaultRpcUrls = true;\n\n // The RPC URL will be fetched from config or defaultRpcUrls if possible.\n function getChain(string memory chainAlias) internal virtual returns (Chain memory chain) {\n require(bytes(chainAlias).length != 0, \"StdChains getChain(string): Chain alias cannot be the empty string.\");\n\n initializeStdChains();\n chain = chains[chainAlias];\n require(\n chain.chainId != 0,\n string(abi.encodePacked(\"StdChains getChain(string): Chain with alias \\\"\", chainAlias, \"\\\" not found.\"))\n );\n\n chain = getChainWithUpdatedRpcUrl(chainAlias, chain);\n }\n\n function getChain(uint256 chainId) internal virtual returns (Chain memory chain) {\n require(chainId != 0, \"StdChains getChain(uint256): Chain ID cannot be 0.\");\n initializeStdChains();\n string memory chainAlias = idToAlias[chainId];\n\n chain = chains[chainAlias];\n\n require(\n chain.chainId != 0,\n string(abi.encodePacked(\"StdChains getChain(uint256): Chain with ID \", vm.toString(chainId), \" not found.\"))\n );\n\n chain = getChainWithUpdatedRpcUrl(chainAlias, chain);\n }\n\n // set chain info, with priority to argument's rpcUrl field.\n function setChain(string memory chainAlias, ChainData memory chain) internal virtual {\n require(\n bytes(chainAlias).length != 0,\n \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\"\n );\n\n require(chain.chainId != 0, \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\");\n\n initializeStdChains();\n string memory foundAlias = idToAlias[chain.chainId];\n\n require(\n bytes(foundAlias).length == 0 || keccak256(bytes(foundAlias)) == keccak256(bytes(chainAlias)),\n string(\n abi.encodePacked(\n \"StdChains setChain(string,ChainData): Chain ID \",\n vm.toString(chain.chainId),\n \" already used by \\\"\",\n foundAlias,\n \"\\\".\"\n )\n )\n );\n\n uint256 oldChainId = chains[chainAlias].chainId;\n delete idToAlias[oldChainId];\n\n chains[chainAlias] =\n Chain({name: chain.name, chainId: chain.chainId, chainAlias: chainAlias, rpcUrl: chain.rpcUrl});\n idToAlias[chain.chainId] = chainAlias;\n }\n\n // set chain info, with priority to argument's rpcUrl field.\n function setChain(string memory chainAlias, Chain memory chain) internal virtual {\n setChain(chainAlias, ChainData({name: chain.name, chainId: chain.chainId, rpcUrl: chain.rpcUrl}));\n }\n\n function _toUpper(string memory str) private pure returns (string memory) {\n bytes memory strb = bytes(str);\n bytes memory copy = new bytes(strb.length);\n for (uint256 i = 0; i < strb.length; i++) {\n bytes1 b = strb[i];\n if (b >= 0x61 && b <= 0x7A) {\n copy[i] = bytes1(uint8(b) - 32);\n } else {\n copy[i] = b;\n }\n }\n return string(copy);\n }\n\n // lookup rpcUrl, in descending order of priority:\n // current -> config (foundry.toml) -> environment variable -> default\n function getChainWithUpdatedRpcUrl(string memory chainAlias, Chain memory chain)\n private\n view\n returns (Chain memory)\n {\n if (bytes(chain.rpcUrl).length == 0) {\n try vm.rpcUrl(chainAlias) returns (string memory configRpcUrl) {\n chain.rpcUrl = configRpcUrl;\n } catch (bytes memory err) {\n string memory envName = string(abi.encodePacked(_toUpper(chainAlias), \"_RPC_URL\"));\n if (fallbackToDefaultRpcUrls) {\n chain.rpcUrl = vm.envOr(envName, defaultRpcUrls[chainAlias]);\n } else {\n chain.rpcUrl = vm.envString(envName);\n }\n // Distinguish 'not found' from 'cannot read'\n // The upstream error thrown by forge for failing cheats changed so we check both the old and new versions\n bytes memory oldNotFoundError =\n abi.encodeWithSignature(\"CheatCodeError\", string(abi.encodePacked(\"invalid rpc url \", chainAlias)));\n bytes memory newNotFoundError = abi.encodeWithSignature(\n \"CheatcodeError(string)\", string(abi.encodePacked(\"invalid rpc url: \", chainAlias))\n );\n bytes32 errHash = keccak256(err);\n if (\n (errHash != keccak256(oldNotFoundError) && errHash != keccak256(newNotFoundError))\n || bytes(chain.rpcUrl).length == 0\n ) {\n /// @solidity memory-safe-assembly\n assembly {\n revert(add(32, err), mload(err))\n }\n }\n }\n }\n return chain;\n }\n\n function setFallbackToDefaultRpcUrls(bool useDefault) internal {\n fallbackToDefaultRpcUrls = useDefault;\n }\n\n function initializeStdChains() private {\n if (stdChainsInitialized) return;\n\n stdChainsInitialized = true;\n\n // If adding an RPC here, make sure to test the default RPC URL in `test_Rpcs` in `StdChains.t.sol`\n setChainWithDefaultRpcUrl(\"anvil\", ChainData(\"Anvil\", 31337, \"http://127.0.0.1:8545\"));\n setChainWithDefaultRpcUrl(\"mainnet\", ChainData(\"Mainnet\", 1, \"https://eth.llamarpc.com\"));\n setChainWithDefaultRpcUrl(\n \"sepolia\", ChainData(\"Sepolia\", 11155111, \"https://sepolia.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001\")\n );\n setChainWithDefaultRpcUrl(\"holesky\", ChainData(\"Holesky\", 17000, \"https://rpc.holesky.ethpandaops.io\"));\n setChainWithDefaultRpcUrl(\"hoodi\", ChainData(\"Hoodi\", 560048, \"https://rpc.hoodi.ethpandaops.io\"));\n setChainWithDefaultRpcUrl(\"optimism\", ChainData(\"Optimism\", 10, \"https://mainnet.optimism.io\"));\n setChainWithDefaultRpcUrl(\n \"optimism_sepolia\", ChainData(\"Optimism Sepolia\", 11155420, \"https://sepolia.optimism.io\")\n );\n setChainWithDefaultRpcUrl(\"arbitrum_one\", ChainData(\"Arbitrum One\", 42161, \"https://arb1.arbitrum.io/rpc\"));\n setChainWithDefaultRpcUrl(\n \"arbitrum_one_sepolia\", ChainData(\"Arbitrum One Sepolia\", 421614, \"https://sepolia-rollup.arbitrum.io/rpc\")\n );\n setChainWithDefaultRpcUrl(\"arbitrum_nova\", ChainData(\"Arbitrum Nova\", 42170, \"https://nova.arbitrum.io/rpc\"));\n setChainWithDefaultRpcUrl(\"polygon\", ChainData(\"Polygon\", 137, \"https://polygon-rpc.com\"));\n setChainWithDefaultRpcUrl(\n \"polygon_amoy\", ChainData(\"Polygon Amoy\", 80002, \"https://rpc-amoy.polygon.technology\")\n );\n setChainWithDefaultRpcUrl(\"avalanche\", ChainData(\"Avalanche\", 43114, \"https://api.avax.network/ext/bc/C/rpc\"));\n setChainWithDefaultRpcUrl(\n \"avalanche_fuji\", ChainData(\"Avalanche Fuji\", 43113, \"https://api.avax-test.network/ext/bc/C/rpc\")\n );\n setChainWithDefaultRpcUrl(\n \"bnb_smart_chain\", ChainData(\"BNB Smart Chain\", 56, \"https://bsc-dataseed1.binance.org\")\n );\n setChainWithDefaultRpcUrl(\n \"bnb_smart_chain_testnet\",\n ChainData(\"BNB Smart Chain Testnet\", 97, \"https://rpc.ankr.com/bsc_testnet_chapel\")\n );\n setChainWithDefaultRpcUrl(\"gnosis_chain\", ChainData(\"Gnosis Chain\", 100, \"https://rpc.gnosischain.com\"));\n setChainWithDefaultRpcUrl(\"moonbeam\", ChainData(\"Moonbeam\", 1284, \"https://rpc.api.moonbeam.network\"));\n setChainWithDefaultRpcUrl(\n \"moonriver\", ChainData(\"Moonriver\", 1285, \"https://rpc.api.moonriver.moonbeam.network\")\n );\n setChainWithDefaultRpcUrl(\"moonbase\", ChainData(\"Moonbase\", 1287, \"https://rpc.testnet.moonbeam.network\"));\n setChainWithDefaultRpcUrl(\"base_sepolia\", ChainData(\"Base Sepolia\", 84532, \"https://sepolia.base.org\"));\n setChainWithDefaultRpcUrl(\"base\", ChainData(\"Base\", 8453, \"https://mainnet.base.org\"));\n setChainWithDefaultRpcUrl(\"blast_sepolia\", ChainData(\"Blast Sepolia\", 168587773, \"https://sepolia.blast.io\"));\n setChainWithDefaultRpcUrl(\"blast\", ChainData(\"Blast\", 81457, \"https://rpc.blast.io\"));\n setChainWithDefaultRpcUrl(\"fantom_opera\", ChainData(\"Fantom Opera\", 250, \"https://rpc.ankr.com/fantom/\"));\n setChainWithDefaultRpcUrl(\n \"fantom_opera_testnet\", ChainData(\"Fantom Opera Testnet\", 4002, \"https://rpc.ankr.com/fantom_testnet/\")\n );\n setChainWithDefaultRpcUrl(\"fraxtal\", ChainData(\"Fraxtal\", 252, \"https://rpc.frax.com\"));\n setChainWithDefaultRpcUrl(\"fraxtal_testnet\", ChainData(\"Fraxtal Testnet\", 2522, \"https://rpc.testnet.frax.com\"));\n setChainWithDefaultRpcUrl(\n \"berachain_bartio_testnet\", ChainData(\"Berachain bArtio Testnet\", 80084, \"https://bartio.rpc.berachain.com\")\n );\n setChainWithDefaultRpcUrl(\"flare\", ChainData(\"Flare\", 14, \"https://flare-api.flare.network/ext/C/rpc\"));\n setChainWithDefaultRpcUrl(\n \"flare_coston2\", ChainData(\"Flare Coston2\", 114, \"https://coston2-api.flare.network/ext/C/rpc\")\n );\n\n setChainWithDefaultRpcUrl(\"mode\", ChainData(\"Mode\", 34443, \"https://mode.drpc.org\"));\n setChainWithDefaultRpcUrl(\"mode_sepolia\", ChainData(\"Mode Sepolia\", 919, \"https://sepolia.mode.network\"));\n\n setChainWithDefaultRpcUrl(\"zora\", ChainData(\"Zora\", 7777777, \"https://zora.drpc.org\"));\n setChainWithDefaultRpcUrl(\n \"zora_sepolia\", ChainData(\"Zora Sepolia\", 999999999, \"https://sepolia.rpc.zora.energy\")\n );\n\n setChainWithDefaultRpcUrl(\"race\", ChainData(\"Race\", 6805, \"https://racemainnet.io\"));\n setChainWithDefaultRpcUrl(\"race_sepolia\", ChainData(\"Race Sepolia\", 6806, \"https://racemainnet.io\"));\n\n setChainWithDefaultRpcUrl(\"metal\", ChainData(\"Metal\", 1750, \"https://metall2.drpc.org\"));\n setChainWithDefaultRpcUrl(\"metal_sepolia\", ChainData(\"Metal Sepolia\", 1740, \"https://testnet.rpc.metall2.com\"));\n\n setChainWithDefaultRpcUrl(\"binary\", ChainData(\"Binary\", 624, \"https://rpc.zero.thebinaryholdings.com\"));\n setChainWithDefaultRpcUrl(\n \"binary_sepolia\", ChainData(\"Binary Sepolia\", 625, \"https://rpc.zero.thebinaryholdings.com\")\n );\n\n setChainWithDefaultRpcUrl(\"orderly\", ChainData(\"Orderly\", 291, \"https://rpc.orderly.network\"));\n setChainWithDefaultRpcUrl(\n \"orderly_sepolia\", ChainData(\"Orderly Sepolia\", 4460, \"https://testnet-rpc.orderly.org\")\n );\n }\n\n // set chain info, with priority to chainAlias' rpc url in foundry.toml\n function setChainWithDefaultRpcUrl(string memory chainAlias, ChainData memory chain) private {\n string memory rpcUrl = chain.rpcUrl;\n defaultRpcUrls[chainAlias] = rpcUrl;\n chain.rpcUrl = \"\";\n setChain(chainAlias, chain);\n chain.rpcUrl = rpcUrl; // restore argument\n }\n}\n"},"lib/forge-std/src/StdCheats.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {StdStorage, stdStorage} from \"./StdStorage.sol\";\nimport {console2} from \"./console2.sol\";\nimport {Vm} from \"./Vm.sol\";\n\nabstract contract StdCheatsSafe {\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n uint256 private constant UINT256_MAX =\n 115792089237316195423570985008687907853269984665640564039457584007913129639935;\n\n bool private gasMeteringOff;\n\n // Data structures to parse Transaction objects from the broadcast artifact\n // that conform to EIP1559. The Raw structs is what is parsed from the JSON\n // and then converted to the one that is used by the user for better UX.\n\n struct RawTx1559 {\n string[] arguments;\n address contractAddress;\n string contractName;\n // json value name = function\n string functionSig;\n bytes32 hash;\n // json value name = tx\n RawTx1559Detail txDetail;\n // json value name = type\n string opcode;\n }\n\n struct RawTx1559Detail {\n AccessList[] accessList;\n bytes data;\n address from;\n bytes gas;\n bytes nonce;\n address to;\n bytes txType;\n bytes value;\n }\n\n struct Tx1559 {\n string[] arguments;\n address contractAddress;\n string contractName;\n string functionSig;\n bytes32 hash;\n Tx1559Detail txDetail;\n string opcode;\n }\n\n struct Tx1559Detail {\n AccessList[] accessList;\n bytes data;\n address from;\n uint256 gas;\n uint256 nonce;\n address to;\n uint256 txType;\n uint256 value;\n }\n\n // Data structures to parse Transaction objects from the broadcast artifact\n // that DO NOT conform to EIP1559. The Raw structs is what is parsed from the JSON\n // and then converted to the one that is used by the user for better UX.\n\n struct TxLegacy {\n string[] arguments;\n address contractAddress;\n string contractName;\n string functionSig;\n string hash;\n string opcode;\n TxDetailLegacy transaction;\n }\n\n struct TxDetailLegacy {\n AccessList[] accessList;\n uint256 chainId;\n bytes data;\n address from;\n uint256 gas;\n uint256 gasPrice;\n bytes32 hash;\n uint256 nonce;\n bytes1 opcode;\n bytes32 r;\n bytes32 s;\n uint256 txType;\n address to;\n uint8 v;\n uint256 value;\n }\n\n struct AccessList {\n address accessAddress;\n bytes32[] storageKeys;\n }\n\n // Data structures to parse Receipt objects from the broadcast artifact.\n // The Raw structs is what is parsed from the JSON\n // and then converted to the one that is used by the user for better UX.\n\n struct RawReceipt {\n bytes32 blockHash;\n bytes blockNumber;\n address contractAddress;\n bytes cumulativeGasUsed;\n bytes effectiveGasPrice;\n address from;\n bytes gasUsed;\n RawReceiptLog[] logs;\n bytes logsBloom;\n bytes status;\n address to;\n bytes32 transactionHash;\n bytes transactionIndex;\n }\n\n struct Receipt {\n bytes32 blockHash;\n uint256 blockNumber;\n address contractAddress;\n uint256 cumulativeGasUsed;\n uint256 effectiveGasPrice;\n address from;\n uint256 gasUsed;\n ReceiptLog[] logs;\n bytes logsBloom;\n uint256 status;\n address to;\n bytes32 transactionHash;\n uint256 transactionIndex;\n }\n\n // Data structures to parse the entire broadcast artifact, assuming the\n // transactions conform to EIP1559.\n\n struct EIP1559ScriptArtifact {\n string[] libraries;\n string path;\n string[] pending;\n Receipt[] receipts;\n uint256 timestamp;\n Tx1559[] transactions;\n TxReturn[] txReturns;\n }\n\n struct RawEIP1559ScriptArtifact {\n string[] libraries;\n string path;\n string[] pending;\n RawReceipt[] receipts;\n TxReturn[] txReturns;\n uint256 timestamp;\n RawTx1559[] transactions;\n }\n\n struct RawReceiptLog {\n // json value = address\n address logAddress;\n bytes32 blockHash;\n bytes blockNumber;\n bytes data;\n bytes logIndex;\n bool removed;\n bytes32[] topics;\n bytes32 transactionHash;\n bytes transactionIndex;\n bytes transactionLogIndex;\n }\n\n struct ReceiptLog {\n // json value = address\n address logAddress;\n bytes32 blockHash;\n uint256 blockNumber;\n bytes data;\n uint256 logIndex;\n bytes32[] topics;\n uint256 transactionIndex;\n uint256 transactionLogIndex;\n bool removed;\n }\n\n struct TxReturn {\n string internalType;\n string value;\n }\n\n struct Account {\n address addr;\n uint256 key;\n }\n\n enum AddressType {\n Payable,\n NonPayable,\n ZeroAddress,\n Precompile,\n ForgeAddress\n }\n\n // Checks that `addr` is not blacklisted by token contracts that have a blacklist.\n function assumeNotBlacklisted(address token, address addr) internal view virtual {\n // Nothing to check if `token` is not a contract.\n uint256 tokenCodeSize;\n assembly {\n tokenCodeSize := extcodesize(token)\n }\n require(tokenCodeSize > 0, \"StdCheats assumeNotBlacklisted(address,address): Token address is not a contract.\");\n\n bool success;\n bytes memory returnData;\n\n // 4-byte selector for `isBlacklisted(address)`, used by USDC.\n (success, returnData) = token.staticcall(abi.encodeWithSelector(0xfe575a87, addr));\n vm.assume(!success || abi.decode(returnData, (bool)) == false);\n\n // 4-byte selector for `isBlackListed(address)`, used by USDT.\n (success, returnData) = token.staticcall(abi.encodeWithSelector(0xe47d6060, addr));\n vm.assume(!success || abi.decode(returnData, (bool)) == false);\n }\n\n // Checks that `addr` is not blacklisted by token contracts that have a blacklist.\n // This is identical to `assumeNotBlacklisted(address,address)` but with a different name, for\n // backwards compatibility, since this name was used in the original PR which already has\n // a release. This function can be removed in a future release once we want a breaking change.\n function assumeNoBlacklisted(address token, address addr) internal view virtual {\n assumeNotBlacklisted(token, addr);\n }\n\n function assumeAddressIsNot(address addr, AddressType addressType) internal virtual {\n if (addressType == AddressType.Payable) {\n assumeNotPayable(addr);\n } else if (addressType == AddressType.NonPayable) {\n assumePayable(addr);\n } else if (addressType == AddressType.ZeroAddress) {\n assumeNotZeroAddress(addr);\n } else if (addressType == AddressType.Precompile) {\n assumeNotPrecompile(addr);\n } else if (addressType == AddressType.ForgeAddress) {\n assumeNotForgeAddress(addr);\n }\n }\n\n function assumeAddressIsNot(address addr, AddressType addressType1, AddressType addressType2) internal virtual {\n assumeAddressIsNot(addr, addressType1);\n assumeAddressIsNot(addr, addressType2);\n }\n\n function assumeAddressIsNot(\n address addr,\n AddressType addressType1,\n AddressType addressType2,\n AddressType addressType3\n ) internal virtual {\n assumeAddressIsNot(addr, addressType1);\n assumeAddressIsNot(addr, addressType2);\n assumeAddressIsNot(addr, addressType3);\n }\n\n function assumeAddressIsNot(\n address addr,\n AddressType addressType1,\n AddressType addressType2,\n AddressType addressType3,\n AddressType addressType4\n ) internal virtual {\n assumeAddressIsNot(addr, addressType1);\n assumeAddressIsNot(addr, addressType2);\n assumeAddressIsNot(addr, addressType3);\n assumeAddressIsNot(addr, addressType4);\n }\n\n // This function checks whether an address, `addr`, is payable. It works by sending 1 wei to\n // `addr` and checking the `success` return value.\n // NOTE: This function may result in state changes depending on the fallback/receive logic\n // implemented by `addr`, which should be taken into account when this function is used.\n function _isPayable(address addr) private returns (bool) {\n require(\n addr.balance < UINT256_MAX,\n \"StdCheats _isPayable(address): Balance equals max uint256, so it cannot receive any more funds\"\n );\n uint256 origBalanceTest = address(this).balance;\n uint256 origBalanceAddr = address(addr).balance;\n\n vm.deal(address(this), 1);\n (bool success,) = payable(addr).call{value: 1}(\"\");\n\n // reset balances\n vm.deal(address(this), origBalanceTest);\n vm.deal(addr, origBalanceAddr);\n\n return success;\n }\n\n // NOTE: This function may result in state changes depending on the fallback/receive logic\n // implemented by `addr`, which should be taken into account when this function is used. See the\n // `_isPayable` method for more information.\n function assumePayable(address addr) internal virtual {\n vm.assume(_isPayable(addr));\n }\n\n function assumeNotPayable(address addr) internal virtual {\n vm.assume(!_isPayable(addr));\n }\n\n function assumeNotZeroAddress(address addr) internal pure virtual {\n vm.assume(addr != address(0));\n }\n\n function assumeNotPrecompile(address addr) internal pure virtual {\n assumeNotPrecompile(addr, _pureChainId());\n }\n\n function assumeNotPrecompile(address addr, uint256 chainId) internal pure virtual {\n // Note: For some chains like Optimism these are technically predeploys (i.e. bytecode placed at a specific\n // address), but the same rationale for excluding them applies so we include those too.\n\n // These are reserved by Ethereum and may be on all EVM-compatible chains.\n vm.assume(addr < address(0x1) || addr > address(0xff));\n\n // forgefmt: disable-start\n if (chainId == 10 || chainId == 420) {\n // https://github.com/ethereum-optimism/optimism/blob/eaa371a0184b56b7ca6d9eb9cb0a2b78b2ccd864/op-bindings/predeploys/addresses.go#L6-L21\n vm.assume(addr < address(0x4200000000000000000000000000000000000000) || addr > address(0x4200000000000000000000000000000000000800));\n } else if (chainId == 42161 || chainId == 421613) {\n // https://developer.arbitrum.io/useful-addresses#arbitrum-precompiles-l2-same-on-all-arb-chains\n vm.assume(addr < address(0x0000000000000000000000000000000000000064) || addr > address(0x0000000000000000000000000000000000000068));\n } else if (chainId == 43114 || chainId == 43113) {\n // https://github.com/ava-labs/subnet-evm/blob/47c03fd007ecaa6de2c52ea081596e0a88401f58/precompile/params.go#L18-L59\n vm.assume(addr < address(0x0100000000000000000000000000000000000000) || addr > address(0x01000000000000000000000000000000000000ff));\n vm.assume(addr < address(0x0200000000000000000000000000000000000000) || addr > address(0x02000000000000000000000000000000000000FF));\n vm.assume(addr < address(0x0300000000000000000000000000000000000000) || addr > address(0x03000000000000000000000000000000000000Ff));\n }\n // forgefmt: disable-end\n }\n\n function assumeNotForgeAddress(address addr) internal pure virtual {\n // vm, console, and Create2Deployer addresses\n vm.assume(\n addr != address(vm) && addr != 0x000000000000000000636F6e736F6c652e6c6f67\n && addr != 0x4e59b44847b379578588920cA78FbF26c0B4956C\n );\n }\n\n function assumeUnusedAddress(address addr) internal view virtual {\n uint256 size;\n assembly {\n size := extcodesize(addr)\n }\n vm.assume(size == 0);\n\n assumeNotPrecompile(addr);\n assumeNotZeroAddress(addr);\n assumeNotForgeAddress(addr);\n }\n\n function readEIP1559ScriptArtifact(string memory path)\n internal\n view\n virtual\n returns (EIP1559ScriptArtifact memory)\n {\n string memory data = vm.readFile(path);\n bytes memory parsedData = vm.parseJson(data);\n RawEIP1559ScriptArtifact memory rawArtifact = abi.decode(parsedData, (RawEIP1559ScriptArtifact));\n EIP1559ScriptArtifact memory artifact;\n artifact.libraries = rawArtifact.libraries;\n artifact.path = rawArtifact.path;\n artifact.timestamp = rawArtifact.timestamp;\n artifact.pending = rawArtifact.pending;\n artifact.txReturns = rawArtifact.txReturns;\n artifact.receipts = rawToConvertedReceipts(rawArtifact.receipts);\n artifact.transactions = rawToConvertedEIPTx1559s(rawArtifact.transactions);\n return artifact;\n }\n\n function rawToConvertedEIPTx1559s(RawTx1559[] memory rawTxs) internal pure virtual returns (Tx1559[] memory) {\n Tx1559[] memory txs = new Tx1559[](rawTxs.length);\n for (uint256 i; i < rawTxs.length; i++) {\n txs[i] = rawToConvertedEIPTx1559(rawTxs[i]);\n }\n return txs;\n }\n\n function rawToConvertedEIPTx1559(RawTx1559 memory rawTx) internal pure virtual returns (Tx1559 memory) {\n Tx1559 memory transaction;\n transaction.arguments = rawTx.arguments;\n transaction.contractName = rawTx.contractName;\n transaction.functionSig = rawTx.functionSig;\n transaction.hash = rawTx.hash;\n transaction.txDetail = rawToConvertedEIP1559Detail(rawTx.txDetail);\n transaction.opcode = rawTx.opcode;\n return transaction;\n }\n\n function rawToConvertedEIP1559Detail(RawTx1559Detail memory rawDetail)\n internal\n pure\n virtual\n returns (Tx1559Detail memory)\n {\n Tx1559Detail memory txDetail;\n txDetail.data = rawDetail.data;\n txDetail.from = rawDetail.from;\n txDetail.to = rawDetail.to;\n txDetail.nonce = _bytesToUint(rawDetail.nonce);\n txDetail.txType = _bytesToUint(rawDetail.txType);\n txDetail.value = _bytesToUint(rawDetail.value);\n txDetail.gas = _bytesToUint(rawDetail.gas);\n txDetail.accessList = rawDetail.accessList;\n return txDetail;\n }\n\n function readTx1559s(string memory path) internal view virtual returns (Tx1559[] memory) {\n string memory deployData = vm.readFile(path);\n bytes memory parsedDeployData = vm.parseJson(deployData, \".transactions\");\n RawTx1559[] memory rawTxs = abi.decode(parsedDeployData, (RawTx1559[]));\n return rawToConvertedEIPTx1559s(rawTxs);\n }\n\n function readTx1559(string memory path, uint256 index) internal view virtual returns (Tx1559 memory) {\n string memory deployData = vm.readFile(path);\n string memory key = string(abi.encodePacked(\".transactions[\", vm.toString(index), \"]\"));\n bytes memory parsedDeployData = vm.parseJson(deployData, key);\n RawTx1559 memory rawTx = abi.decode(parsedDeployData, (RawTx1559));\n return rawToConvertedEIPTx1559(rawTx);\n }\n\n // Analogous to readTransactions, but for receipts.\n function readReceipts(string memory path) internal view virtual returns (Receipt[] memory) {\n string memory deployData = vm.readFile(path);\n bytes memory parsedDeployData = vm.parseJson(deployData, \".receipts\");\n RawReceipt[] memory rawReceipts = abi.decode(parsedDeployData, (RawReceipt[]));\n return rawToConvertedReceipts(rawReceipts);\n }\n\n function readReceipt(string memory path, uint256 index) internal view virtual returns (Receipt memory) {\n string memory deployData = vm.readFile(path);\n string memory key = string(abi.encodePacked(\".receipts[\", vm.toString(index), \"]\"));\n bytes memory parsedDeployData = vm.parseJson(deployData, key);\n RawReceipt memory rawReceipt = abi.decode(parsedDeployData, (RawReceipt));\n return rawToConvertedReceipt(rawReceipt);\n }\n\n function rawToConvertedReceipts(RawReceipt[] memory rawReceipts) internal pure virtual returns (Receipt[] memory) {\n Receipt[] memory receipts = new Receipt[](rawReceipts.length);\n for (uint256 i; i < rawReceipts.length; i++) {\n receipts[i] = rawToConvertedReceipt(rawReceipts[i]);\n }\n return receipts;\n }\n\n function rawToConvertedReceipt(RawReceipt memory rawReceipt) internal pure virtual returns (Receipt memory) {\n Receipt memory receipt;\n receipt.blockHash = rawReceipt.blockHash;\n receipt.to = rawReceipt.to;\n receipt.from = rawReceipt.from;\n receipt.contractAddress = rawReceipt.contractAddress;\n receipt.effectiveGasPrice = _bytesToUint(rawReceipt.effectiveGasPrice);\n receipt.cumulativeGasUsed = _bytesToUint(rawReceipt.cumulativeGasUsed);\n receipt.gasUsed = _bytesToUint(rawReceipt.gasUsed);\n receipt.status = _bytesToUint(rawReceipt.status);\n receipt.transactionIndex = _bytesToUint(rawReceipt.transactionIndex);\n receipt.blockNumber = _bytesToUint(rawReceipt.blockNumber);\n receipt.logs = rawToConvertedReceiptLogs(rawReceipt.logs);\n receipt.logsBloom = rawReceipt.logsBloom;\n receipt.transactionHash = rawReceipt.transactionHash;\n return receipt;\n }\n\n function rawToConvertedReceiptLogs(RawReceiptLog[] memory rawLogs)\n internal\n pure\n virtual\n returns (ReceiptLog[] memory)\n {\n ReceiptLog[] memory logs = new ReceiptLog[](rawLogs.length);\n for (uint256 i; i < rawLogs.length; i++) {\n logs[i].logAddress = rawLogs[i].logAddress;\n logs[i].blockHash = rawLogs[i].blockHash;\n logs[i].blockNumber = _bytesToUint(rawLogs[i].blockNumber);\n logs[i].data = rawLogs[i].data;\n logs[i].logIndex = _bytesToUint(rawLogs[i].logIndex);\n logs[i].topics = rawLogs[i].topics;\n logs[i].transactionIndex = _bytesToUint(rawLogs[i].transactionIndex);\n logs[i].transactionLogIndex = _bytesToUint(rawLogs[i].transactionLogIndex);\n logs[i].removed = rawLogs[i].removed;\n }\n return logs;\n }\n\n // Deploy a contract by fetching the contract bytecode from\n // the artifacts directory\n // e.g. `deployCode(code, abi.encode(arg1,arg2,arg3))`\n function deployCode(string memory what, bytes memory args) internal virtual returns (address addr) {\n bytes memory bytecode = abi.encodePacked(vm.getCode(what), args);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(0, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string,bytes): Deployment failed.\");\n }\n\n function deployCode(string memory what) internal virtual returns (address addr) {\n bytes memory bytecode = vm.getCode(what);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(0, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string): Deployment failed.\");\n }\n\n /// @dev deploy contract with value on construction\n function deployCode(string memory what, bytes memory args, uint256 val) internal virtual returns (address addr) {\n bytes memory bytecode = abi.encodePacked(vm.getCode(what), args);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(val, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\");\n }\n\n function deployCode(string memory what, uint256 val) internal virtual returns (address addr) {\n bytes memory bytecode = vm.getCode(what);\n /// @solidity memory-safe-assembly\n assembly {\n addr := create(val, add(bytecode, 0x20), mload(bytecode))\n }\n\n require(addr != address(0), \"StdCheats deployCode(string,uint256): Deployment failed.\");\n }\n\n // creates a labeled address and the corresponding private key\n function makeAddrAndKey(string memory name) internal virtual returns (address addr, uint256 privateKey) {\n privateKey = uint256(keccak256(abi.encodePacked(name)));\n addr = vm.addr(privateKey);\n vm.label(addr, name);\n }\n\n // creates a labeled address\n function makeAddr(string memory name) internal virtual returns (address addr) {\n (addr,) = makeAddrAndKey(name);\n }\n\n // Destroys an account immediately, sending the balance to beneficiary.\n // Destroying means: balance will be zero, code will be empty, and nonce will be 0\n // This is similar to selfdestruct but not identical: selfdestruct destroys code and nonce\n // only after tx ends, this will run immediately.\n function destroyAccount(address who, address beneficiary) internal virtual {\n uint256 currBalance = who.balance;\n vm.etch(who, abi.encode());\n vm.deal(who, 0);\n vm.resetNonce(who);\n\n uint256 beneficiaryBalance = beneficiary.balance;\n vm.deal(beneficiary, currBalance + beneficiaryBalance);\n }\n\n // creates a struct containing both a labeled address and the corresponding private key\n function makeAccount(string memory name) internal virtual returns (Account memory account) {\n (account.addr, account.key) = makeAddrAndKey(name);\n }\n\n function deriveRememberKey(string memory mnemonic, uint32 index)\n internal\n virtual\n returns (address who, uint256 privateKey)\n {\n privateKey = vm.deriveKey(mnemonic, index);\n who = vm.rememberKey(privateKey);\n }\n\n function _bytesToUint(bytes memory b) private pure returns (uint256) {\n require(b.length <= 32, \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\");\n return abi.decode(abi.encodePacked(new bytes(32 - b.length), b), (uint256));\n }\n\n function isFork() internal view virtual returns (bool status) {\n try vm.activeFork() {\n status = true;\n } catch (bytes memory) {}\n }\n\n modifier skipWhenForking() {\n if (!isFork()) {\n _;\n }\n }\n\n modifier skipWhenNotForking() {\n if (isFork()) {\n _;\n }\n }\n\n modifier noGasMetering() {\n vm.pauseGasMetering();\n // To prevent turning gas monitoring back on with nested functions that use this modifier,\n // we check if gasMetering started in the off position. If it did, we don't want to turn\n // it back on until we exit the top level function that used the modifier\n //\n // i.e. funcA() noGasMetering { funcB() }, where funcB has noGasMetering as well.\n // funcA will have `gasStartedOff` as false, funcB will have it as true,\n // so we only turn metering back on at the end of the funcA\n bool gasStartedOff = gasMeteringOff;\n gasMeteringOff = true;\n\n _;\n\n // if gas metering was on when this modifier was called, turn it back on at the end\n if (!gasStartedOff) {\n gasMeteringOff = false;\n vm.resumeGasMetering();\n }\n }\n\n // We use this complex approach of `_viewChainId` and `_pureChainId` to ensure there are no\n // compiler warnings when accessing chain ID in any solidity version supported by forge-std. We\n // can't simply access the chain ID in a normal view or pure function because the solc View Pure\n // Checker changed `chainid` from pure to view in 0.8.0.\n function _viewChainId() private view returns (uint256 chainId) {\n // Assembly required since `block.chainid` was introduced in 0.8.0.\n assembly {\n chainId := chainid()\n }\n\n address(this); // Silence warnings in older Solc versions.\n }\n\n function _pureChainId() private pure returns (uint256 chainId) {\n function() internal view returns (uint256) fnIn = _viewChainId;\n function() internal pure returns (uint256) pureChainId;\n assembly {\n pureChainId := fnIn\n }\n chainId = pureChainId();\n }\n}\n\n// Wrappers around cheatcodes to avoid footguns\nabstract contract StdCheats is StdCheatsSafe {\n using stdStorage for StdStorage;\n\n StdStorage private stdstore;\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n address private constant CONSOLE2_ADDRESS = 0x000000000000000000636F6e736F6c652e6c6f67;\n\n // Skip forward or rewind time by the specified number of seconds\n function skip(uint256 time) internal virtual {\n vm.warp(vm.getBlockTimestamp() + time);\n }\n\n function rewind(uint256 time) internal virtual {\n vm.warp(vm.getBlockTimestamp() - time);\n }\n\n // Setup a prank from an address that has some ether\n function hoax(address msgSender) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.prank(msgSender);\n }\n\n function hoax(address msgSender, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.prank(msgSender);\n }\n\n function hoax(address msgSender, address origin) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.prank(msgSender, origin);\n }\n\n function hoax(address msgSender, address origin, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.prank(msgSender, origin);\n }\n\n // Start perpetual prank from an address that has some ether\n function startHoax(address msgSender) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.startPrank(msgSender);\n }\n\n function startHoax(address msgSender, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.startPrank(msgSender);\n }\n\n // Start perpetual prank from an address that has some ether\n // tx.origin is set to the origin parameter\n function startHoax(address msgSender, address origin) internal virtual {\n vm.deal(msgSender, 1 << 128);\n vm.startPrank(msgSender, origin);\n }\n\n function startHoax(address msgSender, address origin, uint256 give) internal virtual {\n vm.deal(msgSender, give);\n vm.startPrank(msgSender, origin);\n }\n\n function changePrank(address msgSender) internal virtual {\n console2_log_StdCheats(\"changePrank is deprecated. Please use vm.startPrank instead.\");\n vm.stopPrank();\n vm.startPrank(msgSender);\n }\n\n function changePrank(address msgSender, address txOrigin) internal virtual {\n vm.stopPrank();\n vm.startPrank(msgSender, txOrigin);\n }\n\n // The same as Vm's `deal`\n // Use the alternative signature for ERC20 tokens\n function deal(address to, uint256 give) internal virtual {\n vm.deal(to, give);\n }\n\n // Set the balance of an account for any ERC20 token\n // Use the alternative signature to update `totalSupply`\n function deal(address token, address to, uint256 give) internal virtual {\n deal(token, to, give, false);\n }\n\n // Set the balance of an account for any ERC1155 token\n // Use the alternative signature to update `totalSupply`\n function dealERC1155(address token, address to, uint256 id, uint256 give) internal virtual {\n dealERC1155(token, to, id, give, false);\n }\n\n function deal(address token, address to, uint256 give, bool adjust) internal virtual {\n // get current balance\n (, bytes memory balData) = token.staticcall(abi.encodeWithSelector(0x70a08231, to));\n uint256 prevBal = abi.decode(balData, (uint256));\n\n // update balance\n stdstore.target(token).sig(0x70a08231).with_key(to).checked_write(give);\n\n // update total supply\n if (adjust) {\n (, bytes memory totSupData) = token.staticcall(abi.encodeWithSelector(0x18160ddd));\n uint256 totSup = abi.decode(totSupData, (uint256));\n if (give < prevBal) {\n totSup -= (prevBal - give);\n } else {\n totSup += (give - prevBal);\n }\n stdstore.target(token).sig(0x18160ddd).checked_write(totSup);\n }\n }\n\n function dealERC1155(address token, address to, uint256 id, uint256 give, bool adjust) internal virtual {\n // get current balance\n (, bytes memory balData) = token.staticcall(abi.encodeWithSelector(0x00fdd58e, to, id));\n uint256 prevBal = abi.decode(balData, (uint256));\n\n // update balance\n stdstore.target(token).sig(0x00fdd58e).with_key(to).with_key(id).checked_write(give);\n\n // update total supply\n if (adjust) {\n (, bytes memory totSupData) = token.staticcall(abi.encodeWithSelector(0xbd85b039, id));\n require(\n totSupData.length != 0,\n \"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply.\"\n );\n uint256 totSup = abi.decode(totSupData, (uint256));\n if (give < prevBal) {\n totSup -= (prevBal - give);\n } else {\n totSup += (give - prevBal);\n }\n stdstore.target(token).sig(0xbd85b039).with_key(id).checked_write(totSup);\n }\n }\n\n function dealERC721(address token, address to, uint256 id) internal virtual {\n // check if token id is already minted and the actual owner.\n (bool successMinted, bytes memory ownerData) = token.staticcall(abi.encodeWithSelector(0x6352211e, id));\n require(successMinted, \"StdCheats deal(address,address,uint,bool): id not minted.\");\n\n // get owner current balance\n (, bytes memory fromBalData) =\n token.staticcall(abi.encodeWithSelector(0x70a08231, abi.decode(ownerData, (address))));\n uint256 fromPrevBal = abi.decode(fromBalData, (uint256));\n\n // get new user current balance\n (, bytes memory toBalData) = token.staticcall(abi.encodeWithSelector(0x70a08231, to));\n uint256 toPrevBal = abi.decode(toBalData, (uint256));\n\n // update balances\n stdstore.target(token).sig(0x70a08231).with_key(abi.decode(ownerData, (address))).checked_write(--fromPrevBal);\n stdstore.target(token).sig(0x70a08231).with_key(to).checked_write(++toPrevBal);\n\n // update owner\n stdstore.target(token).sig(0x6352211e).with_key(id).checked_write(to);\n }\n\n function deployCodeTo(string memory what, address where) internal virtual {\n deployCodeTo(what, \"\", 0, where);\n }\n\n function deployCodeTo(string memory what, bytes memory args, address where) internal virtual {\n deployCodeTo(what, args, 0, where);\n }\n\n function deployCodeTo(string memory what, bytes memory args, uint256 value, address where) internal virtual {\n bytes memory creationCode = vm.getCode(what);\n vm.etch(where, abi.encodePacked(creationCode, args));\n (bool success, bytes memory runtimeBytecode) = where.call{value: value}(\"\");\n require(success, \"StdCheats deployCodeTo(string,bytes,uint256,address): Failed to create runtime bytecode.\");\n vm.etch(where, runtimeBytecode);\n }\n\n // Used to prevent the compilation of console, which shortens the compilation time when console is not used elsewhere.\n function console2_log_StdCheats(string memory p0) private view {\n (bool status,) = address(CONSOLE2_ADDRESS).staticcall(abi.encodeWithSignature(\"log(string)\", p0));\n status;\n }\n}\n"},"lib/forge-std/src/StdConstants.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {IMulticall3} from \"./interfaces/IMulticall3.sol\";\nimport {Vm} from \"./Vm.sol\";\n\nlibrary StdConstants {\n /// @dev Cheat code address.\n /// Calculated as `address(uint160(uint256(keccak256(\"hevm cheat code\"))))`.\n Vm internal constant VM = Vm(0x7109709ECfa91a80626fF3989D68f67F5b1DD12D);\n /// @dev console.sol and console2.sol work by executing a staticcall to this address.\n /// Calculated as `address(uint160(uint88(bytes11(\"console.log\"))))`.\n address internal constant CONSOLE = 0x000000000000000000636F6e736F6c652e6c6f67;\n /// @dev Used when deploying with create2.\n /// Taken from https://github.com/Arachnid/deterministic-deployment-proxy.\n address internal constant CREATE2_FACTORY = 0x4e59b44847b379578588920cA78FbF26c0B4956C;\n /// @dev The default address for tx.origin and msg.sender.\n /// Calculated as `address(uint160(uint256(keccak256(\"foundry default caller\"))))`.\n address internal constant DEFAULT_SENDER = 0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38;\n /// @dev The address of the first contract `CREATE`d by a running test contract.\n /// When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1.\n /// Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`.\n address internal constant DEFAULT_TEST_CONTRACT = 0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f;\n /// @dev Deterministic deployment address of the Multicall3 contract.\n /// Taken from https://www.multicall3.com.\n IMulticall3 internal constant MULTICALL3_ADDRESS = IMulticall3(0xcA11bde05977b3631167028862bE2a173976CA11);\n /// @dev The order of the secp256k1 curve.\n uint256 internal constant SECP256K1_ORDER =\n 115792089237316195423570985008687907852837564279074904382605163141518161494337;\n}\n"},"lib/forge-std/src/StdError.sol":{"content":"// SPDX-License-Identifier: MIT\n// Panics work for versions >=0.8.0, but we lowered the pragma to make this compatible with Test\npragma solidity >=0.6.2 <0.9.0;\n\nlibrary stdError {\n bytes public constant assertionError = abi.encodeWithSignature(\"Panic(uint256)\", 0x01);\n bytes public constant arithmeticError = abi.encodeWithSignature(\"Panic(uint256)\", 0x11);\n bytes public constant divisionError = abi.encodeWithSignature(\"Panic(uint256)\", 0x12);\n bytes public constant enumConversionError = abi.encodeWithSignature(\"Panic(uint256)\", 0x21);\n bytes public constant encodeStorageError = abi.encodeWithSignature(\"Panic(uint256)\", 0x22);\n bytes public constant popError = abi.encodeWithSignature(\"Panic(uint256)\", 0x31);\n bytes public constant indexOOBError = abi.encodeWithSignature(\"Panic(uint256)\", 0x32);\n bytes public constant memOverflowError = abi.encodeWithSignature(\"Panic(uint256)\", 0x41);\n bytes public constant zeroVarError = abi.encodeWithSignature(\"Panic(uint256)\", 0x51);\n}\n"},"lib/forge-std/src/StdInvariant.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nabstract contract StdInvariant {\n struct FuzzSelector {\n address addr;\n bytes4[] selectors;\n }\n\n struct FuzzArtifactSelector {\n string artifact;\n bytes4[] selectors;\n }\n\n struct FuzzInterface {\n address addr;\n string[] artifacts;\n }\n\n address[] private _excludedContracts;\n address[] private _excludedSenders;\n address[] private _targetedContracts;\n address[] private _targetedSenders;\n\n string[] private _excludedArtifacts;\n string[] private _targetedArtifacts;\n\n FuzzArtifactSelector[] private _targetedArtifactSelectors;\n\n FuzzSelector[] private _excludedSelectors;\n FuzzSelector[] private _targetedSelectors;\n\n FuzzInterface[] private _targetedInterfaces;\n\n // Functions for users:\n // These are intended to be called in tests.\n\n function excludeContract(address newExcludedContract_) internal {\n _excludedContracts.push(newExcludedContract_);\n }\n\n function excludeSelector(FuzzSelector memory newExcludedSelector_) internal {\n _excludedSelectors.push(newExcludedSelector_);\n }\n\n function excludeSender(address newExcludedSender_) internal {\n _excludedSenders.push(newExcludedSender_);\n }\n\n function excludeArtifact(string memory newExcludedArtifact_) internal {\n _excludedArtifacts.push(newExcludedArtifact_);\n }\n\n function targetArtifact(string memory newTargetedArtifact_) internal {\n _targetedArtifacts.push(newTargetedArtifact_);\n }\n\n function targetArtifactSelector(FuzzArtifactSelector memory newTargetedArtifactSelector_) internal {\n _targetedArtifactSelectors.push(newTargetedArtifactSelector_);\n }\n\n function targetContract(address newTargetedContract_) internal {\n _targetedContracts.push(newTargetedContract_);\n }\n\n function targetSelector(FuzzSelector memory newTargetedSelector_) internal {\n _targetedSelectors.push(newTargetedSelector_);\n }\n\n function targetSender(address newTargetedSender_) internal {\n _targetedSenders.push(newTargetedSender_);\n }\n\n function targetInterface(FuzzInterface memory newTargetedInterface_) internal {\n _targetedInterfaces.push(newTargetedInterface_);\n }\n\n // Functions for forge:\n // These are called by forge to run invariant tests and don't need to be called in tests.\n\n function excludeArtifacts() public view returns (string[] memory excludedArtifacts_) {\n excludedArtifacts_ = _excludedArtifacts;\n }\n\n function excludeContracts() public view returns (address[] memory excludedContracts_) {\n excludedContracts_ = _excludedContracts;\n }\n\n function excludeSelectors() public view returns (FuzzSelector[] memory excludedSelectors_) {\n excludedSelectors_ = _excludedSelectors;\n }\n\n function excludeSenders() public view returns (address[] memory excludedSenders_) {\n excludedSenders_ = _excludedSenders;\n }\n\n function targetArtifacts() public view returns (string[] memory targetedArtifacts_) {\n targetedArtifacts_ = _targetedArtifacts;\n }\n\n function targetArtifactSelectors() public view returns (FuzzArtifactSelector[] memory targetedArtifactSelectors_) {\n targetedArtifactSelectors_ = _targetedArtifactSelectors;\n }\n\n function targetContracts() public view returns (address[] memory targetedContracts_) {\n targetedContracts_ = _targetedContracts;\n }\n\n function targetSelectors() public view returns (FuzzSelector[] memory targetedSelectors_) {\n targetedSelectors_ = _targetedSelectors;\n }\n\n function targetSenders() public view returns (address[] memory targetedSenders_) {\n targetedSenders_ = _targetedSenders;\n }\n\n function targetInterfaces() public view returns (FuzzInterface[] memory targetedInterfaces_) {\n targetedInterfaces_ = _targetedInterfaces;\n }\n}\n"},"lib/forge-std/src/StdJson.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.0 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {VmSafe} from \"./Vm.sol\";\n\n// Helpers for parsing and writing JSON files\n// To parse:\n// ```\n// using stdJson for string;\n// string memory json = vm.readFile(\"\");\n// json.readUint(\"\");\n// ```\n// To write:\n// ```\n// using stdJson for string;\n// string memory json = \"json\";\n// json.serialize(\"a\", uint256(123));\n// string memory semiFinal = json.serialize(\"b\", string(\"test\"));\n// string memory finalJson = json.serialize(\"c\", semiFinal);\n// finalJson.write(\"\");\n// ```\n\nlibrary stdJson {\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n function keyExists(string memory json, string memory key) internal view returns (bool) {\n return vm.keyExistsJson(json, key);\n }\n\n function parseRaw(string memory json, string memory key) internal pure returns (bytes memory) {\n return vm.parseJson(json, key);\n }\n\n function readUint(string memory json, string memory key) internal pure returns (uint256) {\n return vm.parseJsonUint(json, key);\n }\n\n function readUintArray(string memory json, string memory key) internal pure returns (uint256[] memory) {\n return vm.parseJsonUintArray(json, key);\n }\n\n function readInt(string memory json, string memory key) internal pure returns (int256) {\n return vm.parseJsonInt(json, key);\n }\n\n function readIntArray(string memory json, string memory key) internal pure returns (int256[] memory) {\n return vm.parseJsonIntArray(json, key);\n }\n\n function readBytes32(string memory json, string memory key) internal pure returns (bytes32) {\n return vm.parseJsonBytes32(json, key);\n }\n\n function readBytes32Array(string memory json, string memory key) internal pure returns (bytes32[] memory) {\n return vm.parseJsonBytes32Array(json, key);\n }\n\n function readString(string memory json, string memory key) internal pure returns (string memory) {\n return vm.parseJsonString(json, key);\n }\n\n function readStringArray(string memory json, string memory key) internal pure returns (string[] memory) {\n return vm.parseJsonStringArray(json, key);\n }\n\n function readAddress(string memory json, string memory key) internal pure returns (address) {\n return vm.parseJsonAddress(json, key);\n }\n\n function readAddressArray(string memory json, string memory key) internal pure returns (address[] memory) {\n return vm.parseJsonAddressArray(json, key);\n }\n\n function readBool(string memory json, string memory key) internal pure returns (bool) {\n return vm.parseJsonBool(json, key);\n }\n\n function readBoolArray(string memory json, string memory key) internal pure returns (bool[] memory) {\n return vm.parseJsonBoolArray(json, key);\n }\n\n function readBytes(string memory json, string memory key) internal pure returns (bytes memory) {\n return vm.parseJsonBytes(json, key);\n }\n\n function readBytesArray(string memory json, string memory key) internal pure returns (bytes[] memory) {\n return vm.parseJsonBytesArray(json, key);\n }\n\n function readUintOr(string memory json, string memory key, uint256 defaultValue) internal view returns (uint256) {\n return keyExists(json, key) ? readUint(json, key) : defaultValue;\n }\n\n function readUintArrayOr(string memory json, string memory key, uint256[] memory defaultValue)\n internal\n view\n returns (uint256[] memory)\n {\n return keyExists(json, key) ? readUintArray(json, key) : defaultValue;\n }\n\n function readIntOr(string memory json, string memory key, int256 defaultValue) internal view returns (int256) {\n return keyExists(json, key) ? readInt(json, key) : defaultValue;\n }\n\n function readIntArrayOr(string memory json, string memory key, int256[] memory defaultValue)\n internal\n view\n returns (int256[] memory)\n {\n return keyExists(json, key) ? readIntArray(json, key) : defaultValue;\n }\n\n function readBytes32Or(string memory json, string memory key, bytes32 defaultValue)\n internal\n view\n returns (bytes32)\n {\n return keyExists(json, key) ? readBytes32(json, key) : defaultValue;\n }\n\n function readBytes32ArrayOr(string memory json, string memory key, bytes32[] memory defaultValue)\n internal\n view\n returns (bytes32[] memory)\n {\n return keyExists(json, key) ? readBytes32Array(json, key) : defaultValue;\n }\n\n function readStringOr(string memory json, string memory key, string memory defaultValue)\n internal\n view\n returns (string memory)\n {\n return keyExists(json, key) ? readString(json, key) : defaultValue;\n }\n\n function readStringArrayOr(string memory json, string memory key, string[] memory defaultValue)\n internal\n view\n returns (string[] memory)\n {\n return keyExists(json, key) ? readStringArray(json, key) : defaultValue;\n }\n\n function readAddressOr(string memory json, string memory key, address defaultValue)\n internal\n view\n returns (address)\n {\n return keyExists(json, key) ? readAddress(json, key) : defaultValue;\n }\n\n function readAddressArrayOr(string memory json, string memory key, address[] memory defaultValue)\n internal\n view\n returns (address[] memory)\n {\n return keyExists(json, key) ? readAddressArray(json, key) : defaultValue;\n }\n\n function readBoolOr(string memory json, string memory key, bool defaultValue) internal view returns (bool) {\n return keyExists(json, key) ? readBool(json, key) : defaultValue;\n }\n\n function readBoolArrayOr(string memory json, string memory key, bool[] memory defaultValue)\n internal\n view\n returns (bool[] memory)\n {\n return keyExists(json, key) ? readBoolArray(json, key) : defaultValue;\n }\n\n function readBytesOr(string memory json, string memory key, bytes memory defaultValue)\n internal\n view\n returns (bytes memory)\n {\n return keyExists(json, key) ? readBytes(json, key) : defaultValue;\n }\n\n function readBytesArrayOr(string memory json, string memory key, bytes[] memory defaultValue)\n internal\n view\n returns (bytes[] memory)\n {\n return keyExists(json, key) ? readBytesArray(json, key) : defaultValue;\n }\n\n function serialize(string memory jsonKey, string memory rootObject) internal returns (string memory) {\n return vm.serializeJson(jsonKey, rootObject);\n }\n\n function serialize(string memory jsonKey, string memory key, bool value) internal returns (string memory) {\n return vm.serializeBool(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bool[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBool(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, uint256 value) internal returns (string memory) {\n return vm.serializeUint(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, uint256[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeUint(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, int256 value) internal returns (string memory) {\n return vm.serializeInt(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, int256[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeInt(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, address value) internal returns (string memory) {\n return vm.serializeAddress(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, address[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeAddress(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes32 value) internal returns (string memory) {\n return vm.serializeBytes32(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes32[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBytes32(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes memory value) internal returns (string memory) {\n return vm.serializeBytes(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBytes(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, string memory value)\n internal\n returns (string memory)\n {\n return vm.serializeString(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, string[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeString(jsonKey, key, value);\n }\n\n function write(string memory jsonKey, string memory path) internal {\n vm.writeJson(jsonKey, path);\n }\n\n function write(string memory jsonKey, string memory path, string memory valueKey) internal {\n vm.writeJson(jsonKey, path, valueKey);\n }\n}\n"},"lib/forge-std/src/StdMath.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nlibrary stdMath {\n int256 private constant INT256_MIN = -57896044618658097711785492504343953926634992332820282019728792003956564819968;\n\n function abs(int256 a) internal pure returns (uint256) {\n // Required or it will fail when `a = type(int256).min`\n if (a == INT256_MIN) {\n return 57896044618658097711785492504343953926634992332820282019728792003956564819968;\n }\n\n return uint256(a > 0 ? a : -a);\n }\n\n function delta(uint256 a, uint256 b) internal pure returns (uint256) {\n return a > b ? a - b : b - a;\n }\n\n function delta(int256 a, int256 b) internal pure returns (uint256) {\n // a and b are of the same sign\n // this works thanks to two's complement, the left-most bit is the sign bit\n if ((a ^ b) > -1) {\n return delta(abs(a), abs(b));\n }\n\n // a and b are of opposite signs\n return abs(a) + abs(b);\n }\n\n function percentDelta(uint256 a, uint256 b) internal pure returns (uint256) {\n // Prevent division by zero\n require(b != 0, \"stdMath percentDelta(uint256,uint256): Divisor is zero\");\n uint256 absDelta = delta(a, b);\n\n return absDelta * 1e18 / b;\n }\n\n function percentDelta(int256 a, int256 b) internal pure returns (uint256) {\n uint256 absDelta = delta(a, b);\n uint256 absB = abs(b);\n // Prevent division by zero\n require(absB != 0, \"stdMath percentDelta(int256,int256): Divisor is zero\");\n\n return absDelta * 1e18 / absB;\n }\n}\n"},"lib/forge-std/src/StdStorage.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\nimport {Vm} from \"./Vm.sol\";\n\nstruct FindData {\n uint256 slot;\n uint256 offsetLeft;\n uint256 offsetRight;\n bool found;\n}\n\nstruct StdStorage {\n mapping(address => mapping(bytes4 => mapping(bytes32 => FindData))) finds;\n bytes32[] _keys;\n bytes4 _sig;\n uint256 _depth;\n address _target;\n bytes32 _set;\n bool _enable_packed_slots;\n bytes _calldata;\n}\n\nlibrary stdStorageSafe {\n event SlotFound(address who, bytes4 fsig, bytes32 keysHash, uint256 slot);\n event WARNING_UninitedSlot(address who, uint256 slot);\n\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n uint256 constant UINT256_MAX = 115792089237316195423570985008687907853269984665640564039457584007913129639935;\n\n function sigs(string memory sigStr) internal pure returns (bytes4) {\n return bytes4(keccak256(bytes(sigStr)));\n }\n\n function getCallParams(StdStorage storage self) internal view returns (bytes memory) {\n if (self._calldata.length == 0) {\n return flatten(self._keys);\n } else {\n return self._calldata;\n }\n }\n\n // Calls target contract with configured parameters\n function callTarget(StdStorage storage self) internal view returns (bool, bytes32) {\n bytes memory cd = abi.encodePacked(self._sig, getCallParams(self));\n (bool success, bytes memory rdat) = self._target.staticcall(cd);\n bytes32 result = bytesToBytes32(rdat, 32 * self._depth);\n\n return (success, result);\n }\n\n // Tries mutating slot value to determine if the targeted value is stored in it.\n // If current value is 0, then we are setting slot value to type(uint256).max\n // Otherwise, we set it to 0. That way, return value should always be affected.\n function checkSlotMutatesCall(StdStorage storage self, bytes32 slot) internal returns (bool) {\n bytes32 prevSlotValue = vm.load(self._target, slot);\n (bool success, bytes32 prevReturnValue) = callTarget(self);\n\n bytes32 testVal = prevReturnValue == bytes32(0) ? bytes32(UINT256_MAX) : bytes32(0);\n vm.store(self._target, slot, testVal);\n\n (, bytes32 newReturnValue) = callTarget(self);\n\n vm.store(self._target, slot, prevSlotValue);\n\n return (success && (prevReturnValue != newReturnValue));\n }\n\n // Tries setting one of the bits in slot to 1 until return value changes.\n // Index of resulted bit is an offset packed slot has from left/right side\n function findOffset(StdStorage storage self, bytes32 slot, bool left) internal returns (bool, uint256) {\n for (uint256 offset = 0; offset < 256; offset++) {\n uint256 valueToPut = left ? (1 << (255 - offset)) : (1 << offset);\n vm.store(self._target, slot, bytes32(valueToPut));\n\n (bool success, bytes32 data) = callTarget(self);\n\n if (success && (uint256(data) > 0)) {\n return (true, offset);\n }\n }\n return (false, 0);\n }\n\n function findOffsets(StdStorage storage self, bytes32 slot) internal returns (bool, uint256, uint256) {\n bytes32 prevSlotValue = vm.load(self._target, slot);\n\n (bool foundLeft, uint256 offsetLeft) = findOffset(self, slot, true);\n (bool foundRight, uint256 offsetRight) = findOffset(self, slot, false);\n\n // `findOffset` may mutate slot value, so we are setting it to initial value\n vm.store(self._target, slot, prevSlotValue);\n return (foundLeft && foundRight, offsetLeft, offsetRight);\n }\n\n function find(StdStorage storage self) internal returns (FindData storage) {\n return find(self, true);\n }\n\n /// @notice find an arbitrary storage slot given a function sig, input data, address of the contract and a value to check against\n // slot complexity:\n // if flat, will be bytes32(uint256(uint));\n // if map, will be keccak256(abi.encode(key, uint(slot)));\n // if deep map, will be keccak256(abi.encode(key1, keccak256(abi.encode(key0, uint(slot)))));\n // if map struct, will be bytes32(uint256(keccak256(abi.encode(key1, keccak256(abi.encode(key0, uint(slot)))))) + structFieldDepth);\n function find(StdStorage storage self, bool _clear) internal returns (FindData storage) {\n address who = self._target;\n bytes4 fsig = self._sig;\n uint256 field_depth = self._depth;\n bytes memory params = getCallParams(self);\n\n // calldata to test against\n if (self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))].found) {\n if (_clear) {\n clear(self);\n }\n return self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))];\n }\n vm.record();\n (, bytes32 callResult) = callTarget(self);\n (bytes32[] memory reads,) = vm.accesses(address(who));\n\n if (reads.length == 0) {\n revert(\"stdStorage find(StdStorage): No storage use detected for target.\");\n } else {\n for (uint256 i = reads.length; --i >= 0;) {\n bytes32 prev = vm.load(who, reads[i]);\n if (prev == bytes32(0)) {\n emit WARNING_UninitedSlot(who, uint256(reads[i]));\n }\n\n if (!checkSlotMutatesCall(self, reads[i])) {\n continue;\n }\n\n (uint256 offsetLeft, uint256 offsetRight) = (0, 0);\n\n if (self._enable_packed_slots) {\n bool found;\n (found, offsetLeft, offsetRight) = findOffsets(self, reads[i]);\n if (!found) {\n continue;\n }\n }\n\n // Check that value between found offsets is equal to the current call result\n uint256 curVal = (uint256(prev) & getMaskByOffsets(offsetLeft, offsetRight)) >> offsetRight;\n\n if (uint256(callResult) != curVal) {\n continue;\n }\n\n emit SlotFound(who, fsig, keccak256(abi.encodePacked(params, field_depth)), uint256(reads[i]));\n self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))] =\n FindData(uint256(reads[i]), offsetLeft, offsetRight, true);\n break;\n }\n }\n\n require(\n self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))].found,\n \"stdStorage find(StdStorage): Slot(s) not found.\"\n );\n\n if (_clear) {\n clear(self);\n }\n return self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))];\n }\n\n function target(StdStorage storage self, address _target) internal returns (StdStorage storage) {\n self._target = _target;\n return self;\n }\n\n function sig(StdStorage storage self, bytes4 _sig) internal returns (StdStorage storage) {\n self._sig = _sig;\n return self;\n }\n\n function sig(StdStorage storage self, string memory _sig) internal returns (StdStorage storage) {\n self._sig = sigs(_sig);\n return self;\n }\n\n function with_calldata(StdStorage storage self, bytes memory _calldata) internal returns (StdStorage storage) {\n self._calldata = _calldata;\n return self;\n }\n\n function with_key(StdStorage storage self, address who) internal returns (StdStorage storage) {\n self._keys.push(bytes32(uint256(uint160(who))));\n return self;\n }\n\n function with_key(StdStorage storage self, uint256 amt) internal returns (StdStorage storage) {\n self._keys.push(bytes32(amt));\n return self;\n }\n\n function with_key(StdStorage storage self, bytes32 key) internal returns (StdStorage storage) {\n self._keys.push(key);\n return self;\n }\n\n function enable_packed_slots(StdStorage storage self) internal returns (StdStorage storage) {\n self._enable_packed_slots = true;\n return self;\n }\n\n function depth(StdStorage storage self, uint256 _depth) internal returns (StdStorage storage) {\n self._depth = _depth;\n return self;\n }\n\n function read(StdStorage storage self) private returns (bytes memory) {\n FindData storage data = find(self, false);\n uint256 mask = getMaskByOffsets(data.offsetLeft, data.offsetRight);\n uint256 value = (uint256(vm.load(self._target, bytes32(data.slot))) & mask) >> data.offsetRight;\n clear(self);\n return abi.encode(value);\n }\n\n function read_bytes32(StdStorage storage self) internal returns (bytes32) {\n return abi.decode(read(self), (bytes32));\n }\n\n function read_bool(StdStorage storage self) internal returns (bool) {\n int256 v = read_int(self);\n if (v == 0) return false;\n if (v == 1) return true;\n revert(\"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\");\n }\n\n function read_address(StdStorage storage self) internal returns (address) {\n return abi.decode(read(self), (address));\n }\n\n function read_uint(StdStorage storage self) internal returns (uint256) {\n return abi.decode(read(self), (uint256));\n }\n\n function read_int(StdStorage storage self) internal returns (int256) {\n return abi.decode(read(self), (int256));\n }\n\n function parent(StdStorage storage self) internal returns (uint256, bytes32) {\n address who = self._target;\n uint256 field_depth = self._depth;\n vm.startMappingRecording();\n uint256 child = find(self, true).slot - field_depth;\n (bool found, bytes32 key, bytes32 parent_slot) = vm.getMappingKeyAndParentOf(who, bytes32(child));\n if (!found) {\n revert(\n \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\"\n );\n }\n return (uint256(parent_slot), key);\n }\n\n function root(StdStorage storage self) internal returns (uint256) {\n address who = self._target;\n uint256 field_depth = self._depth;\n vm.startMappingRecording();\n uint256 child = find(self, true).slot - field_depth;\n bool found;\n bytes32 root_slot;\n bytes32 parent_slot;\n (found,, parent_slot) = vm.getMappingKeyAndParentOf(who, bytes32(child));\n if (!found) {\n revert(\n \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\"\n );\n }\n while (found) {\n root_slot = parent_slot;\n (found,, parent_slot) = vm.getMappingKeyAndParentOf(who, bytes32(root_slot));\n }\n return uint256(root_slot);\n }\n\n function bytesToBytes32(bytes memory b, uint256 offset) private pure returns (bytes32) {\n bytes32 out;\n\n uint256 max = b.length > 32 ? 32 : b.length;\n for (uint256 i = 0; i < max; i++) {\n out |= bytes32(b[offset + i] & 0xFF) >> (i * 8);\n }\n return out;\n }\n\n function flatten(bytes32[] memory b) private pure returns (bytes memory) {\n bytes memory result = new bytes(b.length * 32);\n for (uint256 i = 0; i < b.length; i++) {\n bytes32 k = b[i];\n /// @solidity memory-safe-assembly\n assembly {\n mstore(add(result, add(32, mul(32, i))), k)\n }\n }\n\n return result;\n }\n\n function clear(StdStorage storage self) internal {\n delete self._target;\n delete self._sig;\n delete self._keys;\n delete self._depth;\n delete self._enable_packed_slots;\n delete self._calldata;\n }\n\n // Returns mask which contains non-zero bits for values between `offsetLeft` and `offsetRight`\n // (slotValue & mask) >> offsetRight will be the value of the given packed variable\n function getMaskByOffsets(uint256 offsetLeft, uint256 offsetRight) internal pure returns (uint256 mask) {\n // mask = ((1 << (256 - (offsetRight + offsetLeft))) - 1) << offsetRight;\n // using assembly because (1 << 256) causes overflow\n assembly {\n mask := shl(offsetRight, sub(shl(sub(256, add(offsetRight, offsetLeft)), 1), 1))\n }\n }\n\n // Returns slot value with updated packed variable.\n function getUpdatedSlotValue(bytes32 curValue, uint256 varValue, uint256 offsetLeft, uint256 offsetRight)\n internal\n pure\n returns (bytes32 newValue)\n {\n return bytes32((uint256(curValue) & ~getMaskByOffsets(offsetLeft, offsetRight)) | (varValue << offsetRight));\n }\n}\n\nlibrary stdStorage {\n Vm private constant vm = Vm(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n function sigs(string memory sigStr) internal pure returns (bytes4) {\n return stdStorageSafe.sigs(sigStr);\n }\n\n function find(StdStorage storage self) internal returns (uint256) {\n return find(self, true);\n }\n\n function find(StdStorage storage self, bool _clear) internal returns (uint256) {\n return stdStorageSafe.find(self, _clear).slot;\n }\n\n function target(StdStorage storage self, address _target) internal returns (StdStorage storage) {\n return stdStorageSafe.target(self, _target);\n }\n\n function sig(StdStorage storage self, bytes4 _sig) internal returns (StdStorage storage) {\n return stdStorageSafe.sig(self, _sig);\n }\n\n function sig(StdStorage storage self, string memory _sig) internal returns (StdStorage storage) {\n return stdStorageSafe.sig(self, _sig);\n }\n\n function with_key(StdStorage storage self, address who) internal returns (StdStorage storage) {\n return stdStorageSafe.with_key(self, who);\n }\n\n function with_key(StdStorage storage self, uint256 amt) internal returns (StdStorage storage) {\n return stdStorageSafe.with_key(self, amt);\n }\n\n function with_key(StdStorage storage self, bytes32 key) internal returns (StdStorage storage) {\n return stdStorageSafe.with_key(self, key);\n }\n\n function with_calldata(StdStorage storage self, bytes memory _calldata) internal returns (StdStorage storage) {\n return stdStorageSafe.with_calldata(self, _calldata);\n }\n\n function enable_packed_slots(StdStorage storage self) internal returns (StdStorage storage) {\n return stdStorageSafe.enable_packed_slots(self);\n }\n\n function depth(StdStorage storage self, uint256 _depth) internal returns (StdStorage storage) {\n return stdStorageSafe.depth(self, _depth);\n }\n\n function clear(StdStorage storage self) internal {\n stdStorageSafe.clear(self);\n }\n\n function checked_write(StdStorage storage self, address who) internal {\n checked_write(self, bytes32(uint256(uint160(who))));\n }\n\n function checked_write(StdStorage storage self, uint256 amt) internal {\n checked_write(self, bytes32(amt));\n }\n\n function checked_write_int(StdStorage storage self, int256 val) internal {\n checked_write(self, bytes32(uint256(val)));\n }\n\n function checked_write(StdStorage storage self, bool write) internal {\n bytes32 t;\n /// @solidity memory-safe-assembly\n assembly {\n t := write\n }\n checked_write(self, t);\n }\n\n function checked_write(StdStorage storage self, bytes32 set) internal {\n address who = self._target;\n bytes4 fsig = self._sig;\n uint256 field_depth = self._depth;\n bytes memory params = stdStorageSafe.getCallParams(self);\n\n if (!self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))].found) {\n find(self, false);\n }\n FindData storage data = self.finds[who][fsig][keccak256(abi.encodePacked(params, field_depth))];\n if ((data.offsetLeft + data.offsetRight) > 0) {\n uint256 maxVal = 2 ** (256 - (data.offsetLeft + data.offsetRight));\n require(\n uint256(set) < maxVal,\n string(\n abi.encodePacked(\n \"stdStorage find(StdStorage): Packed slot. We can't fit value greater than \",\n vm.toString(maxVal)\n )\n )\n );\n }\n bytes32 curVal = vm.load(who, bytes32(data.slot));\n bytes32 valToSet = stdStorageSafe.getUpdatedSlotValue(curVal, uint256(set), data.offsetLeft, data.offsetRight);\n\n vm.store(who, bytes32(data.slot), valToSet);\n\n (bool success, bytes32 callResult) = stdStorageSafe.callTarget(self);\n\n if (!success || callResult != set) {\n vm.store(who, bytes32(data.slot), curVal);\n revert(\"stdStorage find(StdStorage): Failed to write value.\");\n }\n clear(self);\n }\n\n function read_bytes32(StdStorage storage self) internal returns (bytes32) {\n return stdStorageSafe.read_bytes32(self);\n }\n\n function read_bool(StdStorage storage self) internal returns (bool) {\n return stdStorageSafe.read_bool(self);\n }\n\n function read_address(StdStorage storage self) internal returns (address) {\n return stdStorageSafe.read_address(self);\n }\n\n function read_uint(StdStorage storage self) internal returns (uint256) {\n return stdStorageSafe.read_uint(self);\n }\n\n function read_int(StdStorage storage self) internal returns (int256) {\n return stdStorageSafe.read_int(self);\n }\n\n function parent(StdStorage storage self) internal returns (uint256, bytes32) {\n return stdStorageSafe.parent(self);\n }\n\n function root(StdStorage storage self) internal returns (uint256) {\n return stdStorageSafe.root(self);\n }\n}\n"},"lib/forge-std/src/StdStyle.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nimport {VmSafe} from \"./Vm.sol\";\n\nlibrary StdStyle {\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n string constant RED = \"\\u001b[91m\";\n string constant GREEN = \"\\u001b[92m\";\n string constant YELLOW = \"\\u001b[93m\";\n string constant BLUE = \"\\u001b[94m\";\n string constant MAGENTA = \"\\u001b[95m\";\n string constant CYAN = \"\\u001b[96m\";\n string constant BOLD = \"\\u001b[1m\";\n string constant DIM = \"\\u001b[2m\";\n string constant ITALIC = \"\\u001b[3m\";\n string constant UNDERLINE = \"\\u001b[4m\";\n string constant INVERSE = \"\\u001b[7m\";\n string constant RESET = \"\\u001b[0m\";\n\n function styleConcat(string memory style, string memory self) private pure returns (string memory) {\n return string(abi.encodePacked(style, self, RESET));\n }\n\n function red(string memory self) internal pure returns (string memory) {\n return styleConcat(RED, self);\n }\n\n function red(uint256 self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function red(int256 self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function red(address self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function red(bool self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function redBytes(bytes memory self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function redBytes32(bytes32 self) internal pure returns (string memory) {\n return red(vm.toString(self));\n }\n\n function green(string memory self) internal pure returns (string memory) {\n return styleConcat(GREEN, self);\n }\n\n function green(uint256 self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function green(int256 self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function green(address self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function green(bool self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function greenBytes(bytes memory self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function greenBytes32(bytes32 self) internal pure returns (string memory) {\n return green(vm.toString(self));\n }\n\n function yellow(string memory self) internal pure returns (string memory) {\n return styleConcat(YELLOW, self);\n }\n\n function yellow(uint256 self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellow(int256 self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellow(address self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellow(bool self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellowBytes(bytes memory self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function yellowBytes32(bytes32 self) internal pure returns (string memory) {\n return yellow(vm.toString(self));\n }\n\n function blue(string memory self) internal pure returns (string memory) {\n return styleConcat(BLUE, self);\n }\n\n function blue(uint256 self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blue(int256 self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blue(address self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blue(bool self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blueBytes(bytes memory self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function blueBytes32(bytes32 self) internal pure returns (string memory) {\n return blue(vm.toString(self));\n }\n\n function magenta(string memory self) internal pure returns (string memory) {\n return styleConcat(MAGENTA, self);\n }\n\n function magenta(uint256 self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magenta(int256 self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magenta(address self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magenta(bool self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magentaBytes(bytes memory self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function magentaBytes32(bytes32 self) internal pure returns (string memory) {\n return magenta(vm.toString(self));\n }\n\n function cyan(string memory self) internal pure returns (string memory) {\n return styleConcat(CYAN, self);\n }\n\n function cyan(uint256 self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyan(int256 self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyan(address self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyan(bool self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyanBytes(bytes memory self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function cyanBytes32(bytes32 self) internal pure returns (string memory) {\n return cyan(vm.toString(self));\n }\n\n function bold(string memory self) internal pure returns (string memory) {\n return styleConcat(BOLD, self);\n }\n\n function bold(uint256 self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function bold(int256 self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function bold(address self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function bold(bool self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function boldBytes(bytes memory self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function boldBytes32(bytes32 self) internal pure returns (string memory) {\n return bold(vm.toString(self));\n }\n\n function dim(string memory self) internal pure returns (string memory) {\n return styleConcat(DIM, self);\n }\n\n function dim(uint256 self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dim(int256 self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dim(address self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dim(bool self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dimBytes(bytes memory self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function dimBytes32(bytes32 self) internal pure returns (string memory) {\n return dim(vm.toString(self));\n }\n\n function italic(string memory self) internal pure returns (string memory) {\n return styleConcat(ITALIC, self);\n }\n\n function italic(uint256 self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italic(int256 self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italic(address self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italic(bool self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italicBytes(bytes memory self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function italicBytes32(bytes32 self) internal pure returns (string memory) {\n return italic(vm.toString(self));\n }\n\n function underline(string memory self) internal pure returns (string memory) {\n return styleConcat(UNDERLINE, self);\n }\n\n function underline(uint256 self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underline(int256 self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underline(address self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underline(bool self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underlineBytes(bytes memory self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function underlineBytes32(bytes32 self) internal pure returns (string memory) {\n return underline(vm.toString(self));\n }\n\n function inverse(string memory self) internal pure returns (string memory) {\n return styleConcat(INVERSE, self);\n }\n\n function inverse(uint256 self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverse(int256 self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverse(address self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverse(bool self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverseBytes(bytes memory self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n\n function inverseBytes32(bytes32 self) internal pure returns (string memory) {\n return inverse(vm.toString(self));\n }\n}\n"},"lib/forge-std/src/StdToml.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.0 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {VmSafe} from \"./Vm.sol\";\n\n// Helpers for parsing and writing TOML files\n// To parse:\n// ```\n// using stdToml for string;\n// string memory toml = vm.readFile(\"\");\n// toml.readUint(\"\");\n// ```\n// To write:\n// ```\n// using stdToml for string;\n// string memory json = \"json\";\n// json.serialize(\"a\", uint256(123));\n// string memory semiFinal = json.serialize(\"b\", string(\"test\"));\n// string memory finalJson = json.serialize(\"c\", semiFinal);\n// finalJson.write(\"\");\n// ```\n\nlibrary stdToml {\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n\n function keyExists(string memory toml, string memory key) internal view returns (bool) {\n return vm.keyExistsToml(toml, key);\n }\n\n function parseRaw(string memory toml, string memory key) internal pure returns (bytes memory) {\n return vm.parseToml(toml, key);\n }\n\n function readUint(string memory toml, string memory key) internal pure returns (uint256) {\n return vm.parseTomlUint(toml, key);\n }\n\n function readUintArray(string memory toml, string memory key) internal pure returns (uint256[] memory) {\n return vm.parseTomlUintArray(toml, key);\n }\n\n function readInt(string memory toml, string memory key) internal pure returns (int256) {\n return vm.parseTomlInt(toml, key);\n }\n\n function readIntArray(string memory toml, string memory key) internal pure returns (int256[] memory) {\n return vm.parseTomlIntArray(toml, key);\n }\n\n function readBytes32(string memory toml, string memory key) internal pure returns (bytes32) {\n return vm.parseTomlBytes32(toml, key);\n }\n\n function readBytes32Array(string memory toml, string memory key) internal pure returns (bytes32[] memory) {\n return vm.parseTomlBytes32Array(toml, key);\n }\n\n function readString(string memory toml, string memory key) internal pure returns (string memory) {\n return vm.parseTomlString(toml, key);\n }\n\n function readStringArray(string memory toml, string memory key) internal pure returns (string[] memory) {\n return vm.parseTomlStringArray(toml, key);\n }\n\n function readAddress(string memory toml, string memory key) internal pure returns (address) {\n return vm.parseTomlAddress(toml, key);\n }\n\n function readAddressArray(string memory toml, string memory key) internal pure returns (address[] memory) {\n return vm.parseTomlAddressArray(toml, key);\n }\n\n function readBool(string memory toml, string memory key) internal pure returns (bool) {\n return vm.parseTomlBool(toml, key);\n }\n\n function readBoolArray(string memory toml, string memory key) internal pure returns (bool[] memory) {\n return vm.parseTomlBoolArray(toml, key);\n }\n\n function readBytes(string memory toml, string memory key) internal pure returns (bytes memory) {\n return vm.parseTomlBytes(toml, key);\n }\n\n function readBytesArray(string memory toml, string memory key) internal pure returns (bytes[] memory) {\n return vm.parseTomlBytesArray(toml, key);\n }\n\n function readUintOr(string memory toml, string memory key, uint256 defaultValue) internal view returns (uint256) {\n return keyExists(toml, key) ? readUint(toml, key) : defaultValue;\n }\n\n function readUintArrayOr(string memory toml, string memory key, uint256[] memory defaultValue)\n internal\n view\n returns (uint256[] memory)\n {\n return keyExists(toml, key) ? readUintArray(toml, key) : defaultValue;\n }\n\n function readIntOr(string memory toml, string memory key, int256 defaultValue) internal view returns (int256) {\n return keyExists(toml, key) ? readInt(toml, key) : defaultValue;\n }\n\n function readIntArrayOr(string memory toml, string memory key, int256[] memory defaultValue)\n internal\n view\n returns (int256[] memory)\n {\n return keyExists(toml, key) ? readIntArray(toml, key) : defaultValue;\n }\n\n function readBytes32Or(string memory toml, string memory key, bytes32 defaultValue)\n internal\n view\n returns (bytes32)\n {\n return keyExists(toml, key) ? readBytes32(toml, key) : defaultValue;\n }\n\n function readBytes32ArrayOr(string memory toml, string memory key, bytes32[] memory defaultValue)\n internal\n view\n returns (bytes32[] memory)\n {\n return keyExists(toml, key) ? readBytes32Array(toml, key) : defaultValue;\n }\n\n function readStringOr(string memory toml, string memory key, string memory defaultValue)\n internal\n view\n returns (string memory)\n {\n return keyExists(toml, key) ? readString(toml, key) : defaultValue;\n }\n\n function readStringArrayOr(string memory toml, string memory key, string[] memory defaultValue)\n internal\n view\n returns (string[] memory)\n {\n return keyExists(toml, key) ? readStringArray(toml, key) : defaultValue;\n }\n\n function readAddressOr(string memory toml, string memory key, address defaultValue)\n internal\n view\n returns (address)\n {\n return keyExists(toml, key) ? readAddress(toml, key) : defaultValue;\n }\n\n function readAddressArrayOr(string memory toml, string memory key, address[] memory defaultValue)\n internal\n view\n returns (address[] memory)\n {\n return keyExists(toml, key) ? readAddressArray(toml, key) : defaultValue;\n }\n\n function readBoolOr(string memory toml, string memory key, bool defaultValue) internal view returns (bool) {\n return keyExists(toml, key) ? readBool(toml, key) : defaultValue;\n }\n\n function readBoolArrayOr(string memory toml, string memory key, bool[] memory defaultValue)\n internal\n view\n returns (bool[] memory)\n {\n return keyExists(toml, key) ? readBoolArray(toml, key) : defaultValue;\n }\n\n function readBytesOr(string memory toml, string memory key, bytes memory defaultValue)\n internal\n view\n returns (bytes memory)\n {\n return keyExists(toml, key) ? readBytes(toml, key) : defaultValue;\n }\n\n function readBytesArrayOr(string memory toml, string memory key, bytes[] memory defaultValue)\n internal\n view\n returns (bytes[] memory)\n {\n return keyExists(toml, key) ? readBytesArray(toml, key) : defaultValue;\n }\n\n function serialize(string memory jsonKey, string memory rootObject) internal returns (string memory) {\n return vm.serializeJson(jsonKey, rootObject);\n }\n\n function serialize(string memory jsonKey, string memory key, bool value) internal returns (string memory) {\n return vm.serializeBool(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bool[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBool(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, uint256 value) internal returns (string memory) {\n return vm.serializeUint(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, uint256[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeUint(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, int256 value) internal returns (string memory) {\n return vm.serializeInt(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, int256[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeInt(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, address value) internal returns (string memory) {\n return vm.serializeAddress(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, address[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeAddress(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes32 value) internal returns (string memory) {\n return vm.serializeBytes32(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes32[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBytes32(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes memory value) internal returns (string memory) {\n return vm.serializeBytes(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, bytes[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeBytes(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, string memory value)\n internal\n returns (string memory)\n {\n return vm.serializeString(jsonKey, key, value);\n }\n\n function serialize(string memory jsonKey, string memory key, string[] memory value)\n internal\n returns (string memory)\n {\n return vm.serializeString(jsonKey, key, value);\n }\n\n function write(string memory jsonKey, string memory path) internal {\n vm.writeToml(jsonKey, path);\n }\n\n function write(string memory jsonKey, string memory path, string memory valueKey) internal {\n vm.writeToml(jsonKey, path, valueKey);\n }\n}\n"},"lib/forge-std/src/StdUtils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\nimport {IMulticall3} from \"./interfaces/IMulticall3.sol\";\nimport {VmSafe} from \"./Vm.sol\";\n\nabstract contract StdUtils {\n /*//////////////////////////////////////////////////////////////////////////\n CONSTANTS\n //////////////////////////////////////////////////////////////////////////*/\n\n IMulticall3 private constant multicall = IMulticall3(0xcA11bde05977b3631167028862bE2a173976CA11);\n VmSafe private constant vm = VmSafe(address(uint160(uint256(keccak256(\"hevm cheat code\")))));\n address private constant CONSOLE2_ADDRESS = 0x000000000000000000636F6e736F6c652e6c6f67;\n uint256 private constant INT256_MIN_ABS =\n 57896044618658097711785492504343953926634992332820282019728792003956564819968;\n uint256 private constant SECP256K1_ORDER =\n 115792089237316195423570985008687907852837564279074904382605163141518161494337;\n uint256 private constant UINT256_MAX =\n 115792089237316195423570985008687907853269984665640564039457584007913129639935;\n\n // Used by default when deploying with create2, https://github.com/Arachnid/deterministic-deployment-proxy.\n address private constant CREATE2_FACTORY = 0x4e59b44847b379578588920cA78FbF26c0B4956C;\n\n /*//////////////////////////////////////////////////////////////////////////\n INTERNAL FUNCTIONS\n //////////////////////////////////////////////////////////////////////////*/\n\n function _bound(uint256 x, uint256 min, uint256 max) internal pure virtual returns (uint256 result) {\n require(min <= max, \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\");\n // If x is between min and max, return x directly. This is to ensure that dictionary values\n // do not get shifted if the min is nonzero. More info: https://github.com/foundry-rs/forge-std/issues/188\n if (x >= min && x <= max) return x;\n\n uint256 size = max - min + 1;\n\n // If the value is 0, 1, 2, 3, wrap that to min, min+1, min+2, min+3. Similarly for the UINT256_MAX side.\n // This helps ensure coverage of the min/max values.\n if (x <= 3 && size > x) return min + x;\n if (x >= UINT256_MAX - 3 && size > UINT256_MAX - x) return max - (UINT256_MAX - x);\n\n // Otherwise, wrap x into the range [min, max], i.e. the range is inclusive.\n if (x > max) {\n uint256 diff = x - max;\n uint256 rem = diff % size;\n if (rem == 0) return max;\n result = min + rem - 1;\n } else if (x < min) {\n uint256 diff = min - x;\n uint256 rem = diff % size;\n if (rem == 0) return min;\n result = max - rem + 1;\n }\n }\n\n function bound(uint256 x, uint256 min, uint256 max) internal pure virtual returns (uint256 result) {\n result = _bound(x, min, max);\n console2_log_StdUtils(\"Bound result\", result);\n }\n\n function _bound(int256 x, int256 min, int256 max) internal pure virtual returns (int256 result) {\n require(min <= max, \"StdUtils bound(int256,int256,int256): Max is less than min.\");\n\n // Shifting all int256 values to uint256 to use _bound function. The range of two types are:\n // int256 : -(2**255) ~ (2**255 - 1)\n // uint256: 0 ~ (2**256 - 1)\n // So, add 2**255, INT256_MIN_ABS to the integer values.\n //\n // If the given integer value is -2**255, we cannot use `-uint256(-x)` because of the overflow.\n // So, use `~uint256(x) + 1` instead.\n uint256 _x = x < 0 ? (INT256_MIN_ABS - ~uint256(x) - 1) : (uint256(x) + INT256_MIN_ABS);\n uint256 _min = min < 0 ? (INT256_MIN_ABS - ~uint256(min) - 1) : (uint256(min) + INT256_MIN_ABS);\n uint256 _max = max < 0 ? (INT256_MIN_ABS - ~uint256(max) - 1) : (uint256(max) + INT256_MIN_ABS);\n\n uint256 y = _bound(_x, _min, _max);\n\n // To move it back to int256 value, subtract INT256_MIN_ABS at here.\n result = y < INT256_MIN_ABS ? int256(~(INT256_MIN_ABS - y) + 1) : int256(y - INT256_MIN_ABS);\n }\n\n function bound(int256 x, int256 min, int256 max) internal pure virtual returns (int256 result) {\n result = _bound(x, min, max);\n console2_log_StdUtils(\"Bound result\", vm.toString(result));\n }\n\n function boundPrivateKey(uint256 privateKey) internal pure virtual returns (uint256 result) {\n result = _bound(privateKey, 1, SECP256K1_ORDER - 1);\n }\n\n function bytesToUint(bytes memory b) internal pure virtual returns (uint256) {\n require(b.length <= 32, \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\");\n return abi.decode(abi.encodePacked(new bytes(32 - b.length), b), (uint256));\n }\n\n /// @dev Compute the address a contract will be deployed at for a given deployer address and nonce\n function computeCreateAddress(address deployer, uint256 nonce) internal pure virtual returns (address) {\n console2_log_StdUtils(\"computeCreateAddress is deprecated. Please use vm.computeCreateAddress instead.\");\n return vm.computeCreateAddress(deployer, nonce);\n }\n\n function computeCreate2Address(bytes32 salt, bytes32 initcodeHash, address deployer)\n internal\n pure\n virtual\n returns (address)\n {\n console2_log_StdUtils(\"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead.\");\n return vm.computeCreate2Address(salt, initcodeHash, deployer);\n }\n\n /// @dev returns the address of a contract created with CREATE2 using the default CREATE2 deployer\n function computeCreate2Address(bytes32 salt, bytes32 initCodeHash) internal pure returns (address) {\n console2_log_StdUtils(\"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead.\");\n return vm.computeCreate2Address(salt, initCodeHash);\n }\n\n /// @dev returns the hash of the init code (creation code + no args) used in CREATE2 with no constructor arguments\n /// @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n function hashInitCode(bytes memory creationCode) internal pure returns (bytes32) {\n return hashInitCode(creationCode, \"\");\n }\n\n /// @dev returns the hash of the init code (creation code + ABI-encoded args) used in CREATE2\n /// @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n /// @param args the ABI-encoded arguments to the constructor of C\n function hashInitCode(bytes memory creationCode, bytes memory args) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(creationCode, args));\n }\n\n // Performs a single call with Multicall3 to query the ERC-20 token balances of the given addresses.\n function getTokenBalances(address token, address[] memory addresses)\n internal\n virtual\n returns (uint256[] memory balances)\n {\n uint256 tokenCodeSize;\n assembly {\n tokenCodeSize := extcodesize(token)\n }\n require(tokenCodeSize > 0, \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\");\n\n // ABI encode the aggregate call to Multicall3.\n uint256 length = addresses.length;\n IMulticall3.Call[] memory calls = new IMulticall3.Call[](length);\n for (uint256 i = 0; i < length; ++i) {\n // 0x70a08231 = bytes4(\"balanceOf(address)\"))\n calls[i] = IMulticall3.Call({target: token, callData: abi.encodeWithSelector(0x70a08231, (addresses[i]))});\n }\n\n // Make the aggregate call.\n (, bytes[] memory returnData) = multicall.aggregate(calls);\n\n // ABI decode the return data and return the balances.\n balances = new uint256[](length);\n for (uint256 i = 0; i < length; ++i) {\n balances[i] = abi.decode(returnData[i], (uint256));\n }\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n PRIVATE FUNCTIONS\n //////////////////////////////////////////////////////////////////////////*/\n\n function addressFromLast20Bytes(bytes32 bytesValue) private pure returns (address) {\n return address(uint160(uint256(bytesValue)));\n }\n\n // This section is used to prevent the compilation of console, which shortens the compilation time when console is\n // not used elsewhere. We also trick the compiler into letting us make the console log methods as `pure` to avoid\n // any breaking changes to function signatures.\n function _castLogPayloadViewToPure(function(bytes memory) internal view fnIn)\n internal\n pure\n returns (function(bytes memory) internal pure fnOut)\n {\n assembly {\n fnOut := fnIn\n }\n }\n\n function _sendLogPayload(bytes memory payload) internal pure {\n _castLogPayloadViewToPure(_sendLogPayloadView)(payload);\n }\n\n function _sendLogPayloadView(bytes memory payload) private view {\n uint256 payloadLength = payload.length;\n address consoleAddress = CONSOLE2_ADDRESS;\n /// @solidity memory-safe-assembly\n assembly {\n let payloadStart := add(payload, 32)\n let r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0)\n }\n }\n\n function console2_log_StdUtils(string memory p0) private pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function console2_log_StdUtils(string memory p0, uint256 p1) private pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256)\", p0, p1));\n }\n\n function console2_log_StdUtils(string memory p0, string memory p1) private pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n }\n}\n"},"lib/forge-std/src/Test.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\n// 💬 ABOUT\n// Forge Std's default Test.\n\n// 🧩 MODULES\nimport {console} from \"./console.sol\";\nimport {console2} from \"./console2.sol\";\nimport {safeconsole} from \"./safeconsole.sol\";\nimport {StdAssertions} from \"./StdAssertions.sol\";\nimport {StdChains} from \"./StdChains.sol\";\nimport {StdCheats} from \"./StdCheats.sol\";\nimport {StdConstants} from \"./StdConstants.sol\";\nimport {stdError} from \"./StdError.sol\";\nimport {StdInvariant} from \"./StdInvariant.sol\";\nimport {stdJson} from \"./StdJson.sol\";\nimport {stdMath} from \"./StdMath.sol\";\nimport {StdStorage, stdStorage} from \"./StdStorage.sol\";\nimport {StdStyle} from \"./StdStyle.sol\";\nimport {stdToml} from \"./StdToml.sol\";\nimport {StdUtils} from \"./StdUtils.sol\";\nimport {Vm} from \"./Vm.sol\";\n\n// 📦 BOILERPLATE\nimport {TestBase} from \"./Base.sol\";\n\n// ⭐️ TEST\nabstract contract Test is TestBase, StdAssertions, StdChains, StdCheats, StdInvariant, StdUtils {\n // Note: IS_TEST() must return true.\n bool public IS_TEST = true;\n}\n"},"lib/forge-std/src/Vm.sol":{"content":"// Automatically @generated by scripts/vm.py. Do not modify manually.\n\n// SPDX-License-Identifier: MIT OR Apache-2.0\npragma solidity >=0.6.2 <0.9.0;\npragma experimental ABIEncoderV2;\n\n/// The `VmSafe` interface does not allow manipulation of the EVM state or other actions that may\n/// result in Script simulations differing from on-chain execution. It is recommended to only use\n/// these cheats in scripts.\ninterface VmSafe {\n /// A modification applied to either `msg.sender` or `tx.origin`. Returned by `readCallers`.\n enum CallerMode {\n // No caller modification is currently active.\n None,\n // A one time broadcast triggered by a `vm.broadcast()` call is currently active.\n Broadcast,\n // A recurrent broadcast triggered by a `vm.startBroadcast()` call is currently active.\n RecurrentBroadcast,\n // A one time prank triggered by a `vm.prank()` call is currently active.\n Prank,\n // A recurrent prank triggered by a `vm.startPrank()` call is currently active.\n RecurrentPrank\n }\n\n /// The kind of account access that occurred.\n enum AccountAccessKind {\n // The account was called.\n Call,\n // The account was called via delegatecall.\n DelegateCall,\n // The account was called via callcode.\n CallCode,\n // The account was called via staticcall.\n StaticCall,\n // The account was created.\n Create,\n // The account was selfdestructed.\n SelfDestruct,\n // Synthetic access indicating the current context has resumed after a previous sub-context (AccountAccess).\n Resume,\n // The account's balance was read.\n Balance,\n // The account's codesize was read.\n Extcodesize,\n // The account's codehash was read.\n Extcodehash,\n // The account's code was copied.\n Extcodecopy\n }\n\n /// Forge execution contexts.\n enum ForgeContext {\n // Test group execution context (test, coverage or snapshot).\n TestGroup,\n // `forge test` execution context.\n Test,\n // `forge coverage` execution context.\n Coverage,\n // `forge snapshot` execution context.\n Snapshot,\n // Script group execution context (dry run, broadcast or resume).\n ScriptGroup,\n // `forge script` execution context.\n ScriptDryRun,\n // `forge script --broadcast` execution context.\n ScriptBroadcast,\n // `forge script --resume` execution context.\n ScriptResume,\n // Unknown `forge` execution context.\n Unknown\n }\n\n /// The transaction type (`txType`) of the broadcast.\n enum BroadcastTxType {\n // Represents a CALL broadcast tx.\n Call,\n // Represents a CREATE broadcast tx.\n Create,\n // Represents a CREATE2 broadcast tx.\n Create2\n }\n\n /// An Ethereum log. Returned by `getRecordedLogs`.\n struct Log {\n // The topics of the log, including the signature, if any.\n bytes32[] topics;\n // The raw data of the log.\n bytes data;\n // The address of the log's emitter.\n address emitter;\n }\n\n /// An RPC URL and its alias. Returned by `rpcUrlStructs`.\n struct Rpc {\n // The alias of the RPC URL.\n string key;\n // The RPC URL.\n string url;\n }\n\n /// An RPC log object. Returned by `eth_getLogs`.\n struct EthGetLogs {\n // The address of the log's emitter.\n address emitter;\n // The topics of the log, including the signature, if any.\n bytes32[] topics;\n // The raw data of the log.\n bytes data;\n // The block hash.\n bytes32 blockHash;\n // The block number.\n uint64 blockNumber;\n // The transaction hash.\n bytes32 transactionHash;\n // The transaction index in the block.\n uint64 transactionIndex;\n // The log index.\n uint256 logIndex;\n // Whether the log was removed.\n bool removed;\n }\n\n /// A single entry in a directory listing. Returned by `readDir`.\n struct DirEntry {\n // The error message, if any.\n string errorMessage;\n // The path of the entry.\n string path;\n // The depth of the entry.\n uint64 depth;\n // Whether the entry is a directory.\n bool isDir;\n // Whether the entry is a symlink.\n bool isSymlink;\n }\n\n /// Metadata information about a file.\n /// This structure is returned from the `fsMetadata` function and represents known\n /// metadata about a file such as its permissions, size, modification\n /// times, etc.\n struct FsMetadata {\n // True if this metadata is for a directory.\n bool isDir;\n // True if this metadata is for a symlink.\n bool isSymlink;\n // The size of the file, in bytes, this metadata is for.\n uint256 length;\n // True if this metadata is for a readonly (unwritable) file.\n bool readOnly;\n // The last modification time listed in this metadata.\n uint256 modified;\n // The last access time of this metadata.\n uint256 accessed;\n // The creation time listed in this metadata.\n uint256 created;\n }\n\n /// A wallet with a public and private key.\n struct Wallet {\n // The wallet's address.\n address addr;\n // The wallet's public key `X`.\n uint256 publicKeyX;\n // The wallet's public key `Y`.\n uint256 publicKeyY;\n // The wallet's private key.\n uint256 privateKey;\n }\n\n /// The result of a `tryFfi` call.\n struct FfiResult {\n // The exit code of the call.\n int32 exitCode;\n // The optionally hex-decoded `stdout` data.\n bytes stdout;\n // The `stderr` data.\n bytes stderr;\n }\n\n /// Information on the chain and fork.\n struct ChainInfo {\n // The fork identifier. Set to zero if no fork is active.\n uint256 forkId;\n // The chain ID of the current fork.\n uint256 chainId;\n }\n\n /// Information about a blockchain.\n struct Chain {\n // The chain name.\n string name;\n // The chain's Chain ID.\n uint256 chainId;\n // The chain's alias. (i.e. what gets specified in `foundry.toml`).\n string chainAlias;\n // A default RPC endpoint for this chain.\n string rpcUrl;\n }\n\n /// The result of a `stopAndReturnStateDiff` call.\n struct AccountAccess {\n // The chain and fork the access occurred.\n ChainInfo chainInfo;\n // The kind of account access that determines what the account is.\n // If kind is Call, DelegateCall, StaticCall or CallCode, then the account is the callee.\n // If kind is Create, then the account is the newly created account.\n // If kind is SelfDestruct, then the account is the selfdestruct recipient.\n // If kind is a Resume, then account represents a account context that has resumed.\n AccountAccessKind kind;\n // The account that was accessed.\n // It's either the account created, callee or a selfdestruct recipient for CREATE, CALL or SELFDESTRUCT.\n address account;\n // What accessed the account.\n address accessor;\n // If the account was initialized or empty prior to the access.\n // An account is considered initialized if it has code, a\n // non-zero nonce, or a non-zero balance.\n bool initialized;\n // The previous balance of the accessed account.\n uint256 oldBalance;\n // The potential new balance of the accessed account.\n // That is, all balance changes are recorded here, even if reverts occurred.\n uint256 newBalance;\n // Code of the account deployed by CREATE.\n bytes deployedCode;\n // Value passed along with the account access\n uint256 value;\n // Input data provided to the CREATE or CALL\n bytes data;\n // If this access reverted in either the current or parent context.\n bool reverted;\n // An ordered list of storage accesses made during an account access operation.\n StorageAccess[] storageAccesses;\n // Call depth traversed during the recording of state differences\n uint64 depth;\n // The previous nonce of the accessed account.\n uint64 oldNonce;\n // The new nonce of the accessed account.\n uint64 newNonce;\n }\n\n /// The storage accessed during an `AccountAccess`.\n struct StorageAccess {\n // The account whose storage was accessed.\n address account;\n // The slot that was accessed.\n bytes32 slot;\n // If the access was a write.\n bool isWrite;\n // The previous value of the slot.\n bytes32 previousValue;\n // The new value of the slot.\n bytes32 newValue;\n // If the access was reverted.\n bool reverted;\n }\n\n /// Gas used. Returned by `lastCallGas`.\n struct Gas {\n // The gas limit of the call.\n uint64 gasLimit;\n // The total gas used.\n uint64 gasTotalUsed;\n // DEPRECATED: The amount of gas used for memory expansion. Ref: \n uint64 gasMemoryUsed;\n // The amount of gas refunded.\n int64 gasRefunded;\n // The amount of gas remaining.\n uint64 gasRemaining;\n }\n\n /// The result of the `stopDebugTraceRecording` call\n struct DebugStep {\n // The stack before executing the step of the run.\n // stack\\[0\\] represents the top of the stack.\n // and only stack data relevant to the opcode execution is contained.\n uint256[] stack;\n // The memory input data before executing the step of the run.\n // only input data relevant to the opcode execution is contained.\n // e.g. for MLOAD, it will have memory\\[offset:offset+32\\] copied here.\n // the offset value can be get by the stack data.\n bytes memoryInput;\n // The opcode that was accessed.\n uint8 opcode;\n // The call depth of the step.\n uint64 depth;\n // Whether the call end up with out of gas error.\n bool isOutOfGas;\n // The contract address where the opcode is running\n address contractAddr;\n }\n\n /// Represents a transaction's broadcast details.\n struct BroadcastTxSummary {\n // The hash of the transaction that was broadcasted\n bytes32 txHash;\n // Represent the type of transaction among CALL, CREATE, CREATE2\n BroadcastTxType txType;\n // The address of the contract that was called or created.\n // This is address of the contract that is created if the txType is CREATE or CREATE2.\n address contractAddress;\n // The block number the transaction landed in.\n uint64 blockNumber;\n // Status of the transaction, retrieved from the transaction receipt.\n bool success;\n }\n\n /// Holds a signed EIP-7702 authorization for an authority account to delegate to an implementation.\n struct SignedDelegation {\n // The y-parity of the recovered secp256k1 signature (0 or 1).\n uint8 v;\n // First 32 bytes of the signature.\n bytes32 r;\n // Second 32 bytes of the signature.\n bytes32 s;\n // The current nonce of the authority account at signing time.\n // Used to ensure signature can't be replayed after account nonce changes.\n uint64 nonce;\n // Address of the contract implementation that will be delegated to.\n // Gets encoded into delegation code: 0xef0100 || implementation.\n address implementation;\n }\n\n /// Represents a \"potential\" revert reason from a single subsequent call when using `vm.assumeNoReverts`.\n /// Reverts that match will result in a FOUNDRY::ASSUME rejection, whereas unmatched reverts will be surfaced\n /// as normal.\n struct PotentialRevert {\n // The allowed origin of the revert opcode; address(0) allows reverts from any address\n address reverter;\n // When true, only matches on the beginning of the revert data, otherwise, matches on entire revert data\n bool partialMatch;\n // The data to use to match encountered reverts\n bytes revertData;\n }\n\n /// An EIP-2930 access list item.\n struct AccessListItem {\n // The address to be added in access list.\n address target;\n // The storage keys to be added in access list.\n bytes32[] storageKeys;\n }\n\n // ======== Crypto ========\n\n /// Derives a private key from the name, labels the account with that name, and returns the wallet.\n function createWallet(string calldata walletLabel) external returns (Wallet memory wallet);\n\n /// Generates a wallet from the private key and returns the wallet.\n function createWallet(uint256 privateKey) external returns (Wallet memory wallet);\n\n /// Generates a wallet from the private key, labels the account with that name, and returns the wallet.\n function createWallet(uint256 privateKey, string calldata walletLabel) external returns (Wallet memory wallet);\n\n /// Derive a private key from a provided mnemonic string (or mnemonic file path)\n /// at the derivation path `m/44'/60'/0'/0/{index}`.\n function deriveKey(string calldata mnemonic, uint32 index) external pure returns (uint256 privateKey);\n\n /// Derive a private key from a provided mnemonic string (or mnemonic file path)\n /// at `{derivationPath}{index}`.\n function deriveKey(string calldata mnemonic, string calldata derivationPath, uint32 index)\n external\n pure\n returns (uint256 privateKey);\n\n /// Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language\n /// at the derivation path `m/44'/60'/0'/0/{index}`.\n function deriveKey(string calldata mnemonic, uint32 index, string calldata language)\n external\n pure\n returns (uint256 privateKey);\n\n /// Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language\n /// at `{derivationPath}{index}`.\n function deriveKey(string calldata mnemonic, string calldata derivationPath, uint32 index, string calldata language)\n external\n pure\n returns (uint256 privateKey);\n\n /// Derives secp256r1 public key from the provided `privateKey`.\n function publicKeyP256(uint256 privateKey) external pure returns (uint256 publicKeyX, uint256 publicKeyY);\n\n /// Adds a private key to the local forge wallet and returns the address.\n function rememberKey(uint256 privateKey) external returns (address keyAddr);\n\n /// Derive a set number of wallets from a mnemonic at the derivation path `m/44'/60'/0'/0/{0..count}`.\n /// The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\n function rememberKeys(string calldata mnemonic, string calldata derivationPath, uint32 count)\n external\n returns (address[] memory keyAddrs);\n\n /// Derive a set number of wallets from a mnemonic in the specified language at the derivation path `m/44'/60'/0'/0/{0..count}`.\n /// The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\n function rememberKeys(\n string calldata mnemonic,\n string calldata derivationPath,\n string calldata language,\n uint32 count\n ) external returns (address[] memory keyAddrs);\n\n /// Signs data with a `Wallet`.\n /// Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n /// signature's `s` value, and the recovery id `v` in a single bytes32.\n /// This format reduces the signature size from 65 to 64 bytes.\n function signCompact(Wallet calldata wallet, bytes32 digest) external returns (bytes32 r, bytes32 vs);\n\n /// Signs `digest` with `privateKey` using the secp256k1 curve.\n /// Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n /// signature's `s` value, and the recovery id `v` in a single bytes32.\n /// This format reduces the signature size from 65 to 64 bytes.\n function signCompact(uint256 privateKey, bytes32 digest) external pure returns (bytes32 r, bytes32 vs);\n\n /// Signs `digest` with signer provided to script using the secp256k1 curve.\n /// Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n /// signature's `s` value, and the recovery id `v` in a single bytes32.\n /// This format reduces the signature size from 65 to 64 bytes.\n /// If `--sender` is provided, the signer with provided address is used, otherwise,\n /// if exactly one signer is provided to the script, that signer is used.\n /// Raises error if signer passed through `--sender` does not match any unlocked signers or\n /// if `--sender` is not provided and not exactly one signer is passed to the script.\n function signCompact(bytes32 digest) external pure returns (bytes32 r, bytes32 vs);\n\n /// Signs `digest` with signer provided to script using the secp256k1 curve.\n /// Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n /// signature's `s` value, and the recovery id `v` in a single bytes32.\n /// This format reduces the signature size from 65 to 64 bytes.\n /// Raises error if none of the signers passed into the script have provided address.\n function signCompact(address signer, bytes32 digest) external pure returns (bytes32 r, bytes32 vs);\n\n /// Signs `digest` with `privateKey` using the secp256r1 curve.\n function signP256(uint256 privateKey, bytes32 digest) external pure returns (bytes32 r, bytes32 s);\n\n /// Signs `digest` with `privateKey` on the secp256k1 curve, using the given `nonce`\n /// as the raw ephemeral k value in ECDSA (instead of deriving it deterministically).\n function signWithNonceUnsafe(uint256 privateKey, bytes32 digest, uint256 nonce)\n external\n pure\n returns (uint8 v, bytes32 r, bytes32 s);\n\n /// Signs data with a `Wallet`.\n function sign(Wallet calldata wallet, bytes32 digest) external returns (uint8 v, bytes32 r, bytes32 s);\n\n /// Signs `digest` with `privateKey` using the secp256k1 curve.\n function sign(uint256 privateKey, bytes32 digest) external pure returns (uint8 v, bytes32 r, bytes32 s);\n\n /// Signs `digest` with signer provided to script using the secp256k1 curve.\n /// If `--sender` is provided, the signer with provided address is used, otherwise,\n /// if exactly one signer is provided to the script, that signer is used.\n /// Raises error if signer passed through `--sender` does not match any unlocked signers or\n /// if `--sender` is not provided and not exactly one signer is passed to the script.\n function sign(bytes32 digest) external pure returns (uint8 v, bytes32 r, bytes32 s);\n\n /// Signs `digest` with signer provided to script using the secp256k1 curve.\n /// Raises error if none of the signers passed into the script have provided address.\n function sign(address signer, bytes32 digest) external pure returns (uint8 v, bytes32 r, bytes32 s);\n\n // ======== Environment ========\n\n /// Gets the environment variable `name` and parses it as `address`.\n /// Reverts if the variable was not found or could not be parsed.\n function envAddress(string calldata name) external view returns (address value);\n\n /// Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envAddress(string calldata name, string calldata delim) external view returns (address[] memory value);\n\n /// Gets the environment variable `name` and parses it as `bool`.\n /// Reverts if the variable was not found or could not be parsed.\n function envBool(string calldata name) external view returns (bool value);\n\n /// Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envBool(string calldata name, string calldata delim) external view returns (bool[] memory value);\n\n /// Gets the environment variable `name` and parses it as `bytes32`.\n /// Reverts if the variable was not found or could not be parsed.\n function envBytes32(string calldata name) external view returns (bytes32 value);\n\n /// Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envBytes32(string calldata name, string calldata delim) external view returns (bytes32[] memory value);\n\n /// Gets the environment variable `name` and parses it as `bytes`.\n /// Reverts if the variable was not found or could not be parsed.\n function envBytes(string calldata name) external view returns (bytes memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envBytes(string calldata name, string calldata delim) external view returns (bytes[] memory value);\n\n /// Gets the environment variable `name` and returns true if it exists, else returns false.\n function envExists(string calldata name) external view returns (bool result);\n\n /// Gets the environment variable `name` and parses it as `int256`.\n /// Reverts if the variable was not found or could not be parsed.\n function envInt(string calldata name) external view returns (int256 value);\n\n /// Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envInt(string calldata name, string calldata delim) external view returns (int256[] memory value);\n\n /// Gets the environment variable `name` and parses it as `bool`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, bool defaultValue) external view returns (bool value);\n\n /// Gets the environment variable `name` and parses it as `uint256`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, uint256 defaultValue) external view returns (uint256 value);\n\n /// Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, address[] calldata defaultValue)\n external\n view\n returns (address[] memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, bytes32[] calldata defaultValue)\n external\n view\n returns (bytes32[] memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, string[] calldata defaultValue)\n external\n view\n returns (string[] memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, bytes[] calldata defaultValue)\n external\n view\n returns (bytes[] memory value);\n\n /// Gets the environment variable `name` and parses it as `int256`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, int256 defaultValue) external view returns (int256 value);\n\n /// Gets the environment variable `name` and parses it as `address`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, address defaultValue) external view returns (address value);\n\n /// Gets the environment variable `name` and parses it as `bytes32`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, bytes32 defaultValue) external view returns (bytes32 value);\n\n /// Gets the environment variable `name` and parses it as `string`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata defaultValue) external view returns (string memory value);\n\n /// Gets the environment variable `name` and parses it as `bytes`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, bytes calldata defaultValue) external view returns (bytes memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, bool[] calldata defaultValue)\n external\n view\n returns (bool[] memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, uint256[] calldata defaultValue)\n external\n view\n returns (uint256[] memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`.\n /// Reverts if the variable could not be parsed.\n /// Returns `defaultValue` if the variable was not found.\n function envOr(string calldata name, string calldata delim, int256[] calldata defaultValue)\n external\n view\n returns (int256[] memory value);\n\n /// Gets the environment variable `name` and parses it as `string`.\n /// Reverts if the variable was not found or could not be parsed.\n function envString(string calldata name) external view returns (string memory value);\n\n /// Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envString(string calldata name, string calldata delim) external view returns (string[] memory value);\n\n /// Gets the environment variable `name` and parses it as `uint256`.\n /// Reverts if the variable was not found or could not be parsed.\n function envUint(string calldata name) external view returns (uint256 value);\n\n /// Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`.\n /// Reverts if the variable was not found or could not be parsed.\n function envUint(string calldata name, string calldata delim) external view returns (uint256[] memory value);\n\n /// Returns true if `forge` command was executed in given context.\n function isContext(ForgeContext context) external view returns (bool result);\n\n /// Resolves the env variable placeholders of a given input string.\n function resolveEnv(string calldata input) external returns (string memory);\n\n /// Sets environment variables.\n function setEnv(string calldata name, string calldata value) external;\n\n // ======== EVM ========\n\n /// Gets all accessed reads and write slot from a `vm.record` session, for a given address.\n function accesses(address target) external view returns (bytes32[] memory readSlots, bytes32[] memory writeSlots);\n\n /// Gets the address for a given private key.\n function addr(uint256 privateKey) external pure returns (address keyAddr);\n\n /// Gets all the logs according to specified filter.\n function eth_getLogs(uint256 fromBlock, uint256 toBlock, address target, bytes32[] calldata topics)\n external\n view\n returns (EthGetLogs[] memory logs);\n\n /// Gets the current `block.blobbasefee`.\n /// You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction,\n /// and as a result will get optimized out by the compiler.\n /// See https://github.com/foundry-rs/foundry/issues/6180\n function getBlobBaseFee() external view returns (uint256 blobBaseFee);\n\n /// Gets the current `block.number`.\n /// You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction,\n /// and as a result will get optimized out by the compiler.\n /// See https://github.com/foundry-rs/foundry/issues/6180\n function getBlockNumber() external view returns (uint256 height);\n\n /// Gets the current `block.timestamp`.\n /// You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction,\n /// and as a result will get optimized out by the compiler.\n /// See https://github.com/foundry-rs/foundry/issues/6180\n function getBlockTimestamp() external view returns (uint256 timestamp);\n\n /// Gets the current `block.chainid` of the currently selected environment.\n /// You should use this instead of `block.chainid` if you use `vm.selectFork` or `vm.createSelectFork`, as `block.chainid` could be assumed\n /// to be constant across a transaction, and as a result will get optimized out by the compiler.\n /// See https://github.com/foundry-rs/foundry/issues/6180\n function getChainId() external view returns (uint256 blockChainId);\n\n /// Returns the test or script execution evm version.\n /// **Note:** The execution evm version is not the same as the compilation one.\n function getEvmVersion() external pure returns (string memory evm);\n\n /// Gets the map key and parent of a mapping at a given slot, for a given address.\n function getMappingKeyAndParentOf(address target, bytes32 elementSlot)\n external\n view\n returns (bool found, bytes32 key, bytes32 parent);\n\n /// Gets the number of elements in the mapping at the given slot, for a given address.\n function getMappingLength(address target, bytes32 mappingSlot) external view returns (uint256 length);\n\n /// Gets the elements at index idx of the mapping at the given slot, for a given address. The\n /// index must be less than the length of the mapping (i.e. the number of keys in the mapping).\n function getMappingSlotAt(address target, bytes32 mappingSlot, uint256 idx) external view returns (bytes32 value);\n\n /// Gets the nonce of an account.\n function getNonce(address account) external view returns (uint64 nonce);\n\n /// Get the nonce of a `Wallet`.\n function getNonce(Wallet calldata wallet) external view returns (uint64 nonce);\n\n /// Gets the RLP encoded block header for a given block number.\n /// Returns the block header in the same format as `cast block --raw`.\n function getRawBlockHeader(uint256 blockNumber) external view returns (bytes memory rlpHeader);\n\n /// Gets all the recorded logs.\n function getRecordedLogs() external view returns (Log[] memory logs);\n\n /// Returns state diffs from current `vm.startStateDiffRecording` session.\n function getStateDiff() external view returns (string memory diff);\n\n /// Returns state diffs from current `vm.startStateDiffRecording` session, in json format.\n function getStateDiffJson() external view returns (string memory diff);\n\n /// Returns an array of `StorageAccess` from current `vm.stateStateDiffRecording` session\n function getStorageAccesses() external view returns (StorageAccess[] memory storageAccesses);\n\n /// Returns an array of storage slots occupied by the specified variable.\n function getStorageSlots(address target, string calldata variableName)\n external\n view\n returns (uint256[] memory slots);\n\n /// Gets the gas used in the last call from the callee perspective.\n function lastCallGas() external view returns (Gas memory gas);\n\n /// Loads a storage slot from an address.\n function load(address target, bytes32 slot) external view returns (bytes32 data);\n\n /// Pauses gas metering (i.e. gas usage is not counted). Noop if already paused.\n function pauseGasMetering() external;\n\n /// Records all storage reads and writes. Use `accesses` to get the recorded data.\n /// Subsequent calls to `record` will clear the previous data.\n function record() external;\n\n /// Record all the transaction logs.\n function recordLogs() external;\n\n /// Reset gas metering (i.e. gas usage is set to gas limit).\n function resetGasMetering() external;\n\n /// Resumes gas metering (i.e. gas usage is counted again). Noop if already on.\n function resumeGasMetering() external;\n\n /// Performs an Ethereum JSON-RPC request to the current fork URL.\n function rpc(string calldata method, string calldata params) external returns (bytes memory data);\n\n /// Performs an Ethereum JSON-RPC request to the given endpoint.\n function rpc(string calldata urlOrAlias, string calldata method, string calldata params)\n external\n returns (bytes memory data);\n\n /// Set the exact test or script execution evm version, e.g. `berlin`, `cancun`.\n /// **Note:** The execution evm version is not the same as the compilation one.\n function setEvmVersion(string calldata evm) external;\n\n /// Records the debug trace during the run.\n function startDebugTraceRecording() external;\n\n /// Starts recording all map SSTOREs for later retrieval.\n function startMappingRecording() external;\n\n /// Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order,\n /// along with the context of the calls\n function startStateDiffRecording() external;\n\n /// Stop debug trace recording and returns the recorded debug trace.\n function stopAndReturnDebugTraceRecording() external returns (DebugStep[] memory step);\n\n /// Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session.\n function stopAndReturnStateDiff() external returns (AccountAccess[] memory accountAccesses);\n\n /// Stops recording all map SSTOREs for later retrieval and clears the recorded data.\n function stopMappingRecording() external;\n\n /// Stops recording storage reads and writes.\n function stopRecord() external;\n\n // ======== Filesystem ========\n\n /// Closes file for reading, resetting the offset and allowing to read it from beginning with readLine.\n /// `path` is relative to the project root.\n function closeFile(string calldata path) external;\n\n /// Copies the contents of one file to another. This function will **overwrite** the contents of `to`.\n /// On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`.\n /// Both `from` and `to` are relative to the project root.\n function copyFile(string calldata from, string calldata to) external returns (uint64 copied);\n\n /// Creates a new, empty directory at the provided path.\n /// This cheatcode will revert in the following situations, but is not limited to just these cases:\n /// - User lacks permissions to modify `path`.\n /// - A parent of the given path doesn't exist and `recursive` is false.\n /// - `path` already exists and `recursive` is false.\n /// `path` is relative to the project root.\n function createDir(string calldata path, bool recursive) external;\n\n /// Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n function deployCode(string calldata artifactPath) external returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n /// Additionally accepts abi-encoded constructor arguments.\n function deployCode(string calldata artifactPath, bytes calldata constructorArgs)\n external\n returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n /// Additionally accepts `msg.value`.\n function deployCode(string calldata artifactPath, uint256 value) external returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n /// Additionally accepts abi-encoded constructor arguments and `msg.value`.\n function deployCode(string calldata artifactPath, bytes calldata constructorArgs, uint256 value)\n external\n returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n function deployCode(string calldata artifactPath, bytes32 salt) external returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n /// Additionally accepts abi-encoded constructor arguments.\n function deployCode(string calldata artifactPath, bytes calldata constructorArgs, bytes32 salt)\n external\n returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n /// Additionally accepts `msg.value`.\n function deployCode(string calldata artifactPath, uint256 value, bytes32 salt)\n external\n returns (address deployedAddress);\n\n /// Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n /// Additionally accepts abi-encoded constructor arguments and `msg.value`.\n function deployCode(string calldata artifactPath, bytes calldata constructorArgs, uint256 value, bytes32 salt)\n external\n returns (address deployedAddress);\n\n /// Returns true if the given path points to an existing entity, else returns false.\n function exists(string calldata path) external view returns (bool result);\n\n /// Performs a foreign function call via the terminal.\n function ffi(string[] calldata commandInput) external returns (bytes memory result);\n\n /// Given a path, query the file system to get information about a file, directory, etc.\n function fsMetadata(string calldata path) external view returns (FsMetadata memory metadata);\n\n /// Gets the artifact path from code (aka. creation code).\n function getArtifactPathByCode(bytes calldata code) external view returns (string memory path);\n\n /// Gets the artifact path from deployed code (aka. runtime code).\n function getArtifactPathByDeployedCode(bytes calldata deployedCode) external view returns (string memory path);\n\n /// Returns the most recent broadcast for the given contract on `chainId` matching `txType`.\n /// For example:\n /// The most recent deployment can be fetched by passing `txType` as `CREATE` or `CREATE2`.\n /// The most recent call can be fetched by passing `txType` as `CALL`.\n function getBroadcast(string calldata contractName, uint64 chainId, BroadcastTxType txType)\n external\n view\n returns (BroadcastTxSummary memory);\n\n /// Returns all broadcasts for the given contract on `chainId` with the specified `txType`.\n /// Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\n function getBroadcasts(string calldata contractName, uint64 chainId, BroadcastTxType txType)\n external\n view\n returns (BroadcastTxSummary[] memory);\n\n /// Returns all broadcasts for the given contract on `chainId`.\n /// Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\n function getBroadcasts(string calldata contractName, uint64 chainId)\n external\n view\n returns (BroadcastTxSummary[] memory);\n\n /// Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n function getCode(string calldata artifactPath) external view returns (bytes memory creationBytecode);\n\n /// Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the\n /// artifact in the form of :: where and parts are optional.\n function getDeployedCode(string calldata artifactPath) external view returns (bytes memory runtimeBytecode);\n\n /// Returns the most recent deployment for the current `chainId`.\n function getDeployment(string calldata contractName) external view returns (address deployedAddress);\n\n /// Returns the most recent deployment for the given contract on `chainId`\n function getDeployment(string calldata contractName, uint64 chainId)\n external\n view\n returns (address deployedAddress);\n\n /// Returns all deployments for the given contract on `chainId`\n /// Sorted in descending order of deployment time i.e descending order of BroadcastTxSummary.blockNumber.\n /// The most recent deployment is the first element, and the oldest is the last.\n function getDeployments(string calldata contractName, uint64 chainId)\n external\n view\n returns (address[] memory deployedAddresses);\n\n /// Returns true if the path exists on disk and is pointing at a directory, else returns false.\n function isDir(string calldata path) external view returns (bool result);\n\n /// Returns true if the path exists on disk and is pointing at a regular file, else returns false.\n function isFile(string calldata path) external view returns (bool result);\n\n /// Get the path of the current project root.\n function projectRoot() external view returns (string memory path);\n\n /// Prompts the user for a string value in the terminal.\n function prompt(string calldata promptText) external returns (string memory input);\n\n /// Prompts the user for an address in the terminal.\n function promptAddress(string calldata promptText) external returns (address);\n\n /// Prompts the user for a hidden string value in the terminal.\n function promptSecret(string calldata promptText) external returns (string memory input);\n\n /// Prompts the user for hidden uint256 in the terminal (usually pk).\n function promptSecretUint(string calldata promptText) external returns (uint256);\n\n /// Prompts the user for uint256 in the terminal.\n function promptUint(string calldata promptText) external returns (uint256);\n\n /// Reads the directory at the given path recursively, up to `maxDepth`.\n /// `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned.\n /// Follows symbolic links if `followLinks` is true.\n function readDir(string calldata path) external view returns (DirEntry[] memory entries);\n\n /// See `readDir(string)`.\n function readDir(string calldata path, uint64 maxDepth) external view returns (DirEntry[] memory entries);\n\n /// See `readDir(string)`.\n function readDir(string calldata path, uint64 maxDepth, bool followLinks)\n external\n view\n returns (DirEntry[] memory entries);\n\n /// Reads the entire content of file to string. `path` is relative to the project root.\n function readFile(string calldata path) external view returns (string memory data);\n\n /// Reads the entire content of file as binary. `path` is relative to the project root.\n function readFileBinary(string calldata path) external view returns (bytes memory data);\n\n /// Reads next line of file to string.\n function readLine(string calldata path) external view returns (string memory line);\n\n /// Reads a symbolic link, returning the path that the link points to.\n /// This cheatcode will revert in the following situations, but is not limited to just these cases:\n /// - `path` is not a symbolic link.\n /// - `path` does not exist.\n function readLink(string calldata linkPath) external view returns (string memory targetPath);\n\n /// Removes a directory at the provided path.\n /// This cheatcode will revert in the following situations, but is not limited to just these cases:\n /// - `path` doesn't exist.\n /// - `path` isn't a directory.\n /// - User lacks permissions to modify `path`.\n /// - The directory is not empty and `recursive` is false.\n /// `path` is relative to the project root.\n function removeDir(string calldata path, bool recursive) external;\n\n /// Removes a file from the filesystem.\n /// This cheatcode will revert in the following situations, but is not limited to just these cases:\n /// - `path` points to a directory.\n /// - The file doesn't exist.\n /// - The user lacks permissions to remove the file.\n /// `path` is relative to the project root.\n function removeFile(string calldata path) external;\n\n /// Performs a foreign function call via terminal and returns the exit code, stdout, and stderr.\n function tryFfi(string[] calldata commandInput) external returns (FfiResult memory result);\n\n /// Returns the time since unix epoch in milliseconds.\n function unixTime() external view returns (uint256 milliseconds);\n\n /// Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does.\n /// `path` is relative to the project root.\n function writeFile(string calldata path, string calldata data) external;\n\n /// Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does.\n /// `path` is relative to the project root.\n function writeFileBinary(string calldata path, bytes calldata data) external;\n\n /// Writes line to file, creating a file if it does not exist.\n /// `path` is relative to the project root.\n function writeLine(string calldata path, string calldata data) external;\n\n // ======== JSON ========\n\n /// Checks if `key` exists in a JSON object.\n function keyExistsJson(string calldata json, string calldata key) external view returns (bool);\n\n /// Parses a string of JSON data at `key` and coerces it to `address`.\n function parseJsonAddress(string calldata json, string calldata key) external pure returns (address);\n\n /// Parses a string of JSON data at `key` and coerces it to `address[]`.\n function parseJsonAddressArray(string calldata json, string calldata key)\n external\n pure\n returns (address[] memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `bool`.\n function parseJsonBool(string calldata json, string calldata key) external pure returns (bool);\n\n /// Parses a string of JSON data at `key` and coerces it to `bool[]`.\n function parseJsonBoolArray(string calldata json, string calldata key) external pure returns (bool[] memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `bytes`.\n function parseJsonBytes(string calldata json, string calldata key) external pure returns (bytes memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `bytes32`.\n function parseJsonBytes32(string calldata json, string calldata key) external pure returns (bytes32);\n\n /// Parses a string of JSON data at `key` and coerces it to `bytes32[]`.\n function parseJsonBytes32Array(string calldata json, string calldata key)\n external\n pure\n returns (bytes32[] memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `bytes[]`.\n function parseJsonBytesArray(string calldata json, string calldata key) external pure returns (bytes[] memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `int256`.\n function parseJsonInt(string calldata json, string calldata key) external pure returns (int256);\n\n /// Parses a string of JSON data at `key` and coerces it to `int256[]`.\n function parseJsonIntArray(string calldata json, string calldata key) external pure returns (int256[] memory);\n\n /// Returns an array of all the keys in a JSON object.\n function parseJsonKeys(string calldata json, string calldata key) external pure returns (string[] memory keys);\n\n /// Parses a string of JSON data at `key` and coerces it to `string`.\n function parseJsonString(string calldata json, string calldata key) external pure returns (string memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `string[]`.\n function parseJsonStringArray(string calldata json, string calldata key) external pure returns (string[] memory);\n\n /// Parses a string of JSON data at `key` and coerces it to type array corresponding to `typeDescription`.\n function parseJsonTypeArray(string calldata json, string calldata key, string calldata typeDescription)\n external\n pure\n returns (bytes memory);\n\n /// Parses a string of JSON data and coerces it to type corresponding to `typeDescription`.\n function parseJsonType(string calldata json, string calldata typeDescription)\n external\n pure\n returns (bytes memory);\n\n /// Parses a string of JSON data at `key` and coerces it to type corresponding to `typeDescription`.\n function parseJsonType(string calldata json, string calldata key, string calldata typeDescription)\n external\n pure\n returns (bytes memory);\n\n /// Parses a string of JSON data at `key` and coerces it to `uint256`.\n function parseJsonUint(string calldata json, string calldata key) external pure returns (uint256);\n\n /// Parses a string of JSON data at `key` and coerces it to `uint256[]`.\n function parseJsonUintArray(string calldata json, string calldata key) external pure returns (uint256[] memory);\n\n /// ABI-encodes a JSON object.\n function parseJson(string calldata json) external pure returns (bytes memory abiEncodedData);\n\n /// ABI-encodes a JSON object at `key`.\n function parseJson(string calldata json, string calldata key) external pure returns (bytes memory abiEncodedData);\n\n /// See `serializeJson`.\n function serializeAddress(string calldata objectKey, string calldata valueKey, address value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeAddress(string calldata objectKey, string calldata valueKey, address[] calldata values)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeBool(string calldata objectKey, string calldata valueKey, bool value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeBool(string calldata objectKey, string calldata valueKey, bool[] calldata values)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeBytes32(string calldata objectKey, string calldata valueKey, bytes32 value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeBytes32(string calldata objectKey, string calldata valueKey, bytes32[] calldata values)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeBytes(string calldata objectKey, string calldata valueKey, bytes calldata value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeBytes(string calldata objectKey, string calldata valueKey, bytes[] calldata values)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeInt(string calldata objectKey, string calldata valueKey, int256 value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeInt(string calldata objectKey, string calldata valueKey, int256[] calldata values)\n external\n returns (string memory json);\n\n /// Serializes a key and value to a JSON object stored in-memory that can be later written to a file.\n /// Returns the stringified version of the specific JSON file up to that moment.\n function serializeJson(string calldata objectKey, string calldata value) external returns (string memory json);\n\n /// See `serializeJson`.\n function serializeJsonType(string calldata typeDescription, bytes calldata value)\n external\n pure\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeJsonType(\n string calldata objectKey,\n string calldata valueKey,\n string calldata typeDescription,\n bytes calldata value\n ) external returns (string memory json);\n\n /// See `serializeJson`.\n function serializeString(string calldata objectKey, string calldata valueKey, string calldata value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeString(string calldata objectKey, string calldata valueKey, string[] calldata values)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeUintToHex(string calldata objectKey, string calldata valueKey, uint256 value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeUint(string calldata objectKey, string calldata valueKey, uint256 value)\n external\n returns (string memory json);\n\n /// See `serializeJson`.\n function serializeUint(string calldata objectKey, string calldata valueKey, uint256[] calldata values)\n external\n returns (string memory json);\n\n /// Write a serialized JSON object to a file. If the file exists, it will be overwritten.\n function writeJson(string calldata json, string calldata path) external;\n\n /// Write a serialized JSON object to an **existing** JSON file, replacing a value with key = \n /// This is useful to replace a specific value of a JSON file, without having to parse the entire thing.\n /// This cheatcode will create new keys if they didn't previously exist.\n function writeJson(string calldata json, string calldata path, string calldata valueKey) external;\n\n /// Checks if `key` exists in a JSON object\n /// `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions.\n function keyExists(string calldata json, string calldata key) external view returns (bool);\n\n // ======== Scripting ========\n\n /// Attach an EIP-4844 blob to the next call\n function attachBlob(bytes calldata blob) external;\n\n /// Designate the next call as an EIP-7702 transaction\n function attachDelegation(SignedDelegation calldata signedDelegation) external;\n\n /// Designate the next call as an EIP-7702 transaction, with optional cross-chain validity.\n function attachDelegation(SignedDelegation calldata signedDelegation, bool crossChain) external;\n\n /// Takes a signed transaction and broadcasts it to the network.\n function broadcastRawTransaction(bytes calldata data) external;\n\n /// Has the next call (at this call depth only) create transactions that can later be signed and sent onchain.\n /// Broadcasting address is determined by checking the following in order:\n /// 1. If `--sender` argument was provided, that address is used.\n /// 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used.\n /// 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\n function broadcast() external;\n\n /// Has the next call (at this call depth only) create a transaction with the address provided\n /// as the sender that can later be signed and sent onchain.\n function broadcast(address signer) external;\n\n /// Has the next call (at this call depth only) create a transaction with the private key\n /// provided as the sender that can later be signed and sent onchain.\n function broadcast(uint256 privateKey) external;\n\n /// Returns addresses of available unlocked wallets in the script environment.\n function getWallets() external view returns (address[] memory wallets);\n\n /// Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction\n function signAndAttachDelegation(address implementation, uint256 privateKey)\n external\n returns (SignedDelegation memory signedDelegation);\n\n /// Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction for specific nonce\n function signAndAttachDelegation(address implementation, uint256 privateKey, uint64 nonce)\n external\n returns (SignedDelegation memory signedDelegation);\n\n /// Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction, with optional cross-chain validity.\n function signAndAttachDelegation(address implementation, uint256 privateKey, bool crossChain)\n external\n returns (SignedDelegation memory signedDelegation);\n\n /// Sign an EIP-7702 authorization for delegation\n function signDelegation(address implementation, uint256 privateKey)\n external\n returns (SignedDelegation memory signedDelegation);\n\n /// Sign an EIP-7702 authorization for delegation for specific nonce\n function signDelegation(address implementation, uint256 privateKey, uint64 nonce)\n external\n returns (SignedDelegation memory signedDelegation);\n\n /// Sign an EIP-7702 authorization for delegation, with optional cross-chain validity.\n function signDelegation(address implementation, uint256 privateKey, bool crossChain)\n external\n returns (SignedDelegation memory signedDelegation);\n\n /// Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain.\n /// Broadcasting address is determined by checking the following in order:\n /// 1. If `--sender` argument was provided, that address is used.\n /// 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used.\n /// 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\n function startBroadcast() external;\n\n /// Has all subsequent calls (at this call depth only) create transactions with the address\n /// provided that can later be signed and sent onchain.\n function startBroadcast(address signer) external;\n\n /// Has all subsequent calls (at this call depth only) create transactions with the private key\n /// provided that can later be signed and sent onchain.\n function startBroadcast(uint256 privateKey) external;\n\n /// Stops collecting onchain transactions.\n function stopBroadcast() external;\n\n // ======== String ========\n\n /// Returns true if `search` is found in `subject`, false otherwise.\n function contains(string calldata subject, string calldata search) external pure returns (bool result);\n\n /// Returns the index of the first occurrence of a `key` in an `input` string.\n /// Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found.\n /// Returns 0 in case of an empty `key`.\n function indexOf(string calldata input, string calldata key) external pure returns (uint256);\n\n /// Parses the given `string` into an `address`.\n function parseAddress(string calldata stringifiedValue) external pure returns (address parsedValue);\n\n /// Parses the given `string` into a `bool`.\n function parseBool(string calldata stringifiedValue) external pure returns (bool parsedValue);\n\n /// Parses the given `string` into `bytes`.\n function parseBytes(string calldata stringifiedValue) external pure returns (bytes memory parsedValue);\n\n /// Parses the given `string` into a `bytes32`.\n function parseBytes32(string calldata stringifiedValue) external pure returns (bytes32 parsedValue);\n\n /// Parses the given `string` into a `int256`.\n function parseInt(string calldata stringifiedValue) external pure returns (int256 parsedValue);\n\n /// Parses the given `string` into a `uint256`.\n function parseUint(string calldata stringifiedValue) external pure returns (uint256 parsedValue);\n\n /// Replaces occurrences of `from` in the given `string` with `to`.\n function replace(string calldata input, string calldata from, string calldata to)\n external\n pure\n returns (string memory output);\n\n /// Splits the given `string` into an array of strings divided by the `delimiter`.\n function split(string calldata input, string calldata delimiter) external pure returns (string[] memory outputs);\n\n /// Converts the given `string` value to Lowercase.\n function toLowercase(string calldata input) external pure returns (string memory output);\n\n /// Converts the given value to a `string`.\n function toString(address value) external pure returns (string memory stringifiedValue);\n\n /// Converts the given value to a `string`.\n function toString(bytes calldata value) external pure returns (string memory stringifiedValue);\n\n /// Converts the given value to a `string`.\n function toString(bytes32 value) external pure returns (string memory stringifiedValue);\n\n /// Converts the given value to a `string`.\n function toString(bool value) external pure returns (string memory stringifiedValue);\n\n /// Converts the given value to a `string`.\n function toString(uint256 value) external pure returns (string memory stringifiedValue);\n\n /// Converts the given value to a `string`.\n function toString(int256 value) external pure returns (string memory stringifiedValue);\n\n /// Converts the given `string` value to Uppercase.\n function toUppercase(string calldata input) external pure returns (string memory output);\n\n /// Trims leading and trailing whitespace from the given `string` value.\n function trim(string calldata input) external pure returns (string memory output);\n\n // ======== Testing ========\n\n /// Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n /// Formats values with decimals in failure message.\n function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals) external pure;\n\n /// Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertApproxEqAbsDecimal(\n uint256 left,\n uint256 right,\n uint256 maxDelta,\n uint256 decimals,\n string calldata error\n ) external pure;\n\n /// Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n /// Formats values with decimals in failure message.\n function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals) external pure;\n\n /// Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertApproxEqAbsDecimal(\n int256 left,\n int256 right,\n uint256 maxDelta,\n uint256 decimals,\n string calldata error\n ) external pure;\n\n /// Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta) external pure;\n\n /// Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n /// Includes error message into revert string on failure.\n function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta) external pure;\n\n /// Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n /// Includes error message into revert string on failure.\n function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n /// Formats values with decimals in failure message.\n function assertApproxEqRelDecimal(uint256 left, uint256 right, uint256 maxPercentDelta, uint256 decimals)\n external\n pure;\n\n /// Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertApproxEqRelDecimal(\n uint256 left,\n uint256 right,\n uint256 maxPercentDelta,\n uint256 decimals,\n string calldata error\n ) external pure;\n\n /// Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n /// Formats values with decimals in failure message.\n function assertApproxEqRelDecimal(int256 left, int256 right, uint256 maxPercentDelta, uint256 decimals)\n external\n pure;\n\n /// Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertApproxEqRelDecimal(\n int256 left,\n int256 right,\n uint256 maxPercentDelta,\n uint256 decimals,\n string calldata error\n ) external pure;\n\n /// Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta) external pure;\n\n /// Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n /// Includes error message into revert string on failure.\n function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta, string calldata error)\n external\n pure;\n\n /// Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta) external pure;\n\n /// Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n /// `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n /// Includes error message into revert string on failure.\n function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta, string calldata error)\n external\n pure;\n\n /// Asserts that two `uint256` values are equal, formatting them with decimals in failure message.\n function assertEqDecimal(uint256 left, uint256 right, uint256 decimals) external pure;\n\n /// Asserts that two `uint256` values are equal, formatting them with decimals in failure message.\n /// Includes error message into revert string on failure.\n function assertEqDecimal(uint256 left, uint256 right, uint256 decimals, string calldata error) external pure;\n\n /// Asserts that two `int256` values are equal, formatting them with decimals in failure message.\n function assertEqDecimal(int256 left, int256 right, uint256 decimals) external pure;\n\n /// Asserts that two `int256` values are equal, formatting them with decimals in failure message.\n /// Includes error message into revert string on failure.\n function assertEqDecimal(int256 left, int256 right, uint256 decimals, string calldata error) external pure;\n\n /// Asserts that two `bool` values are equal.\n function assertEq(bool left, bool right) external pure;\n\n /// Asserts that two `bool` values are equal and includes error message into revert string on failure.\n function assertEq(bool left, bool right, string calldata error) external pure;\n\n /// Asserts that two `string` values are equal.\n function assertEq(string calldata left, string calldata right) external pure;\n\n /// Asserts that two `string` values are equal and includes error message into revert string on failure.\n function assertEq(string calldata left, string calldata right, string calldata error) external pure;\n\n /// Asserts that two `bytes` values are equal.\n function assertEq(bytes calldata left, bytes calldata right) external pure;\n\n /// Asserts that two `bytes` values are equal and includes error message into revert string on failure.\n function assertEq(bytes calldata left, bytes calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `bool` values are equal.\n function assertEq(bool[] calldata left, bool[] calldata right) external pure;\n\n /// Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure.\n function assertEq(bool[] calldata left, bool[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `uint256 values are equal.\n function assertEq(uint256[] calldata left, uint256[] calldata right) external pure;\n\n /// Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure.\n function assertEq(uint256[] calldata left, uint256[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `int256` values are equal.\n function assertEq(int256[] calldata left, int256[] calldata right) external pure;\n\n /// Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure.\n function assertEq(int256[] calldata left, int256[] calldata right, string calldata error) external pure;\n\n /// Asserts that two `uint256` values are equal.\n function assertEq(uint256 left, uint256 right) external pure;\n\n /// Asserts that two arrays of `address` values are equal.\n function assertEq(address[] calldata left, address[] calldata right) external pure;\n\n /// Asserts that two arrays of `address` values are equal and includes error message into revert string on failure.\n function assertEq(address[] calldata left, address[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `bytes32` values are equal.\n function assertEq(bytes32[] calldata left, bytes32[] calldata right) external pure;\n\n /// Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure.\n function assertEq(bytes32[] calldata left, bytes32[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `string` values are equal.\n function assertEq(string[] calldata left, string[] calldata right) external pure;\n\n /// Asserts that two arrays of `string` values are equal and includes error message into revert string on failure.\n function assertEq(string[] calldata left, string[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `bytes` values are equal.\n function assertEq(bytes[] calldata left, bytes[] calldata right) external pure;\n\n /// Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure.\n function assertEq(bytes[] calldata left, bytes[] calldata right, string calldata error) external pure;\n\n /// Asserts that two `uint256` values are equal and includes error message into revert string on failure.\n function assertEq(uint256 left, uint256 right, string calldata error) external pure;\n\n /// Asserts that two `int256` values are equal.\n function assertEq(int256 left, int256 right) external pure;\n\n /// Asserts that two `int256` values are equal and includes error message into revert string on failure.\n function assertEq(int256 left, int256 right, string calldata error) external pure;\n\n /// Asserts that two `address` values are equal.\n function assertEq(address left, address right) external pure;\n\n /// Asserts that two `address` values are equal and includes error message into revert string on failure.\n function assertEq(address left, address right, string calldata error) external pure;\n\n /// Asserts that two `bytes32` values are equal.\n function assertEq(bytes32 left, bytes32 right) external pure;\n\n /// Asserts that two `bytes32` values are equal and includes error message into revert string on failure.\n function assertEq(bytes32 left, bytes32 right, string calldata error) external pure;\n\n /// Asserts that the given condition is false.\n function assertFalse(bool condition) external pure;\n\n /// Asserts that the given condition is false and includes error message into revert string on failure.\n function assertFalse(bool condition, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than or equal to second.\n /// Formats values with decimals in failure message.\n function assertGeDecimal(uint256 left, uint256 right, uint256 decimals) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than or equal to second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertGeDecimal(uint256 left, uint256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than or equal to second.\n /// Formats values with decimals in failure message.\n function assertGeDecimal(int256 left, int256 right, uint256 decimals) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than or equal to second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertGeDecimal(int256 left, int256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than or equal to second.\n function assertGe(uint256 left, uint256 right) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than or equal to second.\n /// Includes error message into revert string on failure.\n function assertGe(uint256 left, uint256 right, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than or equal to second.\n function assertGe(int256 left, int256 right) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than or equal to second.\n /// Includes error message into revert string on failure.\n function assertGe(int256 left, int256 right, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than second.\n /// Formats values with decimals in failure message.\n function assertGtDecimal(uint256 left, uint256 right, uint256 decimals) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertGtDecimal(uint256 left, uint256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than second.\n /// Formats values with decimals in failure message.\n function assertGtDecimal(int256 left, int256 right, uint256 decimals) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertGtDecimal(int256 left, int256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than second.\n function assertGt(uint256 left, uint256 right) external pure;\n\n /// Compares two `uint256` values. Expects first value to be greater than second.\n /// Includes error message into revert string on failure.\n function assertGt(uint256 left, uint256 right, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than second.\n function assertGt(int256 left, int256 right) external pure;\n\n /// Compares two `int256` values. Expects first value to be greater than second.\n /// Includes error message into revert string on failure.\n function assertGt(int256 left, int256 right, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than or equal to second.\n /// Formats values with decimals in failure message.\n function assertLeDecimal(uint256 left, uint256 right, uint256 decimals) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than or equal to second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertLeDecimal(uint256 left, uint256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than or equal to second.\n /// Formats values with decimals in failure message.\n function assertLeDecimal(int256 left, int256 right, uint256 decimals) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than or equal to second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertLeDecimal(int256 left, int256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than or equal to second.\n function assertLe(uint256 left, uint256 right) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than or equal to second.\n /// Includes error message into revert string on failure.\n function assertLe(uint256 left, uint256 right, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than or equal to second.\n function assertLe(int256 left, int256 right) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than or equal to second.\n /// Includes error message into revert string on failure.\n function assertLe(int256 left, int256 right, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than second.\n /// Formats values with decimals in failure message.\n function assertLtDecimal(uint256 left, uint256 right, uint256 decimals) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertLtDecimal(uint256 left, uint256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than second.\n /// Formats values with decimals in failure message.\n function assertLtDecimal(int256 left, int256 right, uint256 decimals) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than second.\n /// Formats values with decimals in failure message. Includes error message into revert string on failure.\n function assertLtDecimal(int256 left, int256 right, uint256 decimals, string calldata error) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than second.\n function assertLt(uint256 left, uint256 right) external pure;\n\n /// Compares two `uint256` values. Expects first value to be less than second.\n /// Includes error message into revert string on failure.\n function assertLt(uint256 left, uint256 right, string calldata error) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than second.\n function assertLt(int256 left, int256 right) external pure;\n\n /// Compares two `int256` values. Expects first value to be less than second.\n /// Includes error message into revert string on failure.\n function assertLt(int256 left, int256 right, string calldata error) external pure;\n\n /// Asserts that two `uint256` values are not equal, formatting them with decimals in failure message.\n function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals) external pure;\n\n /// Asserts that two `uint256` values are not equal, formatting them with decimals in failure message.\n /// Includes error message into revert string on failure.\n function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals, string calldata error) external pure;\n\n /// Asserts that two `int256` values are not equal, formatting them with decimals in failure message.\n function assertNotEqDecimal(int256 left, int256 right, uint256 decimals) external pure;\n\n /// Asserts that two `int256` values are not equal, formatting them with decimals in failure message.\n /// Includes error message into revert string on failure.\n function assertNotEqDecimal(int256 left, int256 right, uint256 decimals, string calldata error) external pure;\n\n /// Asserts that two `bool` values are not equal.\n function assertNotEq(bool left, bool right) external pure;\n\n /// Asserts that two `bool` values are not equal and includes error message into revert string on failure.\n function assertNotEq(bool left, bool right, string calldata error) external pure;\n\n /// Asserts that two `string` values are not equal.\n function assertNotEq(string calldata left, string calldata right) external pure;\n\n /// Asserts that two `string` values are not equal and includes error message into revert string on failure.\n function assertNotEq(string calldata left, string calldata right, string calldata error) external pure;\n\n /// Asserts that two `bytes` values are not equal.\n function assertNotEq(bytes calldata left, bytes calldata right) external pure;\n\n /// Asserts that two `bytes` values are not equal and includes error message into revert string on failure.\n function assertNotEq(bytes calldata left, bytes calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `bool` values are not equal.\n function assertNotEq(bool[] calldata left, bool[] calldata right) external pure;\n\n /// Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure.\n function assertNotEq(bool[] calldata left, bool[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `uint256` values are not equal.\n function assertNotEq(uint256[] calldata left, uint256[] calldata right) external pure;\n\n /// Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure.\n function assertNotEq(uint256[] calldata left, uint256[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `int256` values are not equal.\n function assertNotEq(int256[] calldata left, int256[] calldata right) external pure;\n\n /// Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure.\n function assertNotEq(int256[] calldata left, int256[] calldata right, string calldata error) external pure;\n\n /// Asserts that two `uint256` values are not equal.\n function assertNotEq(uint256 left, uint256 right) external pure;\n\n /// Asserts that two arrays of `address` values are not equal.\n function assertNotEq(address[] calldata left, address[] calldata right) external pure;\n\n /// Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure.\n function assertNotEq(address[] calldata left, address[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `bytes32` values are not equal.\n function assertNotEq(bytes32[] calldata left, bytes32[] calldata right) external pure;\n\n /// Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure.\n function assertNotEq(bytes32[] calldata left, bytes32[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `string` values are not equal.\n function assertNotEq(string[] calldata left, string[] calldata right) external pure;\n\n /// Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure.\n function assertNotEq(string[] calldata left, string[] calldata right, string calldata error) external pure;\n\n /// Asserts that two arrays of `bytes` values are not equal.\n function assertNotEq(bytes[] calldata left, bytes[] calldata right) external pure;\n\n /// Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure.\n function assertNotEq(bytes[] calldata left, bytes[] calldata right, string calldata error) external pure;\n\n /// Asserts that two `uint256` values are not equal and includes error message into revert string on failure.\n function assertNotEq(uint256 left, uint256 right, string calldata error) external pure;\n\n /// Asserts that two `int256` values are not equal.\n function assertNotEq(int256 left, int256 right) external pure;\n\n /// Asserts that two `int256` values are not equal and includes error message into revert string on failure.\n function assertNotEq(int256 left, int256 right, string calldata error) external pure;\n\n /// Asserts that two `address` values are not equal.\n function assertNotEq(address left, address right) external pure;\n\n /// Asserts that two `address` values are not equal and includes error message into revert string on failure.\n function assertNotEq(address left, address right, string calldata error) external pure;\n\n /// Asserts that two `bytes32` values are not equal.\n function assertNotEq(bytes32 left, bytes32 right) external pure;\n\n /// Asserts that two `bytes32` values are not equal and includes error message into revert string on failure.\n function assertNotEq(bytes32 left, bytes32 right, string calldata error) external pure;\n\n /// Asserts that the given condition is true.\n function assertTrue(bool condition) external pure;\n\n /// Asserts that the given condition is true and includes error message into revert string on failure.\n function assertTrue(bool condition, string calldata error) external pure;\n\n /// If the condition is false, discard this run's fuzz inputs and generate new ones.\n function assume(bool condition) external pure;\n\n /// Discard this run's fuzz inputs and generate new ones if next call reverted.\n function assumeNoRevert() external pure;\n\n /// Discard this run's fuzz inputs and generate new ones if next call reverts with the potential revert parameters.\n function assumeNoRevert(PotentialRevert calldata potentialRevert) external pure;\n\n /// Discard this run's fuzz inputs and generate new ones if next call reverts with the any of the potential revert parameters.\n function assumeNoRevert(PotentialRevert[] calldata potentialReverts) external pure;\n\n /// Writes a breakpoint to jump to in the debugger.\n function breakpoint(string calldata char) external pure;\n\n /// Writes a conditional breakpoint to jump to in the debugger.\n function breakpoint(string calldata char, bool value) external pure;\n\n /// Returns true if the current Foundry version is greater than or equal to the given version.\n /// The given version string must be in the format `major.minor.patch`.\n /// This is equivalent to `foundryVersionCmp(version) >= 0`.\n function foundryVersionAtLeast(string calldata version) external view returns (bool);\n\n /// Compares the current Foundry version with the given version string.\n /// The given version string must be in the format `major.minor.patch`.\n /// Returns:\n /// -1 if current Foundry version is less than the given version\n /// 0 if current Foundry version equals the given version\n /// 1 if current Foundry version is greater than the given version\n /// This result can then be used with a comparison operator against `0`.\n /// For example, to check if the current Foundry version is greater than or equal to `1.0.0`:\n /// `if (foundryVersionCmp(\"1.0.0\") >= 0) { ... }`\n function foundryVersionCmp(string calldata version) external view returns (int256);\n\n /// Returns a Chain struct for specific alias\n function getChain(string calldata chainAlias) external view returns (Chain memory chain);\n\n /// Returns a Chain struct for specific chainId\n function getChain(uint256 chainId) external view returns (Chain memory chain);\n\n /// Returns the Foundry version.\n /// Format: -+..\n /// Sample output: 0.3.0-nightly+3cb96bde9b.1737036656.debug\n /// Note: Build timestamps may vary slightly across platforms due to separate CI jobs.\n /// For reliable version comparisons, use UNIX format (e.g., >= 1700000000)\n /// to compare timestamps while ignoring minor time differences.\n function getFoundryVersion() external view returns (string memory version);\n\n /// Returns the RPC url for the given alias.\n function rpcUrl(string calldata rpcAlias) external view returns (string memory json);\n\n /// Returns all rpc urls and their aliases as structs.\n function rpcUrlStructs() external view returns (Rpc[] memory urls);\n\n /// Returns all rpc urls and their aliases `[alias, url][]`.\n function rpcUrls() external view returns (string[2][] memory urls);\n\n /// Suspends execution of the main thread for `duration` milliseconds.\n function sleep(uint256 duration) external;\n\n // ======== Toml ========\n\n /// Checks if `key` exists in a TOML table.\n function keyExistsToml(string calldata toml, string calldata key) external view returns (bool);\n\n /// Parses a string of TOML data at `key` and coerces it to `address`.\n function parseTomlAddress(string calldata toml, string calldata key) external pure returns (address);\n\n /// Parses a string of TOML data at `key` and coerces it to `address[]`.\n function parseTomlAddressArray(string calldata toml, string calldata key)\n external\n pure\n returns (address[] memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `bool`.\n function parseTomlBool(string calldata toml, string calldata key) external pure returns (bool);\n\n /// Parses a string of TOML data at `key` and coerces it to `bool[]`.\n function parseTomlBoolArray(string calldata toml, string calldata key) external pure returns (bool[] memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `bytes`.\n function parseTomlBytes(string calldata toml, string calldata key) external pure returns (bytes memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `bytes32`.\n function parseTomlBytes32(string calldata toml, string calldata key) external pure returns (bytes32);\n\n /// Parses a string of TOML data at `key` and coerces it to `bytes32[]`.\n function parseTomlBytes32Array(string calldata toml, string calldata key)\n external\n pure\n returns (bytes32[] memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `bytes[]`.\n function parseTomlBytesArray(string calldata toml, string calldata key) external pure returns (bytes[] memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `int256`.\n function parseTomlInt(string calldata toml, string calldata key) external pure returns (int256);\n\n /// Parses a string of TOML data at `key` and coerces it to `int256[]`.\n function parseTomlIntArray(string calldata toml, string calldata key) external pure returns (int256[] memory);\n\n /// Returns an array of all the keys in a TOML table.\n function parseTomlKeys(string calldata toml, string calldata key) external pure returns (string[] memory keys);\n\n /// Parses a string of TOML data at `key` and coerces it to `string`.\n function parseTomlString(string calldata toml, string calldata key) external pure returns (string memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `string[]`.\n function parseTomlStringArray(string calldata toml, string calldata key) external pure returns (string[] memory);\n\n /// Parses a string of TOML data at `key` and coerces it to type array corresponding to `typeDescription`.\n function parseTomlTypeArray(string calldata toml, string calldata key, string calldata typeDescription)\n external\n pure\n returns (bytes memory);\n\n /// Parses a string of TOML data and coerces it to type corresponding to `typeDescription`.\n function parseTomlType(string calldata toml, string calldata typeDescription)\n external\n pure\n returns (bytes memory);\n\n /// Parses a string of TOML data at `key` and coerces it to type corresponding to `typeDescription`.\n function parseTomlType(string calldata toml, string calldata key, string calldata typeDescription)\n external\n pure\n returns (bytes memory);\n\n /// Parses a string of TOML data at `key` and coerces it to `uint256`.\n function parseTomlUint(string calldata toml, string calldata key) external pure returns (uint256);\n\n /// Parses a string of TOML data at `key` and coerces it to `uint256[]`.\n function parseTomlUintArray(string calldata toml, string calldata key) external pure returns (uint256[] memory);\n\n /// ABI-encodes a TOML table.\n function parseToml(string calldata toml) external pure returns (bytes memory abiEncodedData);\n\n /// ABI-encodes a TOML table at `key`.\n function parseToml(string calldata toml, string calldata key) external pure returns (bytes memory abiEncodedData);\n\n /// Takes serialized JSON, converts to TOML and write a serialized TOML to a file.\n function writeToml(string calldata json, string calldata path) external;\n\n /// Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = \n /// This is useful to replace a specific value of a TOML file, without having to parse the entire thing.\n /// This cheatcode will create new keys if they didn't previously exist.\n function writeToml(string calldata json, string calldata path, string calldata valueKey) external;\n\n // ======== Utilities ========\n\n /// Returns an uint256 value bounded in given range and different from the current one.\n function bound(uint256 current, uint256 min, uint256 max) external view returns (uint256);\n\n /// Returns an int256 value bounded in given range and different from the current one.\n function bound(int256 current, int256 min, int256 max) external view returns (int256);\n\n /// Compute the address of a contract created with CREATE2 using the given CREATE2 deployer.\n function computeCreate2Address(bytes32 salt, bytes32 initCodeHash, address deployer)\n external\n pure\n returns (address);\n\n /// Compute the address of a contract created with CREATE2 using the default CREATE2 deployer.\n function computeCreate2Address(bytes32 salt, bytes32 initCodeHash) external pure returns (address);\n\n /// Compute the address a contract will be deployed at for a given deployer address and nonce.\n function computeCreateAddress(address deployer, uint256 nonce) external pure returns (address);\n\n /// Utility cheatcode to copy storage of `from` contract to another `to` contract.\n function copyStorage(address from, address to) external;\n\n /// Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data.\n /// Supports 2 different inputs:\n /// 1. Name of the type (i.e. \"PermitSingle\"):\n /// * requires previous binding generation with `forge bind-json`.\n /// * bindings will be retrieved from the path configured in `foundry.toml`.\n /// 2. String representation of the type (i.e. \"Foo(Bar bar) Bar(uint256 baz)\").\n /// * Note: the cheatcode will use the canonical type even if the input is malformated\n /// with the wrong order of elements or with extra whitespaces.\n function eip712HashStruct(string calldata typeNameOrDefinition, bytes calldata abiEncodedData)\n external\n pure\n returns (bytes32 typeHash);\n\n /// Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data.\n /// Requires previous binding generation with `forge bind-json`.\n /// Params:\n /// * `bindingsPath`: path where the output of `forge bind-json` is stored.\n /// * `typeName`: Name of the type (i.e. \"PermitSingle\").\n /// * `abiEncodedData`: ABI-encoded data for the struct that is being hashed.\n function eip712HashStruct(string calldata bindingsPath, string calldata typeName, bytes calldata abiEncodedData)\n external\n pure\n returns (bytes32 typeHash);\n\n /// Generates the hash of the canonical EIP-712 type representation.\n /// Supports 2 different inputs:\n /// 1. Name of the type (i.e. \"Transaction\"):\n /// * requires previous binding generation with `forge bind-json`.\n /// * bindings will be retrieved from the path configured in `foundry.toml`.\n /// 2. String representation of the type (i.e. \"Foo(Bar bar) Bar(uint256 baz)\").\n /// * Note: the cheatcode will output the canonical type even if the input is malformated\n /// with the wrong order of elements or with extra whitespaces.\n function eip712HashType(string calldata typeNameOrDefinition) external pure returns (bytes32 typeHash);\n\n /// Generates the hash of the canonical EIP-712 type representation.\n /// Requires previous binding generation with `forge bind-json`.\n /// Params:\n /// * `bindingsPath`: path where the output of `forge bind-json` is stored.\n /// * `typeName`: Name of the type (i.e. \"Transaction\").\n function eip712HashType(string calldata bindingsPath, string calldata typeName)\n external\n pure\n returns (bytes32 typeHash);\n\n /// Generates a ready-to-sign digest of human-readable typed data following the EIP-712 standard.\n function eip712HashTypedData(string calldata jsonData) external pure returns (bytes32 digest);\n\n /// Returns ENS namehash for provided string.\n function ensNamehash(string calldata name) external pure returns (bytes32);\n\n /// Gets the label for the specified address.\n function getLabel(address account) external view returns (string memory currentLabel);\n\n /// Labels an address in call traces.\n function label(address account, string calldata newLabel) external;\n\n /// Pauses collection of call traces. Useful in cases when you want to skip tracing of\n /// complex calls which are not useful for debugging.\n function pauseTracing() external view;\n\n /// Returns a random `address`.\n function randomAddress() external view returns (address);\n\n /// Returns a random `bool`.\n function randomBool() external view returns (bool);\n\n /// Returns a random byte array value of the given length.\n function randomBytes(uint256 len) external view returns (bytes memory);\n\n /// Returns a random fixed-size byte array of length 4.\n function randomBytes4() external view returns (bytes4);\n\n /// Returns a random fixed-size byte array of length 8.\n function randomBytes8() external view returns (bytes8);\n\n /// Returns a random `int256` value.\n function randomInt() external view returns (int256);\n\n /// Returns a random `int256` value of given bits.\n function randomInt(uint256 bits) external view returns (int256);\n\n /// Returns a random uint256 value.\n function randomUint() external view returns (uint256);\n\n /// Returns random uint256 value between the provided range (=min..=max).\n function randomUint(uint256 min, uint256 max) external view returns (uint256);\n\n /// Returns a random `uint256` value of given bits.\n function randomUint(uint256 bits) external view returns (uint256);\n\n /// Unpauses collection of call traces.\n function resumeTracing() external view;\n\n /// Utility cheatcode to set arbitrary storage for given target address.\n function setArbitraryStorage(address target) external;\n\n /// Utility cheatcode to set arbitrary storage for given target address and overwrite\n /// any storage slots that have been previously set.\n function setArbitraryStorage(address target, bool overwrite) external;\n\n /// Set RNG seed.\n function setSeed(uint256 seed) external;\n\n /// Randomly shuffles an array.\n function shuffle(uint256[] calldata array) external returns (uint256[] memory);\n\n /// Sorts an array in ascending order.\n function sort(uint256[] calldata array) external returns (uint256[] memory);\n\n /// Encodes a `bytes` value to a base64url string.\n function toBase64URL(bytes calldata data) external pure returns (string memory);\n\n /// Encodes a `string` value to a base64url string.\n function toBase64URL(string calldata data) external pure returns (string memory);\n\n /// Encodes a `bytes` value to a base64 string.\n function toBase64(bytes calldata data) external pure returns (string memory);\n\n /// Encodes a `string` value to a base64 string.\n function toBase64(string calldata data) external pure returns (string memory);\n}\n\n/// The `Vm` interface does allow manipulation of the EVM state. These are all intended to be used\n/// in tests, but it is not recommended to use these cheats in scripts.\ninterface Vm is VmSafe {\n // ======== EVM ========\n\n /// Utility cheatcode to set an EIP-2930 access list for all subsequent transactions.\n function accessList(AccessListItem[] calldata access) external;\n\n /// Returns the identifier of the currently active fork. Reverts if no fork is currently active.\n function activeFork() external view returns (uint256 forkId);\n\n /// In forking mode, explicitly grant the given address cheatcode access.\n function allowCheatcodes(address account) external;\n\n /// Sets `block.blobbasefee`\n function blobBaseFee(uint256 newBlobBaseFee) external;\n\n /// Sets the blobhashes in the transaction.\n /// Not available on EVM versions before Cancun.\n /// If used on unsupported EVM versions it will revert.\n function blobhashes(bytes32[] calldata hashes) external;\n\n /// Sets `block.chainid`.\n function chainId(uint256 newChainId) external;\n\n /// Clears all mocked calls.\n function clearMockedCalls() external;\n\n /// Clones a source account code, state, balance and nonce to a target account and updates in-memory EVM state.\n function cloneAccount(address source, address target) external;\n\n /// Sets `block.coinbase`.\n function coinbase(address newCoinbase) external;\n\n /// Marks the slots of an account and the account address as cold.\n function cool(address target) external;\n\n /// Utility cheatcode to mark specific storage slot as cold, simulating no prior read.\n function coolSlot(address target, bytes32 slot) external;\n\n /// Creates a new fork with the given endpoint and the _latest_ block and returns the identifier of the fork.\n function createFork(string calldata urlOrAlias) external returns (uint256 forkId);\n\n /// Creates a new fork with the given endpoint and block and returns the identifier of the fork.\n function createFork(string calldata urlOrAlias, uint256 blockNumber) external returns (uint256 forkId);\n\n /// Creates a new fork with the given endpoint and at the block the given transaction was mined in,\n /// replays all transaction mined in the block before the transaction, and returns the identifier of the fork.\n function createFork(string calldata urlOrAlias, bytes32 txHash) external returns (uint256 forkId);\n\n /// Creates and also selects a new fork with the given endpoint and the latest block and returns the identifier of the fork.\n function createSelectFork(string calldata urlOrAlias) external returns (uint256 forkId);\n\n /// Creates and also selects a new fork with the given endpoint and block and returns the identifier of the fork.\n function createSelectFork(string calldata urlOrAlias, uint256 blockNumber) external returns (uint256 forkId);\n\n /// Creates and also selects new fork with the given endpoint and at the block the given transaction was mined in,\n /// replays all transaction mined in the block before the transaction, returns the identifier of the fork.\n function createSelectFork(string calldata urlOrAlias, bytes32 txHash) external returns (uint256 forkId);\n\n /// Sets an address' balance.\n function deal(address account, uint256 newBalance) external;\n\n /// Removes the snapshot with the given ID created by `snapshot`.\n /// Takes the snapshot ID to delete.\n /// Returns `true` if the snapshot was successfully deleted.\n /// Returns `false` if the snapshot does not exist.\n function deleteStateSnapshot(uint256 snapshotId) external returns (bool success);\n\n /// Removes _all_ snapshots previously created by `snapshot`.\n function deleteStateSnapshots() external;\n\n /// Sets `block.difficulty`.\n /// Not available on EVM versions from Paris onwards. Use `prevrandao` instead.\n /// Reverts if used on unsupported EVM versions.\n function difficulty(uint256 newDifficulty) external;\n\n /// Dump a genesis JSON file's `allocs` to disk.\n function dumpState(string calldata pathToStateJson) external;\n\n /// Sets an address' code.\n function etch(address target, bytes calldata newRuntimeBytecode) external;\n\n /// Sets `block.basefee`.\n function fee(uint256 newBasefee) external;\n\n /// Gets the blockhashes from the current transaction.\n /// Not available on EVM versions before Cancun.\n /// If used on unsupported EVM versions it will revert.\n function getBlobhashes() external view returns (bytes32[] memory hashes);\n\n /// Returns true if the account is marked as persistent.\n function isPersistent(address account) external view returns (bool persistent);\n\n /// Load a genesis JSON file's `allocs` into the in-memory EVM state.\n function loadAllocs(string calldata pathToAllocsJson) external;\n\n /// Marks that the account(s) should use persistent storage across fork swaps in a multifork setup\n /// Meaning, changes made to the state of this account will be kept when switching forks.\n function makePersistent(address account) external;\n\n /// See `makePersistent(address)`.\n function makePersistent(address account0, address account1) external;\n\n /// See `makePersistent(address)`.\n function makePersistent(address account0, address account1, address account2) external;\n\n /// See `makePersistent(address)`.\n function makePersistent(address[] calldata accounts) external;\n\n /// Reverts a call to an address with specified revert data.\n function mockCallRevert(address callee, bytes calldata data, bytes calldata revertData) external;\n\n /// Reverts a call to an address with a specific `msg.value`, with specified revert data.\n function mockCallRevert(address callee, uint256 msgValue, bytes calldata data, bytes calldata revertData)\n external;\n\n /// Reverts a call to an address with specified revert data.\n /// Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\n function mockCallRevert(address callee, bytes4 data, bytes calldata revertData) external;\n\n /// Reverts a call to an address with a specific `msg.value`, with specified revert data.\n /// Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\n function mockCallRevert(address callee, uint256 msgValue, bytes4 data, bytes calldata revertData) external;\n\n /// Mocks a call to an address, returning specified data.\n /// Calldata can either be strict or a partial match, e.g. if you only\n /// pass a Solidity selector to the expected calldata, then the entire Solidity\n /// function will be mocked.\n function mockCall(address callee, bytes calldata data, bytes calldata returnData) external;\n\n /// Mocks a call to an address with a specific `msg.value`, returning specified data.\n /// Calldata match takes precedence over `msg.value` in case of ambiguity.\n function mockCall(address callee, uint256 msgValue, bytes calldata data, bytes calldata returnData) external;\n\n /// Mocks a call to an address, returning specified data.\n /// Calldata can either be strict or a partial match, e.g. if you only\n /// pass a Solidity selector to the expected calldata, then the entire Solidity\n /// function will be mocked.\n /// Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\n function mockCall(address callee, bytes4 data, bytes calldata returnData) external;\n\n /// Mocks a call to an address with a specific `msg.value`, returning specified data.\n /// Calldata match takes precedence over `msg.value` in case of ambiguity.\n /// Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\n function mockCall(address callee, uint256 msgValue, bytes4 data, bytes calldata returnData) external;\n\n /// Mocks multiple calls to an address, returning specified data for each call.\n function mockCalls(address callee, bytes calldata data, bytes[] calldata returnData) external;\n\n /// Mocks multiple calls to an address with a specific `msg.value`, returning specified data for each call.\n function mockCalls(address callee, uint256 msgValue, bytes calldata data, bytes[] calldata returnData) external;\n\n /// Whenever a call is made to `callee` with calldata `data`, this cheatcode instead calls\n /// `target` with the same calldata. This functionality is similar to a delegate call made to\n /// `target` contract from `callee`.\n /// Can be used to substitute a call to a function with another implementation that captures\n /// the primary logic of the original function but is easier to reason about.\n /// If calldata is not a strict match then partial match by selector is attempted.\n function mockFunction(address callee, address target, bytes calldata data) external;\n\n /// Utility cheatcode to remove any EIP-2930 access list set by `accessList` cheatcode.\n function noAccessList() external;\n\n /// Sets the *next* call's `msg.sender` to be the input address.\n function prank(address msgSender) external;\n\n /// Sets the *next* call's `msg.sender` to be the input address, and the `tx.origin` to be the second input.\n function prank(address msgSender, address txOrigin) external;\n\n /// Sets the *next* delegate call's `msg.sender` to be the input address.\n function prank(address msgSender, bool delegateCall) external;\n\n /// Sets the *next* delegate call's `msg.sender` to be the input address, and the `tx.origin` to be the second input.\n function prank(address msgSender, address txOrigin, bool delegateCall) external;\n\n /// Sets `block.prevrandao`.\n /// Not available on EVM versions before Paris. Use `difficulty` instead.\n /// If used on unsupported EVM versions it will revert.\n function prevrandao(bytes32 newPrevrandao) external;\n\n /// Sets `block.prevrandao`.\n /// Not available on EVM versions before Paris. Use `difficulty` instead.\n /// If used on unsupported EVM versions it will revert.\n function prevrandao(uint256 newPrevrandao) external;\n\n /// Reads the current `msg.sender` and `tx.origin` from state and reports if there is any active caller modification.\n function readCallers() external view returns (CallerMode callerMode, address msgSender, address txOrigin);\n\n /// Resets the nonce of an account to 0 for EOAs and 1 for contract accounts.\n function resetNonce(address account) external;\n\n /// Revert the state of the EVM to a previous snapshot\n /// Takes the snapshot ID to revert to.\n /// Returns `true` if the snapshot was successfully reverted.\n /// Returns `false` if the snapshot does not exist.\n /// **Note:** This does not automatically delete the snapshot. To delete the snapshot use `deleteStateSnapshot`.\n function revertToState(uint256 snapshotId) external returns (bool success);\n\n /// Revert the state of the EVM to a previous snapshot and automatically deletes the snapshots\n /// Takes the snapshot ID to revert to.\n /// Returns `true` if the snapshot was successfully reverted and deleted.\n /// Returns `false` if the snapshot does not exist.\n function revertToStateAndDelete(uint256 snapshotId) external returns (bool success);\n\n /// Revokes persistent status from the address, previously added via `makePersistent`.\n function revokePersistent(address account) external;\n\n /// See `revokePersistent(address)`.\n function revokePersistent(address[] calldata accounts) external;\n\n /// Sets `block.height`.\n function roll(uint256 newHeight) external;\n\n /// Updates the currently active fork to given block number\n /// This is similar to `roll` but for the currently active fork.\n function rollFork(uint256 blockNumber) external;\n\n /// Updates the currently active fork to given transaction. This will `rollFork` with the number\n /// of the block the transaction was mined in and replays all transaction mined before it in the block.\n function rollFork(bytes32 txHash) external;\n\n /// Updates the given fork to given block number.\n function rollFork(uint256 forkId, uint256 blockNumber) external;\n\n /// Updates the given fork to block number of the given transaction and replays all transaction mined before it in the block.\n function rollFork(uint256 forkId, bytes32 txHash) external;\n\n /// Takes a fork identifier created by `createFork` and sets the corresponding forked state as active.\n function selectFork(uint256 forkId) external;\n\n /// Set blockhash for the current block.\n /// It only sets the blockhash for blocks where `block.number - 256 <= number < block.number`.\n function setBlockhash(uint256 blockNumber, bytes32 blockHash) external;\n\n /// Sets the nonce of an account. Must be higher than the current nonce of the account.\n function setNonce(address account, uint64 newNonce) external;\n\n /// Sets the nonce of an account to an arbitrary value.\n function setNonceUnsafe(address account, uint64 newNonce) external;\n\n /// Snapshot capture the gas usage of the last call by name from the callee perspective.\n function snapshotGasLastCall(string calldata name) external returns (uint256 gasUsed);\n\n /// Snapshot capture the gas usage of the last call by name in a group from the callee perspective.\n function snapshotGasLastCall(string calldata group, string calldata name) external returns (uint256 gasUsed);\n\n /// Snapshot the current state of the evm.\n /// Returns the ID of the snapshot that was created.\n /// To revert a snapshot use `revertToState`.\n function snapshotState() external returns (uint256 snapshotId);\n\n /// Snapshot capture an arbitrary numerical value by name.\n /// The group name is derived from the contract name.\n function snapshotValue(string calldata name, uint256 value) external;\n\n /// Snapshot capture an arbitrary numerical value by name in a group.\n function snapshotValue(string calldata group, string calldata name, uint256 value) external;\n\n /// Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called.\n function startPrank(address msgSender) external;\n\n /// Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input.\n function startPrank(address msgSender, address txOrigin) external;\n\n /// Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called.\n function startPrank(address msgSender, bool delegateCall) external;\n\n /// Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input.\n function startPrank(address msgSender, address txOrigin, bool delegateCall) external;\n\n /// Start a snapshot capture of the current gas usage by name.\n /// The group name is derived from the contract name.\n function startSnapshotGas(string calldata name) external;\n\n /// Start a snapshot capture of the current gas usage by name in a group.\n function startSnapshotGas(string calldata group, string calldata name) external;\n\n /// Resets subsequent calls' `msg.sender` to be `address(this)`.\n function stopPrank() external;\n\n /// Stop the snapshot capture of the current gas by latest snapshot name, capturing the gas used since the start.\n function stopSnapshotGas() external returns (uint256 gasUsed);\n\n /// Stop the snapshot capture of the current gas usage by name, capturing the gas used since the start.\n /// The group name is derived from the contract name.\n function stopSnapshotGas(string calldata name) external returns (uint256 gasUsed);\n\n /// Stop the snapshot capture of the current gas usage by name in a group, capturing the gas used since the start.\n function stopSnapshotGas(string calldata group, string calldata name) external returns (uint256 gasUsed);\n\n /// Stores a value to an address' storage slot.\n function store(address target, bytes32 slot, bytes32 value) external;\n\n /// Fetches the given transaction from the active fork and executes it on the current state.\n function transact(bytes32 txHash) external;\n\n /// Fetches the given transaction from the given fork and executes it on the current state.\n function transact(uint256 forkId, bytes32 txHash) external;\n\n /// Sets `tx.gasprice`.\n function txGasPrice(uint256 newGasPrice) external;\n\n /// Utility cheatcode to mark specific storage slot as warm, simulating a prior read.\n function warmSlot(address target, bytes32 slot) external;\n\n /// Sets `block.timestamp`.\n function warp(uint256 newTimestamp) external;\n\n /// `deleteSnapshot` is being deprecated in favor of `deleteStateSnapshot`. It will be removed in future versions.\n function deleteSnapshot(uint256 snapshotId) external returns (bool success);\n\n /// `deleteSnapshots` is being deprecated in favor of `deleteStateSnapshots`. It will be removed in future versions.\n function deleteSnapshots() external;\n\n /// `revertToAndDelete` is being deprecated in favor of `revertToStateAndDelete`. It will be removed in future versions.\n function revertToAndDelete(uint256 snapshotId) external returns (bool success);\n\n /// `revertTo` is being deprecated in favor of `revertToState`. It will be removed in future versions.\n function revertTo(uint256 snapshotId) external returns (bool success);\n\n /// `snapshot` is being deprecated in favor of `snapshotState`. It will be removed in future versions.\n function snapshot() external returns (uint256 snapshotId);\n\n // ======== Testing ========\n\n /// Expect a call to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas.\n function expectCallMinGas(address callee, uint256 msgValue, uint64 minGas, bytes calldata data) external;\n\n /// Expect given number of calls to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas.\n function expectCallMinGas(address callee, uint256 msgValue, uint64 minGas, bytes calldata data, uint64 count)\n external;\n\n /// Expects a call to an address with the specified calldata.\n /// Calldata can either be a strict or a partial match.\n function expectCall(address callee, bytes calldata data) external;\n\n /// Expects given number of calls to an address with the specified calldata.\n function expectCall(address callee, bytes calldata data, uint64 count) external;\n\n /// Expects a call to an address with the specified `msg.value` and calldata.\n function expectCall(address callee, uint256 msgValue, bytes calldata data) external;\n\n /// Expects given number of calls to an address with the specified `msg.value` and calldata.\n function expectCall(address callee, uint256 msgValue, bytes calldata data, uint64 count) external;\n\n /// Expect a call to an address with the specified `msg.value`, gas, and calldata.\n function expectCall(address callee, uint256 msgValue, uint64 gas, bytes calldata data) external;\n\n /// Expects given number of calls to an address with the specified `msg.value`, gas, and calldata.\n function expectCall(address callee, uint256 msgValue, uint64 gas, bytes calldata data, uint64 count) external;\n\n /// Expects the deployment of the specified bytecode by the specified address using the CREATE opcode\n function expectCreate(bytes calldata bytecode, address deployer) external;\n\n /// Expects the deployment of the specified bytecode by the specified address using the CREATE2 opcode\n function expectCreate2(bytes calldata bytecode, address deployer) external;\n\n /// Prepare an expected anonymous log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.).\n /// Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if\n /// logs were emitted in the expected order with the expected topics and data (as specified by the booleans).\n function expectEmitAnonymous(bool checkTopic0, bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData)\n external;\n\n /// Same as the previous method, but also checks supplied address against emitting contract.\n function expectEmitAnonymous(\n bool checkTopic0,\n bool checkTopic1,\n bool checkTopic2,\n bool checkTopic3,\n bool checkData,\n address emitter\n ) external;\n\n /// Prepare an expected anonymous log with all topic and data checks enabled.\n /// Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if\n /// logs were emitted in the expected order with the expected topics and data.\n function expectEmitAnonymous() external;\n\n /// Same as the previous method, but also checks supplied address against emitting contract.\n function expectEmitAnonymous(address emitter) external;\n\n /// Prepare an expected log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.).\n /// Call this function, then emit an event, then call a function. Internally after the call, we check if\n /// logs were emitted in the expected order with the expected topics and data (as specified by the booleans).\n function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData) external;\n\n /// Same as the previous method, but also checks supplied address against emitting contract.\n function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData, address emitter)\n external;\n\n /// Prepare an expected log with all topic and data checks enabled.\n /// Call this function, then emit an event, then call a function. Internally after the call, we check if\n /// logs were emitted in the expected order with the expected topics and data.\n function expectEmit() external;\n\n /// Same as the previous method, but also checks supplied address against emitting contract.\n function expectEmit(address emitter) external;\n\n /// Expect a given number of logs with the provided topics.\n function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData, uint64 count) external;\n\n /// Expect a given number of logs from a specific emitter with the provided topics.\n function expectEmit(\n bool checkTopic1,\n bool checkTopic2,\n bool checkTopic3,\n bool checkData,\n address emitter,\n uint64 count\n ) external;\n\n /// Expect a given number of logs with all topic and data checks enabled.\n function expectEmit(uint64 count) external;\n\n /// Expect a given number of logs from a specific emitter with all topic and data checks enabled.\n function expectEmit(address emitter, uint64 count) external;\n\n /// Expects an error on next call that starts with the revert data.\n function expectPartialRevert(bytes4 revertData) external;\n\n /// Expects an error on next call to reverter address, that starts with the revert data.\n function expectPartialRevert(bytes4 revertData, address reverter) external;\n\n /// Expects an error on next call with any revert data.\n function expectRevert() external;\n\n /// Expects an error on next call that exactly matches the revert data.\n function expectRevert(bytes4 revertData) external;\n\n /// Expects a `count` number of reverts from the upcoming calls from the reverter address that match the revert data.\n function expectRevert(bytes4 revertData, address reverter, uint64 count) external;\n\n /// Expects a `count` number of reverts from the upcoming calls from the reverter address that exactly match the revert data.\n function expectRevert(bytes calldata revertData, address reverter, uint64 count) external;\n\n /// Expects an error on next call that exactly matches the revert data.\n function expectRevert(bytes calldata revertData) external;\n\n /// Expects an error with any revert data on next call to reverter address.\n function expectRevert(address reverter) external;\n\n /// Expects an error from reverter address on next call, with any revert data.\n function expectRevert(bytes4 revertData, address reverter) external;\n\n /// Expects an error from reverter address on next call, that exactly matches the revert data.\n function expectRevert(bytes calldata revertData, address reverter) external;\n\n /// Expects a `count` number of reverts from the upcoming calls with any revert data or reverter.\n function expectRevert(uint64 count) external;\n\n /// Expects a `count` number of reverts from the upcoming calls that match the revert data.\n function expectRevert(bytes4 revertData, uint64 count) external;\n\n /// Expects a `count` number of reverts from the upcoming calls that exactly match the revert data.\n function expectRevert(bytes calldata revertData, uint64 count) external;\n\n /// Expects a `count` number of reverts from the upcoming calls from the reverter address.\n function expectRevert(address reverter, uint64 count) external;\n\n /// Only allows memory writes to offsets [0x00, 0x60) ∪ [min, max) in the current subcontext. If any other\n /// memory is written to, the test will fail. Can be called multiple times to add more ranges to the set.\n function expectSafeMemory(uint64 min, uint64 max) external;\n\n /// Only allows memory writes to offsets [0x00, 0x60) ∪ [min, max) in the next created subcontext.\n /// If any other memory is written to, the test will fail. Can be called multiple times to add more ranges\n /// to the set.\n function expectSafeMemoryCall(uint64 min, uint64 max) external;\n\n /// Marks a test as skipped. Must be called at the top level of a test.\n function skip(bool skipTest) external;\n\n /// Marks a test as skipped with a reason. Must be called at the top level of a test.\n function skip(bool skipTest, string calldata reason) external;\n\n /// Stops all safe memory expectation in the current subcontext.\n function stopExpectSafeMemory() external;\n\n // ======== Utilities ========\n\n /// Causes the next contract creation (via new) to fail and return its initcode in the returndata buffer.\n /// This allows type-safe access to the initcode payload that would be used for contract creation.\n /// Example usage:\n /// vm.interceptInitcode();\n /// bytes memory initcode;\n /// try new MyContract(param1, param2) { assert(false); }\n /// catch (bytes memory interceptedInitcode) { initcode = interceptedInitcode; }\n function interceptInitcode() external;\n}\n"},"lib/forge-std/src/console.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nlibrary console {\n address constant CONSOLE_ADDRESS =\n 0x000000000000000000636F6e736F6c652e6c6f67;\n\n function _sendLogPayloadImplementation(bytes memory payload) internal view {\n address consoleAddress = CONSOLE_ADDRESS;\n /// @solidity memory-safe-assembly\n assembly {\n pop(\n staticcall(\n gas(),\n consoleAddress,\n add(payload, 32),\n mload(payload),\n 0,\n 0\n )\n )\n }\n }\n\n function _castToPure(\n function(bytes memory) internal view fnIn\n ) internal pure returns (function(bytes memory) pure fnOut) {\n assembly {\n fnOut := fnIn\n }\n }\n\n function _sendLogPayload(bytes memory payload) internal pure {\n _castToPure(_sendLogPayloadImplementation)(payload);\n }\n\n function log() internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log()\"));\n }\n\n function logInt(int256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(int256)\", p0));\n }\n\n function logUint(uint256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function logString(string memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function logBool(bool p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function logAddress(address p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function logBytes(bytes memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes)\", p0));\n }\n\n function logBytes1(bytes1 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes1)\", p0));\n }\n\n function logBytes2(bytes2 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes2)\", p0));\n }\n\n function logBytes3(bytes3 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes3)\", p0));\n }\n\n function logBytes4(bytes4 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes4)\", p0));\n }\n\n function logBytes5(bytes5 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes5)\", p0));\n }\n\n function logBytes6(bytes6 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes6)\", p0));\n }\n\n function logBytes7(bytes7 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes7)\", p0));\n }\n\n function logBytes8(bytes8 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes8)\", p0));\n }\n\n function logBytes9(bytes9 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes9)\", p0));\n }\n\n function logBytes10(bytes10 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes10)\", p0));\n }\n\n function logBytes11(bytes11 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes11)\", p0));\n }\n\n function logBytes12(bytes12 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes12)\", p0));\n }\n\n function logBytes13(bytes13 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes13)\", p0));\n }\n\n function logBytes14(bytes14 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes14)\", p0));\n }\n\n function logBytes15(bytes15 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes15)\", p0));\n }\n\n function logBytes16(bytes16 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes16)\", p0));\n }\n\n function logBytes17(bytes17 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes17)\", p0));\n }\n\n function logBytes18(bytes18 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes18)\", p0));\n }\n\n function logBytes19(bytes19 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes19)\", p0));\n }\n\n function logBytes20(bytes20 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes20)\", p0));\n }\n\n function logBytes21(bytes21 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes21)\", p0));\n }\n\n function logBytes22(bytes22 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes22)\", p0));\n }\n\n function logBytes23(bytes23 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes23)\", p0));\n }\n\n function logBytes24(bytes24 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes24)\", p0));\n }\n\n function logBytes25(bytes25 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes25)\", p0));\n }\n\n function logBytes26(bytes26 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes26)\", p0));\n }\n\n function logBytes27(bytes27 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes27)\", p0));\n }\n\n function logBytes28(bytes28 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes28)\", p0));\n }\n\n function logBytes29(bytes29 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes29)\", p0));\n }\n\n function logBytes30(bytes30 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes30)\", p0));\n }\n\n function logBytes31(bytes31 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes31)\", p0));\n }\n\n function logBytes32(bytes32 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bytes32)\", p0));\n }\n\n function log(uint256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256)\", p0));\n }\n\n function log(int256 p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(int256)\", p0));\n }\n\n function log(string memory p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n }\n\n function log(bool p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n }\n\n function log(address p0) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n }\n\n function log(uint256 p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256)\", p0, p1));\n }\n\n function log(uint256 p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string)\", p0, p1));\n }\n\n function log(uint256 p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool)\", p0, p1));\n }\n\n function log(uint256 p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address)\", p0, p1));\n }\n\n function log(string memory p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256)\", p0, p1));\n }\n\n function log(string memory p0, int256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,int256)\", p0, p1));\n }\n\n function log(string memory p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n }\n\n function log(string memory p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool)\", p0, p1));\n }\n\n function log(string memory p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address)\", p0, p1));\n }\n\n function log(bool p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256)\", p0, p1));\n }\n\n function log(bool p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string)\", p0, p1));\n }\n\n function log(bool p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool)\", p0, p1));\n }\n\n function log(bool p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address)\", p0, p1));\n }\n\n function log(address p0, uint256 p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256)\", p0, p1));\n }\n\n function log(address p0, string memory p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string)\", p0, p1));\n }\n\n function log(address p0, bool p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool)\", p0, p1));\n }\n\n function log(address p0, address p1) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address)\", p0, p1));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool)\", p0, p1, p2));\n }\n\n function log(uint256 p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool)\", p0, p1, p2));\n }\n\n function log(string memory p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool)\", p0, p1, p2));\n }\n\n function log(bool p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool)\", p0, p1, p2));\n }\n\n function log(address p0, uint256 p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool)\", p0, p1, p2));\n }\n\n function log(address p0, string memory p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool)\", p0, p1, p2));\n }\n\n function log(address p0, bool p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, uint256 p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, string memory p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, bool p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool)\", p0, p1, p2));\n }\n\n function log(address p0, address p1, address p2) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address)\", p0, p1, p2));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(uint256 p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(uint256,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(string memory p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(bool p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, uint256 p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,uint256,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, string memory p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, bool p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, uint256 p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint256,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, string memory p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, bool p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,address)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, uint256 p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,uint256)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, string memory p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,string)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, bool p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,bool)\", p0, p1, p2, p3));\n }\n\n function log(address p0, address p1, address p2, address p3) internal pure {\n _sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,address)\", p0, p1, p2, p3));\n }\n}\n"},"lib/forge-std/src/console2.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.4.22 <0.9.0;\n\nimport {console as console2} from \"./console.sol\";\n"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\npragma experimental ABIEncoderV2;\n\ninterface IMulticall3 {\n struct Call {\n address target;\n bytes callData;\n }\n\n struct Call3 {\n address target;\n bool allowFailure;\n bytes callData;\n }\n\n struct Call3Value {\n address target;\n bool allowFailure;\n uint256 value;\n bytes callData;\n }\n\n struct Result {\n bool success;\n bytes returnData;\n }\n\n function aggregate(Call[] calldata calls)\n external\n payable\n returns (uint256 blockNumber, bytes[] memory returnData);\n\n function aggregate3(Call3[] calldata calls) external payable returns (Result[] memory returnData);\n\n function aggregate3Value(Call3Value[] calldata calls) external payable returns (Result[] memory returnData);\n\n function blockAndAggregate(Call[] calldata calls)\n external\n payable\n returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n\n function getBasefee() external view returns (uint256 basefee);\n\n function getBlockHash(uint256 blockNumber) external view returns (bytes32 blockHash);\n\n function getBlockNumber() external view returns (uint256 blockNumber);\n\n function getChainId() external view returns (uint256 chainid);\n\n function getCurrentBlockCoinbase() external view returns (address coinbase);\n\n function getCurrentBlockDifficulty() external view returns (uint256 difficulty);\n\n function getCurrentBlockGasLimit() external view returns (uint256 gaslimit);\n\n function getCurrentBlockTimestamp() external view returns (uint256 timestamp);\n\n function getEthBalance(address addr) external view returns (uint256 balance);\n\n function getLastBlockHash() external view returns (bytes32 blockHash);\n\n function tryAggregate(bool requireSuccess, Call[] calldata calls)\n external\n payable\n returns (Result[] memory returnData);\n\n function tryBlockAndAggregate(bool requireSuccess, Call[] calldata calls)\n external\n payable\n returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);\n}\n"},"lib/forge-std/src/safeconsole.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity >=0.6.2 <0.9.0;\n\n/// @author philogy \n/// @dev Code generated automatically by script.\nlibrary safeconsole {\n uint256 constant CONSOLE_ADDR = 0x000000000000000000000000000000000000000000636F6e736F6c652e6c6f67;\n\n // Credit to [0age](https://twitter.com/z0age/status/1654922202930888704) and [0xdapper](https://github.com/foundry-rs/forge-std/pull/374)\n // for the view-to-pure log trick.\n function _sendLogPayload(uint256 offset, uint256 size) private pure {\n function(uint256, uint256) internal view fnIn = _sendLogPayloadView;\n function(uint256, uint256) internal pure pureSendLogPayload;\n /// @solidity memory-safe-assembly\n assembly {\n pureSendLogPayload := fnIn\n }\n pureSendLogPayload(offset, size);\n }\n\n function _sendLogPayloadView(uint256 offset, uint256 size) private view {\n /// @solidity memory-safe-assembly\n assembly {\n pop(staticcall(gas(), CONSOLE_ADDR, offset, size, 0x0, 0x0))\n }\n }\n\n function _memcopy(uint256 fromOffset, uint256 toOffset, uint256 length) private pure {\n function(uint256, uint256, uint256) internal view fnIn = _memcopyView;\n function(uint256, uint256, uint256) internal pure pureMemcopy;\n /// @solidity memory-safe-assembly\n assembly {\n pureMemcopy := fnIn\n }\n pureMemcopy(fromOffset, toOffset, length);\n }\n\n function _memcopyView(uint256 fromOffset, uint256 toOffset, uint256 length) private view {\n /// @solidity memory-safe-assembly\n assembly {\n pop(staticcall(gas(), 0x4, fromOffset, length, toOffset, length))\n }\n }\n\n function logMemory(uint256 offset, uint256 length) internal pure {\n if (offset >= 0x60) {\n // Sufficient memory before slice to prepare call header.\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(sub(offset, 0x60))\n m1 := mload(sub(offset, 0x40))\n m2 := mload(sub(offset, 0x20))\n // Selector of `log(bytes)`.\n mstore(sub(offset, 0x60), 0x0be77f56)\n mstore(sub(offset, 0x40), 0x20)\n mstore(sub(offset, 0x20), length)\n }\n _sendLogPayload(offset - 0x44, length + 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(sub(offset, 0x60), m0)\n mstore(sub(offset, 0x40), m1)\n mstore(sub(offset, 0x20), m2)\n }\n } else {\n // Insufficient space, so copy slice forward, add header and reverse.\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n uint256 endOffset = offset + length;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(add(endOffset, 0x00))\n m1 := mload(add(endOffset, 0x20))\n m2 := mload(add(endOffset, 0x40))\n }\n _memcopy(offset, offset + 0x60, length);\n /// @solidity memory-safe-assembly\n assembly {\n // Selector of `log(bytes)`.\n mstore(add(offset, 0x00), 0x0be77f56)\n mstore(add(offset, 0x20), 0x20)\n mstore(add(offset, 0x40), length)\n }\n _sendLogPayload(offset + 0x1c, length + 0x44);\n _memcopy(offset + 0x60, offset, length);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(add(endOffset, 0x00), m0)\n mstore(add(endOffset, 0x20), m1)\n mstore(add(endOffset, 0x40), m2)\n }\n }\n }\n\n function log(address p0) internal pure {\n bytes32 m0;\n bytes32 m1;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n // Selector of `log(address)`.\n mstore(0x00, 0x2c2ecbc2)\n mstore(0x20, p0)\n }\n _sendLogPayload(0x1c, 0x24);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n }\n }\n\n function log(bool p0) internal pure {\n bytes32 m0;\n bytes32 m1;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n // Selector of `log(bool)`.\n mstore(0x00, 0x32458eed)\n mstore(0x20, p0)\n }\n _sendLogPayload(0x1c, 0x24);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n }\n }\n\n function log(uint256 p0) internal pure {\n bytes32 m0;\n bytes32 m1;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n // Selector of `log(uint256)`.\n mstore(0x00, 0xf82c50f1)\n mstore(0x20, p0)\n }\n _sendLogPayload(0x1c, 0x24);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n }\n }\n\n function log(bytes32 p0) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(string)`.\n mstore(0x00, 0x41304fac)\n mstore(0x20, 0x20)\n writeString(0x40, p0)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, address p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(address,address)`.\n mstore(0x00, 0xdaf0d4aa)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(address p0, bool p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(address,bool)`.\n mstore(0x00, 0x75b605d3)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(address p0, uint256 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(address,uint256)`.\n mstore(0x00, 0x8309e8a8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(address p0, bytes32 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,string)`.\n mstore(0x00, 0x759f86bb)\n mstore(0x20, p0)\n mstore(0x40, 0x40)\n writeString(0x60, p1)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(bool,address)`.\n mstore(0x00, 0x853c4849)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(bool p0, bool p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(bool,bool)`.\n mstore(0x00, 0x2a110e83)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(bool p0, uint256 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(bool,uint256)`.\n mstore(0x00, 0x399174d3)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(bool p0, bytes32 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,string)`.\n mstore(0x00, 0x8feac525)\n mstore(0x20, p0)\n mstore(0x40, 0x40)\n writeString(0x60, p1)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(uint256,address)`.\n mstore(0x00, 0x69276c86)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(uint256 p0, bool p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(uint256,bool)`.\n mstore(0x00, 0x1c9d7eb3)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(uint256 p0, uint256 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n // Selector of `log(uint256,uint256)`.\n mstore(0x00, 0xf666715a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n }\n _sendLogPayload(0x1c, 0x44);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n }\n }\n\n function log(uint256 p0, bytes32 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,string)`.\n mstore(0x00, 0x643fd0df)\n mstore(0x20, p0)\n mstore(0x40, 0x40)\n writeString(0x60, p1)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bytes32 p0, address p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(string,address)`.\n mstore(0x00, 0x319af333)\n mstore(0x20, 0x40)\n mstore(0x40, p1)\n writeString(0x60, p0)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bytes32 p0, bool p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(string,bool)`.\n mstore(0x00, 0xc3b55635)\n mstore(0x20, 0x40)\n mstore(0x40, p1)\n writeString(0x60, p0)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bytes32 p0, uint256 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(string,uint256)`.\n mstore(0x00, 0xb60e72cc)\n mstore(0x20, 0x40)\n mstore(0x40, p1)\n writeString(0x60, p0)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bytes32 p0, bytes32 p1) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,string)`.\n mstore(0x00, 0x4b5c4277)\n mstore(0x20, 0x40)\n mstore(0x40, 0x80)\n writeString(0x60, p0)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,address,address)`.\n mstore(0x00, 0x018c84c2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, address p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,address,bool)`.\n mstore(0x00, 0xf2a66286)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, address p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,address,uint256)`.\n mstore(0x00, 0x17fe6185)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, address p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(address,address,string)`.\n mstore(0x00, 0x007150be)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(address p0, bool p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,bool,address)`.\n mstore(0x00, 0xf11699ed)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, bool p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,bool,bool)`.\n mstore(0x00, 0xeb830c92)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, bool p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,bool,uint256)`.\n mstore(0x00, 0x9c4f99fb)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, bool p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(address,bool,string)`.\n mstore(0x00, 0x212255cc)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(address p0, uint256 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,uint256,address)`.\n mstore(0x00, 0x7bc0d848)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, uint256 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,uint256,bool)`.\n mstore(0x00, 0x678209a8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, uint256 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(address,uint256,uint256)`.\n mstore(0x00, 0xb69bcaf6)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(address p0, uint256 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(address,uint256,string)`.\n mstore(0x00, 0xa1f2e8aa)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(address p0, bytes32 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(address,string,address)`.\n mstore(0x00, 0xf08744e8)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(address p0, bytes32 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(address,string,bool)`.\n mstore(0x00, 0xcf020fb1)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(address p0, bytes32 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(address,string,uint256)`.\n mstore(0x00, 0x67dd6ff1)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(address p0, bytes32 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(address,string,string)`.\n mstore(0x00, 0xfb772265)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, 0xa0)\n writeString(0x80, p1)\n writeString(0xc0, p2)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bool p0, address p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,address,address)`.\n mstore(0x00, 0xd2763667)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, address p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,address,bool)`.\n mstore(0x00, 0x18c9c746)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, address p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,address,uint256)`.\n mstore(0x00, 0x5f7b9afb)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, address p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(bool,address,string)`.\n mstore(0x00, 0xde9a9270)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bool p0, bool p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,bool,address)`.\n mstore(0x00, 0x1078f68d)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, bool p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,bool,bool)`.\n mstore(0x00, 0x50709698)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, bool p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,bool,uint256)`.\n mstore(0x00, 0x12f21602)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, bool p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(bool,bool,string)`.\n mstore(0x00, 0x2555fa46)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bool p0, uint256 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,uint256,address)`.\n mstore(0x00, 0x088ef9d2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, uint256 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,uint256,bool)`.\n mstore(0x00, 0xe8defba9)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, uint256 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(bool,uint256,uint256)`.\n mstore(0x00, 0x37103367)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(bool p0, uint256 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(bool,uint256,string)`.\n mstore(0x00, 0xc3fc3970)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bool p0, bytes32 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(bool,string,address)`.\n mstore(0x00, 0x9591b953)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bool p0, bytes32 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(bool,string,bool)`.\n mstore(0x00, 0xdbb4c247)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bool p0, bytes32 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(bool,string,uint256)`.\n mstore(0x00, 0x1093ee11)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bool p0, bytes32 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(bool,string,string)`.\n mstore(0x00, 0xb076847f)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, 0xa0)\n writeString(0x80, p1)\n writeString(0xc0, p2)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(uint256 p0, address p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,address,address)`.\n mstore(0x00, 0xbcfd9be0)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, address p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,address,bool)`.\n mstore(0x00, 0x9b6ec042)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, address p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,address,uint256)`.\n mstore(0x00, 0x5a9b5ed5)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, address p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(uint256,address,string)`.\n mstore(0x00, 0x63cb41f9)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(uint256 p0, bool p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,bool,address)`.\n mstore(0x00, 0x35085f7b)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, bool p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,bool,bool)`.\n mstore(0x00, 0x20718650)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, bool p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,bool,uint256)`.\n mstore(0x00, 0x20098014)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, bool p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(uint256,bool,string)`.\n mstore(0x00, 0x85775021)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(uint256 p0, uint256 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,uint256,address)`.\n mstore(0x00, 0x5c96b331)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, uint256 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,uint256,bool)`.\n mstore(0x00, 0x4766da72)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n // Selector of `log(uint256,uint256,uint256)`.\n mstore(0x00, 0xd1ed7a3c)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n }\n _sendLogPayload(0x1c, 0x64);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n }\n }\n\n function log(uint256 p0, uint256 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(uint256,uint256,string)`.\n mstore(0x00, 0x71d04af2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x60)\n writeString(0x80, p2)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(uint256 p0, bytes32 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(uint256,string,address)`.\n mstore(0x00, 0x7afac959)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(uint256,string,bool)`.\n mstore(0x00, 0x4ceda75a)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(uint256 p0, bytes32 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(uint256,string,uint256)`.\n mstore(0x00, 0x37aa7d4c)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, p2)\n writeString(0x80, p1)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(uint256,string,string)`.\n mstore(0x00, 0xb115611f)\n mstore(0x20, p0)\n mstore(0x40, 0x60)\n mstore(0x60, 0xa0)\n writeString(0x80, p1)\n writeString(0xc0, p2)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, address p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,address,address)`.\n mstore(0x00, 0xfcec75e0)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, address p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,address,bool)`.\n mstore(0x00, 0xc91d5ed4)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, address p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,address,uint256)`.\n mstore(0x00, 0x0d26b925)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, address p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(string,address,string)`.\n mstore(0x00, 0xe0e9ad4f)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, 0xa0)\n writeString(0x80, p0)\n writeString(0xc0, p2)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, bool p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,bool,address)`.\n mstore(0x00, 0x932bbb38)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, bool p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,bool,bool)`.\n mstore(0x00, 0x850b7ad6)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, bool p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,bool,uint256)`.\n mstore(0x00, 0xc95958d6)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, bool p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(string,bool,string)`.\n mstore(0x00, 0xe298f47d)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, 0xa0)\n writeString(0x80, p0)\n writeString(0xc0, p2)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, uint256 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,uint256,address)`.\n mstore(0x00, 0x1c7ec448)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,uint256,bool)`.\n mstore(0x00, 0xca7733b1)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, uint256 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n // Selector of `log(string,uint256,uint256)`.\n mstore(0x00, 0xca47c4eb)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, p2)\n writeString(0x80, p0)\n }\n _sendLogPayload(0x1c, 0xa4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(string,uint256,string)`.\n mstore(0x00, 0x5970e089)\n mstore(0x20, 0x60)\n mstore(0x40, p1)\n mstore(0x60, 0xa0)\n writeString(0x80, p0)\n writeString(0xc0, p2)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, address p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(string,string,address)`.\n mstore(0x00, 0x95ed0195)\n mstore(0x20, 0x60)\n mstore(0x40, 0xa0)\n mstore(0x60, p2)\n writeString(0x80, p0)\n writeString(0xc0, p1)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bool p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(string,string,bool)`.\n mstore(0x00, 0xb0e0f9b5)\n mstore(0x20, 0x60)\n mstore(0x40, 0xa0)\n mstore(0x60, p2)\n writeString(0x80, p0)\n writeString(0xc0, p1)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, uint256 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n // Selector of `log(string,string,uint256)`.\n mstore(0x00, 0x5821efa1)\n mstore(0x20, 0x60)\n mstore(0x40, 0xa0)\n mstore(0x60, p2)\n writeString(0x80, p0)\n writeString(0xc0, p1)\n }\n _sendLogPayload(0x1c, 0xe4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bytes32 p2) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n // Selector of `log(string,string,string)`.\n mstore(0x00, 0x2ced7cef)\n mstore(0x20, 0x60)\n mstore(0x40, 0xa0)\n mstore(0x60, 0xe0)\n writeString(0x80, p0)\n writeString(0xc0, p1)\n writeString(0x100, p2)\n }\n _sendLogPayload(0x1c, 0x124);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n }\n }\n\n function log(address p0, address p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,address,address)`.\n mstore(0x00, 0x665bf134)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,address,bool)`.\n mstore(0x00, 0x0e378994)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,address,uint256)`.\n mstore(0x00, 0x94250d77)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,address,address,string)`.\n mstore(0x00, 0xf808da20)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,bool,address)`.\n mstore(0x00, 0x9f1bc36e)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,bool,bool)`.\n mstore(0x00, 0x2cd4134a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,bool,uint256)`.\n mstore(0x00, 0x3971e78c)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,address,bool,string)`.\n mstore(0x00, 0xaa6540c8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,uint256,address)`.\n mstore(0x00, 0x8da6def5)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,uint256,bool)`.\n mstore(0x00, 0x9b4254e2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,address,uint256,uint256)`.\n mstore(0x00, 0xbe553481)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, address p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,address,uint256,string)`.\n mstore(0x00, 0xfdb4f990)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,address,string,address)`.\n mstore(0x00, 0x8f736d16)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,address,string,bool)`.\n mstore(0x00, 0x6f1a594e)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,address,string,uint256)`.\n mstore(0x00, 0xef1cefe7)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, address p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,address,string,string)`.\n mstore(0x00, 0x21bdaf25)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bool p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,address,address)`.\n mstore(0x00, 0x660375dd)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,address,bool)`.\n mstore(0x00, 0xa6f50b0f)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,address,uint256)`.\n mstore(0x00, 0xa75c59de)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,bool,address,string)`.\n mstore(0x00, 0x2dd778e6)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bool p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,bool,address)`.\n mstore(0x00, 0xcf394485)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,bool,bool)`.\n mstore(0x00, 0xcac43479)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,bool,uint256)`.\n mstore(0x00, 0x8c4e5de6)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,bool,bool,string)`.\n mstore(0x00, 0xdfc4a2e8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bool p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,uint256,address)`.\n mstore(0x00, 0xccf790a1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,uint256,bool)`.\n mstore(0x00, 0xc4643e20)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,bool,uint256,uint256)`.\n mstore(0x00, 0x386ff5f4)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, bool p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,bool,uint256,string)`.\n mstore(0x00, 0x0aa6cfad)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bool p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,bool,string,address)`.\n mstore(0x00, 0x19fd4956)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bool p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,bool,string,bool)`.\n mstore(0x00, 0x50ad461d)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bool p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,bool,string,uint256)`.\n mstore(0x00, 0x80e6a20b)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bool p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,bool,string,string)`.\n mstore(0x00, 0x475c5c33)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, uint256 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,address,address)`.\n mstore(0x00, 0x478d1c62)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,address,bool)`.\n mstore(0x00, 0xa1bcc9b3)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,address,uint256)`.\n mstore(0x00, 0x100f650e)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,uint256,address,string)`.\n mstore(0x00, 0x1da986ea)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, uint256 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,bool,address)`.\n mstore(0x00, 0xa31bfdcc)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,bool,bool)`.\n mstore(0x00, 0x3bf5e537)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,bool,uint256)`.\n mstore(0x00, 0x22f6b999)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,uint256,bool,string)`.\n mstore(0x00, 0xc5ad85f9)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, uint256 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,uint256,address)`.\n mstore(0x00, 0x20e3984d)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,uint256,bool)`.\n mstore(0x00, 0x66f1bc67)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(address,uint256,uint256,uint256)`.\n mstore(0x00, 0x34f0e636)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(address p0, uint256 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,uint256,uint256,string)`.\n mstore(0x00, 0x4a28c017)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, uint256 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,uint256,string,address)`.\n mstore(0x00, 0x5c430d47)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, uint256 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,uint256,string,bool)`.\n mstore(0x00, 0xcf18105c)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, uint256 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,uint256,string,uint256)`.\n mstore(0x00, 0xbf01f891)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, uint256 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,uint256,string,string)`.\n mstore(0x00, 0x88a8c406)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,address,address)`.\n mstore(0x00, 0x0d36fa20)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,address,bool)`.\n mstore(0x00, 0x0df12b76)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,address,uint256)`.\n mstore(0x00, 0x457fe3cf)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,string,address,string)`.\n mstore(0x00, 0xf7e36245)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,bool,address)`.\n mstore(0x00, 0x205871c2)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,bool,bool)`.\n mstore(0x00, 0x5f1d5c9f)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,bool,uint256)`.\n mstore(0x00, 0x515e38b6)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,string,bool,string)`.\n mstore(0x00, 0xbc0b61fe)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,uint256,address)`.\n mstore(0x00, 0x63183678)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,uint256,bool)`.\n mstore(0x00, 0x0ef7e050)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(address,string,uint256,uint256)`.\n mstore(0x00, 0x1dc8e1b8)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(address p0, bytes32 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,string,uint256,string)`.\n mstore(0x00, 0x448830a8)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,string,string,address)`.\n mstore(0x00, 0xa04e2f87)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,string,string,bool)`.\n mstore(0x00, 0x35a5071f)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(address,string,string,uint256)`.\n mstore(0x00, 0x159f8927)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(address p0, bytes32 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(address,string,string,string)`.\n mstore(0x00, 0x5d02c50b)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, 0x100)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bool p0, address p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,address,address)`.\n mstore(0x00, 0x1d14d001)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,address,bool)`.\n mstore(0x00, 0x46600be0)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,address,uint256)`.\n mstore(0x00, 0x0c66d1be)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,address,address,string)`.\n mstore(0x00, 0xd812a167)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, address p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,bool,address)`.\n mstore(0x00, 0x1c41a336)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,bool,bool)`.\n mstore(0x00, 0x6a9c478b)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,bool,uint256)`.\n mstore(0x00, 0x07831502)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,address,bool,string)`.\n mstore(0x00, 0x4a66cb34)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, address p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,uint256,address)`.\n mstore(0x00, 0x136b05dd)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,uint256,bool)`.\n mstore(0x00, 0xd6019f1c)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,address,uint256,uint256)`.\n mstore(0x00, 0x7bf181a1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, address p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,address,uint256,string)`.\n mstore(0x00, 0x51f09ff8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, address p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,address,string,address)`.\n mstore(0x00, 0x6f7c603e)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, address p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,address,string,bool)`.\n mstore(0x00, 0xe2bfd60b)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, address p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,address,string,uint256)`.\n mstore(0x00, 0xc21f64c7)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, address p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,address,string,string)`.\n mstore(0x00, 0xa73c1db6)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bool p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,address,address)`.\n mstore(0x00, 0xf4880ea4)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,address,bool)`.\n mstore(0x00, 0xc0a302d8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,address,uint256)`.\n mstore(0x00, 0x4c123d57)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,bool,address,string)`.\n mstore(0x00, 0xa0a47963)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bool p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,bool,address)`.\n mstore(0x00, 0x8c329b1a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,bool,bool)`.\n mstore(0x00, 0x3b2a5ce0)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,bool,uint256)`.\n mstore(0x00, 0x6d7045c1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,bool,bool,string)`.\n mstore(0x00, 0x2ae408d4)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bool p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,uint256,address)`.\n mstore(0x00, 0x54a7a9a0)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,uint256,bool)`.\n mstore(0x00, 0x619e4d0e)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,bool,uint256,uint256)`.\n mstore(0x00, 0x0bb00eab)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, bool p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,bool,uint256,string)`.\n mstore(0x00, 0x7dd4d0e0)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bool p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,bool,string,address)`.\n mstore(0x00, 0xf9ad2b89)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bool p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,bool,string,bool)`.\n mstore(0x00, 0xb857163a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bool p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,bool,string,uint256)`.\n mstore(0x00, 0xe3a9ca2f)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bool p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,bool,string,string)`.\n mstore(0x00, 0x6d1e8751)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, uint256 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,address,address)`.\n mstore(0x00, 0x26f560a8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,address,bool)`.\n mstore(0x00, 0xb4c314ff)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,address,uint256)`.\n mstore(0x00, 0x1537dc87)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,uint256,address,string)`.\n mstore(0x00, 0x1bb3b09a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, uint256 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,bool,address)`.\n mstore(0x00, 0x9acd3616)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,bool,bool)`.\n mstore(0x00, 0xceb5f4d7)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,bool,uint256)`.\n mstore(0x00, 0x7f9bbca2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,uint256,bool,string)`.\n mstore(0x00, 0x9143dbb1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, uint256 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,uint256,address)`.\n mstore(0x00, 0x00dd87b9)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,uint256,bool)`.\n mstore(0x00, 0xbe984353)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(bool,uint256,uint256,uint256)`.\n mstore(0x00, 0x374bb4b2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(bool p0, uint256 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,uint256,uint256,string)`.\n mstore(0x00, 0x8e69fb5d)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, uint256 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,uint256,string,address)`.\n mstore(0x00, 0xfedd1fff)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, uint256 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,uint256,string,bool)`.\n mstore(0x00, 0xe5e70b2b)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, uint256 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,uint256,string,uint256)`.\n mstore(0x00, 0x6a1199e2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, uint256 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,uint256,string,string)`.\n mstore(0x00, 0xf5bc2249)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,address,address)`.\n mstore(0x00, 0x2b2b18dc)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,address,bool)`.\n mstore(0x00, 0x6dd434ca)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,address,uint256)`.\n mstore(0x00, 0xa5cada94)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,string,address,string)`.\n mstore(0x00, 0x12d6c788)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,bool,address)`.\n mstore(0x00, 0x538e06ab)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,bool,bool)`.\n mstore(0x00, 0xdc5e935b)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,bool,uint256)`.\n mstore(0x00, 0x1606a393)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,string,bool,string)`.\n mstore(0x00, 0x483d0416)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,uint256,address)`.\n mstore(0x00, 0x1596a1ce)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,uint256,bool)`.\n mstore(0x00, 0x6b0e5d53)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(bool,string,uint256,uint256)`.\n mstore(0x00, 0x28863fcb)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bool p0, bytes32 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,string,uint256,string)`.\n mstore(0x00, 0x1ad96de6)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,string,string,address)`.\n mstore(0x00, 0x97d394d8)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,string,string,bool)`.\n mstore(0x00, 0x1e4b87e5)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(bool,string,string,uint256)`.\n mstore(0x00, 0x7be0c3eb)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bool p0, bytes32 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(bool,string,string,string)`.\n mstore(0x00, 0x1762e32a)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, 0x100)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(uint256 p0, address p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,address,address)`.\n mstore(0x00, 0x2488b414)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,address,bool)`.\n mstore(0x00, 0x091ffaf5)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,address,uint256)`.\n mstore(0x00, 0x736efbb6)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,address,address,string)`.\n mstore(0x00, 0x031c6f73)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, address p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,bool,address)`.\n mstore(0x00, 0xef72c513)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,bool,bool)`.\n mstore(0x00, 0xe351140f)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,bool,uint256)`.\n mstore(0x00, 0x5abd992a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,address,bool,string)`.\n mstore(0x00, 0x90fb06aa)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, address p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,uint256,address)`.\n mstore(0x00, 0x15c127b5)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,uint256,bool)`.\n mstore(0x00, 0x5f743a7c)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,address,uint256,uint256)`.\n mstore(0x00, 0x0c9cd9c1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, address p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,address,uint256,string)`.\n mstore(0x00, 0xddb06521)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, address p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,address,string,address)`.\n mstore(0x00, 0x9cba8fff)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, address p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,address,string,bool)`.\n mstore(0x00, 0xcc32ab07)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, address p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,address,string,uint256)`.\n mstore(0x00, 0x46826b5d)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, address p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,address,string,string)`.\n mstore(0x00, 0x3e128ca3)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bool p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,address,address)`.\n mstore(0x00, 0xa1ef4cbb)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,address,bool)`.\n mstore(0x00, 0x454d54a5)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,address,uint256)`.\n mstore(0x00, 0x078287f5)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,bool,address,string)`.\n mstore(0x00, 0xade052c7)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bool p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,bool,address)`.\n mstore(0x00, 0x69640b59)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,bool,bool)`.\n mstore(0x00, 0xb6f577a1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,bool,uint256)`.\n mstore(0x00, 0x7464ce23)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,bool,bool,string)`.\n mstore(0x00, 0xdddb9561)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bool p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,uint256,address)`.\n mstore(0x00, 0x88cb6041)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,uint256,bool)`.\n mstore(0x00, 0x91a02e2a)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,bool,uint256,uint256)`.\n mstore(0x00, 0xc6acc7a8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, bool p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,bool,uint256,string)`.\n mstore(0x00, 0xde03e774)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bool p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,bool,string,address)`.\n mstore(0x00, 0xef529018)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bool p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,bool,string,bool)`.\n mstore(0x00, 0xeb928d7f)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bool p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,bool,string,uint256)`.\n mstore(0x00, 0x2c1d0746)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bool p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,bool,string,string)`.\n mstore(0x00, 0x68c8b8bd)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, uint256 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,address,address)`.\n mstore(0x00, 0x56a5d1b1)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,address,bool)`.\n mstore(0x00, 0x15cac476)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,address,uint256)`.\n mstore(0x00, 0x88f6e4b2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,uint256,address,string)`.\n mstore(0x00, 0x6cde40b8)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, uint256 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,bool,address)`.\n mstore(0x00, 0x9a816a83)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,bool,bool)`.\n mstore(0x00, 0xab085ae6)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,bool,uint256)`.\n mstore(0x00, 0xeb7f6fd2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,uint256,bool,string)`.\n mstore(0x00, 0xa5b4fc99)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,uint256,address)`.\n mstore(0x00, 0xfa8185af)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,uint256,bool)`.\n mstore(0x00, 0xc598d185)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n /// @solidity memory-safe-assembly\n assembly {\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n // Selector of `log(uint256,uint256,uint256,uint256)`.\n mstore(0x00, 0x193fb800)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n }\n _sendLogPayload(0x1c, 0x84);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n }\n }\n\n function log(uint256 p0, uint256 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,uint256,uint256,string)`.\n mstore(0x00, 0x59cfcbe3)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0x80)\n writeString(0xa0, p3)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, uint256 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,uint256,string,address)`.\n mstore(0x00, 0x42d21db7)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, uint256 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,uint256,string,bool)`.\n mstore(0x00, 0x7af6ab25)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, uint256 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,uint256,string,uint256)`.\n mstore(0x00, 0x5da297eb)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, p3)\n writeString(0xa0, p2)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, uint256 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,uint256,string,string)`.\n mstore(0x00, 0x27d8afd2)\n mstore(0x20, p0)\n mstore(0x40, p1)\n mstore(0x60, 0x80)\n mstore(0x80, 0xc0)\n writeString(0xa0, p2)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,address,address)`.\n mstore(0x00, 0x6168ed61)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,address,bool)`.\n mstore(0x00, 0x90c30a56)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,address,uint256)`.\n mstore(0x00, 0xe8d3018d)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,string,address,string)`.\n mstore(0x00, 0x9c3adfa1)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,bool,address)`.\n mstore(0x00, 0xae2ec581)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,bool,bool)`.\n mstore(0x00, 0xba535d9c)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,bool,uint256)`.\n mstore(0x00, 0xcf009880)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,string,bool,string)`.\n mstore(0x00, 0xd2d423cd)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,uint256,address)`.\n mstore(0x00, 0x3b2279b4)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,uint256,bool)`.\n mstore(0x00, 0x691a8f74)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(uint256,string,uint256,uint256)`.\n mstore(0x00, 0x82c25b74)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(uint256 p0, bytes32 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,string,uint256,string)`.\n mstore(0x00, 0xb7b914ca)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p1)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,string,string,address)`.\n mstore(0x00, 0xd583c602)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,string,string,bool)`.\n mstore(0x00, 0xb3a6b6bd)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(uint256,string,string,uint256)`.\n mstore(0x00, 0xb028c9bd)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(uint256 p0, bytes32 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(uint256,string,string,string)`.\n mstore(0x00, 0x21ad0683)\n mstore(0x20, p0)\n mstore(0x40, 0x80)\n mstore(0x60, 0xc0)\n mstore(0x80, 0x100)\n writeString(0xa0, p1)\n writeString(0xe0, p2)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, address p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,address,address)`.\n mstore(0x00, 0xed8f28f6)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,address,bool)`.\n mstore(0x00, 0xb59dbd60)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,address,uint256)`.\n mstore(0x00, 0x8ef3f399)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,address,address,string)`.\n mstore(0x00, 0x800a1c67)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, address p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,bool,address)`.\n mstore(0x00, 0x223603bd)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,bool,bool)`.\n mstore(0x00, 0x79884c2b)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,bool,uint256)`.\n mstore(0x00, 0x3e9f866a)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,address,bool,string)`.\n mstore(0x00, 0x0454c079)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, address p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,uint256,address)`.\n mstore(0x00, 0x63fb8bc5)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,uint256,bool)`.\n mstore(0x00, 0xfc4845f0)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,address,uint256,uint256)`.\n mstore(0x00, 0xf8f51b1e)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, address p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,address,uint256,string)`.\n mstore(0x00, 0x5a477632)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, address p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,address,string,address)`.\n mstore(0x00, 0xaabc9a31)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, address p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,address,string,bool)`.\n mstore(0x00, 0x5f15d28c)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, address p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,address,string,uint256)`.\n mstore(0x00, 0x91d1112e)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, address p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,address,string,string)`.\n mstore(0x00, 0x245986f2)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, 0x100)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bool p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,address,address)`.\n mstore(0x00, 0x33e9dd1d)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,address,bool)`.\n mstore(0x00, 0x958c28c6)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,address,uint256)`.\n mstore(0x00, 0x5d08bb05)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,bool,address,string)`.\n mstore(0x00, 0x2d8e33a4)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bool p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,bool,address)`.\n mstore(0x00, 0x7190a529)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,bool,bool)`.\n mstore(0x00, 0x895af8c5)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,bool,uint256)`.\n mstore(0x00, 0x8e3f78a9)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,bool,bool,string)`.\n mstore(0x00, 0x9d22d5dd)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bool p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,uint256,address)`.\n mstore(0x00, 0x935e09bf)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,uint256,bool)`.\n mstore(0x00, 0x8af7cf8a)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,bool,uint256,uint256)`.\n mstore(0x00, 0x64b5bb67)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, bool p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,bool,uint256,string)`.\n mstore(0x00, 0x742d6ee7)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bool p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,bool,string,address)`.\n mstore(0x00, 0xe0625b29)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bool p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,bool,string,bool)`.\n mstore(0x00, 0x3f8a701d)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bool p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,bool,string,uint256)`.\n mstore(0x00, 0x24f91465)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bool p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,bool,string,string)`.\n mstore(0x00, 0xa826caeb)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, 0x100)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, uint256 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,address,address)`.\n mstore(0x00, 0x5ea2b7ae)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,address,bool)`.\n mstore(0x00, 0x82112a42)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,address,uint256)`.\n mstore(0x00, 0x4f04fdc6)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,uint256,address,string)`.\n mstore(0x00, 0x9ffb2f93)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,bool,address)`.\n mstore(0x00, 0xe0e95b98)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,bool,bool)`.\n mstore(0x00, 0x354c36d6)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,bool,uint256)`.\n mstore(0x00, 0xe41b6f6f)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,uint256,bool,string)`.\n mstore(0x00, 0xabf73a98)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, uint256 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,uint256,address)`.\n mstore(0x00, 0xe21de278)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,uint256,bool)`.\n mstore(0x00, 0x7626db92)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n // Selector of `log(string,uint256,uint256,uint256)`.\n mstore(0x00, 0xa7a87853)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n }\n _sendLogPayload(0x1c, 0xc4);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n }\n }\n\n function log(bytes32 p0, uint256 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,uint256,uint256,string)`.\n mstore(0x00, 0x854b3496)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, p2)\n mstore(0x80, 0xc0)\n writeString(0xa0, p0)\n writeString(0xe0, p3)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,uint256,string,address)`.\n mstore(0x00, 0x7c4632a4)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,uint256,string,bool)`.\n mstore(0x00, 0x7d24491d)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,uint256,string,uint256)`.\n mstore(0x00, 0xc67ea9d1)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, uint256 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,uint256,string,string)`.\n mstore(0x00, 0x5ab84e1f)\n mstore(0x20, 0x80)\n mstore(0x40, p1)\n mstore(0x60, 0xc0)\n mstore(0x80, 0x100)\n writeString(0xa0, p0)\n writeString(0xe0, p2)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, address p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,address,address)`.\n mstore(0x00, 0x439c7bef)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, address p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,address,bool)`.\n mstore(0x00, 0x5ccd4e37)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, address p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,address,uint256)`.\n mstore(0x00, 0x7cc3c607)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, address p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,string,address,string)`.\n mstore(0x00, 0xeb1bff80)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, 0x100)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bool p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,bool,address)`.\n mstore(0x00, 0xc371c7db)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bool p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,bool,bool)`.\n mstore(0x00, 0x40785869)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bool p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,bool,uint256)`.\n mstore(0x00, 0xd6aefad2)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bool p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,string,bool,string)`.\n mstore(0x00, 0x5e84b0ea)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, 0x100)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, uint256 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,uint256,address)`.\n mstore(0x00, 0x1023f7b2)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, uint256 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,uint256,bool)`.\n mstore(0x00, 0xc3a8a654)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, uint256 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n // Selector of `log(string,string,uint256,uint256)`.\n mstore(0x00, 0xf45d7d2c)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n }\n _sendLogPayload(0x1c, 0x104);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, uint256 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,string,uint256,string)`.\n mstore(0x00, 0x5d1a971a)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, p2)\n mstore(0x80, 0x100)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p3)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bytes32 p2, address p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,string,string,address)`.\n mstore(0x00, 0x6d572f44)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, 0x100)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p2)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bytes32 p2, bool p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,string,string,bool)`.\n mstore(0x00, 0x2c1754ed)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, 0x100)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p2)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bytes32 p2, uint256 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n // Selector of `log(string,string,string,uint256)`.\n mstore(0x00, 0x8eafb02b)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, 0x100)\n mstore(0x80, p3)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p2)\n }\n _sendLogPayload(0x1c, 0x144);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n }\n }\n\n function log(bytes32 p0, bytes32 p1, bytes32 p2, bytes32 p3) internal pure {\n bytes32 m0;\n bytes32 m1;\n bytes32 m2;\n bytes32 m3;\n bytes32 m4;\n bytes32 m5;\n bytes32 m6;\n bytes32 m7;\n bytes32 m8;\n bytes32 m9;\n bytes32 m10;\n bytes32 m11;\n bytes32 m12;\n /// @solidity memory-safe-assembly\n assembly {\n function writeString(pos, w) {\n let length := 0\n for {} lt(length, 0x20) { length := add(length, 1) } { if iszero(byte(length, w)) { break } }\n mstore(pos, length)\n let shift := sub(256, shl(3, length))\n mstore(add(pos, 0x20), shl(shift, shr(shift, w)))\n }\n m0 := mload(0x00)\n m1 := mload(0x20)\n m2 := mload(0x40)\n m3 := mload(0x60)\n m4 := mload(0x80)\n m5 := mload(0xa0)\n m6 := mload(0xc0)\n m7 := mload(0xe0)\n m8 := mload(0x100)\n m9 := mload(0x120)\n m10 := mload(0x140)\n m11 := mload(0x160)\n m12 := mload(0x180)\n // Selector of `log(string,string,string,string)`.\n mstore(0x00, 0xde68f20a)\n mstore(0x20, 0x80)\n mstore(0x40, 0xc0)\n mstore(0x60, 0x100)\n mstore(0x80, 0x140)\n writeString(0xa0, p0)\n writeString(0xe0, p1)\n writeString(0x120, p2)\n writeString(0x160, p3)\n }\n _sendLogPayload(0x1c, 0x184);\n /// @solidity memory-safe-assembly\n assembly {\n mstore(0x00, m0)\n mstore(0x20, m1)\n mstore(0x40, m2)\n mstore(0x60, m3)\n mstore(0x80, m4)\n mstore(0xa0, m5)\n mstore(0xc0, m6)\n mstore(0xe0, m7)\n mstore(0x100, m8)\n mstore(0x120, m9)\n mstore(0x140, m10)\n mstore(0x160, m11)\n mstore(0x180, m12)\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC1363.sol)\n\npragma solidity >=0.6.2;\n\nimport {IERC20} from \"./IERC20.sol\";\nimport {IERC165} from \"./IERC165.sol\";\n\n/**\n * @title IERC1363\n * @dev Interface of the ERC-1363 standard as defined in the https://eips.ethereum.org/EIPS/eip-1363[ERC-1363].\n *\n * Defines an extension interface for ERC-20 tokens that supports executing code on a recipient contract\n * after `transfer` or `transferFrom`, or code on a spender contract after `approve`, in a single transaction.\n */\ninterface IERC1363 is IERC20, IERC165 {\n /*\n * Note: the ERC-165 identifier for this interface is 0xb0202a11.\n * 0xb0202a11 ===\n * bytes4(keccak256('transferAndCall(address,uint256)')) ^\n * bytes4(keccak256('transferAndCall(address,uint256,bytes)')) ^\n * bytes4(keccak256('transferFromAndCall(address,address,uint256)')) ^\n * bytes4(keccak256('transferFromAndCall(address,address,uint256,bytes)')) ^\n * bytes4(keccak256('approveAndCall(address,uint256)')) ^\n * bytes4(keccak256('approveAndCall(address,uint256,bytes)'))\n */\n\n /**\n * @dev Moves a `value` amount of tokens from the caller's account to `to`\n * and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n * @param to The address which you want to transfer to.\n * @param value The amount of tokens to be transferred.\n * @return A boolean value indicating whether the operation succeeded unless throwing.\n */\n function transferAndCall(address to, uint256 value) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from the caller's account to `to`\n * and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n * @param to The address which you want to transfer to.\n * @param value The amount of tokens to be transferred.\n * @param data Additional data with no specified format, sent in call to `to`.\n * @return A boolean value indicating whether the operation succeeded unless throwing.\n */\n function transferAndCall(address to, uint256 value, bytes calldata data) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism\n * and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n * @param from The address which you want to send tokens from.\n * @param to The address which you want to transfer to.\n * @param value The amount of tokens to be transferred.\n * @return A boolean value indicating whether the operation succeeded unless throwing.\n */\n function transferFromAndCall(address from, address to, uint256 value) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism\n * and then calls {IERC1363Receiver-onTransferReceived} on `to`.\n * @param from The address which you want to send tokens from.\n * @param to The address which you want to transfer to.\n * @param value The amount of tokens to be transferred.\n * @param data Additional data with no specified format, sent in call to `to`.\n * @return A boolean value indicating whether the operation succeeded unless throwing.\n */\n function transferFromAndCall(address from, address to, uint256 value, bytes calldata data) external returns (bool);\n\n /**\n * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n * caller's tokens and then calls {IERC1363Spender-onApprovalReceived} on `spender`.\n * @param spender The address which will spend the funds.\n * @param value The amount of tokens to be spent.\n * @return A boolean value indicating whether the operation succeeded unless throwing.\n */\n function approveAndCall(address spender, uint256 value) external returns (bool);\n\n /**\n * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n * caller's tokens and then calls {IERC1363Spender-onApprovalReceived} on `spender`.\n * @param spender The address which will spend the funds.\n * @param value The amount of tokens to be spent.\n * @param data Additional data with no specified format, sent in call to `spender`.\n * @return A boolean value indicating whether the operation succeeded unless throwing.\n */\n function approveAndCall(address spender, uint256 value, bytes calldata data) external returns (bool);\n}\n"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC165.sol)\n\npragma solidity >=0.4.16;\n\nimport {IERC165} from \"../utils/introspection/IERC165.sol\";\n"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC20.sol)\n\npragma solidity >=0.4.16;\n\nimport {IERC20} from \"../token/ERC20/IERC20.sol\";\n"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC5267.sol)\n\npragma solidity >=0.4.16;\n\ninterface IERC5267 {\n /**\n * @dev MAY be emitted to signal that the domain could have changed.\n */\n event EIP712DomainChanged();\n\n /**\n * @dev returns the fields and values that describe the domain separator used by this contract for EIP-712\n * signature.\n */\n function eip712Domain()\n external\n view\n returns (\n bytes1 fields,\n string memory name,\n string memory version,\n uint256 chainId,\n address verifyingContract,\n bytes32 salt,\n uint256[] memory extensions\n );\n}\n"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC6093.sol)\n\npragma solidity >=0.8.4;\n\n/**\n * @dev Standard ERC-20 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.\n */\ninterface IERC20Errors {\n /**\n * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param balance Current balance for the interacting account.\n * @param needed Minimum amount required to perform a transfer.\n */\n error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC20InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC20InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.\n * @param spender Address that may be allowed to operate on tokens without being their owner.\n * @param allowance Amount of tokens a `spender` is allowed to operate with.\n * @param needed Minimum amount required to perform a transfer.\n */\n error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC20InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n * @param spender Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC20InvalidSpender(address spender);\n}\n\n/**\n * @dev Standard ERC-721 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.\n */\ninterface IERC721Errors {\n /**\n * @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-721.\n * Used in balance queries.\n * @param owner Address of the current owner of a token.\n */\n error ERC721InvalidOwner(address owner);\n\n /**\n * @dev Indicates a `tokenId` whose `owner` is the zero address.\n * @param tokenId Identifier number of a token.\n */\n error ERC721NonexistentToken(uint256 tokenId);\n\n /**\n * @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param tokenId Identifier number of a token.\n * @param owner Address of the current owner of a token.\n */\n error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC721InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC721InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n * @param tokenId Identifier number of a token.\n */\n error ERC721InsufficientApproval(address operator, uint256 tokenId);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC721InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC721InvalidOperator(address operator);\n}\n\n/**\n * @dev Standard ERC-1155 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens.\n */\ninterface IERC1155Errors {\n /**\n * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param balance Current balance for the interacting account.\n * @param needed Minimum amount required to perform a transfer.\n * @param tokenId Identifier number of a token.\n */\n error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC1155InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC1155InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n * @param owner Address of the current owner of a token.\n */\n error ERC1155MissingApprovalForAll(address operator, address owner);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC1155InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC1155InvalidOperator(address operator);\n\n /**\n * @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n * Used in batch transfers.\n * @param idsLength Length of the array of token identifiers\n * @param valuesLength Length of the array of token amounts\n */\n error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength);\n}\n"},"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport {ERC20} from \"../../token/ERC20/ERC20.sol\";\n\ncontract ERC20Mock is ERC20 {\n constructor() ERC20(\"ERC20Mock\", \"E20M\") {}\n\n function mint(address account, uint256 amount) external {\n _mint(account, amount);\n }\n\n function burn(address account, uint256 amount) external {\n _burn(account, amount);\n }\n}\n"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/ERC20.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"./IERC20.sol\";\nimport {IERC20Metadata} from \"./extensions/IERC20Metadata.sol\";\nimport {Context} from \"../../utils/Context.sol\";\nimport {IERC20Errors} from \"../../interfaces/draft-IERC6093.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * The default value of {decimals} is 18. To change this, you should override\n * this function so it returns a different value.\n *\n * We have followed general OpenZeppelin Contracts guidelines: functions revert\n * instead returning `false` on failure. This behavior is nonetheless\n * conventional and does not conflict with the expectations of ERC-20\n * applications.\n */\nabstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors {\n mapping(address account => uint256) private _balances;\n\n mapping(address account => mapping(address spender => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n\n /**\n * @dev Sets the values for {name} and {symbol}.\n *\n * Both values are immutable: they can only be set once during construction.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view virtual returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view virtual returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5.05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the default value returned by this function, unless\n * it's overridden.\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view virtual returns (uint8) {\n return 18;\n }\n\n /// @inheritdoc IERC20\n function totalSupply() public view virtual returns (uint256) {\n return _totalSupply;\n }\n\n /// @inheritdoc IERC20\n function balanceOf(address account) public view virtual returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - the caller must have a balance of at least `value`.\n */\n function transfer(address to, uint256 value) public virtual returns (bool) {\n address owner = _msgSender();\n _transfer(owner, to, value);\n return true;\n }\n\n /// @inheritdoc IERC20\n function allowance(address owner, address spender) public view virtual returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * NOTE: If `value` is the maximum `uint256`, the allowance is not updated on\n * `transferFrom`. This is semantically equivalent to an infinite approval.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 value) public virtual returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, value);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Skips emitting an {Approval} event indicating an allowance update. This is not\n * required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve].\n *\n * NOTE: Does not update the allowance if the current allowance\n * is the maximum `uint256`.\n *\n * Requirements:\n *\n * - `from` and `to` cannot be the zero address.\n * - `from` must have a balance of at least `value`.\n * - the caller must have allowance for ``from``'s tokens of at least\n * `value`.\n */\n function transferFrom(address from, address to, uint256 value) public virtual returns (bool) {\n address spender = _msgSender();\n _spendAllowance(from, spender, value);\n _transfer(from, to, value);\n return true;\n }\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to`.\n *\n * This internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead.\n */\n function _transfer(address from, address to, uint256 value) internal {\n if (from == address(0)) {\n revert ERC20InvalidSender(address(0));\n }\n if (to == address(0)) {\n revert ERC20InvalidReceiver(address(0));\n }\n _update(from, to, value);\n }\n\n /**\n * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`\n * (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding\n * this function.\n *\n * Emits a {Transfer} event.\n */\n function _update(address from, address to, uint256 value) internal virtual {\n if (from == address(0)) {\n // Overflow check required: The rest of the code assumes that totalSupply never overflows\n _totalSupply += value;\n } else {\n uint256 fromBalance = _balances[from];\n if (fromBalance < value) {\n revert ERC20InsufficientBalance(from, fromBalance, value);\n }\n unchecked {\n // Overflow not possible: value <= fromBalance <= totalSupply.\n _balances[from] = fromBalance - value;\n }\n }\n\n if (to == address(0)) {\n unchecked {\n // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply.\n _totalSupply -= value;\n }\n } else {\n unchecked {\n // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256.\n _balances[to] += value;\n }\n }\n\n emit Transfer(from, to, value);\n }\n\n /**\n * @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).\n * Relies on the `_update` mechanism\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead.\n */\n function _mint(address account, uint256 value) internal {\n if (account == address(0)) {\n revert ERC20InvalidReceiver(address(0));\n }\n _update(address(0), account, value);\n }\n\n /**\n * @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.\n * Relies on the `_update` mechanism.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead\n */\n function _burn(address account, uint256 value) internal {\n if (account == address(0)) {\n revert ERC20InvalidSender(address(0));\n }\n _update(account, address(0), value);\n }\n\n /**\n * @dev Sets `value` as the allowance of `spender` over the `owner`'s tokens.\n *\n * This internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n *\n * Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument.\n */\n function _approve(address owner, address spender, uint256 value) internal {\n _approve(owner, spender, value, true);\n }\n\n /**\n * @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.\n *\n * By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by\n * `_spendAllowance` during the `transferFrom` operation sets the flag to false. This saves gas by not emitting any\n * `Approval` event during `transferFrom` operations.\n *\n * Anyone who wishes to continue emitting `Approval` events on the `transferFrom` operation can force the flag to\n * true using the following override:\n *\n * ```solidity\n * function _approve(address owner, address spender, uint256 value, bool) internal virtual override {\n * super._approve(owner, spender, value, true);\n * }\n * ```\n *\n * Requirements are the same as {_approve}.\n */\n function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual {\n if (owner == address(0)) {\n revert ERC20InvalidApprover(address(0));\n }\n if (spender == address(0)) {\n revert ERC20InvalidSpender(address(0));\n }\n _allowances[owner][spender] = value;\n if (emitEvent) {\n emit Approval(owner, spender, value);\n }\n }\n\n /**\n * @dev Updates `owner`'s allowance for `spender` based on spent `value`.\n *\n * Does not update the allowance value in case of infinite allowance.\n * Revert if not enough allowance is available.\n *\n * Does not emit an {Approval} event.\n */\n function _spendAllowance(address owner, address spender, uint256 value) internal virtual {\n uint256 currentAllowance = allowance(owner, spender);\n if (currentAllowance < type(uint256).max) {\n if (currentAllowance < value) {\n revert ERC20InsufficientAllowance(spender, currentAllowance, value);\n }\n unchecked {\n _approve(owner, spender, currentAllowance - value, false);\n }\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/IERC20.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev Interface of the ERC-20 standard as defined in the ERC.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the value of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the value of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves a `value` amount of tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 value) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n * caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 value) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to` using the\n * allowance mechanism. `value` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 value) external returns (bool);\n}\n"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/extensions/ERC20Permit.sol)\n\npragma solidity ^0.8.24;\n\nimport {IERC20Permit} from \"./IERC20Permit.sol\";\nimport {ERC20} from \"../ERC20.sol\";\nimport {ECDSA} from \"../../../utils/cryptography/ECDSA.sol\";\nimport {EIP712} from \"../../../utils/cryptography/EIP712.sol\";\nimport {Nonces} from \"../../../utils/Nonces.sol\";\n\n/**\n * @dev Implementation of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in\n * https://eips.ethereum.org/EIPS/eip-2612[ERC-2612].\n *\n * Adds the {permit} method, which can be used to change an account's ERC-20 allowance (see {IERC20-allowance}) by\n * presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't\n * need to send a transaction, and thus is not required to hold Ether at all.\n */\nabstract contract ERC20Permit is ERC20, IERC20Permit, EIP712, Nonces {\n bytes32 private constant PERMIT_TYPEHASH =\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\");\n\n /**\n * @dev Permit deadline has expired.\n */\n error ERC2612ExpiredSignature(uint256 deadline);\n\n /**\n * @dev Mismatched signature.\n */\n error ERC2612InvalidSigner(address signer, address owner);\n\n /**\n * @dev Initializes the {EIP712} domain separator using the `name` parameter, and setting `version` to `\"1\"`.\n *\n * It's a good idea to use the same `name` that is defined as the ERC-20 token name.\n */\n constructor(string memory name) EIP712(name, \"1\") {}\n\n /// @inheritdoc IERC20Permit\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) public virtual {\n if (block.timestamp > deadline) {\n revert ERC2612ExpiredSignature(deadline);\n }\n\n bytes32 structHash = keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, _useNonce(owner), deadline));\n\n bytes32 hash = _hashTypedDataV4(structHash);\n\n address signer = ECDSA.recover(hash, v, r, s);\n if (signer != owner) {\n revert ERC2612InvalidSigner(signer, owner);\n }\n\n _approve(owner, spender, value);\n }\n\n /// @inheritdoc IERC20Permit\n function nonces(address owner) public view virtual override(IERC20Permit, Nonces) returns (uint256) {\n return super.nonces(owner);\n }\n\n /// @inheritdoc IERC20Permit\n // solhint-disable-next-line func-name-mixedcase\n function DOMAIN_SEPARATOR() external view returns (bytes32) {\n return _domainSeparatorV4();\n }\n}\n"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity >=0.6.2;\n\nimport {IERC20} from \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC-20 standard.\n */\ninterface IERC20Metadata is IERC20 {\n /**\n * @dev Returns the name of the token.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the symbol of the token.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the decimals places of the token.\n */\n function decimals() external view returns (uint8);\n}\n"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/extensions/IERC20Permit.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev Interface of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in\n * https://eips.ethereum.org/EIPS/eip-2612[ERC-2612].\n *\n * Adds the {permit} method, which can be used to change an account's ERC-20 allowance (see {IERC20-allowance}) by\n * presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n * need to send a transaction, and thus is not required to hold Ether at all.\n *\n * ==== Security Considerations\n *\n * There are two important considerations concerning the use of `permit`. The first is that a valid permit signature\n * expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be\n * considered as an intention to spend the allowance in any specific way. The second is that because permits have\n * built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should\n * take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be\n * generally recommended is:\n *\n * ```solidity\n * function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public {\n * try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {}\n * doThing(..., value);\n * }\n *\n * function doThing(..., uint256 value) public {\n * token.safeTransferFrom(msg.sender, address(this), value);\n * ...\n * }\n * ```\n *\n * Observe that: 1) `msg.sender` is used as the owner, leaving no ambiguity as to the signer intent, and 2) the use of\n * `try/catch` allows the permit to fail and makes the code tolerant to frontrunning. (See also\n * {SafeERC20-safeTransferFrom}).\n *\n * Additionally, note that smart contract wallets (such as Argent or Safe) are not able to produce permit signatures, so\n * contracts should have entry points that don't rely on permit.\n */\ninterface IERC20Permit {\n /**\n * @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n * given ``owner``'s signed approval.\n *\n * IMPORTANT: The same issues {IERC20-approve} has related to transaction\n * ordering also applies here.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `deadline` must be a timestamp in the future.\n * - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n * over the EIP712-formatted function arguments.\n * - the signature must use ``owner``'s current nonce (see {nonces}).\n *\n * For more information on the signature format, see the\n * https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n * section].\n *\n * CAUTION: See Security Considerations above.\n */\n function permit(\n address owner,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n\n /**\n * @dev Returns the current nonce for `owner`. This value must be\n * included whenever a signature is generated for {permit}.\n *\n * Every successful call to {permit} increases ``owner``'s nonce by one. This\n * prevents a signature from being used multiple times.\n */\n function nonces(address owner) external view returns (uint256);\n\n /**\n * @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\n */\n // solhint-disable-next-line func-name-mixedcase\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n}\n"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (token/ERC20/utils/SafeERC20.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"../IERC20.sol\";\nimport {IERC1363} from \"../../../interfaces/IERC1363.sol\";\n\n/**\n * @title SafeERC20\n * @dev Wrappers around ERC-20 operations that throw on failure (when the token\n * contract returns false). Tokens that return no value (and instead revert or\n * throw on failure) are also supported, non-reverting calls are assumed to be\n * successful.\n * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\n */\nlibrary SafeERC20 {\n /**\n * @dev An operation with an ERC-20 token failed.\n */\n error SafeERC20FailedOperation(address token);\n\n /**\n * @dev Indicates a failed `decreaseAllowance` request.\n */\n error SafeERC20FailedDecreaseAllowance(address spender, uint256 currentAllowance, uint256 requestedDecrease);\n\n /**\n * @dev Transfer `value` amount of `token` from the calling contract to `to`. If `token` returns no value,\n * non-reverting calls are assumed to be successful.\n */\n function safeTransfer(IERC20 token, address to, uint256 value) internal {\n if (!_safeTransfer(token, to, value, true)) {\n revert SafeERC20FailedOperation(address(token));\n }\n }\n\n /**\n * @dev Transfer `value` amount of `token` from `from` to `to`, spending the approval given by `from` to the\n * calling contract. If `token` returns no value, non-reverting calls are assumed to be successful.\n */\n function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {\n if (!_safeTransferFrom(token, from, to, value, true)) {\n revert SafeERC20FailedOperation(address(token));\n }\n }\n\n /**\n * @dev Variant of {safeTransfer} that returns a bool instead of reverting if the operation is not successful.\n */\n function trySafeTransfer(IERC20 token, address to, uint256 value) internal returns (bool) {\n return _safeTransfer(token, to, value, false);\n }\n\n /**\n * @dev Variant of {safeTransferFrom} that returns a bool instead of reverting if the operation is not successful.\n */\n function trySafeTransferFrom(IERC20 token, address from, address to, uint256 value) internal returns (bool) {\n return _safeTransferFrom(token, from, to, value, false);\n }\n\n /**\n * @dev Increase the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n * non-reverting calls are assumed to be successful.\n *\n * IMPORTANT: If the token implements ERC-7674 (ERC-20 with temporary allowance), and if the \"client\"\n * smart contract uses ERC-7674 to set temporary allowances, then the \"client\" smart contract should avoid using\n * this function. Performing a {safeIncreaseAllowance} or {safeDecreaseAllowance} operation on a token contract\n * that has a non-zero temporary allowance (for that particular owner-spender) will result in unexpected behavior.\n */\n function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {\n uint256 oldAllowance = token.allowance(address(this), spender);\n forceApprove(token, spender, oldAllowance + value);\n }\n\n /**\n * @dev Decrease the calling contract's allowance toward `spender` by `requestedDecrease`. If `token` returns no\n * value, non-reverting calls are assumed to be successful.\n *\n * IMPORTANT: If the token implements ERC-7674 (ERC-20 with temporary allowance), and if the \"client\"\n * smart contract uses ERC-7674 to set temporary allowances, then the \"client\" smart contract should avoid using\n * this function. Performing a {safeIncreaseAllowance} or {safeDecreaseAllowance} operation on a token contract\n * that has a non-zero temporary allowance (for that particular owner-spender) will result in unexpected behavior.\n */\n function safeDecreaseAllowance(IERC20 token, address spender, uint256 requestedDecrease) internal {\n unchecked {\n uint256 currentAllowance = token.allowance(address(this), spender);\n if (currentAllowance < requestedDecrease) {\n revert SafeERC20FailedDecreaseAllowance(spender, currentAllowance, requestedDecrease);\n }\n forceApprove(token, spender, currentAllowance - requestedDecrease);\n }\n }\n\n /**\n * @dev Set the calling contract's allowance toward `spender` to `value`. If `token` returns no value,\n * non-reverting calls are assumed to be successful. Meant to be used with tokens that require the approval\n * to be set to zero before setting it to a non-zero value, such as USDT.\n *\n * NOTE: If the token implements ERC-7674, this function will not modify any temporary allowance. This function\n * only sets the \"standard\" allowance. Any temporary allowance will remain active, in addition to the value being\n * set here.\n */\n function forceApprove(IERC20 token, address spender, uint256 value) internal {\n if (!_safeApprove(token, spender, value, false)) {\n if (!_safeApprove(token, spender, 0, true)) revert SafeERC20FailedOperation(address(token));\n if (!_safeApprove(token, spender, value, true)) revert SafeERC20FailedOperation(address(token));\n }\n }\n\n /**\n * @dev Performs an {ERC1363} transferAndCall, with a fallback to the simple {ERC20} transfer if the target has no\n * code. This can be used to implement an {ERC721}-like safe transfer that relies on {ERC1363} checks when\n * targeting contracts.\n *\n * Reverts if the returned value is other than `true`.\n */\n function transferAndCallRelaxed(IERC1363 token, address to, uint256 value, bytes memory data) internal {\n if (to.code.length == 0) {\n safeTransfer(token, to, value);\n } else if (!token.transferAndCall(to, value, data)) {\n revert SafeERC20FailedOperation(address(token));\n }\n }\n\n /**\n * @dev Performs an {ERC1363} transferFromAndCall, with a fallback to the simple {ERC20} transferFrom if the target\n * has no code. This can be used to implement an {ERC721}-like safe transfer that relies on {ERC1363} checks when\n * targeting contracts.\n *\n * Reverts if the returned value is other than `true`.\n */\n function transferFromAndCallRelaxed(\n IERC1363 token,\n address from,\n address to,\n uint256 value,\n bytes memory data\n ) internal {\n if (to.code.length == 0) {\n safeTransferFrom(token, from, to, value);\n } else if (!token.transferFromAndCall(from, to, value, data)) {\n revert SafeERC20FailedOperation(address(token));\n }\n }\n\n /**\n * @dev Performs an {ERC1363} approveAndCall, with a fallback to the simple {ERC20} approve if the target has no\n * code. This can be used to implement an {ERC721}-like safe transfer that rely on {ERC1363} checks when\n * targeting contracts.\n *\n * NOTE: When the recipient address (`to`) has no code (i.e. is an EOA), this function behaves as {forceApprove}.\n * Oppositely, when the recipient address (`to`) has code, this function only attempts to call {ERC1363-approveAndCall}\n * once without retrying, and relies on the returned value to be true.\n *\n * Reverts if the returned value is other than `true`.\n */\n function approveAndCallRelaxed(IERC1363 token, address to, uint256 value, bytes memory data) internal {\n if (to.code.length == 0) {\n forceApprove(token, to, value);\n } else if (!token.approveAndCall(to, value, data)) {\n revert SafeERC20FailedOperation(address(token));\n }\n }\n\n /**\n * @dev Imitates a Solidity `token.transfer(to, value)` call, relaxing the requirement on the return value: the\n * return value is optional (but if data is returned, it must not be false).\n *\n * @param token The token targeted by the call.\n * @param to The recipient of the tokens\n * @param value The amount of token to transfer\n * @param bubble Behavior switch if the transfer call reverts: bubble the revert reason or return a false boolean.\n */\n function _safeTransfer(IERC20 token, address to, uint256 value, bool bubble) private returns (bool success) {\n bytes4 selector = IERC20.transfer.selector;\n\n assembly (\"memory-safe\") {\n let fmp := mload(0x40)\n mstore(0x00, selector)\n mstore(0x04, and(to, shr(96, not(0))))\n mstore(0x24, value)\n success := call(gas(), token, 0, 0x00, 0x44, 0x00, 0x20)\n // if call success and return is true, all is good.\n // otherwise (not success or return is not true), we need to perform further checks\n if iszero(and(success, eq(mload(0x00), 1))) {\n // if the call was a failure and bubble is enabled, bubble the error\n if and(iszero(success), bubble) {\n returndatacopy(fmp, 0x00, returndatasize())\n revert(fmp, returndatasize())\n }\n // if the return value is not true, then the call is only successful if:\n // - the token address has code\n // - the returndata is empty\n success := and(success, and(iszero(returndatasize()), gt(extcodesize(token), 0)))\n }\n mstore(0x40, fmp)\n }\n }\n\n /**\n * @dev Imitates a Solidity `token.transferFrom(from, to, value)` call, relaxing the requirement on the return\n * value: the return value is optional (but if data is returned, it must not be false).\n *\n * @param token The token targeted by the call.\n * @param from The sender of the tokens\n * @param to The recipient of the tokens\n * @param value The amount of token to transfer\n * @param bubble Behavior switch if the transfer call reverts: bubble the revert reason or return a false boolean.\n */\n function _safeTransferFrom(\n IERC20 token,\n address from,\n address to,\n uint256 value,\n bool bubble\n ) private returns (bool success) {\n bytes4 selector = IERC20.transferFrom.selector;\n\n assembly (\"memory-safe\") {\n let fmp := mload(0x40)\n mstore(0x00, selector)\n mstore(0x04, and(from, shr(96, not(0))))\n mstore(0x24, and(to, shr(96, not(0))))\n mstore(0x44, value)\n success := call(gas(), token, 0, 0x00, 0x64, 0x00, 0x20)\n // if call success and return is true, all is good.\n // otherwise (not success or return is not true), we need to perform further checks\n if iszero(and(success, eq(mload(0x00), 1))) {\n // if the call was a failure and bubble is enabled, bubble the error\n if and(iszero(success), bubble) {\n returndatacopy(fmp, 0x00, returndatasize())\n revert(fmp, returndatasize())\n }\n // if the return value is not true, then the call is only successful if:\n // - the token address has code\n // - the returndata is empty\n success := and(success, and(iszero(returndatasize()), gt(extcodesize(token), 0)))\n }\n mstore(0x40, fmp)\n mstore(0x60, 0)\n }\n }\n\n /**\n * @dev Imitates a Solidity `token.approve(spender, value)` call, relaxing the requirement on the return value:\n * the return value is optional (but if data is returned, it must not be false).\n *\n * @param token The token targeted by the call.\n * @param spender The spender of the tokens\n * @param value The amount of token to transfer\n * @param bubble Behavior switch if the transfer call reverts: bubble the revert reason or return a false boolean.\n */\n function _safeApprove(IERC20 token, address spender, uint256 value, bool bubble) private returns (bool success) {\n bytes4 selector = IERC20.approve.selector;\n\n assembly (\"memory-safe\") {\n let fmp := mload(0x40)\n mstore(0x00, selector)\n mstore(0x04, and(spender, shr(96, not(0))))\n mstore(0x24, value)\n success := call(gas(), token, 0, 0x00, 0x44, 0x00, 0x20)\n // if call success and return is true, all is good.\n // otherwise (not success or return is not true), we need to perform further checks\n if iszero(and(success, eq(mload(0x00), 1))) {\n // if the call was a failure and bubble is enabled, bubble the error\n if and(iszero(success), bubble) {\n returndatacopy(fmp, 0x00, returndatasize())\n revert(fmp, returndatasize())\n }\n // if the return value is not true, then the call is only successful if:\n // - the token address has code\n // - the returndata is empty\n success := and(success, and(iszero(returndatasize()), gt(extcodesize(token), 0)))\n }\n mstore(0x40, fmp)\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/Bytes.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/Bytes.sol)\n\npragma solidity ^0.8.24;\n\nimport {Math} from \"./math/Math.sol\";\n\n/**\n * @dev Bytes operations.\n */\nlibrary Bytes {\n /**\n * @dev Forward search for `s` in `buffer`\n * * If `s` is present in the buffer, returns the index of the first instance\n * * If `s` is not present in the buffer, returns type(uint256).max\n *\n * NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf[Javascript's `Array.indexOf`]\n */\n function indexOf(bytes memory buffer, bytes1 s) internal pure returns (uint256) {\n return indexOf(buffer, s, 0);\n }\n\n /**\n * @dev Forward search for `s` in `buffer` starting at position `pos`\n * * If `s` is present in the buffer (at or after `pos`), returns the index of the next instance\n * * If `s` is not present in the buffer (at or after `pos`), returns type(uint256).max\n *\n * NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf[Javascript's `Array.indexOf`]\n */\n function indexOf(bytes memory buffer, bytes1 s, uint256 pos) internal pure returns (uint256) {\n uint256 length = buffer.length;\n for (uint256 i = pos; i < length; ++i) {\n if (bytes1(_unsafeReadBytesOffset(buffer, i)) == s) {\n return i;\n }\n }\n return type(uint256).max;\n }\n\n /**\n * @dev Backward search for `s` in `buffer`\n * * If `s` is present in the buffer, returns the index of the last instance\n * * If `s` is not present in the buffer, returns type(uint256).max\n *\n * NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf[Javascript's `Array.lastIndexOf`]\n */\n function lastIndexOf(bytes memory buffer, bytes1 s) internal pure returns (uint256) {\n return lastIndexOf(buffer, s, type(uint256).max);\n }\n\n /**\n * @dev Backward search for `s` in `buffer` starting at position `pos`\n * * If `s` is present in the buffer (at or before `pos`), returns the index of the previous instance\n * * If `s` is not present in the buffer (at or before `pos`), returns type(uint256).max\n *\n * NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf[Javascript's `Array.lastIndexOf`]\n */\n function lastIndexOf(bytes memory buffer, bytes1 s, uint256 pos) internal pure returns (uint256) {\n unchecked {\n uint256 length = buffer.length;\n for (uint256 i = Math.min(Math.saturatingAdd(pos, 1), length); i > 0; --i) {\n if (bytes1(_unsafeReadBytesOffset(buffer, i - 1)) == s) {\n return i - 1;\n }\n }\n return type(uint256).max;\n }\n }\n\n /**\n * @dev Copies the content of `buffer`, from `start` (included) to the end of `buffer` into a new bytes object in\n * memory.\n *\n * NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice[Javascript's `Array.slice`]\n */\n function slice(bytes memory buffer, uint256 start) internal pure returns (bytes memory) {\n return slice(buffer, start, buffer.length);\n }\n\n /**\n * @dev Copies the content of `buffer`, from `start` (included) to `end` (excluded) into a new bytes object in\n * memory. The `end` argument is truncated to the length of the `buffer`.\n *\n * NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice[Javascript's `Array.slice`]\n */\n function slice(bytes memory buffer, uint256 start, uint256 end) internal pure returns (bytes memory) {\n // sanitize\n end = Math.min(end, buffer.length);\n start = Math.min(start, end);\n\n // allocate and copy\n bytes memory result = new bytes(end - start);\n assembly (\"memory-safe\") {\n mcopy(add(result, 0x20), add(add(buffer, 0x20), start), sub(end, start))\n }\n\n return result;\n }\n\n /**\n * @dev Moves the content of `buffer`, from `start` (included) to the end of `buffer` to the start of that buffer.\n *\n * NOTE: This function modifies the provided buffer in place. If you need to preserve the original buffer, use {slice} instead\n * NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice[Javascript's `Array.splice`]\n */\n function splice(bytes memory buffer, uint256 start) internal pure returns (bytes memory) {\n return splice(buffer, start, buffer.length);\n }\n\n /**\n * @dev Moves the content of `buffer`, from `start` (included) to end (excluded) to the start of that buffer. The\n * `end` argument is truncated to the length of the `buffer`.\n *\n * NOTE: This function modifies the provided buffer in place. If you need to preserve the original buffer, use {slice} instead\n * NOTE: replicates the behavior of https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice[Javascript's `Array.splice`]\n */\n function splice(bytes memory buffer, uint256 start, uint256 end) internal pure returns (bytes memory) {\n // sanitize\n end = Math.min(end, buffer.length);\n start = Math.min(start, end);\n\n // allocate and copy\n assembly (\"memory-safe\") {\n mcopy(add(buffer, 0x20), add(add(buffer, 0x20), start), sub(end, start))\n mstore(buffer, sub(end, start))\n }\n\n return buffer;\n }\n\n /**\n * @dev Concatenate an array of bytes into a single bytes object.\n *\n * For fixed bytes types, we recommend using the solidity built-in `bytes.concat` or (equivalent)\n * `abi.encodePacked`.\n *\n * NOTE: this could be done in assembly with a single loop that expands starting at the FMP, but that would be\n * significantly less readable. It might be worth benchmarking the savings of the full-assembly approach.\n */\n function concat(bytes[] memory buffers) internal pure returns (bytes memory) {\n uint256 length = 0;\n for (uint256 i = 0; i < buffers.length; ++i) {\n length += buffers[i].length;\n }\n\n bytes memory result = new bytes(length);\n\n uint256 offset = 0x20;\n for (uint256 i = 0; i < buffers.length; ++i) {\n bytes memory input = buffers[i];\n assembly (\"memory-safe\") {\n mcopy(add(result, offset), add(input, 0x20), mload(input))\n }\n unchecked {\n offset += input.length;\n }\n }\n\n return result;\n }\n\n /**\n * @dev Returns true if the two byte buffers are equal.\n */\n function equal(bytes memory a, bytes memory b) internal pure returns (bool) {\n return a.length == b.length && keccak256(a) == keccak256(b);\n }\n\n /**\n * @dev Reverses the byte order of a bytes32 value, converting between little-endian and big-endian.\n * Inspired by https://graphics.stanford.edu/~seander/bithacks.html#ReverseParallel[Reverse Parallel]\n */\n function reverseBytes32(bytes32 value) internal pure returns (bytes32) {\n value = // swap bytes\n ((value >> 8) & 0x00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF) |\n ((value & 0x00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF) << 8);\n value = // swap 2-byte long pairs\n ((value >> 16) & 0x0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF) |\n ((value & 0x0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF) << 16);\n value = // swap 4-byte long pairs\n ((value >> 32) & 0x00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF) |\n ((value & 0x00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF) << 32);\n value = // swap 8-byte long pairs\n ((value >> 64) & 0x0000000000000000FFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF) |\n ((value & 0x0000000000000000FFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF) << 64);\n return (value >> 128) | (value << 128); // swap 16-byte long pairs\n }\n\n /// @dev Same as {reverseBytes32} but optimized for 128-bit values.\n function reverseBytes16(bytes16 value) internal pure returns (bytes16) {\n value = // swap bytes\n ((value & 0xFF00FF00FF00FF00FF00FF00FF00FF00) >> 8) |\n ((value & 0x00FF00FF00FF00FF00FF00FF00FF00FF) << 8);\n value = // swap 2-byte long pairs\n ((value & 0xFFFF0000FFFF0000FFFF0000FFFF0000) >> 16) |\n ((value & 0x0000FFFF0000FFFF0000FFFF0000FFFF) << 16);\n value = // swap 4-byte long pairs\n ((value & 0xFFFFFFFF00000000FFFFFFFF00000000) >> 32) |\n ((value & 0x00000000FFFFFFFF00000000FFFFFFFF) << 32);\n return (value >> 64) | (value << 64); // swap 8-byte long pairs\n }\n\n /// @dev Same as {reverseBytes32} but optimized for 64-bit values.\n function reverseBytes8(bytes8 value) internal pure returns (bytes8) {\n value = ((value & 0xFF00FF00FF00FF00) >> 8) | ((value & 0x00FF00FF00FF00FF) << 8); // swap bytes\n value = ((value & 0xFFFF0000FFFF0000) >> 16) | ((value & 0x0000FFFF0000FFFF) << 16); // swap 2-byte long pairs\n return (value >> 32) | (value << 32); // swap 4-byte long pairs\n }\n\n /// @dev Same as {reverseBytes32} but optimized for 32-bit values.\n function reverseBytes4(bytes4 value) internal pure returns (bytes4) {\n value = ((value & 0xFF00FF00) >> 8) | ((value & 0x00FF00FF) << 8); // swap bytes\n return (value >> 16) | (value << 16); // swap 2-byte long pairs\n }\n\n /// @dev Same as {reverseBytes32} but optimized for 16-bit values.\n function reverseBytes2(bytes2 value) internal pure returns (bytes2) {\n return (value >> 8) | (value << 8);\n }\n\n /**\n * @dev Counts the number of leading zero bits a bytes array. Returns `8 * buffer.length`\n * if the buffer is all zeros.\n */\n function clz(bytes memory buffer) internal pure returns (uint256) {\n for (uint256 i = 0; i < buffer.length; i += 0x20) {\n bytes32 chunk = _unsafeReadBytesOffset(buffer, i);\n if (chunk != bytes32(0)) {\n return Math.min(8 * i + Math.clz(uint256(chunk)), 8 * buffer.length);\n }\n }\n return 8 * buffer.length;\n }\n\n /**\n * @dev Reads a bytes32 from a bytes array without bounds checking.\n *\n * NOTE: making this function internal would mean it could be used with memory unsafe offset, and marking the\n * assembly block as such would prevent some optimizations.\n */\n function _unsafeReadBytesOffset(bytes memory buffer, uint256 offset) private pure returns (bytes32 value) {\n // This is not memory safe in the general case, but all calls to this private function are within bounds.\n assembly (\"memory-safe\") {\n value := mload(add(add(buffer, 0x20), offset))\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n function _contextSuffixLength() internal view virtual returns (uint256) {\n return 0;\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/Nonces.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (utils/Nonces.sol)\npragma solidity ^0.8.20;\n\n/**\n * @dev Provides tracking nonces for addresses. Nonces will only increment.\n */\nabstract contract Nonces {\n /**\n * @dev The nonce used for an `account` is not the expected current nonce.\n */\n error InvalidAccountNonce(address account, uint256 currentNonce);\n\n mapping(address account => uint256) private _nonces;\n\n /**\n * @dev Returns the next unused nonce for an address.\n */\n function nonces(address owner) public view virtual returns (uint256) {\n return _nonces[owner];\n }\n\n /**\n * @dev Consumes a nonce.\n *\n * Returns the current value and increments nonce.\n */\n function _useNonce(address owner) internal virtual returns (uint256) {\n // For each account, the nonce has an initial value of 0, can only be incremented by one, and cannot be\n // decremented or reset. This guarantees that the nonce never overflows.\n unchecked {\n // It is important to do x++ and not ++x here.\n return _nonces[owner]++;\n }\n }\n\n /**\n * @dev Same as {_useNonce} but checking that `nonce` is the next valid for `owner`.\n */\n function _useCheckedNonce(address owner, uint256 nonce) internal virtual {\n uint256 current = _useNonce(owner);\n if (nonce != current) {\n revert InvalidAccountNonce(owner, current);\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/Panic.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Helper library for emitting standardized panic codes.\n *\n * ```solidity\n * contract Example {\n * using Panic for uint256;\n *\n * // Use any of the declared internal constants\n * function foo() { Panic.GENERIC.panic(); }\n *\n * // Alternatively\n * function foo() { Panic.panic(Panic.GENERIC); }\n * }\n * ```\n *\n * Follows the list from https://github.com/ethereum/solidity/blob/v0.8.24/libsolutil/ErrorCodes.h[libsolutil].\n *\n * _Available since v5.1._\n */\n// slither-disable-next-line unused-state\nlibrary Panic {\n /// @dev generic / unspecified error\n uint256 internal constant GENERIC = 0x00;\n /// @dev used by the assert() builtin\n uint256 internal constant ASSERT = 0x01;\n /// @dev arithmetic underflow or overflow\n uint256 internal constant UNDER_OVERFLOW = 0x11;\n /// @dev division or modulo by zero\n uint256 internal constant DIVISION_BY_ZERO = 0x12;\n /// @dev enum conversion error\n uint256 internal constant ENUM_CONVERSION_ERROR = 0x21;\n /// @dev invalid encoding in storage\n uint256 internal constant STORAGE_ENCODING_ERROR = 0x22;\n /// @dev empty array pop\n uint256 internal constant EMPTY_ARRAY_POP = 0x31;\n /// @dev array out of bounds access\n uint256 internal constant ARRAY_OUT_OF_BOUNDS = 0x32;\n /// @dev resource error (too large allocation or too large array)\n uint256 internal constant RESOURCE_ERROR = 0x41;\n /// @dev calling invalid internal function\n uint256 internal constant INVALID_INTERNAL_FUNCTION = 0x51;\n\n /// @dev Reverts with a panic code. Recommended to use with\n /// the internal constants with predefined codes.\n function panic(uint256 code) internal pure {\n assembly (\"memory-safe\") {\n mstore(0x00, 0x4e487b71)\n mstore(0x20, code)\n revert(0x1c, 0x24)\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/ReentrancyGuard.sol)\n\npragma solidity ^0.8.20;\n\nimport {StorageSlot} from \"./StorageSlot.sol\";\n\n/**\n * @dev Contract module that helps prevent reentrant calls to a function.\n *\n * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier\n * available, which can be applied to functions to make sure there are no nested\n * (reentrant) calls to them.\n *\n * Note that because there is a single `nonReentrant` guard, functions marked as\n * `nonReentrant` may not call one another. This can be worked around by making\n * those functions `private`, and then adding `external` `nonReentrant` entry\n * points to them.\n *\n * TIP: If EIP-1153 (transient storage) is available on the chain you're deploying at,\n * consider using {ReentrancyGuardTransient} instead.\n *\n * TIP: If you would like to learn more about reentrancy and alternative ways\n * to protect against it, check out our blog post\n * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\n *\n * IMPORTANT: Deprecated. This storage-based reentrancy guard will be removed and replaced\n * by the {ReentrancyGuardTransient} variant in v6.0.\n *\n * @custom:stateless\n */\nabstract contract ReentrancyGuard {\n using StorageSlot for bytes32;\n\n // keccak256(abi.encode(uint256(keccak256(\"openzeppelin.storage.ReentrancyGuard\")) - 1)) & ~bytes32(uint256(0xff))\n bytes32 private constant REENTRANCY_GUARD_STORAGE =\n 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00;\n\n // Booleans are more expensive than uint256 or any type that takes up a full\n // word because each write operation emits an extra SLOAD to first read the\n // slot's contents, replace the bits taken up by the boolean, and then write\n // back. This is the compiler's defense against contract upgrades and\n // pointer aliasing, and it cannot be disabled.\n\n // The values being non-zero value makes deployment a bit more expensive,\n // but in exchange the refund on every call to nonReentrant will be lower in\n // amount. Since refunds are capped to a percentage of the total\n // transaction's gas, it is best to keep them low in cases like this one, to\n // increase the likelihood of the full refund coming into effect.\n uint256 private constant NOT_ENTERED = 1;\n uint256 private constant ENTERED = 2;\n\n /**\n * @dev Unauthorized reentrant call.\n */\n error ReentrancyGuardReentrantCall();\n\n constructor() {\n _reentrancyGuardStorageSlot().getUint256Slot().value = NOT_ENTERED;\n }\n\n /**\n * @dev Prevents a contract from calling itself, directly or indirectly.\n * Calling a `nonReentrant` function from another `nonReentrant`\n * function is not supported. It is possible to prevent this from happening\n * by making the `nonReentrant` function external, and making it call a\n * `private` function that does the actual work.\n */\n modifier nonReentrant() {\n _nonReentrantBefore();\n _;\n _nonReentrantAfter();\n }\n\n /**\n * @dev A `view` only version of {nonReentrant}. Use to block view functions\n * from being called, preventing reading from inconsistent contract state.\n *\n * CAUTION: This is a \"view\" modifier and does not change the reentrancy\n * status. Use it only on view functions. For payable or non-payable functions,\n * use the standard {nonReentrant} modifier instead.\n */\n modifier nonReentrantView() {\n _nonReentrantBeforeView();\n _;\n }\n\n function _nonReentrantBeforeView() private view {\n if (_reentrancyGuardEntered()) {\n revert ReentrancyGuardReentrantCall();\n }\n }\n\n function _nonReentrantBefore() private {\n // On the first call to nonReentrant, _status will be NOT_ENTERED\n _nonReentrantBeforeView();\n\n // Any calls to nonReentrant after this point will fail\n _reentrancyGuardStorageSlot().getUint256Slot().value = ENTERED;\n }\n\n function _nonReentrantAfter() private {\n // By storing the original value once again, a refund is triggered (see\n // https://eips.ethereum.org/EIPS/eip-2200)\n _reentrancyGuardStorageSlot().getUint256Slot().value = NOT_ENTERED;\n }\n\n /**\n * @dev Returns true if the reentrancy guard is currently set to \"entered\", which indicates there is a\n * `nonReentrant` function in the call stack.\n */\n function _reentrancyGuardEntered() internal view returns (bool) {\n return _reentrancyGuardStorageSlot().getUint256Slot().value == ENTERED;\n }\n\n function _reentrancyGuardStorageSlot() internal pure virtual returns (bytes32) {\n return REENTRANCY_GUARD_STORAGE;\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (utils/ShortStrings.sol)\n\npragma solidity ^0.8.20;\n\nimport {StorageSlot} from \"./StorageSlot.sol\";\n\n// | string | 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA |\n// | length | 0x BB |\ntype ShortString is bytes32;\n\n/**\n * @dev This library provides functions to convert short memory strings\n * into a `ShortString` type that can be used as an immutable variable.\n *\n * Strings of arbitrary length can be optimized using this library if\n * they are short enough (up to 31 bytes) by packing them with their\n * length (1 byte) in a single EVM word (32 bytes). Additionally, a\n * fallback mechanism can be used for every other case.\n *\n * Usage example:\n *\n * ```solidity\n * contract Named {\n * using ShortStrings for *;\n *\n * ShortString private immutable _name;\n * string private _nameFallback;\n *\n * constructor(string memory contractName) {\n * _name = contractName.toShortStringWithFallback(_nameFallback);\n * }\n *\n * function name() external view returns (string memory) {\n * return _name.toStringWithFallback(_nameFallback);\n * }\n * }\n * ```\n */\nlibrary ShortStrings {\n // Used as an identifier for strings longer than 31 bytes.\n bytes32 private constant FALLBACK_SENTINEL = 0x00000000000000000000000000000000000000000000000000000000000000FF;\n\n error StringTooLong(string str);\n error InvalidShortString();\n\n /**\n * @dev Encode a string of at most 31 chars into a `ShortString`.\n *\n * This will trigger a `StringTooLong` error is the input string is too long.\n */\n function toShortString(string memory str) internal pure returns (ShortString) {\n bytes memory bstr = bytes(str);\n if (bstr.length > 0x1f) {\n revert StringTooLong(str);\n }\n return ShortString.wrap(bytes32(uint256(bytes32(bstr)) | bstr.length));\n }\n\n /**\n * @dev Decode a `ShortString` back to a \"normal\" string.\n */\n function toString(ShortString sstr) internal pure returns (string memory) {\n uint256 len = byteLength(sstr);\n // using `new string(len)` would work locally but is not memory safe.\n string memory str = new string(0x20);\n assembly (\"memory-safe\") {\n mstore(str, len)\n mstore(add(str, 0x20), sstr)\n }\n return str;\n }\n\n /**\n * @dev Return the length of a `ShortString`.\n */\n function byteLength(ShortString sstr) internal pure returns (uint256) {\n uint256 result = uint256(ShortString.unwrap(sstr)) & 0xFF;\n if (result > 0x1f) {\n revert InvalidShortString();\n }\n return result;\n }\n\n /**\n * @dev Encode a string into a `ShortString`, or write it to storage if it is too long.\n */\n function toShortStringWithFallback(string memory value, string storage store) internal returns (ShortString) {\n if (bytes(value).length < 0x20) {\n return toShortString(value);\n } else {\n StorageSlot.getStringSlot(store).value = value;\n return ShortString.wrap(FALLBACK_SENTINEL);\n }\n }\n\n /**\n * @dev Decode a string that was encoded to `ShortString` or written to storage using {toShortStringWithFallback}.\n */\n function toStringWithFallback(ShortString value, string storage store) internal pure returns (string memory) {\n if (ShortString.unwrap(value) != FALLBACK_SENTINEL) {\n return toString(value);\n } else {\n return store;\n }\n }\n\n /**\n * @dev Return the length of a string that was encoded to `ShortString` or written to storage using\n * {toShortStringWithFallback}.\n *\n * WARNING: This will return the \"byte length\" of the string. This may not reflect the actual length in terms of\n * actual characters as the UTF-8 encoding of a single character can span over multiple bytes.\n */\n function byteLengthWithFallback(ShortString value, string storage store) internal view returns (uint256) {\n if (ShortString.unwrap(value) != FALLBACK_SENTINEL) {\n return byteLength(value);\n } else {\n return bytes(store).length;\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/StorageSlot.sol)\n// This file was procedurally generated from scripts/generate/templates/StorageSlot.js.\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Library for reading and writing primitive types to specific storage slots.\n *\n * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.\n * This library helps with reading and writing to such slots without the need for inline assembly.\n *\n * The functions in this library return Slot structs that contain a `value` member that can be used to read or write.\n *\n * Example usage to set ERC-1967 implementation slot:\n * ```solidity\n * contract ERC1967 {\n * // Define the slot. Alternatively, use the SlotDerivation library to derive the slot.\n * bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n *\n * function _getImplementation() internal view returns (address) {\n * return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n * }\n *\n * function _setImplementation(address newImplementation) internal {\n * require(newImplementation.code.length > 0);\n * StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n * }\n * }\n * ```\n *\n * TIP: Consider using this library along with {SlotDerivation}.\n */\nlibrary StorageSlot {\n struct AddressSlot {\n address value;\n }\n\n struct BooleanSlot {\n bool value;\n }\n\n struct Bytes32Slot {\n bytes32 value;\n }\n\n struct Uint256Slot {\n uint256 value;\n }\n\n struct Int256Slot {\n int256 value;\n }\n\n struct StringSlot {\n string value;\n }\n\n struct BytesSlot {\n bytes value;\n }\n\n /**\n * @dev Returns an `AddressSlot` with member `value` located at `slot`.\n */\n function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `BooleanSlot` with member `value` located at `slot`.\n */\n function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `Bytes32Slot` with member `value` located at `slot`.\n */\n function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `Uint256Slot` with member `value` located at `slot`.\n */\n function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `Int256Slot` with member `value` located at `slot`.\n */\n function getInt256Slot(bytes32 slot) internal pure returns (Int256Slot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `StringSlot` with member `value` located at `slot`.\n */\n function getStringSlot(bytes32 slot) internal pure returns (StringSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns an `StringSlot` representation of the string storage pointer `store`.\n */\n function getStringSlot(string storage store) internal pure returns (StringSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := store.slot\n }\n }\n\n /**\n * @dev Returns a `BytesSlot` with member `value` located at `slot`.\n */\n function getBytesSlot(bytes32 slot) internal pure returns (BytesSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns an `BytesSlot` representation of the bytes storage pointer `store`.\n */\n function getBytesSlot(bytes storage store) internal pure returns (BytesSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := store.slot\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/Strings.sol)\n\npragma solidity ^0.8.24;\n\nimport {Math} from \"./math/Math.sol\";\nimport {SafeCast} from \"./math/SafeCast.sol\";\nimport {SignedMath} from \"./math/SignedMath.sol\";\nimport {Bytes} from \"./Bytes.sol\";\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n using SafeCast for *;\n\n bytes16 private constant HEX_DIGITS = \"0123456789abcdef\";\n uint8 private constant ADDRESS_LENGTH = 20;\n uint256 private constant SPECIAL_CHARS_LOOKUP =\n (1 << 0x08) | // backspace\n (1 << 0x09) | // tab\n (1 << 0x0a) | // newline\n (1 << 0x0c) | // form feed\n (1 << 0x0d) | // carriage return\n (1 << 0x22) | // double quote\n (1 << 0x5c); // backslash\n\n /**\n * @dev The `value` string doesn't fit in the specified `length`.\n */\n error StringsInsufficientHexLength(uint256 value, uint256 length);\n\n /**\n * @dev The string being parsed contains characters that are not in scope of the given base.\n */\n error StringsInvalidChar();\n\n /**\n * @dev The string being parsed is not a properly formatted address.\n */\n error StringsInvalidAddressFormat();\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n unchecked {\n uint256 length = Math.log10(value) + 1;\n string memory buffer = new string(length);\n uint256 ptr;\n assembly (\"memory-safe\") {\n ptr := add(add(buffer, 0x20), length)\n }\n while (true) {\n ptr--;\n assembly (\"memory-safe\") {\n mstore8(ptr, byte(mod(value, 10), HEX_DIGITS))\n }\n value /= 10;\n if (value == 0) break;\n }\n return buffer;\n }\n }\n\n /**\n * @dev Converts a `int256` to its ASCII `string` decimal representation.\n */\n function toStringSigned(int256 value) internal pure returns (string memory) {\n return string.concat(value < 0 ? \"-\" : \"\", toString(SignedMath.abs(value)));\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n unchecked {\n return toHexString(value, Math.log256(value) + 1);\n }\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n uint256 localValue = value;\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = HEX_DIGITS[localValue & 0xf];\n localValue >>= 4;\n }\n if (localValue != 0) {\n revert StringsInsufficientHexLength(value, length);\n }\n return string(buffer);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal\n * representation.\n */\n function toHexString(address addr) internal pure returns (string memory) {\n return toHexString(uint256(uint160(addr)), ADDRESS_LENGTH);\n }\n\n /**\n * @dev Converts an `address` with fixed length of 20 bytes to its checksummed ASCII `string` hexadecimal\n * representation, according to EIP-55.\n */\n function toChecksumHexString(address addr) internal pure returns (string memory) {\n bytes memory buffer = bytes(toHexString(addr));\n\n // hash the hex part of buffer (skip length + 2 bytes, length 40)\n uint256 hashValue;\n assembly (\"memory-safe\") {\n hashValue := shr(96, keccak256(add(buffer, 0x22), 40))\n }\n\n for (uint256 i = 41; i > 1; --i) {\n // possible values for buffer[i] are 48 (0) to 57 (9) and 97 (a) to 102 (f)\n if (hashValue & 0xf > 7 && uint8(buffer[i]) > 96) {\n // case shift by xoring with 0x20\n buffer[i] ^= 0x20;\n }\n hashValue >>= 4;\n }\n return string(buffer);\n }\n\n /**\n * @dev Converts a `bytes` buffer to its ASCII `string` hexadecimal representation.\n */\n function toHexString(bytes memory input) internal pure returns (string memory) {\n unchecked {\n bytes memory buffer = new bytes(2 * input.length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 0; i < input.length; ++i) {\n uint8 v = uint8(input[i]);\n buffer[2 * i + 2] = HEX_DIGITS[v >> 4];\n buffer[2 * i + 3] = HEX_DIGITS[v & 0xf];\n }\n return string(buffer);\n }\n }\n\n /**\n * @dev Returns true if the two strings are equal.\n */\n function equal(string memory a, string memory b) internal pure returns (bool) {\n return Bytes.equal(bytes(a), bytes(b));\n }\n\n /**\n * @dev Parse a decimal string and returns the value as a `uint256`.\n *\n * Requirements:\n * - The string must be formatted as `[0-9]*`\n * - The result must fit into an `uint256` type\n */\n function parseUint(string memory input) internal pure returns (uint256) {\n return parseUint(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseUint-string} that parses a substring of `input` located between position `begin` (included) and\n * `end` (excluded).\n *\n * Requirements:\n * - The substring must be formatted as `[0-9]*`\n * - The result must fit into an `uint256` type\n */\n function parseUint(string memory input, uint256 begin, uint256 end) internal pure returns (uint256) {\n (bool success, uint256 value) = tryParseUint(input, begin, end);\n if (!success) revert StringsInvalidChar();\n return value;\n }\n\n /**\n * @dev Variant of {parseUint-string} that returns false if the parsing fails because of an invalid character.\n *\n * NOTE: This function will revert if the result does not fit in a `uint256`.\n */\n function tryParseUint(string memory input) internal pure returns (bool success, uint256 value) {\n return _tryParseUintUncheckedBounds(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseUint-string-uint256-uint256} that returns false if the parsing fails because of an invalid\n * character.\n *\n * NOTE: This function will revert if the result does not fit in a `uint256`.\n */\n function tryParseUint(\n string memory input,\n uint256 begin,\n uint256 end\n ) internal pure returns (bool success, uint256 value) {\n if (end > bytes(input).length || begin > end) return (false, 0);\n return _tryParseUintUncheckedBounds(input, begin, end);\n }\n\n /**\n * @dev Implementation of {tryParseUint-string-uint256-uint256} that does not check bounds. Caller should make sure that\n * `begin <= end <= input.length`. Other inputs would result in undefined behavior.\n */\n function _tryParseUintUncheckedBounds(\n string memory input,\n uint256 begin,\n uint256 end\n ) private pure returns (bool success, uint256 value) {\n bytes memory buffer = bytes(input);\n\n uint256 result = 0;\n for (uint256 i = begin; i < end; ++i) {\n uint8 chr = _tryParseChr(bytes1(_unsafeReadBytesOffset(buffer, i)));\n if (chr > 9) return (false, 0);\n result *= 10;\n result += chr;\n }\n return (true, result);\n }\n\n /**\n * @dev Parse a decimal string and returns the value as a `int256`.\n *\n * Requirements:\n * - The string must be formatted as `[-+]?[0-9]*`\n * - The result must fit in an `int256` type.\n */\n function parseInt(string memory input) internal pure returns (int256) {\n return parseInt(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseInt-string} that parses a substring of `input` located between position `begin` (included) and\n * `end` (excluded).\n *\n * Requirements:\n * - The substring must be formatted as `[-+]?[0-9]*`\n * - The result must fit in an `int256` type.\n */\n function parseInt(string memory input, uint256 begin, uint256 end) internal pure returns (int256) {\n (bool success, int256 value) = tryParseInt(input, begin, end);\n if (!success) revert StringsInvalidChar();\n return value;\n }\n\n /**\n * @dev Variant of {parseInt-string} that returns false if the parsing fails because of an invalid character or if\n * the result does not fit in a `int256`.\n *\n * NOTE: This function will revert if the absolute value of the result does not fit in a `uint256`.\n */\n function tryParseInt(string memory input) internal pure returns (bool success, int256 value) {\n return _tryParseIntUncheckedBounds(input, 0, bytes(input).length);\n }\n\n uint256 private constant ABS_MIN_INT256 = 2 ** 255;\n\n /**\n * @dev Variant of {parseInt-string-uint256-uint256} that returns false if the parsing fails because of an invalid\n * character or if the result does not fit in a `int256`.\n *\n * NOTE: This function will revert if the absolute value of the result does not fit in a `uint256`.\n */\n function tryParseInt(\n string memory input,\n uint256 begin,\n uint256 end\n ) internal pure returns (bool success, int256 value) {\n if (end > bytes(input).length || begin > end) return (false, 0);\n return _tryParseIntUncheckedBounds(input, begin, end);\n }\n\n /**\n * @dev Implementation of {tryParseInt-string-uint256-uint256} that does not check bounds. Caller should make sure that\n * `begin <= end <= input.length`. Other inputs would result in undefined behavior.\n */\n function _tryParseIntUncheckedBounds(\n string memory input,\n uint256 begin,\n uint256 end\n ) private pure returns (bool success, int256 value) {\n bytes memory buffer = bytes(input);\n\n // Check presence of a negative sign.\n bytes1 sign = begin == end ? bytes1(0) : bytes1(_unsafeReadBytesOffset(buffer, begin)); // don't do out-of-bound (possibly unsafe) read if sub-string is empty\n bool positiveSign = sign == bytes1(\"+\");\n bool negativeSign = sign == bytes1(\"-\");\n uint256 offset = (positiveSign || negativeSign).toUint();\n\n (bool absSuccess, uint256 absValue) = tryParseUint(input, begin + offset, end);\n\n if (absSuccess && absValue < ABS_MIN_INT256) {\n return (true, negativeSign ? -int256(absValue) : int256(absValue));\n } else if (absSuccess && negativeSign && absValue == ABS_MIN_INT256) {\n return (true, type(int256).min);\n } else return (false, 0);\n }\n\n /**\n * @dev Parse a hexadecimal string (with or without \"0x\" prefix), and returns the value as a `uint256`.\n *\n * Requirements:\n * - The string must be formatted as `(0x)?[0-9a-fA-F]*`\n * - The result must fit in an `uint256` type.\n */\n function parseHexUint(string memory input) internal pure returns (uint256) {\n return parseHexUint(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseHexUint-string} that parses a substring of `input` located between position `begin` (included) and\n * `end` (excluded).\n *\n * Requirements:\n * - The substring must be formatted as `(0x)?[0-9a-fA-F]*`\n * - The result must fit in an `uint256` type.\n */\n function parseHexUint(string memory input, uint256 begin, uint256 end) internal pure returns (uint256) {\n (bool success, uint256 value) = tryParseHexUint(input, begin, end);\n if (!success) revert StringsInvalidChar();\n return value;\n }\n\n /**\n * @dev Variant of {parseHexUint-string} that returns false if the parsing fails because of an invalid character.\n *\n * NOTE: This function will revert if the result does not fit in a `uint256`.\n */\n function tryParseHexUint(string memory input) internal pure returns (bool success, uint256 value) {\n return _tryParseHexUintUncheckedBounds(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseHexUint-string-uint256-uint256} that returns false if the parsing fails because of an\n * invalid character.\n *\n * NOTE: This function will revert if the result does not fit in a `uint256`.\n */\n function tryParseHexUint(\n string memory input,\n uint256 begin,\n uint256 end\n ) internal pure returns (bool success, uint256 value) {\n if (end > bytes(input).length || begin > end) return (false, 0);\n return _tryParseHexUintUncheckedBounds(input, begin, end);\n }\n\n /**\n * @dev Implementation of {tryParseHexUint-string-uint256-uint256} that does not check bounds. Caller should make sure that\n * `begin <= end <= input.length`. Other inputs would result in undefined behavior.\n */\n function _tryParseHexUintUncheckedBounds(\n string memory input,\n uint256 begin,\n uint256 end\n ) private pure returns (bool success, uint256 value) {\n bytes memory buffer = bytes(input);\n\n // skip 0x prefix if present\n bool hasPrefix = (end > begin + 1) && bytes2(_unsafeReadBytesOffset(buffer, begin)) == bytes2(\"0x\"); // don't do out-of-bound (possibly unsafe) read if sub-string is empty\n uint256 offset = hasPrefix.toUint() * 2;\n\n uint256 result = 0;\n for (uint256 i = begin + offset; i < end; ++i) {\n uint8 chr = _tryParseChr(bytes1(_unsafeReadBytesOffset(buffer, i)));\n if (chr > 15) return (false, 0);\n result *= 16;\n unchecked {\n // Multiplying by 16 is equivalent to a shift of 4 bits (with additional overflow check).\n // This guarantees that adding a value < 16 will not cause an overflow, hence the unchecked.\n result += chr;\n }\n }\n return (true, result);\n }\n\n /**\n * @dev Parse a hexadecimal string (with or without \"0x\" prefix), and returns the value as an `address`.\n *\n * Requirements:\n * - The string must be formatted as `(0x)?[0-9a-fA-F]{40}`\n */\n function parseAddress(string memory input) internal pure returns (address) {\n return parseAddress(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseAddress-string} that parses a substring of `input` located between position `begin` (included) and\n * `end` (excluded).\n *\n * Requirements:\n * - The substring must be formatted as `(0x)?[0-9a-fA-F]{40}`\n */\n function parseAddress(string memory input, uint256 begin, uint256 end) internal pure returns (address) {\n (bool success, address value) = tryParseAddress(input, begin, end);\n if (!success) revert StringsInvalidAddressFormat();\n return value;\n }\n\n /**\n * @dev Variant of {parseAddress-string} that returns false if the parsing fails because the input is not a properly\n * formatted address. See {parseAddress-string} requirements.\n */\n function tryParseAddress(string memory input) internal pure returns (bool success, address value) {\n return tryParseAddress(input, 0, bytes(input).length);\n }\n\n /**\n * @dev Variant of {parseAddress-string-uint256-uint256} that returns false if the parsing fails because input is not a properly\n * formatted address. See {parseAddress-string-uint256-uint256} requirements.\n */\n function tryParseAddress(\n string memory input,\n uint256 begin,\n uint256 end\n ) internal pure returns (bool success, address value) {\n if (end > bytes(input).length || begin > end) return (false, address(0));\n\n bool hasPrefix = (end > begin + 1) && bytes2(_unsafeReadBytesOffset(bytes(input), begin)) == bytes2(\"0x\"); // don't do out-of-bound (possibly unsafe) read if sub-string is empty\n uint256 expectedLength = 40 + hasPrefix.toUint() * 2;\n\n // check that input is the correct length\n if (end - begin == expectedLength) {\n // length guarantees that this does not overflow, and value is at most type(uint160).max\n (bool s, uint256 v) = _tryParseHexUintUncheckedBounds(input, begin, end);\n return (s, address(uint160(v)));\n } else {\n return (false, address(0));\n }\n }\n\n function _tryParseChr(bytes1 chr) private pure returns (uint8) {\n uint8 value = uint8(chr);\n\n // Try to parse `chr`:\n // - Case 1: [0-9]\n // - Case 2: [a-f]\n // - Case 3: [A-F]\n // - otherwise not supported\n unchecked {\n if (value > 47 && value < 58) value -= 48;\n else if (value > 96 && value < 103) value -= 87;\n else if (value > 64 && value < 71) value -= 55;\n else return type(uint8).max;\n }\n\n return value;\n }\n\n /**\n * @dev Escape special characters in JSON strings. This can be useful to prevent JSON injection in NFT metadata.\n *\n * WARNING: This function should only be used in double quoted JSON strings. Single quotes are not escaped.\n *\n * NOTE: This function escapes all unicode characters, and not just the ones in ranges defined in section 2.5 of\n * RFC-4627 (U+0000 to U+001F, U+0022 and U+005C). ECMAScript's `JSON.parse` does recover escaped unicode\n * characters that are not in this range, but other tooling may provide different results.\n */\n function escapeJSON(string memory input) internal pure returns (string memory) {\n bytes memory buffer = bytes(input);\n bytes memory output = new bytes(2 * buffer.length); // worst case scenario\n uint256 outputLength = 0;\n\n for (uint256 i = 0; i < buffer.length; ++i) {\n bytes1 char = bytes1(_unsafeReadBytesOffset(buffer, i));\n if (((SPECIAL_CHARS_LOOKUP & (1 << uint8(char))) != 0)) {\n output[outputLength++] = \"\\\\\";\n if (char == 0x08) output[outputLength++] = \"b\";\n else if (char == 0x09) output[outputLength++] = \"t\";\n else if (char == 0x0a) output[outputLength++] = \"n\";\n else if (char == 0x0c) output[outputLength++] = \"f\";\n else if (char == 0x0d) output[outputLength++] = \"r\";\n else if (char == 0x5c) output[outputLength++] = \"\\\\\";\n else if (char == 0x22) {\n // solhint-disable-next-line quotes\n output[outputLength++] = '\"';\n }\n } else {\n output[outputLength++] = char;\n }\n }\n // write the actual length and deallocate unused memory\n assembly (\"memory-safe\") {\n mstore(output, outputLength)\n mstore(0x40, add(output, shl(5, shr(5, add(outputLength, 63)))))\n }\n\n return string(output);\n }\n\n /**\n * @dev Reads a bytes32 from a bytes array without bounds checking.\n *\n * NOTE: making this function internal would mean it could be used with memory unsafe offset, and marking the\n * assembly block as such would prevent some optimizations.\n */\n function _unsafeReadBytesOffset(bytes memory buffer, uint256 offset) private pure returns (bytes32 value) {\n // This is not memory safe in the general case, but all calls to this private function are within bounds.\n assembly (\"memory-safe\") {\n value := mload(add(add(buffer, 0x20), offset))\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/cryptography/ECDSA.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n *\n * These functions can be used to verify that a message was signed by the holder\n * of the private keys of a given address.\n */\nlibrary ECDSA {\n enum RecoverError {\n NoError,\n InvalidSignature,\n InvalidSignatureLength,\n InvalidSignatureS\n }\n\n /**\n * @dev The signature derives the `address(0)`.\n */\n error ECDSAInvalidSignature();\n\n /**\n * @dev The signature has an invalid length.\n */\n error ECDSAInvalidSignatureLength(uint256 length);\n\n /**\n * @dev The signature has an S value that is in the upper half order.\n */\n error ECDSAInvalidSignatureS(bytes32 s);\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with `signature` or an error. This will not\n * return address(0) without also returning an error description. Errors are documented using an enum (error type)\n * and a bytes32 providing additional information about the error.\n *\n * If no error is returned, then the address can be used for verification purposes.\n *\n * The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * NOTE: This function only supports 65-byte signatures. ERC-2098 short signatures are rejected. This restriction\n * is DEPRECATED and will be removed in v6.0. Developers SHOULD NOT use signatures as unique identifiers; use hash\n * invalidation or nonces for replay protection.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n *\n * Documentation for signature generation:\n *\n * - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n * - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]\n */\n function tryRecover(\n bytes32 hash,\n bytes memory signature\n ) internal pure returns (address recovered, RecoverError err, bytes32 errArg) {\n if (signature.length == 65) {\n bytes32 r;\n bytes32 s;\n uint8 v;\n // ecrecover takes the signature parameters, and the only way to get them\n // currently is to use assembly.\n assembly (\"memory-safe\") {\n r := mload(add(signature, 0x20))\n s := mload(add(signature, 0x40))\n v := byte(0, mload(add(signature, 0x60)))\n }\n return tryRecover(hash, v, r, s);\n } else {\n return (address(0), RecoverError.InvalidSignatureLength, bytes32(signature.length));\n }\n }\n\n /**\n * @dev Variant of {tryRecover} that takes a signature in calldata\n */\n function tryRecoverCalldata(\n bytes32 hash,\n bytes calldata signature\n ) internal pure returns (address recovered, RecoverError err, bytes32 errArg) {\n if (signature.length == 65) {\n bytes32 r;\n bytes32 s;\n uint8 v;\n // ecrecover takes the signature parameters, calldata slices would work here, but are\n // significantly more expensive (length check) than using calldataload in assembly.\n assembly (\"memory-safe\") {\n r := calldataload(signature.offset)\n s := calldataload(add(signature.offset, 0x20))\n v := byte(0, calldataload(add(signature.offset, 0x40)))\n }\n return tryRecover(hash, v, r, s);\n } else {\n return (address(0), RecoverError.InvalidSignatureLength, bytes32(signature.length));\n }\n }\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with\n * `signature`. This address can then be used for verification purposes.\n *\n * The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * NOTE: This function only supports 65-byte signatures. ERC-2098 short signatures are rejected. This restriction\n * is DEPRECATED and will be removed in v6.0. Developers SHOULD NOT use signatures as unique identifiers; use hash\n * invalidation or nonces for replay protection.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it.\n */\n function recover(bytes32 hash, bytes memory signature) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(hash, signature);\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Variant of {recover} that takes a signature in calldata\n */\n function recoverCalldata(bytes32 hash, bytes calldata signature) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecoverCalldata(hash, signature);\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n *\n * See https://eips.ethereum.org/EIPS/eip-2098[ERC-2098 short signatures]\n */\n function tryRecover(\n bytes32 hash,\n bytes32 r,\n bytes32 vs\n ) internal pure returns (address recovered, RecoverError err, bytes32 errArg) {\n unchecked {\n bytes32 s = vs & bytes32(0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff);\n // We do not check for an overflow here since the shift operation results in 0 or 1.\n uint8 v = uint8((uint256(vs) >> 255) + 27);\n return tryRecover(hash, v, r, s);\n }\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately.\n */\n function recover(bytes32 hash, bytes32 r, bytes32 vs) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(hash, r, vs);\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function tryRecover(\n bytes32 hash,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) internal pure returns (address recovered, RecoverError err, bytes32 errArg) {\n // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature\n // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines\n // the valid range for s in (301): 0 < s < secp256k1n ÷ 2 + 1, and for v in (302): v ∈ {27, 28}. Most\n // signatures from current libraries generate a unique signature with an s-value in the lower half order.\n //\n // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value\n // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or\n // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept\n // these malleable signatures as well.\n if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) {\n return (address(0), RecoverError.InvalidSignatureS, s);\n }\n\n // If the signature is valid (and not malleable), return the signer address\n address signer = ecrecover(hash, v, r, s);\n if (signer == address(0)) {\n return (address(0), RecoverError.InvalidSignature, bytes32(0));\n }\n\n return (signer, RecoverError.NoError, bytes32(0));\n }\n\n /**\n * @dev Overload of {ECDSA-recover} that receives the `v`,\n * `r` and `s` signature fields separately.\n */\n function recover(bytes32 hash, uint8 v, bytes32 r, bytes32 s) internal pure returns (address) {\n (address recovered, RecoverError error, bytes32 errorArg) = tryRecover(hash, v, r, s);\n _throwError(error, errorArg);\n return recovered;\n }\n\n /**\n * @dev Parse a signature into its `v`, `r` and `s` components. Supports 65-byte and 64-byte (ERC-2098)\n * formats. Returns (0,0,0) for invalid signatures. Consider skipping {tryRecover} or {recover} if so.\n */\n function parse(bytes memory signature) internal pure returns (uint8 v, bytes32 r, bytes32 s) {\n assembly (\"memory-safe\") {\n // Check the signature length\n switch mload(signature)\n // - case 65: r,s,v signature (standard)\n case 65 {\n r := mload(add(signature, 0x20))\n s := mload(add(signature, 0x40))\n v := byte(0, mload(add(signature, 0x60)))\n }\n // - case 64: r,vs signature (cf https://eips.ethereum.org/EIPS/eip-2098)\n case 64 {\n let vs := mload(add(signature, 0x40))\n r := mload(add(signature, 0x20))\n s := and(vs, shr(1, not(0)))\n v := add(shr(255, vs), 27)\n }\n default {\n r := 0\n s := 0\n v := 0\n }\n }\n }\n\n /**\n * @dev Variant of {parse} that takes a signature in calldata\n */\n function parseCalldata(bytes calldata signature) internal pure returns (uint8 v, bytes32 r, bytes32 s) {\n assembly (\"memory-safe\") {\n // Check the signature length\n switch signature.length\n // - case 65: r,s,v signature (standard)\n case 65 {\n r := calldataload(signature.offset)\n s := calldataload(add(signature.offset, 0x20))\n v := byte(0, calldataload(add(signature.offset, 0x40)))\n }\n // - case 64: r,vs signature (cf https://eips.ethereum.org/EIPS/eip-2098)\n case 64 {\n let vs := calldataload(add(signature.offset, 0x20))\n r := calldataload(signature.offset)\n s := and(vs, shr(1, not(0)))\n v := add(shr(255, vs), 27)\n }\n default {\n r := 0\n s := 0\n v := 0\n }\n }\n }\n\n /**\n * @dev Optionally reverts with the corresponding custom error according to the `error` argument provided.\n */\n function _throwError(RecoverError error, bytes32 errorArg) private pure {\n if (error == RecoverError.NoError) {\n return; // no error: do nothing\n } else if (error == RecoverError.InvalidSignature) {\n revert ECDSAInvalidSignature();\n } else if (error == RecoverError.InvalidSignatureLength) {\n revert ECDSAInvalidSignatureLength(uint256(errorArg));\n } else if (error == RecoverError.InvalidSignatureS) {\n revert ECDSAInvalidSignatureS(errorArg);\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/cryptography/EIP712.sol)\n\npragma solidity ^0.8.24;\n\nimport {MessageHashUtils} from \"./MessageHashUtils.sol\";\nimport {ShortStrings, ShortString} from \"../ShortStrings.sol\";\nimport {IERC5267} from \"../../interfaces/IERC5267.sol\";\n\n/**\n * @dev https://eips.ethereum.org/EIPS/eip-712[EIP-712] is a standard for hashing and signing of typed structured data.\n *\n * The encoding scheme specified in the EIP requires a domain separator and a hash of the typed structured data, whose\n * encoding is very generic and therefore its implementation in Solidity is not feasible, thus this contract\n * does not implement the encoding itself. Protocols need to implement the type-specific encoding they need in order to\n * produce the hash of their typed data using a combination of `abi.encode` and `keccak256`.\n *\n * This contract implements the EIP-712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding\n * scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA\n * ({_hashTypedDataV4}).\n *\n * The implementation of the domain separator was designed to be as efficient as possible while still properly updating\n * the chain id to protect against replay attacks on an eventual fork of the chain.\n *\n * NOTE: This contract implements the version of the encoding known as \"v4\", as implemented by the JSON RPC method\n * https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask].\n *\n * NOTE: In the upgradeable version of this contract, the cached values will correspond to the address, and the domain\n * separator of the implementation contract. This will cause the {_domainSeparatorV4} function to always rebuild the\n * separator from the immutable values, which is cheaper than accessing a cached version in cold storage.\n *\n * @custom:oz-upgrades-unsafe-allow state-variable-immutable\n */\nabstract contract EIP712 is IERC5267 {\n using ShortStrings for *;\n\n bytes32 private constant TYPE_HASH =\n keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\");\n\n // Cache the domain separator as an immutable value, but also store the chain id that it corresponds to, in order to\n // invalidate the cached domain separator if the chain id changes.\n bytes32 private immutable _cachedDomainSeparator;\n uint256 private immutable _cachedChainId;\n address private immutable _cachedThis;\n\n bytes32 private immutable _hashedName;\n bytes32 private immutable _hashedVersion;\n\n ShortString private immutable _name;\n ShortString private immutable _version;\n // slither-disable-next-line constable-states\n string private _nameFallback;\n // slither-disable-next-line constable-states\n string private _versionFallback;\n\n /**\n * @dev Initializes the domain separator and parameter caches.\n *\n * The meaning of `name` and `version` is specified in\n * https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator[EIP-712]:\n *\n * - `name`: the user readable name of the signing domain, i.e. the name of the DApp or the protocol.\n * - `version`: the current major version of the signing domain.\n *\n * NOTE: These parameters cannot be changed except through a xref:learn::upgrading-smart-contracts.adoc[smart\n * contract upgrade].\n */\n constructor(string memory name, string memory version) {\n _name = name.toShortStringWithFallback(_nameFallback);\n _version = version.toShortStringWithFallback(_versionFallback);\n _hashedName = keccak256(bytes(name));\n _hashedVersion = keccak256(bytes(version));\n\n _cachedChainId = block.chainid;\n _cachedDomainSeparator = _buildDomainSeparator();\n _cachedThis = address(this);\n }\n\n /**\n * @dev Returns the domain separator for the current chain.\n */\n function _domainSeparatorV4() internal view returns (bytes32) {\n if (address(this) == _cachedThis && block.chainid == _cachedChainId) {\n return _cachedDomainSeparator;\n } else {\n return _buildDomainSeparator();\n }\n }\n\n function _buildDomainSeparator() private view returns (bytes32) {\n return keccak256(abi.encode(TYPE_HASH, _hashedName, _hashedVersion, block.chainid, address(this)));\n }\n\n /**\n * @dev Given an already https://eips.ethereum.org/EIPS/eip-712#definition-of-hashstruct[hashed struct], this\n * function returns the hash of the fully encoded EIP712 message for this domain.\n *\n * This hash can be used together with {ECDSA-recover} to obtain the signer of a message. For example:\n *\n * ```solidity\n * bytes32 digest = _hashTypedDataV4(keccak256(abi.encode(\n * keccak256(\"Mail(address to,string contents)\"),\n * mailTo,\n * keccak256(bytes(mailContents))\n * )));\n * address signer = ECDSA.recover(digest, signature);\n * ```\n */\n function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) {\n return MessageHashUtils.toTypedDataHash(_domainSeparatorV4(), structHash);\n }\n\n /// @inheritdoc IERC5267\n function eip712Domain()\n public\n view\n virtual\n returns (\n bytes1 fields,\n string memory name,\n string memory version,\n uint256 chainId,\n address verifyingContract,\n bytes32 salt,\n uint256[] memory extensions\n )\n {\n return (\n hex\"0f\", // 01111\n _EIP712Name(),\n _EIP712Version(),\n block.chainid,\n address(this),\n bytes32(0),\n new uint256[](0)\n );\n }\n\n /**\n * @dev The name parameter for the EIP712 domain.\n *\n * NOTE: By default this function reads _name which is an immutable value.\n * It only reads from storage if necessary (in case the value is too large to fit in a ShortString).\n */\n // solhint-disable-next-line func-name-mixedcase\n function _EIP712Name() internal view returns (string memory) {\n return _name.toStringWithFallback(_nameFallback);\n }\n\n /**\n * @dev The version parameter for the EIP712 domain.\n *\n * NOTE: By default this function reads _version which is an immutable value.\n * It only reads from storage if necessary (in case the value is too large to fit in a ShortString).\n */\n // solhint-disable-next-line func-name-mixedcase\n function _EIP712Version() internal view returns (string memory) {\n return _version.toStringWithFallback(_versionFallback);\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (utils/cryptography/MessageHashUtils.sol)\n\npragma solidity ^0.8.24;\n\nimport {Strings} from \"../Strings.sol\";\n\n/**\n * @dev Signature message hash utilities for producing digests to be consumed by {ECDSA} recovery or signing.\n *\n * The library provides methods for generating a hash of a message that conforms to the\n * https://eips.ethereum.org/EIPS/eip-191[ERC-191] and https://eips.ethereum.org/EIPS/eip-712[EIP 712]\n * specifications.\n */\nlibrary MessageHashUtils {\n /**\n * @dev Returns the keccak256 digest of an ERC-191 signed data with version\n * `0x45` (`personal_sign` messages).\n *\n * The digest is calculated by prefixing a bytes32 `messageHash` with\n * `\"\\x19Ethereum Signed Message:\\n32\"` and hashing the result. It corresponds with the\n * hash signed when using the https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sign[`eth_sign`] JSON-RPC method.\n *\n * NOTE: The `messageHash` parameter is intended to be the result of hashing a raw message with\n * keccak256, although any bytes32 value can be safely used because the final digest will\n * be re-hashed.\n *\n * See {ECDSA-recover}.\n */\n function toEthSignedMessageHash(bytes32 messageHash) internal pure returns (bytes32 digest) {\n assembly (\"memory-safe\") {\n mstore(0x00, \"\\x19Ethereum Signed Message:\\n32\") // 32 is the bytes-length of messageHash\n mstore(0x1c, messageHash) // 0x1c (28) is the length of the prefix\n digest := keccak256(0x00, 0x3c) // 0x3c is the length of the prefix (0x1c) + messageHash (0x20)\n }\n }\n\n /**\n * @dev Returns the keccak256 digest of an ERC-191 signed data with version\n * `0x45` (`personal_sign` messages).\n *\n * The digest is calculated by prefixing an arbitrary `message` with\n * `\"\\x19Ethereum Signed Message:\\n\" + len(message)` and hashing the result. It corresponds with the\n * hash signed when using the https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sign[`eth_sign`] JSON-RPC method.\n *\n * See {ECDSA-recover}.\n */\n function toEthSignedMessageHash(bytes memory message) internal pure returns (bytes32) {\n return\n keccak256(bytes.concat(\"\\x19Ethereum Signed Message:\\n\", bytes(Strings.toString(message.length)), message));\n }\n\n /**\n * @dev Returns the keccak256 digest of an ERC-191 signed data with version\n * `0x00` (data with intended validator).\n *\n * The digest is calculated by prefixing an arbitrary `data` with `\"\\x19\\x00\"` and the intended\n * `validator` address. Then hashing the result.\n *\n * See {ECDSA-recover}.\n */\n function toDataWithIntendedValidatorHash(address validator, bytes memory data) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(hex\"19_00\", validator, data));\n }\n\n /**\n * @dev Variant of {toDataWithIntendedValidatorHash-address-bytes} optimized for cases where `data` is a bytes32.\n */\n function toDataWithIntendedValidatorHash(\n address validator,\n bytes32 messageHash\n ) internal pure returns (bytes32 digest) {\n assembly (\"memory-safe\") {\n mstore(0x00, hex\"19_00\")\n mstore(0x02, shl(96, validator))\n mstore(0x16, messageHash)\n digest := keccak256(0x00, 0x36)\n }\n }\n\n /**\n * @dev Returns the keccak256 digest of an EIP-712 typed data (ERC-191 version `0x01`).\n *\n * The digest is calculated from a `domainSeparator` and a `structHash`, by prefixing them with\n * `\\x19\\x01` and hashing the result. It corresponds to the hash signed by the\n * https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`] JSON-RPC method as part of EIP-712.\n *\n * See {ECDSA-recover}.\n */\n function toTypedDataHash(bytes32 domainSeparator, bytes32 structHash) internal pure returns (bytes32 digest) {\n assembly (\"memory-safe\") {\n let ptr := mload(0x40)\n mstore(ptr, hex\"19_01\")\n mstore(add(ptr, 0x02), domainSeparator)\n mstore(add(ptr, 0x22), structHash)\n digest := keccak256(ptr, 0x42)\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/introspection/IERC165.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev Interface of the ERC-165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[ERC].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (utils/math/Math.sol)\n\npragma solidity ^0.8.20;\n\nimport {Panic} from \"../Panic.sol\";\nimport {SafeCast} from \"./SafeCast.sol\";\n\n/**\n * @dev Standard math utilities missing in the Solidity language.\n */\nlibrary Math {\n enum Rounding {\n Floor, // Toward negative infinity\n Ceil, // Toward positive infinity\n Trunc, // Toward zero\n Expand // Away from zero\n }\n\n /**\n * @dev Return the 512-bit addition of two uint256.\n *\n * The result is stored in two 256 variables such that sum = high * 2²⁵⁶ + low.\n */\n function add512(uint256 a, uint256 b) internal pure returns (uint256 high, uint256 low) {\n assembly (\"memory-safe\") {\n low := add(a, b)\n high := lt(low, a)\n }\n }\n\n /**\n * @dev Return the 512-bit multiplication of two uint256.\n *\n * The result is stored in two 256 variables such that product = high * 2²⁵⁶ + low.\n */\n function mul512(uint256 a, uint256 b) internal pure returns (uint256 high, uint256 low) {\n // 512-bit multiply [high low] = x * y. Compute the product mod 2²⁵⁶ and mod 2²⁵⁶ - 1, then use\n // the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256\n // variables such that product = high * 2²⁵⁶ + low.\n assembly (\"memory-safe\") {\n let mm := mulmod(a, b, not(0))\n low := mul(a, b)\n high := sub(sub(mm, low), lt(mm, low))\n }\n }\n\n /**\n * @dev Returns the addition of two unsigned integers, with a success flag (no overflow).\n */\n function tryAdd(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n uint256 c = a + b;\n success = c >= a;\n result = c * SafeCast.toUint(success);\n }\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, with a success flag (no overflow).\n */\n function trySub(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n uint256 c = a - b;\n success = c <= a;\n result = c * SafeCast.toUint(success);\n }\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, with a success flag (no overflow).\n */\n function tryMul(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n uint256 c = a * b;\n assembly (\"memory-safe\") {\n // Only true when the multiplication doesn't overflow\n // (c / a == b) || (a == 0)\n success := or(eq(div(c, a), b), iszero(a))\n }\n // equivalent to: success ? c : 0\n result = c * SafeCast.toUint(success);\n }\n }\n\n /**\n * @dev Returns the division of two unsigned integers, with a success flag (no division by zero).\n */\n function tryDiv(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n success = b > 0;\n assembly (\"memory-safe\") {\n // The `DIV` opcode returns zero when the denominator is 0.\n result := div(a, b)\n }\n }\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers, with a success flag (no division by zero).\n */\n function tryMod(uint256 a, uint256 b) internal pure returns (bool success, uint256 result) {\n unchecked {\n success = b > 0;\n assembly (\"memory-safe\") {\n // The `MOD` opcode returns zero when the denominator is 0.\n result := mod(a, b)\n }\n }\n }\n\n /**\n * @dev Unsigned saturating addition, bounds to `2²⁵⁶ - 1` instead of overflowing.\n */\n function saturatingAdd(uint256 a, uint256 b) internal pure returns (uint256) {\n (bool success, uint256 result) = tryAdd(a, b);\n return ternary(success, result, type(uint256).max);\n }\n\n /**\n * @dev Unsigned saturating subtraction, bounds to zero instead of overflowing.\n */\n function saturatingSub(uint256 a, uint256 b) internal pure returns (uint256) {\n (, uint256 result) = trySub(a, b);\n return result;\n }\n\n /**\n * @dev Unsigned saturating multiplication, bounds to `2²⁵⁶ - 1` instead of overflowing.\n */\n function saturatingMul(uint256 a, uint256 b) internal pure returns (uint256) {\n (bool success, uint256 result) = tryMul(a, b);\n return ternary(success, result, type(uint256).max);\n }\n\n /**\n * @dev Branchless ternary evaluation for `condition ? a : b`. Gas costs are constant.\n *\n * IMPORTANT: This function may reduce bytecode size and consume less gas when used standalone.\n * However, the compiler may optimize Solidity ternary operations (i.e. `condition ? a : b`) to only compute\n * one branch when needed, making this function more expensive.\n */\n function ternary(bool condition, uint256 a, uint256 b) internal pure returns (uint256) {\n unchecked {\n // branchless ternary works because:\n // b ^ (a ^ b) == a\n // b ^ 0 == b\n return b ^ ((a ^ b) * SafeCast.toUint(condition));\n }\n }\n\n /**\n * @dev Returns the largest of two numbers.\n */\n function max(uint256 a, uint256 b) internal pure returns (uint256) {\n return ternary(a > b, a, b);\n }\n\n /**\n * @dev Returns the smallest of two numbers.\n */\n function min(uint256 a, uint256 b) internal pure returns (uint256) {\n return ternary(a < b, a, b);\n }\n\n /**\n * @dev Returns the average of two numbers. The result is rounded towards\n * zero.\n */\n function average(uint256 a, uint256 b) internal pure returns (uint256) {\n // (a + b) / 2 can overflow.\n return (a & b) + (a ^ b) / 2;\n }\n\n /**\n * @dev Returns the ceiling of the division of two numbers.\n *\n * This differs from standard division with `/` in that it rounds towards infinity instead\n * of rounding towards zero.\n */\n function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) {\n if (b == 0) {\n // Guarantee the same behavior as in a regular Solidity division.\n Panic.panic(Panic.DIVISION_BY_ZERO);\n }\n\n // The following calculation ensures accurate ceiling division without overflow.\n // Since a is non-zero, (a - 1) / b will not overflow.\n // The largest possible result occurs when (a - 1) / b is type(uint256).max,\n // but the largest value we can obtain is type(uint256).max - 1, which happens\n // when a = type(uint256).max and b = 1.\n unchecked {\n return SafeCast.toUint(a > 0) * ((a - 1) / b + 1);\n }\n }\n\n /**\n * @dev Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or\n * denominator == 0.\n *\n * Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv) with further edits by\n * Uniswap Labs also under MIT license.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) {\n unchecked {\n (uint256 high, uint256 low) = mul512(x, y);\n\n // Handle non-overflow cases, 256 by 256 division.\n if (high == 0) {\n // Solidity will revert if denominator == 0, unlike the div opcode on its own.\n // The surrounding unchecked block does not change this fact.\n // See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic.\n return low / denominator;\n }\n\n // Make sure the result is less than 2²⁵⁶. Also prevents denominator == 0.\n if (denominator <= high) {\n Panic.panic(ternary(denominator == 0, Panic.DIVISION_BY_ZERO, Panic.UNDER_OVERFLOW));\n }\n\n ///////////////////////////////////////////////\n // 512 by 256 division.\n ///////////////////////////////////////////////\n\n // Make division exact by subtracting the remainder from [high low].\n uint256 remainder;\n assembly (\"memory-safe\") {\n // Compute remainder using mulmod.\n remainder := mulmod(x, y, denominator)\n\n // Subtract 256 bit number from 512 bit number.\n high := sub(high, gt(remainder, low))\n low := sub(low, remainder)\n }\n\n // Factor powers of two out of denominator and compute largest power of two divisor of denominator.\n // Always >= 1. See https://cs.stackexchange.com/q/138556/92363.\n\n uint256 twos = denominator & (0 - denominator);\n assembly (\"memory-safe\") {\n // Divide denominator by twos.\n denominator := div(denominator, twos)\n\n // Divide [high low] by twos.\n low := div(low, twos)\n\n // Flip twos such that it is 2²⁵⁶ / twos. If twos is zero, then it becomes one.\n twos := add(div(sub(0, twos), twos), 1)\n }\n\n // Shift in bits from high into low.\n low |= high * twos;\n\n // Invert denominator mod 2²⁵⁶. Now that denominator is an odd number, it has an inverse modulo 2²⁵⁶ such\n // that denominator * inv ≡ 1 mod 2²⁵⁶. Compute the inverse by starting with a seed that is correct for\n // four bits. That is, denominator * inv ≡ 1 mod 2⁴.\n uint256 inverse = (3 * denominator) ^ 2;\n\n // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also\n // works in modular arithmetic, doubling the correct bits in each step.\n inverse *= 2 - denominator * inverse; // inverse mod 2⁸\n inverse *= 2 - denominator * inverse; // inverse mod 2¹⁶\n inverse *= 2 - denominator * inverse; // inverse mod 2³²\n inverse *= 2 - denominator * inverse; // inverse mod 2⁶⁴\n inverse *= 2 - denominator * inverse; // inverse mod 2¹²⁸\n inverse *= 2 - denominator * inverse; // inverse mod 2²⁵⁶\n\n // Because the division is now exact we can divide by multiplying with the modular inverse of denominator.\n // This will give us the correct result modulo 2²⁵⁶. Since the preconditions guarantee that the outcome is\n // less than 2²⁵⁶, this is the final result. We don't need to compute the high bits of the result and high\n // is no longer required.\n result = low * inverse;\n return result;\n }\n }\n\n /**\n * @dev Calculates x * y / denominator with full precision, following the selected rounding direction.\n */\n function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) {\n return mulDiv(x, y, denominator) + SafeCast.toUint(unsignedRoundsUp(rounding) && mulmod(x, y, denominator) > 0);\n }\n\n /**\n * @dev Calculates floor(x * y >> n) with full precision. Throws if result overflows a uint256.\n */\n function mulShr(uint256 x, uint256 y, uint8 n) internal pure returns (uint256 result) {\n unchecked {\n (uint256 high, uint256 low) = mul512(x, y);\n if (high >= 1 << n) {\n Panic.panic(Panic.UNDER_OVERFLOW);\n }\n return (high << (256 - n)) | (low >> n);\n }\n }\n\n /**\n * @dev Calculates x * y >> n with full precision, following the selected rounding direction.\n */\n function mulShr(uint256 x, uint256 y, uint8 n, Rounding rounding) internal pure returns (uint256) {\n return mulShr(x, y, n) + SafeCast.toUint(unsignedRoundsUp(rounding) && mulmod(x, y, 1 << n) > 0);\n }\n\n /**\n * @dev Calculate the modular multiplicative inverse of a number in Z/nZ.\n *\n * If n is a prime, then Z/nZ is a field. In that case all elements are inversible, except 0.\n * If n is not a prime, then Z/nZ is not a field, and some elements might not be inversible.\n *\n * If the input value is not inversible, 0 is returned.\n *\n * NOTE: If you know for sure that n is (big) a prime, it may be cheaper to use Fermat's little theorem and get the\n * inverse using `Math.modExp(a, n - 2, n)`. See {invModPrime}.\n */\n function invMod(uint256 a, uint256 n) internal pure returns (uint256) {\n unchecked {\n if (n == 0) return 0;\n\n // The inverse modulo is calculated using the Extended Euclidean Algorithm (iterative version)\n // Used to compute integers x and y such that: ax + ny = gcd(a, n).\n // When the gcd is 1, then the inverse of a modulo n exists and it's x.\n // ax + ny = 1\n // ax = 1 + (-y)n\n // ax ≡ 1 (mod n) # x is the inverse of a modulo n\n\n // If the remainder is 0 the gcd is n right away.\n uint256 remainder = a % n;\n uint256 gcd = n;\n\n // Therefore the initial coefficients are:\n // ax + ny = gcd(a, n) = n\n // 0a + 1n = n\n int256 x = 0;\n int256 y = 1;\n\n while (remainder != 0) {\n uint256 quotient = gcd / remainder;\n\n (gcd, remainder) = (\n // The old remainder is the next gcd to try.\n remainder,\n // Compute the next remainder.\n // Can't overflow given that (a % gcd) * (gcd // (a % gcd)) <= gcd\n // where gcd is at most n (capped to type(uint256).max)\n gcd - remainder * quotient\n );\n\n (x, y) = (\n // Increment the coefficient of a.\n y,\n // Decrement the coefficient of n.\n // Can overflow, but the result is casted to uint256 so that the\n // next value of y is \"wrapped around\" to a value between 0 and n - 1.\n x - y * int256(quotient)\n );\n }\n\n if (gcd != 1) return 0; // No inverse exists.\n return ternary(x < 0, n - uint256(-x), uint256(x)); // Wrap the result if it's negative.\n }\n }\n\n /**\n * @dev Variant of {invMod}. More efficient, but only works if `p` is known to be a prime greater than `2`.\n *\n * From https://en.wikipedia.org/wiki/Fermat%27s_little_theorem[Fermat's little theorem], we know that if p is\n * prime, then `a**(p-1) ≡ 1 mod p`. As a consequence, we have `a * a**(p-2) ≡ 1 mod p`, which means that\n * `a**(p-2)` is the modular multiplicative inverse of a in Fp.\n *\n * NOTE: this function does NOT check that `p` is a prime greater than `2`.\n */\n function invModPrime(uint256 a, uint256 p) internal view returns (uint256) {\n unchecked {\n return Math.modExp(a, p - 2, p);\n }\n }\n\n /**\n * @dev Returns the modular exponentiation of the specified base, exponent and modulus (b ** e % m)\n *\n * Requirements:\n * - modulus can't be zero\n * - underlying staticcall to precompile must succeed\n *\n * IMPORTANT: The result is only valid if the underlying call succeeds. When using this function, make\n * sure the chain you're using it on supports the precompiled contract for modular exponentiation\n * at address 0x05 as specified in https://eips.ethereum.org/EIPS/eip-198[EIP-198]. Otherwise,\n * the underlying function will succeed given the lack of a revert, but the result may be incorrectly\n * interpreted as 0.\n */\n function modExp(uint256 b, uint256 e, uint256 m) internal view returns (uint256) {\n (bool success, uint256 result) = tryModExp(b, e, m);\n if (!success) {\n Panic.panic(Panic.DIVISION_BY_ZERO);\n }\n return result;\n }\n\n /**\n * @dev Returns the modular exponentiation of the specified base, exponent and modulus (b ** e % m).\n * It includes a success flag indicating if the operation succeeded. Operation will be marked as failed if trying\n * to operate modulo 0 or if the underlying precompile reverted.\n *\n * IMPORTANT: The result is only valid if the success flag is true. When using this function, make sure the chain\n * you're using it on supports the precompiled contract for modular exponentiation at address 0x05 as specified in\n * https://eips.ethereum.org/EIPS/eip-198[EIP-198]. Otherwise, the underlying function will succeed given the lack\n * of a revert, but the result may be incorrectly interpreted as 0.\n */\n function tryModExp(uint256 b, uint256 e, uint256 m) internal view returns (bool success, uint256 result) {\n if (m == 0) return (false, 0);\n assembly (\"memory-safe\") {\n let ptr := mload(0x40)\n // | Offset | Content | Content (Hex) |\n // |-----------|------------|--------------------------------------------------------------------|\n // | 0x00:0x1f | size of b | 0x0000000000000000000000000000000000000000000000000000000000000020 |\n // | 0x20:0x3f | size of e | 0x0000000000000000000000000000000000000000000000000000000000000020 |\n // | 0x40:0x5f | size of m | 0x0000000000000000000000000000000000000000000000000000000000000020 |\n // | 0x60:0x7f | value of b | 0x<.............................................................b> |\n // | 0x80:0x9f | value of e | 0x<.............................................................e> |\n // | 0xa0:0xbf | value of m | 0x<.............................................................m> |\n mstore(ptr, 0x20)\n mstore(add(ptr, 0x20), 0x20)\n mstore(add(ptr, 0x40), 0x20)\n mstore(add(ptr, 0x60), b)\n mstore(add(ptr, 0x80), e)\n mstore(add(ptr, 0xa0), m)\n\n // Given the result < m, it's guaranteed to fit in 32 bytes,\n // so we can use the memory scratch space located at offset 0.\n success := staticcall(gas(), 0x05, ptr, 0xc0, 0x00, 0x20)\n result := mload(0x00)\n }\n }\n\n /**\n * @dev Variant of {modExp} that supports inputs of arbitrary length.\n */\n function modExp(bytes memory b, bytes memory e, bytes memory m) internal view returns (bytes memory) {\n (bool success, bytes memory result) = tryModExp(b, e, m);\n if (!success) {\n Panic.panic(Panic.DIVISION_BY_ZERO);\n }\n return result;\n }\n\n /**\n * @dev Variant of {tryModExp} that supports inputs of arbitrary length.\n */\n function tryModExp(\n bytes memory b,\n bytes memory e,\n bytes memory m\n ) internal view returns (bool success, bytes memory result) {\n if (_zeroBytes(m)) return (false, new bytes(0));\n\n uint256 mLen = m.length;\n\n // Encode call args in result and move the free memory pointer\n result = abi.encodePacked(b.length, e.length, mLen, b, e, m);\n\n assembly (\"memory-safe\") {\n let dataPtr := add(result, 0x20)\n // Write result on top of args to avoid allocating extra memory.\n success := staticcall(gas(), 0x05, dataPtr, mload(result), dataPtr, mLen)\n // Overwrite the length.\n // result.length > returndatasize() is guaranteed because returndatasize() == m.length\n mstore(result, mLen)\n // Set the memory pointer after the returned data.\n mstore(0x40, add(dataPtr, mLen))\n }\n }\n\n /**\n * @dev Returns whether the provided byte array is zero.\n */\n function _zeroBytes(bytes memory byteArray) private pure returns (bool) {\n for (uint256 i = 0; i < byteArray.length; ++i) {\n if (byteArray[i] != 0) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded\n * towards zero.\n *\n * This method is based on Newton's method for computing square roots; the algorithm is restricted to only\n * using integer operations.\n */\n function sqrt(uint256 a) internal pure returns (uint256) {\n unchecked {\n // Take care of easy edge cases when a == 0 or a == 1\n if (a <= 1) {\n return a;\n }\n\n // In this function, we use Newton's method to get a root of `f(x) := x² - a`. It involves building a\n // sequence x_n that converges toward sqrt(a). For each iteration x_n, we also define the error between\n // the current value as `ε_n = | x_n - sqrt(a) |`.\n //\n // For our first estimation, we consider `e` the smallest power of 2 which is bigger than the square root\n // of the target. (i.e. `2**(e-1) ≤ sqrt(a) < 2**e`). We know that `e ≤ 128` because `(2¹²⁸)² = 2²⁵⁶` is\n // bigger than any uint256.\n //\n // By noticing that\n // `2**(e-1) ≤ sqrt(a) < 2**e → (2**(e-1))² ≤ a < (2**e)² → 2**(2*e-2) ≤ a < 2**(2*e)`\n // we can deduce that `e - 1` is `log2(a) / 2`. We can thus compute `x_n = 2**(e-1)` using a method similar\n // to the msb function.\n uint256 aa = a;\n uint256 xn = 1;\n\n if (aa >= (1 << 128)) {\n aa >>= 128;\n xn <<= 64;\n }\n if (aa >= (1 << 64)) {\n aa >>= 64;\n xn <<= 32;\n }\n if (aa >= (1 << 32)) {\n aa >>= 32;\n xn <<= 16;\n }\n if (aa >= (1 << 16)) {\n aa >>= 16;\n xn <<= 8;\n }\n if (aa >= (1 << 8)) {\n aa >>= 8;\n xn <<= 4;\n }\n if (aa >= (1 << 4)) {\n aa >>= 4;\n xn <<= 2;\n }\n if (aa >= (1 << 2)) {\n xn <<= 1;\n }\n\n // We now have x_n such that `x_n = 2**(e-1) ≤ sqrt(a) < 2**e = 2 * x_n`. This implies ε_n ≤ 2**(e-1).\n //\n // We can refine our estimation by noticing that the middle of that interval minimizes the error.\n // If we move x_n to equal 2**(e-1) + 2**(e-2), then we reduce the error to ε_n ≤ 2**(e-2).\n // This is going to be our x_0 (and ε_0)\n xn = (3 * xn) >> 1; // ε_0 := | x_0 - sqrt(a) | ≤ 2**(e-2)\n\n // From here, Newton's method give us:\n // x_{n+1} = (x_n + a / x_n) / 2\n //\n // One should note that:\n // x_{n+1}² - a = ((x_n + a / x_n) / 2)² - a\n // = ((x_n² + a) / (2 * x_n))² - a\n // = (x_n⁴ + 2 * a * x_n² + a²) / (4 * x_n²) - a\n // = (x_n⁴ + 2 * a * x_n² + a² - 4 * a * x_n²) / (4 * x_n²)\n // = (x_n⁴ - 2 * a * x_n² + a²) / (4 * x_n²)\n // = (x_n² - a)² / (2 * x_n)²\n // = ((x_n² - a) / (2 * x_n))²\n // ≥ 0\n // Which proves that for all n ≥ 1, sqrt(a) ≤ x_n\n //\n // This gives us the proof of quadratic convergence of the sequence:\n // ε_{n+1} = | x_{n+1} - sqrt(a) |\n // = | (x_n + a / x_n) / 2 - sqrt(a) |\n // = | (x_n² + a - 2*x_n*sqrt(a)) / (2 * x_n) |\n // = | (x_n - sqrt(a))² / (2 * x_n) |\n // = | ε_n² / (2 * x_n) |\n // = ε_n² / | (2 * x_n) |\n //\n // For the first iteration, we have a special case where x_0 is known:\n // ε_1 = ε_0² / | (2 * x_0) |\n // ≤ (2**(e-2))² / (2 * (2**(e-1) + 2**(e-2)))\n // ≤ 2**(2*e-4) / (3 * 2**(e-1))\n // ≤ 2**(e-3) / 3\n // ≤ 2**(e-3-log2(3))\n // ≤ 2**(e-4.5)\n //\n // For the following iterations, we use the fact that, 2**(e-1) ≤ sqrt(a) ≤ x_n:\n // ε_{n+1} = ε_n² / | (2 * x_n) |\n // ≤ (2**(e-k))² / (2 * 2**(e-1))\n // ≤ 2**(2*e-2*k) / 2**e\n // ≤ 2**(e-2*k)\n xn = (xn + a / xn) >> 1; // ε_1 := | x_1 - sqrt(a) | ≤ 2**(e-4.5) -- special case, see above\n xn = (xn + a / xn) >> 1; // ε_2 := | x_2 - sqrt(a) | ≤ 2**(e-9) -- general case with k = 4.5\n xn = (xn + a / xn) >> 1; // ε_3 := | x_3 - sqrt(a) | ≤ 2**(e-18) -- general case with k = 9\n xn = (xn + a / xn) >> 1; // ε_4 := | x_4 - sqrt(a) | ≤ 2**(e-36) -- general case with k = 18\n xn = (xn + a / xn) >> 1; // ε_5 := | x_5 - sqrt(a) | ≤ 2**(e-72) -- general case with k = 36\n xn = (xn + a / xn) >> 1; // ε_6 := | x_6 - sqrt(a) | ≤ 2**(e-144) -- general case with k = 72\n\n // Because e ≤ 128 (as discussed during the first estimation phase), we know have reached a precision\n // ε_6 ≤ 2**(e-144) < 1. Given we're operating on integers, then we can ensure that xn is now either\n // sqrt(a) or sqrt(a) + 1.\n return xn - SafeCast.toUint(xn > a / xn);\n }\n }\n\n /**\n * @dev Calculates sqrt(a), following the selected rounding direction.\n */\n function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = sqrt(a);\n return result + SafeCast.toUint(unsignedRoundsUp(rounding) && result * result < a);\n }\n }\n\n /**\n * @dev Return the log in base 2 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n */\n function log2(uint256 x) internal pure returns (uint256 r) {\n // If value has upper 128 bits set, log2 result is at least 128\n r = SafeCast.toUint(x > 0xffffffffffffffffffffffffffffffff) << 7;\n // If upper 64 bits of 128-bit half set, add 64 to result\n r |= SafeCast.toUint((x >> r) > 0xffffffffffffffff) << 6;\n // If upper 32 bits of 64-bit half set, add 32 to result\n r |= SafeCast.toUint((x >> r) > 0xffffffff) << 5;\n // If upper 16 bits of 32-bit half set, add 16 to result\n r |= SafeCast.toUint((x >> r) > 0xffff) << 4;\n // If upper 8 bits of 16-bit half set, add 8 to result\n r |= SafeCast.toUint((x >> r) > 0xff) << 3;\n // If upper 4 bits of 8-bit half set, add 4 to result\n r |= SafeCast.toUint((x >> r) > 0xf) << 2;\n\n // Shifts value right by the current result and use it as an index into this lookup table:\n //\n // | x (4 bits) | index | table[index] = MSB position |\n // |------------|---------|-----------------------------|\n // | 0000 | 0 | table[0] = 0 |\n // | 0001 | 1 | table[1] = 0 |\n // | 0010 | 2 | table[2] = 1 |\n // | 0011 | 3 | table[3] = 1 |\n // | 0100 | 4 | table[4] = 2 |\n // | 0101 | 5 | table[5] = 2 |\n // | 0110 | 6 | table[6] = 2 |\n // | 0111 | 7 | table[7] = 2 |\n // | 1000 | 8 | table[8] = 3 |\n // | 1001 | 9 | table[9] = 3 |\n // | 1010 | 10 | table[10] = 3 |\n // | 1011 | 11 | table[11] = 3 |\n // | 1100 | 12 | table[12] = 3 |\n // | 1101 | 13 | table[13] = 3 |\n // | 1110 | 14 | table[14] = 3 |\n // | 1111 | 15 | table[15] = 3 |\n //\n // The lookup table is represented as a 32-byte value with the MSB positions for 0-15 in the last 16 bytes.\n assembly (\"memory-safe\") {\n r := or(r, byte(shr(r, x), 0x0000010102020202030303030303030300000000000000000000000000000000))\n }\n }\n\n /**\n * @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log2(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log2(value);\n return result + SafeCast.toUint(unsignedRoundsUp(rounding) && 1 << result < value);\n }\n }\n\n /**\n * @dev Return the log in base 10 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n */\n function log10(uint256 value) internal pure returns (uint256) {\n uint256 result = 0;\n unchecked {\n if (value >= 10 ** 64) {\n value /= 10 ** 64;\n result += 64;\n }\n if (value >= 10 ** 32) {\n value /= 10 ** 32;\n result += 32;\n }\n if (value >= 10 ** 16) {\n value /= 10 ** 16;\n result += 16;\n }\n if (value >= 10 ** 8) {\n value /= 10 ** 8;\n result += 8;\n }\n if (value >= 10 ** 4) {\n value /= 10 ** 4;\n result += 4;\n }\n if (value >= 10 ** 2) {\n value /= 10 ** 2;\n result += 2;\n }\n if (value >= 10 ** 1) {\n result += 1;\n }\n }\n return result;\n }\n\n /**\n * @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log10(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log10(value);\n return result + SafeCast.toUint(unsignedRoundsUp(rounding) && 10 ** result < value);\n }\n }\n\n /**\n * @dev Return the log in base 256 of a positive value rounded towards zero.\n * Returns 0 if given 0.\n *\n * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string.\n */\n function log256(uint256 x) internal pure returns (uint256 r) {\n // If value has upper 128 bits set, log2 result is at least 128\n r = SafeCast.toUint(x > 0xffffffffffffffffffffffffffffffff) << 7;\n // If upper 64 bits of 128-bit half set, add 64 to result\n r |= SafeCast.toUint((x >> r) > 0xffffffffffffffff) << 6;\n // If upper 32 bits of 64-bit half set, add 32 to result\n r |= SafeCast.toUint((x >> r) > 0xffffffff) << 5;\n // If upper 16 bits of 32-bit half set, add 16 to result\n r |= SafeCast.toUint((x >> r) > 0xffff) << 4;\n // Add 1 if upper 8 bits of 16-bit half set, and divide accumulated result by 8\n return (r >> 3) | SafeCast.toUint((x >> r) > 0xff);\n }\n\n /**\n * @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n * Returns 0 if given 0.\n */\n function log256(uint256 value, Rounding rounding) internal pure returns (uint256) {\n unchecked {\n uint256 result = log256(value);\n return result + SafeCast.toUint(unsignedRoundsUp(rounding) && 1 << (result << 3) < value);\n }\n }\n\n /**\n * @dev Returns whether a provided rounding mode is considered rounding up for unsigned integers.\n */\n function unsignedRoundsUp(Rounding rounding) internal pure returns (bool) {\n return uint8(rounding) % 2 == 1;\n }\n\n /**\n * @dev Counts the number of leading zero bits in a uint256.\n */\n function clz(uint256 x) internal pure returns (uint256) {\n return ternary(x == 0, 256, 255 - log2(x));\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/math/SafeCast.sol)\n// This file was procedurally generated from scripts/generate/templates/SafeCast.js.\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Wrappers over Solidity's uintXX/intXX/bool casting operators with added overflow\n * checks.\n *\n * Downcasting from uint256/int256 in Solidity does not revert on overflow. This can\n * easily result in undesired exploitation or bugs, since developers usually\n * assume that overflows raise errors. `SafeCast` restores this intuition by\n * reverting the transaction when such an operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */\nlibrary SafeCast {\n /**\n * @dev Value doesn't fit in an uint of `bits` size.\n */\n error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value);\n\n /**\n * @dev An int value doesn't fit in an uint of `bits` size.\n */\n error SafeCastOverflowedIntToUint(int256 value);\n\n /**\n * @dev Value doesn't fit in an int of `bits` size.\n */\n error SafeCastOverflowedIntDowncast(uint8 bits, int256 value);\n\n /**\n * @dev An uint value doesn't fit in an int of `bits` size.\n */\n error SafeCastOverflowedUintToInt(uint256 value);\n\n /**\n * @dev Returns the downcasted uint248 from uint256, reverting on\n * overflow (when the input is greater than largest uint248).\n *\n * Counterpart to Solidity's `uint248` operator.\n *\n * Requirements:\n *\n * - input must fit into 248 bits\n */\n function toUint248(uint256 value) internal pure returns (uint248) {\n if (value > type(uint248).max) {\n revert SafeCastOverflowedUintDowncast(248, value);\n }\n return uint248(value);\n }\n\n /**\n * @dev Returns the downcasted uint240 from uint256, reverting on\n * overflow (when the input is greater than largest uint240).\n *\n * Counterpart to Solidity's `uint240` operator.\n *\n * Requirements:\n *\n * - input must fit into 240 bits\n */\n function toUint240(uint256 value) internal pure returns (uint240) {\n if (value > type(uint240).max) {\n revert SafeCastOverflowedUintDowncast(240, value);\n }\n return uint240(value);\n }\n\n /**\n * @dev Returns the downcasted uint232 from uint256, reverting on\n * overflow (when the input is greater than largest uint232).\n *\n * Counterpart to Solidity's `uint232` operator.\n *\n * Requirements:\n *\n * - input must fit into 232 bits\n */\n function toUint232(uint256 value) internal pure returns (uint232) {\n if (value > type(uint232).max) {\n revert SafeCastOverflowedUintDowncast(232, value);\n }\n return uint232(value);\n }\n\n /**\n * @dev Returns the downcasted uint224 from uint256, reverting on\n * overflow (when the input is greater than largest uint224).\n *\n * Counterpart to Solidity's `uint224` operator.\n *\n * Requirements:\n *\n * - input must fit into 224 bits\n */\n function toUint224(uint256 value) internal pure returns (uint224) {\n if (value > type(uint224).max) {\n revert SafeCastOverflowedUintDowncast(224, value);\n }\n return uint224(value);\n }\n\n /**\n * @dev Returns the downcasted uint216 from uint256, reverting on\n * overflow (when the input is greater than largest uint216).\n *\n * Counterpart to Solidity's `uint216` operator.\n *\n * Requirements:\n *\n * - input must fit into 216 bits\n */\n function toUint216(uint256 value) internal pure returns (uint216) {\n if (value > type(uint216).max) {\n revert SafeCastOverflowedUintDowncast(216, value);\n }\n return uint216(value);\n }\n\n /**\n * @dev Returns the downcasted uint208 from uint256, reverting on\n * overflow (when the input is greater than largest uint208).\n *\n * Counterpart to Solidity's `uint208` operator.\n *\n * Requirements:\n *\n * - input must fit into 208 bits\n */\n function toUint208(uint256 value) internal pure returns (uint208) {\n if (value > type(uint208).max) {\n revert SafeCastOverflowedUintDowncast(208, value);\n }\n return uint208(value);\n }\n\n /**\n * @dev Returns the downcasted uint200 from uint256, reverting on\n * overflow (when the input is greater than largest uint200).\n *\n * Counterpart to Solidity's `uint200` operator.\n *\n * Requirements:\n *\n * - input must fit into 200 bits\n */\n function toUint200(uint256 value) internal pure returns (uint200) {\n if (value > type(uint200).max) {\n revert SafeCastOverflowedUintDowncast(200, value);\n }\n return uint200(value);\n }\n\n /**\n * @dev Returns the downcasted uint192 from uint256, reverting on\n * overflow (when the input is greater than largest uint192).\n *\n * Counterpart to Solidity's `uint192` operator.\n *\n * Requirements:\n *\n * - input must fit into 192 bits\n */\n function toUint192(uint256 value) internal pure returns (uint192) {\n if (value > type(uint192).max) {\n revert SafeCastOverflowedUintDowncast(192, value);\n }\n return uint192(value);\n }\n\n /**\n * @dev Returns the downcasted uint184 from uint256, reverting on\n * overflow (when the input is greater than largest uint184).\n *\n * Counterpart to Solidity's `uint184` operator.\n *\n * Requirements:\n *\n * - input must fit into 184 bits\n */\n function toUint184(uint256 value) internal pure returns (uint184) {\n if (value > type(uint184).max) {\n revert SafeCastOverflowedUintDowncast(184, value);\n }\n return uint184(value);\n }\n\n /**\n * @dev Returns the downcasted uint176 from uint256, reverting on\n * overflow (when the input is greater than largest uint176).\n *\n * Counterpart to Solidity's `uint176` operator.\n *\n * Requirements:\n *\n * - input must fit into 176 bits\n */\n function toUint176(uint256 value) internal pure returns (uint176) {\n if (value > type(uint176).max) {\n revert SafeCastOverflowedUintDowncast(176, value);\n }\n return uint176(value);\n }\n\n /**\n * @dev Returns the downcasted uint168 from uint256, reverting on\n * overflow (when the input is greater than largest uint168).\n *\n * Counterpart to Solidity's `uint168` operator.\n *\n * Requirements:\n *\n * - input must fit into 168 bits\n */\n function toUint168(uint256 value) internal pure returns (uint168) {\n if (value > type(uint168).max) {\n revert SafeCastOverflowedUintDowncast(168, value);\n }\n return uint168(value);\n }\n\n /**\n * @dev Returns the downcasted uint160 from uint256, reverting on\n * overflow (when the input is greater than largest uint160).\n *\n * Counterpart to Solidity's `uint160` operator.\n *\n * Requirements:\n *\n * - input must fit into 160 bits\n */\n function toUint160(uint256 value) internal pure returns (uint160) {\n if (value > type(uint160).max) {\n revert SafeCastOverflowedUintDowncast(160, value);\n }\n return uint160(value);\n }\n\n /**\n * @dev Returns the downcasted uint152 from uint256, reverting on\n * overflow (when the input is greater than largest uint152).\n *\n * Counterpart to Solidity's `uint152` operator.\n *\n * Requirements:\n *\n * - input must fit into 152 bits\n */\n function toUint152(uint256 value) internal pure returns (uint152) {\n if (value > type(uint152).max) {\n revert SafeCastOverflowedUintDowncast(152, value);\n }\n return uint152(value);\n }\n\n /**\n * @dev Returns the downcasted uint144 from uint256, reverting on\n * overflow (when the input is greater than largest uint144).\n *\n * Counterpart to Solidity's `uint144` operator.\n *\n * Requirements:\n *\n * - input must fit into 144 bits\n */\n function toUint144(uint256 value) internal pure returns (uint144) {\n if (value > type(uint144).max) {\n revert SafeCastOverflowedUintDowncast(144, value);\n }\n return uint144(value);\n }\n\n /**\n * @dev Returns the downcasted uint136 from uint256, reverting on\n * overflow (when the input is greater than largest uint136).\n *\n * Counterpart to Solidity's `uint136` operator.\n *\n * Requirements:\n *\n * - input must fit into 136 bits\n */\n function toUint136(uint256 value) internal pure returns (uint136) {\n if (value > type(uint136).max) {\n revert SafeCastOverflowedUintDowncast(136, value);\n }\n return uint136(value);\n }\n\n /**\n * @dev Returns the downcasted uint128 from uint256, reverting on\n * overflow (when the input is greater than largest uint128).\n *\n * Counterpart to Solidity's `uint128` operator.\n *\n * Requirements:\n *\n * - input must fit into 128 bits\n */\n function toUint128(uint256 value) internal pure returns (uint128) {\n if (value > type(uint128).max) {\n revert SafeCastOverflowedUintDowncast(128, value);\n }\n return uint128(value);\n }\n\n /**\n * @dev Returns the downcasted uint120 from uint256, reverting on\n * overflow (when the input is greater than largest uint120).\n *\n * Counterpart to Solidity's `uint120` operator.\n *\n * Requirements:\n *\n * - input must fit into 120 bits\n */\n function toUint120(uint256 value) internal pure returns (uint120) {\n if (value > type(uint120).max) {\n revert SafeCastOverflowedUintDowncast(120, value);\n }\n return uint120(value);\n }\n\n /**\n * @dev Returns the downcasted uint112 from uint256, reverting on\n * overflow (when the input is greater than largest uint112).\n *\n * Counterpart to Solidity's `uint112` operator.\n *\n * Requirements:\n *\n * - input must fit into 112 bits\n */\n function toUint112(uint256 value) internal pure returns (uint112) {\n if (value > type(uint112).max) {\n revert SafeCastOverflowedUintDowncast(112, value);\n }\n return uint112(value);\n }\n\n /**\n * @dev Returns the downcasted uint104 from uint256, reverting on\n * overflow (when the input is greater than largest uint104).\n *\n * Counterpart to Solidity's `uint104` operator.\n *\n * Requirements:\n *\n * - input must fit into 104 bits\n */\n function toUint104(uint256 value) internal pure returns (uint104) {\n if (value > type(uint104).max) {\n revert SafeCastOverflowedUintDowncast(104, value);\n }\n return uint104(value);\n }\n\n /**\n * @dev Returns the downcasted uint96 from uint256, reverting on\n * overflow (when the input is greater than largest uint96).\n *\n * Counterpart to Solidity's `uint96` operator.\n *\n * Requirements:\n *\n * - input must fit into 96 bits\n */\n function toUint96(uint256 value) internal pure returns (uint96) {\n if (value > type(uint96).max) {\n revert SafeCastOverflowedUintDowncast(96, value);\n }\n return uint96(value);\n }\n\n /**\n * @dev Returns the downcasted uint88 from uint256, reverting on\n * overflow (when the input is greater than largest uint88).\n *\n * Counterpart to Solidity's `uint88` operator.\n *\n * Requirements:\n *\n * - input must fit into 88 bits\n */\n function toUint88(uint256 value) internal pure returns (uint88) {\n if (value > type(uint88).max) {\n revert SafeCastOverflowedUintDowncast(88, value);\n }\n return uint88(value);\n }\n\n /**\n * @dev Returns the downcasted uint80 from uint256, reverting on\n * overflow (when the input is greater than largest uint80).\n *\n * Counterpart to Solidity's `uint80` operator.\n *\n * Requirements:\n *\n * - input must fit into 80 bits\n */\n function toUint80(uint256 value) internal pure returns (uint80) {\n if (value > type(uint80).max) {\n revert SafeCastOverflowedUintDowncast(80, value);\n }\n return uint80(value);\n }\n\n /**\n * @dev Returns the downcasted uint72 from uint256, reverting on\n * overflow (when the input is greater than largest uint72).\n *\n * Counterpart to Solidity's `uint72` operator.\n *\n * Requirements:\n *\n * - input must fit into 72 bits\n */\n function toUint72(uint256 value) internal pure returns (uint72) {\n if (value > type(uint72).max) {\n revert SafeCastOverflowedUintDowncast(72, value);\n }\n return uint72(value);\n }\n\n /**\n * @dev Returns the downcasted uint64 from uint256, reverting on\n * overflow (when the input is greater than largest uint64).\n *\n * Counterpart to Solidity's `uint64` operator.\n *\n * Requirements:\n *\n * - input must fit into 64 bits\n */\n function toUint64(uint256 value) internal pure returns (uint64) {\n if (value > type(uint64).max) {\n revert SafeCastOverflowedUintDowncast(64, value);\n }\n return uint64(value);\n }\n\n /**\n * @dev Returns the downcasted uint56 from uint256, reverting on\n * overflow (when the input is greater than largest uint56).\n *\n * Counterpart to Solidity's `uint56` operator.\n *\n * Requirements:\n *\n * - input must fit into 56 bits\n */\n function toUint56(uint256 value) internal pure returns (uint56) {\n if (value > type(uint56).max) {\n revert SafeCastOverflowedUintDowncast(56, value);\n }\n return uint56(value);\n }\n\n /**\n * @dev Returns the downcasted uint48 from uint256, reverting on\n * overflow (when the input is greater than largest uint48).\n *\n * Counterpart to Solidity's `uint48` operator.\n *\n * Requirements:\n *\n * - input must fit into 48 bits\n */\n function toUint48(uint256 value) internal pure returns (uint48) {\n if (value > type(uint48).max) {\n revert SafeCastOverflowedUintDowncast(48, value);\n }\n return uint48(value);\n }\n\n /**\n * @dev Returns the downcasted uint40 from uint256, reverting on\n * overflow (when the input is greater than largest uint40).\n *\n * Counterpart to Solidity's `uint40` operator.\n *\n * Requirements:\n *\n * - input must fit into 40 bits\n */\n function toUint40(uint256 value) internal pure returns (uint40) {\n if (value > type(uint40).max) {\n revert SafeCastOverflowedUintDowncast(40, value);\n }\n return uint40(value);\n }\n\n /**\n * @dev Returns the downcasted uint32 from uint256, reverting on\n * overflow (when the input is greater than largest uint32).\n *\n * Counterpart to Solidity's `uint32` operator.\n *\n * Requirements:\n *\n * - input must fit into 32 bits\n */\n function toUint32(uint256 value) internal pure returns (uint32) {\n if (value > type(uint32).max) {\n revert SafeCastOverflowedUintDowncast(32, value);\n }\n return uint32(value);\n }\n\n /**\n * @dev Returns the downcasted uint24 from uint256, reverting on\n * overflow (when the input is greater than largest uint24).\n *\n * Counterpart to Solidity's `uint24` operator.\n *\n * Requirements:\n *\n * - input must fit into 24 bits\n */\n function toUint24(uint256 value) internal pure returns (uint24) {\n if (value > type(uint24).max) {\n revert SafeCastOverflowedUintDowncast(24, value);\n }\n return uint24(value);\n }\n\n /**\n * @dev Returns the downcasted uint16 from uint256, reverting on\n * overflow (when the input is greater than largest uint16).\n *\n * Counterpart to Solidity's `uint16` operator.\n *\n * Requirements:\n *\n * - input must fit into 16 bits\n */\n function toUint16(uint256 value) internal pure returns (uint16) {\n if (value > type(uint16).max) {\n revert SafeCastOverflowedUintDowncast(16, value);\n }\n return uint16(value);\n }\n\n /**\n * @dev Returns the downcasted uint8 from uint256, reverting on\n * overflow (when the input is greater than largest uint8).\n *\n * Counterpart to Solidity's `uint8` operator.\n *\n * Requirements:\n *\n * - input must fit into 8 bits\n */\n function toUint8(uint256 value) internal pure returns (uint8) {\n if (value > type(uint8).max) {\n revert SafeCastOverflowedUintDowncast(8, value);\n }\n return uint8(value);\n }\n\n /**\n * @dev Converts a signed int256 into an unsigned uint256.\n *\n * Requirements:\n *\n * - input must be greater than or equal to 0.\n */\n function toUint256(int256 value) internal pure returns (uint256) {\n if (value < 0) {\n revert SafeCastOverflowedIntToUint(value);\n }\n return uint256(value);\n }\n\n /**\n * @dev Returns the downcasted int248 from int256, reverting on\n * overflow (when the input is less than smallest int248 or\n * greater than largest int248).\n *\n * Counterpart to Solidity's `int248` operator.\n *\n * Requirements:\n *\n * - input must fit into 248 bits\n */\n function toInt248(int256 value) internal pure returns (int248 downcasted) {\n downcasted = int248(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(248, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int240 from int256, reverting on\n * overflow (when the input is less than smallest int240 or\n * greater than largest int240).\n *\n * Counterpart to Solidity's `int240` operator.\n *\n * Requirements:\n *\n * - input must fit into 240 bits\n */\n function toInt240(int256 value) internal pure returns (int240 downcasted) {\n downcasted = int240(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(240, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int232 from int256, reverting on\n * overflow (when the input is less than smallest int232 or\n * greater than largest int232).\n *\n * Counterpart to Solidity's `int232` operator.\n *\n * Requirements:\n *\n * - input must fit into 232 bits\n */\n function toInt232(int256 value) internal pure returns (int232 downcasted) {\n downcasted = int232(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(232, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int224 from int256, reverting on\n * overflow (when the input is less than smallest int224 or\n * greater than largest int224).\n *\n * Counterpart to Solidity's `int224` operator.\n *\n * Requirements:\n *\n * - input must fit into 224 bits\n */\n function toInt224(int256 value) internal pure returns (int224 downcasted) {\n downcasted = int224(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(224, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int216 from int256, reverting on\n * overflow (when the input is less than smallest int216 or\n * greater than largest int216).\n *\n * Counterpart to Solidity's `int216` operator.\n *\n * Requirements:\n *\n * - input must fit into 216 bits\n */\n function toInt216(int256 value) internal pure returns (int216 downcasted) {\n downcasted = int216(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(216, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int208 from int256, reverting on\n * overflow (when the input is less than smallest int208 or\n * greater than largest int208).\n *\n * Counterpart to Solidity's `int208` operator.\n *\n * Requirements:\n *\n * - input must fit into 208 bits\n */\n function toInt208(int256 value) internal pure returns (int208 downcasted) {\n downcasted = int208(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(208, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int200 from int256, reverting on\n * overflow (when the input is less than smallest int200 or\n * greater than largest int200).\n *\n * Counterpart to Solidity's `int200` operator.\n *\n * Requirements:\n *\n * - input must fit into 200 bits\n */\n function toInt200(int256 value) internal pure returns (int200 downcasted) {\n downcasted = int200(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(200, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int192 from int256, reverting on\n * overflow (when the input is less than smallest int192 or\n * greater than largest int192).\n *\n * Counterpart to Solidity's `int192` operator.\n *\n * Requirements:\n *\n * - input must fit into 192 bits\n */\n function toInt192(int256 value) internal pure returns (int192 downcasted) {\n downcasted = int192(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(192, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int184 from int256, reverting on\n * overflow (when the input is less than smallest int184 or\n * greater than largest int184).\n *\n * Counterpart to Solidity's `int184` operator.\n *\n * Requirements:\n *\n * - input must fit into 184 bits\n */\n function toInt184(int256 value) internal pure returns (int184 downcasted) {\n downcasted = int184(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(184, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int176 from int256, reverting on\n * overflow (when the input is less than smallest int176 or\n * greater than largest int176).\n *\n * Counterpart to Solidity's `int176` operator.\n *\n * Requirements:\n *\n * - input must fit into 176 bits\n */\n function toInt176(int256 value) internal pure returns (int176 downcasted) {\n downcasted = int176(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(176, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int168 from int256, reverting on\n * overflow (when the input is less than smallest int168 or\n * greater than largest int168).\n *\n * Counterpart to Solidity's `int168` operator.\n *\n * Requirements:\n *\n * - input must fit into 168 bits\n */\n function toInt168(int256 value) internal pure returns (int168 downcasted) {\n downcasted = int168(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(168, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int160 from int256, reverting on\n * overflow (when the input is less than smallest int160 or\n * greater than largest int160).\n *\n * Counterpart to Solidity's `int160` operator.\n *\n * Requirements:\n *\n * - input must fit into 160 bits\n */\n function toInt160(int256 value) internal pure returns (int160 downcasted) {\n downcasted = int160(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(160, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int152 from int256, reverting on\n * overflow (when the input is less than smallest int152 or\n * greater than largest int152).\n *\n * Counterpart to Solidity's `int152` operator.\n *\n * Requirements:\n *\n * - input must fit into 152 bits\n */\n function toInt152(int256 value) internal pure returns (int152 downcasted) {\n downcasted = int152(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(152, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int144 from int256, reverting on\n * overflow (when the input is less than smallest int144 or\n * greater than largest int144).\n *\n * Counterpart to Solidity's `int144` operator.\n *\n * Requirements:\n *\n * - input must fit into 144 bits\n */\n function toInt144(int256 value) internal pure returns (int144 downcasted) {\n downcasted = int144(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(144, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int136 from int256, reverting on\n * overflow (when the input is less than smallest int136 or\n * greater than largest int136).\n *\n * Counterpart to Solidity's `int136` operator.\n *\n * Requirements:\n *\n * - input must fit into 136 bits\n */\n function toInt136(int256 value) internal pure returns (int136 downcasted) {\n downcasted = int136(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(136, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int128 from int256, reverting on\n * overflow (when the input is less than smallest int128 or\n * greater than largest int128).\n *\n * Counterpart to Solidity's `int128` operator.\n *\n * Requirements:\n *\n * - input must fit into 128 bits\n */\n function toInt128(int256 value) internal pure returns (int128 downcasted) {\n downcasted = int128(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(128, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int120 from int256, reverting on\n * overflow (when the input is less than smallest int120 or\n * greater than largest int120).\n *\n * Counterpart to Solidity's `int120` operator.\n *\n * Requirements:\n *\n * - input must fit into 120 bits\n */\n function toInt120(int256 value) internal pure returns (int120 downcasted) {\n downcasted = int120(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(120, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int112 from int256, reverting on\n * overflow (when the input is less than smallest int112 or\n * greater than largest int112).\n *\n * Counterpart to Solidity's `int112` operator.\n *\n * Requirements:\n *\n * - input must fit into 112 bits\n */\n function toInt112(int256 value) internal pure returns (int112 downcasted) {\n downcasted = int112(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(112, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int104 from int256, reverting on\n * overflow (when the input is less than smallest int104 or\n * greater than largest int104).\n *\n * Counterpart to Solidity's `int104` operator.\n *\n * Requirements:\n *\n * - input must fit into 104 bits\n */\n function toInt104(int256 value) internal pure returns (int104 downcasted) {\n downcasted = int104(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(104, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int96 from int256, reverting on\n * overflow (when the input is less than smallest int96 or\n * greater than largest int96).\n *\n * Counterpart to Solidity's `int96` operator.\n *\n * Requirements:\n *\n * - input must fit into 96 bits\n */\n function toInt96(int256 value) internal pure returns (int96 downcasted) {\n downcasted = int96(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(96, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int88 from int256, reverting on\n * overflow (when the input is less than smallest int88 or\n * greater than largest int88).\n *\n * Counterpart to Solidity's `int88` operator.\n *\n * Requirements:\n *\n * - input must fit into 88 bits\n */\n function toInt88(int256 value) internal pure returns (int88 downcasted) {\n downcasted = int88(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(88, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int80 from int256, reverting on\n * overflow (when the input is less than smallest int80 or\n * greater than largest int80).\n *\n * Counterpart to Solidity's `int80` operator.\n *\n * Requirements:\n *\n * - input must fit into 80 bits\n */\n function toInt80(int256 value) internal pure returns (int80 downcasted) {\n downcasted = int80(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(80, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int72 from int256, reverting on\n * overflow (when the input is less than smallest int72 or\n * greater than largest int72).\n *\n * Counterpart to Solidity's `int72` operator.\n *\n * Requirements:\n *\n * - input must fit into 72 bits\n */\n function toInt72(int256 value) internal pure returns (int72 downcasted) {\n downcasted = int72(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(72, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int64 from int256, reverting on\n * overflow (when the input is less than smallest int64 or\n * greater than largest int64).\n *\n * Counterpart to Solidity's `int64` operator.\n *\n * Requirements:\n *\n * - input must fit into 64 bits\n */\n function toInt64(int256 value) internal pure returns (int64 downcasted) {\n downcasted = int64(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(64, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int56 from int256, reverting on\n * overflow (when the input is less than smallest int56 or\n * greater than largest int56).\n *\n * Counterpart to Solidity's `int56` operator.\n *\n * Requirements:\n *\n * - input must fit into 56 bits\n */\n function toInt56(int256 value) internal pure returns (int56 downcasted) {\n downcasted = int56(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(56, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int48 from int256, reverting on\n * overflow (when the input is less than smallest int48 or\n * greater than largest int48).\n *\n * Counterpart to Solidity's `int48` operator.\n *\n * Requirements:\n *\n * - input must fit into 48 bits\n */\n function toInt48(int256 value) internal pure returns (int48 downcasted) {\n downcasted = int48(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(48, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int40 from int256, reverting on\n * overflow (when the input is less than smallest int40 or\n * greater than largest int40).\n *\n * Counterpart to Solidity's `int40` operator.\n *\n * Requirements:\n *\n * - input must fit into 40 bits\n */\n function toInt40(int256 value) internal pure returns (int40 downcasted) {\n downcasted = int40(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(40, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int32 from int256, reverting on\n * overflow (when the input is less than smallest int32 or\n * greater than largest int32).\n *\n * Counterpart to Solidity's `int32` operator.\n *\n * Requirements:\n *\n * - input must fit into 32 bits\n */\n function toInt32(int256 value) internal pure returns (int32 downcasted) {\n downcasted = int32(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(32, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int24 from int256, reverting on\n * overflow (when the input is less than smallest int24 or\n * greater than largest int24).\n *\n * Counterpart to Solidity's `int24` operator.\n *\n * Requirements:\n *\n * - input must fit into 24 bits\n */\n function toInt24(int256 value) internal pure returns (int24 downcasted) {\n downcasted = int24(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(24, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int16 from int256, reverting on\n * overflow (when the input is less than smallest int16 or\n * greater than largest int16).\n *\n * Counterpart to Solidity's `int16` operator.\n *\n * Requirements:\n *\n * - input must fit into 16 bits\n */\n function toInt16(int256 value) internal pure returns (int16 downcasted) {\n downcasted = int16(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(16, value);\n }\n }\n\n /**\n * @dev Returns the downcasted int8 from int256, reverting on\n * overflow (when the input is less than smallest int8 or\n * greater than largest int8).\n *\n * Counterpart to Solidity's `int8` operator.\n *\n * Requirements:\n *\n * - input must fit into 8 bits\n */\n function toInt8(int256 value) internal pure returns (int8 downcasted) {\n downcasted = int8(value);\n if (downcasted != value) {\n revert SafeCastOverflowedIntDowncast(8, value);\n }\n }\n\n /**\n * @dev Converts an unsigned uint256 into a signed int256.\n *\n * Requirements:\n *\n * - input must be less than or equal to maxInt256.\n */\n function toInt256(uint256 value) internal pure returns (int256) {\n // Note: Unsafe cast below is okay because `type(int256).max` is guaranteed to be positive\n if (value > uint256(type(int256).max)) {\n revert SafeCastOverflowedUintToInt(value);\n }\n return int256(value);\n }\n\n /**\n * @dev Cast a boolean (false or true) to a uint256 (0 or 1) with no jump.\n */\n function toUint(bool b) internal pure returns (uint256 u) {\n assembly (\"memory-safe\") {\n u := iszero(iszero(b))\n }\n }\n}\n"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/math/SignedMath.sol)\n\npragma solidity ^0.8.20;\n\nimport {SafeCast} from \"./SafeCast.sol\";\n\n/**\n * @dev Standard signed math utilities missing in the Solidity language.\n */\nlibrary SignedMath {\n /**\n * @dev Branchless ternary evaluation for `a ? b : c`. Gas costs are constant.\n *\n * IMPORTANT: This function may reduce bytecode size and consume less gas when used standalone.\n * However, the compiler may optimize Solidity ternary operations (i.e. `a ? b : c`) to only compute\n * one branch when needed, making this function more expensive.\n */\n function ternary(bool condition, int256 a, int256 b) internal pure returns (int256) {\n unchecked {\n // branchless ternary works because:\n // b ^ (a ^ b) == a\n // b ^ 0 == b\n return b ^ ((a ^ b) * int256(SafeCast.toUint(condition)));\n }\n }\n\n /**\n * @dev Returns the largest of two signed numbers.\n */\n function max(int256 a, int256 b) internal pure returns (int256) {\n return ternary(a > b, a, b);\n }\n\n /**\n * @dev Returns the smallest of two signed numbers.\n */\n function min(int256 a, int256 b) internal pure returns (int256) {\n return ternary(a < b, a, b);\n }\n\n /**\n * @dev Returns the average of two signed numbers without overflow.\n * The result is rounded towards zero.\n */\n function average(int256 a, int256 b) internal pure returns (int256) {\n // Formula from the book \"Hacker's Delight\"\n int256 x = (a & b) + ((a ^ b) >> 1);\n return x + (int256(uint256(x) >> 255) & (a ^ b));\n }\n\n /**\n * @dev Returns the absolute unsigned value of a signed value.\n */\n function abs(int256 n) internal pure returns (uint256) {\n unchecked {\n // Formula from the \"Bit Twiddling Hacks\" by Sean Eron Anderson.\n // Since `n` is a signed integer, the generated bytecode will use the SAR opcode to perform the right shift,\n // taking advantage of the most significant (or \"sign\" bit) in two's complement representation.\n // This opcode adds new most significant bits set to the value of the previous most significant bit. As a result,\n // the mask will either be `bytes32(0)` (if n is positive) or `~bytes32(0)` (if n is negative).\n int256 mask = n >> 255;\n\n // A `bytes32(0)` mask leaves the input unchanged, while a `~bytes32(0)` mask complements it.\n return uint256((n + mask) ^ mask);\n }\n }\n}\n"},"lib/tstorish/src/Tstorish.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.24;\n\ncontract Tstorish {\n // Declare a storage variable indicating if TSTORE support has been\n // activated post-deployment.\n bool private _tstoreSupport;\n\n /*\n * ------------------------------------------------------------------------+\n * Opcode | Mnemonic | Stack | Memory |\n * ------------------------------------------------------------------------|\n * 60 0x02 | PUSH1 0x02 | 0x02 | |\n * 60 0x1e | PUSH1 0x1e | 0x1e 0x02 | |\n * 61 0x3d5c | PUSH2 0x3d5c | 0x3d5c 0x1e 0x02 | |\n * 3d | RETURNDATASIZE | 0 0x3d5c 0x1e 0x02 | |\n * |\n * :: store deployed bytecode in memory: (3d) RETURNDATASIZE (5c) TLOAD :: |\n * 52 | MSTORE | 0x1e 0x02 | [0..0x20): 0x3d5c |\n * f3 | RETURN | | [0..0x20): 0x3d5c |\n * ------------------------------------------------------------------------+\n */\n uint256 constant _TLOAD_TEST_PAYLOAD = 0x6002_601e_613d5c_3d_52_f3;\n uint256 constant _TLOAD_TEST_PAYLOAD_LENGTH = 0x0a;\n uint256 constant _TLOAD_TEST_PAYLOAD_OFFSET = 0x16;\n\n // Declare an immutable variable to store the tstore test contract address.\n address private immutable _tloadTestContract;\n\n // Declare an immutable variable to store the initial TSTORE support status.\n bool private immutable _tstoreInitialSupport;\n\n // Declare an immutable function type variable for the _setTstorish function\n // based on chain support for tstore at time of deployment.\n function(uint256,uint256) internal immutable _setTstorish;\n\n // Declare an immutable function type variable for the _getTstorish function\n // based on chain support for tstore at time of deployment.\n function(uint256) view returns (uint256) internal immutable _getTstorish;\n\n // Declare an immutable function type variable for the _clearTstorish function\n // based on chain support for tstore at time of deployment.\n function(uint256) internal immutable _clearTstorish;\n\n // Declare a few custom revert error types.\n error TStoreAlreadyActivated();\n error TStoreNotSupported();\n error TloadTestContractDeploymentFailed();\n error OnlyDirectCalls();\n\n /**\n * @dev Determine TSTORE availability during deployment. This involves\n * attempting to deploy a contract that utilizes TLOAD as part of the\n * contract construction bytecode, and configuring initial support for\n * using TSTORE in place of SSTORE based on the result.\n */\n constructor() {\n // Deploy the contract testing TLOAD support and store the address.\n address tloadTestContract = _prepareTloadTest();\n\n // Ensure the deployment was successful.\n if (tloadTestContract == address(0)) {\n revert TloadTestContractDeploymentFailed();\n }\n\n // Determine if TSTORE is supported.\n bool tstoreInitialSupport = _testTload(tloadTestContract);\n\n if (tstoreInitialSupport) {\n // If TSTORE is supported, set functions to their versions that use\n // tstore/tload directly without support checks.\n _setTstorish = _setTstore;\n _getTstorish = _getTstore;\n _clearTstorish = _clearTstore;\n } else {\n // If TSTORE is not supported, set functions to their versions that \n // fallback to sstore/sload until _tstoreSupport is true.\n _setTstorish = _setTstorishWithSstoreFallback;\n _getTstorish = _getTstorishWithSloadFallback;\n _clearTstorish = _clearTstorishWithSstoreFallback;\n }\n\n _tstoreInitialSupport = tstoreInitialSupport;\n\n // Set the address of the deployed TLOAD test contract as an immutable.\n _tloadTestContract = tloadTestContract;\n }\n\n /**\n * @dev External function to activate TSTORE usage. Does not need to be\n * called if TSTORE is supported from deployment, and only needs to be\n * called once. Reverts if TSTORE has already been activated or if the\n * opcode is not available. Note that this must be called directly from\n * an externally-owned account to avoid potential reentrancy issues.\n */\n function __activateTstore() external {\n // Ensure this function is triggered from an externally-owned account.\n if (msg.sender != tx.origin) {\n revert OnlyDirectCalls();\n }\n\n // Determine if TSTORE can potentially be activated.\n if (_tstoreInitialSupport || _tstoreSupport) {\n revert TStoreAlreadyActivated();\n }\n\n // Determine if TSTORE can be activated and revert if not.\n if (!_testTload(_tloadTestContract)) {\n revert TStoreNotSupported();\n }\n\n // Mark TSTORE as activated.\n _tstoreSupport = true;\n }\n\n /**\n * @dev Private function to set a TSTORISH value. Assigned to _setTstorish \n * internal function variable at construction if chain has tstore support.\n *\n * @param storageSlot The slot to write the TSTORISH value to.\n * @param value The value to write to the given storage slot.\n */\n function _setTstore(uint256 storageSlot, uint256 value) private {\n assembly {\n tstore(storageSlot, value)\n }\n }\n\n /**\n * @dev Private function to set a TSTORISH value with sstore fallback. \n * Assigned to _setTstorish internal function variable at construction\n * if chain does not have tstore support.\n *\n * @param storageSlot The slot to write the TSTORISH value to.\n * @param value The value to write to the given storage slot.\n */\n function _setTstorishWithSstoreFallback(uint256 storageSlot, uint256 value) private {\n if (_tstoreSupport) {\n assembly {\n tstore(storageSlot, value)\n }\n } else {\n assembly {\n sstore(storageSlot, value)\n }\n }\n }\n\n /**\n * @dev Private function to read a TSTORISH value. Assigned to _getTstorish\n * internal function variable at construction if chain has tstore support.\n *\n * @param storageSlot The slot to read the TSTORISH value from.\n *\n * @return value The TSTORISH value at the given storage slot.\n */\n function _getTstore(\n uint256 storageSlot\n ) private view returns (uint256 value) {\n assembly {\n value := tload(storageSlot)\n }\n }\n\n /**\n * @dev Private function to read a TSTORISH value with sload fallback. \n * Assigned to _getTstorish internal function variable at construction\n * if chain does not have tstore support.\n *\n * @param storageSlot The slot to read the TSTORISH value from.\n *\n * @return value The TSTORISH value at the given storage slot.\n */\n function _getTstorishWithSloadFallback(\n uint256 storageSlot\n ) private view returns (uint256 value) {\n if (_tstoreSupport) {\n assembly {\n value := tload(storageSlot)\n }\n } else {\n assembly {\n value := sload(storageSlot)\n }\n }\n }\n\n /**\n * @dev Private function to clear a TSTORISH value. Assigned to _clearTstorish internal \n * function variable at construction if chain has tstore support.\n *\n * @param storageSlot The slot to clear the TSTORISH value for.\n */\n function _clearTstore(uint256 storageSlot) private {\n assembly {\n tstore(storageSlot, 0)\n }\n }\n\n /**\n * @dev Private function to clear a TSTORISH value with sstore fallback. \n * Assigned to _clearTstorish internal function variable at construction\n * if chain does not have tstore support.\n *\n * @param storageSlot The slot to clear the TSTORISH value for.\n */\n function _clearTstorishWithSstoreFallback(uint256 storageSlot) private {\n if (_tstoreSupport) {\n assembly {\n tstore(storageSlot, 0)\n }\n } else {\n assembly {\n sstore(storageSlot, 0)\n }\n }\n }\n\n /**\n * @dev Private function to deploy a test contract that utilizes TLOAD as\n * part of its fallback logic.\n */\n function _prepareTloadTest() private returns (address contractAddress) {\n // Utilize assembly to deploy a contract testing TLOAD support.\n assembly {\n // Write the contract deployment code payload to scratch space.\n mstore(0, _TLOAD_TEST_PAYLOAD)\n\n // Deploy the contract.\n contractAddress := create(\n 0,\n _TLOAD_TEST_PAYLOAD_OFFSET,\n _TLOAD_TEST_PAYLOAD_LENGTH\n )\n }\n }\n\n /**\n * @dev Private view function to determine if TSTORE/TLOAD are supported by\n * the current EVM implementation by attempting to call the test\n * contract, which utilizes TLOAD as part of its fallback logic.\n */\n function _testTload(\n address tloadTestContract\n ) private view returns (bool ok) {\n // Call the test contract, which will perform a TLOAD test. If the call\n // does not revert, then TLOAD/TSTORE is supported. Do not forward all\n // available gas, as all forwarded gas will be consumed on revert.\n (ok, ) = tloadTestContract.staticcall{ gas: gasleft() / 10 }(\"\");\n }\n}\n"},"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol":{"content":"// SPDX-License-Identifier: Apache-2.0\npragma solidity ^0.8.27;\n\n/// @title IDelegatedExtension\n/// @author Agustin Aguilar\n/// @notice Interface for the delegated extension module\ninterface IDelegatedExtension {\n\n /// @notice Handle a sequence delegate call\n /// @param _opHash The operation hash\n /// @param _startingGas The starting gas\n /// @param _index The index\n /// @param _numCalls The number of calls\n /// @param _space The space\n /// @param _data The data\n function handleSequenceDelegateCall(\n bytes32 _opHash,\n uint256 _startingGas,\n uint256 _index,\n uint256 _numCalls,\n uint256 _space,\n bytes calldata _data\n ) external;\n\n}\n"},"script/TrailsIntentEntrypoint.s.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {SingletonDeployer, console} from \"erc2470-libs/script/SingletonDeployer.s.sol\";\nimport {TrailsIntentEntrypoint} from \"../src/TrailsIntentEntrypoint.sol\";\n\ncontract Deploy is SingletonDeployer {\n // -------------------------------------------------------------------------\n // Run\n // -------------------------------------------------------------------------\n\n function run() external {\n uint256 privateKey = vm.envUint(\"PRIVATE_KEY\");\n address deployerAddress = vm.addr(privateKey);\n console.log(\"Deployer Address:\", deployerAddress);\n\n bytes32 salt = bytes32(0);\n\n // Deploy TrailsIntentEntrypoint deterministically via ERC-2470 SingletonDeployer\n bytes memory initCode = type(TrailsIntentEntrypoint).creationCode;\n address sweeper = _deployIfNotAlready(\"TrailsIntentEntrypoint\", initCode, salt, privateKey);\n\n console.log(\"TrailsIntentEntrypoint deployed at:\", sweeper);\n }\n}\n"},"script/TrailsRouter.s.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {SingletonDeployer, console} from \"erc2470-libs/script/SingletonDeployer.s.sol\";\nimport {TrailsRouter} from \"../src/TrailsRouter.sol\";\n\ncontract Deploy is SingletonDeployer {\n // -------------------------------------------------------------------------\n // Run\n // -------------------------------------------------------------------------\n\n function run() external {\n uint256 pk = vm.envUint(\"PRIVATE_KEY\");\n address deployerAddress = vm.addr(pk);\n console.log(\"Deployer Address:\", deployerAddress);\n\n address router = deployRouter(pk);\n console.log(\"TrailsRouter deployed at:\", router);\n }\n\n // -------------------------------------------------------------------------\n // Deploy Router\n // -------------------------------------------------------------------------\n\n function deployRouter(uint256 pk) public returns (address) {\n bytes32 salt = bytes32(0);\n address multicall3 = 0xcA11bde05977b3631167028862bE2a173976CA11;\n\n // Deploy TrailsRouter with constructor arguments\n bytes memory initCode = abi.encodePacked(type(TrailsRouter).creationCode, abi.encode(multicall3));\n address router = _deployIfNotAlready(\"TrailsRouter\", initCode, salt, pk);\n\n return router;\n }\n}\n"},"script/TrailsRouterShim.s.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {SingletonDeployer, console} from \"erc2470-libs/script/SingletonDeployer.s.sol\";\nimport {TrailsRouterShim} from \"../src/TrailsRouterShim.sol\";\nimport {Deploy as TrailsRouterDeploy} from \"./TrailsRouter.s.sol\";\n\ncontract Deploy is SingletonDeployer {\n // -------------------------------------------------------------------------\n // State Variables\n // -------------------------------------------------------------------------\n\n address public routerAddress;\n\n // -------------------------------------------------------------------------\n // Run\n // -------------------------------------------------------------------------\n\n function run() external {\n uint256 pk = vm.envUint(\"PRIVATE_KEY\");\n address deployerAddress = vm.addr(pk);\n console.log(\"Deployer Address:\", deployerAddress);\n\n bytes32 salt = bytes32(0);\n\n // Deploy TrailsRouter using the TrailsRouter deployment script\n TrailsRouterDeploy routerDeploy = new TrailsRouterDeploy();\n routerDeploy.run();\n\n // Get the deployed router address from the deployment script\n routerAddress = routerDeploy.deployRouter(pk);\n console.log(\"TrailsRouter deployed at:\", routerAddress);\n\n // Deploy TrailsRouterShim with the router address\n bytes memory initCode = abi.encodePacked(type(TrailsRouterShim).creationCode, abi.encode(routerAddress));\n address wrapper = _deployIfNotAlready(\"TrailsRouterShim\", initCode, salt, pk);\n\n console.log(\"TrailsRouterShim deployed at:\", wrapper);\n }\n}\n"},"src/TrailsIntentEntrypoint.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {IERC20} from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport {IERC20Permit} from \"@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\";\nimport {SafeERC20} from \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\";\nimport {ECDSA} from \"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\";\nimport {ReentrancyGuard} from \"@openzeppelin/contracts/utils/ReentrancyGuard.sol\";\nimport {ITrailsIntentEntrypoint} from \"./interfaces/ITrailsIntentEntrypoint.sol\";\n\n/// @title TrailsIntentEntrypoint\n/// @author Miguel Mota\n/// @notice A contract to facilitate deposits to intent addresses with off-chain signed intents.\ncontract TrailsIntentEntrypoint is ReentrancyGuard, ITrailsIntentEntrypoint {\n // -------------------------------------------------------------------------\n // Libraries\n // -------------------------------------------------------------------------\n using ECDSA for bytes32;\n using SafeERC20 for IERC20;\n\n // -------------------------------------------------------------------------\n // Constants\n // -------------------------------------------------------------------------\n\n bytes32 public constant TRAILS_INTENT_TYPEHASH = keccak256(\n \"TrailsIntent(address user,address token,uint256 amount,address intentAddress,uint256 deadline,uint256 chainId,uint256 nonce,uint256 feeAmount,address feeCollector)\"\n );\n string public constant VERSION = \"1\";\n\n bytes32 private constant EIP712_DOMAIN_TYPEHASH =\n keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\");\n bytes32 private constant EIP712_DOMAIN_NAME = keccak256(bytes(\"TrailsIntentEntrypoint\"));\n bytes32 private constant EIP712_DOMAIN_VERSION = keccak256(bytes(VERSION));\n\n // -------------------------------------------------------------------------\n // Errors\n // -------------------------------------------------------------------------\n\n error InvalidAmount();\n error InvalidToken();\n error InvalidIntentAddress();\n error IntentExpired();\n error InvalidIntentSignature();\n error InvalidNonce();\n error InvalidFeeParameters();\n error PermitAmountMismatch();\n\n // -------------------------------------------------------------------------\n // State Variables\n // -------------------------------------------------------------------------\n\n /// @notice Tracks nonce for each user to prevent replay attacks.\n mapping(address => uint256) public nonces;\n\n // -------------------------------------------------------------------------\n // Functions\n // -------------------------------------------------------------------------\n\n /// @inheritdoc ITrailsIntentEntrypoint\n function DOMAIN_SEPARATOR() public view returns (bytes32 _domainSeparator) {\n return keccak256(\n abi.encode(EIP712_DOMAIN_TYPEHASH, EIP712_DOMAIN_NAME, EIP712_DOMAIN_VERSION, block.chainid, address(this))\n );\n }\n\n /// @inheritdoc ITrailsIntentEntrypoint\n function depositToIntentWithPermit(\n address user,\n address token,\n uint256 amount,\n uint256 permitAmount,\n address intentAddress,\n uint256 deadline,\n uint256 nonce,\n uint256 feeAmount,\n address feeCollector,\n uint8 permitV,\n bytes32 permitR,\n bytes32 permitS,\n uint8 sigV,\n bytes32 sigR,\n bytes32 sigS\n ) external nonReentrant {\n _verifyAndMarkIntent(\n user, token, amount, intentAddress, deadline, nonce, feeAmount, feeCollector, sigV, sigR, sigS\n );\n\n // Validate permitAmount exactly matches the total required amount (deposit + fee)\n // This prevents permit/approval mismatches that could cause DoS or unexpected behavior\n unchecked {\n if (permitAmount != amount + feeAmount) revert PermitAmountMismatch();\n }\n\n // Execute permit with try-catch to handle potential frontrunning, and scope variables to avoid stack too deep\n try IERC20Permit(token).permit(user, address(this), permitAmount, deadline, permitV, permitR, permitS) {\n // Permit succeeded\n }\n catch {\n // Permit may have been frontrun. Continue with transferFrom attempt.\n }\n\n _processDeposit(user, token, amount, intentAddress, feeAmount, feeCollector);\n }\n\n /// @inheritdoc ITrailsIntentEntrypoint\n function depositToIntent(\n address user,\n address token,\n uint256 amount,\n address intentAddress,\n uint256 deadline,\n uint256 nonce,\n uint256 feeAmount,\n address feeCollector,\n uint8 sigV,\n bytes32 sigR,\n bytes32 sigS\n ) external nonReentrant {\n _verifyAndMarkIntent(\n user, token, amount, intentAddress, deadline, nonce, feeAmount, feeCollector, sigV, sigR, sigS\n );\n _processDeposit(user, token, amount, intentAddress, feeAmount, feeCollector);\n }\n\n function _processDeposit(\n address user,\n address token,\n uint256 amount,\n address intentAddress,\n uint256 feeAmount,\n address feeCollector\n ) internal {\n IERC20(token).safeTransferFrom(user, intentAddress, amount);\n\n // Pay fee if specified (fee token is same as deposit token)\n bool feeAmountSupplied = feeAmount > 0;\n bool feeCollectorSupplied = feeCollector != address(0);\n if (feeAmountSupplied != feeCollectorSupplied) {\n // Must supply both feeAmount and feeCollector, or neither\n revert InvalidFeeParameters();\n }\n if (feeAmountSupplied && feeCollectorSupplied) {\n IERC20(token).safeTransferFrom(user, feeCollector, feeAmount);\n emit FeePaid(user, token, feeAmount, feeCollector);\n }\n\n emit IntentDeposit(user, intentAddress, amount);\n }\n\n // -------------------------------------------------------------------------\n // Internal Functions\n // -------------------------------------------------------------------------\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _verifyAndMarkIntent(\n address user,\n address token,\n uint256 amount,\n address intentAddress,\n uint256 deadline,\n uint256 nonce,\n uint256 feeAmount,\n address feeCollector,\n uint8 sigV,\n bytes32 sigR,\n bytes32 sigS\n ) internal {\n if (amount == 0) revert InvalidAmount();\n if (token == address(0)) revert InvalidToken();\n if (intentAddress == address(0)) revert InvalidIntentAddress();\n if (block.timestamp > deadline) revert IntentExpired();\n // Chain ID is already included in the signature, so we don't need to check it here\n // The signature verification will fail if the chain ID doesn't match\n if (nonce != nonces[user]) revert InvalidNonce();\n\n bytes32 _typehash = TRAILS_INTENT_TYPEHASH;\n bytes32 intentHash;\n // keccak256(abi.encode(TRAILS_INTENT_TYPEHASH, user, token, amount, intentAddress, deadline, chainId, nonce, feeAmount, feeCollector));\n assembly {\n let ptr := mload(0x40)\n mstore(ptr, _typehash)\n mstore(add(ptr, 0x20), user)\n mstore(add(ptr, 0x40), token)\n mstore(add(ptr, 0x60), amount)\n mstore(add(ptr, 0x80), intentAddress)\n mstore(add(ptr, 0xa0), deadline)\n mstore(add(ptr, 0xc0), chainid())\n mstore(add(ptr, 0xe0), nonce)\n mstore(add(ptr, 0x100), feeAmount)\n mstore(add(ptr, 0x120), feeCollector)\n intentHash := keccak256(ptr, 0x140)\n }\n\n bytes32 _domainSeparator = DOMAIN_SEPARATOR();\n bytes32 digest;\n // keccak256(abi.encodePacked(\"\\x19\\x01\", DOMAIN_SEPARATOR, intentHash));\n assembly {\n let ptr := mload(0x40)\n mstore(ptr, 0x1901)\n mstore(add(ptr, 0x20), _domainSeparator)\n mstore(add(ptr, 0x40), intentHash)\n digest := keccak256(add(ptr, 0x1e), 0x42)\n }\n address recovered = ECDSA.recover(digest, sigV, sigR, sigS);\n if (recovered != user) revert InvalidIntentSignature();\n\n // Increment nonce for the user\n nonces[user]++;\n }\n}\n"},"src/TrailsRouter.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {SafeERC20} from \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\";\nimport {IERC20} from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport {IDelegatedExtension} from \"wallet-contracts-v3/modules/interfaces/IDelegatedExtension.sol\";\nimport {Tstorish} from \"tstorish/Tstorish.sol\";\nimport {DelegatecallGuard} from \"./guards/DelegatecallGuard.sol\";\nimport {IMulticall3} from \"./interfaces/IMulticall3.sol\";\nimport {ITrailsRouter} from \"./interfaces/ITrailsRouter.sol\";\nimport {TrailsSentinelLib} from \"./libraries/TrailsSentinelLib.sol\";\n\n/// @title TrailsRouter\n/// @author Miguel Mota, Shun Kakinoki\n/// @notice Consolidated router for Trails operations including multicall routing, balance injection, and token sweeping\n/// @dev Must be delegatecalled via the Sequence delegated extension module to access wallet storage/balances.\ncontract TrailsRouter is IDelegatedExtension, ITrailsRouter, DelegatecallGuard, Tstorish {\n // -------------------------------------------------------------------------\n // Libraries\n // -------------------------------------------------------------------------\n using SafeERC20 for IERC20;\n\n // -------------------------------------------------------------------------\n // Immutable Variables\n // -------------------------------------------------------------------------\n\n address public immutable MULTICALL3;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(address _multicall3) {\n MULTICALL3 = _multicall3;\n }\n\n // -------------------------------------------------------------------------\n // Errors\n // -------------------------------------------------------------------------\n\n error NativeTransferFailed();\n error InvalidDelegatedSelector(bytes4 selector);\n error InvalidFunctionSelector(bytes4 selector);\n error AllowFailureMustBeFalse(uint256 callIndex);\n error SuccessSentinelNotSet();\n error NoValueAvailable();\n error NoTokensToPull();\n error IncorrectValue(uint256 required, uint256 received);\n error NoTokensToSweep();\n error AmountOffsetOutOfBounds();\n error PlaceholderMismatch();\n error TargetCallFailed(bytes revertData);\n\n // -------------------------------------------------------------------------\n // Receive ETH\n // -------------------------------------------------------------------------\n\n /// @notice Allow direct native token transfers when contract is used standalone.\n receive() external payable {}\n\n // -------------------------------------------------------------------------\n // Multicall3 Router Functions\n // -------------------------------------------------------------------------\n\n /// @inheritdoc ITrailsRouter\n function execute(bytes calldata data) public payable returns (IMulticall3.Result[] memory returnResults) {\n _validateRouterCall(data);\n (bool success, bytes memory returnData) = MULTICALL3.delegatecall(data);\n if (!success) revert TargetCallFailed(returnData);\n return abi.decode(returnData, (IMulticall3.Result[]));\n }\n\n /// @inheritdoc ITrailsRouter\n function pullAndExecute(address token, bytes calldata data)\n public\n payable\n returns (IMulticall3.Result[] memory returnResults)\n {\n uint256 amount;\n if (token == address(0)) {\n if (msg.value == 0) revert NoValueAvailable();\n amount = msg.value;\n } else {\n amount = _getBalance(token, msg.sender);\n if (amount == 0) revert NoTokensToPull();\n }\n\n return pullAmountAndExecute(token, amount, data);\n }\n\n /// @inheritdoc ITrailsRouter\n function pullAmountAndExecute(address token, uint256 amount, bytes calldata data)\n public\n payable\n returns (IMulticall3.Result[] memory returnResults)\n {\n _validateRouterCall(data);\n if (token == address(0)) {\n if (msg.value != amount) revert IncorrectValue(amount, msg.value);\n } else {\n if (msg.value != 0) revert IncorrectValue(0, msg.value);\n _safeTransferFrom(token, msg.sender, address(this), amount);\n }\n\n (bool success, bytes memory returnData) = MULTICALL3.delegatecall(data);\n if (!success) revert TargetCallFailed(returnData);\n returnResults = abi.decode(returnData, (IMulticall3.Result[]));\n\n // Sweep remaining balance back to msg.sender to prevent dust from EXACT_OUTPUT swaps getting stuck.\n // We sweep the full balance (not tracking initial) since TrailsRouter is stateless by design.\n uint256 remaining = _getSelfBalance(token);\n if (remaining > 0) {\n if (token == address(0)) {\n _transferNative(msg.sender, remaining);\n } else {\n _transferERC20(token, msg.sender, remaining);\n }\n emit Sweep(token, msg.sender, remaining);\n }\n }\n\n // -------------------------------------------------------------------------\n // Balance Injection Functions\n // -------------------------------------------------------------------------\n\n /// @inheritdoc ITrailsRouter\n function injectSweepAndCall(\n address token,\n address target,\n bytes calldata callData,\n uint256 amountOffset,\n bytes32 placeholder\n ) external payable {\n uint256 callerBalance;\n\n if (token == address(0)) {\n callerBalance = msg.value;\n if (callerBalance == 0) revert NoValueAvailable();\n } else {\n if (msg.value != 0) revert IncorrectValue(0, msg.value);\n callerBalance = _getBalance(token, msg.sender);\n if (callerBalance == 0) revert NoTokensToSweep();\n _safeTransferFrom(token, msg.sender, address(this), callerBalance);\n }\n\n _injectAndExecuteCall(token, target, callData, amountOffset, placeholder, callerBalance);\n }\n\n /// @inheritdoc ITrailsRouter\n function injectAndCall(\n address token,\n address target,\n bytes calldata callData,\n uint256 amountOffset,\n bytes32 placeholder\n ) public payable {\n if (token == address(0) && msg.value != 0) {\n revert IncorrectValue(0, msg.value);\n }\n\n uint256 callerBalance = _getSelfBalance(token);\n if (callerBalance == 0) {\n if (token == address(0)) {\n revert NoValueAvailable();\n } else {\n revert NoTokensToSweep();\n }\n }\n\n _injectAndExecuteCall(token, target, callData, amountOffset, placeholder, callerBalance);\n }\n\n // -------------------------------------------------------------------------\n // Token Sweeper Functions\n // -------------------------------------------------------------------------\n\n /// @inheritdoc ITrailsRouter\n function sweep(address _token, address _recipient) public payable onlyDelegatecall {\n uint256 amount = _getSelfBalance(_token);\n if (amount > 0) {\n if (_token == address(0)) {\n _transferNative(_recipient, amount);\n } else {\n _transferERC20(_token, _recipient, amount);\n }\n emit Sweep(_token, _recipient, amount);\n }\n }\n\n /// @inheritdoc ITrailsRouter\n function refundAndSweep(address _token, address _refundRecipient, uint256 _refundAmount, address _sweepRecipient)\n public\n payable\n onlyDelegatecall\n {\n uint256 current = _getSelfBalance(_token);\n\n uint256 actualRefund = _refundAmount > current ? current : _refundAmount;\n if (actualRefund != _refundAmount) {\n emit ActualRefund(_token, _refundRecipient, _refundAmount, actualRefund);\n }\n if (actualRefund > 0) {\n if (_token == address(0)) {\n _transferNative(_refundRecipient, actualRefund);\n } else {\n _transferERC20(_token, _refundRecipient, actualRefund);\n }\n emit Refund(_token, _refundRecipient, actualRefund);\n }\n\n uint256 remaining = _getSelfBalance(_token);\n if (remaining > 0) {\n if (_token == address(0)) {\n _transferNative(_sweepRecipient, remaining);\n } else {\n _transferERC20(_token, _sweepRecipient, remaining);\n }\n emit Sweep(_token, _sweepRecipient, remaining);\n }\n emit RefundAndSweep(_token, _refundRecipient, _refundAmount, _sweepRecipient, actualRefund, remaining);\n }\n\n /// @inheritdoc ITrailsRouter\n function validateOpHashAndSweep(bytes32 opHash, address _token, address _recipient)\n public\n payable\n onlyDelegatecall\n {\n uint256 slot = TrailsSentinelLib.successSlot(opHash);\n if (_getTstorish(slot) != TrailsSentinelLib.SUCCESS_VALUE) {\n revert SuccessSentinelNotSet();\n }\n sweep(_token, _recipient);\n }\n\n // -------------------------------------------------------------------------\n // Sequence Delegated Extension Entry Point\n // -------------------------------------------------------------------------\n\n /// @inheritdoc IDelegatedExtension\n function handleSequenceDelegateCall(\n bytes32 _opHash,\n uint256, /* _startingGas */\n uint256, /* _index */\n uint256, /* _numCalls */\n uint256, /* _space */\n bytes calldata _data\n )\n external\n override(IDelegatedExtension, ITrailsRouter)\n onlyDelegatecall\n {\n bytes4 selector;\n if (_data.length >= 4) {\n selector = bytes4(_data[0:4]);\n }\n\n // Balance Injection selectors\n if (selector == this.injectAndCall.selector) {\n (address token, address target, bytes memory callData, uint256 amountOffset, bytes32 placeholder) =\n abi.decode(_data[4:], (address, address, bytes, uint256, bytes32));\n _injectAndCallDelegated(token, target, callData, amountOffset, placeholder);\n return;\n }\n\n // Token Sweeper selectors\n if (selector == this.sweep.selector) {\n (address token, address recipient) = abi.decode(_data[4:], (address, address));\n sweep(token, recipient);\n return;\n }\n\n if (selector == this.refundAndSweep.selector) {\n (address token, address refundRecipient, uint256 refundAmount, address sweepRecipient) =\n abi.decode(_data[4:], (address, address, uint256, address));\n refundAndSweep(token, refundRecipient, refundAmount, sweepRecipient);\n return;\n }\n\n if (selector == this.validateOpHashAndSweep.selector) {\n (, address token, address recipient) = abi.decode(_data[4:], (bytes32, address, address));\n validateOpHashAndSweep(_opHash, token, recipient);\n return;\n }\n\n revert InvalidDelegatedSelector(selector);\n }\n\n // -------------------------------------------------------------------------\n // Internal Helpers\n // -------------------------------------------------------------------------\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _safeTransferFrom(address token, address from, address to, uint256 amount) internal {\n IERC20 erc20 = IERC20(token);\n SafeERC20.safeTransferFrom(erc20, from, to, amount);\n }\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _transferNative(address _to, uint256 _amount) internal {\n (bool success,) = payable(_to).call{value: _amount}(\"\");\n if (!success) revert NativeTransferFailed();\n }\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _transferERC20(address _token, address _to, uint256 _amount) internal {\n IERC20 erc20 = IERC20(_token);\n SafeERC20.safeTransfer(erc20, _to, _amount);\n }\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _getBalance(address token, address account) internal view returns (uint256) {\n return token == address(0) ? account.balance : IERC20(token).balanceOf(account);\n }\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _getSelfBalance(address token) internal view returns (uint256) {\n return _getBalance(token, address(this));\n }\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _injectAndCallDelegated(\n address token,\n address target,\n bytes memory callData,\n uint256 amountOffset,\n bytes32 placeholder\n ) internal {\n uint256 callerBalance = _getSelfBalance(token);\n if (callerBalance == 0) {\n if (token == address(0)) {\n revert NoValueAvailable();\n } else {\n revert NoTokensToSweep();\n }\n }\n\n _injectAndExecuteCall(token, target, callData, amountOffset, placeholder, callerBalance);\n }\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _injectAndExecuteCall(\n address token,\n address target,\n bytes memory callData,\n uint256 amountOffset,\n bytes32 placeholder,\n uint256 callerBalance\n ) internal {\n // Replace placeholder with actual balance if needed\n bool shouldReplace = (amountOffset != 0 || placeholder != bytes32(0));\n\n if (shouldReplace) {\n if (callData.length < amountOffset + 32) revert AmountOffsetOutOfBounds();\n\n bytes32 found;\n assembly {\n found := mload(add(add(callData, 32), amountOffset))\n }\n if (found != placeholder) revert PlaceholderMismatch();\n\n assembly {\n mstore(add(add(callData, 32), amountOffset), callerBalance)\n }\n }\n\n // Execute call based on token type\n if (token == address(0)) {\n (bool success, bytes memory result) = target.call{value: callerBalance}(callData);\n emit BalanceInjectorCall(token, target, placeholder, callerBalance, amountOffset, success, result);\n if (!success) revert TargetCallFailed(result);\n } else {\n IERC20 erc20 = IERC20(token);\n SafeERC20.forceApprove(erc20, target, callerBalance);\n\n (bool success, bytes memory result) = target.call(callData);\n emit BalanceInjectorCall(token, target, placeholder, callerBalance, amountOffset, success, result);\n if (!success) revert TargetCallFailed(result);\n }\n }\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _validateRouterCall(bytes calldata callData) internal pure {\n // Extract function selector\n if (callData.length < 4) revert InvalidFunctionSelector(bytes4(0));\n\n bytes4 selector = bytes4(callData[0:4]);\n\n // Only allow `aggregate3Value` or `aggregate3` (0x174dea71 or 0x82ad56cb)\n if (selector == 0x174dea71) {\n // Decode and validate the Call3Value[] array to ensure allowFailure=false for all calls\n IMulticall3.Call3Value[] memory calls = abi.decode(callData[4:], (IMulticall3.Call3Value[]));\n\n // Iterate through all calls and verify allowFailure is false\n for (uint256 i = 0; i < calls.length; i++) {\n if (calls[i].allowFailure) {\n revert AllowFailureMustBeFalse(i);\n }\n }\n } else if (selector == 0x82ad56cb) {\n // Decode and validate the Call3[] array to ensure allowFailure=false for all calls\n IMulticall3.Call3[] memory calls = abi.decode(callData[4:], (IMulticall3.Call3[]));\n\n // Iterate through all calls and verify allowFailure is false\n for (uint256 i = 0; i < calls.length; i++) {\n if (calls[i].allowFailure) {\n revert AllowFailureMustBeFalse(i);\n }\n }\n } else {\n revert InvalidFunctionSelector(selector);\n }\n }\n}\n"},"src/TrailsRouterShim.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Tstorish} from \"tstorish/Tstorish.sol\";\nimport {TrailsSentinelLib} from \"./libraries/TrailsSentinelLib.sol\";\nimport {ITrailsRouterShim} from \"./interfaces/ITrailsRouterShim.sol\";\nimport {DelegatecallGuard} from \"./guards/DelegatecallGuard.sol\";\n\n/// @title TrailsRouterShim\n/// @author Shun Kakinoki\n/// @notice Sequence delegate-call extension that forwards Trails router calls and records success sentinels.\ncontract TrailsRouterShim is ITrailsRouterShim, DelegatecallGuard, Tstorish {\n // -------------------------------------------------------------------------\n // Immutable variables\n // -------------------------------------------------------------------------\n\n /// @notice Address of the deployed TrailsMulticall3Router to forward calls to\n address public immutable ROUTER;\n // SELF provided by DelegatecallGuard\n\n // -------------------------------------------------------------------------\n // Errors\n // -------------------------------------------------------------------------\n\n error RouterCallFailed(bytes data);\n error ZeroRouterAddress();\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n /// @param router_ The address of the router to forward calls to\n constructor(address router_) {\n if (router_ == address(0)) revert ZeroRouterAddress();\n ROUTER = router_;\n }\n\n // -------------------------------------------------------------------------\n // Sequence delegated entry point\n // -------------------------------------------------------------------------\n\n /// @inheritdoc ITrailsRouterShim\n function handleSequenceDelegateCall(\n bytes32 opHash,\n uint256, // startingGas (unused)\n uint256, // index (unused)\n uint256, // numCalls (unused)\n uint256, // space (unused)\n bytes calldata data\n )\n external\n onlyDelegatecall\n {\n // Decode the inner call data and call value forwarded to the router\n (bytes memory inner, uint256 callValue) = abi.decode(data, (bytes, uint256));\n\n // Forward the call to the router\n bytes memory routerReturn = _forwardToRouter(inner, callValue);\n\n // Set the success sentinel storage slot for the opHash\n uint256 slot = TrailsSentinelLib.successSlot(opHash);\n _setTstorish(slot, TrailsSentinelLib.SUCCESS_VALUE);\n\n assembly {\n return(add(routerReturn, 32), mload(routerReturn))\n }\n }\n\n // -------------------------------------------------------------------------\n // Internal Helpers\n // -------------------------------------------------------------------------\n\n /// forge-lint: disable-next-line(mixed-case-function)\n function _forwardToRouter(bytes memory forwardData, uint256 callValue) internal returns (bytes memory) {\n (bool success, bytes memory ret) = ROUTER.call{value: callValue}(forwardData);\n if (!success) {\n revert RouterCallFailed(ret);\n }\n return ret;\n }\n}\n"},"src/guards/DelegatecallGuard.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\n/// @notice Abstract contract providing a reusable delegatecall-only guard.\nabstract contract DelegatecallGuard {\n // -------------------------------------------------------------------------\n // Errors\n // -------------------------------------------------------------------------\n\n /// @dev Error thrown when a function expected to be delegatecalled is invoked directly\n error NotDelegateCall();\n\n // -------------------------------------------------------------------------\n // Immutable Variables\n // -------------------------------------------------------------------------\n\n /// @dev Cached address of this contract to detect delegatecall context\n address internal immutable _SELF = address(this);\n\n // -------------------------------------------------------------------------\n // Modifiers\n // -------------------------------------------------------------------------\n\n /// @dev Modifier restricting functions to only be executed via delegatecall\n modifier onlyDelegatecall() {\n _onlyDelegatecall();\n _;\n }\n\n // -------------------------------------------------------------------------\n // Internal Functions\n // -------------------------------------------------------------------------\n\n /// @dev Internal check enforcing delegatecall context\n function _onlyDelegatecall() internal view {\n if (address(this) == _SELF) revert NotDelegateCall();\n }\n}\n"},"src/interfaces/IMulticall3.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\n/// @title IMulticall3\n/// @notice Minimal subset of Multicall3 used by Trails router.\n/// @dev Matches the canonical implementation deployed at `0xcA11bde05977b3631167028862bE2a173976CA11`.\ninterface IMulticall3 {\n // -------------------------------------------------------------------------\n // Structs\n // -------------------------------------------------------------------------\n\n struct Call3 {\n address target;\n bool allowFailure;\n bytes callData;\n }\n\n struct Call3Value {\n address target;\n bool allowFailure;\n uint256 value;\n bytes callData;\n }\n\n struct Result {\n bool success;\n bytes returnData;\n }\n\n // -------------------------------------------------------------------------\n // Functions\n // -------------------------------------------------------------------------\n\n function aggregate3(Call3[] calldata calls) external payable returns (Result[] memory returnData);\n\n function aggregate3Value(Call3Value[] calldata calls) external payable returns (Result[] memory returnData);\n}\n"},"src/interfaces/ITrailsIntentEntrypoint.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\n/// @title ITrailsIntentEntrypoint\n/// @notice Interface for the TrailsIntentEntrypoint contract\ninterface ITrailsIntentEntrypoint {\n // -------------------------------------------------------------------------\n // Events\n // -------------------------------------------------------------------------\n\n /// @notice Emitted when a user deposits tokens to an intent address\n /// @param user The user making the deposit\n /// @param intentAddress The intent address receiving the deposit\n /// @param amount The amount of tokens deposited\n event IntentDeposit(address indexed user, address indexed intentAddress, uint256 amount);\n\n /// @notice Emitted when a fee is paid.\n /// @param user The account from which the fee was taken.\n /// @param feeToken The ERC-20 token used to pay the fee.\n /// @param feeAmount The amount of the fee paid.\n /// @param feeCollector The address receiving the fee.\n event FeePaid(address indexed user, address indexed feeToken, uint256 feeAmount, address indexed feeCollector);\n\n // -------------------------------------------------------------------------\n // Views\n // -------------------------------------------------------------------------\n\n /// @notice Returns the EIP-712 domain separator used for intent signatures.\n /// forge-lint: disable-next-line(mixed-case-function)\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n /// @notice Returns the trails intent typehash constant used in EIP-712 signatures.\n /// forge-lint: disable-next-line(mixed-case-function)\n function TRAILS_INTENT_TYPEHASH() external view returns (bytes32);\n\n /// @notice Returns the version string of the contract.\n /// forge-lint: disable-next-line(mixed-case-function)\n function VERSION() external view returns (string memory);\n\n /// @notice Returns the current nonce for a given user.\n /// @param user The user address to query.\n function nonces(address user) external view returns (uint256);\n\n // -------------------------------------------------------------------------\n // Functions\n // -------------------------------------------------------------------------\n\n /// @notice Deposit tokens to an intent address using ERC20 permit\n /// @param user The user making the deposit\n /// @param token The token to deposit (also used for fee payment)\n /// @param amount The amount to deposit\n /// @param permitAmount The amount to permit for spending (amount + feeAmount if paying fee)\n /// @param intentAddress The intent address to deposit to\n /// @param deadline The permit deadline\n /// @param nonce The nonce for this user\n /// @param feeAmount The amount of fee to pay (0 for no fee, paid in same token)\n /// @param feeCollector The address to receive the fee (address(0) for no fee)\n /// @param permitV The permit signature v component\n /// @param permitR The permit signature r component\n /// @param permitS The permit signature s component\n /// @param sigV The intent signature v component\n /// @param sigR The intent signature r component\n /// @param sigS The intent signature s component\n function depositToIntentWithPermit(\n address user,\n address token,\n uint256 amount,\n uint256 permitAmount,\n address intentAddress,\n uint256 deadline,\n uint256 nonce,\n uint256 feeAmount,\n address feeCollector,\n uint8 permitV,\n bytes32 permitR,\n bytes32 permitS,\n uint8 sigV,\n bytes32 sigR,\n bytes32 sigS\n ) external;\n\n /// @notice Deposit tokens to an intent address (requires prior approval)\n /// @param user The user making the deposit\n /// @param token The token to deposit (also used for fee payment)\n /// @param amount The amount to deposit\n /// @param intentAddress The intent address to deposit to\n /// @param deadline The intent deadline\n /// @param nonce The nonce for this user\n /// @param feeAmount The amount of fee to pay (0 for no fee, paid in same token)\n /// @param feeCollector The address to receive the fee (address(0) for no fee)\n /// @param sigV The intent signature v component\n /// @param sigR The intent signature r component\n /// @param sigS The intent signature s component\n function depositToIntent(\n address user,\n address token,\n uint256 amount,\n address intentAddress,\n uint256 deadline,\n uint256 nonce,\n uint256 feeAmount,\n address feeCollector,\n uint8 sigV,\n bytes32 sigR,\n bytes32 sigS\n ) external;\n}\n"},"src/interfaces/ITrailsRouter.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {IDelegatedExtension} from \"wallet-contracts-v3/modules/interfaces/IDelegatedExtension.sol\";\nimport {IMulticall3} from \"./IMulticall3.sol\";\n\n/// @title ITrailsRouter\n/// @notice Interface describing the delegate-call router utilities exposed to Sequence wallets.\ninterface ITrailsRouter is IDelegatedExtension {\n // ---------------------------------------------------------------------\n // Events\n // ---------------------------------------------------------------------\n\n event BalanceInjectorCall(\n address indexed token,\n address indexed target,\n bytes32 placeholder,\n uint256 amountReplaced,\n uint256 amountOffset,\n bool success,\n bytes result\n );\n event Refund(address indexed token, address indexed recipient, uint256 amount);\n event Sweep(address indexed token, address indexed recipient, uint256 amount);\n event RefundAndSweep(\n address indexed token,\n address indexed refundRecipient,\n uint256 refundAmount,\n address indexed sweepRecipient,\n uint256 actualRefund,\n uint256 remaining\n );\n event ActualRefund(address indexed token, address indexed recipient, uint256 expected, uint256 actual);\n\n // ---------------------------------------------------------------------\n // Multicall Operations\n // ---------------------------------------------------------------------\n\n /// @notice Delegates to Multicall3 to preserve msg.sender context.\n /// @dev Delegates to Multicall3 to preserve msg.sender context.\n /// @param data The data to execute.\n /// @return returnResults The result of the execution.\n function execute(bytes calldata data) external payable returns (IMulticall3.Result[] memory returnResults);\n\n /// @notice Pull tokens from msg.sender, then delegatecall into Multicall3.\n /// @dev For ERC20: pulls entire balance and requires prior approval. For ETH: uses msg.value.\n /// @param token The ERC20 token to pull, or address(0) for ETH.\n /// @param data The calldata for Multicall3.\n /// @return returnResults The result of the execution.\n function pullAndExecute(address token, bytes calldata data)\n external\n payable\n returns (IMulticall3.Result[] memory returnResults);\n\n /// @notice Pull specific amount of tokens from msg.sender, then delegatecall into Multicall3.\n /// @dev For ERC20: requires prior approval. For ETH: requires msg.value.\n /// @param token The ERC20 token to pull, or address(0) for ETH.\n /// @param amount The amount to pull.\n /// @param data The calldata for Multicall3.\n /// @return returnResults The result of the execution.\n function pullAmountAndExecute(address token, uint256 amount, bytes calldata data)\n external\n payable\n returns (IMulticall3.Result[] memory returnResults);\n\n // ---------------------------------------------------------------------\n // Balance Injection\n // ---------------------------------------------------------------------\n\n /// @notice Sweeps tokens from msg.sender and calls target with modified calldata.\n /// @dev Transfers tokens from msg.sender to this contract first.\n /// @param token The ERC-20 token to sweep, or address(0) for ETH.\n /// @param target The address to call with modified calldata.\n /// @param callData The original calldata (must include a 32-byte placeholder).\n /// @param amountOffset The byte offset in calldata where the placeholder is located.\n /// @param placeholder The 32-byte placeholder that will be replaced with balance.\n function injectSweepAndCall(\n address token,\n address target,\n bytes calldata callData,\n uint256 amountOffset,\n bytes32 placeholder\n ) external payable;\n\n /// @notice Injects balance and calls target (for delegatecall context).\n /// @param token The ERC-20 token to sweep, or address(0) for ETH.\n /// @param target The address to call with modified calldata.\n /// @param callData The original calldata (must include a 32-byte placeholder).\n /// @param amountOffset The byte offset in calldata where the placeholder is located.\n /// @param placeholder The 32-byte placeholder that will be replaced with balance.\n function injectAndCall(\n address token,\n address target,\n bytes calldata callData,\n uint256 amountOffset,\n bytes32 placeholder\n ) external payable;\n\n /// @notice Validates that the success sentinel for an opHash is set, then sweeps tokens.\n /// @dev For delegatecall context. Used to ensure prior operation succeeded.\n /// @param opHash The operation hash to validate.\n /// @param token The token to sweep.\n /// @param recipient The recipient of the sweep.\n function validateOpHashAndSweep(bytes32 opHash, address token, address recipient) external payable;\n\n // ---------------------------------------------------------------------\n // Sweeper\n // ---------------------------------------------------------------------\n\n /// @notice Sweeps the entire balance to recipient.\n /// @dev For delegatecall context. Transfers all tokens/ETH held by the wallet to the recipient.\n /// @param token The address of the token to sweep. Use address(0) for the native token.\n /// @param recipient The address to send the swept tokens to.\n function sweep(address token, address recipient) external payable;\n\n /// @notice Refunds up to `_refundAmount` to `_refundRecipient`, then sweeps any remaining balance to `_sweepRecipient`.\n /// @dev For delegatecall context.\n /// @param token The token address to operate on. Use address(0) for native.\n /// @param refundRecipient Address receiving the refund portion.\n /// @param refundAmount Maximum amount to refund.\n /// @param sweepRecipient Address receiving the remaining balance.\n function refundAndSweep(address token, address refundRecipient, uint256 refundAmount, address sweepRecipient)\n external\n payable;\n\n // ---------------------------------------------------------------------\n // Delegate Entry\n // ---------------------------------------------------------------------\n\n /// @inheritdoc IDelegatedExtension\n function handleSequenceDelegateCall(\n bytes32 opHash,\n uint256 startingGas,\n uint256 index,\n uint256 numCalls,\n uint256 space,\n bytes calldata data\n ) external;\n}\n"},"src/interfaces/ITrailsRouterShim.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {IDelegatedExtension} from \"wallet-contracts-v3/modules/interfaces/IDelegatedExtension.sol\";\n\n/// @title ITrailsRouterShim\n/// @notice Interface for the router shim that bridges Sequence wallets to the Trails router.\ninterface ITrailsRouterShim is IDelegatedExtension {\n // -------------------------------------------------------------------------\n // Functions\n // -------------------------------------------------------------------------\n\n /// @inheritdoc IDelegatedExtension\n function handleSequenceDelegateCall(\n bytes32 opHash,\n uint256 startingGas,\n uint256 index,\n uint256 numCalls,\n uint256 space,\n bytes calldata data\n ) external;\n}\n"},"src/libraries/TrailsSentinelLib.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\n// -------------------------------------------------------------------------\n// Library\n// -------------------------------------------------------------------------\nlibrary TrailsSentinelLib {\n // -------------------------------------------------------------------------\n // Constants\n // -------------------------------------------------------------------------\n bytes32 public constant SENTINEL_NAMESPACE = keccak256(\"org.sequence.trails.router.sentinel\");\n uint256 public constant SUCCESS_VALUE = uint256(1);\n\n // -------------------------------------------------------------------------\n // Storage Slot Helpers\n // -------------------------------------------------------------------------\n function successSlot(bytes32 opHash) internal pure returns (uint256 result) {\n // return keccak256(abi.encode(SENTINEL_NAMESPACE, opHash));\n bytes32 namespace = SENTINEL_NAMESPACE;\n assembly {\n mstore(0x00, namespace)\n mstore(0x20, opHash)\n result := keccak256(0x00, 0x40)\n }\n }\n}\n"},"test/TrailsIntentEntrypoint.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {TrailsIntentEntrypoint} from \"../src/TrailsIntentEntrypoint.sol\";\nimport {ERC20} from \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport {ERC20Permit} from \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol\";\nimport {MockNonStandardERC20} from \"./mocks/MockNonStandardERC20.sol\";\n\n// Mock ERC20 token with permit functionality for testing\ncontract MockERC20Permit is ERC20, ERC20Permit {\n constructor() ERC20(\"Mock Token\", \"MTK\") ERC20Permit(\"Mock Token\") {\n _mint(msg.sender, 1000000 * 10 ** decimals());\n }\n}\n\n// -----------------------------------------------------------------------------\n// Test Contract\n// -----------------------------------------------------------------------------\n\ncontract TrailsIntentEntrypointTest is Test {\n // Mirror events for expectEmit if needed\n event FeePaid(address indexed user, address indexed feeToken, uint256 feeAmount, address indexed feeCollector);\n // -------------------------------------------------------------------------\n // Test State Variables\n // -------------------------------------------------------------------------\n\n TrailsIntentEntrypoint public entrypoint;\n MockERC20Permit public token;\n address public user = vm.addr(0x123456789);\n uint256 public userPrivateKey = 0x123456789;\n\n function setUp() public {\n entrypoint = new TrailsIntentEntrypoint();\n token = new MockERC20Permit();\n\n // Give user some tokens and check transfer success\n assertTrue(token.transfer(user, 1000 * 10 ** token.decimals()));\n }\n\n function testConstructor() public view {\n // Simple constructor test - just verify the contract was deployed\n assertTrue(address(entrypoint) != address(0));\n }\n\n function testExecuteIntentWithPermit() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n // Create permit signature\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n // Create intent signature\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n // Record balances before\n uint256 userBalanceBefore = token.balanceOf(user);\n uint256 intentBalanceBefore = token.balanceOf(intentAddress);\n\n // Execute intent with permit\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount, // permitAmount - same as amount for this test\n intentAddress,\n deadline,\n nonce,\n 0, // no fee amount\n address(0), // no fee collector\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n // Check balances after\n uint256 userBalanceAfter = token.balanceOf(user);\n uint256 intentBalanceAfter = token.balanceOf(intentAddress);\n\n assertEq(userBalanceAfter, userBalanceBefore - amount);\n assertEq(intentBalanceAfter, intentBalanceBefore + amount);\n\n vm.stopPrank();\n }\n\n function testExecuteIntentWithPermit_permit_frontrun() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n // Create permit signature\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n // Create intent signature\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n // FRONTRUN: Call permit directly before depositToIntentWithPermit\n token.permit(user, address(entrypoint), amount, deadline, permitV, permitR, permitS);\n\n // Record balances before\n uint256 userBalanceBefore = token.balanceOf(user);\n uint256 intentBalanceBefore = token.balanceOf(intentAddress);\n\n // Execute intent with permit - should still succeed due to try/catch\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount, // permitAmount - same as amount for this test\n intentAddress,\n deadline,\n nonce,\n 0, // no fee amount\n address(0), // no fee collector\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n // Check balances after\n uint256 userBalanceAfter = token.balanceOf(user);\n uint256 intentBalanceAfter = token.balanceOf(intentAddress);\n\n assertEq(userBalanceAfter, userBalanceBefore - amount);\n assertEq(intentBalanceAfter, intentBalanceBefore + amount);\n\n vm.stopPrank();\n }\n\n function testExecuteIntentWithPermitExpired() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp - 1; // Expired\n uint256 nonce = entrypoint.nonces(user);\n\n // Create permit signature\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n // Create intent signature\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n vm.expectRevert();\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount, // permitAmount - same as amount for this test\n intentAddress,\n deadline,\n nonce,\n 0, // no fee amount\n address(0), // no fee collector\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n function testExecuteIntentWithPermitInvalidSignature() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n // Use wrong private key for signature\n uint256 wrongPrivateKey = 0x987654321;\n\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(wrongPrivateKey, permitHash);\n\n // Create intent signature\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(wrongPrivateKey, intentDigest);\n\n vm.expectRevert();\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount, // permitAmount - same as amount for this test\n intentAddress,\n deadline,\n nonce,\n 0, // no fee amount\n address(0), // no fee collector\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n function testExecuteIntentWithFee() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n address feeCollector = address(0x9999);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 feeAmount = 5 * 10 ** token.decimals();\n uint256 totalAmount = amount + feeAmount;\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n // Create permit signature for total amount (deposit + fee)\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n totalAmount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n // Create intent signature\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n feeAmount,\n feeCollector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n // Record balances before\n uint256 userBalanceBefore = token.balanceOf(user);\n uint256 intentBalanceBefore = token.balanceOf(intentAddress);\n uint256 feeCollectorBalanceBefore = token.balanceOf(feeCollector);\n\n // Execute intent with permit and fee (fee token is same as deposit token)\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n totalAmount, // permitAmount - total amount needed (deposit + fee)\n intentAddress,\n deadline,\n nonce,\n feeAmount,\n feeCollector,\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n // Check balances after\n uint256 userBalanceAfter = token.balanceOf(user);\n uint256 intentBalanceAfter = token.balanceOf(intentAddress);\n uint256 feeCollectorBalanceAfter = token.balanceOf(feeCollector);\n\n assertEq(userBalanceAfter, userBalanceBefore - totalAmount);\n assertEq(intentBalanceAfter, intentBalanceBefore + amount);\n assertEq(feeCollectorBalanceAfter, feeCollectorBalanceBefore + feeAmount);\n\n vm.stopPrank();\n }\n\n // Test: Infinite approval allows subsequent deposits without new permits\n function testInfiniteApprovalFlow() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 permitAmount = amount; // Exact amount (no fee)\n\n // First deposit with permit\n uint256 nonce1 = entrypoint.nonces(user);\n\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n permitAmount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n bytes32 intentHash1 = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce1,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest1 = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash1));\n\n (uint8 sigV1, bytes32 sigR1, bytes32 sigS1) = vm.sign(userPrivateKey, intentDigest1);\n\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n permitAmount,\n intentAddress,\n deadline,\n nonce1,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV1,\n sigR1,\n sigS1\n );\n\n // Verify allowance is consumed\n assertEq(token.allowance(user, address(entrypoint)), 0);\n\n // Second deposit without permit\n uint256 nonce2 = entrypoint.nonces(user);\n assertEq(nonce2, 1);\n\n bytes32 intentHash2 = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce2,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest2 = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash2));\n\n (uint8 sigV2, bytes32 sigR2, bytes32 sigS2) = vm.sign(userPrivateKey, intentDigest2);\n\n uint256 userBalBefore = token.balanceOf(user);\n\n // Approve for second deposit since exact permit was consumed by first deposit\n token.approve(address(entrypoint), amount);\n\n entrypoint.depositToIntent(\n user, address(token), amount, intentAddress, deadline, nonce2, 0, address(0), sigV2, sigR2, sigS2\n );\n\n assertEq(token.balanceOf(user), userBalBefore - amount);\n\n vm.stopPrank();\n }\n\n // Test: Exact approval requires new permit for subsequent deposits\n function testExactApprovalFlow() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n\n // First deposit with exact approval\n uint256 nonce1 = entrypoint.nonces(user);\n\n bytes32 permitHash1 = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV1, bytes32 permitR1, bytes32 permitS1) = vm.sign(userPrivateKey, permitHash1);\n\n bytes32 intentHash1 = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce1,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest1 = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash1));\n\n (uint8 sigV1, bytes32 sigR1, bytes32 sigS1) = vm.sign(userPrivateKey, intentDigest1);\n\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce1,\n 0,\n address(0),\n permitV1,\n permitR1,\n permitS1,\n sigV1,\n sigR1,\n sigS1\n );\n\n // Verify allowance is consumed\n assertEq(token.allowance(user, address(entrypoint)), 0);\n\n // Second deposit requires new permit\n uint256 nonce2 = entrypoint.nonces(user);\n\n bytes32 permitHash2 = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV2, bytes32 permitR2, bytes32 permitS2) = vm.sign(userPrivateKey, permitHash2);\n\n bytes32 intentHash2 = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce2,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest2 = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash2));\n\n (uint8 sigV2, bytes32 sigR2, bytes32 sigS2) = vm.sign(userPrivateKey, intentDigest2);\n\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce2,\n 0,\n address(0),\n permitV2,\n permitR2,\n permitS2,\n sigV2,\n sigR2,\n sigS2\n );\n\n assertEq(token.allowance(user, address(entrypoint)), 0);\n\n vm.stopPrank();\n }\n\n // Test: Fee collector receives fees with permit\n function testFeeCollectorReceivesFees() public {\n vm.startPrank(user);\n\n uint256 amt = 50e18;\n uint256 fee = 5e18;\n uint256 dl = block.timestamp + 1 hours;\n uint256 nonce1 = entrypoint.nonces(user);\n\n (uint8 pv, bytes32 pr, bytes32 ps) = _signPermit(user, amt + fee, dl);\n (uint8 sv, bytes32 sr, bytes32 ss) = _signIntent2(user, amt, address(0x5678), dl, nonce1, fee, address(0x9999));\n\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amt,\n amt + fee,\n address(0x5678),\n dl,\n nonce1,\n fee,\n address(0x9999),\n pv,\n pr,\n ps,\n sv,\n sr,\n ss\n );\n\n assertEq(token.balanceOf(address(0x9999)), fee);\n\n vm.stopPrank();\n }\n\n // Test: Fee collector receives fees without permit\n function testFeeCollectorReceivesFeesWithoutPermit() public {\n vm.startPrank(user);\n\n uint256 amt = 50e18;\n uint256 fee = 5e18;\n uint256 dl = block.timestamp + 1 hours;\n uint256 nonce = entrypoint.nonces(user);\n\n (uint8 sv, bytes32 sr, bytes32 ss) = _signIntent2(user, amt, address(0x5678), dl, nonce, fee, address(0x9999));\n\n token.approve(address(entrypoint), amt + fee);\n\n entrypoint.depositToIntent(\n user, address(token), amt, address(0x5678), dl, nonce, fee, address(0x9999), sv, sr, ss\n );\n\n assertEq(token.balanceOf(address(0x9999)), fee);\n\n vm.stopPrank();\n }\n\n // Additional tests from reference file for maximum coverage\n\n function testConstructorAndDomainSeparator() public view {\n assertTrue(address(entrypoint) != address(0));\n bytes32 expectedDomain = keccak256(\n abi.encode(\n keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"),\n keccak256(bytes(\"TrailsIntentEntrypoint\")),\n keccak256(bytes(entrypoint.VERSION())),\n block.chainid,\n address(entrypoint)\n )\n );\n assertEq(entrypoint.DOMAIN_SEPARATOR(), expectedDomain);\n }\n\n function testDepositToIntentWithoutPermit_RequiresIntentAddress() public {\n vm.startPrank(user);\n address intentAddress = address(0);\n uint256 amount = 10 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 1;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidIntentAddress.selector);\n entrypoint.depositToIntent(user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n vm.stopPrank();\n }\n\n function testDepositToIntentRequiresNonZeroAmount() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x1234);\n uint256 amount = 0; // Zero amount\n uint256 deadline = block.timestamp + 100;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidAmount.selector);\n entrypoint.depositToIntent(user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n\n vm.stopPrank();\n }\n\n function testDepositToIntentWithPermitRequiresNonZeroAmount() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x1234);\n uint256 amount = 0; // Zero amount\n uint256 deadline = block.timestamp + 100;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidAmount.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n function testDepositToIntentRequiresValidToken() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x1234);\n uint256 amount = 10 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 100;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(0),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidToken.selector);\n entrypoint.depositToIntent(user, address(0), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n\n vm.stopPrank();\n }\n\n function testDepositToIntentWithPermitRequiresValidToken() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x1234);\n uint256 amount = 10 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 100;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(0),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidToken.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(0),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n function testDepositToIntentExpiredDeadline() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp - 1; // Already expired\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n token.approve(address(entrypoint), amount);\n\n vm.expectRevert(TrailsIntentEntrypoint.IntentExpired.selector);\n entrypoint.depositToIntent(user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n\n vm.stopPrank();\n }\n\n function testDepositToIntentWrongSigner() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n // Wrong private key for intent signature\n uint256 wrongPrivateKey = 0x987654321;\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(wrongPrivateKey, digest);\n\n token.approve(address(entrypoint), amount);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidIntentSignature.selector);\n entrypoint.depositToIntent(user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n\n vm.stopPrank();\n }\n\n function testDepositToIntentAlreadyUsed() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n token.approve(address(entrypoint), amount * 2); // Approve for both calls\n\n // First call should succeed\n entrypoint.depositToIntent(user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n\n // Second call with same digest should fail (nonce has incremented)\n vm.expectRevert(TrailsIntentEntrypoint.InvalidNonce.selector);\n entrypoint.depositToIntent(user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n\n vm.stopPrank();\n }\n\n function testVersionConstant() public view {\n assertEq(entrypoint.VERSION(), \"1\");\n }\n\n function testIntentTypehashConstant() public view {\n bytes32 expectedTypehash = keccak256(\n \"TrailsIntent(address user,address token,uint256 amount,address intentAddress,uint256 deadline,uint256 chainId,uint256 nonce,uint256 feeAmount,address feeCollector)\"\n );\n assertEq(entrypoint.TRAILS_INTENT_TYPEHASH(), expectedTypehash);\n }\n\n function testNonceIncrementsOnDeposit() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n\n uint256 nonceBefore = entrypoint.nonces(user);\n assertEq(nonceBefore, 0);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonceBefore,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n token.approve(address(entrypoint), amount);\n entrypoint.depositToIntent(\n user, address(token), amount, intentAddress, deadline, nonceBefore, 0, address(0), v, r, s\n );\n\n uint256 nonceAfter = entrypoint.nonces(user);\n assertEq(nonceAfter, 1);\n\n vm.stopPrank();\n }\n\n function testInvalidNonceReverts() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 wrongNonce = 999; // Wrong nonce\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n wrongNonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n token.approve(address(entrypoint), amount);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidNonce.selector);\n entrypoint.depositToIntent(\n user, address(token), amount, intentAddress, deadline, wrongNonce, 0, address(0), v, r, s\n );\n\n vm.stopPrank();\n }\n\n function testDepositToIntentWithPermitExpiredDeadline() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp - 1; // Already expired\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n vm.expectRevert(TrailsIntentEntrypoint.IntentExpired.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n function testDepositToIntentCannotReuseDigest() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x777);\n uint256 amount = 15 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 10;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n token.approve(address(entrypoint), amount);\n\n entrypoint.depositToIntent(user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n\n // Nonce has incremented, so reusing the same digest/nonce will fail with InvalidNonce\n vm.expectRevert(TrailsIntentEntrypoint.InvalidNonce.selector);\n entrypoint.depositToIntent(user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n\n vm.stopPrank();\n }\n\n function testDepositToIntentWithPermitRequiresPermitAmount() public {\n vm.startPrank(user);\n address intentAddress = address(0x1234);\n uint256 amount = 20 * 10 ** token.decimals();\n uint256 permitAmount = amount - 1;\n uint256 deadline = block.timestamp + 100;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n permitAmount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n vm.expectRevert();\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n permitAmount,\n intentAddress,\n deadline,\n nonce,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n vm.stopPrank();\n }\n\n function testDepositToIntentTransferFromFails() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n // Don't approve tokens, so transferFrom should fail\n vm.expectRevert();\n entrypoint.depositToIntent(user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s);\n\n vm.stopPrank();\n }\n\n function testDepositToIntentWithPermitTransferFromFails() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n // Create permit signature with insufficient permit amount\n uint256 permitAmount = amount - 1; // Less than needed\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n permitAmount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n vm.expectRevert();\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n permitAmount,\n intentAddress,\n deadline,\n nonce,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n function testDepositToIntentWithPermitWrongSigner() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n // Wrong private key for intent signature\n uint256 wrongPrivateKey = 0x987654321;\n\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(wrongPrivateKey, intentDigest);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidIntentSignature.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n function testDepositToIntentWithPermitAlreadyUsed() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n // First call should succeed\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n // Second call with same digest should fail - the intent signature is now invalid because nonce incremented\n uint256 nonce2 = entrypoint.nonces(user);\n bytes32 permitHash2 = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user), // Updated nonce\n deadline\n )\n )\n )\n );\n\n (uint8 permitV2, bytes32 permitR2, bytes32 permitS2) = vm.sign(userPrivateKey, permitHash2);\n\n // The old intent signature uses old nonce, so it will fail with InvalidIntentSignature\n vm.expectRevert(TrailsIntentEntrypoint.InvalidIntentSignature.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce2,\n 0,\n address(0),\n permitV2,\n permitR2,\n permitS2,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n function testDepositToIntentWithPermitReentrancyProtection() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n // First call should succeed\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n // Second call with same parameters should fail due to InvalidNonce (nonce has incremented)\n vm.expectRevert(TrailsIntentEntrypoint.InvalidNonce.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce,\n 0,\n address(0),\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n function testDepositToIntentReentrancyProtection() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n token.approve(address(entrypoint), amount * 2);\n\n // First call should succeed\n entrypoint.depositToIntent(\n user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), sigV, sigR, sigS\n );\n\n // Second call should fail due to InvalidNonce (nonce has incremented)\n vm.expectRevert(TrailsIntentEntrypoint.InvalidNonce.selector);\n entrypoint.depositToIntent(\n user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), sigV, sigR, sigS\n );\n\n vm.stopPrank();\n }\n\n function testAssemblyCodeExecution() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n token.approve(address(entrypoint), amount);\n\n // This should execute the assembly code in _verifyAndMarkIntent\n entrypoint.depositToIntent(\n user, address(token), amount, intentAddress, deadline, nonce, 0, address(0), sigV, sigR, sigS\n );\n\n vm.stopPrank();\n }\n\n // =========================================================================\n // SEQ-2: Non-Standard ERC20 Token Tests (SafeERC20 Implementation)\n // =========================================================================\n\n /**\n * @notice Test depositToIntent with non-standard ERC20 token (like USDT)\n * @dev Verifies SafeERC20.safeTransferFrom works with tokens that don't return boolean\n */\n function testDepositToIntent_WithNonStandardERC20_Success() public {\n // Deploy non-standard ERC20 token\n MockNonStandardERC20 nonStandardToken = new MockNonStandardERC20(1000000 * 10 ** 6);\n\n // Transfer tokens to user\n nonStandardToken.transfer(user, 1000 * 10 ** 6);\n\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** 6; // 50 tokens with 6 decimals\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(nonStandardToken),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0, // feeAmount\n address(0) // feeCollector\n )\n );\n\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n // Approve entrypoint to spend non-standard tokens\n nonStandardToken.approve(address(entrypoint), amount);\n\n uint256 userBalBefore = nonStandardToken.balanceOf(user);\n uint256 intentBalBefore = nonStandardToken.balanceOf(intentAddress);\n\n // This should succeed with SafeERC20 even though token doesn't return boolean\n entrypoint.depositToIntent(\n user, address(nonStandardToken), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s\n );\n\n // Verify balances updated correctly\n assertEq(nonStandardToken.balanceOf(user), userBalBefore - amount);\n assertEq(nonStandardToken.balanceOf(intentAddress), intentBalBefore + amount);\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test depositToIntent with non-standard ERC20 token and fee\n * @dev Verifies SafeERC20.safeTransferFrom handles both deposit and fee transfers correctly\n */\n function testDepositToIntent_WithNonStandardERC20AndFee_Success() public {\n // Deploy non-standard ERC20 token\n MockNonStandardERC20 nonStandardToken = new MockNonStandardERC20(1000000 * 10 ** 6);\n\n // Transfer tokens to user\n nonStandardToken.transfer(user, 1000 * 10 ** 6);\n\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n address feeCollector = address(0x9999);\n uint256 amount = 50 * 10 ** 6; // 50 tokens with 6 decimals\n uint256 feeAmount = 5 * 10 ** 6; // 5 tokens fee\n uint256 totalAmount = amount + feeAmount;\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(nonStandardToken),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n feeAmount,\n feeCollector\n )\n );\n\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n // Approve entrypoint to spend non-standard tokens (total amount + fee)\n nonStandardToken.approve(address(entrypoint), totalAmount);\n\n uint256 userBalBefore = nonStandardToken.balanceOf(user);\n uint256 intentBalBefore = nonStandardToken.balanceOf(intentAddress);\n uint256 feeCollectorBalBefore = nonStandardToken.balanceOf(feeCollector);\n\n // This should succeed with SafeERC20 for both transfers\n entrypoint.depositToIntent(\n user, address(nonStandardToken), amount, intentAddress, deadline, nonce, feeAmount, feeCollector, v, r, s\n );\n\n // Verify all balances updated correctly\n assertEq(nonStandardToken.balanceOf(user), userBalBefore - totalAmount);\n assertEq(nonStandardToken.balanceOf(intentAddress), intentBalBefore + amount);\n assertEq(nonStandardToken.balanceOf(feeCollector), feeCollectorBalBefore + feeAmount);\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test depositToIntent with non-standard ERC20 when transfer fails\n * @dev Verifies SafeERC20.safeTransferFrom properly reverts when non-standard token transfer fails\n */\n function testDepositToIntent_WithNonStandardERC20_InsufficientBalance_Reverts() public {\n // Deploy non-standard ERC20 token\n MockNonStandardERC20 nonStandardToken = new MockNonStandardERC20(1000000 * 10 ** 6);\n\n // Give user very small amount\n nonStandardToken.transfer(user, 10 * 10 ** 6);\n\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 100 * 10 ** 6; // More than user has\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(nonStandardToken),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0,\n address(0)\n )\n );\n\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n nonStandardToken.approve(address(entrypoint), amount);\n\n // Should revert because user has insufficient balance\n vm.expectRevert(\"Insufficient balance\");\n entrypoint.depositToIntent(\n user, address(nonStandardToken), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s\n );\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test depositToIntent with non-standard ERC20 when allowance is insufficient\n * @dev Verifies SafeERC20.safeTransferFrom properly reverts when allowance is too low\n */\n function testDepositToIntent_WithNonStandardERC20_InsufficientAllowance_Reverts() public {\n // Deploy non-standard ERC20 token\n MockNonStandardERC20 nonStandardToken = new MockNonStandardERC20(1000000 * 10 ** 6);\n\n // Transfer tokens to user\n nonStandardToken.transfer(user, 1000 * 10 ** 6);\n\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** 6;\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(nonStandardToken),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n 0,\n address(0)\n )\n );\n\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n // Approve less than amount needed\n nonStandardToken.approve(address(entrypoint), amount - 1);\n\n // Should revert because allowance is insufficient\n vm.expectRevert(\"Insufficient allowance\");\n entrypoint.depositToIntent(\n user, address(nonStandardToken), amount, intentAddress, deadline, nonce, 0, address(0), v, r, s\n );\n\n vm.stopPrank();\n }\n\n // =========================================================================\n // SEQ-1: Permit Amount Validation Tests (Additional Safety Check)\n // =========================================================================\n\n /**\n * @notice Test that depositToIntentWithPermit reverts when permit amount is insufficient\n * @dev Validates permitAmount != amount + feeAmount check (insufficient case)\n */\n function testPermitAmountInsufficientWithFee() public {\n vm.startPrank(user);\n uint256 amt = 50e18;\n uint256 fee = 10e18;\n uint256 permitAmt = amt + fee - 1; // Insufficient by 1\n uint256 dl = block.timestamp + 1 hours;\n uint256 nonce = entrypoint.nonces(user);\n\n (uint8 pv, bytes32 pr, bytes32 ps) = _signPermit(user, permitAmt, dl);\n (uint8 sv, bytes32 sr, bytes32 ss) = _signIntent2(user, amt, address(0x5678), dl, nonce, fee, address(0x9999));\n\n vm.expectRevert(TrailsIntentEntrypoint.PermitAmountMismatch.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amt,\n permitAmt,\n address(0x5678),\n dl,\n nonce,\n fee,\n address(0x9999),\n pv,\n pr,\n ps,\n sv,\n sr,\n ss\n );\n vm.stopPrank();\n }\n\n /**\n * @notice Test that depositToIntentWithPermit reverts when permit amount exceeds required\n * @dev Validates permitAmount != amount + feeAmount check (excess case)\n */\n function testPermitAmountExcessiveWithFee() public {\n vm.startPrank(user);\n uint256 amt = 50e18;\n uint256 fee = 10e18;\n uint256 permitAmt = amt + fee + 1; // Excess by 1\n uint256 dl = block.timestamp + 1 hours;\n uint256 nonce = entrypoint.nonces(user);\n\n (uint8 pv, bytes32 pr, bytes32 ps) = _signPermit(user, permitAmt, dl);\n (uint8 sv, bytes32 sr, bytes32 ss) = _signIntent2(user, amt, address(0x5678), dl, nonce, fee, address(0x9999));\n\n vm.expectRevert(TrailsIntentEntrypoint.PermitAmountMismatch.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amt,\n permitAmt,\n address(0x5678),\n dl,\n nonce,\n fee,\n address(0x9999),\n pv,\n pr,\n ps,\n sv,\n sr,\n ss\n );\n vm.stopPrank();\n }\n\n function _signPermit(address owner, uint256 permitAmount, uint256 deadline)\n internal\n view\n returns (uint8 v, bytes32 r, bytes32 s)\n {\n bytes32 hash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n owner,\n address(entrypoint),\n permitAmount,\n token.nonces(owner),\n deadline\n )\n )\n )\n );\n return vm.sign(userPrivateKey, hash);\n }\n\n function _signIntent2(\n address usr,\n uint256 amt,\n address intent,\n uint256 dl,\n uint256 nonce,\n uint256 fee,\n address collector\n ) internal view returns (uint8 v, bytes32 r, bytes32 s) {\n bytes32 hash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n usr,\n address(token),\n amt,\n intent,\n dl,\n block.chainid,\n nonce,\n fee,\n collector\n )\n );\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), hash));\n return vm.sign(userPrivateKey, digest);\n }\n\n // =========================================================================\n // Fee Parameter Validation Tests\n // =========================================================================\n\n /**\n * @notice Test that depositToIntent reverts when feeAmount is provided but feeCollector is not\n * @dev Validates InvalidFeeParameters error when feeAmount > 0 but feeCollector == address(0)\n */\n function testDepositToIntentWithFeeAmountButNoCollector_Reverts() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 feeAmount = 5 * 10 ** token.decimals(); // Fee amount provided\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n feeAmount,\n address(0) // No fee collector\n )\n );\n\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n token.approve(address(entrypoint), amount + feeAmount);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidFeeParameters.selector);\n entrypoint.depositToIntent(\n user, address(token), amount, intentAddress, deadline, nonce, feeAmount, address(0), v, r, s\n );\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test that depositToIntent reverts when feeCollector is provided but feeAmount is not\n * @dev Validates InvalidFeeParameters error when feeAmount == 0 but feeCollector != address(0)\n */\n function testDepositToIntentWithFeeCollectorButNoAmount_Reverts() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n address feeCollector = address(0x9999); // Fee collector provided\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 feeAmount = 0; // No fee amount\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n feeAmount,\n feeCollector\n )\n );\n\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 v, bytes32 r, bytes32 s) = vm.sign(userPrivateKey, digest);\n\n token.approve(address(entrypoint), amount);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidFeeParameters.selector);\n entrypoint.depositToIntent(\n user, address(token), amount, intentAddress, deadline, nonce, feeAmount, feeCollector, v, r, s\n );\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test that depositToIntentWithPermit reverts when feeAmount is provided but feeCollector is not\n * @dev Validates InvalidFeeParameters error when feeAmount > 0 but feeCollector == address(0)\n */\n function testDepositToIntentWithPermitWithFeeAmountButNoCollector_Reverts() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 feeAmount = 5 * 10 ** token.decimals(); // Fee amount provided\n uint256 totalAmount = amount + feeAmount;\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n // Create permit signature for total amount (deposit + fee)\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n totalAmount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n // Create intent signature\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n feeAmount,\n address(0) // No fee collector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidFeeParameters.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n totalAmount,\n intentAddress,\n deadline,\n nonce,\n feeAmount,\n address(0), // No fee collector\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test that depositToIntentWithPermit reverts when feeCollector is provided but feeAmount is not\n * @dev Validates InvalidFeeParameters error when feeAmount == 0 but feeCollector != address(0)\n */\n function testDepositToIntentWithPermitWithFeeCollectorButNoAmount_Reverts() public {\n vm.startPrank(user);\n\n address intentAddress = address(0x5678);\n address feeCollector = address(0x9999); // Fee collector provided\n uint256 amount = 50 * 10 ** token.decimals();\n uint256 feeAmount = 0; // No fee amount\n uint256 deadline = block.timestamp + 3600;\n uint256 nonce = entrypoint.nonces(user);\n\n // Create permit signature for just the amount (no fee)\n bytes32 permitHash = keccak256(\n abi.encodePacked(\n \"\\x19\\x01\",\n token.DOMAIN_SEPARATOR(),\n keccak256(\n abi.encode(\n keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\"),\n user,\n address(entrypoint),\n amount,\n token.nonces(user),\n deadline\n )\n )\n )\n );\n\n (uint8 permitV, bytes32 permitR, bytes32 permitS) = vm.sign(userPrivateKey, permitHash);\n\n // Create intent signature\n bytes32 intentHash = keccak256(\n abi.encode(\n entrypoint.TRAILS_INTENT_TYPEHASH(),\n user,\n address(token),\n amount,\n intentAddress,\n deadline,\n block.chainid,\n nonce,\n feeAmount,\n feeCollector\n )\n );\n\n bytes32 intentDigest = keccak256(abi.encodePacked(\"\\x19\\x01\", entrypoint.DOMAIN_SEPARATOR(), intentHash));\n (uint8 sigV, bytes32 sigR, bytes32 sigS) = vm.sign(userPrivateKey, intentDigest);\n\n vm.expectRevert(TrailsIntentEntrypoint.InvalidFeeParameters.selector);\n entrypoint.depositToIntentWithPermit(\n user,\n address(token),\n amount,\n amount,\n intentAddress,\n deadline,\n nonce,\n feeAmount,\n feeCollector, // Fee collector provided with no fee amount\n permitV,\n permitR,\n permitS,\n sigV,\n sigR,\n sigS\n );\n\n vm.stopPrank();\n }\n}\n"},"test/TrailsRouter.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {TrailsRouter} from \"src/TrailsRouter.sol\";\nimport {DelegatecallGuard} from \"src/guards/DelegatecallGuard.sol\";\nimport {MockSenderGetter} from \"test/mocks/MockSenderGetter.sol\";\nimport {MockERC20} from \"test/mocks/MockERC20.sol\";\nimport {MockMulticall3} from \"test/mocks/MockMulticall3.sol\";\nimport {ERC20Mock} from \"@openzeppelin/contracts/mocks/token/ERC20Mock.sol\";\nimport {IERC20Errors} from \"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\";\nimport {IDelegatedExtension} from \"wallet-contracts-v3/modules/interfaces/IDelegatedExtension.sol\";\nimport {TstoreSetter, TstoreMode, TstoreRead} from \"test/utils/TstoreUtils.sol\";\nimport {TrailsSentinelLib} from \"src/libraries/TrailsSentinelLib.sol\";\nimport {IMulticall3} from \"src/interfaces/IMulticall3.sol\";\n\n// -----------------------------------------------------------------------------\n// Helper Contracts and Structs\n// -----------------------------------------------------------------------------\n\n// Use IMulticall3.Result directly\n\n// -----------------------------------------------------------------------------\n// Mock Contracts\n// -----------------------------------------------------------------------------\n\n// A malicious token for testing transferFrom failures\ncontract FailingToken is MockERC20 {\n bool public shouldFail;\n\n constructor() MockERC20(\"Failing Token\", \"FAIL\", 18) {}\n\n function setShouldFail(bool _shouldFail) external {\n shouldFail = _shouldFail;\n }\n\n function transferFrom(address from, address to, uint256 amount) public override returns (bool) {\n if (shouldFail) {\n return false;\n }\n return super.transferFrom(from, to, amount);\n }\n}\n\n// Helper receiver that always reverts on receiving native tokens\ncontract RevertingReceiver {\n receive() external payable {\n revert(\"RevertingReceiver: revert on receive\");\n }\n}\n\n// Mock multicall that always fails (for testing storage conflicts)\ncontract AlwaysFailingMulticall3 {\n function aggregate3(IMulticall3.Call3[] calldata) external payable {\n revert(\"MockMulticall3: forced failure\");\n }\n\n function aggregate3Value(IMulticall3.Call3Value[] calldata) external payable {\n revert(\"MockMulticall3: forced failure\");\n }\n}\n\ncontract MockTarget {\n uint256 public lastAmount;\n bool public shouldRevert;\n MockERC20 public token;\n\n constructor(address _token) {\n token = MockERC20(_token);\n }\n\n function setShouldRevert(bool _shouldRevert) external {\n shouldRevert = _shouldRevert;\n }\n\n function deposit(\n uint256 amount,\n address /*receiver*/\n )\n external\n {\n if (shouldRevert) revert(\"Target reverted\");\n lastAmount = amount;\n if (address(token) != address(0)) {\n require(token.transferFrom(msg.sender, address(this), amount), \"ERC20 transferFrom failed\");\n }\n }\n}\n\ncontract MockTargetETH {\n uint256 public lastAmount;\n uint256 public receivedEth;\n bool public shouldRevert;\n\n function setShouldRevert(bool _shouldRevert) external {\n shouldRevert = _shouldRevert;\n }\n\n function depositEth(\n uint256 amount,\n address /*receiver*/\n )\n external\n payable\n {\n if (shouldRevert) revert(\"Target reverted\");\n lastAmount = amount;\n receivedEth = msg.value;\n }\n\n receive() external payable {}\n}\n\ncontract MockWallet {\n function delegateCallBalanceInjector(\n address router,\n address token,\n address target,\n bytes memory callData,\n uint256 amountOffset,\n bytes32 placeholder\n ) external payable returns (bool success, bytes memory result) {\n bytes memory data = abi.encodeWithSignature(\n \"injectAndCall(address,address,bytes,uint256,bytes32)\", token, target, callData, amountOffset, placeholder\n );\n return router.delegatecall(data);\n }\n\n function handleSequenceDelegateCall(\n address router,\n bytes32 opHash,\n uint256 startingGas,\n uint256 callIndex,\n uint256 numCalls,\n uint256 space,\n bytes memory innerCallData\n ) external payable returns (bool success, bytes memory result) {\n bytes memory data = abi.encodeWithSignature(\n \"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\",\n opHash,\n startingGas,\n callIndex,\n numCalls,\n space,\n innerCallData\n );\n return router.delegatecall(data);\n }\n\n receive() external payable {}\n}\n\n// -----------------------------------------------------------------------------\n// Test Contract\n// -----------------------------------------------------------------------------\n\ncontract TrailsRouterTest is Test {\n // -------------------------------------------------------------------------\n // Test State Variables\n // -------------------------------------------------------------------------\n\n TrailsRouter internal router;\n MockSenderGetter internal getter;\n MockERC20 internal mockToken;\n FailingToken internal failingToken;\n ERC20Mock internal erc20;\n MockTarget internal target;\n MockTargetETH internal targetEth;\n\n address internal user = makeAddr(\"user\");\n address payable public holder;\n address payable public recipient;\n\n bytes32 constant PLACEHOLDER = 0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef;\n bytes32 constant TEST_NAMESPACE = keccak256(\"org.sequence.trails.router.sentinel\");\n bytes32 constant TEST_SUCCESS_VALUE = bytes32(uint256(1));\n\n // -------------------------------------------------------------------------\n // Events and Errors\n // -------------------------------------------------------------------------\n\n // Events\n event Sweep(address indexed token, address indexed recipient, uint256 amount);\n event Refund(address indexed token, address indexed recipient, uint256 amount);\n event RefundAndSweep(\n address indexed token,\n address indexed refundRecipient,\n uint256 refundAmount,\n address indexed sweepRecipient,\n uint256 actualRefund,\n uint256 remaining\n );\n event ActualRefund(address indexed token, address indexed recipient, uint256 expected, uint256 actual);\n event BalanceInjectorCall(\n address indexed token,\n address indexed target,\n bytes32 placeholder,\n uint256 amountReplaced,\n uint256 amountOffset,\n bool success,\n bytes result\n );\n\n // -------------------------------------------------------------------------\n // Setup\n // -------------------------------------------------------------------------\n\n function setUp() public {\n // Deploy mock multicall3 at the expected address\n MockMulticall3 mockMulticall3 = new MockMulticall3();\n vm.etch(0xcA11bde05977b3631167028862bE2a173976CA11, address(mockMulticall3).code);\n\n router = new TrailsRouter(0xcA11bde05977b3631167028862bE2a173976CA11);\n getter = new MockSenderGetter();\n mockToken = new MockERC20(\"MockToken\", \"MTK\", 18);\n failingToken = new FailingToken();\n erc20 = new ERC20Mock();\n\n // Create simple MockERC20 for target\n MockERC20 simpleToken = new MockERC20(\"Simple\", \"SMP\", 18);\n target = new MockTarget(address(simpleToken));\n targetEth = new MockTargetETH();\n\n holder = payable(address(0xbabe));\n recipient = payable(address(0x1));\n\n // Install router runtime code at the holder address to simulate delegatecall context\n vm.etch(holder, address(router).code);\n\n vm.deal(user, 10 ether);\n mockToken.mint(user, 1000e18);\n failingToken.mint(user, 1000e18);\n }\n\n // -------------------------------------------------------------------------\n // Multicall3 Router Tests\n // -------------------------------------------------------------------------\n\n function test_Execute_FromEOA_ShouldPreserveEOAAsSender() public {\n address eoa = makeAddr(\"eoa\");\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n vm.prank(eoa);\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n router.execute(callData);\n }\n\n function test_Execute_FromContract_ShouldPreserveContractAsSender() public {\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n router.execute(callData);\n }\n\n function test_Execute_WithMultipleCalls() public {\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](2);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n calls[1] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n router.execute(callData);\n }\n\n function test_pullAmountAndExecute_WithValidToken_ShouldTransferAndExecute() public {\n uint256 transferAmount = 100e18;\n\n vm.prank(user);\n mockToken.approve(address(router), transferAmount);\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.prank(user);\n router.pullAmountAndExecute(address(mockToken), transferAmount, callData);\n\n // Router should have no remaining balance (swept back to user)\n assertEq(mockToken.balanceOf(address(router)), 0);\n // User gets their tokens back since multicall didn't consume them\n assertEq(mockToken.balanceOf(user), 1000e18);\n }\n\n function test_RevertWhen_pullAmountAndExecute_InsufficientAllowance() public {\n uint256 transferAmount = 100e18;\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.prank(user);\n vm.expectRevert(\n abi.encodeWithSelector(IERC20Errors.ERC20InsufficientAllowance.selector, address(router), 0, transferAmount)\n );\n router.pullAmountAndExecute(address(mockToken), transferAmount, callData);\n }\n\n function test_pullAndExecute_WithValidToken_ShouldTransferFullBalanceAndExecute() public {\n uint256 userBalance = mockToken.balanceOf(user);\n\n vm.prank(user);\n mockToken.approve(address(router), userBalance);\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.prank(user);\n router.pullAndExecute(address(mockToken), callData);\n\n // Router should have no remaining balance (dust refunded back to user)\n assertEq(mockToken.balanceOf(address(router)), 0);\n // User gets their tokens back since multicall didn't consume them\n assertEq(mockToken.balanceOf(user), userBalance);\n }\n\n function test_RevertWhen_pullAndExecute_InsufficientAllowance() public {\n uint256 userBalance = mockToken.balanceOf(user);\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.prank(user);\n vm.expectRevert(\n abi.encodeWithSelector(IERC20Errors.ERC20InsufficientAllowance.selector, address(router), 0, userBalance)\n );\n router.pullAndExecute(address(mockToken), callData);\n }\n\n function test_ReceiveETH_ShouldAcceptETH() public {\n uint256 depositAmount = 1 ether;\n\n vm.prank(user);\n (bool success,) = address(router).call{value: depositAmount}(\"\");\n assertTrue(success);\n\n assertEq(address(router).balance, depositAmount);\n }\n\n function test_Multicall3Address_IsCorrect() public view {\n assertEq(router.MULTICALL3(), 0xcA11bde05977b3631167028862bE2a173976CA11);\n }\n\n // -------------------------------------------------------------------------\n // Balance Injection Tests\n // -------------------------------------------------------------------------\n\n function testInjectSweepAndCall() public {\n MockERC20 testToken = new MockERC20(\"Test\", \"TST\", 18);\n MockTarget testTarget = new MockTarget(address(testToken));\n\n uint256 tokenBalance = 1000e18;\n testToken.mint(address(this), tokenBalance);\n testToken.approve(address(router), tokenBalance);\n\n bytes memory callData = abi.encodeWithSignature(\"deposit(uint256,address)\", PLACEHOLDER, address(0x123));\n\n router.injectSweepAndCall(address(testToken), address(testTarget), callData, 4, PLACEHOLDER);\n\n assertEq(testTarget.lastAmount(), tokenBalance);\n assertEq(testToken.balanceOf(address(this)), 0);\n assertEq(testToken.balanceOf(address(testTarget)), tokenBalance);\n }\n\n function testInjectSweepAndCall_WithToken_IncorrectValue() public {\n MockERC20 testToken = new MockERC20(\"Test\", \"TST\", 18);\n MockTarget testTarget = new MockTarget(address(testToken));\n\n uint256 tokenBalance = 1000e18;\n uint256 incorrectValue = 1 ether;\n testToken.mint(address(this), tokenBalance);\n testToken.approve(address(router), tokenBalance);\n\n bytes memory callData = abi.encodeWithSignature(\"deposit(uint256,address)\", PLACEHOLDER, address(0x123));\n\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.IncorrectValue.selector, 0, incorrectValue));\n router.injectSweepAndCall{value: incorrectValue}(\n address(testToken), address(testTarget), callData, 4, PLACEHOLDER\n );\n }\n\n function testSweepAndCallETH() public {\n uint256 ethAmount = 1 ether;\n\n bytes memory callData = abi.encodeWithSignature(\"depositEth(uint256,address)\", PLACEHOLDER, address(0x123));\n\n router.injectSweepAndCall{value: ethAmount}(address(0), address(targetEth), callData, 4, PLACEHOLDER);\n\n assertEq(targetEth.lastAmount(), ethAmount);\n assertEq(targetEth.receivedEth(), ethAmount);\n assertEq(address(targetEth).balance, ethAmount);\n }\n\n function testRevertWhen_injectSweepAndCall_InsufficientAllowance() public {\n uint256 balance = 1e18;\n mockToken.mint(address(this), balance);\n\n bytes memory callData = abi.encodeWithSignature(\"deposit(uint256,address)\", PLACEHOLDER, address(0x123));\n\n vm.expectRevert(\n abi.encodeWithSelector(IERC20Errors.ERC20InsufficientAllowance.selector, address(router), 0, balance)\n );\n router.injectSweepAndCall(address(mockToken), address(target), callData, 4, PLACEHOLDER);\n }\n\n function testRevertWhen_injectSweepAndCall_NoValueAvailable() public {\n bytes memory callData = abi.encodeWithSignature(\"depositEth(uint256,address)\", PLACEHOLDER, address(0x123));\n\n vm.prank(user);\n vm.expectRevert(TrailsRouter.NoValueAvailable.selector);\n router.injectSweepAndCall{value: 0}(address(0), address(targetEth), callData, 4, PLACEHOLDER);\n }\n\n function testDelegateCallWithETH() public {\n MockWallet wallet = new MockWallet();\n\n uint256 ethAmount = 2 ether;\n vm.deal(address(wallet), ethAmount);\n\n bytes memory callData = abi.encodeWithSignature(\"depositEth(uint256,address)\", PLACEHOLDER, address(0x123));\n\n (bool success,) = wallet.delegateCallBalanceInjector(\n address(router), address(0), address(targetEth), callData, 4, PLACEHOLDER\n );\n\n assertTrue(success, \"Delegatecall should succeed\");\n assertEq(targetEth.lastAmount(), ethAmount, \"Target should receive wallet's ETH balance\");\n assertEq(address(wallet).balance, 0, \"Wallet should be swept empty\");\n }\n\n function testRevertWhen_injectAndCall_UnexpectedValue() public {\n bytes memory callData = abi.encodeWithSignature(\"depositEth(uint256,address)\", PLACEHOLDER, address(0x123));\n\n vm.deal(holder, 1 ether);\n vm.prank(holder);\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.IncorrectValue.selector, 0, 1 ether));\n TrailsRouter(holder).injectAndCall{value: 1 ether}(address(0), address(targetEth), callData, 4, PLACEHOLDER);\n }\n\n function testRevertWhen_injectAndCall_NoValueAvailable() public {\n bytes memory callData = abi.encodeWithSignature(\"depositEth(uint256,address)\", PLACEHOLDER, address(0x123));\n\n vm.expectRevert(TrailsRouter.NoValueAvailable.selector);\n TrailsRouter(holder).injectAndCall(address(0), address(targetEth), callData, 4, PLACEHOLDER);\n }\n\n // -------------------------------------------------------------------------\n // Token Sweeper Tests\n // -------------------------------------------------------------------------\n\n function test_sweep_nativeToken() public {\n uint256 amount = 1 ether;\n vm.deal(holder, amount);\n\n uint256 recipientBalanceBefore = recipient.balance;\n\n vm.expectEmit(true, true, false, false);\n emit Sweep(address(0), recipient, amount);\n TrailsRouter(holder).sweep(address(0), recipient);\n uint256 recipientBalanceAfter = recipient.balance;\n\n assertEq(holder.balance, 0);\n assertEq(recipientBalanceAfter - recipientBalanceBefore, amount);\n }\n\n function test_sweep_erc20Token() public {\n uint256 amount = 100 * 1e18;\n erc20.mint(holder, amount);\n uint256 recipientBalanceBefore = erc20.balanceOf(recipient);\n\n vm.expectEmit(true, true, false, false);\n emit Sweep(address(erc20), recipient, amount);\n TrailsRouter(holder).sweep(address(erc20), recipient);\n uint256 recipientBalanceAfter = erc20.balanceOf(recipient);\n\n assertEq(erc20.balanceOf(holder), 0);\n assertEq(recipientBalanceAfter - recipientBalanceBefore, amount);\n }\n\n function test_refundAndSweep_native_partialRefund() public {\n address refundRecipient = address(0x101);\n address sweepRecipient = address(0x102);\n\n uint256 amount = 3 ether;\n vm.deal(holder, amount);\n\n vm.expectEmit(true, true, false, false);\n emit Refund(address(0), refundRecipient, 1 ether);\n vm.expectEmit(true, true, false, false);\n emit Sweep(address(0), sweepRecipient, 2 ether);\n vm.expectEmit(true, true, false, false);\n emit RefundAndSweep(address(0), refundRecipient, 1 ether, sweepRecipient, 1 ether, 2 ether);\n\n TrailsRouter(holder).refundAndSweep(address(0), refundRecipient, 1 ether, sweepRecipient);\n\n assertEq(holder.balance, 0);\n assertEq(refundRecipient.balance, 1 ether);\n assertEq(sweepRecipient.balance, 2 ether);\n }\n\n function test_refundAndSweep_erc20_partialRefund() public {\n address refundRecipient = address(0x301);\n address sweepRecipient = address(0x302);\n\n uint256 amount = 300 * 1e18;\n uint256 refund = 120 * 1e18;\n erc20.mint(holder, amount);\n\n vm.expectEmit(true, true, false, false);\n emit Refund(address(erc20), refundRecipient, refund);\n vm.expectEmit(true, true, false, false);\n emit Sweep(address(erc20), sweepRecipient, amount - refund);\n vm.expectEmit(true, true, false, false);\n emit RefundAndSweep(address(erc20), refundRecipient, refund, sweepRecipient, refund, amount - refund);\n\n TrailsRouter(holder).refundAndSweep(address(erc20), refundRecipient, refund, sweepRecipient);\n\n assertEq(erc20.balanceOf(holder), 0);\n assertEq(erc20.balanceOf(refundRecipient), refund);\n assertEq(erc20.balanceOf(sweepRecipient), amount - refund);\n }\n\n function test_validateOpHashAndSweep_native_success() public {\n // Force tstore active for delegated storage context (holder)\n TstoreMode.setActive(holder);\n\n bytes32 opHash = keccak256(\"test-op-hash\");\n vm.deal(holder, 1 ether);\n\n // Compute slot using the same logic as TrailsSentinelLib.successSlot\n bytes32 namespace = TEST_NAMESPACE;\n bytes32 slot;\n assembly {\n mstore(0x00, namespace)\n mstore(0x20, opHash)\n slot := keccak256(0x00, 0x40)\n }\n\n // Set transient storage inline at holder's context using bytecode deployment\n // tstore(slot, value) - slot must be on top of stack\n bytes memory setTstoreCode = abi.encodePacked(\n hex\"7f\",\n TEST_SUCCESS_VALUE, // push32 value\n hex\"7f\",\n slot, // push32 slot (on top)\n hex\"5d\", // tstore(slot, value)\n hex\"00\" // stop\n );\n\n bytes memory routerCode = address(router).code;\n vm.etch(holder, setTstoreCode);\n (bool ok,) = holder.call(\"\");\n assertTrue(ok, \"tstore set failed\");\n vm.etch(holder, routerCode);\n\n bytes memory data =\n abi.encodeWithSelector(TrailsRouter.validateOpHashAndSweep.selector, bytes32(0), address(0), recipient);\n vm.expectEmit(true, true, false, false);\n emit Sweep(address(0), recipient, 1 ether);\n IDelegatedExtension(holder).handleSequenceDelegateCall(opHash, 0, 0, 0, 0, data);\n\n assertEq(holder.balance, 0);\n assertEq(recipient.balance, 1 ether);\n }\n\n function test_validateOpHashAndSweep_native_success_tstore() public {\n // Force tstore active for delegated storage context (holder)\n TstoreMode.setActive(holder);\n\n // Arrange\n bytes32 opHash = keccak256(\"test-op-hash-tstore\");\n vm.deal(holder, 1 ether);\n\n // Pre-write success sentinel using tstore at the delegated storage of `holder`.\n bytes32 slot = keccak256(abi.encode(TEST_NAMESPACE, opHash));\n bytes memory routerCode = address(router).code;\n vm.etch(holder, address(new TstoreSetter()).code);\n (bool ok,) = holder.call(abi.encodeWithSelector(TstoreSetter.set.selector, slot, TEST_SUCCESS_VALUE));\n assertTrue(ok, \"tstore set failed\");\n vm.etch(holder, routerCode);\n\n // Act via delegated entrypoint\n bytes memory data =\n abi.encodeWithSelector(TrailsRouter.validateOpHashAndSweep.selector, bytes32(0), address(0), recipient);\n vm.expectEmit(true, true, false, false);\n emit Sweep(address(0), recipient, 1 ether);\n IDelegatedExtension(holder).handleSequenceDelegateCall(opHash, 0, 0, 0, 0, data);\n\n // Assert: with tstore active, the sstore slot should remain zero\n uint256 storedS = uint256(vm.load(holder, slot));\n assertEq(storedS, 0);\n assertEq(holder.balance, 0);\n assertEq(recipient.balance, 1 ether);\n\n // Read via tload\n slot = bytes32(TrailsSentinelLib.successSlot(opHash));\n uint256 storedT = TstoreRead.tloadAt(holder, slot);\n assertEq(storedT, TrailsSentinelLib.SUCCESS_VALUE);\n }\n\n function test_handleSequenceDelegateCall_dispatches_to_sweep_native() public {\n uint256 amount = 1 ether;\n vm.deal(holder, amount);\n\n bytes memory data = abi.encodeWithSelector(TrailsRouter.sweep.selector, address(0), recipient);\n\n vm.expectEmit(true, true, false, false);\n emit Sweep(address(0), recipient, amount);\n\n IDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, data);\n\n assertEq(holder.balance, 0);\n assertEq(recipient.balance, amount);\n }\n\n function test_handleSequenceDelegateCall_invalid_selector_reverts() public {\n bytes memory data = hex\"deadbeef\";\n\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.InvalidDelegatedSelector.selector, bytes4(0xdeadbeef)));\n IDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, data);\n }\n\n function test_direct_sweep_reverts_not_delegatecall() public {\n vm.expectRevert(DelegatecallGuard.NotDelegateCall.selector);\n router.sweep(address(0), recipient);\n }\n\n function test_native_transfer_failed() public {\n RevertingReceiver revertingReceiver = new RevertingReceiver();\n\n // Give holder some ETH to sweep\n vm.deal(holder, 1 ether);\n\n // Verify holder has ETH\n assertEq(holder.balance, 1 ether);\n\n vm.expectRevert(TrailsRouter.NativeTransferFailed.selector);\n // Call sweep through holder to simulate delegatecall context\n (bool success,) =\n holder.call(abi.encodeWithSelector(router.sweep.selector, address(0), address(revertingReceiver)));\n success;\n }\n\n function test_success_sentinel_not_set() public {\n bytes32 opHash = keccak256(\"test operation\");\n address token = address(mockToken);\n address recipientAddr = recipient;\n\n vm.expectRevert(TrailsRouter.SuccessSentinelNotSet.selector);\n // Call through holder to simulate delegatecall context\n (bool success,) =\n holder.call(abi.encodeWithSelector(router.validateOpHashAndSweep.selector, opHash, token, recipientAddr));\n success;\n }\n\n function test_no_tokens_to_pull() public {\n address token = address(new MockERC20(\"Test\", \"TST\", 18)); // New token, caller has 0 balance\n\n // Use a valid aggregate3 call so selector validation passes and we hit NoTokensToPull\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.expectRevert(TrailsRouter.NoTokensToPull.selector);\n router.pullAndExecute(token, callData);\n }\n\n function test_no_tokens_to_sweep() public {\n address token = address(new MockERC20(\"Test\", \"TST\", 18)); // New token, contract has 0 balance\n MockTarget mockTarget = new MockTarget(address(token));\n bytes memory callData = abi.encodeWithSelector(mockTarget.deposit.selector, 100, address(0));\n\n vm.expectRevert(TrailsRouter.NoTokensToSweep.selector);\n // Call through holder to simulate delegatecall context\n (bool success,) = holder.call(\n abi.encodeWithSelector(router.injectAndCall.selector, token, address(mockTarget), callData, 0, bytes32(0))\n );\n success;\n }\n\n function test_amount_offset_out_of_bounds() public {\n MockTarget mockTarget = new MockTarget(address(mockToken));\n // Create callData that's too short for the amountOffset\n bytes memory callData = hex\"12345678\"; // 4 bytes, less than amountOffset + 32 = 36 + 32 = 68\n uint256 amountOffset = 36; // This will make amountOffset + 32 = 68 > callData.length\n\n vm.expectRevert(TrailsRouter.AmountOffsetOutOfBounds.selector);\n // Call through holder to simulate delegatecall context\n (bool success,) = holder.call(\n abi.encodeWithSelector(\n router.injectAndCall.selector,\n address(mockToken),\n address(mockTarget),\n callData,\n amountOffset,\n bytes32(uint256(0xdeadbeef))\n )\n );\n success;\n }\n\n function test_placeholder_mismatch() public {\n MockTarget mockTarget = new MockTarget(address(mockToken));\n // Create callData with wrong placeholder\n bytes32 wrongPlaceholder = bytes32(uint256(0x12345678));\n bytes32 expectedPlaceholder = bytes32(uint256(0xdeadbeef));\n bytes memory callData = abi.encodeWithSelector(mockTarget.deposit.selector, wrongPlaceholder, address(0));\n\n vm.expectRevert(TrailsRouter.PlaceholderMismatch.selector);\n // Call through holder to simulate delegatecall context\n (bool success,) = holder.call(\n abi.encodeWithSelector(\n router.injectAndCall.selector, address(mockToken), address(mockTarget), callData, 4, expectedPlaceholder\n )\n );\n success;\n }\n\n function test_pullAndExecute_WithETH_ShouldTransferAndExecute() public {\n uint256 ethAmount = 1 ether;\n vm.deal(user, ethAmount);\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.prank(user);\n router.pullAndExecute{value: ethAmount}(address(0), callData);\n\n // Router should have no remaining balance (dust refunded back to user)\n assertEq(address(router).balance, 0);\n // User gets their ETH back since multicall didn't consume it\n assertEq(user.balance, ethAmount);\n }\n\n function test_pullAndExecute_WithETH_NoEthSent() public {\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.prank(user);\n vm.expectRevert(TrailsRouter.NoValueAvailable.selector);\n router.pullAndExecute(address(0), callData);\n }\n\n function test_pullAndExecute_WithToken_IncorrectValue() public {\n uint256 transferAmount = 100e18;\n uint256 incorrectValue = 1 ether;\n\n vm.prank(user);\n mockToken.approve(address(router), transferAmount);\n\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(getter), allowFailure: false, value: 0, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3Value((address,bool,uint256,bytes)[])\", calls);\n\n vm.deal(user, incorrectValue);\n vm.prank(user);\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.IncorrectValue.selector, 0, incorrectValue));\n router.pullAndExecute{value: incorrectValue}(address(mockToken), callData);\n }\n\n function test_pullAmountAndExecute_WithETH_ShouldTransferAndExecute() public {\n uint256 ethAmount = 1 ether;\n vm.deal(user, ethAmount);\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.prank(user);\n router.pullAmountAndExecute{value: ethAmount}(address(0), ethAmount, callData);\n\n // Router should have no remaining balance (swept back to user)\n assertEq(address(router).balance, 0);\n // User gets their ETH back since multicall didn't consume it\n assertEq(user.balance, ethAmount);\n }\n\n function test_pullAmountAndExecute_WithETH_IncorrectValue() public {\n uint256 requiredAmount = 1 ether;\n uint256 sentAmount = 0.5 ether;\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.prank(user);\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.IncorrectValue.selector, requiredAmount, sentAmount));\n router.pullAmountAndExecute{value: sentAmount}(address(0), requiredAmount, callData);\n }\n\n function test_pullAmountAndExecute_WithToken_ShouldTransferAndExecute() public {\n uint256 transferAmount = 100e18;\n\n vm.prank(user);\n mockToken.approve(address(router), transferAmount);\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.prank(user);\n router.pullAmountAndExecute(address(mockToken), transferAmount, callData);\n\n // Router should have no remaining balance (dust refunded back to user)\n assertEq(mockToken.balanceOf(address(router)), 0);\n // User gets their tokens back since multicall didn't consume them\n assertEq(mockToken.balanceOf(user), 1000e18);\n }\n\n function test_pullAmountAndExecute_WithToken_IncorrectValue() public {\n uint256 transferAmount = 100e18;\n uint256 incorrectValue = 1 ether;\n\n vm.prank(user);\n mockToken.approve(address(router), transferAmount);\n\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(getter), allowFailure: false, value: 0, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3Value((address,bool,uint256,bytes)[])\", calls);\n\n vm.deal(user, incorrectValue);\n vm.prank(user);\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.IncorrectValue.selector, 0, incorrectValue));\n router.pullAmountAndExecute{value: incorrectValue}(address(mockToken), transferAmount, callData);\n }\n\n function testExecute_WithFailingMulticall() public {\n // Save original multicall code\n bytes memory originalCode = 0xcA11bde05977b3631167028862bE2a173976CA11.code;\n\n // Deploy and etch always-failing multicall (doesn't use storage, always reverts)\n AlwaysFailingMulticall3 failingMulticall = new AlwaysFailingMulticall3();\n vm.etch(0xcA11bde05977b3631167028862bE2a173976CA11, address(failingMulticall).code);\n\n // Verify the etch worked\n assertEq(keccak256(0xcA11bde05977b3631167028862bE2a173976CA11.code), keccak256(address(failingMulticall).code));\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.expectRevert(\n abi.encodeWithSelector(\n TrailsRouter.TargetCallFailed.selector,\n abi.encodeWithSignature(\"Error(string)\", \"MockMulticall3: forced failure\")\n )\n );\n router.execute(callData);\n\n // Restore original code\n vm.etch(0xcA11bde05977b3631167028862bE2a173976CA11, originalCode);\n }\n\n function test_pullAndExecute_WithFailingMulticall() public {\n uint256 transferAmount = 100e18;\n\n // Save original multicall code\n bytes memory originalCode = 0xcA11bde05977b3631167028862bE2a173976CA11.code;\n\n // Deploy and etch always-failing multicall (doesn't use storage, always reverts)\n AlwaysFailingMulticall3 failingMulticall = new AlwaysFailingMulticall3();\n vm.etch(0xcA11bde05977b3631167028862bE2a173976CA11, address(failingMulticall).code);\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n // Give tokens to the test contract (which will be msg.sender) and approve\n mockToken.mint(address(this), transferAmount);\n mockToken.approve(address(router), transferAmount);\n\n vm.expectRevert(\n abi.encodeWithSelector(\n TrailsRouter.TargetCallFailed.selector,\n abi.encodeWithSignature(\"Error(string)\", \"MockMulticall3: forced failure\")\n )\n );\n router.pullAndExecute(address(mockToken), callData);\n\n // Restore original code\n vm.etch(0xcA11bde05977b3631167028862bE2a173976CA11, originalCode);\n }\n\n function testInjectSweepAndCall_WithETH_ZeroBalance() public {\n bytes memory callData = abi.encodeWithSignature(\"depositEth(uint256,address)\", PLACEHOLDER, address(0x123));\n\n vm.expectRevert(TrailsRouter.NoValueAvailable.selector);\n router.injectSweepAndCall{value: 0}(address(0), address(targetEth), callData, 4, PLACEHOLDER);\n }\n\n function testInjectSweepAndCall_WithToken_ZeroBalance() public {\n MockERC20 zeroToken = new MockERC20(\"Zero\", \"ZERO\", 18);\n bytes memory callData = abi.encodeWithSignature(\"deposit(uint256,address)\", PLACEHOLDER, address(0));\n\n vm.expectRevert(TrailsRouter.NoTokensToSweep.selector);\n router.injectSweepAndCall(address(zeroToken), address(target), callData, 4, PLACEHOLDER);\n }\n\n function testInjectAndCall_WithZeroBalance() public {\n bytes memory callData = abi.encodeWithSignature(\"depositEth(uint256,address)\", PLACEHOLDER, address(0x123));\n\n vm.prank(holder);\n vm.expectRevert(TrailsRouter.NoValueAvailable.selector);\n TrailsRouter(holder).injectAndCall(address(0), address(targetEth), callData, 4, PLACEHOLDER);\n }\n\n function testInjectAndCall_WithTokenZeroBalance() public {\n MockERC20 zeroToken = new MockERC20(\"Zero\", \"ZERO\", 18);\n bytes memory callData = abi.encodeWithSignature(\"deposit(uint256,address)\", PLACEHOLDER, address(0));\n\n vm.prank(holder);\n vm.expectRevert(TrailsRouter.NoTokensToSweep.selector);\n TrailsRouter(holder).injectAndCall(address(zeroToken), address(target), callData, 4, PLACEHOLDER);\n }\n\n function testInjectSweepAndCall_WithETH_TargetCallFails() public {\n uint256 ethAmount = 1 ether;\n\n bytes memory callData = abi.encodeWithSignature(\"depositEth(uint256,address)\", PLACEHOLDER, address(0x123));\n\n // Make target revert\n targetEth.setShouldRevert(true);\n\n vm.expectRevert(\n abi.encodeWithSelector(\n TrailsRouter.TargetCallFailed.selector, abi.encodeWithSignature(\"Error(string)\", \"Target reverted\")\n )\n );\n router.injectSweepAndCall{value: ethAmount}(address(0), address(targetEth), callData, 4, PLACEHOLDER);\n }\n\n function testInjectSweepAndCall_WithToken_TargetCallFails() public {\n MockERC20 testToken = new MockERC20(\"Test\", \"TST\", 18);\n MockTarget testTarget = new MockTarget(address(testToken));\n\n uint256 tokenBalance = 1000e18;\n testToken.mint(address(this), tokenBalance);\n testToken.approve(address(router), tokenBalance);\n\n bytes memory callData = abi.encodeWithSignature(\"deposit(uint256,address)\", PLACEHOLDER, address(0x123));\n\n // Make target revert\n testTarget.setShouldRevert(true);\n\n vm.expectRevert(\n abi.encodeWithSelector(\n TrailsRouter.TargetCallFailed.selector, abi.encodeWithSignature(\"Error(string)\", \"Target reverted\")\n )\n );\n router.injectSweepAndCall(address(testToken), address(testTarget), callData, 4, PLACEHOLDER);\n }\n\n function testRefundAndSweep_FullRefund() public {\n address refundRecipient = address(0x201);\n address sweepRecipient = address(0x202);\n\n uint256 amount = 3 ether;\n vm.deal(holder, amount);\n\n vm.expectEmit(true, true, false, false);\n emit Refund(address(0), refundRecipient, amount);\n vm.expectEmit(true, true, false, false);\n emit RefundAndSweep(address(0), refundRecipient, amount, sweepRecipient, amount, 0);\n\n TrailsRouter(holder).refundAndSweep(address(0), refundRecipient, amount, sweepRecipient);\n\n assertEq(holder.balance, 0);\n assertEq(refundRecipient.balance, amount);\n assertEq(sweepRecipient.balance, 0);\n }\n\n function testRefundAndSweep_PartialRefundERC20() public {\n address refundRecipient = address(0x301);\n address sweepRecipient = address(0x302);\n\n uint256 amount = 300 * 1e18;\n uint256 refundRequested = 400 * 1e18; // More than available\n erc20.mint(holder, amount);\n\n vm.expectEmit(true, true, false, false);\n emit ActualRefund(address(erc20), refundRecipient, refundRequested, amount);\n vm.expectEmit(true, true, false, false);\n emit Refund(address(erc20), refundRecipient, amount); // Refund full amount available\n vm.expectEmit(true, true, false, false);\n emit RefundAndSweep(address(erc20), refundRecipient, refundRequested, sweepRecipient, amount, 0);\n\n TrailsRouter(holder).refundAndSweep(address(erc20), refundRecipient, refundRequested, sweepRecipient);\n\n assertEq(erc20.balanceOf(holder), 0);\n assertEq(erc20.balanceOf(refundRecipient), amount);\n assertEq(erc20.balanceOf(sweepRecipient), 0);\n }\n\n function testRefundAndSweep_ZeroRefundAmount() public {\n address refundRecipient = address(0x401);\n address sweepRecipient = address(0x402);\n\n uint256 amount = 3 ether;\n uint256 refundRequested = 0;\n vm.deal(holder, amount);\n\n vm.expectEmit(true, true, false, false);\n emit Sweep(address(0), sweepRecipient, amount);\n vm.expectEmit(true, true, false, false);\n emit RefundAndSweep(address(0), refundRecipient, refundRequested, sweepRecipient, 0, amount);\n\n TrailsRouter(holder).refundAndSweep(address(0), refundRecipient, refundRequested, sweepRecipient);\n\n assertEq(holder.balance, 0);\n assertEq(refundRecipient.balance, 0);\n assertEq(sweepRecipient.balance, amount);\n }\n\n function testValidateOpHashAndSweep_WithoutSentinel() public {\n bytes32 opHash = keccak256(\"test operation without sentinel\");\n address token = address(mockToken);\n address recipientAddr = recipient;\n\n vm.expectRevert(TrailsRouter.SuccessSentinelNotSet.selector);\n // Call through holder to simulate delegatecall context\n (bool success,) =\n holder.call(abi.encodeWithSelector(router.validateOpHashAndSweep.selector, opHash, token, recipientAddr));\n success;\n }\n\n function testHandleSequenceDelegateCall_InjectAndCall() public {\n uint256 ethAmount = 1 ether;\n vm.deal(holder, ethAmount);\n\n bytes memory callData = abi.encodeWithSignature(\"depositEth(uint256,address)\", PLACEHOLDER, address(0x123));\n bytes memory innerData = abi.encodeWithSelector(\n router.injectAndCall.selector, address(0), address(targetEth), callData, uint256(4), PLACEHOLDER\n );\n\n IDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, innerData);\n\n assertEq(holder.balance, 0);\n assertEq(address(targetEth).balance, ethAmount);\n assertEq(targetEth.lastAmount(), ethAmount);\n }\n\n function testHandleSequenceDelegateCall_Sweep() public {\n uint256 amount = 1 ether;\n vm.deal(holder, amount);\n\n bytes memory innerData = abi.encodeWithSelector(router.sweep.selector, address(0), recipient);\n\n IDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, innerData);\n\n assertEq(holder.balance, 0);\n assertEq(recipient.balance, amount);\n }\n\n function testHandleSequenceDelegateCall_RefundAndSweep() public {\n address refundRecipient = address(0x501);\n address sweepRecipient = address(0x502);\n\n uint256 amount = 3 ether;\n vm.deal(holder, amount);\n\n bytes memory innerData = abi.encodeWithSelector(\n router.refundAndSweep.selector, address(0), refundRecipient, uint256(1 ether), sweepRecipient\n );\n\n IDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, innerData);\n\n assertEq(holder.balance, 0);\n assertEq(refundRecipient.balance, 1 ether);\n assertEq(sweepRecipient.balance, 2 ether);\n }\n\n function testHandleSequenceDelegateCall_ValidateOpHashAndSweep() public {\n // Force tstore active for delegated storage context (holder)\n TstoreMode.setActive(holder);\n\n bytes32 opHash = keccak256(\"test-op-hash-delegated\");\n vm.deal(holder, 1 ether);\n\n // Set sentinel\n bytes32 slot = keccak256(abi.encode(TEST_NAMESPACE, opHash));\n bytes memory setTstoreCode = abi.encodePacked(hex\"7f\", TEST_SUCCESS_VALUE, hex\"7f\", slot, hex\"5d\", hex\"00\");\n\n bytes memory routerCode = address(router).code;\n vm.etch(holder, setTstoreCode);\n (bool ok,) = holder.call(\"\");\n assertTrue(ok, \"tstore set failed\");\n vm.etch(holder, routerCode);\n\n bytes memory innerData =\n abi.encodeWithSelector(router.validateOpHashAndSweep.selector, bytes32(0), address(0), recipient);\n\n IDelegatedExtension(holder).handleSequenceDelegateCall(opHash, 0, 0, 0, 0, innerData);\n\n assertEq(holder.balance, 0);\n assertEq(recipient.balance, 1 ether);\n }\n\n function testInjectAndCall_NoReplacementNeeded() public {\n MockERC20 testToken = new MockERC20(\"Test\", \"TST\", 18);\n MockTarget testTarget = new MockTarget(address(testToken));\n\n uint256 tokenBalance = 1000e18;\n testToken.mint(holder, tokenBalance);\n\n // Call data with placeholder at offset 4 (after selector)\n bytes memory callData = abi.encodeWithSignature(\"deposit(uint256,address)\", PLACEHOLDER, address(0x123));\n uint256 amountOffset = 4; // Offset to the uint256 parameter\n bytes32 placeholder = PLACEHOLDER;\n\n // Event is emitted during the call\n\n TrailsRouter(holder).injectAndCall(address(testToken), address(testTarget), callData, amountOffset, placeholder);\n\n assertEq(testTarget.lastAmount(), tokenBalance); // Should use the replaced value\n assertEq(testToken.balanceOf(holder), 0);\n assertEq(testToken.balanceOf(address(testTarget)), tokenBalance);\n }\n\n function testInjectAndCall_WithReplacement() public {\n MockERC20 testToken = new MockERC20(\"Test\", \"TST\", 18);\n MockTarget testTarget = new MockTarget(address(testToken));\n\n uint256 tokenBalance = 1000e18;\n testToken.mint(holder, tokenBalance);\n\n bytes memory callData = abi.encodeWithSignature(\"deposit(uint256,address)\", PLACEHOLDER, address(0x123));\n uint256 amountOffset = 4;\n bytes32 placeholder = PLACEHOLDER;\n\n vm.expectEmit(true, true, false, false);\n emit BalanceInjectorCall(\n address(testToken), address(testTarget), placeholder, tokenBalance, amountOffset, true, \"\"\n );\n\n TrailsRouter(holder).injectAndCall(address(testToken), address(testTarget), callData, amountOffset, placeholder);\n\n assertEq(testTarget.lastAmount(), tokenBalance);\n assertEq(testToken.balanceOf(holder), 0);\n assertEq(testToken.balanceOf(address(testTarget)), tokenBalance);\n }\n\n function trailsRouterHelperInjectAndCall(\n address token,\n address targetAddress,\n bytes memory callData,\n uint256 amountOffset,\n bytes32 placeholder,\n uint256 ethBalance\n ) internal {\n address wallet = address(0xcafe);\n vm.etch(wallet, address(router).code);\n vm.deal(wallet, ethBalance);\n vm.expectCall(targetAddress, ethBalance, callData);\n (bool success,) = wallet.call(\n abi.encodeWithSignature(\n \"injectAndCall(address,address,bytes,uint256,bytes32)\",\n token,\n targetAddress,\n callData,\n amountOffset,\n placeholder\n )\n );\n vm.assertEq(success, false, \"helper should bubble revert for assertions\");\n }\n\n function testNativeTransferFailure() public {\n RevertingReceiver revertingReceiver = new RevertingReceiver();\n\n vm.deal(holder, 1 ether);\n\n // This should exercise the _transferNative function and cause NativeTransferFailed\n vm.expectRevert(TrailsRouter.NativeTransferFailed.selector);\n TrailsRouter(holder).sweep(address(0), address(revertingReceiver));\n }\n\n function testIncorrectValueValidation() public {\n uint256 requiredAmount = 2 ether;\n uint256 sentAmount = 1 ether;\n\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.IncorrectValue.selector, requiredAmount, sentAmount));\n router.pullAmountAndExecute{value: sentAmount}(address(0), requiredAmount, callData);\n }\n\n // =========================================================================\n // SEQ-3: AllowFailure Validation Tests\n // =========================================================================\n\n /**\n * @notice Test that pullAmountAndExecute reverts when allowFailure is true for a single call\n * @dev Validates the fix for SEQ-3 - preventing silent execution failures\n */\n function test_RevertWhen_allowFailure_true_singleCall() public {\n erc20.mint(user, 100 ether);\n vm.startPrank(user);\n erc20.approve(address(router), 100 ether);\n\n // Create a call with allowFailure=true (should be rejected)\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter),\n allowFailure: true, // This should cause revert\n callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n // Should revert with AllowFailureMustBeFalse error for index 0\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.AllowFailureMustBeFalse.selector, 0));\n router.pullAmountAndExecute(address(erc20), 10 ether, callData);\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test that pullAmountAndExecute reverts when allowFailure is true in the first of multiple calls\n * @dev Verifies that validation catches allowFailure=true at index 0\n */\n function test_RevertWhen_allowFailure_true_firstOfMultipleCalls() public {\n erc20.mint(user, 100 ether);\n vm.startPrank(user);\n erc20.approve(address(router), 100 ether);\n\n // Create multiple calls where the first one has allowFailure=true\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](3);\n calls[0] = IMulticall3.Call3({\n target: address(getter),\n allowFailure: true, // This should cause revert\n callData: abi.encodeWithSignature(\"getSender()\")\n });\n calls[1] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n calls[2] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n // Should revert with AllowFailureMustBeFalse error for index 0\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.AllowFailureMustBeFalse.selector, 0));\n router.pullAmountAndExecute(address(erc20), 10 ether, callData);\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test that pullAmountAndExecute reverts when allowFailure is true in the middle of multiple calls\n * @dev Verifies that validation catches allowFailure=true at index 1\n */\n function test_RevertWhen_allowFailure_true_middleOfMultipleCalls() public {\n erc20.mint(user, 100 ether);\n vm.startPrank(user);\n erc20.approve(address(router), 100 ether);\n\n // Create multiple calls where the second one has allowFailure=true\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](3);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n calls[1] = IMulticall3.Call3({\n target: address(getter),\n allowFailure: true, // This should cause revert\n callData: abi.encodeWithSignature(\"getSender()\")\n });\n calls[2] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n // Should revert with AllowFailureMustBeFalse error for index 1\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.AllowFailureMustBeFalse.selector, 1));\n router.pullAmountAndExecute(address(erc20), 10 ether, callData);\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test that pullAmountAndExecute reverts when allowFailure is true in the last of multiple calls\n * @dev Verifies that validation catches allowFailure=true at index 2\n */\n function test_RevertWhen_allowFailure_true_lastOfMultipleCalls() public {\n erc20.mint(user, 100 ether);\n vm.startPrank(user);\n erc20.approve(address(router), 100 ether);\n\n // Create multiple calls where the last one has allowFailure=true\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](3);\n calls[0] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n calls[1] = IMulticall3.Call3({\n target: address(getter), allowFailure: false, callData: abi.encodeWithSignature(\"getSender()\")\n });\n calls[2] = IMulticall3.Call3({\n target: address(getter),\n allowFailure: true, // This should cause revert\n callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n // Should revert with AllowFailureMustBeFalse error for index 2\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.AllowFailureMustBeFalse.selector, 2));\n router.pullAmountAndExecute(address(erc20), 10 ether, callData);\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test that pullAmountAndExecute reverts when all calls have allowFailure=true\n * @dev Verifies that validation catches the first allowFailure=true at index 0\n */\n function test_RevertWhen_allowFailure_true_allCalls() public {\n erc20.mint(user, 100 ether);\n vm.startPrank(user);\n erc20.approve(address(router), 100 ether);\n\n // Create multiple calls where all have allowFailure=true\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](3);\n calls[0] = IMulticall3.Call3({\n target: address(getter),\n allowFailure: true, // This should cause revert\n callData: abi.encodeWithSignature(\"getSender()\")\n });\n calls[1] = IMulticall3.Call3({\n target: address(getter), allowFailure: true, callData: abi.encodeWithSignature(\"getSender()\")\n });\n calls[2] = IMulticall3.Call3({\n target: address(getter), allowFailure: true, callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n // Should revert with AllowFailureMustBeFalse error for index 0 (first occurrence)\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.AllowFailureMustBeFalse.selector, 0));\n router.pullAmountAndExecute(address(erc20), 10 ether, callData);\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test that pullAndExecute also validates allowFailure flag\n * @dev Ensures the validation applies to pullAndExecute as well\n */\n function test_RevertWhen_pullAndExecute_allowFailure_true() public {\n erc20.mint(user, 100 ether);\n vm.startPrank(user);\n erc20.approve(address(router), 100 ether);\n\n // Create a call with allowFailure=true\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter),\n allowFailure: true, // This should cause revert\n callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n // Should revert with AllowFailureMustBeFalse error for index 0\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.AllowFailureMustBeFalse.selector, 0));\n router.pullAndExecute(address(erc20), callData);\n\n vm.stopPrank();\n }\n\n /**\n * @notice Test that execute with ETH validates allowFailure flag\n * @dev Ensures the validation applies to all execution paths\n */\n function test_RevertWhen_execute_withETH_allowFailure_true() public {\n // Create a call with allowFailure=true\n IMulticall3.Call3[] memory calls = new IMulticall3.Call3[](1);\n calls[0] = IMulticall3.Call3({\n target: address(getter),\n allowFailure: true, // This should cause revert\n callData: abi.encodeWithSignature(\"getSender()\")\n });\n\n bytes memory callData = abi.encodeWithSignature(\"aggregate3((address,bool,bytes)[])\", calls);\n\n // Should revert with AllowFailureMustBeFalse error for index 0\n vm.expectRevert(abi.encodeWithSelector(TrailsRouter.AllowFailureMustBeFalse.selector, 0));\n router.pullAmountAndExecute{value: 1 ether}(address(0), 1 ether, callData);\n }\n}\n"},"test/TrailsRouterShim.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {TrailsRouterShim} from \"src/TrailsRouterShim.sol\";\nimport {DelegatecallGuard} from \"src/guards/DelegatecallGuard.sol\";\nimport {TrailsSentinelLib} from \"src/libraries/TrailsSentinelLib.sol\";\nimport {TstoreMode, TstoreRead} from \"test/utils/TstoreUtils.sol\";\nimport {TrailsRouter} from \"src/TrailsRouter.sol\";\nimport {IMulticall3} from \"src/interfaces/IMulticall3.sol\";\n\n// -----------------------------------------------------------------------------\n// Interfaces\n// -----------------------------------------------------------------------------\n\n/// @dev Minimal interface for delegated entrypoint used by tests\ninterface IMockDelegatedExtension {\n function handleSequenceDelegateCall(\n bytes32 opHash,\n uint256 startingGas,\n uint256 index,\n uint256 numCalls,\n uint256 space,\n bytes calldata data\n ) external payable;\n}\n\n// -----------------------------------------------------------------------------\n// Mock Contracts\n// -----------------------------------------------------------------------------\n\n/// @dev Mock router that emits events and supports receiving value\ncontract MockRouter is Test {\n event Forwarded(address indexed from, uint256 value, bytes data);\n\n fallback() external payable {\n emit Forwarded(msg.sender, msg.value, msg.data);\n }\n\n receive() external payable {\n emit Forwarded(msg.sender, msg.value, hex\"\");\n }\n}\n\n/// @dev Mock router that implements aggregate3Value and forwards calls to targets\ncontract MockAggregate3Router {\n event Forwarded(address indexed from, uint256 value, bytes data);\n\n receive() external payable {}\n\n fallback() external payable {\n // Accept any call for testing purposes\n emit Forwarded(msg.sender, msg.value, msg.data);\n }\n\n function aggregate3Value(IMulticall3.Call3Value[] calldata calls)\n external\n payable\n returns (IMulticall3.Result[] memory)\n {\n IMulticall3.Result[] memory results = new IMulticall3.Result[](calls.length);\n\n for (uint256 i = 0; i < calls.length; i++) {\n (bool success, bytes memory ret) = calls[i].target.call{value: calls[i].value}(calls[i].callData);\n results[i] = IMulticall3.Result(success, ret);\n\n // If allowFailure is false and the call failed, revert\n if (!calls[i].allowFailure && !success) {\n // Revert with the failure data\n assembly {\n revert(add(ret, 32), mload(ret))\n }\n }\n }\n\n // Emit event for the aggregate3Value call (matching original MockRouter behavior)\n emit Forwarded(msg.sender, msg.value, msg.data);\n\n return results;\n }\n}\n\n/// @dev Mock router that always reverts with encoded data\ncontract RevertingRouter {\n error AlwaysRevert(bytes data);\n\n fallback() external payable {\n revert AlwaysRevert(msg.data);\n }\n}\n\ncontract MockRouterReturningData {\n event Forwarded(address indexed from, uint256 value, bytes data);\n\n function aggregate3Value(IMulticall3.Call3Value[] calldata calls)\n external\n payable\n returns (IMulticall3.Result[] memory)\n {\n IMulticall3.Result[] memory results = new IMulticall3.Result[](calls.length);\n\n for (uint256 i = 0; i < calls.length; i++) {\n (bool success, bytes memory ret) = address(this).call{value: calls[i].value}(calls[i].callData);\n results[i] = IMulticall3.Result(success, ret);\n\n // If allowFailure is false and the call failed, revert\n if (!calls[i].allowFailure && !success) {\n // Revert with the failure data\n assembly {\n revert(add(ret, 32), mload(ret))\n }\n }\n }\n\n // Emit event for the aggregate3Value call\n emit Forwarded(msg.sender, msg.value, msg.data);\n\n return results;\n }\n\n function returnTestData() external pure returns (bytes memory) {\n return abi.encode(uint256(42), \"test data\");\n }\n}\n\ncontract CustomErrorRouter {\n error CustomRouterError(string message);\n\n function aggregate3Value(IMulticall3.Call3Value[] calldata calls)\n external\n payable\n returns (IMulticall3.Result[] memory)\n {\n IMulticall3.Result[] memory results = new IMulticall3.Result[](calls.length);\n\n for (uint256 i = 0; i < calls.length; i++) {\n (bool success, bytes memory ret) = address(this).call{value: calls[i].value}(calls[i].callData);\n results[i] = IMulticall3.Result(success, ret);\n\n // If allowFailure is false and the call failed, revert\n if (!calls[i].allowFailure && !success) {\n // Revert with the failure data\n assembly {\n revert(add(ret, 32), mload(ret))\n }\n }\n }\n\n return results;\n }\n\n function triggerCustomError() external pure {\n revert CustomRouterError(\"custom error message\");\n }\n}\n\n// -----------------------------------------------------------------------------\n// Test Contract\n// -----------------------------------------------------------------------------\ncontract TrailsRouterShimTest is Test {\n // -------------------------------------------------------------------------\n // Test State Variables\n // -------------------------------------------------------------------------\n TrailsRouterShim internal shimImpl;\n MockRouter internal router;\n\n // address that will host the shim code to simulate delegatecall context\n address payable internal holder;\n\n // -------------------------------------------------------------------------\n // Setup and Tests\n // -------------------------------------------------------------------------\n function setUp() public {\n router = new MockRouter();\n shimImpl = new TrailsRouterShim(address(router));\n holder = payable(address(0xbeef));\n // Install shim runtime code at the holder address to simulate delegatecall\n vm.etch(holder, address(shimImpl).code);\n }\n\n // -------------------------------------------------------------------------\n // Test Functions\n // -------------------------------------------------------------------------\n function test_constructor_revert_zeroRouter() public {\n vm.expectRevert(TrailsRouterShim.ZeroRouterAddress.selector);\n new TrailsRouterShim(address(0));\n }\n\n function test_direct_handleSequenceDelegateCall_reverts_not_delegatecall() public {\n bytes memory inner = abi.encodeWithSignature(\"someFunc()\");\n bytes memory data = abi.encode(inner, 0);\n vm.expectRevert(DelegatecallGuard.NotDelegateCall.selector);\n shimImpl.handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, data);\n }\n\n function test_delegatecall_forwards_and_sets_sentinel_tstore_active() public {\n // Explicitly force tstore active for TrailsRouterShim storage\n TstoreMode.setActive(address(shimImpl));\n\n // Arrange: opHash and value\n bytes32 opHash = keccak256(\"test-op-tstore\");\n uint256 callValue = 1 ether;\n vm.deal(holder, callValue);\n\n // Expect router event when forwarded - use valid aggregate3Value call\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(router),\n allowFailure: false,\n value: 0,\n callData: abi.encodeWithSignature(\"doNothing(uint256)\", uint256(123))\n });\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, callValue);\n\n vm.expectEmit(true, true, true, true);\n emit MockAggregate3Router.Forwarded(holder, callValue, routerCalldata);\n\n // Act: delegate entrypoint\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(opHash, 0, 0, 0, 0, forwardData);\n\n // Assert via tload\n uint256 slot = TrailsSentinelLib.successSlot(opHash);\n uint256 storedT = TstoreRead.tloadAt(holder, bytes32(slot));\n assertEq(storedT, TrailsSentinelLib.SUCCESS_VALUE);\n }\n\n function test_delegatecall_forwards_and_sets_sentinel_sstore_inactive() public {\n // Explicitly force tstore inactive for shim code at `holder`\n TstoreMode.setInactive(holder);\n\n // Arrange: opHash and value\n bytes32 opHash = keccak256(\"test-op-sstore\");\n uint256 callValue = 1 ether;\n vm.deal(holder, callValue);\n\n // Expect router event when forwarded - use valid aggregate3Value call\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(router),\n allowFailure: false,\n value: 0,\n callData: abi.encodeWithSignature(\"doNothing(uint256)\", uint256(123))\n });\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, callValue);\n\n vm.expectEmit(true, true, true, true);\n emit MockAggregate3Router.Forwarded(holder, callValue, routerCalldata);\n\n // Act: delegate entrypoint\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(opHash, 0, 0, 0, 0, forwardData);\n\n // Verify sentinel by re-etching TrailsRouter and validating via delegated entrypoint\n bytes memory original = address(shimImpl).code;\n vm.etch(holder, address(new TrailsRouter(0xcA11bde05977b3631167028862bE2a173976CA11)).code);\n\n address payable recipient = payable(address(0x111));\n vm.deal(holder, callValue);\n bytes memory data =\n abi.encodeWithSelector(TrailsRouter.validateOpHashAndSweep.selector, bytes32(0), address(0), recipient);\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(opHash, 0, 0, 0, 0, data);\n assertEq(holder.balance, 0);\n assertEq(recipient.balance, callValue);\n vm.etch(holder, original);\n }\n\n function test_delegatecall_sets_sentinel_with_tstore_when_supported() public {\n // Force tstore active to ensure tstore path on TrailsRouterShim storage\n TstoreMode.setActive(address(shimImpl));\n bytes32 opHash = keccak256(\"tstore-case\");\n vm.deal(holder, 0);\n\n // Invoke delegate entrypoint to set sentinel with valid aggregate3Value call\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](0); // Empty calls array\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, 0);\n (bool ok,) = address(holder)\n .call(\n abi.encodeWithSelector(\n IMockDelegatedExtension.handleSequenceDelegateCall.selector, opHash, 0, 0, 0, 0, forwardData\n )\n );\n assertTrue(ok, \"delegatecall should succeed\");\n\n // Read via tload\n uint256 slot = TrailsSentinelLib.successSlot(opHash);\n uint256 storedT = TstoreRead.tloadAt(holder, bytes32(slot));\n assertEq(storedT, TrailsSentinelLib.SUCCESS_VALUE);\n }\n\n function test_delegatecall_sets_sentinel_with_sstore_when_no_tstore() public {\n // Force tstore inactive to ensure sstore path\n TstoreMode.setInactive(holder);\n bytes32 opHash = keccak256(\"sstore-case\");\n vm.deal(holder, 0);\n\n // Invoke delegate entrypoint to set sentinel with valid aggregate3Value call\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](0); // Empty calls array\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, 0);\n (bool ok,) = address(holder)\n .call(\n abi.encodeWithSelector(\n IMockDelegatedExtension.handleSequenceDelegateCall.selector, opHash, 0, 0, 0, 0, forwardData\n )\n );\n assertTrue(ok, \"delegatecall should succeed\");\n\n // Verify via TrailsRouter delegated validation\n bytes memory original = address(shimImpl).code;\n vm.etch(holder, address(new TrailsRouter(0xcA11bde05977b3631167028862bE2a173976CA11)).code);\n address payable recipient = payable(address(0x112));\n vm.deal(holder, 1 ether);\n bytes memory data =\n abi.encodeWithSelector(TrailsRouter.validateOpHashAndSweep.selector, bytes32(0), address(0), recipient);\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(opHash, 0, 0, 0, 0, data);\n assertEq(holder.balance, 0);\n assertEq(recipient.balance, 1 ether);\n vm.etch(holder, original);\n }\n\n function test_delegatecall_router_revert_bubbles_as_RouterCallFailed() public {\n // Swap router code at the existing router address with a reverting one\n RevertingRouter reverting = new RevertingRouter();\n vm.etch(address(router), address(reverting).code);\n\n // Prepare data - use aggregate3Value call that will revert\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(router),\n allowFailure: false,\n value: 0,\n callData: abi.encodeWithSignature(\"willRevert()\", \"x\")\n });\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, 0);\n\n // Call and capture revert data, then assert custom error selector\n (bool ok, bytes memory ret) = address(holder)\n .call(\n abi.encodeWithSelector(\n IMockDelegatedExtension.handleSequenceDelegateCall.selector, bytes32(0), 0, 0, 0, 0, forwardData\n )\n );\n assertFalse(ok, \"call should revert\");\n bytes4 sel;\n assembly {\n sel := mload(add(ret, 32))\n }\n assertEq(sel, TrailsRouterShim.RouterCallFailed.selector, \"expected RouterCallFailed selector\");\n }\n\n function test_handleSequenceDelegateCall_with_eth_value() public {\n uint256 callValue = 2 ether;\n vm.deal(holder, callValue);\n\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(router), allowFailure: false, value: 0, callData: abi.encodeWithSignature(\"receiveEth()\")\n });\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, callValue);\n\n vm.expectEmit(true, true, true, true);\n emit MockAggregate3Router.Forwarded(holder, callValue, routerCalldata);\n\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, forwardData);\n\n assertEq(holder.balance, 0, \"holder should have sent ETH to router\");\n }\n\n function test_handleSequenceDelegateCall_empty_calldata() public {\n // Empty aggregate3Value call with empty calls array\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](0);\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, uint256(0));\n\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, forwardData);\n }\n\n function test_handleSequenceDelegateCall_large_calldata() public {\n // Create large call data to test assembly handling within aggregate3\n bytes memory largeData = new bytes(10000);\n for (uint256 i = 0; i < largeData.length; i++) {\n // casting to 'uint8' is safe because i % 256 is always between 0-255\n /// forge-lint: disable-next-line(unsafe-typecast)\n largeData[i] = bytes1(uint8(i % 256));\n }\n\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({target: address(router), allowFailure: false, value: 0, callData: largeData});\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, uint256(0));\n\n vm.expectEmit(true, true, true, true);\n emit MockAggregate3Router.Forwarded(holder, 0, routerCalldata);\n\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, forwardData);\n }\n\n function test_handleSequenceDelegateCall_zero_call_value() public {\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(router), allowFailure: false, value: 0, callData: abi.encodeWithSignature(\"doSomething()\")\n });\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, uint256(0));\n\n vm.expectEmit(true, true, true, true);\n emit MockAggregate3Router.Forwarded(holder, 0, routerCalldata);\n\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, forwardData);\n }\n\n function test_handleSequenceDelegateCall_allows_arbitrary_selector() public {\n // No validation is enforced in the shim anymore; arbitrary selector should be forwarded.\n bytes memory arbitraryCalldata = hex\"deadbeef\";\n bytes memory forwardData = abi.encode(arbitraryCalldata, uint256(0));\n\n vm.expectEmit(true, true, true, true);\n emit MockAggregate3Router.Forwarded(holder, 0, arbitraryCalldata);\n\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, forwardData);\n }\n\n function test_handleSequenceDelegateCall_max_call_value() public {\n uint256 maxValue = type(uint256).max;\n vm.deal(holder, maxValue);\n\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(router),\n allowFailure: false,\n value: 0,\n callData: abi.encodeWithSignature(\"handleMaxValue()\")\n });\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, maxValue);\n\n vm.expectEmit(true, true, true, true);\n emit MockAggregate3Router.Forwarded(holder, maxValue, routerCalldata);\n\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(bytes32(0), 0, 0, 0, 0, forwardData);\n\n assertEq(holder.balance, 0, \"holder should have sent all ETH\");\n }\n\n function test_forwardToRouter_return_data_handling() public {\n // Test with a mock router that returns data\n MockRouterReturningData returningRouter = new MockRouterReturningData();\n TrailsRouterShim shimWithReturningRouter = new TrailsRouterShim(address(returningRouter));\n\n address payable testHolder = payable(address(0xbeef));\n vm.etch(testHolder, address(shimWithReturningRouter).code);\n\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(returningRouter),\n allowFailure: false,\n value: 0,\n callData: abi.encodeWithSignature(\"returnTestData()\")\n });\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, uint256(0));\n\n bytes32 testOpHash = keccak256(\"test-return-data\");\n IMockDelegatedExtension(testHolder).handleSequenceDelegateCall(testOpHash, 0, 0, 0, 0, forwardData);\n\n // Verify sentinel was set\n uint256 slot = TrailsSentinelLib.successSlot(testOpHash);\n uint256 storedT = TstoreRead.tloadAt(testHolder, bytes32(slot));\n assertEq(storedT, TrailsSentinelLib.SUCCESS_VALUE);\n }\n\n function test_forwardToRouter_revert_with_custom_error() public {\n CustomErrorRouter customErrorRouter = new CustomErrorRouter();\n TrailsRouterShim shimWithCustomError = new TrailsRouterShim(address(customErrorRouter));\n\n address payable testHolder = payable(address(0xbeef));\n vm.etch(testHolder, address(shimWithCustomError).code);\n\n IMulticall3.Call3Value[] memory calls = new IMulticall3.Call3Value[](1);\n calls[0] = IMulticall3.Call3Value({\n target: address(customErrorRouter),\n allowFailure: false,\n value: 0,\n callData: abi.encodeWithSignature(\"triggerCustomError()\")\n });\n bytes memory routerCalldata = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls);\n bytes memory forwardData = abi.encode(routerCalldata, uint256(0));\n\n (bool ok, bytes memory ret) = address(testHolder)\n .call(\n abi.encodeWithSelector(\n IMockDelegatedExtension.handleSequenceDelegateCall.selector, bytes32(0), 0, 0, 0, 0, forwardData\n )\n );\n\n assertFalse(ok, \"call should revert\");\n bytes4 sel;\n assembly {\n sel := mload(add(ret, 32))\n }\n assertEq(sel, TrailsRouterShim.RouterCallFailed.selector, \"expected RouterCallFailed selector\");\n }\n\n function test_sentinel_setting_with_different_op_hashes() public {\n TstoreMode.setActive(holder);\n\n bytes32 opHash1 = keccak256(\"op1\");\n bytes32 opHash2 = keccak256(\"op2\");\n\n // First call\n IMulticall3.Call3Value[] memory calls1 = new IMulticall3.Call3Value[](1);\n calls1[0] = IMulticall3.Call3Value({\n target: address(router), allowFailure: false, value: 0, callData: abi.encodeWithSignature(\"call1()\")\n });\n bytes memory routerCalldata1 = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls1);\n bytes memory forwardData1 = abi.encode(routerCalldata1, uint256(0));\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(opHash1, 0, 0, 0, 0, forwardData1);\n\n // Second call\n IMulticall3.Call3Value[] memory calls2 = new IMulticall3.Call3Value[](1);\n calls2[0] = IMulticall3.Call3Value({\n target: address(router), allowFailure: false, value: 0, callData: abi.encodeWithSignature(\"call2()\")\n });\n bytes memory routerCalldata2 = abi.encodeWithSelector(IMulticall3.aggregate3Value.selector, calls2);\n bytes memory forwardData2 = abi.encode(routerCalldata2, uint256(0));\n IMockDelegatedExtension(holder).handleSequenceDelegateCall(opHash2, 0, 0, 0, 0, forwardData2);\n\n // Check both sentinels are set\n uint256 slot1 = TrailsSentinelLib.successSlot(opHash1);\n uint256 slot2 = TrailsSentinelLib.successSlot(opHash2);\n\n uint256 storedT1 = TstoreRead.tloadAt(holder, bytes32(slot1));\n uint256 storedT2 = TstoreRead.tloadAt(holder, bytes32(slot2));\n\n assertEq(storedT1, TrailsSentinelLib.SUCCESS_VALUE);\n assertEq(storedT2, TrailsSentinelLib.SUCCESS_VALUE);\n assertTrue(slot1 != slot2, \"slots should be different\");\n }\n\n function testRouterAddressImmutable() public {\n address testRouter = address(new MockRouter());\n TrailsRouterShim shim = new TrailsRouterShim(testRouter);\n\n assertEq(shim.ROUTER(), testRouter, \"ROUTER should be set correctly\");\n }\n\n function testConstructorValidation() public {\n // Test that constructor properly validates router address\n vm.expectRevert(TrailsRouterShim.ZeroRouterAddress.selector);\n new TrailsRouterShim(address(0));\n }\n\n function testForwardToRouterReturnValue() public {\n // Test that _forwardToRouter properly returns router response\n bytes memory testData = abi.encodeWithSignature(\"testReturn()\");\n\n // Mock router that returns data\n MockRouterReturningData returningRouter = new MockRouterReturningData();\n TrailsRouterShim shim = new TrailsRouterShim(address(returningRouter));\n\n // Call the internal function indirectly through handleSequenceDelegateCall\n bytes memory innerData = abi.encode(testData, uint256(0));\n bytes32 opHash = keccak256(\"test-return-value\");\n\n vm.expectRevert(DelegatecallGuard.NotDelegateCall.selector);\n shim.handleSequenceDelegateCall(opHash, 0, 0, 0, 0, innerData);\n }\n}\n"},"test/guards/DelegatecallGuard.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {DelegatecallGuard} from \"src/guards/DelegatecallGuard.sol\";\n\n// -----------------------------------------------------------------------------\n// Mock Contracts\n// -----------------------------------------------------------------------------\n\n/// @dev Minimal contract using DelegatecallGuard\ncontract MockGuarded is DelegatecallGuard {\n event Ping(address sender);\n\n function ping() external onlyDelegatecall {\n emit Ping(msg.sender);\n }\n\n function guardedFunction() external onlyDelegatecall {\n // Function to test the onlyDelegatecall modifier\n }\n}\n\n/// @dev Host that can delegatecall into a target\ncontract MockHost {\n function callPing(address target) external returns (bool ok, bytes memory ret) {\n return target.delegatecall(abi.encodeWithSelector(MockGuarded.ping.selector));\n }\n\n function callGuardedFunction(address target) external returns (bool ok, bytes memory ret) {\n return target.delegatecall(abi.encodeWithSelector(MockGuardedModifierTest.guardedFunction.selector));\n }\n}\n\n/// @dev Contract that tests the onlyDelegatecall modifier\ncontract MockGuardedModifierTest is DelegatecallGuard {\n event ModifierTest(address sender);\n\n function guardedFunction() external onlyDelegatecall {\n emit ModifierTest(msg.sender);\n }\n}\n\n/// @dev Contract that tests the nested delegatecall context\ncontract MockNestedGuarded is DelegatecallGuard {\n event Ping(address sender);\n\n function ping() external onlyDelegatecall {\n emit Ping(msg.sender);\n }\n\n function callOther(address other) external onlyDelegatecall {\n MockGuarded(other).ping();\n }\n}\n\n/// @dev Host that can delegatecall into a target\ncontract MockNestedHost {\n function callNestedPing(address target) external returns (bool ok, bytes memory ret) {\n // This will delegatecall into target, which will then delegatecall back to another contract\n return target.delegatecall(abi.encodeWithSelector(MockNestedGuarded.ping.selector));\n }\n}\n\n// -----------------------------------------------------------------------------\n// Test Contract\n// -----------------------------------------------------------------------------\n\ncontract DelegatecallGuardTest is Test {\n // -------------------------------------------------------------------------\n // Test State Variables\n // -------------------------------------------------------------------------\n MockGuarded internal guarded;\n MockHost internal host;\n\n // -------------------------------------------------------------------------\n // Setup and Tests\n // -------------------------------------------------------------------------\n function setUp() public {\n guarded = new MockGuarded();\n host = new MockHost();\n }\n\n // -------------------------------------------------------------------------\n // Test Functions\n // -------------------------------------------------------------------------\n function test_direct_call_reverts_NotDelegateCall() public {\n vm.expectRevert(DelegatecallGuard.NotDelegateCall.selector);\n guarded.ping();\n }\n\n function test_delegatecall_context_succeeds() public {\n vm.expectEmit(true, false, false, true);\n emit MockGuarded.Ping(address(this));\n (bool ok,) = host.callPing(address(guarded));\n assertTrue(ok, \"delegatecall-context ping should succeed\");\n }\n\n function test_self_address_immutable() public view {\n // Test that _SELF is properly set to the contract's address\n // This indirectly tests the immutable variable assignment\n assertTrue(address(guarded) != address(0), \"guarded contract should be deployed\");\n }\n\n function test_onlyDelegatecall_modifier_usage() public {\n // Test that the modifier correctly uses the internal function\n MockGuardedModifierTest modifierTest = new MockGuardedModifierTest();\n\n // Direct call should revert\n vm.expectRevert(DelegatecallGuard.NotDelegateCall.selector);\n modifierTest.guardedFunction();\n\n // Delegate call should succeed\n (bool ok,) =\n address(host).call(abi.encodeWithSelector(MockHost.callGuardedFunction.selector, address(modifierTest)));\n assertTrue(ok, \"delegatecall with modifier should succeed\");\n }\n\n function test_multiple_delegatecall_guards() public {\n // Test multiple contracts using DelegatecallGuard\n MockGuarded guarded2 = new MockGuarded();\n MockHost host2 = new MockHost();\n\n // Both should work independently\n vm.expectEmit(true, false, false, true);\n emit MockGuarded.Ping(address(this));\n (bool ok1,) = host.callPing(address(guarded));\n assertTrue(ok1, \"first guarded contract delegatecall should succeed\");\n\n vm.expectEmit(true, false, false, true);\n emit MockGuarded.Ping(address(this));\n (bool ok2,) = host2.callPing(address(guarded2));\n assertTrue(ok2, \"second guarded contract delegatecall should succeed\");\n }\n\n function test_delegatecall_nested_context() public {\n // Test delegatecall within delegatecall\n MockNestedGuarded nested = new MockNestedGuarded();\n MockNestedHost nestedHost = new MockNestedHost();\n\n vm.expectEmit(true, false, false, true);\n emit MockGuarded.Ping(address(this));\n (bool ok,) = nestedHost.callNestedPing(address(nested));\n assertTrue(ok, \"nested delegatecall should succeed\");\n }\n\n function testSelfImmutableVariable() public {\n // Test that _SELF is properly initialized to address(this)\n // This tests the line: address internal immutable _SELF = address(this);\n MockGuarded testGuard = new MockGuarded();\n\n // The _SELF variable should be set to the contract's address during construction\n // We can't directly access it, but we can verify it works through the modifier\n assertTrue(address(testGuard) != address(0), \"_SELF should be initialized to contract address\");\n }\n\n function testOnlyDelegatecallInternalFunction() public {\n MockGuarded testGuard = new MockGuarded();\n\n // Direct call to a function with onlyDelegatecall modifier should revert\n vm.expectRevert(DelegatecallGuard.NotDelegateCall.selector);\n testGuard.guardedFunction();\n\n // This tests that the internal _onlyDelegatecall function is executed\n // and checks if address(this) == _SELF\n }\n}\n"},"test/libraries/TrailsSentinelLib.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {TrailsSentinelLib} from \"src/libraries/TrailsSentinelLib.sol\";\n\n// -----------------------------------------------------------------------------\n// Test Contract\n// -----------------------------------------------------------------------------\ncontract TrailsSentinelLibTest is Test {\n // -------------------------------------------------------------------------\n // Tests\n // -------------------------------------------------------------------------\n\n function test_SentinelNamespace_Constant() public pure {\n bytes32 expected = keccak256(\"org.sequence.trails.router.sentinel\");\n assertEq(TrailsSentinelLib.SENTINEL_NAMESPACE, expected);\n }\n\n function test_SuccessValue_Constant() public pure {\n assertEq(TrailsSentinelLib.SUCCESS_VALUE, uint256(1));\n }\n\n function test_SuccessSlot_DifferentOpHashes() public pure {\n bytes32 opHash1 = keccak256(\"operation1\");\n bytes32 opHash2 = keccak256(\"operation2\");\n\n uint256 slot1 = TrailsSentinelLib.successSlot(opHash1);\n uint256 slot2 = TrailsSentinelLib.successSlot(opHash2);\n\n assertTrue(slot1 != slot2, \"Different opHashes should produce different slots\");\n }\n\n function test_SuccessSlot_Deterministic() public pure {\n bytes32 opHash = keccak256(\"test-operation\");\n uint256 slot1 = TrailsSentinelLib.successSlot(opHash);\n uint256 slot2 = TrailsSentinelLib.successSlot(opHash);\n\n assertEq(slot1, slot2, \"Same opHash should always produce same slot\");\n }\n\n function test_SuccessSlot_Computation() public pure {\n bytes32 opHash = keccak256(\"test-op\");\n bytes32 namespace = TrailsSentinelLib.SENTINEL_NAMESPACE;\n\n // Manually compute expected slot\n bytes32 expectedKey;\n assembly {\n mstore(0x00, namespace)\n mstore(0x20, opHash)\n expectedKey := keccak256(0x00, 0x40)\n }\n uint256 expectedSlot = uint256(expectedKey);\n\n uint256 actualSlot = TrailsSentinelLib.successSlot(opHash);\n assertEq(actualSlot, expectedSlot, \"Slot computation should match manual calculation\");\n }\n\n function test_SuccessSlot_ZeroOpHash() public pure {\n bytes32 opHash = bytes32(0);\n uint256 slot = TrailsSentinelLib.successSlot(opHash);\n\n bytes32 namespace = TrailsSentinelLib.SENTINEL_NAMESPACE;\n bytes32 expectedKey;\n assembly {\n mstore(0x00, namespace)\n mstore(0x20, opHash)\n expectedKey := keccak256(0x00, 0x40)\n }\n uint256 expectedSlot = uint256(expectedKey);\n\n assertEq(slot, expectedSlot, \"Zero opHash should produce valid slot\");\n }\n\n function test_SuccessSlot_MaxOpHash() public pure {\n bytes32 opHash = bytes32(type(uint256).max);\n uint256 slot = TrailsSentinelLib.successSlot(opHash);\n\n bytes32 namespace = TrailsSentinelLib.SENTINEL_NAMESPACE;\n bytes32 expectedKey;\n assembly {\n mstore(0x00, namespace)\n mstore(0x20, opHash)\n expectedKey := keccak256(0x00, 0x40)\n }\n uint256 expectedSlot = uint256(expectedKey);\n\n assertEq(slot, expectedSlot, \"Max opHash should produce valid slot\");\n }\n\n function test_SuccessSlot_VariousOpHashes() public pure {\n bytes32[] memory opHashes = new bytes32[](5);\n opHashes[0] = keccak256(\"op1\");\n opHashes[1] = keccak256(\"op2\");\n opHashes[2] = keccak256(abi.encodePacked(\"complex\", uint256(123), address(0x123)));\n opHashes[3] = keccak256(abi.encodePacked(uint256(1234567890), address(0x123)));\n opHashes[4] = bytes32(uint256(0x123456789abcdef));\n\n uint256[] memory slots = new uint256[](5);\n for (uint256 i = 0; i < opHashes.length; i++) {\n slots[i] = TrailsSentinelLib.successSlot(opHashes[i]);\n }\n\n // All slots should be different\n for (uint256 i = 0; i < slots.length; i++) {\n for (uint256 j = i + 1; j < slots.length; j++) {\n assertTrue(slots[i] != slots[j], \"All slots should be unique\");\n }\n }\n }\n\n function test_SuccessSlot_AssemblyCorrectness() public pure {\n // Test that the assembly implementation is correct by comparing with Solidity equivalent\n bytes32 opHash = keccak256(\"assembly-test\");\n bytes32 namespace = TrailsSentinelLib.SENTINEL_NAMESPACE;\n\n // Assembly version (from contract)\n uint256 assemblySlot = TrailsSentinelLib.successSlot(opHash);\n\n // Solidity equivalent\n uint256 soliditySlot = uint256(keccak256(abi.encode(namespace, opHash)));\n\n assertEq(assemblySlot, soliditySlot, \"Assembly should match Solidity keccak256(abi.encode(...))\");\n }\n\n function test_Constants_DoNotChange() public pure {\n // Test that constants are what we expect and don't accidentally change\n assertEq(TrailsSentinelLib.SUCCESS_VALUE, 1, \"SUCCESS_VALUE should be 1\");\n\n bytes32 expectedNamespace = keccak256(\"org.sequence.trails.router.sentinel\");\n assertEq(\n TrailsSentinelLib.SENTINEL_NAMESPACE, expectedNamespace, \"SENTINEL_NAMESPACE should match expected value\"\n );\n }\n\n function test_SentinelNamespace_Computation() public pure {\n // Test that SENTINEL_NAMESPACE is computed correctly\n bytes32 expected = keccak256(\"org.sequence.trails.router.sentinel\");\n assertEq(TrailsSentinelLib.SENTINEL_NAMESPACE, expected);\n\n // This should cover the keccak256 computation in the constant declaration\n }\n\n function test_SuccessValue_IsOne() public pure {\n // Test that SUCCESS_VALUE is exactly 1\n assertEq(TrailsSentinelLib.SUCCESS_VALUE, uint256(1));\n\n // Test that it's not zero or any other value\n assertTrue(TrailsSentinelLib.SUCCESS_VALUE != 0);\n assertTrue(TrailsSentinelLib.SUCCESS_VALUE != 2);\n }\n\n function test_SuccessSlot_UsesCorrectNamespace() public pure {\n bytes32 opHash = keccak256(\"test\");\n\n // Manually compute what the slot should be\n bytes32 expectedSlot = keccak256(abi.encode(TrailsSentinelLib.SENTINEL_NAMESPACE, opHash));\n\n uint256 actualSlot = TrailsSentinelLib.successSlot(opHash);\n assertEq(actualSlot, uint256(expectedSlot));\n\n // This ensures the namespace variable assignment is covered\n }\n}\n"},"test/mocks/MockERC20.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {ERC20} from \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\n\n// -----------------------------------------------------------------------------\n// Mock Contract\n// -----------------------------------------------------------------------------\n\ncontract MockERC20 is ERC20 {\n uint8 private _decimals;\n\n constructor(string memory name, string memory symbol, uint8 decimals_) ERC20(name, symbol) {\n _decimals = decimals_;\n }\n\n function decimals() public view override returns (uint8) {\n return _decimals;\n }\n\n function mint(address to, uint256 amount) public {\n _mint(to, amount);\n }\n}\n"},"test/mocks/MockMulticall3.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {IMulticall3} from \"src/interfaces/IMulticall3.sol\";\n\n// -----------------------------------------------------------------------------\n// Mock Contract\n// -----------------------------------------------------------------------------\n\ncontract MockMulticall3 {\n bool public shouldFail;\n\n function setShouldFail(bool _shouldFail) external {\n shouldFail = _shouldFail;\n }\n\n function aggregate3(IMulticall3.Call3[] calldata calls)\n external\n payable\n returns (IMulticall3.Result[] memory returnResults)\n {\n if (shouldFail) {\n revert(\"MockMulticall3: forced failure\");\n }\n\n returnResults = new IMulticall3.Result[](calls.length);\n for (uint256 i = 0; i < calls.length; i++) {\n IMulticall3.Call3 calldata call = calls[i];\n (bool success, bytes memory returnData) = call.target.call(call.callData);\n returnResults[i] = IMulticall3.Result({success: success, returnData: returnData});\n if (!call.allowFailure && !success) {\n revert(\"Multicall3: call failed\");\n }\n }\n }\n\n function aggregate3Value(IMulticall3.Call3Value[] calldata calls)\n external\n payable\n returns (IMulticall3.Result[] memory returnResults)\n {\n if (shouldFail) {\n revert(\"MockMulticall3: forced failure\");\n }\n\n returnResults = new IMulticall3.Result[](calls.length);\n for (uint256 i = 0; i < calls.length; i++) {\n IMulticall3.Call3Value calldata call = calls[i];\n (bool success, bytes memory returnData) = call.target.call{value: call.value}(call.callData);\n returnResults[i] = IMulticall3.Result({success: success, returnData: returnData});\n if (!call.allowFailure && !success) {\n revert(\"Multicall3: call failed\");\n }\n }\n }\n}\n"},"test/mocks/MockNonStandardERC20.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\n/**\n * @title MockNonStandardERC20\n * @notice Mock ERC20 token that doesn't return boolean from transfer/transferFrom\n * @dev Mimics tokens like USDT that don't follow the ERC20 standard strictly\n */\ncontract MockNonStandardERC20 {\n string public name = \"Non-Standard Token\";\n string public symbol = \"NST\";\n uint8 public decimals = 6;\n uint256 public totalSupply;\n\n mapping(address => uint256) public balanceOf;\n mapping(address => mapping(address => uint256)) public allowance;\n\n event Transfer(address indexed from, address indexed to, uint256 value);\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n constructor(uint256 initialSupply) {\n totalSupply = initialSupply;\n balanceOf[msg.sender] = initialSupply;\n emit Transfer(address(0), msg.sender, initialSupply);\n }\n\n /**\n * @notice Transfer tokens - DOES NOT RETURN A BOOLEAN (non-standard)\n * @dev This mimics USDT's behavior where transfer doesn't return a value\n */\n function transfer(address to, uint256 value) public {\n require(balanceOf[msg.sender] >= value, \"Insufficient balance\");\n balanceOf[msg.sender] -= value;\n balanceOf[to] += value;\n emit Transfer(msg.sender, to, value);\n // NOTE: No return value (non-standard)\n }\n\n /**\n * @notice Transfer tokens from one address to another - DOES NOT RETURN A BOOLEAN (non-standard)\n * @dev This mimics USDT's behavior where transferFrom doesn't return a value\n */\n function transferFrom(address from, address to, uint256 value) public {\n require(balanceOf[from] >= value, \"Insufficient balance\");\n require(allowance[from][msg.sender] >= value, \"Insufficient allowance\");\n\n balanceOf[from] -= value;\n balanceOf[to] += value;\n allowance[from][msg.sender] -= value;\n\n emit Transfer(from, to, value);\n // NOTE: No return value (non-standard)\n }\n\n /**\n * @notice Approve spender to spend tokens - DOES return a boolean (standard)\n */\n function approve(address spender, uint256 value) public returns (bool) {\n allowance[msg.sender][spender] = value;\n emit Approval(msg.sender, spender, value);\n return true;\n }\n\n /**\n * @notice Mint tokens for testing\n */\n function mint(address to, uint256 amount) public {\n totalSupply += amount;\n balanceOf[to] += amount;\n emit Transfer(address(0), to, amount);\n }\n}\n"},"test/mocks/MockSenderGetter.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\n// -----------------------------------------------------------------------------\n// Mock Contract\n// -----------------------------------------------------------------------------\n\ncontract MockSenderGetter {\n function getSender() external view returns (address) {\n return msg.sender;\n }\n}\n"},"test/script/TrailsIntentEntrypoint.s.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {Deploy as TrailsIntentEntrypointDeploy} from \"script/TrailsIntentEntrypoint.s.sol\";\nimport {TrailsIntentEntrypoint} from \"src/TrailsIntentEntrypoint.sol\";\nimport {Create2Utils} from \"../utils/Create2Utils.sol\";\n\n// -----------------------------------------------------------------------------\n// Test Contract\n// -----------------------------------------------------------------------------\n\ncontract TrailsIntentEntrypointDeploymentTest is Test {\n // -------------------------------------------------------------------------\n // Test State Variables\n // -------------------------------------------------------------------------\n\n TrailsIntentEntrypointDeploy internal _deployScript;\n address internal _deployer;\n uint256 internal _deployerPk;\n string internal _deployerPkStr;\n\n // -------------------------------------------------------------------------\n // Pure Functions\n // -------------------------------------------------------------------------\n\n // Expected predetermined address (calculated using CREATE2)\n function expectedIntentEntrypointAddress() internal pure returns (address payable) {\n return\n Create2Utils.calculateCreate2Address(type(TrailsIntentEntrypoint).creationCode, Create2Utils.standardSalt());\n }\n\n // -------------------------------------------------------------------------\n // Setup\n // -------------------------------------------------------------------------\n\n function setUp() public {\n _deployScript = new TrailsIntentEntrypointDeploy();\n _deployerPk = 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80; // anvil default key\n _deployerPkStr = \"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80\";\n _deployer = vm.addr(_deployerPk);\n vm.deal(_deployer, 100 ether);\n }\n\n // -------------------------------------------------------------------------\n // Tests\n // -------------------------------------------------------------------------\n\n function test_DeployIntentEntrypoint_Success() public {\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n vm.recordLogs();\n _deployScript.run();\n\n // Get the expected address\n address payable expectedAddress = expectedIntentEntrypointAddress();\n\n // Verify the deployed contract is functional\n TrailsIntentEntrypoint entrypoint = TrailsIntentEntrypoint(expectedAddress);\n assertEq(address(entrypoint).code.length > 0, true, \"Entrypoint should have code\");\n\n // Verify domain separator is set (basic functionality test)\n bytes32 domainSeparator = entrypoint.DOMAIN_SEPARATOR();\n assertTrue(domainSeparator != bytes32(0), \"Domain separator should be set\");\n }\n\n function test_DeployIntentEntrypoint_SameAddress() public {\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n // Get the expected address\n address payable expectedAddress = expectedIntentEntrypointAddress();\n\n // First deployment\n vm.recordLogs();\n _deployScript.run();\n\n // Verify first deployment address\n assertEq(expectedAddress.code.length > 0, true, \"First deployment: TrailsIntentEntrypoint deployed\");\n\n // Re-set the PRIVATE_KEY for second deployment\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n // Second deployment should result in the same address (deterministic)\n vm.recordLogs();\n _deployScript.run();\n\n // Verify second deployment still has contract at same address\n assertEq(expectedAddress.code.length > 0, true, \"Second deployment: TrailsIntentEntrypoint still deployed\");\n }\n\n function test_DeployedIntentEntrypoint_HasCorrectConfiguration() public {\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n // Deploy the script\n _deployScript.run();\n\n // Get reference to deployed contract\n address payable expectedAddress = expectedIntentEntrypointAddress();\n TrailsIntentEntrypoint entrypoint = TrailsIntentEntrypoint(expectedAddress);\n\n // Verify contract is deployed and functional\n assertEq(address(entrypoint).code.length > 0, true, \"Entrypoint should have code\");\n\n // Verify EIP-712 domain separator is properly constructed\n bytes32 domainSeparator = entrypoint.DOMAIN_SEPARATOR();\n assertTrue(domainSeparator != bytes32(0), \"Domain separator should be initialized\");\n\n // Verify constants are set correctly\n assertEq(entrypoint.VERSION(), \"1\", \"Version should be 1\");\n assertTrue(entrypoint.TRAILS_INTENT_TYPEHASH() != bytes32(0), \"Intent typehash should be set\");\n }\n}\n"},"test/script/TrailsRouter.s.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {Deploy as TrailsRouterDeploy} from \"script/TrailsRouter.s.sol\";\nimport {TrailsRouter} from \"src/TrailsRouter.sol\";\nimport {Create2Utils} from \"../utils/Create2Utils.sol\";\n\n// -----------------------------------------------------------------------------\n// Test Contract\n// -----------------------------------------------------------------------------\n\ncontract TrailsRouterDeploymentTest is Test {\n // -------------------------------------------------------------------------\n // Test State Variables\n // -------------------------------------------------------------------------\n\n TrailsRouterDeploy internal _deployScript;\n address internal _deployer;\n uint256 internal _deployerPk;\n string internal _deployerPkStr;\n\n // -------------------------------------------------------------------------\n // Pure Functions\n // -------------------------------------------------------------------------\n\n // Expected predetermined address (calculated using CREATE2)\n function expectedRouterAddress() internal pure returns (address payable) {\n address multicall3 = 0xcA11bde05977b3631167028862bE2a173976CA11;\n bytes memory initCode = abi.encodePacked(type(TrailsRouter).creationCode, abi.encode(multicall3));\n return Create2Utils.calculateCreate2Address(initCode, Create2Utils.standardSalt());\n }\n\n // -------------------------------------------------------------------------\n // Setup\n // -------------------------------------------------------------------------\n\n function setUp() public {\n _deployScript = new TrailsRouterDeploy();\n _deployerPk = 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80; // anvil default key\n _deployerPkStr = \"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80\";\n _deployer = vm.addr(_deployerPk);\n vm.deal(_deployer, 100 ether);\n }\n\n // -------------------------------------------------------------------------\n // Test Functions\n // -------------------------------------------------------------------------\n\n function test_DeployTrailsRouter_Success() public {\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n vm.recordLogs();\n _deployScript.run();\n\n // Verify TrailsRouter was deployed at the expected address\n address payable expectedAddr = expectedRouterAddress();\n assertEq(expectedAddr.code.length > 0, true, \"TrailsRouter should be deployed\");\n\n // Verify the deployed contract is functional\n TrailsRouter router = TrailsRouter(expectedAddr);\n assertEq(address(router).code.length > 0, true, \"Router should have code\");\n }\n\n function test_DeployTrailsRouter_SameAddress() public {\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n // First deployment\n vm.recordLogs();\n _deployScript.run();\n\n // Verify first deployment address\n address payable expectedAddr = expectedRouterAddress();\n assertEq(expectedAddr.code.length > 0, true, \"First deployment: TrailsRouter deployed\");\n\n // Re-set the PRIVATE_KEY for second deployment\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n // Second deployment should result in the same address (deterministic)\n vm.recordLogs();\n _deployScript.run();\n\n // Verify second deployment still has contract at same address\n assertEq(expectedAddr.code.length > 0, true, \"Second deployment: TrailsRouter still deployed\");\n }\n\n function test_DeployedRouter_HasCorrectConfiguration() public {\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n // Deploy the script\n _deployScript.run();\n\n // Get reference to deployed contract\n address payable expectedAddr = expectedRouterAddress();\n TrailsRouter router = TrailsRouter(expectedAddr);\n\n // Verify contract is deployed and functional\n assertEq(address(router).code.length > 0, true, \"Router should have code\");\n\n // Test basic functionality - router should be able to receive calls\n // This is a smoke test to ensure the contract is properly deployed\n (bool success,) = address(router).call(\"\");\n assertEq(success, true, \"Router should accept basic calls\");\n }\n}\n"},"test/script/TrailsRouterShim.s.t.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {Deploy as TrailsRouterShimDeploy} from \"script/TrailsRouterShim.s.sol\";\nimport {TrailsRouterShim} from \"src/TrailsRouterShim.sol\";\nimport {TrailsRouter} from \"src/TrailsRouter.sol\";\nimport {Create2Utils} from \"../utils/Create2Utils.sol\";\n\n// -----------------------------------------------------------------------------\n// Test Contract\n// -----------------------------------------------------------------------------\n\ncontract TrailsRouterShimDeploymentTest is Test {\n // -------------------------------------------------------------------------\n // Test State Variables\n // -------------------------------------------------------------------------\n\n TrailsRouterShimDeploy internal _deployScript;\n address internal _deployer;\n uint256 internal _deployerPk;\n string internal _deployerPkStr;\n\n // -------------------------------------------------------------------------\n // Pure Functions\n // -------------------------------------------------------------------------\n\n // Expected predetermined addresses (calculated using CREATE2)\n function expectedRouterAddress() internal pure returns (address payable) {\n address multicall3 = 0xcA11bde05977b3631167028862bE2a173976CA11;\n bytes memory initCode = abi.encodePacked(type(TrailsRouter).creationCode, abi.encode(multicall3));\n return Create2Utils.calculateCreate2Address(initCode, Create2Utils.standardSalt());\n }\n\n function expectedShimAddress() internal pure returns (address payable) {\n address routerAddr = expectedRouterAddress();\n bytes memory shimInitCode = abi.encodePacked(type(TrailsRouterShim).creationCode, abi.encode(routerAddr));\n return Create2Utils.calculateCreate2Address(shimInitCode, Create2Utils.standardSalt());\n }\n\n // -------------------------------------------------------------------------\n // Setup\n // -------------------------------------------------------------------------\n\n function setUp() public {\n _deployScript = new TrailsRouterShimDeploy();\n _deployerPk = 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80; // anvil default key\n _deployerPkStr = \"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80\";\n _deployer = vm.addr(_deployerPk);\n vm.deal(_deployer, 100 ether);\n }\n\n // -------------------------------------------------------------------------\n // Test Functions\n // -------------------------------------------------------------------------\n\n function test_DeployRouterShim_Success() public {\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n vm.recordLogs();\n _deployScript.run();\n\n // Get the actual router address from the deployment script\n address deployedRouterAddr = _deployScript.routerAddress();\n\n // Verify TrailsRouter was deployed\n assertEq(deployedRouterAddr.code.length > 0, true, \"TrailsRouter should be deployed\");\n\n // Verify TrailsRouterShim was deployed at the expected address\n address payable expectedShimAddr = expectedShimAddress();\n assertEq(expectedShimAddr.code.length > 0, true, \"TrailsRouterShim should be deployed at expected address\");\n\n // Verify the shim's router address is correctly set\n TrailsRouterShim shim = TrailsRouterShim(expectedShimAddr);\n assertEq(address(shim.ROUTER()), deployedRouterAddr, \"Shim should have correct router address\");\n }\n\n function test_DeployRouterShim_SameAddress() public {\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n // First deployment\n vm.recordLogs();\n _deployScript.run();\n\n // Get the actual router address from the deployment script\n address deployedRouterAddr = _deployScript.routerAddress();\n\n // Verify first deployment addresses\n assertEq(deployedRouterAddr.code.length > 0, true, \"First deployment: TrailsRouter deployed\");\n address payable expectedShimAddr = expectedShimAddress();\n assertEq(expectedShimAddr.code.length > 0, true, \"First deployment: TrailsRouterShim deployed\");\n\n // Re-set the PRIVATE_KEY for second deployment\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n // Second deployment should result in the same address (deterministic)\n vm.recordLogs();\n _deployScript.run();\n\n // Verify second deployment still has contracts at same addresses\n assertEq(deployedRouterAddr.code.length > 0, true, \"Second deployment: TrailsRouter still deployed\");\n assertEq(expectedShimAddr.code.length > 0, true, \"Second deployment: TrailsRouterShim still deployed\");\n\n // Both deployments should succeed without reverting\n }\n\n function test_DeployedContract_HasCorrectConfiguration() public {\n vm.setEnv(\"PRIVATE_KEY\", _deployerPkStr);\n\n // Deploy the script\n _deployScript.run();\n\n // Get references to deployed contracts\n address deployedRouterAddr = _deployScript.routerAddress();\n address payable expectedShimAddr = expectedShimAddress();\n TrailsRouterShim shim = TrailsRouterShim(expectedShimAddr);\n TrailsRouter router = TrailsRouter(payable(deployedRouterAddr));\n\n // Verify the router address is set correctly in the shim\n assertEq(address(shim.ROUTER()), deployedRouterAddr, \"Shim should have correct router address set\");\n\n // Verify router is properly initialized (basic smoke test)\n assertEq(address(router).code.length > 0, true, \"Router should have code\");\n\n // Test that the shim can access its router (basic functionality test)\n // This tests that the immutable is correctly set and accessible\n address routerFromShim = address(shim.ROUTER());\n assertEq(routerFromShim, deployedRouterAddr, \"Shim should be able to access its router address\");\n }\n}\n"},"test/utils/Create2Utils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {SINGLETON_FACTORY_ADDR} from \"lib/erc2470-libs/src/ISingletonFactory.sol\";\n\n// -----------------------------------------------------------------------------\n// Library\n// -----------------------------------------------------------------------------\n\n/// @title Create2 Address Calculation Utilities\n/// @notice Utility functions for calculating CREATE2 addresses used in deployment tests\nlibrary Create2Utils {\n /// @dev Calculate the expected CREATE2 address for a contract deployment\n /// @param initCode The contract initialization code (creation code + constructor args if any)\n /// @param salt The salt used for CREATE2 deployment\n /// @return expectedAddr The expected address where the contract will be deployed\n function calculateCreate2Address(bytes memory initCode, bytes32 salt)\n internal\n pure\n returns (address payable expectedAddr)\n {\n expectedAddr = payable(address(\n uint160(\n uint256(\n keccak256(abi.encodePacked(bytes1(0xff), SINGLETON_FACTORY_ADDR, salt, keccak256(initCode)))\n )\n )\n ));\n }\n\n /// @dev Get the standard salt used for deterministic deployments (bytes32(0))\n /// @return salt The standard salt value\n function standardSalt() internal pure returns (bytes32 salt) {\n return bytes32(0);\n }\n}\n"},"test/utils/TstoreUtils.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.30;\n\nimport {Vm} from \"forge-std/Vm.sol\";\n\n// ----------------------------------------------------------------------------\n// Cheatcode handle (usable from non-Test contexts in test scope)\n// ----------------------------------------------------------------------------\n\naddress constant HEVM_ADDRESS = address(uint160(uint256(keccak256(\"hevm cheat code\"))));\nVm constant HEVM = Vm(HEVM_ADDRESS);\n\n// ----------------------------------------------------------------------------\n// Transient Storage Helpers\n// ----------------------------------------------------------------------------\n\n/// @notice Helper to write transient storage at a given slot\ncontract TstoreSetter {\n function set(bytes32 slot, bytes32 value) external {\n assembly {\n tstore(slot, value)\n }\n }\n}\n\n/// @notice Helper to probe tstore support by attempting a tload\ncontract TstoreGetter {\n function get(bytes32 slot) external view returns (uint256 value) {\n assembly {\n value := tload(slot)\n }\n }\n}\n\n// ----------------------------------------------------------------------------\n// Mode Toggle Helpers (uses cheatcodes)\n// ----------------------------------------------------------------------------\n\nlibrary TstoreMode {\n bytes32 private constant SLOT_TSTORE_SUPPORT = bytes32(uint256(0));\n\n /// @notice Force-enable Tstorish tstore mode by setting `_tstoreSupport` to true at slot 0\n function setActive(address target) internal {\n HEVM.store(target, SLOT_TSTORE_SUPPORT, bytes32(uint256(1)));\n }\n\n /// @notice Force-disable Tstorish tstore mode by setting `_tstoreSupport` to false at slot 0\n function setInactive(address target) internal {\n HEVM.store(target, SLOT_TSTORE_SUPPORT, bytes32(uint256(0)));\n }\n}\n\n// ----------------------------------------------------------------------------\n// tload Utility (etch-based reader)\n// ----------------------------------------------------------------------------\n\n/// @notice Utilities to read a transient storage slot from an arbitrary address by\n/// temporarily etching `TstoreGetter` bytecode at the target, performing\n/// a staticcall, and restoring the original code.\nlibrary TstoreRead {\n /// @dev Reads a transient storage value at `slot` from `target` using tload semantics.\n /// This function preserves and restores the original code at `target`.\n /// @param target The address whose transient storage slot to read.\n /// @param slot The transient storage slot to read.\n /// @return value The uint256 value read from the transient storage slot.\n function tloadAt(address target, bytes32 slot) internal returns (uint256 value) {\n bytes memory originalCode = target.code;\n\n // Temporarily etch the TstoreGetter runtime code to enable tload via staticcall\n HEVM.etch(target, type(TstoreGetter).runtimeCode);\n\n (bool ok, bytes memory ret) = target.staticcall(abi.encodeWithSelector(TstoreGetter.get.selector, slot));\n\n // Restore original code regardless of call outcome\n HEVM.etch(target, originalCode);\n\n require(ok, \"tload failed\");\n require(ret.length >= 32, \"tload returned insufficient data\");\n\n return abi.decode(ret, (uint256));\n }\n}\n"}},"settings":{"remappings":["@/=src/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","forge-std/=lib/forge-std/src/","lifi-contracts/=lib/contracts/src/","erc2470-libs/=lib/erc2470-libs/","wallet-contracts-v3/=lib/wallet-contracts-v3/src/","tstorish/=lib/tstorish/src/","@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/","@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/","@uniswap/=lib/contracts/node_modules/@uniswap/","Permit2/=lib/contracts/lib/Permit2/","account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/","celer-network/=lib/contracts/lib/sgn-v2-contracts/","centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/","contracts/=lib/contracts/src/","create3-factory/=lib/contracts/lib/create3-factory/","ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/","evm-cctp-contracts/=lib/evm-cctp-contracts/","forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","lifi/=lib/contracts/src/","memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/","permit2/=lib/contracts/lib/Permit2/src/","sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/","solady/=lib/contracts/lib/solady/src/","solmate/=lib/contracts/lib/solmate/src/"],"optimizer":{"enabled":true,"runs":4294967295},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"lib/erc2470-libs/script/SingletonDeployer.s.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/erc2470-libs/src/ISingletonFactory.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/Base.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/Script.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdAssertions.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdChains.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdCheats.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdConstants.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdError.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdInvariant.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdJson.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdMath.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdStorage.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdStyle.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdToml.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/StdUtils.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/Test.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/Vm.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/console.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/console2.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/interfaces/IMulticall3.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/forge-std/src/safeconsole.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/Bytes.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/Nonces.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/tstorish/src/Tstorish.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"script/TrailsIntentEntrypoint.s.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"script/TrailsRouter.s.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"script/TrailsRouterShim.s.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/TrailsIntentEntrypoint.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/TrailsRouter.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/TrailsRouterShim.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/guards/DelegatecallGuard.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/interfaces/IMulticall3.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/interfaces/ITrailsIntentEntrypoint.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/interfaces/ITrailsRouter.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/interfaces/ITrailsRouterShim.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"src/libraries/TrailsSentinelLib.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/TrailsIntentEntrypoint.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/TrailsRouter.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/TrailsRouterShim.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/guards/DelegatecallGuard.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/libraries/TrailsSentinelLib.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/mocks/MockERC20.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/mocks/MockMulticall3.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/mocks/MockNonStandardERC20.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/mocks/MockSenderGetter.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/script/TrailsIntentEntrypoint.s.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/script/TrailsRouter.s.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/script/TrailsRouterShim.s.t.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/utils/Create2Utils.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]},"test/utils/TstoreUtils.sol":{"":["ast"],"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]}},"evmVersion":"prague","viaIR":true,"libraries":{}},"allowPaths":["/Users/shunkakinoki/ghq/github.com/0xsequence/trails-contracts","/Users/shunkakinoki/ghq/github.com/0xsequence/trails-contracts/lib"],"basePath":"/Users/shunkakinoki/ghq/github.com/0xsequence/trails-contracts","includePaths":["/Users/shunkakinoki/ghq/github.com/0xsequence/trails-contracts"]},"output":{"errors":[{"sourceLocation":{"file":"lib/tstorish/src/Tstorish.sol","start":5537,"end":5543},"type":"Warning","component":"general","severity":"warning","errorCode":"2394","message":"Transient storage as defined by EIP-1153 can break the composability of smart contracts: Since transient storage is cleared only at the end of the transaction and not at the end of the outermost call frame to the contract within a transaction, your contract may unintentionally misbehave when invoked multiple times in a complex transaction. To avoid this, be sure to clear all transient storage at the end of any call to your contract. The use of transient storage for reentrancy guards that are cleared at the end of the call is safe.","formattedMessage":"Warning: Transient storage as defined by EIP-1153 can break the composability of smart contracts: Since transient storage is cleared only at the end of the transaction and not at the end of the outermost call frame to the contract within a transaction, your contract may unintentionally misbehave when invoked multiple times in a complex transaction. To avoid this, be sure to clear all transient storage at the end of any call to your contract. The use of transient storage for reentrancy guards that are cleared at the end of the call is safe.\n --> lib/tstorish/src/Tstorish.sol:125:13:\n |\n125 | tstore(storageSlot, value)\n | ^^^^^^\n\n"},{"sourceLocation":{"file":"test/TrailsIntentEntrypoint.t.sol","start":830,"end":79031},"type":"Warning","component":"general","severity":"warning","errorCode":"5574","message":"Contract code size is 106127 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.","formattedMessage":"Warning: Contract code size is 106127 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> test/TrailsIntentEntrypoint.t.sol:21:1:\n |\n21 | contract TrailsIntentEntrypointTest is Test {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n"},{"sourceLocation":{"file":"test/TrailsIntentEntrypoint.t.sol","start":830,"end":79031},"type":"Warning","component":"general","severity":"warning","errorCode":"3860","message":"Contract initcode size is 106409 bytes and exceeds 49152 bytes (a limit introduced in Shanghai). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.","formattedMessage":"Warning: Contract initcode size is 106409 bytes and exceeds 49152 bytes (a limit introduced in Shanghai). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> test/TrailsIntentEntrypoint.t.sol:21:1:\n |\n21 | contract TrailsIntentEntrypointTest is Test {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n"},{"sourceLocation":{"file":"test/TrailsRouter.t.sol","start":4886,"end":59675},"type":"Warning","component":"general","severity":"warning","errorCode":"5574","message":"Contract code size is 95293 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.","formattedMessage":"Warning: Contract code size is 95293 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> test/TrailsRouter.t.sol:157:1:\n |\n157 | contract TrailsRouterTest is Test {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n"},{"sourceLocation":{"file":"test/TrailsRouter.t.sol","start":4886,"end":59675},"type":"Warning","component":"general","severity":"warning","errorCode":"3860","message":"Contract initcode size is 95800 bytes and exceeds 49152 bytes (a limit introduced in Shanghai). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.","formattedMessage":"Warning: Contract initcode size is 95800 bytes and exceeds 49152 bytes (a limit introduced in Shanghai). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> test/TrailsRouter.t.sol:157:1:\n |\n157 | contract TrailsRouterTest is Test {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n"},{"sourceLocation":{"file":"test/TrailsRouterShim.t.sol","start":5326,"end":24992},"type":"Warning","component":"general","severity":"warning","errorCode":"5574","message":"Contract code size is 41216 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.","formattedMessage":"Warning: Contract code size is 41216 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> test/TrailsRouterShim.t.sol:160:1:\n |\n160 | contract TrailsRouterShimTest is Test {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n"},{"sourceLocation":{"file":"test/script/TrailsRouter.s.t.sol","start":459,"end":4365},"type":"Warning","component":"general","severity":"warning","errorCode":"5574","message":"Contract code size is 30389 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.","formattedMessage":"Warning: Contract code size is 30389 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> test/script/TrailsRouter.s.t.sol:13:1:\n |\n13 | contract TrailsRouterDeploymentTest is Test {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n"},{"sourceLocation":{"file":"test/script/TrailsRouterShim.s.t.sol","start":526,"end":5963},"type":"Warning","component":"general","severity":"warning","errorCode":"5574","message":"Contract code size is 40118 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.","formattedMessage":"Warning: Contract code size is 40118 bytes and exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low \"runs\" value!), turning off revert strings, or using libraries.\n --> test/script/TrailsRouterShim.s.t.sol:14:1:\n |\n14 | contract TrailsRouterShimDeploymentTest is Test {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n"}],"contracts":{"lib/erc2470-libs/script/SingletonDeployer.s.sol":{"SingletonDeployer":{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"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/erc2470-libs/script/SingletonDeployer.s.sol\":\"SingletonDeployer\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/erc2470-libs/script/SingletonDeployer.s.sol\":{\"keccak256\":\"0x3fdec03d51d77fcda6d6c681e26e7c8d4b85f1457eac91e0ec15411a7ab1e1f6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a690bf4481a37f3f77acdeecac089462db83f0437307610981b24c04b5202f6e\",\"dweb:/ipfs/QmUA9TSjAkqefNBW8BiRqg8XDJiJxJPxSsZHQwJJAbrYQg\"]},\"lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47"}}}},"lib/erc2470-libs/src/ISingletonFactory.sol":{"ISingletonFactory":{"abi":[{"type":"function","name":"deploy","inputs":[{"name":"_initCode","type":"bytes","internalType":"bytes"},{"name":"_salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"createdContract","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_salt\",\"type\":\"bytes32\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"createdContract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/erc2470-libs/src/ISingletonFactory.sol\":\"ISingletonFactory\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"deploy(bytes,bytes32)":"4af63f02"}}}},"lib/forge-std/src/Base.sol":{"CommonBase":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"CONSOLE\":{\"details\":\"console.sol and console2.sol work by executing a staticcall to this address. Calculated as `address(uint160(uint88(bytes11(\\\"console.log\\\"))))`.\"},\"CREATE2_FACTORY\":{\"details\":\"Used when deploying with create2. Taken from https://github.com/Arachnid/deterministic-deployment-proxy.\"},\"DEFAULT_SENDER\":{\"details\":\"The default address for tx.origin and msg.sender. Calculated as `address(uint160(uint256(keccak256(\\\"foundry default caller\\\"))))`.\"},\"DEFAULT_TEST_CONTRACT\":{\"details\":\"The address of the first contract `CREATE`d by a running test contract. When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1. Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`.\"},\"MULTICALL3_ADDRESS\":{\"details\":\"Deterministic deployment address of the Multicall3 contract. Taken from https://www.multicall3.com.\"},\"SECP256K1_ORDER\":{\"details\":\"The order of the secp256k1 curve.\"},\"VM_ADDRESS\":{\"details\":\"Cheat code address. Calculated as `address(uint160(uint256(keccak256(\\\"hevm cheat code\\\"))))`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"CommonBase\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"ScriptBase":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"ScriptBase\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"TestBase":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"TestBase\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/Script.sol":{"Script":{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"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/Script.sol\":\"Script\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47"}}}},"lib/forge-std/src/StdAssertions.sol":{"StdAssertions":{"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}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"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\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"failed()":"ba414fa6"}}}},"lib/forge-std/src/StdChains.sol":{"StdChains":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"StdChains provides information about EVM compatible chains that can be used in scripts/tests. For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the alias used in this contract, which can be found as the first argument to the `setChainWithDefaultRpcUrl` call in the `initializeStdChains` function. There are two main ways to use this contract: 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or `setChain(string memory chainAlias, Chain memory chain)` 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`. The first time either of those are used, chains are initialized with the default set of RPC URLs. This is done in `initializeStdChains`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in `defaultRpcUrls`. The `setChain` function is straightforward, and it simply saves off the given chain data. The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say we want to retrieve the RPC URL for `mainnet`: - If you have specified data with `setChain`, it will return that. - If you have configured a mainnet RPC URL in `foundry.toml`, it will return the URL, provided it is valid (e.g. a URL is specified, or an environment variable is given and exists). - If neither of the above conditions is met, the default data is returned. Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdChains.sol\":\"StdChains\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/StdCheats.sol":{"StdCheats":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheats\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"StdCheatsSafe":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdCheats.sol\":\"StdCheatsSafe\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/StdConstants.sol":{"StdConstants":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"CONSOLE\":{\"details\":\"console.sol and console2.sol work by executing a staticcall to this address. Calculated as `address(uint160(uint88(bytes11(\\\"console.log\\\"))))`.\"},\"CREATE2_FACTORY\":{\"details\":\"Used when deploying with create2. Taken from https://github.com/Arachnid/deterministic-deployment-proxy.\"},\"DEFAULT_SENDER\":{\"details\":\"The default address for tx.origin and msg.sender. Calculated as `address(uint160(uint256(keccak256(\\\"foundry default caller\\\"))))`.\"},\"DEFAULT_TEST_CONTRACT\":{\"details\":\"The address of the first contract `CREATE`d by a running test contract. When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1. Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`.\"},\"MULTICALL3_ADDRESS\":{\"details\":\"Deterministic deployment address of the Multicall3 contract. Taken from https://www.multicall3.com.\"},\"SECP256K1_ORDER\":{\"details\":\"The order of the secp256k1 curve.\"},\"VM\":{\"details\":\"Cheat code address. Calculated as `address(uint160(uint256(keccak256(\\\"hevm cheat code\\\"))))`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdConstants.sol\":\"StdConstants\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220256b574c48b99b0bd77589fdc62d975f5d956c01400d92f7522e80bce10eff1564736f6c634300081e0033","sourceMap":"153:1713:7:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220256b574c48b99b0bd77589fdc62d975f5d956c01400d92f7522e80bce10eff1564736f6c634300081e0033","sourceMap":"153:1713:7:-:0;;","linkReferences":{}}}}},"lib/forge-std/src/StdError.sol":{"stdError":{"abi":[{"type":"function","name":"arithmeticError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"assertionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"divisionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"encodeStorageError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"enumConversionError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"indexOOBError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"memOverflowError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"popError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"zeroVarError","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"arithmeticError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assertionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"divisionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeStorageError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enumConversionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"indexOOBError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"memOverflowError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"popError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zeroVarError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdError.sol\":\"stdError\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460195761053c908161001e823930815050f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816305ee8612146103eb5750806310332977146103805780631de45560146103155780638995290f146102aa578063986c5f681461023f578063b22dc54d146101d4578063b67689da14610169578063d160e4de146100fe5763fa784a441461007f575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260126024820152602481526100ea604482610450565b604051918291826104be565b0390f35b5f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260226024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260516024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260316024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260416024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260116024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260216024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260016024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa57807f4e487b710000000000000000000000000000000000000000000000000000000060206100f693015260326024820152602481526100ea6044825b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761049157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f858286010152011601019056fea26469706673582212204f0f2d748356625c96a7f448d719b2a2947a8a36abe07376291851f05d70b49864736f6c634300081e0033","sourceMap":"162:850:8:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c90816305ee8612146103eb5750806310332977146103805780631de45560146103155780638995290f146102aa578063986c5f681461023f578063b22dc54d146101d4578063b67689da14610169578063d160e4de146100fe5763fa784a441461007f575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260126024820152602481526100ea604482610450565b604051918291826104be565b0390f35b5f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260226024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260516024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260316024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260416024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260116024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260216024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576100f66040517f4e487b7100000000000000000000000000000000000000000000000000000000602082015260016024820152602481526100ea604482610450565b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa57807f4e487b710000000000000000000000000000000000000000000000000000000060206100f693015260326024820152602481526100ea6044825b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761049157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f858286010152011601019056fea26469706673582212204f0f2d748356625c96a7f448d719b2a2947a8a36abe07376291851f05d70b49864736f6c634300081e0033","sourceMap":"162:850:8:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;408:47;;;;;450:4;408:47;;;162:850;408:47;;;;;;;:::i;:::-;162:850;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;601:47;;;;;643:4;601:47;;;162:850;601:47;;;;;;;:::i;162:850::-;;;;;;;;;;;962:47;;;;;1004:4;962:47;;;162:850;962:47;;;;;;;:::i;162:850::-;;;;;;;;;;;687:47;;;;;729:4;687:47;;;162:850;687:47;;;;;;;:::i;162:850::-;;;;;;;;;;;872:47;;;;;914:4;872:47;;;162:850;872:47;;;;;;;:::i;162:850::-;;;;;;;;;;;317:47;;;;;359:4;317:47;;;162:850;317:47;;;;;;;:::i;162:850::-;;;;;;;;;;;505:47;;;;;547:4;505:47;;;162:850;505:47;;;;;;;:::i;162:850::-;;;;;;;;;;;224:47;;;;;266:4;224:47;;;162:850;224:47;;;;;;;:::i;162:850::-;;;;;;;;778:47;;;162:850;778:47;;;820:4;778:47;;;162:850;778:47;;;;;;162:850;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;162:850:8;;;;;-1:-1:-1;162:850:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"arithmeticError()":"8995290f","assertionError()":"10332977","divisionError()":"fa784a44","encodeStorageError()":"d160e4de","enumConversionError()":"1de45560","indexOOBError()":"05ee8612","memOverflowError()":"986c5f68","popError()":"b22dc54d","zeroVarError()":"b67689da"}}}},"lib/forge-std/src/StdInvariant.sol":{"StdInvariant":{"abi":[{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdInvariant.sol\":\"StdInvariant\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"}}}},"lib/forge-std/src/StdJson.sol":{"stdJson":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdJson.sol\":\"stdJson\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220b1c6ae7a0fcc2be8ff0409b83e49c08e00fc8d9299e6b5f6afc4369527d3c9ad64736f6c634300081e0033","sourceMap":"610:9092:10:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220b1c6ae7a0fcc2be8ff0409b83e49c08e00fc8d9299e6b5f6afc4369527d3c9ad64736f6c634300081e0033","sourceMap":"610:9092:10:-:0;;","linkReferences":{}}}}},"lib/forge-std/src/StdMath.sol":{"stdMath":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdMath.sol\":\"stdMath\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220877d4daac4fa5464226dab88a21ec1687443052b61fd020ca9a3dd92fb99c6e864736f6c634300081e0033","sourceMap":"65:1533:11:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220877d4daac4fa5464226dab88a21ec1687443052b61fd020ca9a3dd92fb99c6e864736f6c634300081e0033","sourceMap":"65:1533:11:-:0;;","linkReferences":{}}}}},"lib/forge-std/src/StdStorage.sol":{"stdStorage":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorage\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220c5923f71653351d67708cc11b68017faf2f13f889de346bbf768a91ace59360164736f6c634300081e0033","sourceMap":"12755:5081:12:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220c5923f71653351d67708cc11b68017faf2f13f889de346bbf768a91ace59360164736f6c634300081e0033","sourceMap":"12755:5081:12:-:0;;","linkReferences":{}}}},"stdStorageSafe":{"abi":[{"type":"event","name":"SlotFound","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"fsig","type":"bytes4","indexed":false,"internalType":"bytes4"},{"name":"keysHash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"WARNING_UninitedSlot","inputs":[{"name":"who","type":"address","indexed":false,"internalType":"address"},{"name":"slot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"fsig\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"keysHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"SlotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"WARNING_UninitedSlot\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStorage.sol\":\"stdStorageSafe\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220217d1c5b33af7f41f1d3504e8df1c4dd0c7b624d58374ac6089d9a529ed6c4ab64736f6c634300081e0033","sourceMap":"450:12303:12:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220217d1c5b33af7f41f1d3504e8df1c4dd0c7b624d58374ac6089d9a529ed6c4ab64736f6c634300081e0033","sourceMap":"450:12303:12:-:0;;","linkReferences":{}}}}},"lib/forge-std/src/StdStyle.sol":{"StdStyle":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdStyle.sol\":\"StdStyle\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212205a75216cd19c9017777527cd84a17a660e356af5cf386d824bab3b42bc3b659e64736f6c634300081e0033","sourceMap":"100:10361:13:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea26469706673582212205a75216cd19c9017777527cd84a17a660e356af5cf386d824bab3b42bc3b659e64736f6c634300081e0033","sourceMap":"100:10361:13:-:0;;","linkReferences":{}}}}},"lib/forge-std/src/StdToml.sol":{"stdToml":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdToml.sol\":\"stdToml\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220e66e571977b3abd0472b3ba36f942f8b8c07240433ad7aba08f06600582b750d64736f6c634300081e0033","sourceMap":"610:9092:14:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220e66e571977b3abd0472b3ba36f942f8b8c07240433ad7aba08f06600582b750d64736f6c634300081e0033","sourceMap":"610:9092:14:-:0;;","linkReferences":{}}}}},"lib/forge-std/src/StdUtils.sol":{"StdUtils":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdUtils.sol\":\"StdUtils\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/forge-std/src/Test.sol":{"Test":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"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}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"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\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Test.sol\":\"Test\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"}}}},"lib/forge-std/src/Vm.sol":{"Vm":{"abi":[{"type":"function","name":"accessList","inputs":[{"name":"access","type":"tuple[]","internalType":"struct VmSafe.AccessListItem[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"storageKeys","type":"bytes32[]","internalType":"bytes32[]"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"accesses","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"readSlots","type":"bytes32[]","internalType":"bytes32[]"},{"name":"writeSlots","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"activeFork","inputs":[],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"addr","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"allowCheatcodes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertFalse","inputs":[{"name":"condition","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertFalse","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertTrue","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertTrue","inputs":[{"name":"condition","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assume","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[{"name":"potentialReverts","type":"tuple[]","internalType":"struct VmSafe.PotentialRevert[]","components":[{"name":"reverter","type":"address","internalType":"address"},{"name":"partialMatch","type":"bool","internalType":"bool"},{"name":"revertData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[{"name":"potentialRevert","type":"tuple","internalType":"struct VmSafe.PotentialRevert","components":[{"name":"reverter","type":"address","internalType":"address"},{"name":"partialMatch","type":"bool","internalType":"bool"},{"name":"revertData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"attachBlob","inputs":[{"name":"blob","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"attachDelegation","inputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"attachDelegation","inputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]},{"name":"crossChain","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"blobBaseFee","inputs":[{"name":"newBlobBaseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"blobhashes","inputs":[{"name":"hashes","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"bound","inputs":[{"name":"current","type":"uint256","internalType":"uint256"},{"name":"min","type":"uint256","internalType":"uint256"},{"name":"max","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"bound","inputs":[{"name":"current","type":"int256","internalType":"int256"},{"name":"min","type":"int256","internalType":"int256"},{"name":"max","type":"int256","internalType":"int256"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"broadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcastRawTransaction","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"chainId","inputs":[{"name":"newChainId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"clearMockedCalls","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cloneAccount","inputs":[{"name":"source","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"closeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"coinbase","inputs":[{"name":"newCoinbase","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"computeCreate2Address","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"initCodeHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"computeCreate2Address","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"initCodeHash","type":"bytes32","internalType":"bytes32"},{"name":"deployer","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"computeCreateAddress","inputs":[{"name":"deployer","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"contains","inputs":[{"name":"subject","type":"string","internalType":"string"},{"name":"search","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"cool","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"coolSlot","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"copyFile","inputs":[{"name":"from","type":"string","internalType":"string"},{"name":"to","type":"string","internalType":"string"}],"outputs":[{"name":"copied","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"copyStorage","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"walletLabel","type":"string","internalType":"string"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"walletLabel","type":"string","internalType":"string"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"deal","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newBalance","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteSnapshot","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"deleteSnapshots","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deleteStateSnapshot","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"deleteStateSnapshots","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"},{"name":"language","type":"string","internalType":"string"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"},{"name":"language","type":"string","internalType":"string"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"difficulty","inputs":[{"name":"newDifficulty","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"dumpState","inputs":[{"name":"pathToStateJson","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"eip712HashStruct","inputs":[{"name":"bindingsPath","type":"string","internalType":"string"},{"name":"typeName","type":"string","internalType":"string"},{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashStruct","inputs":[{"name":"typeNameOrDefinition","type":"string","internalType":"string"},{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashType","inputs":[{"name":"bindingsPath","type":"string","internalType":"string"},{"name":"typeName","type":"string","internalType":"string"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashType","inputs":[{"name":"typeNameOrDefinition","type":"string","internalType":"string"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashTypedData","inputs":[{"name":"jsonData","type":"string","internalType":"string"}],"outputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"ensNamehash","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envExists","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool","internalType":"bool"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256","internalType":"int256"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"etch","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"newRuntimeBytecode","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"eth_getLogs","inputs":[{"name":"fromBlock","type":"uint256","internalType":"uint256"},{"name":"toBlock","type":"uint256","internalType":"uint256"},{"name":"target","type":"address","internalType":"address"},{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.EthGetLogs[]","components":[{"name":"emitter","type":"address","internalType":"address"},{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"transactionHash","type":"bytes32","internalType":"bytes32"},{"name":"transactionIndex","type":"uint64","internalType":"uint64"},{"name":"logIndex","type":"uint256","internalType":"uint256"},{"name":"removed","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"exists","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"gas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"gas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCallMinGas","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCallMinGas","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCreate","inputs":[{"name":"bytecode","type":"bytes","internalType":"bytes"},{"name":"deployer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCreate2","inputs":[{"name":"bytecode","type":"bytes","internalType":"bytes"},{"name":"deployer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"emitter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"emitter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmitAnonymous","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmitAnonymous","inputs":[{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmitAnonymous","inputs":[{"name":"checkTopic0","type":"bool","internalType":"bool"},{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmitAnonymous","inputs":[{"name":"checkTopic0","type":"bool","internalType":"bool"},{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectPartialRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectPartialRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"},{"name":"reverter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"reverter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"},{"name":"reverter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"},{"name":"reverter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"},{"name":"reverter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"},{"name":"reverter","type":"address","internalType":"address"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"reverter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectSafeMemory","inputs":[{"name":"min","type":"uint64","internalType":"uint64"},{"name":"max","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectSafeMemoryCall","inputs":[{"name":"min","type":"uint64","internalType":"uint64"},{"name":"max","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fee","inputs":[{"name":"newBasefee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ffi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"foundryVersionAtLeast","inputs":[{"name":"version","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"foundryVersionCmp","inputs":[{"name":"version","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"fsMetadata","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"metadata","type":"tuple","internalType":"struct VmSafe.FsMetadata","components":[{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"},{"name":"length","type":"uint256","internalType":"uint256"},{"name":"readOnly","type":"bool","internalType":"bool"},{"name":"modified","type":"uint256","internalType":"uint256"},{"name":"accessed","type":"uint256","internalType":"uint256"},{"name":"created","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getArtifactPathByCode","inputs":[{"name":"code","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getArtifactPathByDeployedCode","inputs":[{"name":"deployedCode","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getBlobBaseFee","inputs":[],"outputs":[{"name":"blobBaseFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlobhashes","inputs":[],"outputs":[{"name":"hashes","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"height","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBroadcast","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"}],"outputs":[{"name":"","type":"tuple","internalType":"struct VmSafe.BroadcastTxSummary","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getBroadcasts","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct VmSafe.BroadcastTxSummary[]","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getBroadcasts","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct VmSafe.BroadcastTxSummary[]","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getChain","inputs":[{"name":"chainAlias","type":"string","internalType":"string"}],"outputs":[{"name":"chain","type":"tuple","internalType":"struct VmSafe.Chain","components":[{"name":"name","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"chainAlias","type":"string","internalType":"string"},{"name":"rpcUrl","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getChain","inputs":[{"name":"chainId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"chain","type":"tuple","internalType":"struct VmSafe.Chain","components":[{"name":"name","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"chainAlias","type":"string","internalType":"string"},{"name":"rpcUrl","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getChainId","inputs":[],"outputs":[{"name":"blockChainId","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"creationBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployedCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"runtimeBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployment","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeployment","inputs":[{"name":"contractName","type":"string","internalType":"string"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeployments","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"deployedAddresses","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getEvmVersion","inputs":[],"outputs":[{"name":"evm","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"getFoundryVersion","inputs":[],"outputs":[{"name":"version","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getLabel","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"currentLabel","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getMappingKeyAndParentOf","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"elementSlot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"found","type":"bool","internalType":"bool"},{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"parent","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getMappingLength","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"mappingSlot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"length","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMappingSlotAt","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"mappingSlot","type":"bytes32","internalType":"bytes32"},{"name":"idx","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getRawBlockHeader","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"rlpHeader","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecordedLogs","inputs":[],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.Log[]","components":[{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"emitter","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getStateDiff","inputs":[],"outputs":[{"name":"diff","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getStateDiffJson","inputs":[],"outputs":[{"name":"diff","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getStorageAccesses","inputs":[],"outputs":[{"name":"storageAccesses","type":"tuple[]","internalType":"struct VmSafe.StorageAccess[]","components":[{"name":"account","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"isWrite","type":"bool","internalType":"bool"},{"name":"previousValue","type":"bytes32","internalType":"bytes32"},{"name":"newValue","type":"bytes32","internalType":"bytes32"},{"name":"reverted","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getStorageSlots","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"variableName","type":"string","internalType":"string"}],"outputs":[{"name":"slots","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getWallets","inputs":[],"outputs":[{"name":"wallets","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"indexOf","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"interceptInitcode","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isContext","inputs":[{"name":"context","type":"uint8","internalType":"enum VmSafe.ForgeContext"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"persistent","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExists","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExistsJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExistsToml","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"label","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newLabel","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"lastCallGas","inputs":[],"outputs":[{"name":"gas","type":"tuple","internalType":"struct VmSafe.Gas","components":[{"name":"gasLimit","type":"uint64","internalType":"uint64"},{"name":"gasTotalUsed","type":"uint64","internalType":"uint64"},{"name":"gasMemoryUsed","type":"uint64","internalType":"uint64"},{"name":"gasRefunded","type":"int64","internalType":"int64"},{"name":"gasRemaining","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"load","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"loadAllocs","inputs":[{"name":"pathToAllocsJson","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"accounts","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account0","type":"address","internalType":"address"},{"name":"account1","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account0","type":"address","internalType":"address"},{"name":"account1","type":"address","internalType":"address"},{"name":"account2","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes4","internalType":"bytes4"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes4","internalType":"bytes4"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes4","internalType":"bytes4"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes4","internalType":"bytes4"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCalls","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCalls","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockFunction","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"noAccessList","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"parseAddress","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseBool","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes32","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseInt","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddress","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddressArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBool","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBoolArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes32","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes32Array","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytesArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonInt","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonIntArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonKeys","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"keys","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonString","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonStringArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonType","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonType","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonTypeArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonUint","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonUintArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseToml","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseToml","inputs":[{"name":"toml","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlAddress","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlAddressArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBool","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBoolArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes32","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes32Array","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytesArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlInt","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlIntArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlKeys","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"keys","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlString","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlStringArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlType","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlType","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlTypeArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlUint","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlUintArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseUint","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"pauseGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pauseTracing","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"},{"name":"delegateCall","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"delegateCall","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prevrandao","inputs":[{"name":"newPrevrandao","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prevrandao","inputs":[{"name":"newPrevrandao","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"projectRoot","inputs":[],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"prompt","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"input","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptAddress","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptSecret","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"input","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptSecretUint","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptUint","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"publicKeyP256","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"randomBool","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"randomBytes","inputs":[{"name":"len","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"randomBytes4","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"randomBytes8","inputs":[],"outputs":[{"name":"","type":"bytes8","internalType":"bytes8"}],"stateMutability":"view"},{"type":"function","name":"randomInt","inputs":[],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"randomInt","inputs":[{"name":"bits","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[{"name":"bits","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[{"name":"min","type":"uint256","internalType":"uint256"},{"name":"max","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"readCallers","inputs":[],"outputs":[{"name":"callerMode","type":"uint8","internalType":"enum VmSafe.CallerMode"},{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"},{"name":"followLinks","type":"bool","internalType":"bool"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"readLine","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"line","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readLink","inputs":[{"name":"linkPath","type":"string","internalType":"string"}],"outputs":[{"name":"targetPath","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"record","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordLogs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKey","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKeys","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"count","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"keyAddrs","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKeys","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"language","type":"string","internalType":"string"},{"name":"count","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"keyAddrs","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"removeDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"replace","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"from","type":"string","internalType":"string"},{"name":"to","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"resetGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resetNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resolveEnv","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"resumeGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resumeTracing","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"revertTo","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revertToAndDelete","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revertToState","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revertToStateAndDelete","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revokePersistent","inputs":[{"name":"accounts","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokePersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"roll","inputs":[{"name":"newHeight","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rpc","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"method","type":"string","internalType":"string"},{"name":"params","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"rpc","inputs":[{"name":"method","type":"string","internalType":"string"},{"name":"params","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"rpcUrl","inputs":[{"name":"rpcAlias","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"rpcUrlStructs","inputs":[],"outputs":[{"name":"urls","type":"tuple[]","internalType":"struct VmSafe.Rpc[]","components":[{"name":"key","type":"string","internalType":"string"},{"name":"url","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"rpcUrls","inputs":[],"outputs":[{"name":"urls","type":"string[2][]","internalType":"string[2][]"}],"stateMutability":"view"},{"type":"function","name":"selectFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeJson","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeJsonType","inputs":[{"name":"typeDescription","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"serializeJsonType","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUintToHex","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitraryStorage","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"overwrite","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitraryStorage","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBlockhash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEnv","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEvmVersion","inputs":[{"name":"evm","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newNonce","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNonceUnsafe","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newNonce","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSeed","inputs":[{"name":"seed","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"shuffle","inputs":[{"name":"array","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sign","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sign","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"crossChain","type":"bool","internalType":"bool"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signCompact","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"signCompact","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signCompact","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signCompact","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"crossChain","type":"bool","internalType":"bool"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signP256","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signWithNonceUnsafe","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"skip","inputs":[{"name":"skipTest","type":"bool","internalType":"bool"},{"name":"reason","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"skip","inputs":[{"name":"skipTest","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sleep","inputs":[{"name":"duration","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"snapshot","inputs":[],"outputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotGasLastCall","inputs":[{"name":"group","type":"string","internalType":"string"},{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotGasLastCall","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotState","inputs":[],"outputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotValue","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"snapshotValue","inputs":[{"name":"group","type":"string","internalType":"string"},{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sort","inputs":[{"name":"array","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"split","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"delimiter","type":"string","internalType":"string"}],"outputs":[{"name":"outputs","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"startBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startDebugTraceRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startMappingRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"delegateCall","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"},{"name":"delegateCall","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startSnapshotGas","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startSnapshotGas","inputs":[{"name":"group","type":"string","internalType":"string"},{"name":"name","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startStateDiffRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopAndReturnDebugTraceRecording","inputs":[],"outputs":[{"name":"step","type":"tuple[]","internalType":"struct VmSafe.DebugStep[]","components":[{"name":"stack","type":"uint256[]","internalType":"uint256[]"},{"name":"memoryInput","type":"bytes","internalType":"bytes"},{"name":"opcode","type":"uint8","internalType":"uint8"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isOutOfGas","type":"bool","internalType":"bool"},{"name":"contractAddr","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"stopAndReturnStateDiff","inputs":[],"outputs":[{"name":"accountAccesses","type":"tuple[]","internalType":"struct VmSafe.AccountAccess[]","components":[{"name":"chainInfo","type":"tuple","internalType":"struct VmSafe.ChainInfo","components":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"chainId","type":"uint256","internalType":"uint256"}]},{"name":"kind","type":"uint8","internalType":"enum VmSafe.AccountAccessKind"},{"name":"account","type":"address","internalType":"address"},{"name":"accessor","type":"address","internalType":"address"},{"name":"initialized","type":"bool","internalType":"bool"},{"name":"oldBalance","type":"uint256","internalType":"uint256"},{"name":"newBalance","type":"uint256","internalType":"uint256"},{"name":"deployedCode","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"reverted","type":"bool","internalType":"bool"},{"name":"storageAccesses","type":"tuple[]","internalType":"struct VmSafe.StorageAccess[]","components":[{"name":"account","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"isWrite","type":"bool","internalType":"bool"},{"name":"previousValue","type":"bytes32","internalType":"bytes32"},{"name":"newValue","type":"bytes32","internalType":"bytes32"},{"name":"reverted","type":"bool","internalType":"bool"}]},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"oldNonce","type":"uint64","internalType":"uint64"},{"name":"newNonce","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"stopBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopExpectSafeMemory","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopMappingRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopPrank","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopRecord","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopSnapshotGas","inputs":[{"name":"group","type":"string","internalType":"string"},{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"stopSnapshotGas","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"stopSnapshotGas","inputs":[],"outputs":[{"name":"gasUsed","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"store","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"toBase64","inputs":[{"name":"data","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64URL","inputs":[{"name":"data","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64URL","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toLowercase","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toUppercase","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"transact","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transact","inputs":[{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"trim","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"tryFfi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"tuple","internalType":"struct VmSafe.FfiResult","components":[{"name":"exitCode","type":"int32","internalType":"int32"},{"name":"stdout","type":"bytes","internalType":"bytes"},{"name":"stderr","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"txGasPrice","inputs":[{"name":"newGasPrice","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unixTime","inputs":[],"outputs":[{"name":"milliseconds","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"warmSlot","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"warp","inputs":[{"name":"newTimestamp","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFile","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeLine","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeToml","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeToml","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"storageKeys\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct VmSafe.AccessListItem[]\",\"name\":\"access\",\"type\":\"tuple[]\"}],\"name\":\"accessList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"allowCheatcodes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"partialMatch\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.PotentialRevert[]\",\"name\":\"potentialReverts\",\"type\":\"tuple[]\"}],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"partialMatch\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.PotentialRevert\",\"name\":\"potentialRevert\",\"type\":\"tuple\"}],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"blob\",\"type\":\"bytes\"}],\"name\":\"attachBlob\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"name\":\"attachDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"crossChain\",\"type\":\"bool\"}],\"name\":\"attachDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBlobBaseFee\",\"type\":\"uint256\"}],\"name\":\"blobBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"hashes\",\"type\":\"bytes32[]\"}],\"name\":\"blobhashes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"current\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"bound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"current\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"min\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"max\",\"type\":\"int256\"}],\"name\":\"bound\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"broadcastRawTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newChainId\",\"type\":\"uint256\"}],\"name\":\"chainId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clearMockedCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"source\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"cloneAccount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newCoinbase\",\"type\":\"address\"}],\"name\":\"coinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"computeCreateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"subject\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"search\",\"type\":\"string\"}],\"name\":\"contains\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"cool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"coolSlot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"copyFile\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"copied\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"copyStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"createDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"deal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"deleteSnapshot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deleteSnapshots\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"deleteStateSnapshot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deleteStateSnapshots\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newDifficulty\",\"type\":\"uint256\"}],\"name\":\"difficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"pathToStateJson\",\"type\":\"string\"}],\"name\":\"dumpState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"bindingsPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeName\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"name\":\"eip712HashStruct\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeNameOrDefinition\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"name\":\"eip712HashStruct\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"bindingsPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeName\",\"type\":\"string\"}],\"name\":\"eip712HashType\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeNameOrDefinition\",\"type\":\"string\"}],\"name\":\"eip712HashType\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"jsonData\",\"type\":\"string\"}],\"name\":\"eip712HashTypedData\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"ensNamehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"newRuntimeBytecode\",\"type\":\"bytes\"}],\"name\":\"etch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fromBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toBlock\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"}],\"name\":\"eth_getLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"transactionHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"transactionIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"logIndex\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"removed\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.EthGetLogs[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"expectCreate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"expectCreate2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectEmitAnonymous\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmitAnonymous\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic0\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmitAnonymous\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic0\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"}],\"name\":\"expectEmitAnonymous\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"}],\"name\":\"expectPartialRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"}],\"name\":\"expectPartialRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"min\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"max\",\"type\":\"uint64\"}],\"name\":\"expectSafeMemory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"min\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"max\",\"type\":\"uint64\"}],\"name\":\"expectSafeMemoryCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBasefee\",\"type\":\"uint256\"}],\"name\":\"fee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"foundryVersionAtLeast\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"foundryVersionCmp\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"code\",\"type\":\"bytes\"}],\"name\":\"getArtifactPathByCode\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"}],\"name\":\"getArtifactPathByDeployedCode\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlobBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blobBaseFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlobhashes\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"hashes\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"}],\"name\":\"getBroadcast\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getBroadcasts\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"}],\"name\":\"getBroadcasts\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"}],\"name\":\"getChain\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"rpcUrl\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Chain\",\"name\":\"chain\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"name\":\"getChain\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"rpcUrl\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Chain\",\"name\":\"chain\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockChainId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getDeployment\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"getDeployment\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getDeployments\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"deployedAddresses\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getEvmVersion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"evm\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFoundryVersion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getLabel\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"currentLabel\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"elementSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingKeyAndParentOf\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"found\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"parent\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"idx\",\"type\":\"uint256\"}],\"name\":\"getMappingSlotAt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getRawBlockHeader\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"rlpHeader\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateDiff\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"diff\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateDiffJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"diff\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStorageAccesses\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isWrite\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"previousValue\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newValue\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.StorageAccess[]\",\"name\":\"storageAccesses\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"variableName\",\"type\":\"string\"}],\"name\":\"getStorageSlots\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"slots\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWallets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"wallets\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"indexOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"interceptInitcode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum VmSafe.ForgeContext\",\"name\":\"context\",\"type\":\"uint8\"}],\"name\":\"isContext\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isDir\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isFile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPersistent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"persistent\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsJson\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsToml\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastCallGas\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasTotalUsed\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasMemoryUsed\",\"type\":\"uint64\"},{\"internalType\":\"int64\",\"name\":\"gasRefunded\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"gasRemaining\",\"type\":\"uint64\"}],\"internalType\":\"struct VmSafe.Gas\",\"name\":\"gas\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"pathToAllocsJson\",\"type\":\"string\"}],\"name\":\"loadAllocs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account2\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"data\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes4\",\"name\":\"data\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"data\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes4\",\"name\":\"data\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"name\":\"mockCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"name\":\"mockCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"mockFunction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"noAccessList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonTypeArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlTypeArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseTracing\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"newPrevrandao\",\"type\":\"bytes32\"}],\"name\":\"prevrandao\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPrevrandao\",\"type\":\"uint256\"}],\"name\":\"prevrandao\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"prompt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecret\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecretUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"publicKeyP256\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"len\",\"type\":\"uint256\"}],\"name\":\"randomBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBytes4\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBytes8\",\"outputs\":[{\"internalType\":\"bytes8\",\"name\":\"\",\"type\":\"bytes8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"randomInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"readCallers\",\"outputs\":[{\"internalType\":\"enum VmSafe.CallerMode\",\"name\":\"callerMode\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"followLinks\",\"type\":\"bool\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"linkPath\",\"type\":\"string\"}],\"name\":\"readLink\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"targetPath\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"count\",\"type\":\"uint32\"}],\"name\":\"rememberKeys\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"keyAddrs\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"count\",\"type\":\"uint32\"}],\"name\":\"rememberKeys\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"keyAddrs\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"removeDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"replace\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resetGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"resetNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"resolveEnv\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeTracing\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertToAndDelete\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertToState\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertToStateAndDelete\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newHeight\",\"type\":\"uint256\"}],\"name\":\"roll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"name\":\"selectFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeJsonType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeJsonType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUintToHex\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"overwrite\",\"type\":\"bool\"}],\"name\":\"setArbitraryStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"setArbitraryStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"name\":\"setBlockhash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"evm\",\"type\":\"string\"}],\"name\":\"setEvmVersion\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonceUnsafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"seed\",\"type\":\"uint256\"}],\"name\":\"setSeed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"array\",\"type\":\"uint256[]\"}],\"name\":\"shuffle\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"crossChain\",\"type\":\"bool\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"crossChain\",\"type\":\"bool\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signP256\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"signWithNonceUnsafe\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"skipTest\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"skip\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"skipTest\",\"type\":\"bool\"}],\"name\":\"skip\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"sleep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"group\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"snapshotGasLastCall\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"snapshotGasLastCall\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshotState\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"snapshotValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"group\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"snapshotValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"array\",\"type\":\"uint256[]\"}],\"name\":\"sort\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delimiter\",\"type\":\"string\"}],\"name\":\"split\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"outputs\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startDebugTraceRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"delegateCall\",\"type\":\"bool\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"startSnapshotGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"group\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"startSnapshotGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startStateDiffRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnDebugTraceRecording\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"stack\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"memoryInput\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isOutOfGas\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"contractAddr\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.DebugStep[]\",\"name\":\"step\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnStateDiff\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.ChainInfo\",\"name\":\"chainInfo\",\"type\":\"tuple\"},{\"internalType\":\"enum VmSafe.AccountAccessKind\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"accessor\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"oldBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isWrite\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"previousValue\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newValue\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.StorageAccess[]\",\"name\":\"storageAccesses\",\"type\":\"tuple[]\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"oldNonce\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"internalType\":\"struct VmSafe.AccountAccess[]\",\"name\":\"accountAccesses\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopExpectSafeMemory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"group\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"stopSnapshotGas\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"stopSnapshotGas\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopSnapshotGas\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toLowercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toUppercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"trim\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"tryFfi\",\"outputs\":[{\"components\":[{\"internalType\":\"int32\",\"name\":\"exitCode\",\"type\":\"int32\"},{\"internalType\":\"bytes\",\"name\":\"stdout\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"stderr\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.FfiResult\",\"name\":\"result\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newGasPrice\",\"type\":\"uint256\"}],\"name\":\"txGasPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unixTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"milliseconds\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"warmSlot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newTimestamp\",\"type\":\"uint256\"}],\"name\":\"warp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"accessList((address,bytes32[])[])\":{\"notice\":\"Utility cheatcode to set an EIP-2930 access list for all subsequent transactions.\"},\"accesses(address)\":{\"notice\":\"Gets all accessed reads and write slot from a `vm.record` session, for a given address.\"},\"activeFork()\":{\"notice\":\"Returns the identifier of the currently active fork. Reverts if no fork is currently active.\"},\"addr(uint256)\":{\"notice\":\"Gets the address for a given private key.\"},\"allowCheatcodes(address)\":{\"notice\":\"In forking mode, explicitly grant the given address cheatcode access.\"},\"assertApproxEqAbs(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\"},\"assertApproxEqAbs(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure.\"},\"assertApproxEqAbs(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\"},\"assertApproxEqAbs(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure.\"},\"assertApproxEqAbsDecimal(int256,int256,uint256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message.\"},\"assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message.\"},\"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqRel(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\"},\"assertApproxEqRel(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure.\"},\"assertApproxEqRel(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\"},\"assertApproxEqRel(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure.\"},\"assertApproxEqRelDecimal(int256,int256,uint256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message.\"},\"assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message.\"},\"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertEq(address,address)\":{\"notice\":\"Asserts that two `address` values are equal.\"},\"assertEq(address,address,string)\":{\"notice\":\"Asserts that two `address` values are equal and includes error message into revert string on failure.\"},\"assertEq(address[],address[])\":{\"notice\":\"Asserts that two arrays of `address` values are equal.\"},\"assertEq(address[],address[],string)\":{\"notice\":\"Asserts that two arrays of `address` values are equal and includes error message into revert string on failure.\"},\"assertEq(bool,bool)\":{\"notice\":\"Asserts that two `bool` values are equal.\"},\"assertEq(bool,bool,string)\":{\"notice\":\"Asserts that two `bool` values are equal and includes error message into revert string on failure.\"},\"assertEq(bool[],bool[])\":{\"notice\":\"Asserts that two arrays of `bool` values are equal.\"},\"assertEq(bool[],bool[],string)\":{\"notice\":\"Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes,bytes)\":{\"notice\":\"Asserts that two `bytes` values are equal.\"},\"assertEq(bytes,bytes,string)\":{\"notice\":\"Asserts that two `bytes` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes32,bytes32)\":{\"notice\":\"Asserts that two `bytes32` values are equal.\"},\"assertEq(bytes32,bytes32,string)\":{\"notice\":\"Asserts that two `bytes32` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes32[],bytes32[])\":{\"notice\":\"Asserts that two arrays of `bytes32` values are equal.\"},\"assertEq(bytes32[],bytes32[],string)\":{\"notice\":\"Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes[],bytes[])\":{\"notice\":\"Asserts that two arrays of `bytes` values are equal.\"},\"assertEq(bytes[],bytes[],string)\":{\"notice\":\"Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure.\"},\"assertEq(int256,int256)\":{\"notice\":\"Asserts that two `int256` values are equal.\"},\"assertEq(int256,int256,string)\":{\"notice\":\"Asserts that two `int256` values are equal and includes error message into revert string on failure.\"},\"assertEq(int256[],int256[])\":{\"notice\":\"Asserts that two arrays of `int256` values are equal.\"},\"assertEq(int256[],int256[],string)\":{\"notice\":\"Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure.\"},\"assertEq(string,string)\":{\"notice\":\"Asserts that two `string` values are equal.\"},\"assertEq(string,string,string)\":{\"notice\":\"Asserts that two `string` values are equal and includes error message into revert string on failure.\"},\"assertEq(string[],string[])\":{\"notice\":\"Asserts that two arrays of `string` values are equal.\"},\"assertEq(string[],string[],string)\":{\"notice\":\"Asserts that two arrays of `string` values are equal and includes error message into revert string on failure.\"},\"assertEq(uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are equal.\"},\"assertEq(uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are equal and includes error message into revert string on failure.\"},\"assertEq(uint256[],uint256[])\":{\"notice\":\"Asserts that two arrays of `uint256 values are equal.\"},\"assertEq(uint256[],uint256[],string)\":{\"notice\":\"Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure.\"},\"assertEqDecimal(int256,int256,uint256)\":{\"notice\":\"Asserts that two `int256` values are equal, formatting them with decimals in failure message.\"},\"assertEqDecimal(int256,int256,uint256,string)\":{\"notice\":\"Asserts that two `int256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertEqDecimal(uint256,uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are equal, formatting them with decimals in failure message.\"},\"assertEqDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertFalse(bool)\":{\"notice\":\"Asserts that the given condition is false.\"},\"assertFalse(bool,string)\":{\"notice\":\"Asserts that the given condition is false and includes error message into revert string on failure.\"},\"assertGe(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second.\"},\"assertGe(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure.\"},\"assertGe(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second.\"},\"assertGe(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure.\"},\"assertGeDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message.\"},\"assertGeDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGeDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message.\"},\"assertGeDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGt(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second.\"},\"assertGt(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Includes error message into revert string on failure.\"},\"assertGt(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second.\"},\"assertGt(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Includes error message into revert string on failure.\"},\"assertGtDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message.\"},\"assertGtDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGtDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message.\"},\"assertGtDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLe(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second.\"},\"assertLe(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure.\"},\"assertLe(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second.\"},\"assertLe(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure.\"},\"assertLeDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message.\"},\"assertLeDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLeDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message.\"},\"assertLeDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLt(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second.\"},\"assertLt(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Includes error message into revert string on failure.\"},\"assertLt(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second.\"},\"assertLt(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Includes error message into revert string on failure.\"},\"assertLtDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message.\"},\"assertLtDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLtDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message.\"},\"assertLtDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertNotEq(address,address)\":{\"notice\":\"Asserts that two `address` values are not equal.\"},\"assertNotEq(address,address,string)\":{\"notice\":\"Asserts that two `address` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(address[],address[])\":{\"notice\":\"Asserts that two arrays of `address` values are not equal.\"},\"assertNotEq(address[],address[],string)\":{\"notice\":\"Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bool,bool)\":{\"notice\":\"Asserts that two `bool` values are not equal.\"},\"assertNotEq(bool,bool,string)\":{\"notice\":\"Asserts that two `bool` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bool[],bool[])\":{\"notice\":\"Asserts that two arrays of `bool` values are not equal.\"},\"assertNotEq(bool[],bool[],string)\":{\"notice\":\"Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes,bytes)\":{\"notice\":\"Asserts that two `bytes` values are not equal.\"},\"assertNotEq(bytes,bytes,string)\":{\"notice\":\"Asserts that two `bytes` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes32,bytes32)\":{\"notice\":\"Asserts that two `bytes32` values are not equal.\"},\"assertNotEq(bytes32,bytes32,string)\":{\"notice\":\"Asserts that two `bytes32` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes32[],bytes32[])\":{\"notice\":\"Asserts that two arrays of `bytes32` values are not equal.\"},\"assertNotEq(bytes32[],bytes32[],string)\":{\"notice\":\"Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes[],bytes[])\":{\"notice\":\"Asserts that two arrays of `bytes` values are not equal.\"},\"assertNotEq(bytes[],bytes[],string)\":{\"notice\":\"Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(int256,int256)\":{\"notice\":\"Asserts that two `int256` values are not equal.\"},\"assertNotEq(int256,int256,string)\":{\"notice\":\"Asserts that two `int256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(int256[],int256[])\":{\"notice\":\"Asserts that two arrays of `int256` values are not equal.\"},\"assertNotEq(int256[],int256[],string)\":{\"notice\":\"Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(string,string)\":{\"notice\":\"Asserts that two `string` values are not equal.\"},\"assertNotEq(string,string,string)\":{\"notice\":\"Asserts that two `string` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(string[],string[])\":{\"notice\":\"Asserts that two arrays of `string` values are not equal.\"},\"assertNotEq(string[],string[],string)\":{\"notice\":\"Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are not equal.\"},\"assertNotEq(uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(uint256[],uint256[])\":{\"notice\":\"Asserts that two arrays of `uint256` values are not equal.\"},\"assertNotEq(uint256[],uint256[],string)\":{\"notice\":\"Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEqDecimal(int256,int256,uint256)\":{\"notice\":\"Asserts that two `int256` values are not equal, formatting them with decimals in failure message.\"},\"assertNotEqDecimal(int256,int256,uint256,string)\":{\"notice\":\"Asserts that two `int256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertNotEqDecimal(uint256,uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message.\"},\"assertNotEqDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertTrue(bool)\":{\"notice\":\"Asserts that the given condition is true.\"},\"assertTrue(bool,string)\":{\"notice\":\"Asserts that the given condition is true and includes error message into revert string on failure.\"},\"assume(bool)\":{\"notice\":\"If the condition is false, discard this run's fuzz inputs and generate new ones.\"},\"assumeNoRevert((address,bool,bytes))\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverts with the potential revert parameters.\"},\"assumeNoRevert((address,bool,bytes)[])\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverts with the any of the potential revert parameters.\"},\"assumeNoRevert()\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverted.\"},\"attachBlob(bytes)\":{\"notice\":\"Attach an EIP-4844 blob to the next call\"},\"attachDelegation((uint8,bytes32,bytes32,uint64,address))\":{\"notice\":\"Designate the next call as an EIP-7702 transaction\"},\"attachDelegation((uint8,bytes32,bytes32,uint64,address),bool)\":{\"notice\":\"Designate the next call as an EIP-7702 transaction, with optional cross-chain validity.\"},\"blobBaseFee(uint256)\":{\"notice\":\"Sets `block.blobbasefee`\"},\"blobhashes(bytes32[])\":{\"notice\":\"Sets the blobhashes in the transaction. Not available on EVM versions before Cancun. If used on unsupported EVM versions it will revert.\"},\"bound(int256,int256,int256)\":{\"notice\":\"Returns an int256 value bounded in given range and different from the current one.\"},\"bound(uint256,uint256,uint256)\":{\"notice\":\"Returns an uint256 value bounded in given range and different from the current one.\"},\"breakpoint(string)\":{\"notice\":\"Writes a breakpoint to jump to in the debugger.\"},\"breakpoint(string,bool)\":{\"notice\":\"Writes a conditional breakpoint to jump to in the debugger.\"},\"broadcast()\":{\"notice\":\"Has the next call (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\"},\"broadcast(address)\":{\"notice\":\"Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain.\"},\"broadcast(uint256)\":{\"notice\":\"Has the next call (at this call depth only) create a transaction with the private key provided as the sender that can later be signed and sent onchain.\"},\"broadcastRawTransaction(bytes)\":{\"notice\":\"Takes a signed transaction and broadcasts it to the network.\"},\"chainId(uint256)\":{\"notice\":\"Sets `block.chainid`.\"},\"clearMockedCalls()\":{\"notice\":\"Clears all mocked calls.\"},\"cloneAccount(address,address)\":{\"notice\":\"Clones a source account code, state, balance and nonce to a target account and updates in-memory EVM state.\"},\"closeFile(string)\":{\"notice\":\"Closes file for reading, resetting the offset and allowing to read it from beginning with readLine. `path` is relative to the project root.\"},\"coinbase(address)\":{\"notice\":\"Sets `block.coinbase`.\"},\"computeCreate2Address(bytes32,bytes32)\":{\"notice\":\"Compute the address of a contract created with CREATE2 using the default CREATE2 deployer.\"},\"computeCreate2Address(bytes32,bytes32,address)\":{\"notice\":\"Compute the address of a contract created with CREATE2 using the given CREATE2 deployer.\"},\"computeCreateAddress(address,uint256)\":{\"notice\":\"Compute the address a contract will be deployed at for a given deployer address and nonce.\"},\"contains(string,string)\":{\"notice\":\"Returns true if `search` is found in `subject`, false otherwise.\"},\"cool(address)\":{\"notice\":\"Marks the slots of an account and the account address as cold.\"},\"coolSlot(address,bytes32)\":{\"notice\":\"Utility cheatcode to mark specific storage slot as cold, simulating no prior read.\"},\"copyFile(string,string)\":{\"notice\":\"Copies the contents of one file to another. This function will **overwrite** the contents of `to`. On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`. Both `from` and `to` are relative to the project root.\"},\"copyStorage(address,address)\":{\"notice\":\"Utility cheatcode to copy storage of `from` contract to another `to` contract.\"},\"createDir(string,bool)\":{\"notice\":\"Creates a new, empty directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - User lacks permissions to modify `path`. - A parent of the given path doesn't exist and `recursive` is false. - `path` already exists and `recursive` is false. `path` is relative to the project root.\"},\"createFork(string)\":{\"notice\":\"Creates a new fork with the given endpoint and the _latest_ block and returns the identifier of the fork.\"},\"createFork(string,bytes32)\":{\"notice\":\"Creates a new fork with the given endpoint and at the block the given transaction was mined in, replays all transaction mined in the block before the transaction, and returns the identifier of the fork.\"},\"createFork(string,uint256)\":{\"notice\":\"Creates a new fork with the given endpoint and block and returns the identifier of the fork.\"},\"createSelectFork(string)\":{\"notice\":\"Creates and also selects a new fork with the given endpoint and the latest block and returns the identifier of the fork.\"},\"createSelectFork(string,bytes32)\":{\"notice\":\"Creates and also selects new fork with the given endpoint and at the block the given transaction was mined in, replays all transaction mined in the block before the transaction, returns the identifier of the fork.\"},\"createSelectFork(string,uint256)\":{\"notice\":\"Creates and also selects a new fork with the given endpoint and block and returns the identifier of the fork.\"},\"createWallet(string)\":{\"notice\":\"Derives a private key from the name, labels the account with that name, and returns the wallet.\"},\"createWallet(uint256)\":{\"notice\":\"Generates a wallet from the private key and returns the wallet.\"},\"createWallet(uint256,string)\":{\"notice\":\"Generates a wallet from the private key, labels the account with that name, and returns the wallet.\"},\"deal(address,uint256)\":{\"notice\":\"Sets an address' balance.\"},\"deleteSnapshot(uint256)\":{\"notice\":\"`deleteSnapshot` is being deprecated in favor of `deleteStateSnapshot`. It will be removed in future versions.\"},\"deleteSnapshots()\":{\"notice\":\"`deleteSnapshots` is being deprecated in favor of `deleteStateSnapshots`. It will be removed in future versions.\"},\"deleteStateSnapshot(uint256)\":{\"notice\":\"Removes the snapshot with the given ID created by `snapshot`. Takes the snapshot ID to delete. Returns `true` if the snapshot was successfully deleted. Returns `false` if the snapshot does not exist.\"},\"deleteStateSnapshots()\":{\"notice\":\"Removes _all_ snapshots previously created by `snapshot`.\"},\"deployCode(string)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"deployCode(string,bytes)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments.\"},\"deployCode(string,bytes,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments.\"},\"deployCode(string,bytes,uint256)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`.\"},\"deployCode(string,bytes,uint256,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`.\"},\"deployCode(string,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"deployCode(string,uint256)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`.\"},\"deployCode(string,uint256,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`.\"},\"deriveKey(string,string,uint32)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) at `{derivationPath}{index}`.\"},\"deriveKey(string,string,uint32,string)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language at `{derivationPath}{index}`.\"},\"deriveKey(string,uint32)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) at the derivation path `m/44'/60'/0'/0/{index}`.\"},\"deriveKey(string,uint32,string)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language at the derivation path `m/44'/60'/0'/0/{index}`.\"},\"difficulty(uint256)\":{\"notice\":\"Sets `block.difficulty`. Not available on EVM versions from Paris onwards. Use `prevrandao` instead. Reverts if used on unsupported EVM versions.\"},\"dumpState(string)\":{\"notice\":\"Dump a genesis JSON file's `allocs` to disk.\"},\"eip712HashStruct(string,bytes)\":{\"notice\":\"Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data. Supports 2 different inputs: 1. Name of the type (i.e. \\\"PermitSingle\\\"): * requires previous binding generation with `forge bind-json`. * bindings will be retrieved from the path configured in `foundry.toml`. 2. String representation of the type (i.e. \\\"Foo(Bar bar) Bar(uint256 baz)\\\"). * Note: the cheatcode will use the canonical type even if the input is malformated with the wrong order of elements or with extra whitespaces.\"},\"eip712HashStruct(string,string,bytes)\":{\"notice\":\"Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data. Requires previous binding generation with `forge bind-json`. Params: * `bindingsPath`: path where the output of `forge bind-json` is stored. * `typeName`: Name of the type (i.e. \\\"PermitSingle\\\"). * `abiEncodedData`: ABI-encoded data for the struct that is being hashed.\"},\"eip712HashType(string)\":{\"notice\":\"Generates the hash of the canonical EIP-712 type representation. Supports 2 different inputs: 1. Name of the type (i.e. \\\"Transaction\\\"): * requires previous binding generation with `forge bind-json`. * bindings will be retrieved from the path configured in `foundry.toml`. 2. String representation of the type (i.e. \\\"Foo(Bar bar) Bar(uint256 baz)\\\"). * Note: the cheatcode will output the canonical type even if the input is malformated with the wrong order of elements or with extra whitespaces.\"},\"eip712HashType(string,string)\":{\"notice\":\"Generates the hash of the canonical EIP-712 type representation. Requires previous binding generation with `forge bind-json`. Params: * `bindingsPath`: path where the output of `forge bind-json` is stored. * `typeName`: Name of the type (i.e. \\\"Transaction\\\").\"},\"eip712HashTypedData(string)\":{\"notice\":\"Generates a ready-to-sign digest of human-readable typed data following the EIP-712 standard.\"},\"ensNamehash(string)\":{\"notice\":\"Returns ENS namehash for provided string.\"},\"envAddress(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `address`. Reverts if the variable was not found or could not be parsed.\"},\"envAddress(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBool(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable was not found or could not be parsed.\"},\"envBool(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes32(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes32(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envExists(string)\":{\"notice\":\"Gets the environment variable `name` and returns true if it exists, else returns false.\"},\"envInt(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable was not found or could not be parsed.\"},\"envInt(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envOr(string,address)\":{\"notice\":\"Gets the environment variable `name` and parses it as `address`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bool)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bytes)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bytes32)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,int256)\":{\"notice\":\"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `string`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,address[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bool[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bytes32[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bytes[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,int256[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,string[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,uint256[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,uint256)\":{\"notice\":\"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envString(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `string`. Reverts if the variable was not found or could not be parsed.\"},\"envString(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envUint(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable was not found or could not be parsed.\"},\"envUint(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"etch(address,bytes)\":{\"notice\":\"Sets an address' code.\"},\"eth_getLogs(uint256,uint256,address,bytes32[])\":{\"notice\":\"Gets all the logs according to specified filter.\"},\"exists(string)\":{\"notice\":\"Returns true if the given path points to an existing entity, else returns false.\"},\"expectCall(address,bytes)\":{\"notice\":\"Expects a call to an address with the specified calldata. Calldata can either be a strict or a partial match.\"},\"expectCall(address,bytes,uint64)\":{\"notice\":\"Expects given number of calls to an address with the specified calldata.\"},\"expectCall(address,uint256,bytes)\":{\"notice\":\"Expects a call to an address with the specified `msg.value` and calldata.\"},\"expectCall(address,uint256,bytes,uint64)\":{\"notice\":\"Expects given number of calls to an address with the specified `msg.value` and calldata.\"},\"expectCall(address,uint256,uint64,bytes)\":{\"notice\":\"Expect a call to an address with the specified `msg.value`, gas, and calldata.\"},\"expectCall(address,uint256,uint64,bytes,uint64)\":{\"notice\":\"Expects given number of calls to an address with the specified `msg.value`, gas, and calldata.\"},\"expectCallMinGas(address,uint256,uint64,bytes)\":{\"notice\":\"Expect a call to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas.\"},\"expectCallMinGas(address,uint256,uint64,bytes,uint64)\":{\"notice\":\"Expect given number of calls to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas.\"},\"expectCreate(bytes,address)\":{\"notice\":\"Expects the deployment of the specified bytecode by the specified address using the CREATE opcode\"},\"expectCreate2(bytes,address)\":{\"notice\":\"Expects the deployment of the specified bytecode by the specified address using the CREATE2 opcode\"},\"expectEmit()\":{\"notice\":\"Prepare an expected log with all topic and data checks enabled. Call this function, then emit an event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data.\"},\"expectEmit(address)\":{\"notice\":\"Same as the previous method, but also checks supplied address against emitting contract.\"},\"expectEmit(address,uint64)\":{\"notice\":\"Expect a given number of logs from a specific emitter with all topic and data checks enabled.\"},\"expectEmit(bool,bool,bool,bool)\":{\"notice\":\"Prepare an expected log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.). Call this function, then emit an event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data (as specified by the booleans).\"},\"expectEmit(bool,bool,bool,bool,address)\":{\"notice\":\"Same as the previous method, but also checks supplied address against emitting contract.\"},\"expectEmit(bool,bool,bool,bool,address,uint64)\":{\"notice\":\"Expect a given number of logs from a specific emitter with the provided topics.\"},\"expectEmit(bool,bool,bool,bool,uint64)\":{\"notice\":\"Expect a given number of logs with the provided topics.\"},\"expectEmit(uint64)\":{\"notice\":\"Expect a given number of logs with all topic and data checks enabled.\"},\"expectEmitAnonymous()\":{\"notice\":\"Prepare an expected anonymous log with all topic and data checks enabled. Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data.\"},\"expectEmitAnonymous(address)\":{\"notice\":\"Same as the previous method, but also checks supplied address against emitting contract.\"},\"expectEmitAnonymous(bool,bool,bool,bool,bool)\":{\"notice\":\"Prepare an expected anonymous log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.). Call this function, then emit an anonymous event, then call a function. Internally after the call, we check if logs were emitted in the expected order with the expected topics and data (as specified by the booleans).\"},\"expectEmitAnonymous(bool,bool,bool,bool,bool,address)\":{\"notice\":\"Same as the previous method, but also checks supplied address against emitting contract.\"},\"expectPartialRevert(bytes4)\":{\"notice\":\"Expects an error on next call that starts with the revert data.\"},\"expectPartialRevert(bytes4,address)\":{\"notice\":\"Expects an error on next call to reverter address, that starts with the revert data.\"},\"expectRevert()\":{\"notice\":\"Expects an error on next call with any revert data.\"},\"expectRevert(address)\":{\"notice\":\"Expects an error with any revert data on next call to reverter address.\"},\"expectRevert(address,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls from the reverter address.\"},\"expectRevert(bytes)\":{\"notice\":\"Expects an error on next call that exactly matches the revert data.\"},\"expectRevert(bytes,address)\":{\"notice\":\"Expects an error from reverter address on next call, that exactly matches the revert data.\"},\"expectRevert(bytes,address,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls from the reverter address that exactly match the revert data.\"},\"expectRevert(bytes,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls that exactly match the revert data.\"},\"expectRevert(bytes4)\":{\"notice\":\"Expects an error on next call that exactly matches the revert data.\"},\"expectRevert(bytes4,address)\":{\"notice\":\"Expects an error from reverter address on next call, with any revert data.\"},\"expectRevert(bytes4,address,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls from the reverter address that match the revert data.\"},\"expectRevert(bytes4,uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls that match the revert data.\"},\"expectRevert(uint64)\":{\"notice\":\"Expects a `count` number of reverts from the upcoming calls with any revert data or reverter.\"},\"expectSafeMemory(uint64,uint64)\":{\"notice\":\"Only allows memory writes to offsets [0x00, 0x60) \\u222a [min, max) in the current subcontext. If any other memory is written to, the test will fail. Can be called multiple times to add more ranges to the set.\"},\"expectSafeMemoryCall(uint64,uint64)\":{\"notice\":\"Only allows memory writes to offsets [0x00, 0x60) \\u222a [min, max) in the next created subcontext. If any other memory is written to, the test will fail. Can be called multiple times to add more ranges to the set.\"},\"fee(uint256)\":{\"notice\":\"Sets `block.basefee`.\"},\"ffi(string[])\":{\"notice\":\"Performs a foreign function call via the terminal.\"},\"foundryVersionAtLeast(string)\":{\"notice\":\"Returns true if the current Foundry version is greater than or equal to the given version. The given version string must be in the format `major.minor.patch`. This is equivalent to `foundryVersionCmp(version) >= 0`.\"},\"foundryVersionCmp(string)\":{\"notice\":\"Compares the current Foundry version with the given version string. The given version string must be in the format `major.minor.patch`. Returns: -1 if current Foundry version is less than the given version 0 if current Foundry version equals the given version 1 if current Foundry version is greater than the given version This result can then be used with a comparison operator against `0`. For example, to check if the current Foundry version is greater than or equal to `1.0.0`: `if (foundryVersionCmp(\\\"1.0.0\\\") >= 0) { ... }`\"},\"fsMetadata(string)\":{\"notice\":\"Given a path, query the file system to get information about a file, directory, etc.\"},\"getArtifactPathByCode(bytes)\":{\"notice\":\"Gets the artifact path from code (aka. creation code).\"},\"getArtifactPathByDeployedCode(bytes)\":{\"notice\":\"Gets the artifact path from deployed code (aka. runtime code).\"},\"getBlobBaseFee()\":{\"notice\":\"Gets the current `block.blobbasefee`. You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBlobhashes()\":{\"notice\":\"Gets the blockhashes from the current transaction. Not available on EVM versions before Cancun. If used on unsupported EVM versions it will revert.\"},\"getBlockNumber()\":{\"notice\":\"Gets the current `block.number`. You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBlockTimestamp()\":{\"notice\":\"Gets the current `block.timestamp`. You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBroadcast(string,uint64,uint8)\":{\"notice\":\"Returns the most recent broadcast for the given contract on `chainId` matching `txType`. For example: The most recent deployment can be fetched by passing `txType` as `CREATE` or `CREATE2`. The most recent call can be fetched by passing `txType` as `CALL`.\"},\"getBroadcasts(string,uint64)\":{\"notice\":\"Returns all broadcasts for the given contract on `chainId`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\"},\"getBroadcasts(string,uint64,uint8)\":{\"notice\":\"Returns all broadcasts for the given contract on `chainId` with the specified `txType`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\"},\"getChain(string)\":{\"notice\":\"Returns a Chain struct for specific alias\"},\"getChain(uint256)\":{\"notice\":\"Returns a Chain struct for specific chainId\"},\"getChainId()\":{\"notice\":\"Gets the current `block.chainid` of the currently selected environment. You should use this instead of `block.chainid` if you use `vm.selectFork` or `vm.createSelectFork`, as `block.chainid` could be assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getCode(string)\":{\"notice\":\"Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"getDeployedCode(string)\":{\"notice\":\"Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"getDeployment(string)\":{\"notice\":\"Returns the most recent deployment for the current `chainId`.\"},\"getDeployment(string,uint64)\":{\"notice\":\"Returns the most recent deployment for the given contract on `chainId`\"},\"getDeployments(string,uint64)\":{\"notice\":\"Returns all deployments for the given contract on `chainId` Sorted in descending order of deployment time i.e descending order of BroadcastTxSummary.blockNumber. The most recent deployment is the first element, and the oldest is the last.\"},\"getEvmVersion()\":{\"notice\":\"Returns the test or script execution evm version. **Note:** The execution evm version is not the same as the compilation one.\"},\"getFoundryVersion()\":{\"notice\":\"Returns the Foundry version. Format: -+.. Sample output: 0.3.0-nightly+3cb96bde9b.1737036656.debug Note: Build timestamps may vary slightly across platforms due to separate CI jobs. For reliable version comparisons, use UNIX format (e.g., >= 1700000000) to compare timestamps while ignoring minor time differences.\"},\"getLabel(address)\":{\"notice\":\"Gets the label for the specified address.\"},\"getMappingKeyAndParentOf(address,bytes32)\":{\"notice\":\"Gets the map key and parent of a mapping at a given slot, for a given address.\"},\"getMappingLength(address,bytes32)\":{\"notice\":\"Gets the number of elements in the mapping at the given slot, for a given address.\"},\"getMappingSlotAt(address,bytes32,uint256)\":{\"notice\":\"Gets the elements at index idx of the mapping at the given slot, for a given address. The index must be less than the length of the mapping (i.e. the number of keys in the mapping).\"},\"getNonce((address,uint256,uint256,uint256))\":{\"notice\":\"Get the nonce of a `Wallet`.\"},\"getNonce(address)\":{\"notice\":\"Gets the nonce of an account.\"},\"getRawBlockHeader(uint256)\":{\"notice\":\"Gets the RLP encoded block header for a given block number. Returns the block header in the same format as `cast block --raw`.\"},\"getRecordedLogs()\":{\"notice\":\"Gets all the recorded logs.\"},\"getStateDiff()\":{\"notice\":\"Returns state diffs from current `vm.startStateDiffRecording` session.\"},\"getStateDiffJson()\":{\"notice\":\"Returns state diffs from current `vm.startStateDiffRecording` session, in json format.\"},\"getStorageAccesses()\":{\"notice\":\"Returns an array of `StorageAccess` from current `vm.stateStateDiffRecording` session\"},\"getStorageSlots(address,string)\":{\"notice\":\"Returns an array of storage slots occupied by the specified variable.\"},\"getWallets()\":{\"notice\":\"Returns addresses of available unlocked wallets in the script environment.\"},\"indexOf(string,string)\":{\"notice\":\"Returns the index of the first occurrence of a `key` in an `input` string. Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found. Returns 0 in case of an empty `key`.\"},\"interceptInitcode()\":{\"notice\":\"Causes the next contract creation (via new) to fail and return its initcode in the returndata buffer. This allows type-safe access to the initcode payload that would be used for contract creation. Example usage: vm.interceptInitcode(); bytes memory initcode; try new MyContract(param1, param2) { assert(false); } catch (bytes memory interceptedInitcode) { initcode = interceptedInitcode; }\"},\"isContext(uint8)\":{\"notice\":\"Returns true if `forge` command was executed in given context.\"},\"isDir(string)\":{\"notice\":\"Returns true if the path exists on disk and is pointing at a directory, else returns false.\"},\"isFile(string)\":{\"notice\":\"Returns true if the path exists on disk and is pointing at a regular file, else returns false.\"},\"isPersistent(address)\":{\"notice\":\"Returns true if the account is marked as persistent.\"},\"keyExists(string,string)\":{\"notice\":\"Checks if `key` exists in a JSON object `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions.\"},\"keyExistsJson(string,string)\":{\"notice\":\"Checks if `key` exists in a JSON object.\"},\"keyExistsToml(string,string)\":{\"notice\":\"Checks if `key` exists in a TOML table.\"},\"label(address,string)\":{\"notice\":\"Labels an address in call traces.\"},\"lastCallGas()\":{\"notice\":\"Gets the gas used in the last call from the callee perspective.\"},\"load(address,bytes32)\":{\"notice\":\"Loads a storage slot from an address.\"},\"loadAllocs(string)\":{\"notice\":\"Load a genesis JSON file's `allocs` into the in-memory EVM state.\"},\"makePersistent(address)\":{\"notice\":\"Marks that the account(s) should use persistent storage across fork swaps in a multifork setup Meaning, changes made to the state of this account will be kept when switching forks.\"},\"makePersistent(address,address)\":{\"notice\":\"See `makePersistent(address)`.\"},\"makePersistent(address,address,address)\":{\"notice\":\"See `makePersistent(address)`.\"},\"makePersistent(address[])\":{\"notice\":\"See `makePersistent(address)`.\"},\"mockCall(address,bytes,bytes)\":{\"notice\":\"Mocks a call to an address, returning specified data. Calldata can either be strict or a partial match, e.g. if you only pass a Solidity selector to the expected calldata, then the entire Solidity function will be mocked.\"},\"mockCall(address,bytes4,bytes)\":{\"notice\":\"Mocks a call to an address, returning specified data. Calldata can either be strict or a partial match, e.g. if you only pass a Solidity selector to the expected calldata, then the entire Solidity function will be mocked. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\"},\"mockCall(address,uint256,bytes,bytes)\":{\"notice\":\"Mocks a call to an address with a specific `msg.value`, returning specified data. Calldata match takes precedence over `msg.value` in case of ambiguity.\"},\"mockCall(address,uint256,bytes4,bytes)\":{\"notice\":\"Mocks a call to an address with a specific `msg.value`, returning specified data. Calldata match takes precedence over `msg.value` in case of ambiguity. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\"},\"mockCallRevert(address,bytes,bytes)\":{\"notice\":\"Reverts a call to an address with specified revert data.\"},\"mockCallRevert(address,bytes4,bytes)\":{\"notice\":\"Reverts a call to an address with specified revert data. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\"},\"mockCallRevert(address,uint256,bytes,bytes)\":{\"notice\":\"Reverts a call to an address with a specific `msg.value`, with specified revert data.\"},\"mockCallRevert(address,uint256,bytes4,bytes)\":{\"notice\":\"Reverts a call to an address with a specific `msg.value`, with specified revert data. Overload to pass the function selector directly `token.approve.selector` instead of `abi.encodeWithSelector(token.approve.selector)`.\"},\"mockCalls(address,bytes,bytes[])\":{\"notice\":\"Mocks multiple calls to an address, returning specified data for each call.\"},\"mockCalls(address,uint256,bytes,bytes[])\":{\"notice\":\"Mocks multiple calls to an address with a specific `msg.value`, returning specified data for each call.\"},\"mockFunction(address,address,bytes)\":{\"notice\":\"Whenever a call is made to `callee` with calldata `data`, this cheatcode instead calls `target` with the same calldata. This functionality is similar to a delegate call made to `target` contract from `callee`. Can be used to substitute a call to a function with another implementation that captures the primary logic of the original function but is easier to reason about. If calldata is not a strict match then partial match by selector is attempted.\"},\"noAccessList()\":{\"notice\":\"Utility cheatcode to remove any EIP-2930 access list set by `accessList` cheatcode.\"},\"parseAddress(string)\":{\"notice\":\"Parses the given `string` into an `address`.\"},\"parseBool(string)\":{\"notice\":\"Parses the given `string` into a `bool`.\"},\"parseBytes(string)\":{\"notice\":\"Parses the given `string` into `bytes`.\"},\"parseBytes32(string)\":{\"notice\":\"Parses the given `string` into a `bytes32`.\"},\"parseInt(string)\":{\"notice\":\"Parses the given `string` into a `int256`.\"},\"parseJson(string)\":{\"notice\":\"ABI-encodes a JSON object.\"},\"parseJson(string,string)\":{\"notice\":\"ABI-encodes a JSON object at `key`.\"},\"parseJsonAddress(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `address`.\"},\"parseJsonAddressArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `address[]`.\"},\"parseJsonBool(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bool`.\"},\"parseJsonBoolArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bool[]`.\"},\"parseJsonBytes(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes`.\"},\"parseJsonBytes32(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes32`.\"},\"parseJsonBytes32Array(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes32[]`.\"},\"parseJsonBytesArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes[]`.\"},\"parseJsonInt(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `int256`.\"},\"parseJsonIntArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `int256[]`.\"},\"parseJsonKeys(string,string)\":{\"notice\":\"Returns an array of all the keys in a JSON object.\"},\"parseJsonString(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `string`.\"},\"parseJsonStringArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `string[]`.\"},\"parseJsonType(string,string)\":{\"notice\":\"Parses a string of JSON data and coerces it to type corresponding to `typeDescription`.\"},\"parseJsonType(string,string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to type corresponding to `typeDescription`.\"},\"parseJsonTypeArray(string,string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to type array corresponding to `typeDescription`.\"},\"parseJsonUint(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `uint256`.\"},\"parseJsonUintArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `uint256[]`.\"},\"parseToml(string)\":{\"notice\":\"ABI-encodes a TOML table.\"},\"parseToml(string,string)\":{\"notice\":\"ABI-encodes a TOML table at `key`.\"},\"parseTomlAddress(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `address`.\"},\"parseTomlAddressArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `address[]`.\"},\"parseTomlBool(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bool`.\"},\"parseTomlBoolArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bool[]`.\"},\"parseTomlBytes(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes`.\"},\"parseTomlBytes32(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes32`.\"},\"parseTomlBytes32Array(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes32[]`.\"},\"parseTomlBytesArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes[]`.\"},\"parseTomlInt(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `int256`.\"},\"parseTomlIntArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `int256[]`.\"},\"parseTomlKeys(string,string)\":{\"notice\":\"Returns an array of all the keys in a TOML table.\"},\"parseTomlString(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `string`.\"},\"parseTomlStringArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `string[]`.\"},\"parseTomlType(string,string)\":{\"notice\":\"Parses a string of TOML data and coerces it to type corresponding to `typeDescription`.\"},\"parseTomlType(string,string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to type corresponding to `typeDescription`.\"},\"parseTomlTypeArray(string,string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to type array corresponding to `typeDescription`.\"},\"parseTomlUint(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `uint256`.\"},\"parseTomlUintArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `uint256[]`.\"},\"parseUint(string)\":{\"notice\":\"Parses the given `string` into a `uint256`.\"},\"pauseGasMetering()\":{\"notice\":\"Pauses gas metering (i.e. gas usage is not counted). Noop if already paused.\"},\"pauseTracing()\":{\"notice\":\"Pauses collection of call traces. Useful in cases when you want to skip tracing of complex calls which are not useful for debugging.\"},\"prank(address)\":{\"notice\":\"Sets the *next* call's `msg.sender` to be the input address.\"},\"prank(address,address)\":{\"notice\":\"Sets the *next* call's `msg.sender` to be the input address, and the `tx.origin` to be the second input.\"},\"prank(address,address,bool)\":{\"notice\":\"Sets the *next* delegate call's `msg.sender` to be the input address, and the `tx.origin` to be the second input.\"},\"prank(address,bool)\":{\"notice\":\"Sets the *next* delegate call's `msg.sender` to be the input address.\"},\"prevrandao(bytes32)\":{\"notice\":\"Sets `block.prevrandao`. Not available on EVM versions before Paris. Use `difficulty` instead. If used on unsupported EVM versions it will revert.\"},\"prevrandao(uint256)\":{\"notice\":\"Sets `block.prevrandao`. Not available on EVM versions before Paris. Use `difficulty` instead. If used on unsupported EVM versions it will revert.\"},\"projectRoot()\":{\"notice\":\"Get the path of the current project root.\"},\"prompt(string)\":{\"notice\":\"Prompts the user for a string value in the terminal.\"},\"promptAddress(string)\":{\"notice\":\"Prompts the user for an address in the terminal.\"},\"promptSecret(string)\":{\"notice\":\"Prompts the user for a hidden string value in the terminal.\"},\"promptSecretUint(string)\":{\"notice\":\"Prompts the user for hidden uint256 in the terminal (usually pk).\"},\"promptUint(string)\":{\"notice\":\"Prompts the user for uint256 in the terminal.\"},\"publicKeyP256(uint256)\":{\"notice\":\"Derives secp256r1 public key from the provided `privateKey`.\"},\"randomAddress()\":{\"notice\":\"Returns a random `address`.\"},\"randomBool()\":{\"notice\":\"Returns a random `bool`.\"},\"randomBytes(uint256)\":{\"notice\":\"Returns a random byte array value of the given length.\"},\"randomBytes4()\":{\"notice\":\"Returns a random fixed-size byte array of length 4.\"},\"randomBytes8()\":{\"notice\":\"Returns a random fixed-size byte array of length 8.\"},\"randomInt()\":{\"notice\":\"Returns a random `int256` value.\"},\"randomInt(uint256)\":{\"notice\":\"Returns a random `int256` value of given bits.\"},\"randomUint()\":{\"notice\":\"Returns a random uint256 value.\"},\"randomUint(uint256)\":{\"notice\":\"Returns a random `uint256` value of given bits.\"},\"randomUint(uint256,uint256)\":{\"notice\":\"Returns random uint256 value between the provided range (=min..=max).\"},\"readCallers()\":{\"notice\":\"Reads the current `msg.sender` and `tx.origin` from state and reports if there is any active caller modification.\"},\"readDir(string)\":{\"notice\":\"Reads the directory at the given path recursively, up to `maxDepth`. `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned. Follows symbolic links if `followLinks` is true.\"},\"readDir(string,uint64)\":{\"notice\":\"See `readDir(string)`.\"},\"readDir(string,uint64,bool)\":{\"notice\":\"See `readDir(string)`.\"},\"readFile(string)\":{\"notice\":\"Reads the entire content of file to string. `path` is relative to the project root.\"},\"readFileBinary(string)\":{\"notice\":\"Reads the entire content of file as binary. `path` is relative to the project root.\"},\"readLine(string)\":{\"notice\":\"Reads next line of file to string.\"},\"readLink(string)\":{\"notice\":\"Reads a symbolic link, returning the path that the link points to. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` is not a symbolic link. - `path` does not exist.\"},\"record()\":{\"notice\":\"Records all storage reads and writes. Use `accesses` to get the recorded data. Subsequent calls to `record` will clear the previous data.\"},\"recordLogs()\":{\"notice\":\"Record all the transaction logs.\"},\"rememberKey(uint256)\":{\"notice\":\"Adds a private key to the local forge wallet and returns the address.\"},\"rememberKeys(string,string,string,uint32)\":{\"notice\":\"Derive a set number of wallets from a mnemonic in the specified language at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\"},\"rememberKeys(string,string,uint32)\":{\"notice\":\"Derive a set number of wallets from a mnemonic at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\"},\"removeDir(string,bool)\":{\"notice\":\"Removes a directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` doesn't exist. - `path` isn't a directory. - User lacks permissions to modify `path`. - The directory is not empty and `recursive` is false. `path` is relative to the project root.\"},\"removeFile(string)\":{\"notice\":\"Removes a file from the filesystem. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` points to a directory. - The file doesn't exist. - The user lacks permissions to remove the file. `path` is relative to the project root.\"},\"replace(string,string,string)\":{\"notice\":\"Replaces occurrences of `from` in the given `string` with `to`.\"},\"resetGasMetering()\":{\"notice\":\"Reset gas metering (i.e. gas usage is set to gas limit).\"},\"resetNonce(address)\":{\"notice\":\"Resets the nonce of an account to 0 for EOAs and 1 for contract accounts.\"},\"resolveEnv(string)\":{\"notice\":\"Resolves the env variable placeholders of a given input string.\"},\"resumeGasMetering()\":{\"notice\":\"Resumes gas metering (i.e. gas usage is counted again). Noop if already on.\"},\"resumeTracing()\":{\"notice\":\"Unpauses collection of call traces.\"},\"revertTo(uint256)\":{\"notice\":\"`revertTo` is being deprecated in favor of `revertToState`. It will be removed in future versions.\"},\"revertToAndDelete(uint256)\":{\"notice\":\"`revertToAndDelete` is being deprecated in favor of `revertToStateAndDelete`. It will be removed in future versions.\"},\"revertToState(uint256)\":{\"notice\":\"Revert the state of the EVM to a previous snapshot Takes the snapshot ID to revert to. Returns `true` if the snapshot was successfully reverted. Returns `false` if the snapshot does not exist. **Note:** This does not automatically delete the snapshot. To delete the snapshot use `deleteStateSnapshot`.\"},\"revertToStateAndDelete(uint256)\":{\"notice\":\"Revert the state of the EVM to a previous snapshot and automatically deletes the snapshots Takes the snapshot ID to revert to. Returns `true` if the snapshot was successfully reverted and deleted. Returns `false` if the snapshot does not exist.\"},\"revokePersistent(address)\":{\"notice\":\"Revokes persistent status from the address, previously added via `makePersistent`.\"},\"revokePersistent(address[])\":{\"notice\":\"See `revokePersistent(address)`.\"},\"roll(uint256)\":{\"notice\":\"Sets `block.height`.\"},\"rollFork(bytes32)\":{\"notice\":\"Updates the currently active fork to given transaction. This will `rollFork` with the number of the block the transaction was mined in and replays all transaction mined before it in the block.\"},\"rollFork(uint256)\":{\"notice\":\"Updates the currently active fork to given block number This is similar to `roll` but for the currently active fork.\"},\"rollFork(uint256,bytes32)\":{\"notice\":\"Updates the given fork to block number of the given transaction and replays all transaction mined before it in the block.\"},\"rollFork(uint256,uint256)\":{\"notice\":\"Updates the given fork to given block number.\"},\"rpc(string,string)\":{\"notice\":\"Performs an Ethereum JSON-RPC request to the current fork URL.\"},\"rpc(string,string,string)\":{\"notice\":\"Performs an Ethereum JSON-RPC request to the given endpoint.\"},\"rpcUrl(string)\":{\"notice\":\"Returns the RPC url for the given alias.\"},\"rpcUrlStructs()\":{\"notice\":\"Returns all rpc urls and their aliases as structs.\"},\"rpcUrls()\":{\"notice\":\"Returns all rpc urls and their aliases `[alias, url][]`.\"},\"selectFork(uint256)\":{\"notice\":\"Takes a fork identifier created by `createFork` and sets the corresponding forked state as active.\"},\"serializeAddress(string,string,address)\":{\"notice\":\"See `serializeJson`.\"},\"serializeAddress(string,string,address[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBool(string,string,bool)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBool(string,string,bool[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes(string,string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes(string,string,bytes[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes32(string,string,bytes32)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes32(string,string,bytes32[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeInt(string,string,int256)\":{\"notice\":\"See `serializeJson`.\"},\"serializeInt(string,string,int256[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeJson(string,string)\":{\"notice\":\"Serializes a key and value to a JSON object stored in-memory that can be later written to a file. Returns the stringified version of the specific JSON file up to that moment.\"},\"serializeJsonType(string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeJsonType(string,string,string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeString(string,string,string)\":{\"notice\":\"See `serializeJson`.\"},\"serializeString(string,string,string[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeUint(string,string,uint256)\":{\"notice\":\"See `serializeJson`.\"},\"serializeUint(string,string,uint256[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeUintToHex(string,string,uint256)\":{\"notice\":\"See `serializeJson`.\"},\"setArbitraryStorage(address)\":{\"notice\":\"Utility cheatcode to set arbitrary storage for given target address.\"},\"setArbitraryStorage(address,bool)\":{\"notice\":\"Utility cheatcode to set arbitrary storage for given target address and overwrite any storage slots that have been previously set.\"},\"setBlockhash(uint256,bytes32)\":{\"notice\":\"Set blockhash for the current block. It only sets the blockhash for blocks where `block.number - 256 <= number < block.number`.\"},\"setEnv(string,string)\":{\"notice\":\"Sets environment variables.\"},\"setEvmVersion(string)\":{\"notice\":\"Set the exact test or script execution evm version, e.g. `berlin`, `cancun`. **Note:** The execution evm version is not the same as the compilation one.\"},\"setNonce(address,uint64)\":{\"notice\":\"Sets the nonce of an account. Must be higher than the current nonce of the account.\"},\"setNonceUnsafe(address,uint64)\":{\"notice\":\"Sets the nonce of an account to an arbitrary value.\"},\"setSeed(uint256)\":{\"notice\":\"Set RNG seed.\"},\"shuffle(uint256[])\":{\"notice\":\"Randomly shuffles an array.\"},\"sign((address,uint256,uint256,uint256),bytes32)\":{\"notice\":\"Signs data with a `Wallet`.\"},\"sign(address,bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Raises error if none of the signers passed into the script have provided address.\"},\"sign(bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script.\"},\"sign(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256k1 curve.\"},\"signAndAttachDelegation(address,uint256)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction\"},\"signAndAttachDelegation(address,uint256,bool)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction, with optional cross-chain validity.\"},\"signAndAttachDelegation(address,uint256,uint64)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction for specific nonce\"},\"signCompact((address,uint256,uint256,uint256),bytes32)\":{\"notice\":\"Signs data with a `Wallet`. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes.\"},\"signCompact(address,bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. Raises error if none of the signers passed into the script have provided address.\"},\"signCompact(bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script.\"},\"signCompact(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes.\"},\"signDelegation(address,uint256)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation\"},\"signDelegation(address,uint256,bool)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation, with optional cross-chain validity.\"},\"signDelegation(address,uint256,uint64)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation for specific nonce\"},\"signP256(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256r1 curve.\"},\"signWithNonceUnsafe(uint256,bytes32,uint256)\":{\"notice\":\"Signs `digest` with `privateKey` on the secp256k1 curve, using the given `nonce` as the raw ephemeral k value in ECDSA (instead of deriving it deterministically).\"},\"skip(bool)\":{\"notice\":\"Marks a test as skipped. Must be called at the top level of a test.\"},\"skip(bool,string)\":{\"notice\":\"Marks a test as skipped with a reason. Must be called at the top level of a test.\"},\"sleep(uint256)\":{\"notice\":\"Suspends execution of the main thread for `duration` milliseconds.\"},\"snapshot()\":{\"notice\":\"`snapshot` is being deprecated in favor of `snapshotState`. It will be removed in future versions.\"},\"snapshotGasLastCall(string)\":{\"notice\":\"Snapshot capture the gas usage of the last call by name from the callee perspective.\"},\"snapshotGasLastCall(string,string)\":{\"notice\":\"Snapshot capture the gas usage of the last call by name in a group from the callee perspective.\"},\"snapshotState()\":{\"notice\":\"Snapshot the current state of the evm. Returns the ID of the snapshot that was created. To revert a snapshot use `revertToState`.\"},\"snapshotValue(string,string,uint256)\":{\"notice\":\"Snapshot capture an arbitrary numerical value by name in a group.\"},\"snapshotValue(string,uint256)\":{\"notice\":\"Snapshot capture an arbitrary numerical value by name. The group name is derived from the contract name.\"},\"sort(uint256[])\":{\"notice\":\"Sorts an array in ascending order.\"},\"split(string,string)\":{\"notice\":\"Splits the given `string` into an array of strings divided by the `delimiter`.\"},\"startBroadcast()\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\"},\"startBroadcast(address)\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions with the address provided that can later be signed and sent onchain.\"},\"startBroadcast(uint256)\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions with the private key provided that can later be signed and sent onchain.\"},\"startDebugTraceRecording()\":{\"notice\":\"Records the debug trace during the run.\"},\"startMappingRecording()\":{\"notice\":\"Starts recording all map SSTOREs for later retrieval.\"},\"startPrank(address)\":{\"notice\":\"Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called.\"},\"startPrank(address,address)\":{\"notice\":\"Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input.\"},\"startPrank(address,address,bool)\":{\"notice\":\"Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input.\"},\"startPrank(address,bool)\":{\"notice\":\"Sets all subsequent delegate calls' `msg.sender` to be the input address until `stopPrank` is called.\"},\"startSnapshotGas(string)\":{\"notice\":\"Start a snapshot capture of the current gas usage by name. The group name is derived from the contract name.\"},\"startSnapshotGas(string,string)\":{\"notice\":\"Start a snapshot capture of the current gas usage by name in a group.\"},\"startStateDiffRecording()\":{\"notice\":\"Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order, along with the context of the calls\"},\"stopAndReturnDebugTraceRecording()\":{\"notice\":\"Stop debug trace recording and returns the recorded debug trace.\"},\"stopAndReturnStateDiff()\":{\"notice\":\"Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session.\"},\"stopBroadcast()\":{\"notice\":\"Stops collecting onchain transactions.\"},\"stopExpectSafeMemory()\":{\"notice\":\"Stops all safe memory expectation in the current subcontext.\"},\"stopMappingRecording()\":{\"notice\":\"Stops recording all map SSTOREs for later retrieval and clears the recorded data.\"},\"stopPrank()\":{\"notice\":\"Resets subsequent calls' `msg.sender` to be `address(this)`.\"},\"stopRecord()\":{\"notice\":\"Stops recording storage reads and writes.\"},\"stopSnapshotGas()\":{\"notice\":\"Stop the snapshot capture of the current gas by latest snapshot name, capturing the gas used since the start.\"},\"stopSnapshotGas(string)\":{\"notice\":\"Stop the snapshot capture of the current gas usage by name, capturing the gas used since the start. The group name is derived from the contract name.\"},\"stopSnapshotGas(string,string)\":{\"notice\":\"Stop the snapshot capture of the current gas usage by name in a group, capturing the gas used since the start.\"},\"store(address,bytes32,bytes32)\":{\"notice\":\"Stores a value to an address' storage slot.\"},\"toBase64(bytes)\":{\"notice\":\"Encodes a `bytes` value to a base64 string.\"},\"toBase64(string)\":{\"notice\":\"Encodes a `string` value to a base64 string.\"},\"toBase64URL(bytes)\":{\"notice\":\"Encodes a `bytes` value to a base64url string.\"},\"toBase64URL(string)\":{\"notice\":\"Encodes a `string` value to a base64url string.\"},\"toLowercase(string)\":{\"notice\":\"Converts the given `string` value to Lowercase.\"},\"toString(address)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bool)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bytes)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bytes32)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(int256)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(uint256)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toUppercase(string)\":{\"notice\":\"Converts the given `string` value to Uppercase.\"},\"transact(bytes32)\":{\"notice\":\"Fetches the given transaction from the active fork and executes it on the current state.\"},\"transact(uint256,bytes32)\":{\"notice\":\"Fetches the given transaction from the given fork and executes it on the current state.\"},\"trim(string)\":{\"notice\":\"Trims leading and trailing whitespace from the given `string` value.\"},\"tryFfi(string[])\":{\"notice\":\"Performs a foreign function call via terminal and returns the exit code, stdout, and stderr.\"},\"txGasPrice(uint256)\":{\"notice\":\"Sets `tx.gasprice`.\"},\"unixTime()\":{\"notice\":\"Returns the time since unix epoch in milliseconds.\"},\"warmSlot(address,bytes32)\":{\"notice\":\"Utility cheatcode to mark specific storage slot as warm, simulating a prior read.\"},\"warp(uint256)\":{\"notice\":\"Sets `block.timestamp`.\"},\"writeFile(string,string)\":{\"notice\":\"Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root.\"},\"writeFileBinary(string,bytes)\":{\"notice\":\"Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root.\"},\"writeJson(string,string)\":{\"notice\":\"Write a serialized JSON object to a file. If the file exists, it will be overwritten.\"},\"writeJson(string,string,string)\":{\"notice\":\"Write a serialized JSON object to an **existing** JSON file, replacing a value with key = This is useful to replace a specific value of a JSON file, without having to parse the entire thing. This cheatcode will create new keys if they didn't previously exist.\"},\"writeLine(string,string)\":{\"notice\":\"Writes line to file, creating a file if it does not exist. `path` is relative to the project root.\"},\"writeToml(string,string)\":{\"notice\":\"Takes serialized JSON, converts to TOML and write a serialized TOML to a file.\"},\"writeToml(string,string,string)\":{\"notice\":\"Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = This is useful to replace a specific value of a TOML file, without having to parse the entire thing. This cheatcode will create new keys if they didn't previously exist.\"}},\"notice\":\"The `Vm` interface does allow manipulation of the EVM state. These are all intended to be used in tests, but it is not recommended to use these cheats in scripts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"Vm\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"accessList((address,bytes32[])[])":"743e4cb7","accesses(address)":"65bc9481","activeFork()":"2f103f22","addr(uint256)":"ffa18649","allowCheatcodes(address)":"ea060291","assertApproxEqAbs(int256,int256,uint256)":"240f839d","assertApproxEqAbs(int256,int256,uint256,string)":"8289e621","assertApproxEqAbs(uint256,uint256,uint256)":"16d207c6","assertApproxEqAbs(uint256,uint256,uint256,string)":"f710b062","assertApproxEqAbsDecimal(int256,int256,uint256,uint256)":"3d5bc8bc","assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)":"6a5066d4","assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)":"045c55ce","assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)":"60429eb2","assertApproxEqRel(int256,int256,uint256)":"fea2d14f","assertApproxEqRel(int256,int256,uint256,string)":"ef277d72","assertApproxEqRel(uint256,uint256,uint256)":"8cf25ef4","assertApproxEqRel(uint256,uint256,uint256,string)":"1ecb7d33","assertApproxEqRelDecimal(int256,int256,uint256,uint256)":"abbf21cc","assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)":"fccc11c4","assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)":"21ed2977","assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)":"82d6c8fd","assertEq(address,address)":"515361f6","assertEq(address,address,string)":"2f2769d1","assertEq(address[],address[])":"3868ac34","assertEq(address[],address[],string)":"3e9173c5","assertEq(bool,bool)":"f7fe3477","assertEq(bool,bool,string)":"4db19e7e","assertEq(bool[],bool[])":"707df785","assertEq(bool[],bool[],string)":"e48a8f8d","assertEq(bytes,bytes)":"97624631","assertEq(bytes,bytes,string)":"e24fed00","assertEq(bytes32,bytes32)":"7c84c69b","assertEq(bytes32,bytes32,string)":"c1fa1ed0","assertEq(bytes32[],bytes32[])":"0cc9ee84","assertEq(bytes32[],bytes32[],string)":"e03e9177","assertEq(bytes[],bytes[])":"e5fb9b4a","assertEq(bytes[],bytes[],string)":"f413f0b6","assertEq(int256,int256)":"fe74f05b","assertEq(int256,int256,string)":"714a2f13","assertEq(int256[],int256[])":"711043ac","assertEq(int256[],int256[],string)":"191f1b30","assertEq(string,string)":"f320d963","assertEq(string,string,string)":"36f656d8","assertEq(string[],string[])":"cf1c049c","assertEq(string[],string[],string)":"eff6b27d","assertEq(uint256,uint256)":"98296c54","assertEq(uint256,uint256,string)":"88b44c85","assertEq(uint256[],uint256[])":"975d5a12","assertEq(uint256[],uint256[],string)":"5d18c73a","assertEqDecimal(int256,int256,uint256)":"48016c04","assertEqDecimal(int256,int256,uint256,string)":"7e77b0c5","assertEqDecimal(uint256,uint256,uint256)":"27af7d9c","assertEqDecimal(uint256,uint256,uint256,string)":"d0cbbdef","assertFalse(bool)":"a5982885","assertFalse(bool,string)":"7ba04809","assertGe(int256,int256)":"0a30b771","assertGe(int256,int256,string)":"a84328dd","assertGe(uint256,uint256)":"a8d4d1d9","assertGe(uint256,uint256,string)":"e25242c0","assertGeDecimal(int256,int256,uint256)":"dc28c0f1","assertGeDecimal(int256,int256,uint256,string)":"5df93c9b","assertGeDecimal(uint256,uint256,uint256)":"3d1fe08a","assertGeDecimal(uint256,uint256,uint256,string)":"8bff9133","assertGt(int256,int256)":"5a362d45","assertGt(int256,int256,string)":"f8d33b9b","assertGt(uint256,uint256)":"db07fcd2","assertGt(uint256,uint256,string)":"d9a3c4d2","assertGtDecimal(int256,int256,uint256)":"78611f0e","assertGtDecimal(int256,int256,uint256,string)":"04a5c7ab","assertGtDecimal(uint256,uint256,uint256)":"eccd2437","assertGtDecimal(uint256,uint256,uint256,string)":"64949a8d","assertLe(int256,int256)":"95fd154e","assertLe(int256,int256,string)":"4dfe692c","assertLe(uint256,uint256)":"8466f415","assertLe(uint256,uint256,string)":"d17d4b0d","assertLeDecimal(int256,int256,uint256)":"11d1364a","assertLeDecimal(int256,int256,uint256,string)":"aa5cf788","assertLeDecimal(uint256,uint256,uint256)":"c304aab7","assertLeDecimal(uint256,uint256,uint256,string)":"7fefbbe0","assertLt(int256,int256)":"3e914080","assertLt(int256,int256,string)":"9ff531e3","assertLt(uint256,uint256)":"b12fc005","assertLt(uint256,uint256,string)":"65d5c135","assertLtDecimal(int256,int256,uint256)":"dbe8d88b","assertLtDecimal(int256,int256,uint256,string)":"40f0b4e0","assertLtDecimal(uint256,uint256,uint256)":"2077337e","assertLtDecimal(uint256,uint256,uint256,string)":"a972d037","assertNotEq(address,address)":"b12e1694","assertNotEq(address,address,string)":"8775a591","assertNotEq(address[],address[])":"46d0b252","assertNotEq(address[],address[],string)":"72c7e0b5","assertNotEq(bool,bool)":"236e4d66","assertNotEq(bool,bool,string)":"1091a261","assertNotEq(bool[],bool[])":"286fafea","assertNotEq(bool[],bool[],string)":"62c6f9fb","assertNotEq(bytes,bytes)":"3cf78e28","assertNotEq(bytes,bytes,string)":"9507540e","assertNotEq(bytes32,bytes32)":"898e83fc","assertNotEq(bytes32,bytes32,string)":"b2332f51","assertNotEq(bytes32[],bytes32[])":"0603ea68","assertNotEq(bytes32[],bytes32[],string)":"b873634c","assertNotEq(bytes[],bytes[])":"edecd035","assertNotEq(bytes[],bytes[],string)":"1dcd1f68","assertNotEq(int256,int256)":"f4c004e3","assertNotEq(int256,int256,string)":"4724c5b9","assertNotEq(int256[],int256[])":"0b72f4ef","assertNotEq(int256[],int256[],string)":"d3977322","assertNotEq(string,string)":"6a8237b3","assertNotEq(string,string,string)":"78bdcea7","assertNotEq(string[],string[])":"bdfacbe8","assertNotEq(string[],string[],string)":"b67187f3","assertNotEq(uint256,uint256)":"b7909320","assertNotEq(uint256,uint256,string)":"98f9bdbd","assertNotEq(uint256[],uint256[])":"56f29cba","assertNotEq(uint256[],uint256[],string)":"9a7fbd8f","assertNotEqDecimal(int256,int256,uint256)":"14e75680","assertNotEqDecimal(int256,int256,uint256,string)":"33949f0b","assertNotEqDecimal(uint256,uint256,uint256)":"669efca7","assertNotEqDecimal(uint256,uint256,uint256,string)":"f5a55558","assertTrue(bool)":"0c9fd581","assertTrue(bool,string)":"a34edc03","assume(bool)":"4c63e562","assumeNoRevert((address,bool,bytes))":"d8591eeb","assumeNoRevert((address,bool,bytes)[])":"8a4592cc","assumeNoRevert()":"285b366a","attachBlob(bytes)":"10cb385c","attachDelegation((uint8,bytes32,bytes32,uint64,address))":"14ae3519","attachDelegation((uint8,bytes32,bytes32,uint64,address),bool)":"f4460d34","blobBaseFee(uint256)":"6d315d7e","blobhashes(bytes32[])":"129de7eb","bound(int256,int256,int256)":"8f48fc07","bound(uint256,uint256,uint256)":"5a6c1eed","breakpoint(string)":"f0259e92","breakpoint(string,bool)":"f7d39a8d","broadcast()":"afc98040","broadcast(address)":"e6962cdb","broadcast(uint256)":"f67a965b","broadcastRawTransaction(bytes)":"8c0c72e0","chainId(uint256)":"4049ddd2","clearMockedCalls()":"3fdf4e15","cloneAccount(address,address)":"533d61c9","closeFile(string)":"48c3241f","coinbase(address)":"ff483c54","computeCreate2Address(bytes32,bytes32)":"890c283b","computeCreate2Address(bytes32,bytes32,address)":"d323826a","computeCreateAddress(address,uint256)":"74637a7a","contains(string,string)":"3fb18aec","cool(address)":"40ff9f21","coolSlot(address,bytes32)":"8c78e654","copyFile(string,string)":"a54a87d8","copyStorage(address,address)":"203dac0d","createDir(string,bool)":"168b64d3","createFork(string)":"31ba3498","createFork(string,bytes32)":"7ca29682","createFork(string,uint256)":"6ba3ba2b","createSelectFork(string)":"98680034","createSelectFork(string,bytes32)":"84d52b7a","createSelectFork(string,uint256)":"71ee464d","createWallet(string)":"7404f1d2","createWallet(uint256)":"7a675bb6","createWallet(uint256,string)":"ed7c5462","deal(address,uint256)":"c88a5e6d","deleteSnapshot(uint256)":"a6368557","deleteSnapshots()":"421ae469","deleteStateSnapshot(uint256)":"08d6b37a","deleteStateSnapshots()":"e0933c74","deployCode(string)":"9a8325a0","deployCode(string,bytes)":"29ce9dde","deployCode(string,bytes,bytes32)":"016155bf","deployCode(string,bytes,uint256)":"ff5d64e4","deployCode(string,bytes,uint256,bytes32)":"3aa773ea","deployCode(string,bytes32)":"17ab1d79","deployCode(string,uint256)":"0af6a701","deployCode(string,uint256,bytes32)":"002cb687","deriveKey(string,string,uint32)":"6bcb2c1b","deriveKey(string,string,uint32,string)":"29233b1f","deriveKey(string,uint32)":"6229498b","deriveKey(string,uint32,string)":"32c8176d","difficulty(uint256)":"46cc92d9","dumpState(string)":"709ecd3f","eip712HashStruct(string,bytes)":"aedeaebc","eip712HashStruct(string,string,bytes)":"6d06c57c","eip712HashType(string)":"6792e9e2","eip712HashType(string,string)":"18fb6406","eip712HashTypedData(string)":"ea25e615","ensNamehash(string)":"8c374c65","envAddress(string)":"350d56bf","envAddress(string,string)":"ad31b9fa","envBool(string)":"7ed1ec7d","envBool(string,string)":"aaaddeaf","envBytes(string)":"4d7baf06","envBytes(string,string)":"ddc2651b","envBytes32(string)":"97949042","envBytes32(string,string)":"5af231c1","envExists(string)":"ce8365f9","envInt(string)":"892a0c61","envInt(string,string)":"42181150","envOr(string,address)":"561fe540","envOr(string,bool)":"4777f3cf","envOr(string,bytes)":"b3e47705","envOr(string,bytes32)":"b4a85892","envOr(string,int256)":"bbcb713e","envOr(string,string)":"d145736c","envOr(string,string,address[])":"c74e9deb","envOr(string,string,bool[])":"eb85e83b","envOr(string,string,bytes32[])":"2281f367","envOr(string,string,bytes[])":"64bc3e64","envOr(string,string,int256[])":"4700d74b","envOr(string,string,string[])":"859216bc","envOr(string,string,uint256[])":"74318528","envOr(string,uint256)":"5e97348f","envString(string)":"f877cb19","envString(string,string)":"14b02bc9","envUint(string)":"c1978d1f","envUint(string,string)":"f3dec099","etch(address,bytes)":"b4d6c782","eth_getLogs(uint256,uint256,address,bytes32[])":"35e1349b","exists(string)":"261a323e","expectCall(address,bytes)":"bd6af434","expectCall(address,bytes,uint64)":"c1adbbff","expectCall(address,uint256,bytes)":"f30c7ba3","expectCall(address,uint256,bytes,uint64)":"a2b1a1ae","expectCall(address,uint256,uint64,bytes)":"23361207","expectCall(address,uint256,uint64,bytes,uint64)":"65b7b7cc","expectCallMinGas(address,uint256,uint64,bytes)":"08e4e116","expectCallMinGas(address,uint256,uint64,bytes,uint64)":"e13a1834","expectCreate(bytes,address)":"73cdce36","expectCreate2(bytes,address)":"ea54a472","expectEmit()":"440ed10d","expectEmit(address)":"86b9620d","expectEmit(address,uint64)":"b43aece3","expectEmit(bool,bool,bool,bool)":"491cc7c2","expectEmit(bool,bool,bool,bool,address)":"81bad6f3","expectEmit(bool,bool,bool,bool,address,uint64)":"c339d02c","expectEmit(bool,bool,bool,bool,uint64)":"5e1d1c33","expectEmit(uint64)":"4c74a335","expectEmitAnonymous()":"2e5f270c","expectEmitAnonymous(address)":"6fc68705","expectEmitAnonymous(bool,bool,bool,bool,bool)":"c948db5e","expectEmitAnonymous(bool,bool,bool,bool,bool,address)":"71c95899","expectPartialRevert(bytes4)":"11fb5b9c","expectPartialRevert(bytes4,address)":"51aa008a","expectRevert()":"f4844814","expectRevert(address)":"d814f38a","expectRevert(address,uint64)":"1ff5f952","expectRevert(bytes)":"f28dceb3","expectRevert(bytes,address)":"61ebcf12","expectRevert(bytes,address,uint64)":"d345fb1f","expectRevert(bytes,uint64)":"4994c273","expectRevert(bytes4)":"c31eb0e0","expectRevert(bytes4,address)":"260bc5de","expectRevert(bytes4,address,uint64)":"b0762d73","expectRevert(bytes4,uint64)":"e45ca72d","expectRevert(uint64)":"4ee38244","expectSafeMemory(uint64,uint64)":"6d016688","expectSafeMemoryCall(uint64,uint64)":"05838bf4","fee(uint256)":"39b37ab0","ffi(string[])":"89160467","foundryVersionAtLeast(string)":"6248be1f","foundryVersionCmp(string)":"ca7b0a09","fsMetadata(string)":"af368a08","getArtifactPathByCode(bytes)":"eb74848c","getArtifactPathByDeployedCode(bytes)":"6d853ba5","getBlobBaseFee()":"1f6d6ef7","getBlobhashes()":"f56ff18b","getBlockNumber()":"42cbb15c","getBlockTimestamp()":"796b89b9","getBroadcast(string,uint64,uint8)":"3dc90cb3","getBroadcasts(string,uint64)":"f2fa4a26","getBroadcasts(string,uint64,uint8)":"f7afe919","getChain(string)":"4cc1c2bb","getChain(uint256)":"b6791ad4","getChainId()":"3408e470","getCode(string)":"8d1cc925","getDeployedCode(string)":"3ebf73b4","getDeployment(string)":"a8091d97","getDeployment(string,uint64)":"0debd5d6","getDeployments(string,uint64)":"74e133dd","getEvmVersion()":"aa2bb222","getFoundryVersion()":"ea991bb5","getLabel(address)":"28a249b0","getMappingKeyAndParentOf(address,bytes32)":"876e24e6","getMappingLength(address,bytes32)":"2f2fd63f","getMappingSlotAt(address,bytes32,uint256)":"ebc73ab4","getNonce((address,uint256,uint256,uint256))":"a5748aad","getNonce(address)":"2d0335ab","getRawBlockHeader(uint256)":"2c667606","getRecordedLogs()":"191553a4","getStateDiff()":"80df01cc","getStateDiffJson()":"f54fe009","getStorageAccesses()":"2899b1d0","getStorageSlots(address,string)":"efa136d9","getWallets()":"db7a4605","indexOf(string,string)":"8a0807b7","interceptInitcode()":"838653c7","isContext(uint8)":"64af255d","isDir(string)":"7d15d019","isFile(string)":"e0eb04d4","isPersistent(address)":"d92d8efd","keyExists(string,string)":"528a683c","keyExistsJson(string,string)":"db4235f6","keyExistsToml(string,string)":"600903ad","label(address,string)":"c657c718","lastCallGas()":"2b589b28","load(address,bytes32)":"667f9d70","loadAllocs(string)":"b3a056d7","makePersistent(address)":"57e22dde","makePersistent(address,address)":"4074e0a8","makePersistent(address,address,address)":"efb77a75","makePersistent(address[])":"1d9e269e","mockCall(address,bytes,bytes)":"b96213e4","mockCall(address,bytes4,bytes)":"08e0c537","mockCall(address,uint256,bytes,bytes)":"81409b91","mockCall(address,uint256,bytes4,bytes)":"e7b36a3d","mockCallRevert(address,bytes,bytes)":"dbaad147","mockCallRevert(address,bytes4,bytes)":"2dfba5df","mockCallRevert(address,uint256,bytes,bytes)":"d23cd037","mockCallRevert(address,uint256,bytes4,bytes)":"596c8f04","mockCalls(address,bytes,bytes[])":"5c5c3de9","mockCalls(address,uint256,bytes,bytes[])":"08bcbae1","mockFunction(address,address,bytes)":"adf84d21","noAccessList()":"238ad778","parseAddress(string)":"c6ce059d","parseBool(string)":"974ef924","parseBytes(string)":"8f5d232d","parseBytes32(string)":"087e6e81","parseInt(string)":"42346c5e","parseJson(string)":"6a82600a","parseJson(string,string)":"85940ef1","parseJsonAddress(string,string)":"1e19e657","parseJsonAddressArray(string,string)":"2fce7883","parseJsonBool(string,string)":"9f86dc91","parseJsonBoolArray(string,string)":"91f3b94f","parseJsonBytes(string,string)":"fd921be8","parseJsonBytes32(string,string)":"1777e59d","parseJsonBytes32Array(string,string)":"91c75bc3","parseJsonBytesArray(string,string)":"6631aa99","parseJsonInt(string,string)":"7b048ccd","parseJsonIntArray(string,string)":"9983c28a","parseJsonKeys(string,string)":"213e4198","parseJsonString(string,string)":"49c4fac8","parseJsonStringArray(string,string)":"498fdcf4","parseJsonType(string,string)":"a9da313b","parseJsonType(string,string,string)":"e3f5ae33","parseJsonTypeArray(string,string,string)":"0175d535","parseJsonUint(string,string)":"addde2b6","parseJsonUintArray(string,string)":"522074ab","parseToml(string)":"592151f0","parseToml(string,string)":"37736e08","parseTomlAddress(string,string)":"65e7c844","parseTomlAddressArray(string,string)":"65c428e7","parseTomlBool(string,string)":"d30dced6","parseTomlBoolArray(string,string)":"127cfe9a","parseTomlBytes(string,string)":"d77bfdb9","parseTomlBytes32(string,string)":"8e214810","parseTomlBytes32Array(string,string)":"3e716f81","parseTomlBytesArray(string,string)":"b197c247","parseTomlInt(string,string)":"c1350739","parseTomlIntArray(string,string)":"d3522ae6","parseTomlKeys(string,string)":"812a44b2","parseTomlString(string,string)":"8bb8dd43","parseTomlStringArray(string,string)":"9f629281","parseTomlType(string,string)":"47fa5e11","parseTomlType(string,string,string)":"f9fa5cdb","parseTomlTypeArray(string,string,string)":"49be3743","parseTomlUint(string,string)":"cc7b0487","parseTomlUintArray(string,string)":"b5df27c8","parseUint(string)":"fa91454d","pauseGasMetering()":"d1a5b36f","pauseTracing()":"c94d1f90","prank(address)":"ca669fa7","prank(address,address)":"47e50cce","prank(address,address,bool)":"7d73d042","prank(address,bool)":"a7f8bf5c","prevrandao(bytes32)":"3b925549","prevrandao(uint256)":"9cb1c0d4","projectRoot()":"d930a0e6","prompt(string)":"47eaf474","promptAddress(string)":"62ee05f4","promptSecret(string)":"1e279d41","promptSecretUint(string)":"69ca02b7","promptUint(string)":"652fd489","publicKeyP256(uint256)":"c453949e","randomAddress()":"d5bee9f5","randomBool()":"cdc126bd","randomBytes(uint256)":"6c5d32a9","randomBytes4()":"9b7cd579","randomBytes8()":"0497b0a5","randomInt()":"111f1202","randomInt(uint256)":"12845966","randomUint()":"25124730","randomUint(uint256)":"cf81e69c","randomUint(uint256,uint256)":"d61b051b","readCallers()":"4ad0bac9","readDir(string)":"c4bc59e0","readDir(string,uint64)":"1497876c","readDir(string,uint64,bool)":"8102d70d","readFile(string)":"60f9bb11","readFileBinary(string)":"16ed7bc4","readLine(string)":"70f55728","readLink(string)":"9f5684a2","record()":"266cf109","recordLogs()":"41af2f52","rememberKey(uint256)":"22100064","rememberKeys(string,string,string,uint32)":"f8d58eaf","rememberKeys(string,string,uint32)":"97cb9189","removeDir(string,bool)":"45c62011","removeFile(string)":"f1afe04d","replace(string,string,string)":"e00ad03e","resetGasMetering()":"be367dd3","resetNonce(address)":"1c72346d","resolveEnv(string)":"ddd2128d","resumeGasMetering()":"2bcd50e0","resumeTracing()":"72a09ccb","revertTo(uint256)":"44d7f0a4","revertToAndDelete(uint256)":"03e0aca9","revertToState(uint256)":"c2527405","revertToStateAndDelete(uint256)":"3a1985dc","revokePersistent(address)":"997a0222","revokePersistent(address[])":"3ce969e6","roll(uint256)":"1f7b4f30","rollFork(bytes32)":"0f29772b","rollFork(uint256)":"d9bbf3a1","rollFork(uint256,bytes32)":"f2830f7b","rollFork(uint256,uint256)":"d74c83a4","rpc(string,string)":"1206c8a8","rpc(string,string,string)":"0199a220","rpcUrl(string)":"975a6ce9","rpcUrlStructs()":"9d2ad72a","rpcUrls()":"a85a8418","selectFork(uint256)":"9ebf6827","serializeAddress(string,string,address)":"972c6062","serializeAddress(string,string,address[])":"1e356e1a","serializeBool(string,string,bool)":"ac22e971","serializeBool(string,string,bool[])":"92925aa1","serializeBytes(string,string,bytes)":"f21d52c7","serializeBytes(string,string,bytes[])":"9884b232","serializeBytes32(string,string,bytes32)":"2d812b44","serializeBytes32(string,string,bytes32[])":"201e43e2","serializeInt(string,string,int256)":"3f33db60","serializeInt(string,string,int256[])":"7676e127","serializeJson(string,string)":"9b3358b0","serializeJsonType(string,bytes)":"6d4f96a6","serializeJsonType(string,string,string,bytes)":"6f93bccb","serializeString(string,string,string)":"88da6d35","serializeString(string,string,string[])":"561cd6f3","serializeUint(string,string,uint256)":"129e9002","serializeUint(string,string,uint256[])":"fee9a469","serializeUintToHex(string,string,uint256)":"ae5a2ae8","setArbitraryStorage(address)":"e1631837","setArbitraryStorage(address,bool)":"d3ec2a0b","setBlockhash(uint256,bytes32)":"5314b54a","setEnv(string,string)":"3d5923ee","setEvmVersion(string)":"43179f5a","setNonce(address,uint64)":"f8e18b57","setNonceUnsafe(address,uint64)":"9b67b21c","setSeed(uint256)":"c32a50f9","shuffle(uint256[])":"54f1469c","sign((address,uint256,uint256,uint256),bytes32)":"b25c5a25","sign(address,bytes32)":"8c1aa205","sign(bytes32)":"799cd333","sign(uint256,bytes32)":"e341eaa4","signAndAttachDelegation(address,uint256)":"c7fa7288","signAndAttachDelegation(address,uint256,bool)":"d936e146","signAndAttachDelegation(address,uint256,uint64)":"cde3e5be","signCompact((address,uint256,uint256,uint256),bytes32)":"3d0e292f","signCompact(address,bytes32)":"8e2f97bf","signCompact(bytes32)":"a282dc4b","signCompact(uint256,bytes32)":"cc2a781f","signDelegation(address,uint256)":"5b593c7b","signDelegation(address,uint256,bool)":"cdd7563d","signDelegation(address,uint256,uint64)":"ceba2ec3","signP256(uint256,bytes32)":"83211b40","signWithNonceUnsafe(uint256,bytes32,uint256)":"2012783a","skip(bool)":"dd82d13e","skip(bool,string)":"c42a80a7","sleep(uint256)":"fa9d8713","snapshot()":"9711715a","snapshotGasLastCall(string)":"dd9fca12","snapshotGasLastCall(string,string)":"200c6772","snapshotState()":"9cd23835","snapshotValue(string,string,uint256)":"6d2b27d8","snapshotValue(string,uint256)":"51db805a","sort(uint256[])":"9ec8b026","split(string,string)":"8bb75533","startBroadcast()":"7fb5297f","startBroadcast(address)":"7fec2a8d","startBroadcast(uint256)":"ce817d47","startDebugTraceRecording()":"419c8832","startMappingRecording()":"3e9705c0","startPrank(address)":"06447d56","startPrank(address,address)":"45b56078","startPrank(address,address,bool)":"4eb859b5","startPrank(address,bool)":"1cc0b435","startSnapshotGas(string)":"3cad9d7b","startSnapshotGas(string,string)":"6cd0cc53","startStateDiffRecording()":"cf22e3c9","stopAndReturnDebugTraceRecording()":"ced398a2","stopAndReturnStateDiff()":"aa5cf90e","stopBroadcast()":"76eadd36","stopExpectSafeMemory()":"0956441b","stopMappingRecording()":"0d4aae9b","stopPrank()":"90c5013b","stopRecord()":"996be76d","stopSnapshotGas()":"f6402eda","stopSnapshotGas(string)":"773b2805","stopSnapshotGas(string,string)":"0c9db707","store(address,bytes32,bytes32)":"70ca10bb","toBase64(bytes)":"a5cbfe65","toBase64(string)":"3f8be2c8","toBase64URL(bytes)":"c8bd0e4a","toBase64URL(string)":"ae3165b3","toLowercase(string)":"50bb0884","toString(address)":"56ca623e","toString(bool)":"71dce7da","toString(bytes)":"71aad10d","toString(bytes32)":"b11a19e8","toString(int256)":"a322c40e","toString(uint256)":"6900a3ae","toUppercase(string)":"074ae3d7","transact(bytes32)":"be646da1","transact(uint256,bytes32)":"4d8abc4b","trim(string)":"b2dad155","tryFfi(string[])":"f45c1ce7","txGasPrice(uint256)":"48f50c0f","unixTime()":"625387dc","warmSlot(address,bytes32)":"b23184cf","warp(uint256)":"e5d6bf02","writeFile(string,string)":"897e0a97","writeFileBinary(string,bytes)":"1f21fc80","writeJson(string,string)":"e23cd19f","writeJson(string,string,string)":"35d6ad46","writeLine(string,string)":"619d897f","writeToml(string,string)":"c0865ba7","writeToml(string,string,string)":"51ac6a33"}}},"VmSafe":{"abi":[{"type":"function","name":"accesses","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"readSlots","type":"bytes32[]","internalType":"bytes32[]"},{"name":"writeSlots","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"addr","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertFalse","inputs":[{"name":"condition","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertFalse","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertTrue","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertTrue","inputs":[{"name":"condition","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assume","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[{"name":"potentialReverts","type":"tuple[]","internalType":"struct VmSafe.PotentialRevert[]","components":[{"name":"reverter","type":"address","internalType":"address"},{"name":"partialMatch","type":"bool","internalType":"bool"},{"name":"revertData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assumeNoRevert","inputs":[{"name":"potentialRevert","type":"tuple","internalType":"struct VmSafe.PotentialRevert","components":[{"name":"reverter","type":"address","internalType":"address"},{"name":"partialMatch","type":"bool","internalType":"bool"},{"name":"revertData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"attachBlob","inputs":[{"name":"blob","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"attachDelegation","inputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"attachDelegation","inputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]},{"name":"crossChain","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"bound","inputs":[{"name":"current","type":"uint256","internalType":"uint256"},{"name":"min","type":"uint256","internalType":"uint256"},{"name":"max","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"bound","inputs":[{"name":"current","type":"int256","internalType":"int256"},{"name":"min","type":"int256","internalType":"int256"},{"name":"max","type":"int256","internalType":"int256"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"broadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcastRawTransaction","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"closeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"computeCreate2Address","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"initCodeHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"computeCreate2Address","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"initCodeHash","type":"bytes32","internalType":"bytes32"},{"name":"deployer","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"computeCreateAddress","inputs":[{"name":"deployer","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"contains","inputs":[{"name":"subject","type":"string","internalType":"string"},{"name":"search","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"copyFile","inputs":[{"name":"from","type":"string","internalType":"string"},{"name":"to","type":"string","internalType":"string"}],"outputs":[{"name":"copied","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"copyStorage","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"walletLabel","type":"string","internalType":"string"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"walletLabel","type":"string","internalType":"string"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"},{"name":"constructorArgs","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"},{"name":"language","type":"string","internalType":"string"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"},{"name":"language","type":"string","internalType":"string"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashStruct","inputs":[{"name":"bindingsPath","type":"string","internalType":"string"},{"name":"typeName","type":"string","internalType":"string"},{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashStruct","inputs":[{"name":"typeNameOrDefinition","type":"string","internalType":"string"},{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashType","inputs":[{"name":"bindingsPath","type":"string","internalType":"string"},{"name":"typeName","type":"string","internalType":"string"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashType","inputs":[{"name":"typeNameOrDefinition","type":"string","internalType":"string"}],"outputs":[{"name":"typeHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"eip712HashTypedData","inputs":[{"name":"jsonData","type":"string","internalType":"string"}],"outputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"ensNamehash","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envExists","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool","internalType":"bool"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256","internalType":"int256"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"eth_getLogs","inputs":[{"name":"fromBlock","type":"uint256","internalType":"uint256"},{"name":"toBlock","type":"uint256","internalType":"uint256"},{"name":"target","type":"address","internalType":"address"},{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.EthGetLogs[]","components":[{"name":"emitter","type":"address","internalType":"address"},{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"transactionHash","type":"bytes32","internalType":"bytes32"},{"name":"transactionIndex","type":"uint64","internalType":"uint64"},{"name":"logIndex","type":"uint256","internalType":"uint256"},{"name":"removed","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"exists","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"ffi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"foundryVersionAtLeast","inputs":[{"name":"version","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"foundryVersionCmp","inputs":[{"name":"version","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"fsMetadata","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"metadata","type":"tuple","internalType":"struct VmSafe.FsMetadata","components":[{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"},{"name":"length","type":"uint256","internalType":"uint256"},{"name":"readOnly","type":"bool","internalType":"bool"},{"name":"modified","type":"uint256","internalType":"uint256"},{"name":"accessed","type":"uint256","internalType":"uint256"},{"name":"created","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getArtifactPathByCode","inputs":[{"name":"code","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getArtifactPathByDeployedCode","inputs":[{"name":"deployedCode","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getBlobBaseFee","inputs":[],"outputs":[{"name":"blobBaseFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"height","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBroadcast","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"}],"outputs":[{"name":"","type":"tuple","internalType":"struct VmSafe.BroadcastTxSummary","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getBroadcasts","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct VmSafe.BroadcastTxSummary[]","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getBroadcasts","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct VmSafe.BroadcastTxSummary[]","components":[{"name":"txHash","type":"bytes32","internalType":"bytes32"},{"name":"txType","type":"uint8","internalType":"enum VmSafe.BroadcastTxType"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"success","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getChain","inputs":[{"name":"chainAlias","type":"string","internalType":"string"}],"outputs":[{"name":"chain","type":"tuple","internalType":"struct VmSafe.Chain","components":[{"name":"name","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"chainAlias","type":"string","internalType":"string"},{"name":"rpcUrl","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getChain","inputs":[{"name":"chainId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"chain","type":"tuple","internalType":"struct VmSafe.Chain","components":[{"name":"name","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"chainAlias","type":"string","internalType":"string"},{"name":"rpcUrl","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getChainId","inputs":[],"outputs":[{"name":"blockChainId","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"creationBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployedCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"runtimeBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployment","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeployment","inputs":[{"name":"contractName","type":"string","internalType":"string"}],"outputs":[{"name":"deployedAddress","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getDeployments","inputs":[{"name":"contractName","type":"string","internalType":"string"},{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"deployedAddresses","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getEvmVersion","inputs":[],"outputs":[{"name":"evm","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"getFoundryVersion","inputs":[],"outputs":[{"name":"version","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getLabel","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"currentLabel","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getMappingKeyAndParentOf","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"elementSlot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"found","type":"bool","internalType":"bool"},{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"parent","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getMappingLength","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"mappingSlot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"length","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMappingSlotAt","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"mappingSlot","type":"bytes32","internalType":"bytes32"},{"name":"idx","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getRawBlockHeader","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"rlpHeader","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecordedLogs","inputs":[],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.Log[]","components":[{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"emitter","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getStateDiff","inputs":[],"outputs":[{"name":"diff","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getStateDiffJson","inputs":[],"outputs":[{"name":"diff","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getStorageAccesses","inputs":[],"outputs":[{"name":"storageAccesses","type":"tuple[]","internalType":"struct VmSafe.StorageAccess[]","components":[{"name":"account","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"isWrite","type":"bool","internalType":"bool"},{"name":"previousValue","type":"bytes32","internalType":"bytes32"},{"name":"newValue","type":"bytes32","internalType":"bytes32"},{"name":"reverted","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getStorageSlots","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"variableName","type":"string","internalType":"string"}],"outputs":[{"name":"slots","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getWallets","inputs":[],"outputs":[{"name":"wallets","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"indexOf","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"isContext","inputs":[{"name":"context","type":"uint8","internalType":"enum VmSafe.ForgeContext"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExists","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExistsJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExistsToml","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"label","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newLabel","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"lastCallGas","inputs":[],"outputs":[{"name":"gas","type":"tuple","internalType":"struct VmSafe.Gas","components":[{"name":"gasLimit","type":"uint64","internalType":"uint64"},{"name":"gasTotalUsed","type":"uint64","internalType":"uint64"},{"name":"gasMemoryUsed","type":"uint64","internalType":"uint64"},{"name":"gasRefunded","type":"int64","internalType":"int64"},{"name":"gasRemaining","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"load","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"parseAddress","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseBool","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes32","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseInt","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddress","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddressArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBool","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBoolArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes32","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes32Array","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytesArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonInt","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonIntArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonKeys","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"keys","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonString","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonStringArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonType","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonType","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonTypeArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonUint","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonUintArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseToml","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseToml","inputs":[{"name":"toml","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlAddress","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlAddressArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBool","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBoolArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes32","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes32Array","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytesArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlInt","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlIntArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlKeys","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"keys","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlString","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlStringArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlType","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlType","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlTypeArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlUint","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlUintArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseUint","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"pauseGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pauseTracing","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"projectRoot","inputs":[],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"prompt","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"input","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptAddress","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptSecret","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"input","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptSecretUint","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptUint","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"publicKeyP256","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"randomBool","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"randomBytes","inputs":[{"name":"len","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"randomBytes4","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"randomBytes8","inputs":[],"outputs":[{"name":"","type":"bytes8","internalType":"bytes8"}],"stateMutability":"view"},{"type":"function","name":"randomInt","inputs":[],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"randomInt","inputs":[{"name":"bits","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[{"name":"bits","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"randomUint","inputs":[{"name":"min","type":"uint256","internalType":"uint256"},{"name":"max","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"},{"name":"followLinks","type":"bool","internalType":"bool"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"readLine","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"line","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readLink","inputs":[{"name":"linkPath","type":"string","internalType":"string"}],"outputs":[{"name":"targetPath","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"record","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordLogs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKey","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKeys","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"count","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"keyAddrs","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKeys","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"language","type":"string","internalType":"string"},{"name":"count","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"keyAddrs","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"removeDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"replace","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"from","type":"string","internalType":"string"},{"name":"to","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"resetGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resolveEnv","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"resumeGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resumeTracing","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"rpc","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"method","type":"string","internalType":"string"},{"name":"params","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"rpc","inputs":[{"name":"method","type":"string","internalType":"string"},{"name":"params","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"rpcUrl","inputs":[{"name":"rpcAlias","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"rpcUrlStructs","inputs":[],"outputs":[{"name":"urls","type":"tuple[]","internalType":"struct VmSafe.Rpc[]","components":[{"name":"key","type":"string","internalType":"string"},{"name":"url","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"rpcUrls","inputs":[],"outputs":[{"name":"urls","type":"string[2][]","internalType":"string[2][]"}],"stateMutability":"view"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeJson","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeJsonType","inputs":[{"name":"typeDescription","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"serializeJsonType","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"typeDescription","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUintToHex","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitraryStorage","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"overwrite","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setArbitraryStorage","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEnv","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEvmVersion","inputs":[{"name":"evm","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSeed","inputs":[{"name":"seed","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"shuffle","inputs":[{"name":"array","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sign","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sign","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signAndAttachDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"crossChain","type":"bool","internalType":"bool"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signCompact","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"signCompact","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signCompact","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signCompact","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"vs","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"crossChain","type":"bool","internalType":"bool"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signDelegation","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"signedDelegation","type":"tuple","internalType":"struct VmSafe.SignedDelegation","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"},{"name":"implementation","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"signP256","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signWithNonceUnsafe","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sleep","inputs":[{"name":"duration","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sort","inputs":[{"name":"array","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"split","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"delimiter","type":"string","internalType":"string"}],"outputs":[{"name":"outputs","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"startBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startDebugTraceRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startMappingRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startStateDiffRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopAndReturnDebugTraceRecording","inputs":[],"outputs":[{"name":"step","type":"tuple[]","internalType":"struct VmSafe.DebugStep[]","components":[{"name":"stack","type":"uint256[]","internalType":"uint256[]"},{"name":"memoryInput","type":"bytes","internalType":"bytes"},{"name":"opcode","type":"uint8","internalType":"uint8"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isOutOfGas","type":"bool","internalType":"bool"},{"name":"contractAddr","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"stopAndReturnStateDiff","inputs":[],"outputs":[{"name":"accountAccesses","type":"tuple[]","internalType":"struct VmSafe.AccountAccess[]","components":[{"name":"chainInfo","type":"tuple","internalType":"struct VmSafe.ChainInfo","components":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"chainId","type":"uint256","internalType":"uint256"}]},{"name":"kind","type":"uint8","internalType":"enum VmSafe.AccountAccessKind"},{"name":"account","type":"address","internalType":"address"},{"name":"accessor","type":"address","internalType":"address"},{"name":"initialized","type":"bool","internalType":"bool"},{"name":"oldBalance","type":"uint256","internalType":"uint256"},{"name":"newBalance","type":"uint256","internalType":"uint256"},{"name":"deployedCode","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"reverted","type":"bool","internalType":"bool"},{"name":"storageAccesses","type":"tuple[]","internalType":"struct VmSafe.StorageAccess[]","components":[{"name":"account","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"isWrite","type":"bool","internalType":"bool"},{"name":"previousValue","type":"bytes32","internalType":"bytes32"},{"name":"newValue","type":"bytes32","internalType":"bytes32"},{"name":"reverted","type":"bool","internalType":"bool"}]},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"oldNonce","type":"uint64","internalType":"uint64"},{"name":"newNonce","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"stopBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopMappingRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopRecord","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"toBase64","inputs":[{"name":"data","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64URL","inputs":[{"name":"data","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64URL","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toLowercase","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toUppercase","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"trim","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"tryFfi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"tuple","internalType":"struct VmSafe.FfiResult","components":[{"name":"exitCode","type":"int32","internalType":"int32"},{"name":"stdout","type":"bytes","internalType":"bytes"},{"name":"stderr","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"unixTime","inputs":[],"outputs":[{"name":"milliseconds","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"writeFile","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeLine","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeToml","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeToml","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"partialMatch\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.PotentialRevert[]\",\"name\":\"potentialReverts\",\"type\":\"tuple[]\"}],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reverter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"partialMatch\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.PotentialRevert\",\"name\":\"potentialRevert\",\"type\":\"tuple\"}],\"name\":\"assumeNoRevert\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"blob\",\"type\":\"bytes\"}],\"name\":\"attachBlob\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"name\":\"attachDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"crossChain\",\"type\":\"bool\"}],\"name\":\"attachDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"current\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"bound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"current\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"min\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"max\",\"type\":\"int256\"}],\"name\":\"bound\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"broadcastRawTransaction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"computeCreateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"subject\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"search\",\"type\":\"string\"}],\"name\":\"contains\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"copyFile\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"copied\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"copyStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"createDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"constructorArgs\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"deployCode\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"bindingsPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeName\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"name\":\"eip712HashStruct\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeNameOrDefinition\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"name\":\"eip712HashStruct\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"bindingsPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeName\",\"type\":\"string\"}],\"name\":\"eip712HashType\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeNameOrDefinition\",\"type\":\"string\"}],\"name\":\"eip712HashType\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"typeHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"jsonData\",\"type\":\"string\"}],\"name\":\"eip712HashTypedData\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"ensNamehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fromBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toBlock\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"}],\"name\":\"eth_getLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"transactionHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"transactionIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"logIndex\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"removed\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.EthGetLogs[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"foundryVersionAtLeast\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"name\":\"foundryVersionCmp\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"code\",\"type\":\"bytes\"}],\"name\":\"getArtifactPathByCode\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"}],\"name\":\"getArtifactPathByDeployedCode\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlobBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blobBaseFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"}],\"name\":\"getBroadcast\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getBroadcasts\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"}],\"name\":\"getBroadcasts\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum VmSafe.BroadcastTxType\",\"name\":\"txType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.BroadcastTxSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"}],\"name\":\"getChain\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"rpcUrl\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Chain\",\"name\":\"chain\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"name\":\"getChain\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"chainAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"rpcUrl\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Chain\",\"name\":\"chain\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockChainId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getDeployment\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"}],\"name\":\"getDeployment\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployedAddress\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"contractName\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"}],\"name\":\"getDeployments\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"deployedAddresses\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getEvmVersion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"evm\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFoundryVersion\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getLabel\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"currentLabel\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"elementSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingKeyAndParentOf\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"found\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"parent\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"idx\",\"type\":\"uint256\"}],\"name\":\"getMappingSlotAt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getRawBlockHeader\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"rlpHeader\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateDiff\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"diff\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStateDiffJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"diff\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStorageAccesses\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isWrite\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"previousValue\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newValue\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.StorageAccess[]\",\"name\":\"storageAccesses\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"variableName\",\"type\":\"string\"}],\"name\":\"getStorageSlots\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"slots\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWallets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"wallets\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"indexOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum VmSafe.ForgeContext\",\"name\":\"context\",\"type\":\"uint8\"}],\"name\":\"isContext\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isDir\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isFile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsJson\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsToml\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastCallGas\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasTotalUsed\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasMemoryUsed\",\"type\":\"uint64\"},{\"internalType\":\"int64\",\"name\":\"gasRefunded\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"gasRemaining\",\"type\":\"uint64\"}],\"internalType\":\"struct VmSafe.Gas\",\"name\":\"gas\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseJsonTypeArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlType\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"}],\"name\":\"parseTomlTypeArray\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseTracing\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"prompt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecret\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecretUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"publicKeyP256\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"len\",\"type\":\"uint256\"}],\"name\":\"randomBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBytes4\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomBytes8\",\"outputs\":[{\"internalType\":\"bytes8\",\"name\":\"\",\"type\":\"bytes8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"randomInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"bits\",\"type\":\"uint256\"}],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"followLinks\",\"type\":\"bool\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"linkPath\",\"type\":\"string\"}],\"name\":\"readLink\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"targetPath\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"count\",\"type\":\"uint32\"}],\"name\":\"rememberKeys\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"keyAddrs\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"count\",\"type\":\"uint32\"}],\"name\":\"rememberKeys\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"keyAddrs\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"removeDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"replace\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resetGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"resolveEnv\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeTracing\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeJsonType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"typeDescription\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeJsonType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUintToHex\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"overwrite\",\"type\":\"bool\"}],\"name\":\"setArbitraryStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"setArbitraryStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"evm\",\"type\":\"string\"}],\"name\":\"setEvmVersion\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"seed\",\"type\":\"uint256\"}],\"name\":\"setSeed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"array\",\"type\":\"uint256[]\"}],\"name\":\"shuffle\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"crossChain\",\"type\":\"bool\"}],\"name\":\"signAndAttachDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signCompact\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"vs\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"crossChain\",\"type\":\"bool\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"name\":\"signDelegation\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.SignedDelegation\",\"name\":\"signedDelegation\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signP256\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"signWithNonceUnsafe\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"sleep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"array\",\"type\":\"uint256[]\"}],\"name\":\"sort\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delimiter\",\"type\":\"string\"}],\"name\":\"split\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"outputs\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startDebugTraceRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startStateDiffRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnDebugTraceRecording\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"stack\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"memoryInput\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"opcode\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isOutOfGas\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"contractAddr\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.DebugStep[]\",\"name\":\"step\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnStateDiff\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.ChainInfo\",\"name\":\"chainInfo\",\"type\":\"tuple\"},{\"internalType\":\"enum VmSafe.AccountAccessKind\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"accessor\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"oldBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isWrite\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"previousValue\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newValue\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.StorageAccess[]\",\"name\":\"storageAccesses\",\"type\":\"tuple[]\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"oldNonce\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"internalType\":\"struct VmSafe.AccountAccess[]\",\"name\":\"accountAccesses\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toLowercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toUppercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"trim\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"tryFfi\",\"outputs\":[{\"components\":[{\"internalType\":\"int32\",\"name\":\"exitCode\",\"type\":\"int32\"},{\"internalType\":\"bytes\",\"name\":\"stdout\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"stderr\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.FfiResult\",\"name\":\"result\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unixTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"milliseconds\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"accesses(address)\":{\"notice\":\"Gets all accessed reads and write slot from a `vm.record` session, for a given address.\"},\"addr(uint256)\":{\"notice\":\"Gets the address for a given private key.\"},\"assertApproxEqAbs(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\"},\"assertApproxEqAbs(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure.\"},\"assertApproxEqAbs(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\"},\"assertApproxEqAbs(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure.\"},\"assertApproxEqAbsDecimal(int256,int256,uint256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message.\"},\"assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message.\"},\"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqRel(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\"},\"assertApproxEqRel(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure.\"},\"assertApproxEqRel(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\"},\"assertApproxEqRel(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure.\"},\"assertApproxEqRelDecimal(int256,int256,uint256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message.\"},\"assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message.\"},\"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertEq(address,address)\":{\"notice\":\"Asserts that two `address` values are equal.\"},\"assertEq(address,address,string)\":{\"notice\":\"Asserts that two `address` values are equal and includes error message into revert string on failure.\"},\"assertEq(address[],address[])\":{\"notice\":\"Asserts that two arrays of `address` values are equal.\"},\"assertEq(address[],address[],string)\":{\"notice\":\"Asserts that two arrays of `address` values are equal and includes error message into revert string on failure.\"},\"assertEq(bool,bool)\":{\"notice\":\"Asserts that two `bool` values are equal.\"},\"assertEq(bool,bool,string)\":{\"notice\":\"Asserts that two `bool` values are equal and includes error message into revert string on failure.\"},\"assertEq(bool[],bool[])\":{\"notice\":\"Asserts that two arrays of `bool` values are equal.\"},\"assertEq(bool[],bool[],string)\":{\"notice\":\"Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes,bytes)\":{\"notice\":\"Asserts that two `bytes` values are equal.\"},\"assertEq(bytes,bytes,string)\":{\"notice\":\"Asserts that two `bytes` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes32,bytes32)\":{\"notice\":\"Asserts that two `bytes32` values are equal.\"},\"assertEq(bytes32,bytes32,string)\":{\"notice\":\"Asserts that two `bytes32` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes32[],bytes32[])\":{\"notice\":\"Asserts that two arrays of `bytes32` values are equal.\"},\"assertEq(bytes32[],bytes32[],string)\":{\"notice\":\"Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes[],bytes[])\":{\"notice\":\"Asserts that two arrays of `bytes` values are equal.\"},\"assertEq(bytes[],bytes[],string)\":{\"notice\":\"Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure.\"},\"assertEq(int256,int256)\":{\"notice\":\"Asserts that two `int256` values are equal.\"},\"assertEq(int256,int256,string)\":{\"notice\":\"Asserts that two `int256` values are equal and includes error message into revert string on failure.\"},\"assertEq(int256[],int256[])\":{\"notice\":\"Asserts that two arrays of `int256` values are equal.\"},\"assertEq(int256[],int256[],string)\":{\"notice\":\"Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure.\"},\"assertEq(string,string)\":{\"notice\":\"Asserts that two `string` values are equal.\"},\"assertEq(string,string,string)\":{\"notice\":\"Asserts that two `string` values are equal and includes error message into revert string on failure.\"},\"assertEq(string[],string[])\":{\"notice\":\"Asserts that two arrays of `string` values are equal.\"},\"assertEq(string[],string[],string)\":{\"notice\":\"Asserts that two arrays of `string` values are equal and includes error message into revert string on failure.\"},\"assertEq(uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are equal.\"},\"assertEq(uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are equal and includes error message into revert string on failure.\"},\"assertEq(uint256[],uint256[])\":{\"notice\":\"Asserts that two arrays of `uint256 values are equal.\"},\"assertEq(uint256[],uint256[],string)\":{\"notice\":\"Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure.\"},\"assertEqDecimal(int256,int256,uint256)\":{\"notice\":\"Asserts that two `int256` values are equal, formatting them with decimals in failure message.\"},\"assertEqDecimal(int256,int256,uint256,string)\":{\"notice\":\"Asserts that two `int256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertEqDecimal(uint256,uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are equal, formatting them with decimals in failure message.\"},\"assertEqDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertFalse(bool)\":{\"notice\":\"Asserts that the given condition is false.\"},\"assertFalse(bool,string)\":{\"notice\":\"Asserts that the given condition is false and includes error message into revert string on failure.\"},\"assertGe(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second.\"},\"assertGe(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure.\"},\"assertGe(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second.\"},\"assertGe(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure.\"},\"assertGeDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message.\"},\"assertGeDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGeDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message.\"},\"assertGeDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGt(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second.\"},\"assertGt(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Includes error message into revert string on failure.\"},\"assertGt(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second.\"},\"assertGt(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Includes error message into revert string on failure.\"},\"assertGtDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message.\"},\"assertGtDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGtDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message.\"},\"assertGtDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLe(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second.\"},\"assertLe(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure.\"},\"assertLe(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second.\"},\"assertLe(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure.\"},\"assertLeDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message.\"},\"assertLeDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLeDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message.\"},\"assertLeDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLt(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second.\"},\"assertLt(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Includes error message into revert string on failure.\"},\"assertLt(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second.\"},\"assertLt(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Includes error message into revert string on failure.\"},\"assertLtDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message.\"},\"assertLtDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLtDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message.\"},\"assertLtDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertNotEq(address,address)\":{\"notice\":\"Asserts that two `address` values are not equal.\"},\"assertNotEq(address,address,string)\":{\"notice\":\"Asserts that two `address` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(address[],address[])\":{\"notice\":\"Asserts that two arrays of `address` values are not equal.\"},\"assertNotEq(address[],address[],string)\":{\"notice\":\"Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bool,bool)\":{\"notice\":\"Asserts that two `bool` values are not equal.\"},\"assertNotEq(bool,bool,string)\":{\"notice\":\"Asserts that two `bool` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bool[],bool[])\":{\"notice\":\"Asserts that two arrays of `bool` values are not equal.\"},\"assertNotEq(bool[],bool[],string)\":{\"notice\":\"Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes,bytes)\":{\"notice\":\"Asserts that two `bytes` values are not equal.\"},\"assertNotEq(bytes,bytes,string)\":{\"notice\":\"Asserts that two `bytes` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes32,bytes32)\":{\"notice\":\"Asserts that two `bytes32` values are not equal.\"},\"assertNotEq(bytes32,bytes32,string)\":{\"notice\":\"Asserts that two `bytes32` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes32[],bytes32[])\":{\"notice\":\"Asserts that two arrays of `bytes32` values are not equal.\"},\"assertNotEq(bytes32[],bytes32[],string)\":{\"notice\":\"Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes[],bytes[])\":{\"notice\":\"Asserts that two arrays of `bytes` values are not equal.\"},\"assertNotEq(bytes[],bytes[],string)\":{\"notice\":\"Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(int256,int256)\":{\"notice\":\"Asserts that two `int256` values are not equal.\"},\"assertNotEq(int256,int256,string)\":{\"notice\":\"Asserts that two `int256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(int256[],int256[])\":{\"notice\":\"Asserts that two arrays of `int256` values are not equal.\"},\"assertNotEq(int256[],int256[],string)\":{\"notice\":\"Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(string,string)\":{\"notice\":\"Asserts that two `string` values are not equal.\"},\"assertNotEq(string,string,string)\":{\"notice\":\"Asserts that two `string` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(string[],string[])\":{\"notice\":\"Asserts that two arrays of `string` values are not equal.\"},\"assertNotEq(string[],string[],string)\":{\"notice\":\"Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are not equal.\"},\"assertNotEq(uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(uint256[],uint256[])\":{\"notice\":\"Asserts that two arrays of `uint256` values are not equal.\"},\"assertNotEq(uint256[],uint256[],string)\":{\"notice\":\"Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEqDecimal(int256,int256,uint256)\":{\"notice\":\"Asserts that two `int256` values are not equal, formatting them with decimals in failure message.\"},\"assertNotEqDecimal(int256,int256,uint256,string)\":{\"notice\":\"Asserts that two `int256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertNotEqDecimal(uint256,uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message.\"},\"assertNotEqDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertTrue(bool)\":{\"notice\":\"Asserts that the given condition is true.\"},\"assertTrue(bool,string)\":{\"notice\":\"Asserts that the given condition is true and includes error message into revert string on failure.\"},\"assume(bool)\":{\"notice\":\"If the condition is false, discard this run's fuzz inputs and generate new ones.\"},\"assumeNoRevert((address,bool,bytes))\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverts with the potential revert parameters.\"},\"assumeNoRevert((address,bool,bytes)[])\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverts with the any of the potential revert parameters.\"},\"assumeNoRevert()\":{\"notice\":\"Discard this run's fuzz inputs and generate new ones if next call reverted.\"},\"attachBlob(bytes)\":{\"notice\":\"Attach an EIP-4844 blob to the next call\"},\"attachDelegation((uint8,bytes32,bytes32,uint64,address))\":{\"notice\":\"Designate the next call as an EIP-7702 transaction\"},\"attachDelegation((uint8,bytes32,bytes32,uint64,address),bool)\":{\"notice\":\"Designate the next call as an EIP-7702 transaction, with optional cross-chain validity.\"},\"bound(int256,int256,int256)\":{\"notice\":\"Returns an int256 value bounded in given range and different from the current one.\"},\"bound(uint256,uint256,uint256)\":{\"notice\":\"Returns an uint256 value bounded in given range and different from the current one.\"},\"breakpoint(string)\":{\"notice\":\"Writes a breakpoint to jump to in the debugger.\"},\"breakpoint(string,bool)\":{\"notice\":\"Writes a conditional breakpoint to jump to in the debugger.\"},\"broadcast()\":{\"notice\":\"Has the next call (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\"},\"broadcast(address)\":{\"notice\":\"Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain.\"},\"broadcast(uint256)\":{\"notice\":\"Has the next call (at this call depth only) create a transaction with the private key provided as the sender that can later be signed and sent onchain.\"},\"broadcastRawTransaction(bytes)\":{\"notice\":\"Takes a signed transaction and broadcasts it to the network.\"},\"closeFile(string)\":{\"notice\":\"Closes file for reading, resetting the offset and allowing to read it from beginning with readLine. `path` is relative to the project root.\"},\"computeCreate2Address(bytes32,bytes32)\":{\"notice\":\"Compute the address of a contract created with CREATE2 using the default CREATE2 deployer.\"},\"computeCreate2Address(bytes32,bytes32,address)\":{\"notice\":\"Compute the address of a contract created with CREATE2 using the given CREATE2 deployer.\"},\"computeCreateAddress(address,uint256)\":{\"notice\":\"Compute the address a contract will be deployed at for a given deployer address and nonce.\"},\"contains(string,string)\":{\"notice\":\"Returns true if `search` is found in `subject`, false otherwise.\"},\"copyFile(string,string)\":{\"notice\":\"Copies the contents of one file to another. This function will **overwrite** the contents of `to`. On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`. Both `from` and `to` are relative to the project root.\"},\"copyStorage(address,address)\":{\"notice\":\"Utility cheatcode to copy storage of `from` contract to another `to` contract.\"},\"createDir(string,bool)\":{\"notice\":\"Creates a new, empty directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - User lacks permissions to modify `path`. - A parent of the given path doesn't exist and `recursive` is false. - `path` already exists and `recursive` is false. `path` is relative to the project root.\"},\"createWallet(string)\":{\"notice\":\"Derives a private key from the name, labels the account with that name, and returns the wallet.\"},\"createWallet(uint256)\":{\"notice\":\"Generates a wallet from the private key and returns the wallet.\"},\"createWallet(uint256,string)\":{\"notice\":\"Generates a wallet from the private key, labels the account with that name, and returns the wallet.\"},\"deployCode(string)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"deployCode(string,bytes)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments.\"},\"deployCode(string,bytes,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments.\"},\"deployCode(string,bytes,uint256)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`.\"},\"deployCode(string,bytes,uint256,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`.\"},\"deployCode(string,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"deployCode(string,uint256)\":{\"notice\":\"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`.\"},\"deployCode(string,uint256,bytes32)\":{\"notice\":\"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional. Additionally accepts `msg.value`.\"},\"deriveKey(string,string,uint32)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) at `{derivationPath}{index}`.\"},\"deriveKey(string,string,uint32,string)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language at `{derivationPath}{index}`.\"},\"deriveKey(string,uint32)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) at the derivation path `m/44'/60'/0'/0/{index}`.\"},\"deriveKey(string,uint32,string)\":{\"notice\":\"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language at the derivation path `m/44'/60'/0'/0/{index}`.\"},\"eip712HashStruct(string,bytes)\":{\"notice\":\"Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data. Supports 2 different inputs: 1. Name of the type (i.e. \\\"PermitSingle\\\"): * requires previous binding generation with `forge bind-json`. * bindings will be retrieved from the path configured in `foundry.toml`. 2. String representation of the type (i.e. \\\"Foo(Bar bar) Bar(uint256 baz)\\\"). * Note: the cheatcode will use the canonical type even if the input is malformated with the wrong order of elements or with extra whitespaces.\"},\"eip712HashStruct(string,string,bytes)\":{\"notice\":\"Generates the struct hash of the canonical EIP-712 type representation and its abi-encoded data. Requires previous binding generation with `forge bind-json`. Params: * `bindingsPath`: path where the output of `forge bind-json` is stored. * `typeName`: Name of the type (i.e. \\\"PermitSingle\\\"). * `abiEncodedData`: ABI-encoded data for the struct that is being hashed.\"},\"eip712HashType(string)\":{\"notice\":\"Generates the hash of the canonical EIP-712 type representation. Supports 2 different inputs: 1. Name of the type (i.e. \\\"Transaction\\\"): * requires previous binding generation with `forge bind-json`. * bindings will be retrieved from the path configured in `foundry.toml`. 2. String representation of the type (i.e. \\\"Foo(Bar bar) Bar(uint256 baz)\\\"). * Note: the cheatcode will output the canonical type even if the input is malformated with the wrong order of elements or with extra whitespaces.\"},\"eip712HashType(string,string)\":{\"notice\":\"Generates the hash of the canonical EIP-712 type representation. Requires previous binding generation with `forge bind-json`. Params: * `bindingsPath`: path where the output of `forge bind-json` is stored. * `typeName`: Name of the type (i.e. \\\"Transaction\\\").\"},\"eip712HashTypedData(string)\":{\"notice\":\"Generates a ready-to-sign digest of human-readable typed data following the EIP-712 standard.\"},\"ensNamehash(string)\":{\"notice\":\"Returns ENS namehash for provided string.\"},\"envAddress(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `address`. Reverts if the variable was not found or could not be parsed.\"},\"envAddress(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBool(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable was not found or could not be parsed.\"},\"envBool(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes32(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes32(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envExists(string)\":{\"notice\":\"Gets the environment variable `name` and returns true if it exists, else returns false.\"},\"envInt(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable was not found or could not be parsed.\"},\"envInt(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envOr(string,address)\":{\"notice\":\"Gets the environment variable `name` and parses it as `address`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bool)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bytes)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bytes32)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,int256)\":{\"notice\":\"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `string`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,address[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bool[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bytes32[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bytes[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,int256[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,string[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,uint256[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,uint256)\":{\"notice\":\"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envString(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `string`. Reverts if the variable was not found or could not be parsed.\"},\"envString(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envUint(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable was not found or could not be parsed.\"},\"envUint(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"eth_getLogs(uint256,uint256,address,bytes32[])\":{\"notice\":\"Gets all the logs according to specified filter.\"},\"exists(string)\":{\"notice\":\"Returns true if the given path points to an existing entity, else returns false.\"},\"ffi(string[])\":{\"notice\":\"Performs a foreign function call via the terminal.\"},\"foundryVersionAtLeast(string)\":{\"notice\":\"Returns true if the current Foundry version is greater than or equal to the given version. The given version string must be in the format `major.minor.patch`. This is equivalent to `foundryVersionCmp(version) >= 0`.\"},\"foundryVersionCmp(string)\":{\"notice\":\"Compares the current Foundry version with the given version string. The given version string must be in the format `major.minor.patch`. Returns: -1 if current Foundry version is less than the given version 0 if current Foundry version equals the given version 1 if current Foundry version is greater than the given version This result can then be used with a comparison operator against `0`. For example, to check if the current Foundry version is greater than or equal to `1.0.0`: `if (foundryVersionCmp(\\\"1.0.0\\\") >= 0) { ... }`\"},\"fsMetadata(string)\":{\"notice\":\"Given a path, query the file system to get information about a file, directory, etc.\"},\"getArtifactPathByCode(bytes)\":{\"notice\":\"Gets the artifact path from code (aka. creation code).\"},\"getArtifactPathByDeployedCode(bytes)\":{\"notice\":\"Gets the artifact path from deployed code (aka. runtime code).\"},\"getBlobBaseFee()\":{\"notice\":\"Gets the current `block.blobbasefee`. You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBlockNumber()\":{\"notice\":\"Gets the current `block.number`. You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBlockTimestamp()\":{\"notice\":\"Gets the current `block.timestamp`. You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBroadcast(string,uint64,uint8)\":{\"notice\":\"Returns the most recent broadcast for the given contract on `chainId` matching `txType`. For example: The most recent deployment can be fetched by passing `txType` as `CREATE` or `CREATE2`. The most recent call can be fetched by passing `txType` as `CALL`.\"},\"getBroadcasts(string,uint64)\":{\"notice\":\"Returns all broadcasts for the given contract on `chainId`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\"},\"getBroadcasts(string,uint64,uint8)\":{\"notice\":\"Returns all broadcasts for the given contract on `chainId` with the specified `txType`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber.\"},\"getChain(string)\":{\"notice\":\"Returns a Chain struct for specific alias\"},\"getChain(uint256)\":{\"notice\":\"Returns a Chain struct for specific chainId\"},\"getChainId()\":{\"notice\":\"Gets the current `block.chainid` of the currently selected environment. You should use this instead of `block.chainid` if you use `vm.selectFork` or `vm.createSelectFork`, as `block.chainid` could be assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getCode(string)\":{\"notice\":\"Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"getDeployedCode(string)\":{\"notice\":\"Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of :: where and parts are optional.\"},\"getDeployment(string)\":{\"notice\":\"Returns the most recent deployment for the current `chainId`.\"},\"getDeployment(string,uint64)\":{\"notice\":\"Returns the most recent deployment for the given contract on `chainId`\"},\"getDeployments(string,uint64)\":{\"notice\":\"Returns all deployments for the given contract on `chainId` Sorted in descending order of deployment time i.e descending order of BroadcastTxSummary.blockNumber. The most recent deployment is the first element, and the oldest is the last.\"},\"getEvmVersion()\":{\"notice\":\"Returns the test or script execution evm version. **Note:** The execution evm version is not the same as the compilation one.\"},\"getFoundryVersion()\":{\"notice\":\"Returns the Foundry version. Format: -+.. Sample output: 0.3.0-nightly+3cb96bde9b.1737036656.debug Note: Build timestamps may vary slightly across platforms due to separate CI jobs. For reliable version comparisons, use UNIX format (e.g., >= 1700000000) to compare timestamps while ignoring minor time differences.\"},\"getLabel(address)\":{\"notice\":\"Gets the label for the specified address.\"},\"getMappingKeyAndParentOf(address,bytes32)\":{\"notice\":\"Gets the map key and parent of a mapping at a given slot, for a given address.\"},\"getMappingLength(address,bytes32)\":{\"notice\":\"Gets the number of elements in the mapping at the given slot, for a given address.\"},\"getMappingSlotAt(address,bytes32,uint256)\":{\"notice\":\"Gets the elements at index idx of the mapping at the given slot, for a given address. The index must be less than the length of the mapping (i.e. the number of keys in the mapping).\"},\"getNonce((address,uint256,uint256,uint256))\":{\"notice\":\"Get the nonce of a `Wallet`.\"},\"getNonce(address)\":{\"notice\":\"Gets the nonce of an account.\"},\"getRawBlockHeader(uint256)\":{\"notice\":\"Gets the RLP encoded block header for a given block number. Returns the block header in the same format as `cast block --raw`.\"},\"getRecordedLogs()\":{\"notice\":\"Gets all the recorded logs.\"},\"getStateDiff()\":{\"notice\":\"Returns state diffs from current `vm.startStateDiffRecording` session.\"},\"getStateDiffJson()\":{\"notice\":\"Returns state diffs from current `vm.startStateDiffRecording` session, in json format.\"},\"getStorageAccesses()\":{\"notice\":\"Returns an array of `StorageAccess` from current `vm.stateStateDiffRecording` session\"},\"getStorageSlots(address,string)\":{\"notice\":\"Returns an array of storage slots occupied by the specified variable.\"},\"getWallets()\":{\"notice\":\"Returns addresses of available unlocked wallets in the script environment.\"},\"indexOf(string,string)\":{\"notice\":\"Returns the index of the first occurrence of a `key` in an `input` string. Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found. Returns 0 in case of an empty `key`.\"},\"isContext(uint8)\":{\"notice\":\"Returns true if `forge` command was executed in given context.\"},\"isDir(string)\":{\"notice\":\"Returns true if the path exists on disk and is pointing at a directory, else returns false.\"},\"isFile(string)\":{\"notice\":\"Returns true if the path exists on disk and is pointing at a regular file, else returns false.\"},\"keyExists(string,string)\":{\"notice\":\"Checks if `key` exists in a JSON object `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions.\"},\"keyExistsJson(string,string)\":{\"notice\":\"Checks if `key` exists in a JSON object.\"},\"keyExistsToml(string,string)\":{\"notice\":\"Checks if `key` exists in a TOML table.\"},\"label(address,string)\":{\"notice\":\"Labels an address in call traces.\"},\"lastCallGas()\":{\"notice\":\"Gets the gas used in the last call from the callee perspective.\"},\"load(address,bytes32)\":{\"notice\":\"Loads a storage slot from an address.\"},\"parseAddress(string)\":{\"notice\":\"Parses the given `string` into an `address`.\"},\"parseBool(string)\":{\"notice\":\"Parses the given `string` into a `bool`.\"},\"parseBytes(string)\":{\"notice\":\"Parses the given `string` into `bytes`.\"},\"parseBytes32(string)\":{\"notice\":\"Parses the given `string` into a `bytes32`.\"},\"parseInt(string)\":{\"notice\":\"Parses the given `string` into a `int256`.\"},\"parseJson(string)\":{\"notice\":\"ABI-encodes a JSON object.\"},\"parseJson(string,string)\":{\"notice\":\"ABI-encodes a JSON object at `key`.\"},\"parseJsonAddress(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `address`.\"},\"parseJsonAddressArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `address[]`.\"},\"parseJsonBool(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bool`.\"},\"parseJsonBoolArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bool[]`.\"},\"parseJsonBytes(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes`.\"},\"parseJsonBytes32(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes32`.\"},\"parseJsonBytes32Array(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes32[]`.\"},\"parseJsonBytesArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes[]`.\"},\"parseJsonInt(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `int256`.\"},\"parseJsonIntArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `int256[]`.\"},\"parseJsonKeys(string,string)\":{\"notice\":\"Returns an array of all the keys in a JSON object.\"},\"parseJsonString(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `string`.\"},\"parseJsonStringArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `string[]`.\"},\"parseJsonType(string,string)\":{\"notice\":\"Parses a string of JSON data and coerces it to type corresponding to `typeDescription`.\"},\"parseJsonType(string,string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to type corresponding to `typeDescription`.\"},\"parseJsonTypeArray(string,string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to type array corresponding to `typeDescription`.\"},\"parseJsonUint(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `uint256`.\"},\"parseJsonUintArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `uint256[]`.\"},\"parseToml(string)\":{\"notice\":\"ABI-encodes a TOML table.\"},\"parseToml(string,string)\":{\"notice\":\"ABI-encodes a TOML table at `key`.\"},\"parseTomlAddress(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `address`.\"},\"parseTomlAddressArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `address[]`.\"},\"parseTomlBool(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bool`.\"},\"parseTomlBoolArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bool[]`.\"},\"parseTomlBytes(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes`.\"},\"parseTomlBytes32(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes32`.\"},\"parseTomlBytes32Array(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes32[]`.\"},\"parseTomlBytesArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes[]`.\"},\"parseTomlInt(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `int256`.\"},\"parseTomlIntArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `int256[]`.\"},\"parseTomlKeys(string,string)\":{\"notice\":\"Returns an array of all the keys in a TOML table.\"},\"parseTomlString(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `string`.\"},\"parseTomlStringArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `string[]`.\"},\"parseTomlType(string,string)\":{\"notice\":\"Parses a string of TOML data and coerces it to type corresponding to `typeDescription`.\"},\"parseTomlType(string,string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to type corresponding to `typeDescription`.\"},\"parseTomlTypeArray(string,string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to type array corresponding to `typeDescription`.\"},\"parseTomlUint(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `uint256`.\"},\"parseTomlUintArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `uint256[]`.\"},\"parseUint(string)\":{\"notice\":\"Parses the given `string` into a `uint256`.\"},\"pauseGasMetering()\":{\"notice\":\"Pauses gas metering (i.e. gas usage is not counted). Noop if already paused.\"},\"pauseTracing()\":{\"notice\":\"Pauses collection of call traces. Useful in cases when you want to skip tracing of complex calls which are not useful for debugging.\"},\"projectRoot()\":{\"notice\":\"Get the path of the current project root.\"},\"prompt(string)\":{\"notice\":\"Prompts the user for a string value in the terminal.\"},\"promptAddress(string)\":{\"notice\":\"Prompts the user for an address in the terminal.\"},\"promptSecret(string)\":{\"notice\":\"Prompts the user for a hidden string value in the terminal.\"},\"promptSecretUint(string)\":{\"notice\":\"Prompts the user for hidden uint256 in the terminal (usually pk).\"},\"promptUint(string)\":{\"notice\":\"Prompts the user for uint256 in the terminal.\"},\"publicKeyP256(uint256)\":{\"notice\":\"Derives secp256r1 public key from the provided `privateKey`.\"},\"randomAddress()\":{\"notice\":\"Returns a random `address`.\"},\"randomBool()\":{\"notice\":\"Returns a random `bool`.\"},\"randomBytes(uint256)\":{\"notice\":\"Returns a random byte array value of the given length.\"},\"randomBytes4()\":{\"notice\":\"Returns a random fixed-size byte array of length 4.\"},\"randomBytes8()\":{\"notice\":\"Returns a random fixed-size byte array of length 8.\"},\"randomInt()\":{\"notice\":\"Returns a random `int256` value.\"},\"randomInt(uint256)\":{\"notice\":\"Returns a random `int256` value of given bits.\"},\"randomUint()\":{\"notice\":\"Returns a random uint256 value.\"},\"randomUint(uint256)\":{\"notice\":\"Returns a random `uint256` value of given bits.\"},\"randomUint(uint256,uint256)\":{\"notice\":\"Returns random uint256 value between the provided range (=min..=max).\"},\"readDir(string)\":{\"notice\":\"Reads the directory at the given path recursively, up to `maxDepth`. `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned. Follows symbolic links if `followLinks` is true.\"},\"readDir(string,uint64)\":{\"notice\":\"See `readDir(string)`.\"},\"readDir(string,uint64,bool)\":{\"notice\":\"See `readDir(string)`.\"},\"readFile(string)\":{\"notice\":\"Reads the entire content of file to string. `path` is relative to the project root.\"},\"readFileBinary(string)\":{\"notice\":\"Reads the entire content of file as binary. `path` is relative to the project root.\"},\"readLine(string)\":{\"notice\":\"Reads next line of file to string.\"},\"readLink(string)\":{\"notice\":\"Reads a symbolic link, returning the path that the link points to. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` is not a symbolic link. - `path` does not exist.\"},\"record()\":{\"notice\":\"Records all storage reads and writes. Use `accesses` to get the recorded data. Subsequent calls to `record` will clear the previous data.\"},\"recordLogs()\":{\"notice\":\"Record all the transaction logs.\"},\"rememberKey(uint256)\":{\"notice\":\"Adds a private key to the local forge wallet and returns the address.\"},\"rememberKeys(string,string,string,uint32)\":{\"notice\":\"Derive a set number of wallets from a mnemonic in the specified language at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\"},\"rememberKeys(string,string,uint32)\":{\"notice\":\"Derive a set number of wallets from a mnemonic at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned.\"},\"removeDir(string,bool)\":{\"notice\":\"Removes a directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` doesn't exist. - `path` isn't a directory. - User lacks permissions to modify `path`. - The directory is not empty and `recursive` is false. `path` is relative to the project root.\"},\"removeFile(string)\":{\"notice\":\"Removes a file from the filesystem. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` points to a directory. - The file doesn't exist. - The user lacks permissions to remove the file. `path` is relative to the project root.\"},\"replace(string,string,string)\":{\"notice\":\"Replaces occurrences of `from` in the given `string` with `to`.\"},\"resetGasMetering()\":{\"notice\":\"Reset gas metering (i.e. gas usage is set to gas limit).\"},\"resolveEnv(string)\":{\"notice\":\"Resolves the env variable placeholders of a given input string.\"},\"resumeGasMetering()\":{\"notice\":\"Resumes gas metering (i.e. gas usage is counted again). Noop if already on.\"},\"resumeTracing()\":{\"notice\":\"Unpauses collection of call traces.\"},\"rpc(string,string)\":{\"notice\":\"Performs an Ethereum JSON-RPC request to the current fork URL.\"},\"rpc(string,string,string)\":{\"notice\":\"Performs an Ethereum JSON-RPC request to the given endpoint.\"},\"rpcUrl(string)\":{\"notice\":\"Returns the RPC url for the given alias.\"},\"rpcUrlStructs()\":{\"notice\":\"Returns all rpc urls and their aliases as structs.\"},\"rpcUrls()\":{\"notice\":\"Returns all rpc urls and their aliases `[alias, url][]`.\"},\"serializeAddress(string,string,address)\":{\"notice\":\"See `serializeJson`.\"},\"serializeAddress(string,string,address[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBool(string,string,bool)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBool(string,string,bool[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes(string,string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes(string,string,bytes[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes32(string,string,bytes32)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes32(string,string,bytes32[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeInt(string,string,int256)\":{\"notice\":\"See `serializeJson`.\"},\"serializeInt(string,string,int256[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeJson(string,string)\":{\"notice\":\"Serializes a key and value to a JSON object stored in-memory that can be later written to a file. Returns the stringified version of the specific JSON file up to that moment.\"},\"serializeJsonType(string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeJsonType(string,string,string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeString(string,string,string)\":{\"notice\":\"See `serializeJson`.\"},\"serializeString(string,string,string[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeUint(string,string,uint256)\":{\"notice\":\"See `serializeJson`.\"},\"serializeUint(string,string,uint256[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeUintToHex(string,string,uint256)\":{\"notice\":\"See `serializeJson`.\"},\"setArbitraryStorage(address)\":{\"notice\":\"Utility cheatcode to set arbitrary storage for given target address.\"},\"setArbitraryStorage(address,bool)\":{\"notice\":\"Utility cheatcode to set arbitrary storage for given target address and overwrite any storage slots that have been previously set.\"},\"setEnv(string,string)\":{\"notice\":\"Sets environment variables.\"},\"setEvmVersion(string)\":{\"notice\":\"Set the exact test or script execution evm version, e.g. `berlin`, `cancun`. **Note:** The execution evm version is not the same as the compilation one.\"},\"setSeed(uint256)\":{\"notice\":\"Set RNG seed.\"},\"shuffle(uint256[])\":{\"notice\":\"Randomly shuffles an array.\"},\"sign((address,uint256,uint256,uint256),bytes32)\":{\"notice\":\"Signs data with a `Wallet`.\"},\"sign(address,bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Raises error if none of the signers passed into the script have provided address.\"},\"sign(bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script.\"},\"sign(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256k1 curve.\"},\"signAndAttachDelegation(address,uint256)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction\"},\"signAndAttachDelegation(address,uint256,bool)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction, with optional cross-chain validity.\"},\"signAndAttachDelegation(address,uint256,uint64)\":{\"notice\":\"Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction for specific nonce\"},\"signCompact((address,uint256,uint256,uint256),bytes32)\":{\"notice\":\"Signs data with a `Wallet`. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes.\"},\"signCompact(address,bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. Raises error if none of the signers passed into the script have provided address.\"},\"signCompact(bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script.\"},\"signCompact(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes.\"},\"signDelegation(address,uint256)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation\"},\"signDelegation(address,uint256,bool)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation, with optional cross-chain validity.\"},\"signDelegation(address,uint256,uint64)\":{\"notice\":\"Sign an EIP-7702 authorization for delegation for specific nonce\"},\"signP256(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256r1 curve.\"},\"signWithNonceUnsafe(uint256,bytes32,uint256)\":{\"notice\":\"Signs `digest` with `privateKey` on the secp256k1 curve, using the given `nonce` as the raw ephemeral k value in ECDSA (instead of deriving it deterministically).\"},\"sleep(uint256)\":{\"notice\":\"Suspends execution of the main thread for `duration` milliseconds.\"},\"sort(uint256[])\":{\"notice\":\"Sorts an array in ascending order.\"},\"split(string,string)\":{\"notice\":\"Splits the given `string` into an array of strings divided by the `delimiter`.\"},\"startBroadcast()\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\"},\"startBroadcast(address)\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions with the address provided that can later be signed and sent onchain.\"},\"startBroadcast(uint256)\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions with the private key provided that can later be signed and sent onchain.\"},\"startDebugTraceRecording()\":{\"notice\":\"Records the debug trace during the run.\"},\"startMappingRecording()\":{\"notice\":\"Starts recording all map SSTOREs for later retrieval.\"},\"startStateDiffRecording()\":{\"notice\":\"Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order, along with the context of the calls\"},\"stopAndReturnDebugTraceRecording()\":{\"notice\":\"Stop debug trace recording and returns the recorded debug trace.\"},\"stopAndReturnStateDiff()\":{\"notice\":\"Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session.\"},\"stopBroadcast()\":{\"notice\":\"Stops collecting onchain transactions.\"},\"stopMappingRecording()\":{\"notice\":\"Stops recording all map SSTOREs for later retrieval and clears the recorded data.\"},\"stopRecord()\":{\"notice\":\"Stops recording storage reads and writes.\"},\"toBase64(bytes)\":{\"notice\":\"Encodes a `bytes` value to a base64 string.\"},\"toBase64(string)\":{\"notice\":\"Encodes a `string` value to a base64 string.\"},\"toBase64URL(bytes)\":{\"notice\":\"Encodes a `bytes` value to a base64url string.\"},\"toBase64URL(string)\":{\"notice\":\"Encodes a `string` value to a base64url string.\"},\"toLowercase(string)\":{\"notice\":\"Converts the given `string` value to Lowercase.\"},\"toString(address)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bool)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bytes)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bytes32)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(int256)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(uint256)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toUppercase(string)\":{\"notice\":\"Converts the given `string` value to Uppercase.\"},\"trim(string)\":{\"notice\":\"Trims leading and trailing whitespace from the given `string` value.\"},\"tryFfi(string[])\":{\"notice\":\"Performs a foreign function call via terminal and returns the exit code, stdout, and stderr.\"},\"unixTime()\":{\"notice\":\"Returns the time since unix epoch in milliseconds.\"},\"writeFile(string,string)\":{\"notice\":\"Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root.\"},\"writeFileBinary(string,bytes)\":{\"notice\":\"Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root.\"},\"writeJson(string,string)\":{\"notice\":\"Write a serialized JSON object to a file. If the file exists, it will be overwritten.\"},\"writeJson(string,string,string)\":{\"notice\":\"Write a serialized JSON object to an **existing** JSON file, replacing a value with key = This is useful to replace a specific value of a JSON file, without having to parse the entire thing. This cheatcode will create new keys if they didn't previously exist.\"},\"writeLine(string,string)\":{\"notice\":\"Writes line to file, creating a file if it does not exist. `path` is relative to the project root.\"},\"writeToml(string,string)\":{\"notice\":\"Takes serialized JSON, converts to TOML and write a serialized TOML to a file.\"},\"writeToml(string,string,string)\":{\"notice\":\"Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = This is useful to replace a specific value of a TOML file, without having to parse the entire thing. This cheatcode will create new keys if they didn't previously exist.\"}},\"notice\":\"The `VmSafe` interface does not allow manipulation of the EVM state or other actions that may result in Script simulations differing from on-chain execution. It is recommended to only use these cheats in scripts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"VmSafe\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"accesses(address)":"65bc9481","addr(uint256)":"ffa18649","assertApproxEqAbs(int256,int256,uint256)":"240f839d","assertApproxEqAbs(int256,int256,uint256,string)":"8289e621","assertApproxEqAbs(uint256,uint256,uint256)":"16d207c6","assertApproxEqAbs(uint256,uint256,uint256,string)":"f710b062","assertApproxEqAbsDecimal(int256,int256,uint256,uint256)":"3d5bc8bc","assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)":"6a5066d4","assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)":"045c55ce","assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)":"60429eb2","assertApproxEqRel(int256,int256,uint256)":"fea2d14f","assertApproxEqRel(int256,int256,uint256,string)":"ef277d72","assertApproxEqRel(uint256,uint256,uint256)":"8cf25ef4","assertApproxEqRel(uint256,uint256,uint256,string)":"1ecb7d33","assertApproxEqRelDecimal(int256,int256,uint256,uint256)":"abbf21cc","assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)":"fccc11c4","assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)":"21ed2977","assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)":"82d6c8fd","assertEq(address,address)":"515361f6","assertEq(address,address,string)":"2f2769d1","assertEq(address[],address[])":"3868ac34","assertEq(address[],address[],string)":"3e9173c5","assertEq(bool,bool)":"f7fe3477","assertEq(bool,bool,string)":"4db19e7e","assertEq(bool[],bool[])":"707df785","assertEq(bool[],bool[],string)":"e48a8f8d","assertEq(bytes,bytes)":"97624631","assertEq(bytes,bytes,string)":"e24fed00","assertEq(bytes32,bytes32)":"7c84c69b","assertEq(bytes32,bytes32,string)":"c1fa1ed0","assertEq(bytes32[],bytes32[])":"0cc9ee84","assertEq(bytes32[],bytes32[],string)":"e03e9177","assertEq(bytes[],bytes[])":"e5fb9b4a","assertEq(bytes[],bytes[],string)":"f413f0b6","assertEq(int256,int256)":"fe74f05b","assertEq(int256,int256,string)":"714a2f13","assertEq(int256[],int256[])":"711043ac","assertEq(int256[],int256[],string)":"191f1b30","assertEq(string,string)":"f320d963","assertEq(string,string,string)":"36f656d8","assertEq(string[],string[])":"cf1c049c","assertEq(string[],string[],string)":"eff6b27d","assertEq(uint256,uint256)":"98296c54","assertEq(uint256,uint256,string)":"88b44c85","assertEq(uint256[],uint256[])":"975d5a12","assertEq(uint256[],uint256[],string)":"5d18c73a","assertEqDecimal(int256,int256,uint256)":"48016c04","assertEqDecimal(int256,int256,uint256,string)":"7e77b0c5","assertEqDecimal(uint256,uint256,uint256)":"27af7d9c","assertEqDecimal(uint256,uint256,uint256,string)":"d0cbbdef","assertFalse(bool)":"a5982885","assertFalse(bool,string)":"7ba04809","assertGe(int256,int256)":"0a30b771","assertGe(int256,int256,string)":"a84328dd","assertGe(uint256,uint256)":"a8d4d1d9","assertGe(uint256,uint256,string)":"e25242c0","assertGeDecimal(int256,int256,uint256)":"dc28c0f1","assertGeDecimal(int256,int256,uint256,string)":"5df93c9b","assertGeDecimal(uint256,uint256,uint256)":"3d1fe08a","assertGeDecimal(uint256,uint256,uint256,string)":"8bff9133","assertGt(int256,int256)":"5a362d45","assertGt(int256,int256,string)":"f8d33b9b","assertGt(uint256,uint256)":"db07fcd2","assertGt(uint256,uint256,string)":"d9a3c4d2","assertGtDecimal(int256,int256,uint256)":"78611f0e","assertGtDecimal(int256,int256,uint256,string)":"04a5c7ab","assertGtDecimal(uint256,uint256,uint256)":"eccd2437","assertGtDecimal(uint256,uint256,uint256,string)":"64949a8d","assertLe(int256,int256)":"95fd154e","assertLe(int256,int256,string)":"4dfe692c","assertLe(uint256,uint256)":"8466f415","assertLe(uint256,uint256,string)":"d17d4b0d","assertLeDecimal(int256,int256,uint256)":"11d1364a","assertLeDecimal(int256,int256,uint256,string)":"aa5cf788","assertLeDecimal(uint256,uint256,uint256)":"c304aab7","assertLeDecimal(uint256,uint256,uint256,string)":"7fefbbe0","assertLt(int256,int256)":"3e914080","assertLt(int256,int256,string)":"9ff531e3","assertLt(uint256,uint256)":"b12fc005","assertLt(uint256,uint256,string)":"65d5c135","assertLtDecimal(int256,int256,uint256)":"dbe8d88b","assertLtDecimal(int256,int256,uint256,string)":"40f0b4e0","assertLtDecimal(uint256,uint256,uint256)":"2077337e","assertLtDecimal(uint256,uint256,uint256,string)":"a972d037","assertNotEq(address,address)":"b12e1694","assertNotEq(address,address,string)":"8775a591","assertNotEq(address[],address[])":"46d0b252","assertNotEq(address[],address[],string)":"72c7e0b5","assertNotEq(bool,bool)":"236e4d66","assertNotEq(bool,bool,string)":"1091a261","assertNotEq(bool[],bool[])":"286fafea","assertNotEq(bool[],bool[],string)":"62c6f9fb","assertNotEq(bytes,bytes)":"3cf78e28","assertNotEq(bytes,bytes,string)":"9507540e","assertNotEq(bytes32,bytes32)":"898e83fc","assertNotEq(bytes32,bytes32,string)":"b2332f51","assertNotEq(bytes32[],bytes32[])":"0603ea68","assertNotEq(bytes32[],bytes32[],string)":"b873634c","assertNotEq(bytes[],bytes[])":"edecd035","assertNotEq(bytes[],bytes[],string)":"1dcd1f68","assertNotEq(int256,int256)":"f4c004e3","assertNotEq(int256,int256,string)":"4724c5b9","assertNotEq(int256[],int256[])":"0b72f4ef","assertNotEq(int256[],int256[],string)":"d3977322","assertNotEq(string,string)":"6a8237b3","assertNotEq(string,string,string)":"78bdcea7","assertNotEq(string[],string[])":"bdfacbe8","assertNotEq(string[],string[],string)":"b67187f3","assertNotEq(uint256,uint256)":"b7909320","assertNotEq(uint256,uint256,string)":"98f9bdbd","assertNotEq(uint256[],uint256[])":"56f29cba","assertNotEq(uint256[],uint256[],string)":"9a7fbd8f","assertNotEqDecimal(int256,int256,uint256)":"14e75680","assertNotEqDecimal(int256,int256,uint256,string)":"33949f0b","assertNotEqDecimal(uint256,uint256,uint256)":"669efca7","assertNotEqDecimal(uint256,uint256,uint256,string)":"f5a55558","assertTrue(bool)":"0c9fd581","assertTrue(bool,string)":"a34edc03","assume(bool)":"4c63e562","assumeNoRevert((address,bool,bytes))":"d8591eeb","assumeNoRevert((address,bool,bytes)[])":"8a4592cc","assumeNoRevert()":"285b366a","attachBlob(bytes)":"10cb385c","attachDelegation((uint8,bytes32,bytes32,uint64,address))":"14ae3519","attachDelegation((uint8,bytes32,bytes32,uint64,address),bool)":"f4460d34","bound(int256,int256,int256)":"8f48fc07","bound(uint256,uint256,uint256)":"5a6c1eed","breakpoint(string)":"f0259e92","breakpoint(string,bool)":"f7d39a8d","broadcast()":"afc98040","broadcast(address)":"e6962cdb","broadcast(uint256)":"f67a965b","broadcastRawTransaction(bytes)":"8c0c72e0","closeFile(string)":"48c3241f","computeCreate2Address(bytes32,bytes32)":"890c283b","computeCreate2Address(bytes32,bytes32,address)":"d323826a","computeCreateAddress(address,uint256)":"74637a7a","contains(string,string)":"3fb18aec","copyFile(string,string)":"a54a87d8","copyStorage(address,address)":"203dac0d","createDir(string,bool)":"168b64d3","createWallet(string)":"7404f1d2","createWallet(uint256)":"7a675bb6","createWallet(uint256,string)":"ed7c5462","deployCode(string)":"9a8325a0","deployCode(string,bytes)":"29ce9dde","deployCode(string,bytes,bytes32)":"016155bf","deployCode(string,bytes,uint256)":"ff5d64e4","deployCode(string,bytes,uint256,bytes32)":"3aa773ea","deployCode(string,bytes32)":"17ab1d79","deployCode(string,uint256)":"0af6a701","deployCode(string,uint256,bytes32)":"002cb687","deriveKey(string,string,uint32)":"6bcb2c1b","deriveKey(string,string,uint32,string)":"29233b1f","deriveKey(string,uint32)":"6229498b","deriveKey(string,uint32,string)":"32c8176d","eip712HashStruct(string,bytes)":"aedeaebc","eip712HashStruct(string,string,bytes)":"6d06c57c","eip712HashType(string)":"6792e9e2","eip712HashType(string,string)":"18fb6406","eip712HashTypedData(string)":"ea25e615","ensNamehash(string)":"8c374c65","envAddress(string)":"350d56bf","envAddress(string,string)":"ad31b9fa","envBool(string)":"7ed1ec7d","envBool(string,string)":"aaaddeaf","envBytes(string)":"4d7baf06","envBytes(string,string)":"ddc2651b","envBytes32(string)":"97949042","envBytes32(string,string)":"5af231c1","envExists(string)":"ce8365f9","envInt(string)":"892a0c61","envInt(string,string)":"42181150","envOr(string,address)":"561fe540","envOr(string,bool)":"4777f3cf","envOr(string,bytes)":"b3e47705","envOr(string,bytes32)":"b4a85892","envOr(string,int256)":"bbcb713e","envOr(string,string)":"d145736c","envOr(string,string,address[])":"c74e9deb","envOr(string,string,bool[])":"eb85e83b","envOr(string,string,bytes32[])":"2281f367","envOr(string,string,bytes[])":"64bc3e64","envOr(string,string,int256[])":"4700d74b","envOr(string,string,string[])":"859216bc","envOr(string,string,uint256[])":"74318528","envOr(string,uint256)":"5e97348f","envString(string)":"f877cb19","envString(string,string)":"14b02bc9","envUint(string)":"c1978d1f","envUint(string,string)":"f3dec099","eth_getLogs(uint256,uint256,address,bytes32[])":"35e1349b","exists(string)":"261a323e","ffi(string[])":"89160467","foundryVersionAtLeast(string)":"6248be1f","foundryVersionCmp(string)":"ca7b0a09","fsMetadata(string)":"af368a08","getArtifactPathByCode(bytes)":"eb74848c","getArtifactPathByDeployedCode(bytes)":"6d853ba5","getBlobBaseFee()":"1f6d6ef7","getBlockNumber()":"42cbb15c","getBlockTimestamp()":"796b89b9","getBroadcast(string,uint64,uint8)":"3dc90cb3","getBroadcasts(string,uint64)":"f2fa4a26","getBroadcasts(string,uint64,uint8)":"f7afe919","getChain(string)":"4cc1c2bb","getChain(uint256)":"b6791ad4","getChainId()":"3408e470","getCode(string)":"8d1cc925","getDeployedCode(string)":"3ebf73b4","getDeployment(string)":"a8091d97","getDeployment(string,uint64)":"0debd5d6","getDeployments(string,uint64)":"74e133dd","getEvmVersion()":"aa2bb222","getFoundryVersion()":"ea991bb5","getLabel(address)":"28a249b0","getMappingKeyAndParentOf(address,bytes32)":"876e24e6","getMappingLength(address,bytes32)":"2f2fd63f","getMappingSlotAt(address,bytes32,uint256)":"ebc73ab4","getNonce((address,uint256,uint256,uint256))":"a5748aad","getNonce(address)":"2d0335ab","getRawBlockHeader(uint256)":"2c667606","getRecordedLogs()":"191553a4","getStateDiff()":"80df01cc","getStateDiffJson()":"f54fe009","getStorageAccesses()":"2899b1d0","getStorageSlots(address,string)":"efa136d9","getWallets()":"db7a4605","indexOf(string,string)":"8a0807b7","isContext(uint8)":"64af255d","isDir(string)":"7d15d019","isFile(string)":"e0eb04d4","keyExists(string,string)":"528a683c","keyExistsJson(string,string)":"db4235f6","keyExistsToml(string,string)":"600903ad","label(address,string)":"c657c718","lastCallGas()":"2b589b28","load(address,bytes32)":"667f9d70","parseAddress(string)":"c6ce059d","parseBool(string)":"974ef924","parseBytes(string)":"8f5d232d","parseBytes32(string)":"087e6e81","parseInt(string)":"42346c5e","parseJson(string)":"6a82600a","parseJson(string,string)":"85940ef1","parseJsonAddress(string,string)":"1e19e657","parseJsonAddressArray(string,string)":"2fce7883","parseJsonBool(string,string)":"9f86dc91","parseJsonBoolArray(string,string)":"91f3b94f","parseJsonBytes(string,string)":"fd921be8","parseJsonBytes32(string,string)":"1777e59d","parseJsonBytes32Array(string,string)":"91c75bc3","parseJsonBytesArray(string,string)":"6631aa99","parseJsonInt(string,string)":"7b048ccd","parseJsonIntArray(string,string)":"9983c28a","parseJsonKeys(string,string)":"213e4198","parseJsonString(string,string)":"49c4fac8","parseJsonStringArray(string,string)":"498fdcf4","parseJsonType(string,string)":"a9da313b","parseJsonType(string,string,string)":"e3f5ae33","parseJsonTypeArray(string,string,string)":"0175d535","parseJsonUint(string,string)":"addde2b6","parseJsonUintArray(string,string)":"522074ab","parseToml(string)":"592151f0","parseToml(string,string)":"37736e08","parseTomlAddress(string,string)":"65e7c844","parseTomlAddressArray(string,string)":"65c428e7","parseTomlBool(string,string)":"d30dced6","parseTomlBoolArray(string,string)":"127cfe9a","parseTomlBytes(string,string)":"d77bfdb9","parseTomlBytes32(string,string)":"8e214810","parseTomlBytes32Array(string,string)":"3e716f81","parseTomlBytesArray(string,string)":"b197c247","parseTomlInt(string,string)":"c1350739","parseTomlIntArray(string,string)":"d3522ae6","parseTomlKeys(string,string)":"812a44b2","parseTomlString(string,string)":"8bb8dd43","parseTomlStringArray(string,string)":"9f629281","parseTomlType(string,string)":"47fa5e11","parseTomlType(string,string,string)":"f9fa5cdb","parseTomlTypeArray(string,string,string)":"49be3743","parseTomlUint(string,string)":"cc7b0487","parseTomlUintArray(string,string)":"b5df27c8","parseUint(string)":"fa91454d","pauseGasMetering()":"d1a5b36f","pauseTracing()":"c94d1f90","projectRoot()":"d930a0e6","prompt(string)":"47eaf474","promptAddress(string)":"62ee05f4","promptSecret(string)":"1e279d41","promptSecretUint(string)":"69ca02b7","promptUint(string)":"652fd489","publicKeyP256(uint256)":"c453949e","randomAddress()":"d5bee9f5","randomBool()":"cdc126bd","randomBytes(uint256)":"6c5d32a9","randomBytes4()":"9b7cd579","randomBytes8()":"0497b0a5","randomInt()":"111f1202","randomInt(uint256)":"12845966","randomUint()":"25124730","randomUint(uint256)":"cf81e69c","randomUint(uint256,uint256)":"d61b051b","readDir(string)":"c4bc59e0","readDir(string,uint64)":"1497876c","readDir(string,uint64,bool)":"8102d70d","readFile(string)":"60f9bb11","readFileBinary(string)":"16ed7bc4","readLine(string)":"70f55728","readLink(string)":"9f5684a2","record()":"266cf109","recordLogs()":"41af2f52","rememberKey(uint256)":"22100064","rememberKeys(string,string,string,uint32)":"f8d58eaf","rememberKeys(string,string,uint32)":"97cb9189","removeDir(string,bool)":"45c62011","removeFile(string)":"f1afe04d","replace(string,string,string)":"e00ad03e","resetGasMetering()":"be367dd3","resolveEnv(string)":"ddd2128d","resumeGasMetering()":"2bcd50e0","resumeTracing()":"72a09ccb","rpc(string,string)":"1206c8a8","rpc(string,string,string)":"0199a220","rpcUrl(string)":"975a6ce9","rpcUrlStructs()":"9d2ad72a","rpcUrls()":"a85a8418","serializeAddress(string,string,address)":"972c6062","serializeAddress(string,string,address[])":"1e356e1a","serializeBool(string,string,bool)":"ac22e971","serializeBool(string,string,bool[])":"92925aa1","serializeBytes(string,string,bytes)":"f21d52c7","serializeBytes(string,string,bytes[])":"9884b232","serializeBytes32(string,string,bytes32)":"2d812b44","serializeBytes32(string,string,bytes32[])":"201e43e2","serializeInt(string,string,int256)":"3f33db60","serializeInt(string,string,int256[])":"7676e127","serializeJson(string,string)":"9b3358b0","serializeJsonType(string,bytes)":"6d4f96a6","serializeJsonType(string,string,string,bytes)":"6f93bccb","serializeString(string,string,string)":"88da6d35","serializeString(string,string,string[])":"561cd6f3","serializeUint(string,string,uint256)":"129e9002","serializeUint(string,string,uint256[])":"fee9a469","serializeUintToHex(string,string,uint256)":"ae5a2ae8","setArbitraryStorage(address)":"e1631837","setArbitraryStorage(address,bool)":"d3ec2a0b","setEnv(string,string)":"3d5923ee","setEvmVersion(string)":"43179f5a","setSeed(uint256)":"c32a50f9","shuffle(uint256[])":"54f1469c","sign((address,uint256,uint256,uint256),bytes32)":"b25c5a25","sign(address,bytes32)":"8c1aa205","sign(bytes32)":"799cd333","sign(uint256,bytes32)":"e341eaa4","signAndAttachDelegation(address,uint256)":"c7fa7288","signAndAttachDelegation(address,uint256,bool)":"d936e146","signAndAttachDelegation(address,uint256,uint64)":"cde3e5be","signCompact((address,uint256,uint256,uint256),bytes32)":"3d0e292f","signCompact(address,bytes32)":"8e2f97bf","signCompact(bytes32)":"a282dc4b","signCompact(uint256,bytes32)":"cc2a781f","signDelegation(address,uint256)":"5b593c7b","signDelegation(address,uint256,bool)":"cdd7563d","signDelegation(address,uint256,uint64)":"ceba2ec3","signP256(uint256,bytes32)":"83211b40","signWithNonceUnsafe(uint256,bytes32,uint256)":"2012783a","sleep(uint256)":"fa9d8713","sort(uint256[])":"9ec8b026","split(string,string)":"8bb75533","startBroadcast()":"7fb5297f","startBroadcast(address)":"7fec2a8d","startBroadcast(uint256)":"ce817d47","startDebugTraceRecording()":"419c8832","startMappingRecording()":"3e9705c0","startStateDiffRecording()":"cf22e3c9","stopAndReturnDebugTraceRecording()":"ced398a2","stopAndReturnStateDiff()":"aa5cf90e","stopBroadcast()":"76eadd36","stopMappingRecording()":"0d4aae9b","stopRecord()":"996be76d","toBase64(bytes)":"a5cbfe65","toBase64(string)":"3f8be2c8","toBase64URL(bytes)":"c8bd0e4a","toBase64URL(string)":"ae3165b3","toLowercase(string)":"50bb0884","toString(address)":"56ca623e","toString(bool)":"71dce7da","toString(bytes)":"71aad10d","toString(bytes32)":"b11a19e8","toString(int256)":"a322c40e","toString(uint256)":"6900a3ae","toUppercase(string)":"074ae3d7","trim(string)":"b2dad155","tryFfi(string[])":"f45c1ce7","unixTime()":"625387dc","writeFile(string,string)":"897e0a97","writeFileBinary(string,bytes)":"1f21fc80","writeJson(string,string)":"e23cd19f","writeJson(string,string,string)":"35d6ad46","writeLine(string,string)":"619d897f","writeToml(string,string)":"c0865ba7","writeToml(string,string,string)":"51ac6a33"}}}},"lib/forge-std/src/console.sol":{"console":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console.sol\":\"console\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220afedce75f60eaf3f48af1c5b9c3dc2fffc9db72596c57e121cc269b18ae49f8664736f6c634300081e0033","sourceMap":"66:69203:18:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220afedce75f60eaf3f48af1c5b9c3dc2fffc9db72596c57e121cc269b18ae49f8664736f6c634300081e0033","sourceMap":"66:69203:18:-:0;;","linkReferences":{}}}}},"lib/forge-std/src/interfaces/IMulticall3.sol":{"IMulticall3":{"abi":[{"type":"function","name":"aggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"returnData","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"payable"},{"type":"function","name":"aggregate3","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"blockAndAggregate","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"getBasefee","inputs":[],"outputs":[{"name":"basefee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockHash","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getChainId","inputs":[],"outputs":[{"name":"chainid","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockCoinbase","inputs":[],"outputs":[{"name":"coinbase","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockDifficulty","inputs":[],"outputs":[{"name":"difficulty","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockGasLimit","inputs":[],"outputs":[{"name":"gaslimit","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCurrentBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getEthBalance","inputs":[{"name":"addr","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastBlockHash","inputs":[],"outputs":[{"name":"blockHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"tryAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"tryBlockAndAggregate","inputs":[{"name":"requireSuccess","type":"bool","internalType":"bool"},{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":\"IMulticall3\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"aggregate((address,bytes)[])":"252dba42","aggregate3((address,bool,bytes)[])":"82ad56cb","aggregate3Value((address,bool,uint256,bytes)[])":"174dea71","blockAndAggregate((address,bytes)[])":"c3077fa9","getBasefee()":"3e64a696","getBlockHash(uint256)":"ee82ac5e","getBlockNumber()":"42cbb15c","getChainId()":"3408e470","getCurrentBlockCoinbase()":"a8b0574e","getCurrentBlockDifficulty()":"72425d9d","getCurrentBlockGasLimit()":"86d516e8","getCurrentBlockTimestamp()":"0f28c97d","getEthBalance(address)":"4d2301cc","getLastBlockHash()":"27e86d6e","tryAggregate(bool,(address,bytes)[])":"bce38bd7","tryBlockAndAggregate(bool,(address,bytes)[])":"399542e9"}}}},"lib/forge-std/src/safeconsole.sol":{"safeconsole":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"philogy \",\"details\":\"Code generated automatically by script.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/safeconsole.sol\":\"safeconsole\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122099310f01c3cea7b47527f681ea470bab382918dc783dd9a17c044b4999e3a1ab64736f6c634300081e0033","sourceMap":"163:427371:21:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea264697066735822122099310f01c3cea7b47527f681ea470bab382918dc783dd9a17c044b4999e3a1ab64736f6c634300081e0033","sourceMap":"163:427371:21:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"IERC1363":{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"approveAndCall","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"approveAndCall","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferAndCall","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferAndCall","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFromAndCall","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFromAndCall","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"transferAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"transferFromAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFromAndCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-1363 standard as defined in the https://eips.ethereum.org/EIPS/eip-1363[ERC-1363]. Defines an extension interface for ERC-20 tokens that supports executing code on a recipient contract after `transfer` or `transferFrom`, or code on a spender contract after `approve`, in a single transaction.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"approveAndCall(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens and then calls {IERC1363Spender-onApprovalReceived} on `spender`.\",\"params\":{\"spender\":\"The address which will spend the funds.\",\"value\":\"The amount of tokens to be spent.\"},\"returns\":{\"_0\":\"A boolean value indicating whether the operation succeeded unless throwing.\"}},\"approveAndCall(address,uint256,bytes)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens and then calls {IERC1363Spender-onApprovalReceived} on `spender`.\",\"params\":{\"data\":\"Additional data with no specified format, sent in call to `spender`.\",\"spender\":\"The address which will spend the funds.\",\"value\":\"The amount of tokens to be spent.\"},\"returns\":{\"_0\":\"A boolean value indicating whether the operation succeeded unless throwing.\"}},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferAndCall(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to` and then calls {IERC1363Receiver-onTransferReceived} on `to`.\",\"params\":{\"to\":\"The address which you want to transfer to.\",\"value\":\"The amount of tokens to be transferred.\"},\"returns\":{\"_0\":\"A boolean value indicating whether the operation succeeded unless throwing.\"}},\"transferAndCall(address,uint256,bytes)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to` and then calls {IERC1363Receiver-onTransferReceived} on `to`.\",\"params\":{\"data\":\"Additional data with no specified format, sent in call to `to`.\",\"to\":\"The address which you want to transfer to.\",\"value\":\"The amount of tokens to be transferred.\"},\"returns\":{\"_0\":\"A boolean value indicating whether the operation succeeded unless throwing.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFromAndCall(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism and then calls {IERC1363Receiver-onTransferReceived} on `to`.\",\"params\":{\"from\":\"The address which you want to send tokens from.\",\"to\":\"The address which you want to transfer to.\",\"value\":\"The amount of tokens to be transferred.\"},\"returns\":{\"_0\":\"A boolean value indicating whether the operation succeeded unless throwing.\"}},\"transferFromAndCall(address,address,uint256,bytes)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism and then calls {IERC1363Receiver-onTransferReceived} on `to`.\",\"params\":{\"data\":\"Additional data with no specified format, sent in call to `to`.\",\"from\":\"The address which you want to send tokens from.\",\"to\":\"The address which you want to transfer to.\",\"value\":\"The amount of tokens to be transferred.\"},\"returns\":{\"_0\":\"A boolean value indicating whether the operation succeeded unless throwing.\"}}},\"title\":\"IERC1363\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":\"IERC1363\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","approveAndCall(address,uint256)":"3177029f","approveAndCall(address,uint256,bytes)":"cae9ca51","balanceOf(address)":"70a08231","supportsInterface(bytes4)":"01ffc9a7","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferAndCall(address,uint256)":"1296ee62","transferAndCall(address,uint256,bytes)":"4000aea0","transferFrom(address,address,uint256)":"23b872dd","transferFromAndCall(address,address,uint256)":"d8fbe994","transferFromAndCall(address,address,uint256,bytes)":"c1d34b89"}}}},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"IERC5267":{"abi":[{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"}},\"kind\":\"dev\",\"methods\":{\"eip712Domain()\":{\"details\":\"returns the fields and values that describe the domain separator used by this contract for EIP-712 signature.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":\"IERC5267\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xfb223a85dd0b2175cfbbaa325a744e2cd74ecd17c3df2b77b0722f991d2725ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84bf1dea0589ec49c8d15d559cc6d86ee493048a89b2d4adb60fbe705a3d89ae\",\"dweb:/ipfs/Qmd56n556d529wk2pRMhYhm5nhMDhviwereodDikjs68w1\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"eip712Domain()":"84b0196e"}}}},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"IERC1155Errors":{"abi":[{"type":"error","name":"ERC1155InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"},{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC1155InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155InvalidArrayLength","inputs":[{"name":"idsLength","type":"uint256","internalType":"uint256"},{"name":"valuesLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC1155InvalidOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155MissingApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC1155InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"valuesLength\",\"type\":\"uint256\"}],\"name\":\"ERC1155InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC1155MissingApprovalForAll\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-1155 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens.\",\"errors\":{\"ERC1155InsufficientBalance(address,uint256,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC1155InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC1155InvalidArrayLength(uint256,uint256)\":[{\"details\":\"Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation. Used in batch transfers.\",\"params\":{\"idsLength\":\"Length of the array of token identifiers\",\"valuesLength\":\"Length of the array of token amounts\"}}],\"ERC1155InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC1155InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC1155InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC1155MissingApprovalForAll(address,address)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"owner\":\"Address of the current owner of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":\"IERC1155Errors\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"IERC20Errors":{"abi":[{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-20 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":\"IERC20Errors\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}},"IERC721Errors":{"abi":[{"type":"error","name":"ERC721IncorrectOwner","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InsufficientApproval","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC721InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721NonexistentToken","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-721 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.\",\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-721. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":\"IERC721Errors\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol":{"ERC20Mock":{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":\"ERC20Mock\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60806040523461031357604080519081016001600160401b03811182821017610226576040908152600982526845524332304d6f636b60b81b602083015280519081016001600160401b038111828210176102265760405260048152634532304d60e01b602082015281516001600160401b03811161022657600354600181811c91168015610309575b602082101461020857601f81116102a6575b50602092601f821160011461024557928192935f9261023a575b50508160011b915f199060031b1c1916176003555b80516001600160401b03811161022657600454600181811c9116801561021c575b602082101461020857601f81116101a5575b50602091601f8211600114610145579181925f9261013a575b50508160011b915f199060031b1c1916176004555b604051610b4890816103188239f35b015190505f80610116565b601f1982169260045f52805f20915f5b85811061018d57508360019510610175575b505050811b0160045561012b565b01515f1960f88460031b161c191690555f8080610167565b91926020600181928685015181550194019201610155565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c810191602084106101fe575b601f0160051c01905b8181106101f357506100fd565b5f81556001016101e6565b90915081906101dd565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100eb565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100b5565b601f1982169360035f52805f20915f5b86811061028e5750836001959610610276575b505050811b016003556100ca565b01515f1960f88460031b161c191690555f8080610268565b91926020600181928685015181550194019201610255565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c810191602084106102ff575b601f0160051c01905b8181106102f4575061009b565b5f81556001016102e7565b90915081906102de565b90607f1690610089565b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461088957508063095ea7b3146107dc57806318160ddd146107a157806323b872dd1461060d578063313ce567146105d457806340c10f19146104d557806370a082311461047357806395d89b41146102805780639dc29fac14610174578063a9059cbb146101255763dd62ed3e14610095575f80fd5b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576100cc610a02565b73ffffffffffffffffffffffffffffffffffffffff6100e9610a25565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215761016961015f610a02565b6024359033610a48565b602060405160018152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576101ab610a02565b73ffffffffffffffffffffffffffffffffffffffff6024359116801561025457805f525f60205260405f2054828110610222576020835f947fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef938587528684520360408620558060025403600255604051908152a3005b907fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576040515f600454908160011c60018316928315610469575b60208210841461043c5781855284939081156103dc5750600114610362575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761033557610331829182604052826109ba565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106103c057505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102e5565b602091935080600191548385880101520191019091839261038c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090506102e5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f16906102c6565b346101215760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215773ffffffffffffffffffffffffffffffffffffffff6104bf610a02565b165f525f602052602060405f2054604051908152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215761050c610a02565b73ffffffffffffffffffffffffffffffffffffffff1660243581156105a8576002549080820180921161057b5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157602060405160128152f35b346101215760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157610644610a02565b61064c610a25565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106106c8575b506101699350610a48565b83811061076d57841561074157331561071557610169945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f2091039055846106bd565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576020600254604051908152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157610813610a02565b6024359033156107415773ffffffffffffffffffffffffffffffffffffffff1690811561071557335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121575f600354908160011c600183169283156109b0575b60208210841461043c5781855284939081156103dc5750600114610936575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761033557610331829182604052826109ba565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061099457505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102e5565b6020919350806001915483858801015201910190918392610960565b90607f16906108cc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012157565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012157565b73ffffffffffffffffffffffffffffffffffffffff169081156102545773ffffffffffffffffffffffffffffffffffffffff169182156105a857815f525f60205260405f2054818110610ae057817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffdfea264697066735822122016731caeee7fdd0b7f2f8e0381983d3089fc82963bcb4d2a37da85a078dfcb3064736f6c634300081e0033","sourceMap":"110:281:27:-:0;;;;;;;;;;;;-1:-1:-1;;;;;110:281:27;;;;;;;;;;;;;;;-1:-1:-1;;;110:281:27;;;;;;;;;-1:-1:-1;;;;;110:281:27;;;;;;;;;;;;;-1:-1:-1;;;110:281:27;;;;;;-1:-1:-1;;;;;110:281:27;;;;1648:13:28;110:281:27;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;;;1648:13:28;110:281:27;;;;;1648:13:28;110:281:27;;;;-1:-1:-1;;;;;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;;;1648:13:28;110:281:27;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;-1:-1:-1;110:281:27;;-1:-1:-1;110:281:27;;-1:-1:-1;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:28;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;-1:-1:-1;110:281:27;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;-1:-1:-1;110:281:27;;;;;-1:-1:-1;110:281:27;;;;;;;;;;1648:13:28;-1:-1:-1;110:281:27;;-1:-1:-1;110:281:27;;-1:-1:-1;110:281:27;;;;;;;;;;;;;;;;;;;;;1648:13:28;110:281:27;;;;;;;;;;1648:13:28;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:28;-1:-1:-1;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461088957508063095ea7b3146107dc57806318160ddd146107a157806323b872dd1461060d578063313ce567146105d457806340c10f19146104d557806370a082311461047357806395d89b41146102805780639dc29fac14610174578063a9059cbb146101255763dd62ed3e14610095575f80fd5b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576100cc610a02565b73ffffffffffffffffffffffffffffffffffffffff6100e9610a25565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215761016961015f610a02565b6024359033610a48565b602060405160018152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576101ab610a02565b73ffffffffffffffffffffffffffffffffffffffff6024359116801561025457805f525f60205260405f2054828110610222576020835f947fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef938587528684520360408620558060025403600255604051908152a3005b907fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576040515f600454908160011c60018316928315610469575b60208210841461043c5781855284939081156103dc5750600114610362575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761033557610331829182604052826109ba565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106103c057505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102e5565b602091935080600191548385880101520191019091839261038c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090506102e5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f16906102c6565b346101215760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215773ffffffffffffffffffffffffffffffffffffffff6104bf610a02565b165f525f602052602060405f2054604051908152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215761050c610a02565b73ffffffffffffffffffffffffffffffffffffffff1660243581156105a8576002549080820180921161057b5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157602060405160128152f35b346101215760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157610644610a02565b61064c610a25565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106106c8575b506101699350610a48565b83811061076d57841561074157331561071557610169945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f2091039055846106bd565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576020600254604051908152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157610813610a02565b6024359033156107415773ffffffffffffffffffffffffffffffffffffffff1690811561071557335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121575f600354908160011c600183169283156109b0575b60208210841461043c5781855284939081156103dc5750600114610936575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761033557610331829182604052826109ba565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061099457505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102e5565b6020919350806001915483858801015201910190918392610960565b90607f16906108cc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012157565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012157565b73ffffffffffffffffffffffffffffffffffffffff169081156102545773ffffffffffffffffffffffffffffffffffffffff169182156105a857815f525f60205260405f2054818110610ae057817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffdfea264697066735822122016731caeee7fdd0b7f2f8e0381983d3089fc82963bcb4d2a37da85a078dfcb3064736f6c634300081e0033","sourceMap":"110:281:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;3561:11:28;110:281:27;;;;;;3561:27:28;110:281:27;-1:-1:-1;110:281:27;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;;;;;;;;;;;;;3388:5:28;110:281:27;;:::i;:::-;;;735:10:35;;3388:5:28;:::i;:::-;110:281:27;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;7958:21:28;;7954:89;;110:281:27;;;;;;;;;;6244:19:28;;;6240:115;;110:281:27;;;;6987:25:28;110:281:27;;;;;;;;;;;;;6714:21:28;110:281:27;;6714:21:28;110:281:27;;;;;;6987:25:28;110:281:27;6240:115:28;6290:50;;110:281:27;6290:50:28;110:281:27;;;;;;;;6290:50:28;7954:89;8002:30;110:281:27;8002:30:28;110:281:27;;;;;8002:30:28;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;-1:-1:-1;;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;-1:-1:-1;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;7432:21:28;;7428:91;;6137:21;110:281:27;;;;;;;;;;;6987:25:28;110:281:27;;;6137:21:28;110:281:27;;;;;;;;;;;;;;;;;;;;;6987:25:28;110:281:27;;;;;;;;;;;7428:91:28;7476:32;110:281:27;7476:32:28;110:281:27;;;;;7476:32:28;110:281:27;;;;;;;;;;;;;;2761:2:28;110:281:27;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;735:10:35;110:281:27;-1:-1:-1;110:281:27;;;;-1:-1:-1;110:281:27;;10505:17:28;10486:36;;10482:309;;110:281:27;4890:5:28;;;;;:::i;10482:309::-;10542:24;;;10538:130;;9719:19;;9715:89;;735:10:35;9817:21:28;9813:90;;4890:5;110:281:27;;;;;;;;;;735:10:35;110:281:27;-1:-1:-1;110:281:27;;;;;-1:-1:-1;110:281:27;;;;;10482:309:28;;;9813:90;9861:31;110:281:27;9861:31:28;110:281:27;;;;;9861:31:28;9715:89;9761:32;110:281:27;9761:32:28;110:281:27;;;;;9761:32:28;10538:130;10593:60;;;110:281:27;10593:60:28;735:10:35;110:281:27;;;;;;;;10593:60:28;110:281:27;;;;;;;;;;;;2881:12:28;110:281:27;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;735:10:35;;9719:19:28;9715:89;;110:281:27;;9817:21:28;;;9813:90;;735:10:35;110:281:27;;;;;;;;;-1:-1:-1;110:281:27;;;;;-1:-1:-1;110:281:27;;;;;;;9991:31:28;110:281:27;735:10:35;9991:31:28;;110:281:27;;;;;;;;;;;;;;;;;;;1837:5:28;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1837:5:28;110:281:27;;;;;-1:-1:-1;110:281:27;;;;;;;-1:-1:-1;;110:281:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;5297:300:28:-;110:281:27;;5380:18:28;;;5376:86;;110:281:27;;5475:16:28;;;5471:86;;110:281:27;5396:1:28;110:281:27;5396:1:28;110:281:27;;;5396:1:28;110:281:27;;6244:19:28;;;6240:115;;110:281:27;6987:25:28;110:281:27;;;;5396:1:28;110:281:27;5396:1:28;110:281:27;;;;5396:1:28;110:281:27;;;5396:1:28;110:281:27;5396:1:28;110:281:27;;;5396:1:28;110:281:27;;;;;;;;;;;;6987:25:28;5297:300::o;6240:115::-;6290:50;;5396:1;6290:50;;110:281:27;;;;;;5396:1:28;6290:50","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","mint(address,uint256)":"40c10f19","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}}},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"ERC20":{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC-20 applications.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. Both values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}}},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"IERC20":{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-20 standard as defined in the ERC.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}}},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol":{"ERC20Permit":{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC2612ExpiredSignature","inputs":[{"name":"deadline","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC2612InvalidSigner","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"InvalidAccountNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"currentNonce","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"ERC2612ExpiredSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC2612InvalidSigner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[ERC-2612]. Adds the {permit} method, which can be used to change an account's ERC-20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.\",\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC2612ExpiredSignature(uint256)\":[{\"details\":\"Permit deadline has expired.\"}],\"ERC2612InvalidSigner(address,address)\":[{\"details\":\"Mismatched signature.\"}],\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"constructor\":{\"details\":\"Initializes the {EIP712} domain separator using the `name` parameter, and setting `version` to `\\\"1\\\"`. It's a good idea to use the same `name` that is defined as the ERC-20 token name.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"eip712Domain()\":{\"details\":\"returns the fields and values that describe the domain separator used by this contract for EIP-712 signature.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also applies here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol\":\"ERC20Permit\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xfb223a85dd0b2175cfbbaa325a744e2cd74ecd17c3df2b77b0722f991d2725ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84bf1dea0589ec49c8d15d559cc6d86ee493048a89b2d4adb60fbe705a3d89ae\",\"dweb:/ipfs/Qmd56n556d529wk2pRMhYhm5nhMDhviwereodDikjs68w1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0xa9380c9153e675a27f8c9c91e2257adc118c949df4c79d5b3f36c3b73c31b62d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07862a858180dabc42732598b9ae2e53b7a4081c9b71c7b003d157e666536171\",\"dweb:/ipfs/QmYuke2jfrFKMvYg4CAbaPwF7NBvTPpMUXzN9PQS31xKCf\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x69f55097613b5f799fc433819715bdf3c5cbf785c68552512f0a0f5382fd7d04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c87c85b779707e85e58e79c3ae3394f3a024fd4d831b94ce4eb411ee20de48b6\",\"dweb:/ipfs/QmdDsm82edRT28MfhgCEAiXH5WTdtrH5MAppRup5RmbzH5\"]},\"lib/openzeppelin-contracts/contracts/utils/Bytes.sol\":{\"keccak256\":\"0x18fe825fe4cfec749b67a59d770cf56788b9fdced46cac555b2a95ea99e3ec10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cab7cd7485592067b85a31b7d282cb6d336262d4432ee405a1d42a8ad73e518a\",\"dweb:/ipfs/QmfPtzkkyjQeEQYjmZPG8R6XiJTMmFFD9phsF1vSZeydPy\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Nonces.sol\":{\"keccak256\":\"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e\",\"dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x10c3692496072028134a8869f724ea848574bbb79f1338426e8f6a91f8dc11db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8238d3f50e825c6b56929987da0d56003e4532c518826138c13db2223da077aa\",\"dweb:/ipfs/QmVFK7rdDHDCqNJDZ9KnMo6Pqrc8kB1SJz9z1Y1X9CoUdf\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x88b4791ddd6fc3c4fa6a2077c642514165eca0317ad3fd6b155b87d1972e1510\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24d808d462dea4ac390884ace5f0c4602358fbab52851198eaf9122f7f457471\",\"dweb:/ipfs/QmQ2vcXtgnBd56LArzgRaRXxj1LTDPNJyHZTAvrAiCit1P\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x4f7de0846587a28ea3623077dd809d53f08ad6176738ce1cedf272cb7bc2a107\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a189921ec61afa7c7348a1699b2550dcba5fb449ae8966e91ef3acd2dc60a4a\",\"dweb:/ipfs/Qma7cmxAGYyMPiEtH2Bv5QNHFmob88ZE6qYfZKFzuW8A4U\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0xea0bf00d811fe84ecfac7ae8e51810d86db9370a166df05e3ad176a6ec3a161d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89bfa38430954e71af7a94bec6084aa5e341e4aaf349d62f3a4ee017637d7fd\",\"dweb:/ipfs/QmREWDFPc9fChw9TA4ACEZ2b6HXXwZ5auiNPzbwkWV9CbE\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0xbc74ecc030965d1fe36e7dc687b61a9ec017c49bfdf73d5e6de993580818da9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ece049103821500c410ef1a7b845180eeefdbbf1383c4add10901e6dd1f279e\",\"dweb:/ipfs/QmUhvPr3dEq45sHxwV6PsudXaYwZvz34jq3gu9QRBJahD6\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xfa5997d334f4daa83930d1d8944cc30f7d971ec40871511b6f8958ac9a59b911\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f34169ec4ff5bcea97b2a8dfcb03fafcf2d53b44b84d09bd87ece3c819380bb\",\"dweb:/ipfs/QmV8NLr6DhskCMMYuLfvJzgAJX9DLXY69gdoGTXM18UguB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","eip712Domain()":"84b0196e","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}}},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"IERC20Metadata":{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC-20 standard.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}}},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"IERC20Permit":{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[ERC-2612]. Adds the {permit} method, which can be used to change an account's ERC-20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all. ==== Security Considerations There are two important considerations concerning the use of `permit`. The first is that a valid permit signature expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be considered as an intention to spend the allowance in any specific way. The second is that because permits have built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be generally recommended is: ```solidity function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public { try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {} doThing(..., value); } function doThing(..., uint256 value) public { token.safeTransferFrom(msg.sender, address(this), value); ... } ``` Observe that: 1) `msg.sender` is used as the owner, leaving no ambiguity as to the signer intent, and 2) the use of `try/catch` allows the permit to fail and makes the code tolerant to frontrunning. (See also {SafeERC20-safeTransferFrom}). Additionally, note that smart contract wallets (such as Argent or Safe) are not able to produce permit signatures, so contracts should have entry points that don't rely on permit.\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also applies here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x69f55097613b5f799fc433819715bdf3c5cbf785c68552512f0a0f5382fd7d04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c87c85b779707e85e58e79c3ae3394f3a024fd4d831b94ce4eb411ee20de48b6\",\"dweb:/ipfs/QmdDsm82edRT28MfhgCEAiXH5WTdtrH5MAppRup5RmbzH5\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf"}}}},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"SafeERC20":{"abi":[{"type":"error","name":"SafeERC20FailedDecreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"currentAllowance","type":"uint256","internalType":"uint256"},{"name":"requestedDecrease","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestedDecrease\",\"type\":\"uint256\"}],\"name\":\"SafeERC20FailedDecreaseAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Wrappers around ERC-20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"errors\":{\"SafeERC20FailedDecreaseAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failed `decreaseAllowance` request.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"kind\":\"dev\",\"methods\":{},\"title\":\"SafeERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220252707835958c81c42b24fc8983d8514717e0a2be85ba31d07759389a96dafa564736f6c634300081e0033","sourceMap":"698:12615:33:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220252707835958c81c42b24fc8983d8514717e0a2be85ba31d07759389a96dafa564736f6c634300081e0033","sourceMap":"698:12615:33:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/Bytes.sol":{"Bytes":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Bytes operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Bytes.sol\":\"Bytes\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Bytes.sol\":{\"keccak256\":\"0x18fe825fe4cfec749b67a59d770cf56788b9fdced46cac555b2a95ea99e3ec10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cab7cd7485592067b85a31b7d282cb6d336262d4432ee405a1d42a8ad73e518a\",\"dweb:/ipfs/QmfPtzkkyjQeEQYjmZPG8R6XiJTMmFFD9phsF1vSZeydPy\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xfa5997d334f4daa83930d1d8944cc30f7d971ec40871511b6f8958ac9a59b911\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f34169ec4ff5bcea97b2a8dfcb03fafcf2d53b44b84d09bd87ece3c819380bb\",\"dweb:/ipfs/QmV8NLr6DhskCMMYuLfvJzgAJX9DLXY69gdoGTXM18UguB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122085133bc8031ba1c7641289460c017341dd5d7d6c2db35a5dc0d7c7a335b885ab64736f6c634300081e0033","sourceMap":"198:11145:34:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea264697066735822122085133bc8031ba1c7641289460c017341dd5d7d6c2db35a5dc0d7c7a335b885ab64736f6c634300081e0033","sourceMap":"198:11145:34:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"Context":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/Nonces.sol":{"Nonces":{"abi":[{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"error","name":"InvalidAccountNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"currentNonce","type":"uint256","internalType":"uint256"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Provides tracking nonces for addresses. Nonces will only increment.\",\"errors\":{\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}]},\"kind\":\"dev\",\"methods\":{\"nonces(address)\":{\"details\":\"Returns the next unused nonce for an address.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Nonces.sol\":\"Nonces\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Nonces.sol\":{\"keccak256\":\"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e\",\"dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"nonces(address)":"7ecebe00"}}}},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"Panic":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Helper library for emitting standardized panic codes. ```solidity contract Example { using Panic for uint256; // Use any of the declared internal constants function foo() { Panic.GENERIC.panic(); } // Alternatively function foo() { Panic.panic(Panic.GENERIC); } } ``` Follows the list from https://github.com/ethereum/solidity/blob/v0.8.24/libsolutil/ErrorCodes.h[libsolutil]. _Available since v5.1._\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"ARRAY_OUT_OF_BOUNDS\":{\"details\":\"array out of bounds access\"},\"ASSERT\":{\"details\":\"used by the assert() builtin\"},\"DIVISION_BY_ZERO\":{\"details\":\"division or modulo by zero\"},\"EMPTY_ARRAY_POP\":{\"details\":\"empty array pop\"},\"ENUM_CONVERSION_ERROR\":{\"details\":\"enum conversion error\"},\"GENERIC\":{\"details\":\"generic / unspecified error\"},\"INVALID_INTERNAL_FUNCTION\":{\"details\":\"calling invalid internal function\"},\"RESOURCE_ERROR\":{\"details\":\"resource error (too large allocation or too large array)\"},\"STORAGE_ENCODING_ERROR\":{\"details\":\"invalid encoding in storage\"},\"UNDER_OVERFLOW\":{\"details\":\"arithmetic underflow or overflow\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":\"Panic\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220c32aa02ccb8d43209bb9193bba5faf954fa82c378e9dad86d994a743ce95281664736f6c634300081e0033","sourceMap":"657:1315:37:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220c32aa02ccb8d43209bb9193bba5faf954fa82c378e9dad86d994a743ce95281664736f6c634300081e0033","sourceMap":"657:1315:37:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol":{"ReentrancyGuard":{"abi":[{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"}],\"devdoc\":{\"custom:stateless\":\"\",\"details\":\"Contract module that helps prevent reentrant calls to a function. Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier available, which can be applied to functions to make sure there are no nested (reentrant) calls to them. Note that because there is a single `nonReentrant` guard, functions marked as `nonReentrant` may not call one another. This can be worked around by making those functions `private`, and then adding `external` `nonReentrant` entry points to them. TIP: If EIP-1153 (transient storage) is available on the chain you're deploying at, consider using {ReentrancyGuardTransient} instead. TIP: If you would like to learn more about reentrancy and alternative ways to protect against it, check out our blog post https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. IMPORTANT: Deprecated. This storage-based reentrancy guard will be removed and replaced by the {ReentrancyGuardTransient} variant in v6.0.\",\"errors\":{\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol\":\"ReentrancyGuard\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x6f9ed073e3dab12233a79cd85153f72c9e0f99c1f5512f6d5b1ef09fb46abbb0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://093d2a804b792a0000883c2215585963ed98ec4341b45bc4224844623387d161\",\"dweb:/ipfs/QmR5shjVosAoxdmY3EfkUWgFNV4CVUcbRNS7tkvbipssPX\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"ShortStrings":{"abi":[{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"This library provides functions to convert short memory strings into a `ShortString` type that can be used as an immutable variable. Strings of arbitrary length can be optimized using this library if they are short enough (up to 31 bytes) by packing them with their length (1 byte) in a single EVM word (32 bytes). Additionally, a fallback mechanism can be used for every other case. Usage example: ```solidity contract Named { using ShortStrings for *; ShortString private immutable _name; string private _nameFallback; constructor(string memory contractName) { _name = contractName.toShortStringWithFallback(_nameFallback); } function name() external view returns (string memory) { return _name.toStringWithFallback(_nameFallback); } } ```\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":\"ShortStrings\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x10c3692496072028134a8869f724ea848574bbb79f1338426e8f6a91f8dc11db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8238d3f50e825c6b56929987da0d56003e4532c518826138c13db2223da077aa\",\"dweb:/ipfs/QmVFK7rdDHDCqNJDZ9KnMo6Pqrc8kB1SJz9z1Y1X9CoUdf\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122096514a5f92c2b521944cf59d92f06368e3998acff80770934e70154145a4cc3964736f6c634300081e0033","sourceMap":"1255:3054:39:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea264697066735822122096514a5f92c2b521944cf59d92f06368e3998acff80770934e70154145a4cc3964736f6c634300081e0033","sourceMap":"1255:3054:39:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"StorageSlot":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for reading and writing primitive types to specific storage slots. Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts. This library helps with reading and writing to such slots without the need for inline assembly. The functions in this library return Slot structs that contain a `value` member that can be used to read or write. Example usage to set ERC-1967 implementation slot: ```solidity contract ERC1967 { // Define the slot. Alternatively, use the SlotDerivation library to derive the slot. bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; function _getImplementation() internal view returns (address) { return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; } function _setImplementation(address newImplementation) internal { require(newImplementation.code.length > 0); StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; } } ``` TIP: Consider using this library along with {SlotDerivation}.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":\"StorageSlot\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122086d8899282cad9f6b35d227f368c293a47af1684226440f00143ba33645c2fb564736f6c634300081e0033","sourceMap":"1407:2774:40:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea264697066735822122086d8899282cad9f6b35d227f368c293a47af1684226440f00143ba33645c2fb564736f6c634300081e0033","sourceMap":"1407:2774:40:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"Strings":{"abi":[{"type":"error","name":"StringsInsufficientHexLength","inputs":[{"name":"value","type":"uint256","internalType":"uint256"},{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"StringsInvalidAddressFormat","inputs":[]},{"type":"error","name":"StringsInvalidChar","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"StringsInsufficientHexLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StringsInvalidAddressFormat\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StringsInvalidChar\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"String operations.\",\"errors\":{\"StringsInsufficientHexLength(uint256,uint256)\":[{\"details\":\"The `value` string doesn't fit in the specified `length`.\"}],\"StringsInvalidAddressFormat()\":[{\"details\":\"The string being parsed is not a properly formatted address.\"}],\"StringsInvalidChar()\":[{\"details\":\"The string being parsed contains characters that are not in scope of the given base.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Bytes.sol\":{\"keccak256\":\"0x18fe825fe4cfec749b67a59d770cf56788b9fdced46cac555b2a95ea99e3ec10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cab7cd7485592067b85a31b7d282cb6d336262d4432ee405a1d42a8ad73e518a\",\"dweb:/ipfs/QmfPtzkkyjQeEQYjmZPG8R6XiJTMmFFD9phsF1vSZeydPy\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x88b4791ddd6fc3c4fa6a2077c642514165eca0317ad3fd6b155b87d1972e1510\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24d808d462dea4ac390884ace5f0c4602358fbab52851198eaf9122f7f457471\",\"dweb:/ipfs/QmQ2vcXtgnBd56LArzgRaRXxj1LTDPNJyHZTAvrAiCit1P\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xfa5997d334f4daa83930d1d8944cc30f7d971ec40871511b6f8958ac9a59b911\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f34169ec4ff5bcea97b2a8dfcb03fafcf2d53b44b84d09bd87ece3c819380bb\",\"dweb:/ipfs/QmV8NLr6DhskCMMYuLfvJzgAJX9DLXY69gdoGTXM18UguB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212207eca59e285bbb38d8f107eb14913ac6ab4924c0659b21a2f97c4977995c0273a64736f6c634300081e0033","sourceMap":"332:19550:41:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea26469706673582212207eca59e285bbb38d8f107eb14913ac6ab4924c0659b21a2f97c4977995c0273a64736f6c634300081e0033","sourceMap":"332:19550:41:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"ECDSA":{"abi":[{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Elliptic Curve Digital Signature Algorithm (ECDSA) operations. These functions can be used to verify that a message was signed by the holder of the private keys of a given address.\",\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":\"ECDSA\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x4f7de0846587a28ea3623077dd809d53f08ad6176738ce1cedf272cb7bc2a107\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a189921ec61afa7c7348a1699b2550dcba5fb449ae8966e91ef3acd2dc60a4a\",\"dweb:/ipfs/Qma7cmxAGYyMPiEtH2Bv5QNHFmob88ZE6qYfZKFzuW8A4U\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122018724ef85454655cc17bf21bd5667414c0ef1fd2e691cae86221b602ed359a1e64736f6c634300081e0033","sourceMap":"344:11564:42:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea264697066735822122018724ef85454655cc17bf21bd5667414c0ef1fd2e691cae86221b602ed359a1e64736f6c634300081e0033","sourceMap":"344:11564:42:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"EIP712":{"abi":[{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\",\"details\":\"https://eips.ethereum.org/EIPS/eip-712[EIP-712] is a standard for hashing and signing of typed structured data. The encoding scheme specified in the EIP requires a domain separator and a hash of the typed structured data, whose encoding is very generic and therefore its implementation in Solidity is not feasible, thus this contract does not implement the encoding itself. Protocols need to implement the type-specific encoding they need in order to produce the hash of their typed data using a combination of `abi.encode` and `keccak256`. This contract implements the EIP-712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA ({_hashTypedDataV4}). The implementation of the domain separator was designed to be as efficient as possible while still properly updating the chain id to protect against replay attacks on an eventual fork of the chain. NOTE: This contract implements the version of the encoding known as \\\"v4\\\", as implemented by the JSON RPC method https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask]. NOTE: In the upgradeable version of this contract, the cached values will correspond to the address, and the domain separator of the implementation contract. This will cause the {_domainSeparatorV4} function to always rebuild the separator from the immutable values, which is cheaper than accessing a cached version in cold storage.\",\"events\":{\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the domain separator and parameter caches. The meaning of `name` and `version` is specified in https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator[EIP-712]: - `name`: the user readable name of the signing domain, i.e. the name of the DApp or the protocol. - `version`: the current major version of the signing domain. NOTE: These parameters cannot be changed except through a xref:learn::upgrading-smart-contracts.adoc[smart contract upgrade].\"},\"eip712Domain()\":{\"details\":\"returns the fields and values that describe the domain separator used by this contract for EIP-712 signature.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":\"EIP712\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xfb223a85dd0b2175cfbbaa325a744e2cd74ecd17c3df2b77b0722f991d2725ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84bf1dea0589ec49c8d15d559cc6d86ee493048a89b2d4adb60fbe705a3d89ae\",\"dweb:/ipfs/Qmd56n556d529wk2pRMhYhm5nhMDhviwereodDikjs68w1\"]},\"lib/openzeppelin-contracts/contracts/utils/Bytes.sol\":{\"keccak256\":\"0x18fe825fe4cfec749b67a59d770cf56788b9fdced46cac555b2a95ea99e3ec10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cab7cd7485592067b85a31b7d282cb6d336262d4432ee405a1d42a8ad73e518a\",\"dweb:/ipfs/QmfPtzkkyjQeEQYjmZPG8R6XiJTMmFFD9phsF1vSZeydPy\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x10c3692496072028134a8869f724ea848574bbb79f1338426e8f6a91f8dc11db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8238d3f50e825c6b56929987da0d56003e4532c518826138c13db2223da077aa\",\"dweb:/ipfs/QmVFK7rdDHDCqNJDZ9KnMo6Pqrc8kB1SJz9z1Y1X9CoUdf\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x88b4791ddd6fc3c4fa6a2077c642514165eca0317ad3fd6b155b87d1972e1510\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24d808d462dea4ac390884ace5f0c4602358fbab52851198eaf9122f7f457471\",\"dweb:/ipfs/QmQ2vcXtgnBd56LArzgRaRXxj1LTDPNJyHZTAvrAiCit1P\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0xea0bf00d811fe84ecfac7ae8e51810d86db9370a166df05e3ad176a6ec3a161d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89bfa38430954e71af7a94bec6084aa5e341e4aaf349d62f3a4ee017637d7fd\",\"dweb:/ipfs/QmREWDFPc9fChw9TA4ACEZ2b6HXXwZ5auiNPzbwkWV9CbE\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0xbc74ecc030965d1fe36e7dc687b61a9ec017c49bfdf73d5e6de993580818da9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ece049103821500c410ef1a7b845180eeefdbbf1383c4add10901e6dd1f279e\",\"dweb:/ipfs/QmUhvPr3dEq45sHxwV6PsudXaYwZvz34jq3gu9QRBJahD6\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xfa5997d334f4daa83930d1d8944cc30f7d971ec40871511b6f8958ac9a59b911\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f34169ec4ff5bcea97b2a8dfcb03fafcf2d53b44b84d09bd87ece3c819380bb\",\"dweb:/ipfs/QmV8NLr6DhskCMMYuLfvJzgAJX9DLXY69gdoGTXM18UguB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"eip712Domain()":"84b0196e"}}}},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"MessageHashUtils":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Signature message hash utilities for producing digests to be consumed by {ECDSA} recovery or signing. The library provides methods for generating a hash of a message that conforms to the https://eips.ethereum.org/EIPS/eip-191[ERC-191] and https://eips.ethereum.org/EIPS/eip-712[EIP 712] specifications.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":\"MessageHashUtils\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Bytes.sol\":{\"keccak256\":\"0x18fe825fe4cfec749b67a59d770cf56788b9fdced46cac555b2a95ea99e3ec10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cab7cd7485592067b85a31b7d282cb6d336262d4432ee405a1d42a8ad73e518a\",\"dweb:/ipfs/QmfPtzkkyjQeEQYjmZPG8R6XiJTMmFFD9phsF1vSZeydPy\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x88b4791ddd6fc3c4fa6a2077c642514165eca0317ad3fd6b155b87d1972e1510\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24d808d462dea4ac390884ace5f0c4602358fbab52851198eaf9122f7f457471\",\"dweb:/ipfs/QmQ2vcXtgnBd56LArzgRaRXxj1LTDPNJyHZTAvrAiCit1P\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0xbc74ecc030965d1fe36e7dc687b61a9ec017c49bfdf73d5e6de993580818da9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ece049103821500c410ef1a7b845180eeefdbbf1383c4add10901e6dd1f279e\",\"dweb:/ipfs/QmUhvPr3dEq45sHxwV6PsudXaYwZvz34jq3gu9QRBJahD6\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xfa5997d334f4daa83930d1d8944cc30f7d971ec40871511b6f8958ac9a59b911\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f34169ec4ff5bcea97b2a8dfcb03fafcf2d53b44b84d09bd87ece3c819380bb\",\"dweb:/ipfs/QmV8NLr6DhskCMMYuLfvJzgAJX9DLXY69gdoGTXM18UguB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122010dcd49efad2edd650f2301f26af4b57a2874f88f257555fc0856c0f8da04c3364736f6c634300081e0033","sourceMap":"521:3729:44:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea264697066735822122010dcd49efad2edd650f2301f26af4b57a2874f88f257555fc0856c0f8da04c3364736f6c634300081e0033","sourceMap":"521:3729:44:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"IERC165":{"abi":[{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[ERC]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"}}}},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"Math":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xfa5997d334f4daa83930d1d8944cc30f7d971ec40871511b6f8958ac9a59b911\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f34169ec4ff5bcea97b2a8dfcb03fafcf2d53b44b84d09bd87ece3c819380bb\",\"dweb:/ipfs/QmV8NLr6DhskCMMYuLfvJzgAJX9DLXY69gdoGTXM18UguB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220b803d4098d81a851a67b427044923bc40a1ec3ada9a30cf8b2bb4d7f16c22d7164736f6c634300081e0033","sourceMap":"281:32081:46:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220b803d4098d81a851a67b427044923bc40a1ec3ada9a30cf8b2bb4d7f16c22d7164736f6c634300081e0033","sourceMap":"281:32081:46:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"SafeCast":{"abi":[{"type":"error","name":"SafeCastOverflowedIntDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"int256","internalType":"int256"}]},{"type":"error","name":"SafeCastOverflowedIntToUint","inputs":[{"name":"value","type":"int256","internalType":"int256"}]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeCastOverflowedUintToInt","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"SafeCastOverflowedIntDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"SafeCastOverflowedIntToUint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintToInt\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Wrappers over Solidity's uintXX/intXX/bool casting operators with added overflow checks. Downcasting from uint256/int256 in Solidity does not revert on overflow. This can easily result in undesired exploitation or bugs, since developers usually assume that overflows raise errors. `SafeCast` restores this intuition by reverting the transaction when such an operation overflows. Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.\",\"errors\":{\"SafeCastOverflowedIntDowncast(uint8,int256)\":[{\"details\":\"Value doesn't fit in an int of `bits` size.\"}],\"SafeCastOverflowedIntToUint(int256)\":[{\"details\":\"An int value doesn't fit in an uint of `bits` size.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeCastOverflowedUintToInt(uint256)\":[{\"details\":\"An uint value doesn't fit in an int of `bits` size.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":\"SafeCast\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122089a323921d5e5f32ade79e9dfdff3991b8fe7944e7f8a3552a5345cac903a41f64736f6c634300081e0033","sourceMap":"769:34173:47:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea264697066735822122089a323921d5e5f32ade79e9dfdff3991b8fe7944e7f8a3552a5345cac903a41f64736f6c634300081e0033","sourceMap":"769:34173:47:-:0;;","linkReferences":{}}}}},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"SignedMath":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220e1b7383aa0eec4803b67481bd39b913cb172a05ae0776e4335bc9bfd793eb64d64736f6c634300081e0033","sourceMap":"258:2354:48:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220e1b7383aa0eec4803b67481bd39b913cb172a05ae0776e4335bc9bfd793eb64d64736f6c634300081e0033","sourceMap":"258:2354:48:-:0;;","linkReferences":{}}}}},"lib/tstorish/src/Tstorish.sol":{"Tstorish":{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"__activateTstore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"OnlyDirectCalls","inputs":[]},{"type":"error","name":"TStoreAlreadyActivated","inputs":[]},{"type":"error","name":"TStoreNotSupported","inputs":[]},{"type":"error","name":"TloadTestContractDeploymentFailed","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"OnlyDirectCalls\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TStoreAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TStoreNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TloadTestContractDeploymentFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"__activateTstore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"__activateTstore()\":{\"details\":\"External function to activate TSTORE usage. Does not need to be called if TSTORE is supported from deployment, and only needs to be called once. Reverts if TSTORE has already been activated or if the opcode is not available. Note that this must be called directly from an externally-owned account to avoid potential reentrancy issues.\"},\"constructor\":{\"details\":\"Determine TSTORE availability during deployment. This involves attempting to deploy a contract that utilizes TLOAD as part of the contract construction bytecode, and configuring initial support for using TSTORE in place of SSTORE based on the result.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/tstorish/src/Tstorish.sol\":\"Tstorish\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"610120604052346100fb57696002601e613d5c3d52f35f52600a60165ff06001600160a01b038116156100ec575f80808084600a5a04fa3d156100e7573d6001600160401b0381116100e25760405190601f8101601f19908116603f011682016001600160401b038111838210176100e25760405281525f60203d92013e5b80156100cd57600160c052600360e0526005610100525b60a0526080526040516102369081610114823960805181608b015260a05181605b015260c05181505060e05181505061010051815050f35b600260c052600460e052600661010052610095565b6100ff565b61007e565b632aea588760e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c637423eb3c14610024575f80fd5b346101fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fc573233036101d4577f000000000000000000000000000000000000000000000000000000000000000080156101c9575b6101a1575f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa3d1561019c573d67ffffffffffffffff811161016f57604051907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f8401160116820182811067ffffffffffffffff82111761016f5760405281525f60203d92013e5b15610147575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610116565b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610081565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f80fdfea2646970667358221220cb2e3dae090f367d42bfbcf42462a0a2806af28df08ba53c1167d0874e62f3bb64736f6c634300081e0033","sourceMap":"58:9697:49:-:0;;;;;;8755:335;-1:-1:-1;8755:335:49;;;-1:-1:-1;8755:335:49;-1:-1:-1;;;;;58:9697:49;;3014:31;3010:104;;-1:-1:-1;9726:9:49;;;;8755:335;9726:9;58:9697;9691:55;58:9697;;;;;-1:-1:-1;;;;;58:9697:49;;;;;;;;;;-1:-1:-1;;58:9697:49;;;;;;;;-1:-1:-1;;;;;58:9697:49;;;;;;;;;;;;-1:-1:-1;58:9697:49;;;;;;3237:647;;;;3433:10;3418:25;;3472:10;3457:25;;3513:12;3496:29;;3237:647;3894:44;;4029:38;;58:9697;;;;;;;;4029:38;58:9697;;;;;3894:44;58:9697;;;;;;;;;;;;;;;;;;;;;3237:647;3722:30;3707:45;;3781:29;3766:44;;3841:32;3824:49;;3237:647;;58:9697;;:::i;:::-;;;3010:104;3068:35;;;-1:-1:-1;3068:35:49;;-1:-1:-1;3068:35:49;58:9697;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c637423eb3c14610024575f80fd5b346101fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fc573233036101d4577f000000000000000000000000000000000000000000000000000000000000000080156101c9575b6101a1575f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa3d1561019c573d67ffffffffffffffff811161016f57604051907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f8401160116820182811067ffffffffffffffff82111761016f5760405281525f60203d92013e5b15610147575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610116565b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610081565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f80fdfea2646970667358221220cb2e3dae090f367d42bfbcf42462a0a2806af28df08ba53c1167d0874e62f3bb64736f6c634300081e0033","sourceMap":"58:9697:49:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4635:9;4621:10;:23;4617:78;;4770:21;:39;;;;58:9697;4766:101;;58:9697;4960:18;;;;9738:2;9726:9;58:9697;9691:55;58:9697;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4948:31;4944:89;;58:9697;;;;;5097:4;58:9697;;;;4944:89;5002:20;58:9697;5002:20;58:9697;;5002:20;58:9697;;;;;;;;;;;;;4766:101;4832:24;58:9697;4832:24;58:9697;;4832:24;4770:39;58:9697;;;;;4770:39;;4617:78;4667:17;58:9697;4667:17;58:9697;;4667:17;58:9697;;;","linkReferences":{},"immutableReferences":{"48741":[{"start":139,"length":32}],"48743":[{"start":91,"length":32}]}},"methodIdentifiers":{"__activateTstore()":"7423eb3c"}}}},"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol":{"IDelegatedExtension":{"abi":[{"type":"function","name":"handleSequenceDelegateCall","inputs":[{"name":"_opHash","type":"bytes32","internalType":"bytes32"},{"name":"_startingGas","type":"uint256","internalType":"uint256"},{"name":"_index","type":"uint256","internalType":"uint256"},{"name":"_numCalls","type":"uint256","internalType":"uint256"},{"name":"_space","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_opHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_startingGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_numCalls\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_space\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"handleSequenceDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Agustin Aguilar\",\"kind\":\"dev\",\"methods\":{\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"params\":{\"_data\":\"The data\",\"_index\":\"The index\",\"_numCalls\":\"The number of calls\",\"_opHash\":\"The operation hash\",\"_space\":\"The space\",\"_startingGas\":\"The starting gas\"}}},\"title\":\"IDelegatedExtension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"notice\":\"Handle a sequence delegate call\"}},\"notice\":\"Interface for the delegated extension module\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":\"IDelegatedExtension\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)":"4c4e814c"}}}},"script/TrailsIntentEntrypoint.s.sol":{"Deploy":{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"DeploymentFailed","inputs":[{"name":"reason","type":"string","internalType":"string"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"DeploymentFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"script/TrailsIntentEntrypoint.s.sol\":\"Deploy\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/erc2470-libs/script/SingletonDeployer.s.sol\":{\"keccak256\":\"0x3fdec03d51d77fcda6d6c681e26e7c8d4b85f1457eac91e0ec15411a7ab1e1f6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a690bf4481a37f3f77acdeecac089462db83f0437307610981b24c04b5202f6e\",\"dweb:/ipfs/QmUA9TSjAkqefNBW8BiRqg8XDJiJxJPxSsZHQwJJAbrYQg\"]},\"lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x69f55097613b5f799fc433819715bdf3c5cbf785c68552512f0a0f5382fd7d04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c87c85b779707e85e58e79c3ae3394f3a024fd4d831b94ce4eb411ee20de48b6\",\"dweb:/ipfs/QmdDsm82edRT28MfhgCEAiXH5WTdtrH5MAppRup5RmbzH5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x6f9ed073e3dab12233a79cd85153f72c9e0f99c1f5512f6d5b1ef09fb46abbb0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://093d2a804b792a0000883c2215585963ed98ec4341b45bc4224844623387d161\",\"dweb:/ipfs/QmR5shjVosAoxdmY3EfkUWgFNV4CVUcbRNS7tkvbipssPX\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x4f7de0846587a28ea3623077dd809d53f08ad6176738ce1cedf272cb7bc2a107\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a189921ec61afa7c7348a1699b2550dcba5fb449ae8966e91ef3acd2dc60a4a\",\"dweb:/ipfs/Qma7cmxAGYyMPiEtH2Bv5QNHFmob88ZE6qYfZKFzuW8A4U\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"script/TrailsIntentEntrypoint.s.sol\":{\"keccak256\":\"0xab27ee8becdd50cf88ba1cf04e68cb6d80d49e380c6bed7a7eddcfec1c6b0a26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd629911a8a7ea1aba0c76f68fee808efeaf974d4e22963282656fdfb18ef4bb\",\"dweb:/ipfs/QmTn9Ldirnur8J79zp8ZUZNZJFgcPHHN8reqHpyMoSvqBh\"]},\"src/TrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x095a96c9100409f00dff1193b1f7489763e3a2b3d3a73a4e684a5b8d5384219c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75826e1d2f658a3edfeea2251ffd6128c563a2989382743def54f911be1d5c34\",\"dweb:/ipfs/QmNQZxaq6Tbm7XGC9jNvhCfZU3d1b3adkot38sCFze7yeR\"]},\"src/interfaces/ITrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x78527a499f07b4dd729a294f2616d727f2d25d505b29f0d2758af6958d157ef4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5955cc80d7c662efb07420a6e43fe9d5d0111ff5d5bcd059ca8727f99a6fe9d3\",\"dweb:/ipfs/Qmd47ZRVEMgzUDFXXc3UvVNpeEbrs2pte4vsFy5bPsRPVf\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346026576201000162ff00ff19600c541617600c55611d91908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c908163c04062261461007a575063f8ccbf4714610034575f80fd5b3461007757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261007757602060ff600c5460101c166040519015158152f35b80fd5b905034610c90575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c90577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610c85575f91610ce5575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610c85575f90610c94575b6101c59150604051610196604082610d17565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610dc8565b610e299082604051916101db6020850184610d17565b8383526020830193610f338539604051936101f7604086610d17565b601685527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610698575b73ffffffffffffffffffffffffffffffffffffffff908451902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528560358301526055820152605581526102c5607582610d17565b51902016936002853b11610647578461031691604051906102e7604083610d17565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610e6f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561064357604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105c95761062e575b505060206103c891604051809381927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610d85565b86602483015203818673ce0042b868300000d44a59004da54a005ffdcf9f5af19081156106235783916105d4575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156105c557826040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105c9576105b0575b505073ffffffffffffffffffffffffffffffffffffffff168103610552576002813b11156104f4576104f1905b60405161049c606082610d17565b602381527f547261696c73496e74656e74456e747279706f696e74206465706c6f7965642060208201527f61743a00000000000000000000000000000000000000000000000000000000006040820152610dc8565b80f35b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b816105ba91610d17565b6105c557825f610461565b8280fd5b6040513d84823e3d90fd5b90506020813d60201161061b575b816105ef60209383610d17565b810103126105c5575173ffffffffffffffffffffffffffffffffffffffff811681036105c5575f6103f6565b3d91506105e2565b6040513d85823e3d90fd5b8161063891610d17565b6105c557825f610385565b5080fd5b8493506104f1949150610693925060405190610664604083610d17565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610e6f565b61048e565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610a1d575b5f8061073961077f6040516106d2604082610d17565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610d85565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa506040516107a36101a082610d17565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610a1957836109ca91604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610d85565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610a0e5784916109f9575b5050610240565b81610a0391610d17565b6105c557825f6109f2565b6040513d86823e3d90fd5b8380fd5b9091505f80610a9d610ac9604051610a36604082610d17565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610d85565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610c90576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610c8557610c70575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610c435786808080969594819482906657c084e5f3c00014610c3a575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f1156105c957737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156105c5576040517f76eadd36000000000000000000000000000000000000000000000000000000008152838160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610a0e578491610c25575b50506106bc565b81610c2f91610d17565b6105c557825f610c1e565b506108fc610b96565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610c7d9195505f90610d17565b5f935f610b4d565b6040513d5f823e3d90fd5b5f80fd5b506020813d602011610cdd575b81610cae60209383610d17565b81010312610c90575173ffffffffffffffffffffffffffffffffffffffff81168103610c90576101c590610183565b3d9150610ca1565b90506020813d602011610d0f575b81610d0060209383610d17565b81010312610c9057515f61012c565b3d9150610cf3565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610d5857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610e25610e585f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610d85565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa50565b610e58610ecf915f9473ffffffffffffffffffffffffffffffffffffffff610eff87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610d85565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610d85565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d1756fe6080806040523460395760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055610deb908161003e8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033a2646970667358221220fb54faff40f8d444e27e4a7c939db219bfaa3a95982c1885e28c7e9f1e0081bf64736f6c634300081e0033","sourceMap":"221:793:51:-:0;;;;;;;;;;3200:4:5;221:793:51;;;3200:4:5;221:793:51;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f905f3560e01c908163c04062261461007a575063f8ccbf4714610034575f80fd5b3461007757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261007757602060ff600c5460101c166040519015158152f35b80fd5b905034610c90575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c90577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610c85575f91610ce5575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610c85575f90610c94575b6101c59150604051610196604082610d17565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610dc8565b610e299082604051916101db6020850184610d17565b8383526020830193610f338539604051936101f7604086610d17565b601685527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610698575b73ffffffffffffffffffffffffffffffffffffffff908451902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528560358301526055820152605581526102c5607582610d17565b51902016936002853b11610647578461031691604051906102e7604083610d17565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610e6f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561064357604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105c95761062e575b505060206103c891604051809381927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610d85565b86602483015203818673ce0042b868300000d44a59004da54a005ffdcf9f5af19081156106235783916105d4575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156105c557826040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105c9576105b0575b505073ffffffffffffffffffffffffffffffffffffffff168103610552576002813b11156104f4576104f1905b60405161049c606082610d17565b602381527f547261696c73496e74656e74456e747279706f696e74206465706c6f7965642060208201527f61743a00000000000000000000000000000000000000000000000000000000006040820152610dc8565b80f35b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b816105ba91610d17565b6105c557825f610461565b8280fd5b6040513d84823e3d90fd5b90506020813d60201161061b575b816105ef60209383610d17565b810103126105c5575173ffffffffffffffffffffffffffffffffffffffff811681036105c5575f6103f6565b3d91506105e2565b6040513d85823e3d90fd5b8161063891610d17565b6105c557825f610385565b5080fd5b8493506104f1949150610693925060405190610664604083610d17565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610e6f565b61048e565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610a1d575b5f8061073961077f6040516106d2604082610d17565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610d85565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa506040516107a36101a082610d17565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610a1957836109ca91604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610d85565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610a0e5784916109f9575b5050610240565b81610a0391610d17565b6105c557825f6109f2565b6040513d86823e3d90fd5b8380fd5b9091505f80610a9d610ac9604051610a36604082610d17565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610d85565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610c90576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610c8557610c70575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610c435786808080969594819482906657c084e5f3c00014610c3a575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f1156105c957737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156105c5576040517f76eadd36000000000000000000000000000000000000000000000000000000008152838160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610a0e578491610c25575b50506106bc565b81610c2f91610d17565b6105c557825f610c1e565b506108fc610b96565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610c7d9195505f90610d17565b5f935f610b4d565b6040513d5f823e3d90fd5b5f80fd5b506020813d602011610cdd575b81610cae60209383610d17565b81010312610c90575173ffffffffffffffffffffffffffffffffffffffff81168103610c90576101c590610183565b3d9150610ca1565b90506020813d602011610d0f575b81610d0060209383610d17565b81010312610c9057515f61012c565b3d9150610cf3565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610d5857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610e25610e585f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610d85565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa50565b610e58610ecf915f9473ffffffffffffffffffffffffffffffffffffffff610eff87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610d85565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610d85565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d1756fe6080806040523460395760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055610deb908161003e8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033a2646970667358221220fb54faff40f8d444e27e4a7c939db219bfaa3a95982c1885e28c7e9f1e0081bf64736f6c634300081e0033","sourceMap":"221:793:51:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;849:28:3;221:793:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;493:25:51;;2030:14:2;221:793:51;493:25;;2030:14:2;;;;;;;;;;;;493:25:51;;;336:42:2;493:25:51;;;;;;;221:793;493:25;;;221:793;;;;2030:14:2;554:19:51;;;221:793;554:19;;2030:14:2;;554:19:51;2030:14:2;554:19:51;336:42:2;554:19:51;;;;;;221:793;554:19;;;221:793;583:49;2030:14:2;;221:793:51;;2030:14:2;221:793:51;2030:14:2;;:::i;:::-;;;;;;;;;583:49:51;:::i;:::-;793:41;221:793;;;;793:41;2030:14:2;;793:41:51;;2030:14:2;;:::i;:::-;793:41:51;;;2030:14:2;793:41:51;;;;;;221:793;;2030:14:2;;221:793:51;2030:14:2;;:::i;:::-;;;;;;;;;608:1:0;107:42:1;570:34:0;:39;;566:613;;221:793:51;336:42:2;221:793:51;;;2313:20:0;;221:793:51;;2030:14:2;2247:87:0;;221:793:51;;;;;;;;;;2030:14:2;221:793:51;;2030:14:2;221:793:51;;;2030:14:2;221:793:51;2247:87:0;;;;;;:::i;:::-;221:793:51;2237:98:0;;336:42:2;;608:1:0;1460:16;;:21;608:1;;221:793:51;1497:39:0;221:793:51;;;2030:14:2;;221:793:51;2030:14:2;;:::i;:::-;221:793:51;2030:14:2;;221:793:51;2030:14:2;221:793:51;;;1497:39:0;:::i;:::-;336:42:2;1550:21:0;;;;221:793:51;;1550:21:0;2030:14:2;1550:21:0;;221:793:51;1550:21:0;;2030:14:2;1550:21:0;;2030:14:2;1550:21:0;;336:42:2;1550:21:0;;;;;;;;1456:551;221:793:51;;2030:14:2;442:41:0;221:793:51;;;1606:42:0;;;;2030:14:2;1606:42:0;;221:793:51;;1606:42:0;;442:41;2030:14:2;442:41:0;;;;:::i;:::-;;2030:14:2;442:41:0;;2030:14:2;1606:42:0;;;107::1;1606::0;;;;;;;;;;;1456:551;1662:18;336:42:2;1662:18:0;;;;221:793:51;;;2030:14:2;1662:18:0;;;;221:793:51;1662:18:0;;336:42:2;1662:18:0;;;;;;;;1456:551;336:42:2;;;;1698:18:0;;1694:109;;608:1;1820:16;;:21;;1816:104;;946:59:51;1456:551:0;;221:793:51;;2030:14:2;;;;:::i;:::-;;;;;;;;;;221:793:51;2030:14:2;;;946:59:51;:::i;:::-;221:793;;1816:104:0;493:25:51;221:793;;1868:37:0;;;2030:14:2;221:793:51;1868:37:0;;442:41;2030:14:2;;442:41:0;;2030:14:2;442:41:0;2030:14:2;;;442:41:0;1868:37;1694:109;493:25:51;221:793;;1743:45:0;;;2030:14:2;221:793:51;1743:45:0;;442:41;;2030:14:2;442:41:0;;2030:14:2;442:41:0;2030:14:2;;;442:41:0;1743:45;1662:18;;;;;:::i;:::-;221:793:51;;1662:18:0;;;;221:793:51;;;;1662:18:0;221:793:51;;2030:14:2;221:793:51;;2030:14:2;;;;1606:42:0;;;2030:14:2;1606:42:0;;2030:14:2;1606:42:0;;;;;;2030:14:2;1606:42:0;;;:::i;:::-;;;442:41;;;;;336:42:2;;;2030:14;;;;1606:42:0;;;;;;-1:-1:-1;1606:42:0;;;221:793:51;;2030:14:2;221:793:51;;2030:14:2;;;;1550:21:0;;;;;:::i;:::-;221:793:51;;1550:21:0;;;;;221:793:51;;;1456:551:0;221:793:51;;;946:59;221:793;;;1950:46:0;221:793:51;2030:14:2;221:793:51;;2030:14:2;;221:793:51;2030:14:2;;:::i;:::-;221:793:51;2030:14:2;;221:793:51;2030:14:2;221:793:51;;;1950:46:0;:::i;:::-;1456:551;;566:613;274:12:1;189:42;629:26:0;:50;625:360;;566:613;358:279:18;221:793:51;;7823:54:18;221:793:51;;2030:14:2;221:793:51;2030:14:2;;:::i;:::-;274:12:1;2030:14:2;;274:12:1;2030:14:2;274:12:1;;;221:793:51;;7823:54:18;;;;2030:14:2;7823:54:18;;;221:793:51;2030:14:2;7823:54:18;;221:793:51;493:25;221:793;;;;:::i;:::-;107:42:1;2030:14:2;221:793:51;;;7823:54:18;2030:14:2;7823:54:18;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;221:793:51;;2030:14:2;;;;:::i;:::-;274:12:1;2030:14:2;;274:12:1;2030:14:2;274:12:1;;;;221:793:51;274:12:1;;;;;;;;;;;;;;;;;;;;;;;;221:793:51;274:12:1;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;274:12:1;;;336:42:2;1121:47:0;;;;221:793:51;329:739:1;221:793:51;;;1121:47:0;;;;2030:14:2;1121:47:0;;2030:14:2;221:793:51;1121:47:0;;329:739:1;2030:14:2;329:739:1;;;;:::i;:::-;1121:47:0;;;336:42:2;1121:47:0;;;;;;;;;;;566:613;;;;;1121:47;;;;;:::i;:::-;221:793:51;;1121:47:0;;;;;221:793:51;;2030:14:2;221:793:51;;2030:14:2;;;;1121:47:0;221:793:51;;;625:360:0;274:12:1;;;221:793:51;;;6262:42:18;221:793:51;;2030:14:2;221:793:51;2030:14:2;;:::i;:::-;274:12:1;2030:14:2;;274:12:1;2030:14:2;274:12:1;;;221:793:51;;6262:42:18;;;;2030:14:2;6262:42:18;;;2030:14:2;;6262:42:18;;221:793:51;2030:14:2;221:793:51;;;;:::i;:::-;6262:42:18;2030:14:2;6262:42:18;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;336:42:2;807:21:0;;;;221:793:51;;2030:14:2;807:21:0;;;221:793:51;807:21:0;;2030:14:2;221:793:51;807:21:0;2030:14:2;807:21:0;;336:42:2;807:21:0;;;;;;;;625:360;907:26;189:42:1;907:26:0;274:12:1;;;;;;;;;846:88:0;;;;;;;;;;;274:12:1;846:88:0;;;625:360;189:42:1;846:88:0;;;;;336:42:2;952:18:0;;;;221:793:51;;2030:14:2;952:18:0;;;;221:793:51;952:18:0;;336:42:2;952:18:0;;;;;;;;;;;625:360;;;;;952:18;;;;;:::i;:::-;221:793:51;;952:18:0;;;;846:88;-1:-1:-1;846:88:0;;;274:12:1;2030:14:2;274:12:1;;;;2030:14:2;221:793:51;274:12:1;;807:21:0;;;;;221:793:51;807:21:0;;:::i;:::-;221:793:51;807:21:0;;;;;221:793:51;;2030:14:2;221:793:51;2030:14:2;;;;;807:21:0;221:793:51;;;554:19;;2030:14:2;554:19:51;;2030:14:2;554:19:51;;;;;;2030:14:2;554:19:51;;;:::i;:::-;;;2030:14:2;;;;;336:42;;;2030:14;;;;583:49:51;554:19;;;;;;-1:-1:-1;554:19:51;;493:25;;;2030:14:2;493:25:51;;2030:14:2;493:25:51;;;;;;2030:14:2;493:25:51;;;:::i;:::-;;;2030:14:2;;;;;493:25:51;;;;;;-1:-1:-1;493:25:51;;2030:14:2;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;2030:14:2;;;;;-1:-1:-1;2030:14:2;221:793:51;;2030:14:2;;;221:793:51;;;;2030:14:2;;;;;;221:793:51;2030:14:2;;;221:793:51;-1:-1:-1;221:793:51;;;;;;2030:14:2;;221:793:51;;;:::o;7740:145:18:-;221:793:51;7823:54:18;358:279;7740:145;;;;336:42:2;221:793:51;;7823:54:18;;;;;;;;221:793:51;7823:54:18;;;221:793:51;;;;;;:::i;:::-;336:42:2;;221:793:51;;;;7823:54:18;;;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;7740:145::o;12983:174::-;13084:65;221:793:51;12983:174:18;358:279;12983:174;336:42:2;221:793:51;12983:174:18;;221:793:51;;13084:65:18;;;;;;;;221:793:51;13084:65:18;;;221:793:51;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;336:42:2;;221:793:51;;;;13084:65:18;;;;;;;;:::i","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","run()":"c0406226"}}}},"script/TrailsRouter.s.sol":{"Deploy":{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"deployRouter","inputs":[{"name":"pk","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"DeploymentFailed","inputs":[{"name":"reason","type":"string","internalType":"string"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"DeploymentFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pk\",\"type\":\"uint256\"}],\"name\":\"deployRouter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"script/TrailsRouter.s.sol\":\"Deploy\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/erc2470-libs/script/SingletonDeployer.s.sol\":{\"keccak256\":\"0x3fdec03d51d77fcda6d6c681e26e7c8d4b85f1457eac91e0ec15411a7ab1e1f6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a690bf4481a37f3f77acdeecac089462db83f0437307610981b24c04b5202f6e\",\"dweb:/ipfs/QmUA9TSjAkqefNBW8BiRqg8XDJiJxJPxSsZHQwJJAbrYQg\"]},\"lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"script/TrailsRouter.s.sol\":{\"keccak256\":\"0x7606dd601cd7f10ab9c9a94a1ff6d6bc7ae2d4edd220bb161d89adc07eff6d75\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10bf0dfa40196e494e9f8cdbb795bdc6c9bda421e7938ff0ef90aa62f571525e\",\"dweb:/ipfs/QmaoLXskfyE4A27SkckeNG4Z2AVyEvn6g63XT91UDSQHUo\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346026576201000162ff00ff19600c541617600c556132f8908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163c0406226146100de57508063f0c9a429146100845763f8ccbf471461003d575f80fd5b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008057602060ff600c5460101c166040519015158152f35b5f80fd5b346100805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100805760206100c060043561036e565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610080577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f916102ce575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f91610272575b6102706102338461022e856040516101ff604082610300565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610e94565b61036e565b604051610241604082610300565b601981527f547261696c73526f75746572206465706c6f7965642061743a000000000000006020820152610e94565b005b90506020813d6020116102bb575b8161028d60209383610300565b81010312610080575173ffffffffffffffffffffffffffffffffffffffff81168103610080576102706101e6565b3d9150610280565b6040513d5f823e3d90fd5b90506020813d6020116102f8575b816102e960209383610300565b8101031261008057518161018e565b3d91506102dc565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6122c4604051926103836020830185610300565b8184526020840191610fff833961041060405192602080850173ca11bde05977b3631167028862be2a173976ca1181528186526103c1604087610300565b604051958693838501995180918b5e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610300565b6040519361041f604086610300565b600c85527f547261696c73526f7574657200000000000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610866575b73ffffffffffffffffffffffffffffffffffffffff908351902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528660358301526055820152605581526104ed607582610300565b519020169384906002823b1161081a57906105409160405190610511604083610300565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610f3b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561081657604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561080b576107f6575b509060206105f292604051809481927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610e51565b84602483015203818473ce0042b868300000d44a59004da54a005ffdcf9f5af19182156107e9578192610794575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078957610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b55790565b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b61077c828092610300565b610786578061068a565b80fd5b6040513d84823e3d90fd5b9091506020813d6020116107e1575b816107b060209383610300565b810103126107dd575173ffffffffffffffffffffffffffffffffffffffff811681036107dd57905f610620565b5080fd5b3d91506107a3565b50604051903d90823e3d90fd5b610801838092610300565b6107dd575f6105af565b6040513d85823e3d90fd5b8280fd5b915091508261086393505060405190610834604083610300565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610f3b565b90565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bef575b5f8061090761094d6040516108a0604082610300565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610e51565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa506040516109716101a082610300565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610beb5784610b9891604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610e51565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610bc7575b5050610468565b81610bd191610300565b610bdc57835f610bc0565b8380fd5b6040513d87823e3d90fd5b8480fd5b5f80610c6c610c98604051610c05604082610300565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610e51565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610080576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102c357610e3c575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e0f5785808093819382906657c084e5f3c00014610e06575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561080b57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bdc576040517f76eadd36000000000000000000000000000000000000000000000000000000008152848160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610df1575b505061088a565b81610dfb91610300565b610bdc57835f610dea565b506108fc610d62565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610e499194505f90610300565b5f925f610d1c565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610ef1610f245f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610e51565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50565b610f24610f9b915f9473ffffffffffffffffffffffffffffffffffffffff610fcb87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610e51565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610e51565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261030056fe610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220251b377e7cc5dd80ba7afd969ede0bd9fcdd8b9282e76cc5e674ad849a56b6f264736f6c634300081e0033","sourceMap":"201:1142:52:-:0;;;;;;;;;;3200:4:5;201:1142:52;;;3200:4:5;201:1142:52;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c908163c0406226146100de57508063f0c9a429146100845763f8ccbf471461003d575f80fd5b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008057602060ff600c5460101c166040519015158152f35b5f80fd5b346100805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100805760206100c060043561036e565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610080577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f916102ce575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f91610272575b6102706102338461022e856040516101ff604082610300565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610e94565b61036e565b604051610241604082610300565b601981527f547261696c73526f75746572206465706c6f7965642061743a000000000000006020820152610e94565b005b90506020813d6020116102bb575b8161028d60209383610300565b81010312610080575173ffffffffffffffffffffffffffffffffffffffff81168103610080576102706101e6565b3d9150610280565b6040513d5f823e3d90fd5b90506020813d6020116102f8575b816102e960209383610300565b8101031261008057518161018e565b3d91506102dc565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6122c4604051926103836020830185610300565b8184526020840191610fff833961041060405192602080850173ca11bde05977b3631167028862be2a173976ca1181528186526103c1604087610300565b604051958693838501995180918b5e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610300565b6040519361041f604086610300565b600c85527f547261696c73526f7574657200000000000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610866575b73ffffffffffffffffffffffffffffffffffffffff908351902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528660358301526055820152605581526104ed607582610300565b519020169384906002823b1161081a57906105409160405190610511604083610300565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610f3b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561081657604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561080b576107f6575b509060206105f292604051809481927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610e51565b84602483015203818473ce0042b868300000d44a59004da54a005ffdcf9f5af19182156107e9578192610794575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078957610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b55790565b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b61077c828092610300565b610786578061068a565b80fd5b6040513d84823e3d90fd5b9091506020813d6020116107e1575b816107b060209383610300565b810103126107dd575173ffffffffffffffffffffffffffffffffffffffff811681036107dd57905f610620565b5080fd5b3d91506107a3565b50604051903d90823e3d90fd5b610801838092610300565b6107dd575f6105af565b6040513d85823e3d90fd5b8280fd5b915091508261086393505060405190610834604083610300565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610f3b565b90565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bef575b5f8061090761094d6040516108a0604082610300565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610e51565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa506040516109716101a082610300565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610beb5784610b9891604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610e51565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610bc7575b5050610468565b81610bd191610300565b610bdc57835f610bc0565b8380fd5b6040513d87823e3d90fd5b8480fd5b5f80610c6c610c98604051610c05604082610300565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610e51565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610080576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102c357610e3c575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e0f5785808093819382906657c084e5f3c00014610e06575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561080b57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bdc576040517f76eadd36000000000000000000000000000000000000000000000000000000008152848160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610df1575b505061088a565b81610dfb91610300565b610bdc57835f610dea565b506108fc610d62565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610e499194505f90610300565b5f925f610d1c565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610ef1610f245f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610e51565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50565b610f24610f9b915f9473ffffffffffffffffffffffffffffffffffffffff610fcb87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610e51565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610e51565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261030056fe610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220251b377e7cc5dd80ba7afd969ede0bd9fcdd8b9282e76cc5e674ad849a56b6f264736f6c634300081e0033","sourceMap":"201:1142:52:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;849:28:3;201:1142:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;2030:14:2;465:25:52;;2030:14:2;201:1142:52;465:25;;2030:14:2;;;;;;;;;;;;465:25:52;;;336:42:2;465:25:52;;;;;;;201:1142;465:25;;;201:1142;;;;2030:14:2;526:11:52;;;201:1142;526:11;;2030:14:2;;526:11:52;2030:14:2;526:11:52;336:42:2;526:11:52;;;;;;;201:1142;526:11;;;201:1142;650:48;624:16;2030:14:2;547:49:52;2030:14:2;201:1142:52;;2030:14:2;201:1142:52;2030:14:2;;:::i;:::-;;;;;;;;;547:49:52;:::i;:::-;624:16;:::i;:::-;201:1142;;2030:14:2;201:1142:52;2030:14:2;;:::i;:::-;;;;;;;;;650:48:52;:::i;:::-;201:1142;526:11;;;2030:14:2;526:11:52;;2030:14:2;526:11:52;;;;;;2030:14:2;526:11:52;;;:::i;:::-;;;2030:14:2;;;;;201:1142:52;;;2030:14:2;;;;650:48:52;526:11;;;;;-1:-1:-1;526:11:52;;;201:1142;;2030:14:2;201:1142:52;2030:14:2;;;;;465:25:52;;;2030:14:2;465:25:52;;2030:14:2;465:25:52;;;;;;2030:14:2;465:25:52;;;:::i;:::-;;;2030:14:2;;;;;465:25:52;;;;;;-1:-1:-1;465:25:52;;2030:14:2;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;2030:14:2;;;;;-1:-1:-1;2030:14:2;895:446:52;987:1;1172:31;201:1142;;1172:31;2030:14:2;1172:31:52;;;2030:14:2;;:::i;:::-;1172:31:52;;;;;;;;;;1155:73;201:1142;;1205:22;1172:31;1205:22;;;1020:42;201:1142;;1205:22;;;;201:1142;1205:22;;:::i;:::-;201:1142;;1155:73;;;;;;201:1142;;;;;;;;;;;;;987:1;201:1142;;;;;;;;;987:1;201:1142;;1155:73;1205:22;1155:73;;;;;;:::i;:::-;2030:14:2;201:1142:52;2030:14:2;;;;;:::i;:::-;201:1142:52;2030:14:2;;201:1142:52;1172:31;201:1142;;;608:1:0;107:42:1;570:34:0;:39;;566:613;;895:446:52;201:1142;;;;2313:20:0;;201:1142:52;;1172:31;2247:87:0;;201:1142:52;;;;;;;;;;;;;2030:14:2;201:1142:52;;;2030:14:2;201:1142:52;2247:87:0;;;;;;:::i;:::-;201:1142:52;2237:98:0;;201:1142:52;;;;608:1:0;1460:16;;:21;608:1;;201:1142:52;1497:39:0;201:1142:52;2030:14:2;201:1142:52;2030:14:2;;;;;:::i;:::-;201:1142:52;2030:14:2;;201:1142:52;1172:31;201:1142;;;1497:39:0;:::i;:::-;336:42:2;1550:21:0;;;;201:1142:52;;1550:21:0;2030:14:2;1550:21:0;;;;;2030:14:2;1550:21:0;;;;;336:42:2;1550:21:0;;;;;;;;1456:551;201:1142:52;;1172:31;442:41:0;201:1142:52;;;1606:42:0;;;;2030:14:2;1606:42:0;;201:1142:52;1550:21:0;1606:42;;442:41;;;;;;:::i;:::-;;1550:21;442:41;;2030:14:2;1606:42:0;;;107::1;1606::0;;;;;;;;;;;1456:551;1662:18;336:42:2;1662:18:0;;;;201:1142:52;;2030:14:2;1662:18:0;;;;1550:21;1662:18;;336:42:2;1662:18:0;;;;;;;;1456:551;201:1142:52;;;;1698:18:0;;1694:109;;608:1;1820:16;;:21;;1816:104;;895:446:52;:::o;1816:104:0:-;1868:37;201:1142:52;;1868:37:0;;;1172:31:52;1550:21:0;1868:37;;442:41;;1550:21;442:41;;2030:14:2;442:41:0;;2030:14:2;;442:41:0;1868:37;1694:109;1743:45;201:1142:52;;1743:45:0;;;1172:31:52;1550:21:0;1743:45;;442:41;;1550:21;442:41;;2030:14:2;442:41:0;;2030:14:2;;442:41:0;1743:45;1662:18;;;;;;:::i;:::-;201:1142:52;;1662:18:0;;;201:1142:52;;;1662:18:0;201:1142:52;;2030:14:2;201:1142:52;;2030:14:2;;;;1606:42:0;;;;1172:31:52;1606:42:0;;1172:31:52;1606:42:0;;;;;;1172:31:52;1606:42:0;;;:::i;:::-;;;442:41;;;;;201:1142:52;;;2030:14:2;;;;1606:42:0;;;;2030:14:2;;;;1606:42:0;;;-1:-1:-1;1606:42:0;;;201:1142:52;;;2030:14:2;;;;;;;;1550:21:0;;;;;;:::i;:::-;201:1142:52;;1550:21:0;;;;201:1142:52;;2030:14:2;201:1142:52;;2030:14:2;;;;1550:21:0;201:1142:52;;;1456:551:0;201:1142:52;;;;;1950:46:0;201:1142:52;2030:14:2;201:1142:52;;;2030:14:2;;201:1142:52;2030:14:2;;:::i;:::-;201:1142:52;2030:14:2;;201:1142:52;1172:31;201:1142;;;1950:46:0;:::i;:::-;895:446:52;:::o;566:613:0:-;274:12:1;189:42;629:26:0;:50;625:360;;566:613;358:279:18;201:1142:52;;7823:54:18;201:1142:52;;2030:14:2;201:1142:52;2030:14:2;;:::i;:::-;274:12:1;2030:14:2;;274:12:1;1172:31:52;274:12:1;;;201:1142:52;;7823:54:18;;;;1172:31:52;7823:54:18;;;201:1142:52;7823:54:18;;;201:1142:52;;;;;;:::i;:::-;107:42:1;201:1142:52;;;;7823:54:18;1205:22:52;7823:54:18;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;201:1142:52;;2030:14:2;;;;:::i;:::-;274:12:1;2030:14:2;;274:12:1;1172:31:52;274:12:1;;;;201:1142:52;274:12:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;274:12:1;;;336:42:2;1121:47:0;;;;201:1142:52;329:739:1;201:1142:52;;;1121:47:0;;;;2030:14:2;1121:47:0;;1172:31:52;1121:47:0;;;329:739:1;7823:54:18;329:739:1;;;;:::i;:::-;1121:47:0;;;336:42:2;1121:47:0;;;;;;;;;;;566:613;;;;;1121:47;;;;;:::i;:::-;201:1142:52;;1121:47:0;;;;201:1142:52;;;;1121:47:0;201:1142:52;;2030:14:2;201:1142:52;;2030:14:2;;;;1121:47:0;201:1142:52;;;625:360:0;987:1:52;201:1142;;6262:42:18;201:1142:52;;2030:14:2;201:1142:52;2030:14:2;;:::i;:::-;274:12:1;2030:14:2;;274:12:1;1172:31:52;274:12:1;;;201:1142:52;;6262:42:18;;;;1172:31:52;6262:42:18;;;1172:31:52;6262:42:18;;;201:1142:52;;;;;;:::i;:::-;6262:42:18;1205:22:52;6262:42:18;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;336:42:2;807:21:0;;;;201:1142:52;;2030:14:2;807:21:0;;;;;;2030:14:2;987:1:52;807:21:0;6262:42:18;807:21:0;;336:42:2;807:21:0;;;;;;;;625:360;907:26;189:42:1;907:26:0;274:12:1;;;;;;;;;846:88:0;;;;;;;;274:12:1;846:88:0;;;625:360;189:42:1;846:88:0;;;;;336:42:2;952:18:0;;;;201:1142:52;;2030:14:2;952:18:0;;;;807:21;952:18;;336:42:2;952:18:0;;;;;;;;;;;625:360;;;;;952:18;;;;;:::i;:::-;201:1142:52;;952:18:0;;;;846:88;-1:-1:-1;846:88:0;;;274:12:1;6262:42:18;274:12:1;;;;;807:21:0;274:12:1;;807:21:0;;;;;987:1:52;807:21:0;;:::i;:::-;987:1:52;807:21:0;;;;201:1142:52;;2030:14:2;;;201:1142:52;;;;2030:14:2;;;;;;201:1142:52;2030:14:2;;;201:1142:52;-1:-1:-1;201:1142:52;;;;;;2030:14:2;;201:1142:52;;;:::o;7740:145:18:-;201:1142:52;7823:54:18;358:279;7740:145;;;;201:1142:52;;;7823:54:18;;;;;;;;201:1142:52;7823:54:18;;;201:1142:52;;;;;;:::i;:::-;;;;;;;7823:54:18;;;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;7740:145::o;12983:174::-;13084:65;201:1142:52;12983:174:18;358:279;12983:174;201:1142:52;;12983:174:18;;201:1142:52;;13084:65:18;;;;;;;;201:1142:52;13084:65:18;;;201:1142:52;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;13084:65:18;;;;;;;;:::i","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","deployRouter(uint256)":"f0c9a429","run()":"c0406226"}}}},"script/TrailsRouterShim.s.sol":{"Deploy":{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"routerAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"DeploymentFailed","inputs":[{"name":"reason","type":"string","internalType":"string"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"DeploymentFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"routerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"script/TrailsRouterShim.s.sol\":\"Deploy\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/erc2470-libs/script/SingletonDeployer.s.sol\":{\"keccak256\":\"0x3fdec03d51d77fcda6d6c681e26e7c8d4b85f1457eac91e0ec15411a7ab1e1f6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a690bf4481a37f3f77acdeecac089462db83f0437307610981b24c04b5202f6e\",\"dweb:/ipfs/QmUA9TSjAkqefNBW8BiRqg8XDJiJxJPxSsZHQwJJAbrYQg\"]},\"lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"script/TrailsRouter.s.sol\":{\"keccak256\":\"0x7606dd601cd7f10ab9c9a94a1ff6d6bc7ae2d4edd220bb161d89adc07eff6d75\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10bf0dfa40196e494e9f8cdbb795bdc6c9bda421e7938ff0ef90aa62f571525e\",\"dweb:/ipfs/QmaoLXskfyE4A27SkckeNG4Z2AVyEvn6g63XT91UDSQHUo\"]},\"script/TrailsRouterShim.s.sol\":{\"keccak256\":\"0x5fddb7fcbf18d9170ab378e72f0cee0309a45d11312f2a4dc596c02f63946cb6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://114e9024098a8e773d843992f307884fa97b7d989ca3e0bc7d422f9e34274132\",\"dweb:/ipfs/QmWbJ2MhG5Gvx5DybvMmJJHpxLU5nXXTwsxxmhewqPs26u\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346026576201000162ff00ff19600c541617600c55614c75908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081633268cc5614610f1d57508063c0406226146100855763f8ccbf471461003f575f80fd5b3461008257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008257602060ff600c5460101c166040519015158152f35b80fd5b5034610e9b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e9b576040517fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610e90575f91610eeb575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610e90576101d2915f91610ecc575b506040516101a3604082610f6e565b601181527f4465706c6f79657220416464726573733a000000000000000000000000000000602082015261101e565b60405161332380820182811067ffffffffffffffff821117610e9f578291611189833903905ff08015610e905773ffffffffffffffffffffffffffffffffffffffff16803b15610e9b576040517fc04062260000000000000000000000000000000000000000000000000000000081525f8160048183865af18015610e9057610e7b575b50602083916024604051809481937ff0c9a4290000000000000000000000000000000000000000000000000000000083528760048401525af180156107e45773ffffffffffffffffffffffffffffffffffffffff918491610e4c575b507fffffffffffffffffff0000000000000000000000000000000000000000ffffff76ffffffffffffffffffffffffffffffffffffffff000000600c549260181b1691161780600c5560181c1661034081604051610311604082610f6e565b601981527f547261696c73526f75746572206465706c6f7965642061743a00000000000000602082015261101e565b82610794926103cf604051946103596020820187610f6e565b80865260208601906144ac8239602060405195818701908152818752610380604088610f6e565b604051968793838501995180918b5e84019083820190888252519283915e0101848152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101855284610f6e565b604051936103de604086610f6e565b601085527f547261696c73526f757465725368696d000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610859575b73ffffffffffffffffffffffffffffffffffffffff908451902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528560358301526055820152605581526104ac607582610f6e565b51902016936002853b1161080857846104fd91604051906104ce604083610f6e565b600c82527f6465706c6f79696e6720746f000000000000000000000000000000000000000060208301526110c5565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561080457604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a576107ef575b505060206105af91604051809381927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610fdb565b86602483015203818673ce0042b868300000d44a59004da54a005ffdcf9f5af19081156107e4578391610795575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561078657826040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a57610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b5576106b2905b604051610683604082610f6e565b601d81527f547261696c73526f757465725368696d206465706c6f7965642061743a000000602082015261101e565b80f35b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b8161077b91610f6e565b61078657825f610648565b8280fd5b6040513d84823e3d90fd5b90506020813d6020116107dc575b816107b060209383610f6e565b81010312610786575173ffffffffffffffffffffffffffffffffffffffff81168103610786575f6105dd565b3d91506107a3565b6040513d85823e3d90fd5b816107f991610f6e565b61078657825f61056c565b5080fd5b8493506106b2949150610854925060405190610825604083610f6e565b601382527f616c7265616479206465706c6f79656420746f0000000000000000000000000060208301526110c5565b610675565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bde575b5f806108fa610940604051610893604082610f6e565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610fdb565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa506040516109646101a082610f6e565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bda5783610b8b91604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610fdb565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610bcf578491610bba575b5050610427565b81610bc491610f6e565b61078657825f610bb3565b6040513d86823e3d90fd5b8380fd5b9091505f80610c5e610c8a604051610bf7604082610f6e565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610fdb565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610e4857846040517fce817d47000000000000000000000000000000000000000000000000000000008152836004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a57610e33575b505073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e065786808080969594819482906657c084e5f3c00014610dfd575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561078a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152838160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610bcf578491610de8575b505061087d565b81610df291610f6e565b61078657825f610de1565b506108fc610d59565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b81610e3d91610f6e565b610e4857845f610d0f565b8480fd5b610e6e915060203d602011610e74575b610e668183610f6e565b810190610faf565b5f6102b2565b503d610e5c565b602093505f610e8991610f6e565b5f92610256565b6040513d5f823e3d90fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610ee5915060203d602011610e7457610e668183610f6e565b5f610194565b90506020813d602011610f15575b81610f0660209383610f6e565b81010312610e9b57515f610139565b3d9150610ef9565b34610e9b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e9b5760209073ffffffffffffffffffffffffffffffffffffffff600c5460181c168152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e9f57604052565b90816020910312610e9b575173ffffffffffffffffffffffffffffffffffffffff81168103610e9b5790565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b61107b6110ae5f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610fdb565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa50565b6110ae611125915f9473ffffffffffffffffffffffffffffffffffffffff61115587966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610fdb565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610fdb565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e56fe608080604052346026576201000162ff00ff19600c541617600c556132f8908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163c0406226146100de57508063f0c9a429146100845763f8ccbf471461003d575f80fd5b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008057602060ff600c5460101c166040519015158152f35b5f80fd5b346100805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100805760206100c060043561036e565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610080577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f916102ce575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f91610272575b6102706102338461022e856040516101ff604082610300565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610e94565b61036e565b604051610241604082610300565b601981527f547261696c73526f75746572206465706c6f7965642061743a000000000000006020820152610e94565b005b90506020813d6020116102bb575b8161028d60209383610300565b81010312610080575173ffffffffffffffffffffffffffffffffffffffff81168103610080576102706101e6565b3d9150610280565b6040513d5f823e3d90fd5b90506020813d6020116102f8575b816102e960209383610300565b8101031261008057518161018e565b3d91506102dc565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6122c4604051926103836020830185610300565b8184526020840191610fff833961041060405192602080850173ca11bde05977b3631167028862be2a173976ca1181528186526103c1604087610300565b604051958693838501995180918b5e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610300565b6040519361041f604086610300565b600c85527f547261696c73526f7574657200000000000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610866575b73ffffffffffffffffffffffffffffffffffffffff908351902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528660358301526055820152605581526104ed607582610300565b519020169384906002823b1161081a57906105409160405190610511604083610300565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610f3b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561081657604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561080b576107f6575b509060206105f292604051809481927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610e51565b84602483015203818473ce0042b868300000d44a59004da54a005ffdcf9f5af19182156107e9578192610794575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078957610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b55790565b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b61077c828092610300565b610786578061068a565b80fd5b6040513d84823e3d90fd5b9091506020813d6020116107e1575b816107b060209383610300565b810103126107dd575173ffffffffffffffffffffffffffffffffffffffff811681036107dd57905f610620565b5080fd5b3d91506107a3565b50604051903d90823e3d90fd5b610801838092610300565b6107dd575f6105af565b6040513d85823e3d90fd5b8280fd5b915091508261086393505060405190610834604083610300565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610f3b565b90565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bef575b5f8061090761094d6040516108a0604082610300565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610e51565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa506040516109716101a082610300565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610beb5784610b9891604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610e51565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610bc7575b5050610468565b81610bd191610300565b610bdc57835f610bc0565b8380fd5b6040513d87823e3d90fd5b8480fd5b5f80610c6c610c98604051610c05604082610300565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610e51565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610080576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102c357610e3c575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e0f5785808093819382906657c084e5f3c00014610e06575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561080b57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bdc576040517f76eadd36000000000000000000000000000000000000000000000000000000008152848160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610df1575b505061088a565b81610dfb91610300565b610bdc57835f610dea565b506108fc610d62565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610e499194505f90610300565b5f925f610d1c565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610ef1610f245f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610e51565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50565b610f24610f9b915f9473ffffffffffffffffffffffffffffffffffffffff610fcb87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610e51565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610e51565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261030056fe610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220251b377e7cc5dd80ba7afd969ede0bd9fcdd8b9282e76cc5e674ad849a56b6f264736f6c634300081e003361016060405234610096576107946020813803918261001d816100ae565b93849283398101031261009657516001600160a01b038116810361009657610044906100d8565b6040516105d890816101bc8239608051816102a5015260a051816101a0015260c0518161016d015260e0518161036d015261010051815050610120518150506101405181818161010d01526104a20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100d357604052565b61009a565b306080526100e4610163565b6001600160a01b03811615610154576100fc81610179565b801561013e57600160e0526003610100526005610120525b60c05260a0526001600160a01b0381161561012f5761014052565b631df13ab560e01b5f5260045ffd5b600260e052600461010052600661012052610114565b632aea588760e01b5f5260045ffd5b696002601e613d5c3d52f35f52600a60165ff090565b5f80808093600a5a04fa3d156101b8573d6001600160401b0381116100d3576101ab601f8201601f19166020016100ae565b9081525f60203d92013e90565b9056fe60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e0033a2646970667358221220911eb483696e66e4f4dbedb88971aa357ffdabd80a1819f2dec507042ee7b3ef64736f6c634300081e0033","sourceMap":"276:1346:53:-:0;;;;;;;;;;3200:4:5;276:1346:53;;;3200:4:5;276:1346:53;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f905f3560e01c9081633268cc5614610f1d57508063c0406226146100855763f8ccbf471461003f575f80fd5b3461008257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008257602060ff600c5460101c166040519015158152f35b80fd5b5034610e9b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e9b576040517fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610e90575f91610eeb575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610e90576101d2915f91610ecc575b506040516101a3604082610f6e565b601181527f4465706c6f79657220416464726573733a000000000000000000000000000000602082015261101e565b60405161332380820182811067ffffffffffffffff821117610e9f578291611189833903905ff08015610e905773ffffffffffffffffffffffffffffffffffffffff16803b15610e9b576040517fc04062260000000000000000000000000000000000000000000000000000000081525f8160048183865af18015610e9057610e7b575b50602083916024604051809481937ff0c9a4290000000000000000000000000000000000000000000000000000000083528760048401525af180156107e45773ffffffffffffffffffffffffffffffffffffffff918491610e4c575b507fffffffffffffffffff0000000000000000000000000000000000000000ffffff76ffffffffffffffffffffffffffffffffffffffff000000600c549260181b1691161780600c5560181c1661034081604051610311604082610f6e565b601981527f547261696c73526f75746572206465706c6f7965642061743a00000000000000602082015261101e565b82610794926103cf604051946103596020820187610f6e565b80865260208601906144ac8239602060405195818701908152818752610380604088610f6e565b604051968793838501995180918b5e84019083820190888252519283915e0101848152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101855284610f6e565b604051936103de604086610f6e565b601085527f547261696c73526f757465725368696d000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610859575b73ffffffffffffffffffffffffffffffffffffffff908451902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528560358301526055820152605581526104ac607582610f6e565b51902016936002853b1161080857846104fd91604051906104ce604083610f6e565b600c82527f6465706c6f79696e6720746f000000000000000000000000000000000000000060208301526110c5565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561080457604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a576107ef575b505060206105af91604051809381927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610fdb565b86602483015203818673ce0042b868300000d44a59004da54a005ffdcf9f5af19081156107e4578391610795575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561078657826040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a57610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b5576106b2905b604051610683604082610f6e565b601d81527f547261696c73526f757465725368696d206465706c6f7965642061743a000000602082015261101e565b80f35b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b8161077b91610f6e565b61078657825f610648565b8280fd5b6040513d84823e3d90fd5b90506020813d6020116107dc575b816107b060209383610f6e565b81010312610786575173ffffffffffffffffffffffffffffffffffffffff81168103610786575f6105dd565b3d91506107a3565b6040513d85823e3d90fd5b816107f991610f6e565b61078657825f61056c565b5080fd5b8493506106b2949150610854925060405190610825604083610f6e565b601382527f616c7265616479206465706c6f79656420746f0000000000000000000000000060208301526110c5565b610675565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bde575b5f806108fa610940604051610893604082610f6e565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610fdb565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa506040516109646101a082610f6e565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bda5783610b8b91604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610fdb565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610bcf578491610bba575b5050610427565b81610bc491610f6e565b61078657825f610bb3565b6040513d86823e3d90fd5b8380fd5b9091505f80610c5e610c8a604051610bf7604082610f6e565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610fdb565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610e4857846040517fce817d47000000000000000000000000000000000000000000000000000000008152836004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a57610e33575b505073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e065786808080969594819482906657c084e5f3c00014610dfd575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561078a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152838160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610bcf578491610de8575b505061087d565b81610df291610f6e565b61078657825f610de1565b506108fc610d59565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b81610e3d91610f6e565b610e4857845f610d0f565b8480fd5b610e6e915060203d602011610e74575b610e668183610f6e565b810190610faf565b5f6102b2565b503d610e5c565b602093505f610e8991610f6e565b5f92610256565b6040513d5f823e3d90fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610ee5915060203d602011610e7457610e668183610f6e565b5f610194565b90506020813d602011610f15575b81610f0660209383610f6e565b81010312610e9b57515f610139565b3d9150610ef9565b34610e9b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e9b5760209073ffffffffffffffffffffffffffffffffffffffff600c5460181c168152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e9f57604052565b90816020910312610e9b575173ffffffffffffffffffffffffffffffffffffffff81168103610e9b5790565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b61107b6110ae5f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610fdb565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa50565b6110ae611125915f9473ffffffffffffffffffffffffffffffffffffffff61115587966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610fdb565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610fdb565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e56fe608080604052346026576201000162ff00ff19600c541617600c556132f8908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163c0406226146100de57508063f0c9a429146100845763f8ccbf471461003d575f80fd5b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008057602060ff600c5460101c166040519015158152f35b5f80fd5b346100805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100805760206100c060043561036e565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610080577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f916102ce575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f91610272575b6102706102338461022e856040516101ff604082610300565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610e94565b61036e565b604051610241604082610300565b601981527f547261696c73526f75746572206465706c6f7965642061743a000000000000006020820152610e94565b005b90506020813d6020116102bb575b8161028d60209383610300565b81010312610080575173ffffffffffffffffffffffffffffffffffffffff81168103610080576102706101e6565b3d9150610280565b6040513d5f823e3d90fd5b90506020813d6020116102f8575b816102e960209383610300565b8101031261008057518161018e565b3d91506102dc565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6122c4604051926103836020830185610300565b8184526020840191610fff833961041060405192602080850173ca11bde05977b3631167028862be2a173976ca1181528186526103c1604087610300565b604051958693838501995180918b5e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610300565b6040519361041f604086610300565b600c85527f547261696c73526f7574657200000000000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610866575b73ffffffffffffffffffffffffffffffffffffffff908351902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528660358301526055820152605581526104ed607582610300565b519020169384906002823b1161081a57906105409160405190610511604083610300565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610f3b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561081657604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561080b576107f6575b509060206105f292604051809481927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610e51565b84602483015203818473ce0042b868300000d44a59004da54a005ffdcf9f5af19182156107e9578192610794575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078957610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b55790565b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b61077c828092610300565b610786578061068a565b80fd5b6040513d84823e3d90fd5b9091506020813d6020116107e1575b816107b060209383610300565b810103126107dd575173ffffffffffffffffffffffffffffffffffffffff811681036107dd57905f610620565b5080fd5b3d91506107a3565b50604051903d90823e3d90fd5b610801838092610300565b6107dd575f6105af565b6040513d85823e3d90fd5b8280fd5b915091508261086393505060405190610834604083610300565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610f3b565b90565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bef575b5f8061090761094d6040516108a0604082610300565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610e51565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa506040516109716101a082610300565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610beb5784610b9891604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610e51565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610bc7575b5050610468565b81610bd191610300565b610bdc57835f610bc0565b8380fd5b6040513d87823e3d90fd5b8480fd5b5f80610c6c610c98604051610c05604082610300565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610e51565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610080576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102c357610e3c575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e0f5785808093819382906657c084e5f3c00014610e06575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561080b57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bdc576040517f76eadd36000000000000000000000000000000000000000000000000000000008152848160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610df1575b505061088a565b81610dfb91610300565b610bdc57835f610dea565b506108fc610d62565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610e499194505f90610300565b5f925f610d1c565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610ef1610f245f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610e51565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50565b610f24610f9b915f9473ffffffffffffffffffffffffffffffffffffffff610fcb87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610e51565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610e51565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261030056fe610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220251b377e7cc5dd80ba7afd969ede0bd9fcdd8b9282e76cc5e674ad849a56b6f264736f6c634300081e003361016060405234610096576107946020813803918261001d816100ae565b93849283398101031261009657516001600160a01b038116810361009657610044906100d8565b6040516105d890816101bc8239608051816102a5015260a051816101a0015260c0518161016d015260e0518161036d015261010051815050610120518150506101405181818161010d01526104a20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100d357604052565b61009a565b306080526100e4610163565b6001600160a01b03811615610154576100fc81610179565b801561013e57600160e0526003610100526005610120525b60c05260a0526001600160a01b0381161561012f5761014052565b631df13ab560e01b5f5260045ffd5b600260e052600461010052600661012052610114565b632aea588760e01b5f5260045ffd5b696002601e613d5c3d52f35f52600a60165ff090565b5f80808093600a5a04fa3d156101b8573d6001600160401b0381116100d3576101ab601f8201601f19166020016100ae565b9081525f60203d92013e90565b9056fe60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e0033a2646970667358221220911eb483696e66e4f4dbedb88971aa357ffdabd80a1819f2dec507042ee7b3ef64736f6c634300081e0033","sourceMap":"276:1346:53:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;849:28:3;276:1346:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;761:25:53;;2030:14:2;276:1346:53;761:25;;2030:14:2;;;;;;;;;;;;761:25:53;;;336:42:2;761:25:53;;;;;;;276:1346;761:25;;;276:1346;;;;2030:14:2;822:11:53;;;276:1346;822:11;;2030:14:2;;822:11:53;2030:14:2;822:11:53;336:42:2;822:11:53;;;;;;843:49;822:11;276:1346;822:11;;;276:1346;2030:14:2;276:1346:53;;2030:14:2;276:1346:53;2030:14:2;;:::i;:::-;;;;;;;;;843:49:53;:::i;:::-;276:1346;;1045:24;;;;;;;2030:14:2;1045:24:53;;;;;;;;;;;;276:1346;1045:24;;;;;276:1346;;1079:18;;;;;276:1346;;2030:14:2;1079:18:53;;276:1346;1079:18;276:1346;1079:18;;;;;;;;;;;276:1346;;2030:14:2;276:1346:53;;2030:14:2;276:1346:53;;1194:29;;;;2030:14:2;1194:29:53;;;276:1346;1194:29;;2030:14:2;1194:29:53;;;;;;276:1346;1194:29;;;;;276:1346;2030:14:2;;;1178:45:53;2030:14:2;;;;;;;;;1178:45:53;2030:14:2;;;276:1346:53;1233:55;276:1346;;;2030:14:2;276:1346:53;2030:14:2;;:::i;:::-;;;;;;;;;1233:55:53;:::i;:::-;1399:35;;276:1346;1382:80;276:1346;;1399:35;2030:14:2;;1399:35:53;;2030:14:2;;:::i;:::-;1399:35:53;;;2030:14:2;1399:35:53;;;;;;2030:14:2;276:1346:53;;1436:25;;;;276:1346;;;1436:25;;;;276:1346;1436:25;;:::i;:::-;276:1346;;1382:80;;;;;;2030:14:2;;;;;;;;;;;;;;;;;;;;;;;;;;1382:80:53;2030:14:2;1382:80:53;;;;;;:::i;:::-;276:1346;;2030:14:2;;276:1346:53;2030:14:2;;:::i;:::-;;;;;;;;;608:1:0;107:42:1;570:34:0;:39;;566:613;;276:1346:53;;2030:14:2;;;2313:20:0;;276:1346:53;;2030:14:2;2247:87:0;;276:1346:53;;;;;;;;;;;;;2030:14:2;276:1346:53;;;2030:14:2;276:1346:53;2247:87:0;;;;;;:::i;:::-;2030:14:2;2237:98:0;;276:1346:53;;608:1:0;1460:16;;:21;608:1;;276:1346:53;1497:39:0;276:1346:53;;;2030:14:2;;276:1346:53;2030:14:2;;:::i;:::-;1178:45:53;2030:14:2;;276:1346:53;2030:14:2;276:1346:53;;;1497:39:0;:::i;:::-;336:42:2;1550:21:0;;;;276:1346:53;;1550:21:0;2030:14:2;1550:21:0;;276:1346:53;1550:21:0;;2030:14:2;1550:21:0;;2030:14:2;1550:21:0;;336:42:2;1550:21:0;;;;;;;;1456:551;276:1346:53;;2030:14:2;442:41:0;276:1346:53;;;1606:42:0;;;;2030:14:2;1606:42:0;;276:1346:53;;1606:42:0;;442:41;2030:14:2;442:41:0;;;;:::i;:::-;;2030:14:2;442:41:0;;2030:14:2;1606:42:0;;;107::1;1606::0;;;;;;;;;;;1456:551;1662:18;336:42:2;1662:18:0;;;;276:1346:53;;;2030:14:2;1662:18:0;;;;276:1346:53;1662:18:0;;336:42:2;1662:18:0;;;;;;;;1456:551;276:1346:53;;;;1698:18:0;;1694:109;;608:1;1820:16;;:21;;1816:104;;1560:53:53;1456:551:0;;2030:14:2;276:1346:53;2030:14:2;;;;:::i;:::-;274:12:1;2030:14:2;;;;;;;1560:53:53;:::i;:::-;276:1346;;1816:104:0;761:25:53;276:1346;;1868:37:0;;;2030:14:2;276:1346:53;1868:37:0;;442:41;2030:14:2;;442:41:0;;2030:14:2;442:41:0;2030:14:2;;;442:41:0;1868:37;1694:109;761:25:53;276:1346;;1743:45:0;;;2030:14:2;276:1346:53;1743:45:0;;442:41;2030:14:2;;442:41:0;;2030:14:2;442:41:0;2030:14:2;;;442:41:0;1743:45;1662:18;;;;;:::i;:::-;276:1346:53;;1662:18:0;;;;276:1346:53;;;;1662:18:0;276:1346:53;;2030:14:2;276:1346:53;;2030:14:2;;;;1606:42:0;;;2030:14:2;1606:42:0;;2030:14:2;1606:42:0;;;;;;2030:14:2;1606:42:0;;;:::i;:::-;;;442:41;;;;;276:1346:53;;;2030:14:2;;;;1606:42:0;;;;;;-1:-1:-1;1606:42:0;;;276:1346:53;;2030:14:2;276:1346:53;;2030:14:2;;;;1550:21:0;;;;;:::i;:::-;276:1346:53;;1550:21:0;;;;;276:1346:53;;;1456:551:0;276:1346:53;;;1560:53;276:1346;;;1950:46:0;276:1346:53;2030:14:2;276:1346:53;;2030:14:2;;276:1346:53;2030:14:2;;:::i;:::-;276:1346:53;2030:14:2;;276:1346:53;2030:14:2;276:1346:53;;;1950:46:0;:::i;:::-;1456:551;;566:613;274:12:1;189:42;629:26:0;:50;625:360;;566:613;358:279:18;276:1346:53;;7823:54:18;276:1346:53;;2030:14:2;276:1346:53;2030:14:2;;:::i;:::-;274:12:1;2030:14:2;;274:12:1;2030:14:2;274:12:1;;;276:1346:53;;7823:54:18;;;;2030:14:2;7823:54:18;;;276:1346:53;2030:14:2;7823:54:18;;276:1346:53;761:25;276:1346;;;;:::i;:::-;107:42:1;2030:14:2;276:1346:53;;;7823:54:18;2030:14:2;7823:54:18;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;276:1346:53;;2030:14:2;;;;:::i;:::-;274:12:1;2030:14:2;;274:12:1;2030:14:2;274:12:1;;;;276:1346:53;274:12:1;;;;;;;;;;;;;;;;;;;;;;;;276:1346:53;274:12:1;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;274:12:1;;;336:42:2;1121:47:0;;;;276:1346:53;329:739:1;276:1346:53;;;1121:47:0;;;;2030:14:2;1121:47:0;;2030:14:2;276:1346:53;1121:47:0;;329:739:1;2030:14:2;329:739:1;;;;:::i;:::-;1121:47:0;;;336:42:2;1121:47:0;;;;;;;;;;;566:613;;;;;1121:47;;;;;:::i;:::-;276:1346:53;;1121:47:0;;;;;276:1346:53;;2030:14:2;276:1346:53;;2030:14:2;;;;1121:47:0;276:1346:53;;;625:360:0;274:12:1;;;358:279:18;276:1346:53;;6262:42:18;2030:14:2;276:1346:53;2030:14:2;;;;:::i;:::-;274:12:1;2030:14:2;;274:12:1;2030:14:2;274:12:1;;;276:1346:53;;6262:42:18;;;;2030:14:2;6262:42:18;;;2030:14:2;;6262:42:18;;276:1346:53;2030:14:2;276:1346:53;;;;:::i;:::-;6262:42:18;2030:14:2;6262:42:18;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;336:42:2;807:21:0;;;;276:1346:53;;;2030:14:2;807:21:0;;;276:1346:53;807:21:0;;2030:14:2;807:21:0;;2030:14:2;807:21:0;;336:42:2;807:21:0;;;;;;;;625:360;907:26;;189:42:1;907:26:0;274:12:1;;;;;;;;;846:88:0;;;;;;;;;;;274:12:1;846:88:0;;;625:360;189:42:1;846:88:0;;;;;336:42:2;952:18:0;;;;276:1346:53;;2030:14:2;952:18:0;;;;276:1346:53;952:18:0;;336:42:2;952:18:0;;;;;;;;;;;625:360;;;;;952:18;;;;;:::i;:::-;276:1346:53;;952:18:0;;;;846:88;-1:-1:-1;846:88:0;;;274:12:1;2030:14:2;274:12:1;;;;2030:14:2;276:1346:53;274:12:1;;807:21:0;;;;;:::i;:::-;276:1346:53;;807:21:0;;;;276:1346:53;;;;1194:29;;;;2030:14:2;1194:29:53;2030:14:2;1194:29:53;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;1079:18;2030:14:2;1079:18:53;;276:1346;1079:18;;;:::i;:::-;276:1346;1079:18;;;;276:1346;;2030:14:2;276:1346:53;2030:14:2;;;;;1079:18:53;276:1346;;;1045:24;2030:14:2;276:1346:53;2030:14:2;;276:1346:53;2030:14:2;;276:1346:53;2030:14:2;822:11:53;;;;2030:14:2;822:11:53;2030:14:2;822:11:53;;;;;;;:::i;:::-;;;;761:25;;;2030:14:2;761:25:53;;2030:14:2;761:25:53;;;;;;2030:14:2;761:25:53;;;:::i;:::-;;;2030:14:2;;;;;761:25:53;;;;;;-1:-1:-1;761:25:53;;276:1346;;;;;;;;;;;;;;505:28;276:1346;;;;;;;2030:14:2;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;276:1346:53;;;2030:14:2;;;;;:::o;276:1346:53:-;;2030:14:2;;;276:1346:53;;2030:14:2;;;;;;;;276:1346:53;2030:14:2;;;;-1:-1:-1;2030:14:2;;;;;;;;276:1346:53;;;:::o;7740:145:18:-;276:1346:53;7823:54:18;358:279;7740:145;;;;276:1346:53;;;7823:54:18;;;;;;;;276:1346:53;7823:54:18;;;276:1346:53;;;;;;:::i;:::-;;;;;;;7823:54:18;;;;;;;;:::i;:::-;358:279;;;;;131:42;358:279;;;7740:145::o;12983:174::-;13084:65;276:1346:53;12983:174:18;358:279;12983:174;276:1346:53;;12983:174:18;;276:1346:53;;13084:65:18;;;;;;;;276:1346:53;13084:65:18;;;276:1346:53;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;13084:65:18;;;;;;;;:::i","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","routerAddress()":"3268cc56","run()":"c0406226"}}}},"src/TrailsIntentEntrypoint.sol":{"TrailsIntentEntrypoint":{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"_domainSeparator","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"TRAILS_INTENT_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"depositToIntent","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"intentAddress","type":"address","internalType":"address"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"feeAmount","type":"uint256","internalType":"uint256"},{"name":"feeCollector","type":"address","internalType":"address"},{"name":"sigV","type":"uint8","internalType":"uint8"},{"name":"sigR","type":"bytes32","internalType":"bytes32"},{"name":"sigS","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"depositToIntentWithPermit","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"permitAmount","type":"uint256","internalType":"uint256"},{"name":"intentAddress","type":"address","internalType":"address"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"feeAmount","type":"uint256","internalType":"uint256"},{"name":"feeCollector","type":"address","internalType":"address"},{"name":"permitV","type":"uint8","internalType":"uint8"},{"name":"permitR","type":"bytes32","internalType":"bytes32"},{"name":"permitS","type":"bytes32","internalType":"bytes32"},{"name":"sigV","type":"uint8","internalType":"uint8"},{"name":"sigR","type":"bytes32","internalType":"bytes32"},{"name":"sigS","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonces","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"FeePaid","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"feeToken","type":"address","indexed":true,"internalType":"address"},{"name":"feeAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"feeCollector","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"IntentDeposit","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"intentAddress","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"IntentExpired","inputs":[]},{"type":"error","name":"InvalidAmount","inputs":[]},{"type":"error","name":"InvalidFeeParameters","inputs":[]},{"type":"error","name":"InvalidIntentAddress","inputs":[]},{"type":"error","name":"InvalidIntentSignature","inputs":[]},{"type":"error","name":"InvalidNonce","inputs":[]},{"type":"error","name":"InvalidToken","inputs":[]},{"type":"error","name":"PermitAmountMismatch","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IntentExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFeeParameters\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidIntentAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidIntentSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermitAmountMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"name\":\"FeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"intentAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"IntentDeposit\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"_domainSeparator\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TRAILS_INTENT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"intentAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"sigV\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"sigR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"sigS\",\"type\":\"bytes32\"}],\"name\":\"depositToIntent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"permitAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"intentAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"permitV\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"permitR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"permitS\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"sigV\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"sigR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"sigS\",\"type\":\"bytes32\"}],\"name\":\"depositToIntentWithPermit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Miguel Mota\",\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"events\":{\"FeePaid(address,address,uint256,address)\":{\"params\":{\"feeAmount\":\"The amount of the fee paid.\",\"feeCollector\":\"The address receiving the fee.\",\"feeToken\":\"The ERC-20 token used to pay the fee.\",\"user\":\"The account from which the fee was taken.\"}},\"IntentDeposit(address,address,uint256)\":{\"params\":{\"amount\":\"The amount of tokens deposited\",\"intentAddress\":\"The intent address receiving the deposit\",\"user\":\"The user making the deposit\"}}},\"kind\":\"dev\",\"methods\":{\"depositToIntent(address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32)\":{\"params\":{\"amount\":\"The amount to deposit\",\"deadline\":\"The intent deadline\",\"feeAmount\":\"The amount of fee to pay (0 for no fee, paid in same token)\",\"feeCollector\":\"The address to receive the fee (address(0) for no fee)\",\"intentAddress\":\"The intent address to deposit to\",\"nonce\":\"The nonce for this user\",\"sigR\":\"The intent signature r component\",\"sigS\":\"The intent signature s component\",\"sigV\":\"The intent signature v component\",\"token\":\"The token to deposit (also used for fee payment)\",\"user\":\"The user making the deposit\"}},\"depositToIntentWithPermit(address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32)\":{\"params\":{\"amount\":\"The amount to deposit\",\"deadline\":\"The permit deadline\",\"feeAmount\":\"The amount of fee to pay (0 for no fee, paid in same token)\",\"feeCollector\":\"The address to receive the fee (address(0) for no fee)\",\"intentAddress\":\"The intent address to deposit to\",\"nonce\":\"The nonce for this user\",\"permitAmount\":\"The amount to permit for spending (amount + feeAmount if paying fee)\",\"permitR\":\"The permit signature r component\",\"permitS\":\"The permit signature s component\",\"permitV\":\"The permit signature v component\",\"sigR\":\"The intent signature r component\",\"sigS\":\"The intent signature s component\",\"sigV\":\"The intent signature v component\",\"token\":\"The token to deposit (also used for fee payment)\",\"user\":\"The user making the deposit\"}}},\"title\":\"TrailsIntentEntrypoint\",\"version\":1},\"userdoc\":{\"events\":{\"FeePaid(address,address,uint256,address)\":{\"notice\":\"Emitted when a fee is paid.\"},\"IntentDeposit(address,address,uint256)\":{\"notice\":\"Emitted when a user deposits tokens to an intent address\"}},\"kind\":\"user\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"notice\":\"Returns the EIP-712 domain separator used for intent signatures. forge-lint: disable-next-line(mixed-case-function)\"},\"TRAILS_INTENT_TYPEHASH()\":{\"notice\":\"Returns the trails intent typehash constant used in EIP-712 signatures. forge-lint: disable-next-line(mixed-case-function)\"},\"VERSION()\":{\"notice\":\"Returns the version string of the contract. forge-lint: disable-next-line(mixed-case-function)\"},\"depositToIntent(address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32)\":{\"notice\":\"Deposit tokens to an intent address (requires prior approval)\"},\"depositToIntentWithPermit(address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32)\":{\"notice\":\"Deposit tokens to an intent address using ERC20 permit\"},\"nonces(address)\":{\"notice\":\"Tracks nonce for each user to prevent replay attacks.\"}},\"notice\":\"A contract to facilitate deposits to intent addresses with off-chain signed intents.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/TrailsIntentEntrypoint.sol\":\"TrailsIntentEntrypoint\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x69f55097613b5f799fc433819715bdf3c5cbf785c68552512f0a0f5382fd7d04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c87c85b779707e85e58e79c3ae3394f3a024fd4d831b94ce4eb411ee20de48b6\",\"dweb:/ipfs/QmdDsm82edRT28MfhgCEAiXH5WTdtrH5MAppRup5RmbzH5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x6f9ed073e3dab12233a79cd85153f72c9e0f99c1f5512f6d5b1ef09fb46abbb0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://093d2a804b792a0000883c2215585963ed98ec4341b45bc4224844623387d161\",\"dweb:/ipfs/QmR5shjVosAoxdmY3EfkUWgFNV4CVUcbRNS7tkvbipssPX\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x4f7de0846587a28ea3623077dd809d53f08ad6176738ce1cedf272cb7bc2a107\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a189921ec61afa7c7348a1699b2550dcba5fb449ae8966e91ef3acd2dc60a4a\",\"dweb:/ipfs/Qma7cmxAGYyMPiEtH2Bv5QNHFmob88ZE6qYfZKFzuW8A4U\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"src/TrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x095a96c9100409f00dff1193b1f7489763e3a2b3d3a73a4e684a5b8d5384219c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75826e1d2f658a3edfeea2251ffd6128c563a2989382743def54f911be1d5c34\",\"dweb:/ipfs/QmNQZxaq6Tbm7XGC9jNvhCfZU3d1b3adkot38sCFze7yeR\"]},\"src/interfaces/ITrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x78527a499f07b4dd729a294f2616d727f2d25d505b29f0d2758af6958d157ef4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5955cc80d7c662efb07420a6e43fe9d5d0111ff5d5bcd059ca8727f99a6fe9d3\",\"dweb:/ipfs/Qmd47ZRVEMgzUDFXXc3UvVNpeEbrs2pte4vsFy5bPsRPVf\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460395760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055610deb908161003e8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033","sourceMap":"703:7682:54:-:0;;;;;;;2365:1:38;1505:66;2365:1;703:7682:54;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033","sourceMap":"703:7682:54:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;;;;;4479:564;703:7682;;:::i;:::-;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;4479:564;;:::i;:::-;703:7682;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3067:1362;703:7682;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;3067:1362;;:::i;703:7682::-;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;703:7682:54;-1:-1:-1;703:7682:54;;;;-1:-1:-1;703:7682:54;;;;;;;;;;;;;;;;;;;;;;1255:190;703:7682;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2989:103:38;;;;;4936:4:54;2989:103:38;;;;;5023:12:54;2989:103:38;;;;;;:::i;:::-;4936:4:54;;;;;:::i;:::-;5023:12;:::i;:::-;2365:1:38;1505:66;2407:1;2989:103::o;:::-;;;;;;;;;;;;;;;;;;;3637:4:54;2989:103:38;;;;;;;:::i;:::-;3637:4:54;:::i;:::-;703:7682;;;3877:34;;3873:69;;703:7682;;;4086:98;;;;;;4409:12;703:7682;;4086:98;703:7682;;;4086:98;;;703:7682;4086:98;;703:7682;;;4086:98;;;703:7682;4127:4;703:7682;;;;;;;;;;;;;;;;;;;;;;;;;4086:98;;703:7682;4086:98;;;;;;;;;2989:103:38;4409:12:54;;:::i;:::-;3054:1:38;2365;1505:66;2407:1;4047:253;3054:1;2989:103::o;4086:98:54:-;;;;;;;:::i;:::-;;;:::i;:::-;;;;3873:69;3920:22;;;;;;2778:239;703:7682;;;;;;:::i;:::-;1552:95;703:7682;;1552:95;;;;;;1699:42;703:7682;;:::i;:::-;1552:95;703:7682;;1552:95;;1796:25;703:7682;;2893:107;1552:95;2893:107;;703:7682;1552:95;703:7682;;;1796:25;;703:7682;1796:25;;;703:7682;2971:13;1796:25;;;703:7682;2994:4;1796:25;;;703:7682;1796:25;2893:107;;;;;;:::i;:::-;703:7682;2870:140;;2778:239;:::o;3749:292:38:-;2407:1;1505:66;703:7682:54;4560:63:38;3644:93;;2407:1;1505:66;2407:1;3749:292::o;3644:93::-;3696:30;-1:-1:-1;3696:30:38;;-1:-1:-1;3696:30:38;703:7682:54;;;;;;;;;:::o;:::-;;;;;;;;;;6203:2180;;;;;;;;;;;;6532:11;;6528:39;;703:7682;;;6581:19;6577:46;;703:7682;;;6637:27;6633:62;;6709:15;;:26;6705:54;;6952:12;;703:7682;;6542:1;703:7682;6542:1;703:7682;;;6542:1;703:7682;;;6952:12;703:7682;6943:21;;6939:48;;8208:39;7223:544;7938:241;7223:544;7938:241;7223:544;;;;;;;;1255:190;7223:544;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7804:18;;:::i;:::-;7938:241;7223:544;7938:241;;;;;7223:544;7938:241;;;7223:544;7938:241;;;;;8208:39;:::i;:::-;703:7682;;;;;;8261:17;8257:54;;8362:12;;703:7682;;6542:1;703:7682;6542:1;703:7682;;;6542:1;703:7682;;;8362:12;:14;703:7682;;8362:14;:::i;:::-;2407:1:38;;6203:2180:54:o;8257:54::-;8287:24;6542:1;8287:24;;6542:1;8287:24;6939:48;6973:14;6542:1;6973:14;;6542:1;6973:14;6705:54;6744:15;6542:1;6744:15;;6542:1;6744:15;6633:62;6673:22;6542:1;6673:22;;6542:1;6673:22;6577:46;6609:14;6542:1;6609:14;;6542:1;6609:14;6528:39;6552:15;6542:1;6552:15;;6542:1;6552:15;5049:900;;;;;;703:7682;;5308:6;;;;;;;:::i;:::-;5420:13;;;703:7682;;;;5471:26;;;;5511:41;;;;5507:172;;5900:42;;703:7682;;5692:41;;;5049:900;5688:197;;;5049:900;-1:-1:-1;;703:7682:54;;;;;-1:-1:-1;;703:7682:54;;;;;;;5900:42;5049:900::o;5688:197::-;5800:9;;;;;;:::i;:::-;703:7682;;;;;;;;;5829:45;;703:7682;;5829:45;5688:197;;;;;;5692:41;;;;;;5507:172;5646:22;5432:1;5646:22;;5432:1;5646:22;8826:260:42;;9044:8;8826:260;;8990:25;8826:260;8990:25;:::i;:::-;9044:8;;;;;:::i;:::-;8826:260;:::o;1662:232:33:-;;;;10404:1148;1662:232;10404:1148;;;;10365:28;-1:-1:-1;10404:1148:33;;;;;;;;;;-1:-1:-1;10404:1148:33;;;;;;1809:4;-1:-1:-1;10404:1148:33;;;;;;;1662:232;10404:1148;;;;;-1:-1:-1;10404:1148:33;;1766:48;1762:126;;1662:232;:::o;1762:126::-;1837:40;-1:-1:-1;1837:40:33;10404:1148;703:7682:54;10404:1148:33;703:7682:54;;-1:-1:-1;1837:40:33;10404:1148;1809:4;10404:1148;;;;;;;;;;;;;;;;;;-1:-1:-1;10404:1148:33;;;;;7142:1551:42;;;8222:66;8209:79;;8205:164;;703:7682:54;;;;;;-1:-1:-1;703:7682:54;;;;;;;;;;;;;;;;;;;8480:24:42;;;;;;;;;-1:-1:-1;8480:24:42;703:7682:54;;;8518:20:42;8514:113;;8637:49;-1:-1:-1;8637:49:42;-1:-1:-1;7142:1551:42;:::o;8514:113::-;8554:62;-1:-1:-1;8554:62:42;8480:24;8554:62;-1:-1:-1;8554:62:42;:::o;8480:24::-;703:7682:54;;;;;;;;;8205:164:42;8304:54;;;8320:1;8304:54;8324:30;8304:54;;:::o;703:7682:54:-;;-1:-1:-1;703:7682:54;;;:::o;:::-;;;;;;;;;;11374:532:42;703:7682:54;;;:::i;:::-;11460:29:42;;;11505:7;;:::o;11456:444::-;703:7682:54;;;:::i;:::-;11565:29:42;11556:38;;11565:29;;11617:23;11469:20;11617:23;;11469:20;11617:23;11552:348;703:7682:54;;;:::i;:::-;11670:35:42;11661:44;;11670:35;;11728:46;;11469:20;11728:46;11857:32;703:7682:54;;11469:20:42;11728:46;11657:243;703:7682:54;;11804:30:42;703:7682:54;;:::i;:::-;11795:39:42;11791:109;;11657:243;11374:532::o;11791:109::-;11857:32;11469:20;11857:32;;703:7682:54;;11469:20:42;11857:32","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","TRAILS_INTENT_TYPEHASH()":"f3961040","VERSION()":"ffa1ad74","depositToIntent(address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32)":"3525916f","depositToIntentWithPermit(address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32)":"358a8f48","nonces(address)":"7ecebe00"}}}},"src/TrailsRouter.sol":{"TrailsRouter":{"abi":[{"type":"constructor","inputs":[{"name":"_multicall3","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"MULTICALL3","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"__activateTstore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"execute","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"returnResults","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"handleSequenceDelegateCall","inputs":[{"name":"_opHash","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"injectAndCall","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"amountOffset","type":"uint256","internalType":"uint256"},{"name":"placeholder","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"injectSweepAndCall","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"amountOffset","type":"uint256","internalType":"uint256"},{"name":"placeholder","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"pullAmountAndExecute","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"returnResults","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"pullAndExecute","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"returnResults","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"refundAndSweep","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_refundRecipient","type":"address","internalType":"address"},{"name":"_refundAmount","type":"uint256","internalType":"uint256"},{"name":"_sweepRecipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"sweep","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"validateOpHashAndSweep","inputs":[{"name":"opHash","type":"bytes32","internalType":"bytes32"},{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"ActualRefund","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"expected","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"actual","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BalanceInjectorCall","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"target","type":"address","indexed":true,"internalType":"address"},{"name":"placeholder","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"amountReplaced","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountOffset","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"success","type":"bool","indexed":false,"internalType":"bool"},{"name":"result","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Refund","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RefundAndSweep","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"refundRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"refundAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sweepRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"actualRefund","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"remaining","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Sweep","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AllowFailureMustBeFalse","inputs":[{"name":"callIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"AmountOffsetOutOfBounds","inputs":[]},{"type":"error","name":"IncorrectValue","inputs":[{"name":"required","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidDelegatedSelector","inputs":[{"name":"selector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"InvalidFunctionSelector","inputs":[{"name":"selector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"NativeTransferFailed","inputs":[]},{"type":"error","name":"NoTokensToPull","inputs":[]},{"type":"error","name":"NoTokensToSweep","inputs":[]},{"type":"error","name":"NoValueAvailable","inputs":[]},{"type":"error","name":"NotDelegateCall","inputs":[]},{"type":"error","name":"OnlyDirectCalls","inputs":[]},{"type":"error","name":"PlaceholderMismatch","inputs":[]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"SuccessSentinelNotSet","inputs":[]},{"type":"error","name":"TStoreAlreadyActivated","inputs":[]},{"type":"error","name":"TStoreNotSupported","inputs":[]},{"type":"error","name":"TargetCallFailed","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"TloadTestContractDeploymentFailed","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_multicall3\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"callIndex\",\"type\":\"uint256\"}],\"name\":\"AllowFailureMustBeFalse\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AmountOffsetOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"required\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"IncorrectValue\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"}],\"name\":\"InvalidDelegatedSelector\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"}],\"name\":\"InvalidFunctionSelector\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NativeTransferFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoTokensToPull\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoTokensToSweep\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoValueAvailable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDelegateCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyDirectCalls\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PlaceholderMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SuccessSentinelNotSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TStoreAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TStoreNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"TargetCallFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TloadTestContractDeploymentFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"}],\"name\":\"ActualRefund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"placeholder\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountReplaced\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountOffset\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"BalanceInjectorCall\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Refund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"refundRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"refundAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sweepRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualRefund\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"remaining\",\"type\":\"uint256\"}],\"name\":\"RefundAndSweep\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Sweep\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MULTICALL3\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"__activateTstore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnResults\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_opHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"handleSequenceDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"amountOffset\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"placeholder\",\"type\":\"bytes32\"}],\"name\":\"injectAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"amountOffset\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"placeholder\",\"type\":\"bytes32\"}],\"name\":\"injectSweepAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"pullAmountAndExecute\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnResults\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"pullAndExecute\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnResults\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_refundRecipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_refundAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_sweepRecipient\",\"type\":\"address\"}],\"name\":\"refundAndSweep\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"sweep\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"opHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"validateOpHashAndSweep\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Miguel Mota, Shun Kakinoki\",\"details\":\"Must be delegatecalled via the Sequence delegated extension module to access wallet storage/balances.\",\"errors\":{\"NotDelegateCall()\":[{\"details\":\"Error thrown when a function expected to be delegatecalled is invoked directly\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"kind\":\"dev\",\"methods\":{\"__activateTstore()\":{\"details\":\"External function to activate TSTORE usage. Does not need to be called if TSTORE is supported from deployment, and only needs to be called once. Reverts if TSTORE has already been activated or if the opcode is not available. Note that this must be called directly from an externally-owned account to avoid potential reentrancy issues.\"},\"execute(bytes)\":{\"details\":\"Delegates to Multicall3 to preserve msg.sender context.\",\"params\":{\"data\":\"The data to execute.\"},\"returns\":{\"returnResults\":\"The result of the execution.\"}},\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"params\":{\"_data\":\"The data\",\"_index\":\"The index\",\"_numCalls\":\"The number of calls\",\"_opHash\":\"The operation hash\",\"_space\":\"The space\",\"_startingGas\":\"The starting gas\"}},\"injectAndCall(address,address,bytes,uint256,bytes32)\":{\"params\":{\"amountOffset\":\"The byte offset in calldata where the placeholder is located.\",\"callData\":\"The original calldata (must include a 32-byte placeholder).\",\"placeholder\":\"The 32-byte placeholder that will be replaced with balance.\",\"target\":\"The address to call with modified calldata.\",\"token\":\"The ERC-20 token to sweep, or address(0) for ETH.\"}},\"injectSweepAndCall(address,address,bytes,uint256,bytes32)\":{\"details\":\"Transfers tokens from msg.sender to this contract first.\",\"params\":{\"amountOffset\":\"The byte offset in calldata where the placeholder is located.\",\"callData\":\"The original calldata (must include a 32-byte placeholder).\",\"placeholder\":\"The 32-byte placeholder that will be replaced with balance.\",\"target\":\"The address to call with modified calldata.\",\"token\":\"The ERC-20 token to sweep, or address(0) for ETH.\"}},\"pullAmountAndExecute(address,uint256,bytes)\":{\"details\":\"For ERC20: requires prior approval. For ETH: requires msg.value.\",\"params\":{\"amount\":\"The amount to pull.\",\"data\":\"The calldata for Multicall3.\",\"token\":\"The ERC20 token to pull, or address(0) for ETH.\"},\"returns\":{\"returnResults\":\"The result of the execution.\"}},\"pullAndExecute(address,bytes)\":{\"details\":\"For ERC20: pulls entire balance and requires prior approval. For ETH: uses msg.value.\",\"params\":{\"data\":\"The calldata for Multicall3.\",\"token\":\"The ERC20 token to pull, or address(0) for ETH.\"},\"returns\":{\"returnResults\":\"The result of the execution.\"}},\"refundAndSweep(address,address,uint256,address)\":{\"details\":\"For delegatecall context.\",\"params\":{\"refundAmount\":\"Maximum amount to refund.\",\"refundRecipient\":\"Address receiving the refund portion.\",\"sweepRecipient\":\"Address receiving the remaining balance.\",\"token\":\"The token address to operate on. Use address(0) for native.\"}},\"sweep(address,address)\":{\"details\":\"For delegatecall context. Transfers all tokens/ETH held by the wallet to the recipient.\",\"params\":{\"recipient\":\"The address to send the swept tokens to.\",\"token\":\"The address of the token to sweep. Use address(0) for the native token.\"}},\"validateOpHashAndSweep(bytes32,address,address)\":{\"details\":\"For delegatecall context. Used to ensure prior operation succeeded.\",\"params\":{\"opHash\":\"The operation hash to validate.\",\"recipient\":\"The recipient of the sweep.\",\"token\":\"The token to sweep.\"}}},\"title\":\"TrailsRouter\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"execute(bytes)\":{\"notice\":\"Delegates to Multicall3 to preserve msg.sender context.\"},\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"notice\":\"Handle a sequence delegate call\"},\"injectAndCall(address,address,bytes,uint256,bytes32)\":{\"notice\":\"Injects balance and calls target (for delegatecall context).\"},\"injectSweepAndCall(address,address,bytes,uint256,bytes32)\":{\"notice\":\"Sweeps tokens from msg.sender and calls target with modified calldata.\"},\"pullAmountAndExecute(address,uint256,bytes)\":{\"notice\":\"Pull specific amount of tokens from msg.sender, then delegatecall into Multicall3.\"},\"pullAndExecute(address,bytes)\":{\"notice\":\"Pull tokens from msg.sender, then delegatecall into Multicall3.\"},\"refundAndSweep(address,address,uint256,address)\":{\"notice\":\"Refunds up to `_refundAmount` to `_refundRecipient`, then sweeps any remaining balance to `_sweepRecipient`.\"},\"sweep(address,address)\":{\"notice\":\"Sweeps the entire balance to recipient.\"},\"validateOpHashAndSweep(bytes32,address,address)\":{\"notice\":\"Validates that the success sentinel for an opHash is set, then sweeps tokens.\"}},\"notice\":\"Consolidated router for Trails operations including multicall routing, balance injection, and token sweeping\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/TrailsRouter.sol\":\"TrailsRouter\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033","sourceMap":"911:15344:55:-:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;911:15344:55;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;911:15344:55;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;911:15344:55;;;-1:-1:-1;;;;;911:15344:55;;;;;;;;;;:::o;:::-;;:::i;1632:74::-;784:4:57;776:13;;8755:335:49;-1:-1:-1;8755:335:49;;;-1:-1:-1;8755:335:49;-1:-1:-1;;;;;911:15344:55;;3014:31:49;3010:104;;3197:29;;;:::i;:::-;3237:647;;;;3433:10;3418:25;;3472:10;3457:25;;3513:12;3496:29;;3237:647;3894:44;;4029:38;;1675:24:55;;1632:74::o;3237:647:49:-;3722:30;3707:45;;3781:29;3766:44;;3841:32;3824:49;;3237:647;;3010:104;3068:35;;;3043:1;3068:35;;3043:1;3068:35;9346:407;-1:-1:-1;9346:407:49;;;;9738:2;9726:9;911:15344:55;9691:55:49;911:15344:55;;;;;-1:-1:-1;;;;;911:15344:55;;;;;;;;-1:-1:-1;;911:15344:55;;;;:::i;:::-;;;;-1:-1:-1;911:15344:55;;;;;9346:407:49;:::o;911:15344:55:-;9346:407:49;:::o","linkReferences":{}},"deployedBytecode":{"object":"6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033","sourceMap":"911:15344:55:-:0;;;;;;;;;-1:-1:-1;911:15344:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;911:15344:55;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;911:15344:55;;;;;;;;:::i;:::-;3053:4;;;;;:::i;:::-;911:15344;;;;;;;;;;;;;3110:29;:10;;:29;;;;:::i;:::-;3153:8;;3149:49;;3215:46;911:15344;;;;;;3215:46;;;;;;:::i;:::-;911:15344;;;;;;;:::i;:::-;;;;3149:49;3170:28;911:15344;;;3170:28;;;;;;911:15344;3170:28;;;:::i;:::-;;;;911:15344;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;1057:75:57;;:::i;:::-;479:48:62;-1:-1:-1;983:133:62;911:15344:55;983:133:62;911:15344:55;-1:-1:-1;983:133:62;9014:12:55;;911:15344;9014:12;;;911:15344;;;;;-1:-1:-1;911:15344:55;;;;;-1:-1:-1;911:15344:55;;581:1:62;6699:60:49;;911:15344:55;9014:53;9010:114;;1057:75:57;;:::i;:::-;12525:33:55;12552:4;12525:33;;:::i;:::-;7201:10;;7197:267;;911:15344;7197:267;911:15344;;7420:33;911:15344;;;;7231:20;;;;;7227:175;911:15344;;;7299:6;;;;:::i;:::-;911:15344;;;;;;7420:33;;911:15344;7227:175;7380:6;;;:::i;:::-;7227:175;;9010:114;9090:23;-1:-1:-1;9090:23:55;911:15344;-1:-1:-1;9090:23:55;911:15344;;581:1:62;911:15344:55;;-1:-1:-1;911:15344:55;;7264:210:49;911:15344:55;;;7298:68:49;911:15344:55;;7264:210:49;7396:68;911:15344:55;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;8650:97;911:15344;;;;;;:::i;:::-;1057:75:57;;:::i;:::-;8650:97:55;12552:4;12544:13;12525:33;;;;:::i;:::-;7769:23;;;;;;12525:33;7769:49;;;7832:29;;;7828:132;;7769:49;7973:16;7969:310;;7769:49;12525:33;;:::i;:::-;8346:13;;8342:294;;7769:49;911:15344;;;;;;;;;;;;8650:97;;911:15344;;;;;;;;;;;;;;;;;;8650:97;;;;911:15344;8342:294;911:15344;;;8379:20;911:15344;;8452:9;;;;:::i;:::-;911:15344;;;;;;;;;;8584:41;;911:15344;;8584:41;8342:294;;8375:191;8541:9;;;;;:::i;:::-;8375:191;;7969:310;911:15344;;;8009:20;911:15344;;8083:12;;;;:::i;:::-;911:15344;;;;;;;;;;8222:46;;911:15344;;8222:46;7969:310;;8005:199;8176:12;;;;;:::i;:::-;8005:199;;7828:132;911:15344;;;;;;;;;;;;;;;;;;;;7882:67;;911:15344;7882:67;7828:132;;7769:49;;12525:33;7769:49;;;;911:15344;;;;;;;;;;;;;;;;;;;;;9422:1755;911:15344;;;;;;:::i;:::-;1057:75:57;;;:::i;:::-;9422:1755:55;:::i;911:15344::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;:::i;:::-;;;;;;;;;6356:19;;;;:37;;;911:15344;6352:103;;12525:33;12552:4;12525:33;;:::i;:::-;6525:18;;;6521:194;;911:15344;6725:88;911:15344;;;;;;:::i;:::-;6725:88;;:::i;6521:194::-;6559:146;;;6609:18;6373:1;6609:18;911:15344;6373:1;6609:18;6559:146;6673:17;6373:1;6673:17;911:15344;6373:1;6673:17;6352:103;6416:28;6373:1;6416:28;6373:1;911:15344;;6434:9;911:15344;;;6373:1;6416:28;6356:37;6379:9;;:14;;6356:37;;911:15344;;;;;;;;;;;4635:9:49;4621:10;:23;4617:78;;4770:21;:39;;;;911:15344:55;4766:101:49;;4948:31;911:15344:55;4960:18:49;;;;9738:2;9726:9;911:15344:55;9691:55:49;;;:::i;:::-;-1:-1:-1;4948:31:49;;911:15344:55;4948:31:49;4944:89;;5080:21;5097:4;911:15344:55;;;;;;;;4944:89:49;5002:20;911:15344:55;5002:20:49;911:15344:55;;5002:20:49;4766:101;4832:24;911:15344:55;4832:24:49;911:15344:55;;4832:24:49;4770:39;911:15344:55;;;;;4770:39:49;;4617:78;4667:17;911:15344:55;4667:17:49;911:15344:55;;4667:17:49;911:15344:55;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;3473:14;;;911:15344;;;;;3540:9;:14;3536:45;;911:15344;3540:9;3765:41;3540:9;;3497:251;3765:41;:::i;3536:45::-;3563:18;-1:-1:-1;3563:18:55;911:15344;-1:-1:-1;3563:18:55;3497:251;3653:30;3672:10;3653:30;;:::i;:::-;3701:11;;;3697:40;;911:15344;3497:251;3765:41;3497:251;3765:41;:::i;3697:40::-;3721:16;-1:-1:-1;3721:16:55;911:15344;-1:-1:-1;3721:16:55;911:15344;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;1057:75:57;;:::i;911:15344:55:-;;;;;;;;;;;;;;;1408:35;911:15344;;;;;;;;:::i;:::-;5556:21;;;;;911:15344;;;5592:19;5588:426;911:15344;;;5643:9;;;5670:18;5666:49;;6024:88;5588:426;911:15344;5588:426;;911:15344;;;:::i;5588:426::-;5750:9;5746:55;;5831:30;5850:10;5831:30;;:::i;:::-;5879:18;;;5875:48;;6024:88;5982:4;911:15344;5982:4;5989:13;5982:4;;5850:10;5989:13;;:::i;:::-;5588:426;;911:15344;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;911:15344:55;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;911:15344:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;1057:75:57;;;:::i;:::-;479:48:62;-1:-1:-1;983:133:62;;;;-1:-1:-1;983:133:62;9014:12:55;;911:15344;9014:12;;;911:15344;;;;;-1:-1:-1;911:15344:55;;;;;-1:-1:-1;911:15344:55;;581:1:62;6699:60:49;;911:15344:55;9014:53;9010:114;;1057:75:57;;:::i;:::-;12525:33:55;12552:4;12525:33;;:::i;:::-;7201:10;;7197:267;;1057:75:57;;;:::o;7197:267:55:-;983:133:62;911:15344:55;7420:33;911:15344;;;;7231:20;;;;;7227:175;911:15344;;;7299:6;;;;:::i;:::-;983:133:62;911:15344:55;;;;;7420:33;;1057:75:57:o;7227:175:55:-;7380:6;;;:::i;:::-;7227:175;;911:15344;;581:1:62;911:15344:55;;-1:-1:-1;911:15344:55;;7264:210:49;911:15344:55;;;7298:68:49;911:15344:55;;7264:210:49;7396:68;911:15344:55;;1057:75:57;;;;911:15344:55;8650:97;1057:75:57;;;:::i;:::-;8650:97:55;12552:4;12544:13;911:15344;8650:97;;;;1057:75:57:o;911:15344:55:-;;9802:1;911:15344;;;;9802:1;911:15344;:::o;:::-;;;;;;9802:1;911:15344;;;;;;;9802:1;911:15344;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;911:15344:55;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;9422:1755::-;;;-1:-1:-1;9786:17:55;9802:1;9786:17;;;9782:77;;9422:1755;911:15344;;;;9912:39;;9908:361;;911:15344;10318:31;;10314:197;;911:15344;10525:40;;10521:337;;911:15344;10872:48;10868:251;;11136:34;-1:-1:-1;11136:34:55;911:15344;;;9802:1;911:15344;;11136:34;-1:-1:-1;11136:34:55;10868:251;8794:371;10986:9;;10975:50;10986:9;;911:15344;10986:9;;;;;:::i;:::-;10975:50;;;;:::i;:::-;911:15344;;;;;;;8794:371;;:::i;:::-;11102:7::o;10521:337::-;10697:9;7510:1244;10697:9;;911:15344;10697:9;;10686:59;10697:9;;;;;;;:::i;:::-;10686:59;;;;:::i;:::-;911:15344;;;;;;;;;7510:1244;:::i;10314:197::-;10413:9;7054:416;10413:9;;911:15344;10413:9;;;;;;10402:41;10413:9;;:::i;:::-;10402:41;;;;:::i;:::-;911:15344;;;;;;7054:416;:::i;9908:361::-;10094:9;10226:11;10094:9;;911:15344;10094:9;;;;;;10083:66;10094:9;;:::i;:::-;10083:66;;;;:::i;:::-;911:15344;;;;;;;;;;10226:11;:::i;9782:77::-;9837:10;;9830:18;9837:10;;;;:::i;:::-;9830:18;;:::i;:::-;9782:77;;;3853:1265;;;;;;4060:4;;;;:::i;:::-;911:15344;;;4079:19;;;4075:274;;;;;;4118:9;;:19;4114:65;;4075:274;4096:1;4075:274;;;;911:15344;;;;;;;;:::i;:::-;4401:29;:10;;:29;;;;:::i;:::-;4444:8;;4440:49;;911:15344;4515:46;911:15344;4515:46;911:15344;;4515:46;;;;;;:::i;:::-;12552:4;12525:33;12552:4;12525:33;;:::i;:::-;4840:13;;4836:276;;4075:274;3853:1265;;;;:::o;4836:276::-;4869:179;;;;;4940:9;4928:10;;;4940:9;:::i;:::-;911:15344;;;;;5079:10;;5066:35;;911:15344;;5066:35;4836:276;;;;;;4869:179;5023:9;5011:10;;5023:9;;:::i;:::-;4869:179;;4114:65;4146:33;4096:1;4146:33;;911:15344;4118:9;911:15344;;;-1:-1:-1;11136:34:55;4075:274;4214:9;;;4210:55;;4096:1;4324:4;4331:6;4324:4;;;4304:10;4331:6;;:::i;:::-;4075:274;;4210:55;4237:28;4096:1;4237:28;;;;911:15344;4214:9;911:15344;;;-1:-1:-1;11136:34:55;1057:75:57;;;:::i;911:15344:55:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;14840:1413;14977:1;14959:19;;14955:66;;15050:21;15057:13;;;;:::i;15050:21::-;911:15344;;;;15169:22;;911:15344;;15359:12;;;15348:52;15359:12;;;;:::i;:::-;15348:52;;;;:::i;:::-;15066:1;15527:3;911:15344;;15509:16;;;;;15554:21;;:8;;;;:::i;:::-;;:21;911:15344;;;;;15554:21;15550:101;;911:15344;;15494:13;;15550:101;15606:26;15066:1;15606:26;14977:1;911:15344;;-1:-1:-1;11136:34:55;15509:16;;;14840:1413::o;15165:1082::-;911:15344;15685:22;911:15344;;15865:12;;15854:47;15865:12;;;;:::i;:::-;15854:47;;;;:::i;:::-;15066:1;16028:3;911:15344;;16010:16;;;;;16055:21;;:8;;;;:::i;:21::-;16051:101;;911:15344;;15995:13;;15681:566;16203:33;15066:1;16203:33;911:15344;;9802:1;911:15344;;-1:-1:-1;11136:34:55;14955:66;14987:34;15018:1;14987:34;;911:15344;;;14977:1;911:15344;;1386:112:57;911:15344:55;1460:5:57;911:15344:55;1451:4:57;1443:22;1439:52;;1386:112::o;1439:52::-;1474:17;;;;;;11947:178:55;911:15344;;1306:37:33;911:15344:55;8544:1067:33;;;8509:24;-1:-1:-1;8544:1067:33;;;;;;;-1:-1:-1;8544:1067:33;;;;;;1338:4;-1:-1:-1;8544:1067:33;;;;;;;11947:178:55;8544:1067:33;;;;;1305:38;;1301:116;;11947:178:55;:::o;1301:116:33:-;1366:40;-1:-1:-1;1366:40:33;911:15344:55;;8544:1067:33;911:15344:55;;-1:-1:-1;11136:34:55;8544:1067:33;1338:4;8544:1067;;;;;;;;;;;;;;;;;;-1:-1:-1;8544:1067:33;;;;;11693:189:55;11785:37;11693:189;;;911:15344;11693:189;;911:15344;11785:37;;;;:::i;:::-;;11836:8;11832:43;;11693:189::o;11832:43::-;11853:22;11785:37;11853:22;;11785:37;11853:22;12630:550;;;;;;;12525:33;12552:4;12525:33;;:::i;:::-;12885:18;;;12881:194;;13159:13;;;;:::i;12881:194::-;911:15344;;;;;12969:18;12902:1;12969:18;;12902:1;12969:18;911:15344;;13680:2;911:15344;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;13245:1530::-;;;;;13552:17;;;;:46;;;13245:1530;13610:433;;13245:1530;14236:93;911:15344;;;;;14101:19;;;14097:672;911:15344;;;13568:1;14174:43;;;14236:93;14174:43;;;;;;;;;;;;:::i;:::-;911:15344;;;;;;;;;14236:93;;;:::i;:::-;;;;14347:8;14343:45;;14097:672;13245:1530::o;14097:672::-;13568:1;14499:13;14606:93;14499:13;;;;;;:::i;:::-;14566:21;;;;;;;;;;;;;:::i;13610:433::-;911:15344;;13665:17;;;:::i;:::-;-1:-1:-1;13643:73:55;;13680:2;13758:93;;;;;;;;13868:20;13864:54;;13933:100;;;;13610:433;;13864:54;13897:21;13568:1;13897:21;;13568:1;13897:21;13643:73;13691:25;13568:1;13691:25;;13568:1;13691:25;13552:46;13573:25;;;;13552:46;;12190:181;911:15344;;12292:19;911:15344;;12314:15;;12190:181;:::o;12292:72::-;911:15344;;12332:32;911:15344;;;;12332:32;;;;;911:15344;12332:32;;911:15344;12332:32;;;911:15344;12332:32;;;;;;;12309:1;12332:32;;;12292:72;12190:181;:::o;12332:32::-;;;911:15344;12332:32;;911:15344;12332:32;;;;;;911:15344;12332:32;;;:::i;:::-;;;911:15344;;;;;12190:181;:::o;12332:32::-;;;-1:-1:-1;12332:32:55;;;911:15344;;;12309:1;911:15344;;;;;11429:199;911:15344;11429:199;;;;;;911:15344;1767:47:33;10404:1148;;;;10365:28;-1:-1:-1;10404:1148:33;;;;;;;;;;-1:-1:-1;10404:1148:33;;;;;;1809:4;-1:-1:-1;10404:1148:33;;;;;;;11429:199:55;10404:1148:33;;;;;-1:-1:-1;10404:1148:33;;1766:48;;911:15344:55;10404:1148:33;1809:4;10404:1148;;;;;;;;;;;;;;;5098:367;;;12233:1072;;12199:23;5226:5;12233:1072;;;;;;;;;;5226:5;12233:1072;;;;;;;;5226:5;12233:1072;;;;;;;5098:367;12233:1072;;5189:43;5185:274;;5098:367;;;:::o;5185:274::-;5253:37;;;;:::i;:::-;5252:38;5248:91;;5358:41;;;;;:::i;:::-;5357:42;5353:95;;5098:367;:::o;5353:95::-;12233:1072;5408:40;;5226:5;5408:40;911:15344:55;12233:1072:33;911:15344:55;12233:1072:33;5226:5;5408:40;5248:91;12233:1072;5299:40;;5226:5;5299:40;911:15344:55;12233:1072:33;911:15344:55;12233:1072:33;5226:5;5299:40;12233:1072;;;;;;;;;;;;;12059:1252;;;12233:1072;;;;12199:23;5226:5;12233:1072;;;;5226:5;12233:1072;;;5226:5;12233:1072;;;;;;;5285:4;5226:5;12233:1072;;;;;;;12059:1252;12233:1072;;;12059:1252::o;12233:1072::-;5285:4;12233:1072;;;;;;;;;;;;;;;;;;;;;5226:5;12233:1072;;;;;12059:1252;;;12233:1072;;;;12199:23;12233:1072;;;;;;;;;;;;;;;;5285:4;12233:1072;;;;;;;;;;;12059:1252::o","linkReferences":{},"immutableReferences":{"48741":[{"start":2207,"length":32}],"48743":[{"start":2156,"length":32}],"48759":[{"start":867,"length":32},{"start":3825,"length":32}],"49713":[{"start":572,"length":32},{"start":2937,"length":32},{"start":5286,"length":32}],"51119":[{"start":6685,"length":32}]}},"methodIdentifiers":{"MULTICALL3()":"c2add59d","__activateTstore()":"7423eb3c","execute(bytes)":"09c5eabe","handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)":"4c4e814c","injectAndCall(address,address,bytes,uint256,bytes32)":"5b5e6516","injectSweepAndCall(address,address,bytes,uint256,bytes32)":"c5e5153b","pullAmountAndExecute(address,uint256,bytes)":"a9baaaf5","pullAndExecute(address,bytes)":"7a7eeb4f","refundAndSweep(address,address,uint256,address)":"4784226e","sweep(address,address)":"b8dc491b","validateOpHashAndSweep(bytes32,address,address)":"2a3ee126"}}}},"src/TrailsRouterShim.sol":{"TrailsRouterShim":{"abi":[{"type":"constructor","inputs":[{"name":"router_","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ROUTER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"__activateTstore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"handleSequenceDelegateCall","inputs":[{"name":"opHash","type":"bytes32","internalType":"bytes32"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"NotDelegateCall","inputs":[]},{"type":"error","name":"OnlyDirectCalls","inputs":[]},{"type":"error","name":"RouterCallFailed","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"TStoreAlreadyActivated","inputs":[]},{"type":"error","name":"TStoreNotSupported","inputs":[]},{"type":"error","name":"TloadTestContractDeploymentFailed","inputs":[]},{"type":"error","name":"ZeroRouterAddress","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"router_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"NotDelegateCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyDirectCalls\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"RouterCallFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TStoreAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TStoreNotSupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TloadTestContractDeploymentFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroRouterAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ROUTER\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"__activateTstore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"opHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"handleSequenceDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Shun Kakinoki\",\"errors\":{\"NotDelegateCall()\":[{\"details\":\"Error thrown when a function expected to be delegatecalled is invoked directly\"}]},\"kind\":\"dev\",\"methods\":{\"__activateTstore()\":{\"details\":\"External function to activate TSTORE usage. Does not need to be called if TSTORE is supported from deployment, and only needs to be called once. Reverts if TSTORE has already been activated or if the opcode is not available. Note that this must be called directly from an externally-owned account to avoid potential reentrancy issues.\"},\"constructor\":{\"params\":{\"router_\":\"The address of the router to forward calls to\"}},\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"params\":{\"_data\":\"The data\",\"_index\":\"The index\",\"_numCalls\":\"The number of calls\",\"_opHash\":\"The operation hash\",\"_space\":\"The space\",\"_startingGas\":\"The starting gas\"}}},\"title\":\"TrailsRouterShim\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ROUTER()\":{\"notice\":\"Address of the deployed TrailsMulticall3Router to forward calls to\"},\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"notice\":\"Handle a sequence delegate call\"}},\"notice\":\"Sequence delegate-call extension that forwards Trails router calls and records success sentinels.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/TrailsRouterShim.sol\":\"TrailsRouterShim\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"61016060405234610096576107946020813803918261001d816100ae565b93849283398101031261009657516001600160a01b038116810361009657610044906100d8565b6040516105d890816101bc8239608051816102a5015260a051816101a0015260c0518161016d015260e0518161036d015261010051815050610120518150506101405181818161010d01526104a20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100d357604052565b61009a565b306080526100e4610163565b6001600160a01b03811615610154576100fc81610179565b801561013e57600160e0526003610100526005610120525b60c05260a0526001600160a01b0381161561012f5761014052565b631df13ab560e01b5f5260045ffd5b600260e052600461010052600661012052610114565b632aea588760e01b5f5260045ffd5b696002601e613d5c3d52f35f52600a60165ff090565b5f80808093600a5a04fa3d156101b8573d6001600160401b0381116100d3576101ab601f8201601f19166020016100ae565b9081525f60203d92013e90565b9056fe60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e0033","sourceMap":"476:2708:56:-:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;476:2708:56;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;476:2708:56;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;476:2708:56;;;-1:-1:-1;;;;;476:2708:56;;;;;;;;;;:::o;:::-;;:::i;1411:125::-;784:4:57;776:13;;2931:19:49;;:::i;:::-;-1:-1:-1;;;;;476:2708:56;;3014:31:49;3010:104;;3197:29;;;:::i;:::-;3237:647;;;;3433:10;3418:25;;3472:10;3457:25;;3513:12;3496:29;;3237:647;3894:44;;4029:38;;-1:-1:-1;;;;;476:2708:56;;1454:21;1450:53;;1513:16;;1411:125::o;1450:53::-;1484:19;;;3043:1:49;1484:19:56;;3043:1:49;1484:19:56;3237:647:49;3722:30;3707:45;;3781:29;3766:44;;3841:32;3824:49;;3237:647;;3010:104;3068:35;;;3043:1;3068:35;;3043:1;3068:35;8602:494;8755:335;;;;;;;8602:494;:::o;9346:407::-;-1:-1:-1;9346:407:49;;;;9738:2;9726:9;476:2708:56;9691:55:49;476:2708:56;;;;;-1:-1:-1;;;;;476:2708:56;;;;;;;;-1:-1:-1;;476:2708:56;;;;:::i;:::-;;;;-1:-1:-1;476:2708:56;;;;;9346:407:49;:::o;476:2708:56:-;9346:407:49;:::o","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e0033","sourceMap":"476:2708:56:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1781:856;;;476:2708;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1781:856;:::i;476:2708::-;-1:-1:-1;476:2708:56;;;;;;;;;;;;;;831:31;476:2708;;;;;;;;;;;;;;;;;4635:9:49;4621:10;:23;4617:78;;4770:21;:39;;;;476:2708:56;4766:101:49;;4948:31;476:2708:56;4960:18:49;;;;9738:2;9726:9;476:2708:56;9691:55:49;;;:::i;:::-;-1:-1:-1;4948:31:49;;476:2708:56;4948:31:49;4944:89;;5080:21;5097:4;476:2708:56;;;;;;;;5080:21:49;476:2708:56;4944:89:49;5002:20;476:2708:56;5002:20:49;476:2708:56;;5002:20:49;4766:101;4832:24;476:2708:56;4832:24:49;476:2708:56;;4832:24:49;4770:39;476:2708:56;;;;;4770:39:49;;4617:78;4667:17;476:2708:56;4667:17:49;476:2708:56;;4667:17:49;1057:75:57;;;;;;;476:2708:56;1460:5:57;476:2708:56;1451:4:57;1443:22;1439:52;;2200:34:56;;476:2708;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;2439:37;476:2708;-1:-1:-1;476:2708:56;;2315:34;476:2708;;2505:31;476:2708;;;;;;;;;;;;2315:34;;:::i;:::-;2439:37;479:48:62;983:133;;;;;;;780:342;;2439:37:56;2486:12;2505:31;:::i;:::-;476:2708;2548:83;;;;;1439:52:57;1474:17;;;;;;476:2708:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;476:2708:56;;;;:::o;:::-;;;:::o;2889:293::-;3037:42;;;;;;;;;:6;:42;;;;:::i;:::-;3093:8;;3089:67;;2889:293;:::o;3089:67::-;476:2708;3037:42;476:2708;;;;;3124:21;;;;;;;;;;476:2708;;;;;;;;;;;;;;;;3037:42;476:2708;;;;;;;;;;3124:21;;;;476:2708;;;;;;;581:1:62;;;476:2708:56;;;;;;;;;;581:1:62;5514:59:49;;476:2708:56:o;:::-;;581:1:62;476:2708:56;;6052:14:49;476:2708:56;;6048:208:49;476:2708:56;;;6082:67:49;476:2708:56:o;6048:208:49:-;6179:67;476:2708:56:o","linkReferences":{},"immutableReferences":{"48741":[{"start":416,"length":32}],"48743":[{"start":365,"length":32}],"48751":[{"start":877,"length":32}],"50992":[{"start":269,"length":32},{"start":1186,"length":32}],"51119":[{"start":677,"length":32}]}},"methodIdentifiers":{"ROUTER()":"32fe7b26","__activateTstore()":"7423eb3c","handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)":"4c4e814c"}}}},"src/guards/DelegatecallGuard.sol":{"DelegatecallGuard":{"abi":[{"type":"error","name":"NotDelegateCall","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"NotDelegateCall\",\"type\":\"error\"}],\"devdoc\":{\"errors\":{\"NotDelegateCall()\":[{\"details\":\"Error thrown when a function expected to be delegatecalled is invoked directly\"}]},\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"_SELF\":{\"details\":\"Cached address of this contract to detect delegatecall context\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract providing a reusable delegatecall-only guard.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/guards/DelegatecallGuard.sol\":\"DelegatecallGuard\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}}}}},"src/interfaces/IMulticall3.sol":{"IMulticall3":{"abi":[{"type":"function","name":"aggregate3","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnData","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Matches the canonical implementation deployed at `0xcA11bde05977b3631167028862bE2a173976CA11`.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMulticall3\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal subset of Multicall3 used by Trails router.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IMulticall3.sol\":\"IMulticall3\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"aggregate3((address,bool,bytes)[])":"82ad56cb","aggregate3Value((address,bool,uint256,bytes)[])":"174dea71"}}}},"src/interfaces/ITrailsIntentEntrypoint.sol":{"ITrailsIntentEntrypoint":{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"TRAILS_INTENT_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"depositToIntent","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"intentAddress","type":"address","internalType":"address"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"feeAmount","type":"uint256","internalType":"uint256"},{"name":"feeCollector","type":"address","internalType":"address"},{"name":"sigV","type":"uint8","internalType":"uint8"},{"name":"sigR","type":"bytes32","internalType":"bytes32"},{"name":"sigS","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"depositToIntentWithPermit","inputs":[{"name":"user","type":"address","internalType":"address"},{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"permitAmount","type":"uint256","internalType":"uint256"},{"name":"intentAddress","type":"address","internalType":"address"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"feeAmount","type":"uint256","internalType":"uint256"},{"name":"feeCollector","type":"address","internalType":"address"},{"name":"permitV","type":"uint8","internalType":"uint8"},{"name":"permitR","type":"bytes32","internalType":"bytes32"},{"name":"permitS","type":"bytes32","internalType":"bytes32"},{"name":"sigV","type":"uint8","internalType":"uint8"},{"name":"sigR","type":"bytes32","internalType":"bytes32"},{"name":"sigS","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonces","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"FeePaid","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"feeToken","type":"address","indexed":true,"internalType":"address"},{"name":"feeAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"feeCollector","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"IntentDeposit","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"intentAddress","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"name\":\"FeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"intentAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"IntentDeposit\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TRAILS_INTENT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"intentAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"sigV\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"sigR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"sigS\",\"type\":\"bytes32\"}],\"name\":\"depositToIntent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"permitAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"intentAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"permitV\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"permitR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"permitS\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"sigV\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"sigR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"sigS\",\"type\":\"bytes32\"}],\"name\":\"depositToIntentWithPermit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"FeePaid(address,address,uint256,address)\":{\"params\":{\"feeAmount\":\"The amount of the fee paid.\",\"feeCollector\":\"The address receiving the fee.\",\"feeToken\":\"The ERC-20 token used to pay the fee.\",\"user\":\"The account from which the fee was taken.\"}},\"IntentDeposit(address,address,uint256)\":{\"params\":{\"amount\":\"The amount of tokens deposited\",\"intentAddress\":\"The intent address receiving the deposit\",\"user\":\"The user making the deposit\"}}},\"kind\":\"dev\",\"methods\":{\"depositToIntent(address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32)\":{\"params\":{\"amount\":\"The amount to deposit\",\"deadline\":\"The intent deadline\",\"feeAmount\":\"The amount of fee to pay (0 for no fee, paid in same token)\",\"feeCollector\":\"The address to receive the fee (address(0) for no fee)\",\"intentAddress\":\"The intent address to deposit to\",\"nonce\":\"The nonce for this user\",\"sigR\":\"The intent signature r component\",\"sigS\":\"The intent signature s component\",\"sigV\":\"The intent signature v component\",\"token\":\"The token to deposit (also used for fee payment)\",\"user\":\"The user making the deposit\"}},\"depositToIntentWithPermit(address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32)\":{\"params\":{\"amount\":\"The amount to deposit\",\"deadline\":\"The permit deadline\",\"feeAmount\":\"The amount of fee to pay (0 for no fee, paid in same token)\",\"feeCollector\":\"The address to receive the fee (address(0) for no fee)\",\"intentAddress\":\"The intent address to deposit to\",\"nonce\":\"The nonce for this user\",\"permitAmount\":\"The amount to permit for spending (amount + feeAmount if paying fee)\",\"permitR\":\"The permit signature r component\",\"permitS\":\"The permit signature s component\",\"permitV\":\"The permit signature v component\",\"sigR\":\"The intent signature r component\",\"sigS\":\"The intent signature s component\",\"sigV\":\"The intent signature v component\",\"token\":\"The token to deposit (also used for fee payment)\",\"user\":\"The user making the deposit\"}},\"nonces(address)\":{\"params\":{\"user\":\"The user address to query.\"}}},\"title\":\"ITrailsIntentEntrypoint\",\"version\":1},\"userdoc\":{\"events\":{\"FeePaid(address,address,uint256,address)\":{\"notice\":\"Emitted when a fee is paid.\"},\"IntentDeposit(address,address,uint256)\":{\"notice\":\"Emitted when a user deposits tokens to an intent address\"}},\"kind\":\"user\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"notice\":\"Returns the EIP-712 domain separator used for intent signatures. forge-lint: disable-next-line(mixed-case-function)\"},\"TRAILS_INTENT_TYPEHASH()\":{\"notice\":\"Returns the trails intent typehash constant used in EIP-712 signatures. forge-lint: disable-next-line(mixed-case-function)\"},\"VERSION()\":{\"notice\":\"Returns the version string of the contract. forge-lint: disable-next-line(mixed-case-function)\"},\"depositToIntent(address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32)\":{\"notice\":\"Deposit tokens to an intent address (requires prior approval)\"},\"depositToIntentWithPermit(address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32)\":{\"notice\":\"Deposit tokens to an intent address using ERC20 permit\"},\"nonces(address)\":{\"notice\":\"Returns the current nonce for a given user.\"}},\"notice\":\"Interface for the TrailsIntentEntrypoint contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/ITrailsIntentEntrypoint.sol\":\"ITrailsIntentEntrypoint\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"src/interfaces/ITrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x78527a499f07b4dd729a294f2616d727f2d25d505b29f0d2758af6958d157ef4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5955cc80d7c662efb07420a6e43fe9d5d0111ff5d5bcd059ca8727f99a6fe9d3\",\"dweb:/ipfs/Qmd47ZRVEMgzUDFXXc3UvVNpeEbrs2pte4vsFy5bPsRPVf\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","TRAILS_INTENT_TYPEHASH()":"f3961040","VERSION()":"ffa1ad74","depositToIntent(address,address,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32)":"3525916f","depositToIntentWithPermit(address,address,uint256,uint256,address,uint256,uint256,uint256,address,uint8,bytes32,bytes32,uint8,bytes32,bytes32)":"358a8f48","nonces(address)":"7ecebe00"}}}},"src/interfaces/ITrailsRouter.sol":{"ITrailsRouter":{"abi":[{"type":"function","name":"execute","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"returnResults","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"handleSequenceDelegateCall","inputs":[{"name":"opHash","type":"bytes32","internalType":"bytes32"},{"name":"startingGas","type":"uint256","internalType":"uint256"},{"name":"index","type":"uint256","internalType":"uint256"},{"name":"numCalls","type":"uint256","internalType":"uint256"},{"name":"space","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"injectAndCall","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"amountOffset","type":"uint256","internalType":"uint256"},{"name":"placeholder","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"injectSweepAndCall","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"amountOffset","type":"uint256","internalType":"uint256"},{"name":"placeholder","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"pullAmountAndExecute","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"returnResults","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"pullAndExecute","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"returnResults","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"refundAndSweep","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"refundRecipient","type":"address","internalType":"address"},{"name":"refundAmount","type":"uint256","internalType":"uint256"},{"name":"sweepRecipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"sweep","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"validateOpHashAndSweep","inputs":[{"name":"opHash","type":"bytes32","internalType":"bytes32"},{"name":"token","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"ActualRefund","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"expected","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"actual","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BalanceInjectorCall","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"target","type":"address","indexed":true,"internalType":"address"},{"name":"placeholder","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"amountReplaced","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountOffset","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"success","type":"bool","indexed":false,"internalType":"bool"},{"name":"result","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Refund","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RefundAndSweep","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"refundRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"refundAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sweepRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"actualRefund","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"remaining","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Sweep","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"}],\"name\":\"ActualRefund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"placeholder\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountReplaced\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountOffset\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"BalanceInjectorCall\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Refund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"refundRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"refundAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sweepRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualRefund\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"remaining\",\"type\":\"uint256\"}],\"name\":\"RefundAndSweep\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Sweep\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnResults\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"opHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"startingGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"numCalls\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"space\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"handleSequenceDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"amountOffset\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"placeholder\",\"type\":\"bytes32\"}],\"name\":\"injectAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"amountOffset\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"placeholder\",\"type\":\"bytes32\"}],\"name\":\"injectSweepAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"pullAmountAndExecute\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnResults\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"pullAndExecute\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnResults\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundRecipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"refundAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"sweepRecipient\",\"type\":\"address\"}],\"name\":\"refundAndSweep\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"sweep\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"opHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"validateOpHashAndSweep\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"execute(bytes)\":{\"details\":\"Delegates to Multicall3 to preserve msg.sender context.\",\"params\":{\"data\":\"The data to execute.\"},\"returns\":{\"returnResults\":\"The result of the execution.\"}},\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"params\":{\"_data\":\"The data\",\"_index\":\"The index\",\"_numCalls\":\"The number of calls\",\"_opHash\":\"The operation hash\",\"_space\":\"The space\",\"_startingGas\":\"The starting gas\"}},\"injectAndCall(address,address,bytes,uint256,bytes32)\":{\"params\":{\"amountOffset\":\"The byte offset in calldata where the placeholder is located.\",\"callData\":\"The original calldata (must include a 32-byte placeholder).\",\"placeholder\":\"The 32-byte placeholder that will be replaced with balance.\",\"target\":\"The address to call with modified calldata.\",\"token\":\"The ERC-20 token to sweep, or address(0) for ETH.\"}},\"injectSweepAndCall(address,address,bytes,uint256,bytes32)\":{\"details\":\"Transfers tokens from msg.sender to this contract first.\",\"params\":{\"amountOffset\":\"The byte offset in calldata where the placeholder is located.\",\"callData\":\"The original calldata (must include a 32-byte placeholder).\",\"placeholder\":\"The 32-byte placeholder that will be replaced with balance.\",\"target\":\"The address to call with modified calldata.\",\"token\":\"The ERC-20 token to sweep, or address(0) for ETH.\"}},\"pullAmountAndExecute(address,uint256,bytes)\":{\"details\":\"For ERC20: requires prior approval. For ETH: requires msg.value.\",\"params\":{\"amount\":\"The amount to pull.\",\"data\":\"The calldata for Multicall3.\",\"token\":\"The ERC20 token to pull, or address(0) for ETH.\"},\"returns\":{\"returnResults\":\"The result of the execution.\"}},\"pullAndExecute(address,bytes)\":{\"details\":\"For ERC20: pulls entire balance and requires prior approval. For ETH: uses msg.value.\",\"params\":{\"data\":\"The calldata for Multicall3.\",\"token\":\"The ERC20 token to pull, or address(0) for ETH.\"},\"returns\":{\"returnResults\":\"The result of the execution.\"}},\"refundAndSweep(address,address,uint256,address)\":{\"details\":\"For delegatecall context.\",\"params\":{\"refundAmount\":\"Maximum amount to refund.\",\"refundRecipient\":\"Address receiving the refund portion.\",\"sweepRecipient\":\"Address receiving the remaining balance.\",\"token\":\"The token address to operate on. Use address(0) for native.\"}},\"sweep(address,address)\":{\"details\":\"For delegatecall context. Transfers all tokens/ETH held by the wallet to the recipient.\",\"params\":{\"recipient\":\"The address to send the swept tokens to.\",\"token\":\"The address of the token to sweep. Use address(0) for the native token.\"}},\"validateOpHashAndSweep(bytes32,address,address)\":{\"details\":\"For delegatecall context. Used to ensure prior operation succeeded.\",\"params\":{\"opHash\":\"The operation hash to validate.\",\"recipient\":\"The recipient of the sweep.\",\"token\":\"The token to sweep.\"}}},\"title\":\"ITrailsRouter\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"execute(bytes)\":{\"notice\":\"Delegates to Multicall3 to preserve msg.sender context.\"},\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"notice\":\"Handle a sequence delegate call\"},\"injectAndCall(address,address,bytes,uint256,bytes32)\":{\"notice\":\"Injects balance and calls target (for delegatecall context).\"},\"injectSweepAndCall(address,address,bytes,uint256,bytes32)\":{\"notice\":\"Sweeps tokens from msg.sender and calls target with modified calldata.\"},\"pullAmountAndExecute(address,uint256,bytes)\":{\"notice\":\"Pull specific amount of tokens from msg.sender, then delegatecall into Multicall3.\"},\"pullAndExecute(address,bytes)\":{\"notice\":\"Pull tokens from msg.sender, then delegatecall into Multicall3.\"},\"refundAndSweep(address,address,uint256,address)\":{\"notice\":\"Refunds up to `_refundAmount` to `_refundRecipient`, then sweeps any remaining balance to `_sweepRecipient`.\"},\"sweep(address,address)\":{\"notice\":\"Sweeps the entire balance to recipient.\"},\"validateOpHashAndSweep(bytes32,address,address)\":{\"notice\":\"Validates that the success sentinel for an opHash is set, then sweeps tokens.\"}},\"notice\":\"Interface describing the delegate-call router utilities exposed to Sequence wallets.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/ITrailsRouter.sol\":\"ITrailsRouter\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"execute(bytes)":"09c5eabe","handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)":"4c4e814c","injectAndCall(address,address,bytes,uint256,bytes32)":"5b5e6516","injectSweepAndCall(address,address,bytes,uint256,bytes32)":"c5e5153b","pullAmountAndExecute(address,uint256,bytes)":"a9baaaf5","pullAndExecute(address,bytes)":"7a7eeb4f","refundAndSweep(address,address,uint256,address)":"4784226e","sweep(address,address)":"b8dc491b","validateOpHashAndSweep(bytes32,address,address)":"2a3ee126"}}}},"src/interfaces/ITrailsRouterShim.sol":{"ITrailsRouterShim":{"abi":[{"type":"function","name":"handleSequenceDelegateCall","inputs":[{"name":"opHash","type":"bytes32","internalType":"bytes32"},{"name":"startingGas","type":"uint256","internalType":"uint256"},{"name":"index","type":"uint256","internalType":"uint256"},{"name":"numCalls","type":"uint256","internalType":"uint256"},{"name":"space","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"opHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"startingGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"numCalls\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"space\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"handleSequenceDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"params\":{\"_data\":\"The data\",\"_index\":\"The index\",\"_numCalls\":\"The number of calls\",\"_opHash\":\"The operation hash\",\"_space\":\"The space\",\"_startingGas\":\"The starting gas\"}}},\"title\":\"ITrailsRouterShim\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)\":{\"notice\":\"Handle a sequence delegate call\"}},\"notice\":\"Interface for the router shim that bridges Sequence wallets to the Trails router.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/ITrailsRouterShim.sol\":\"ITrailsRouterShim\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)":"4c4e814c"}}}},"src/libraries/TrailsSentinelLib.sol":{"TrailsSentinelLib":{"abi":[{"type":"function","name":"SENTINEL_NAMESPACE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SUCCESS_VALUE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"SENTINEL_NAMESPACE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SUCCESS_VALUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/libraries/TrailsSentinelLib.sol\":\"TrailsSentinelLib\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460185760ec908161001d823930815050f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c90816368eca91314606657506388cf2ff514602f575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112606257602060405160018152f35b5f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112606257807f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e260209252f3fea2646970667358221220e4df0de69517e1658977868b708f519a1c1bd960f299501fa91a5624c38427fd64736f6c634300081e0033","sourceMap":"223:901:62:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60808060405260043610156011575f80fd5b5f3560e01c90816368eca91314606657506388cf2ff514602f575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112606257602060405160018152f35b5f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112606257807f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e260209252f3fea2646970667358221220e4df0de69517e1658977868b708f519a1c1bd960f299501fa91a5624c38427fd64736f6c634300081e0033","sourceMap":"223:901:62:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;581:1;223:901;;;;;;;;;;;;;;;;479:48;223:901;;;","linkReferences":{}},"methodIdentifiers":{"SENTINEL_NAMESPACE()":"68eca913","SUCCESS_VALUE()":"88cf2ff5"}}}},"test/TrailsIntentEntrypoint.t.sol":{"MockERC20Permit":{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC2612ExpiredSignature","inputs":[{"name":"deadline","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC2612InvalidSigner","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"InvalidAccountNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"currentNonce","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"ERC2612ExpiredSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC2612InvalidSigner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC2612ExpiredSignature(uint256)\":[{\"details\":\"Permit deadline has expired.\"}],\"ERC2612InvalidSigner(address,address)\":[{\"details\":\"Mismatched signature.\"}],\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"eip712Domain()\":{\"details\":\"returns the fields and values that describe the domain separator used by this contract for EIP-712 signature.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also applies here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsIntentEntrypoint.t.sol\":\"MockERC20Permit\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xfb223a85dd0b2175cfbbaa325a744e2cd74ecd17c3df2b77b0722f991d2725ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84bf1dea0589ec49c8d15d559cc6d86ee493048a89b2d4adb60fbe705a3d89ae\",\"dweb:/ipfs/Qmd56n556d529wk2pRMhYhm5nhMDhviwereodDikjs68w1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0xa9380c9153e675a27f8c9c91e2257adc118c949df4c79d5b3f36c3b73c31b62d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07862a858180dabc42732598b9ae2e53b7a4081c9b71c7b003d157e666536171\",\"dweb:/ipfs/QmYuke2jfrFKMvYg4CAbaPwF7NBvTPpMUXzN9PQS31xKCf\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x69f55097613b5f799fc433819715bdf3c5cbf785c68552512f0a0f5382fd7d04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c87c85b779707e85e58e79c3ae3394f3a024fd4d831b94ce4eb411ee20de48b6\",\"dweb:/ipfs/QmdDsm82edRT28MfhgCEAiXH5WTdtrH5MAppRup5RmbzH5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/Bytes.sol\":{\"keccak256\":\"0x18fe825fe4cfec749b67a59d770cf56788b9fdced46cac555b2a95ea99e3ec10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cab7cd7485592067b85a31b7d282cb6d336262d4432ee405a1d42a8ad73e518a\",\"dweb:/ipfs/QmfPtzkkyjQeEQYjmZPG8R6XiJTMmFFD9phsF1vSZeydPy\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Nonces.sol\":{\"keccak256\":\"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e\",\"dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x6f9ed073e3dab12233a79cd85153f72c9e0f99c1f5512f6d5b1ef09fb46abbb0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://093d2a804b792a0000883c2215585963ed98ec4341b45bc4224844623387d161\",\"dweb:/ipfs/QmR5shjVosAoxdmY3EfkUWgFNV4CVUcbRNS7tkvbipssPX\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x10c3692496072028134a8869f724ea848574bbb79f1338426e8f6a91f8dc11db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8238d3f50e825c6b56929987da0d56003e4532c518826138c13db2223da077aa\",\"dweb:/ipfs/QmVFK7rdDHDCqNJDZ9KnMo6Pqrc8kB1SJz9z1Y1X9CoUdf\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x88b4791ddd6fc3c4fa6a2077c642514165eca0317ad3fd6b155b87d1972e1510\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24d808d462dea4ac390884ace5f0c4602358fbab52851198eaf9122f7f457471\",\"dweb:/ipfs/QmQ2vcXtgnBd56LArzgRaRXxj1LTDPNJyHZTAvrAiCit1P\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x4f7de0846587a28ea3623077dd809d53f08ad6176738ce1cedf272cb7bc2a107\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a189921ec61afa7c7348a1699b2550dcba5fb449ae8966e91ef3acd2dc60a4a\",\"dweb:/ipfs/Qma7cmxAGYyMPiEtH2Bv5QNHFmob88ZE6qYfZKFzuW8A4U\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0xea0bf00d811fe84ecfac7ae8e51810d86db9370a166df05e3ad176a6ec3a161d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89bfa38430954e71af7a94bec6084aa5e341e4aaf349d62f3a4ee017637d7fd\",\"dweb:/ipfs/QmREWDFPc9fChw9TA4ACEZ2b6HXXwZ5auiNPzbwkWV9CbE\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0xbc74ecc030965d1fe36e7dc687b61a9ec017c49bfdf73d5e6de993580818da9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ece049103821500c410ef1a7b845180eeefdbbf1383c4add10901e6dd1f279e\",\"dweb:/ipfs/QmUhvPr3dEq45sHxwV6PsudXaYwZvz34jq3gu9QRBJahD6\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xfa5997d334f4daa83930d1d8944cc30f7d971ec40871511b6f8958ac9a59b911\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f34169ec4ff5bcea97b2a8dfcb03fafcf2d53b44b84d09bd87ece3c819380bb\",\"dweb:/ipfs/QmV8NLr6DhskCMMYuLfvJzgAJX9DLXY69gdoGTXM18UguB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"src/TrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x095a96c9100409f00dff1193b1f7489763e3a2b3d3a73a4e684a5b8d5384219c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75826e1d2f658a3edfeea2251ffd6128c563a2989382743def54f911be1d5c34\",\"dweb:/ipfs/QmNQZxaq6Tbm7XGC9jNvhCfZU3d1b3adkot38sCFze7yeR\"]},\"src/interfaces/ITrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x78527a499f07b4dd729a294f2616d727f2d25d505b29f0d2758af6958d157ef4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5955cc80d7c662efb07420a6e43fe9d5d0111ff5d5bcd059ca8727f99a6fe9d3\",\"dweb:/ipfs/Qmd47ZRVEMgzUDFXXc3UvVNpeEbrs2pte4vsFy5bPsRPVf\"]},\"test/TrailsIntentEntrypoint.t.sol\":{\"keccak256\":\"0xc19acdf97ab2e0b9cd90a4dc10717f49a6231d66eaca022bd17597dd7cce0b49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b3832a03468b60673632d14e2dc98a94d238cb9b4416bd956c634b78d088b1e\",\"dweb:/ipfs/QmY9CjScxyRCUhm6tbYH7PoDKeFQxogr3MWoAZrUpAa48m\"]},\"test/mocks/MockNonStandardERC20.sol\":{\"keccak256\":\"0xb6c02a6add0f642cd85c550be6ed86305a09cb9d01bd0b15070e50112e943fd9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e438e16d33b914174ab53a8317d45ccbaa009496f9349e219c522cb82dfe3987\",\"dweb:/ipfs/QmQQKgZhq7TFBirdYq7zRjo6KpWoS7DE6fgqqaugbsTnu8\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"610160604052346104c6576040516100186040826104ca565b600a8152602081016926b7b1b5902a37b5b2b760b11b81526040519061003f6040836104ca565b600a82526926b7b1b5902a37b5b2b760b11b6020830152604051926100656040856104ca565b60038452624d544b60e81b6020850152604051936100846040866104ca565b60018552603160f81b60208601908152845190946001600160401b0382116103c95760035490600182811c921680156104bc575b60208310146103ab5781601f84931161044e575b50602090601f83116001146103e8575f926103dd575b50508160011b915f199060031b1c1916176003555b8051906001600160401b0382116103c95760045490600182811c921680156103bf575b60208310146103ab5781601f84931161033d575b50602090601f83116001146102d7575f926102cc575b50508160011b915f199060031b1c1916176004555b610162816104ed565b6101205261016f84610674565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526101d860c0826104ca565b5190206080523060c05233156102b95760025469d3c21bcecceda100000081018091116102a557600255335f525f60205260405f2069d3c21bcecceda1000000815401905560405169d3c21bcecceda100000081525f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a36040516110a790816107ad823960805181610cec015260a05181610da9015260c05181610cbd015260e05181610d3b01526101005181610d610152610120518161048f015261014051816104b80152f35b634e487b7160e01b5f52601160045260245ffd5b63ec442f0560e01b5f525f60045260245ffd5b015190505f80610144565b60045f9081528281209350601f198516905b818110610325575090846001959493921061030d575b505050811b01600455610159565b01515f1960f88460031b161c191690555f80806102ff565b929360206001819287860151815501950193016102e9565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c810191602085106103a1575b90601f859493920160051c01905b818110610393575061012e565b5f8155849350600101610386565b9091508190610378565b634e487b7160e01b5f52602260045260245ffd5b91607f169161011a565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100e2565b60035f9081528281209350601f198516905b818110610436575090846001959493921061041e575b505050811b016003556100f7565b01515f1960f88460031b161c191690555f8080610410565b929360206001819287860151815501950193016103fa565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c810191602085106104b2575b90601f859493920160051c01905b8181106104a457506100cc565b5f8155849350600101610497565b9091508190610489565b91607f16916100b8565b5f80fd5b601f909101601f19168101906001600160401b038211908210176103c957604052565b908151602081105f14610567575090601f815111610527576020815191015160208210610518571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116103c957600554600181811c9116801561066a575b60208210146103ab57601f8111610637575b50602092601f82116001146105d657928192935f926105cb575b50508160011b915f199060031b1c19161760055560ff90565b015190505f806105b2565b601f1982169360055f52805f20915f5b86811061061f5750836001959610610607575b505050811b0160055560ff90565b01515f1960f88460031b161c191690555f80806105f9565b919260206001819286850151815501940192016105e6565b60055f52601f60205f20910160051c810190601f830160051c015b81811061065f5750610598565b5f8155600101610652565b90607f1690610586565b908151602081105f1461069f575090601f815111610527576020815191015160208210610518571790565b6001600160401b0381116103c957600654600181811c911680156107a2575b60208210146103ab57601f811161076f575b50602092601f821160011461070e57928192935f92610703575b50508160011b915f199060031b1c19161760065560ff90565b015190505f806106ea565b601f1982169360065f52805f20915f5b868110610757575083600195961061073f575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610731565b9192602060018192868501518155019401920161071e565b60065f52601f60205f20910160051c810190601f830160051c015b81811061079757506106d0565b5f815560010161078a565b90607f16906106be56fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde03146108dc57508063095ea7b31461089857806318160ddd1461085d57806323b872dd146106c9578063313ce567146106905780633644e5151461065057806370a08231146105ee5780637ecebe001461058b57806384b0196e1461045957806395d89b411461033b578063a9059cbb146102ec578063d505accf1461013b5763dd62ed3e146100ab575f80fd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576100e26109df565b73ffffffffffffffffffffffffffffffffffffffff6100ff610a02565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101375760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576101726109df565b61017a610a02565b604435906064359260843560ff81168103610137578442116102c05761027b61027273ffffffffffffffffffffffffffffffffffffffff9283851697885f52600760205260405f20908154916001830190556040519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528b6040840152878a1660608401528a608084015260a083015260c082015260c0815261022560e082610b16565b519020610230610ca6565b90604051917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220610eff565b90929192610f99565b16848103610290575061028e9350610dcf565b005b84907f4b800e46000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b847f62791302000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576103306103266109df565b6024359033610b84565b602060405160018152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576040515f60045461037981610a25565b808452906001811690811561041757506001146103b9575b6103b5836103a181850382610b16565b60405191829160208352602083019061099c565b0390f35b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b8082106103fd575090915081016020016103a1610391565b9192600181602092548385880101520191019092916103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506103a19050610391565b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375761052f6104b37f0000000000000000000000000000000000000000000000000000000000000000610e4c565b6104dc7f0000000000000000000000000000000000000000000000000000000000000000610ec8565b602061053d604051926104ef8385610b16565b5f84525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e08588015260e087019061099c565b90858203604087015261099c565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b82811061057457505050500390f35b835185528695509381019392810192600101610565565b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff6105d76109df565b165f526007602052602060405f2054604051908152f35b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff61063a6109df565b165f525f602052602060405f2054604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020610688610ca6565b604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757602060405160128152f35b346101375760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576107006109df565b610708610a02565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110610784575b506103309350610b84565b8381106108295784156107fd5733156107d157610330945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f209103905584610779565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020600254604051908152f35b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576103306108d26109df565b6024359033610dcf565b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137575f60035461091781610a25565b8084529060018116908115610417575060011461093e576103b5836103a181850382610b16565b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b808210610982575090915081016020016103a1610391565b91926001816020925483858801015201910190929161096a565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b90600182811c92168015610a6c575b6020831014610a3f57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610a34565b5f9291815491610a8583610a25565b8083529260018116908115610ada5750600114610aa157505050565b5f9081526020812093945091925b838310610ac0575060209250010190565b600181602092949394548385870101520191019190610aaf565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610b5757604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff16908115610c7a5773ffffffffffffffffffffffffffffffffffffffff16918215610c4e57815f525f60205260405f2054818110610c1c57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610da6575b15610d0e577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152610da060c082610b16565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610ce5565b73ffffffffffffffffffffffffffffffffffffffff169081156107fd5773ffffffffffffffffffffffffffffffffffffffff169182156107d15760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60ff8114610eab5760ff811690601f8211610e835760405191610e70604084610b16565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b50604051610ec581610ebe816005610a76565b0382610b16565b90565b60ff8114610eec5760ff811690601f8211610e835760405191610e70604084610b16565b50604051610ec581610ebe816006610a76565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610f8e579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610f83575f5173ffffffffffffffffffffffffffffffffffffffff811615610f7957905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60048110156110445780610fab575050565b60018103610fdb577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b6002810361100f57507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6003146110195750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea26469706673582212202eaf8d700913bffd8b4934f8b853d9665e68ca4ec536d49359eed7bb1628075364736f6c634300081e0033","sourceMap":"464:184:63:-:0;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;464:184:63;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;464:184:63;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;464:184:63;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;464:184:63;;;;;;;;;;-1:-1:-1;;;;;464:184:63;;;;;;;;;;;;;;;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;-1:-1:-1;464:184:63;;;;;;;;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;464:184:63;;;;1671:17:28;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;1671:17:28;464:184:63;;3501:45:43;;;:::i;:::-;3493:53;;3567:51;;;:::i;:::-;3556:62;;464:184:63;3642:22:43;;3628:36;;;;464:184:63;3691:25:43;;3674:42;;;3744:13;3727:30;;464:184:63;;4304:80:43;464:184:63;4304:80:43;;2079:95;;;;464:184:63;2079:95:43;;;;;;;3744:13;2079:95;;;;4378:4;3727:30;2079:95;;464:184:63;3727:30:43;4304:80;;;;;;:::i;:::-;464:184:63;4294:91:43;;2079:95;3767:48;4378:4;4304:80;3825:27;600:10:63;7432:21:28;7428:91;;6137:21;464:184:63;;;;;;;;;6137:21:28;464:184:63;600:10;-1:-1:-1;464:184:63;-1:-1:-1;464:184:63;;;-1:-1:-1;464:184:63;;;;;;;;;;2079:95:43;;-1:-1:-1;6987:25:28;464:184:63;600:10;6987:25:28;;464:184:63;;;;;;;;2079:95:43;464:184:63;;;;;3727:30:43;464:184:63;;;;;4304:80:43;464:184:63;;;;;3628:36:43;464:184:63;;;;;3674:42:43;464:184:63;;;;;3493:53:43;464:184:63;;;;;3556:62:43;464:184:63;;;;;;;;;;-1:-1:-1;464:184:63;;1671:17:28;464:184:63;;-1:-1:-1;464:184:63;7428:91:28;7476:32;;;-1:-1:-1;7476:32:28;-1:-1:-1;1671:17:28;464:184:63;;-1:-1:-1;7476:32:28;464:184:63;;;;-1:-1:-1;464:184:63;;;;;1671:17:28;-1:-1:-1;464:184:63;;;;;;;-1:-1:-1;;;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:17:28;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:17:28;-1:-1:-1;464:184:63;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;464:184:63;;;;-1:-1:-1;464:184:63;;;;;;;-1:-1:-1;464:184:63;;;;;;;;-1:-1:-1;464:184:63;;1671:17:28;464:184:63;;-1:-1:-1;464:184:63;;;;;;;;;;;;-1:-1:-1;464:184:63;;1671:17:28;464:184:63;;-1:-1:-1;464:184:63;;;;;-1:-1:-1;464:184:63;;;;;;-1:-1:-1;464:184:63;;;;;;;-1:-1:-1;;;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;464:184:63;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;464:184:63;;;;-1:-1:-1;464:184:63;;;;;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;464:184:63;;;;-1:-1:-1;;;;;464:184:63;;;;;;;;;;:::o;2893:342:39:-;;464:184:63;;3038:4:39;3016:26;;3012:217;3038:4;;;464:184:63;;1854:4:39;464:184:63;;1840:18:39;1836:74;;3038:4;464:184:63;;;;2079:95:43;3038:4:39;464:184:63;;;;1951:36:39;3058:27;:::o;464:184:63:-;;;;3038:4:39;464:184:63;;;;;1951:36:39;3058:27;:::o;1836:74::-;464:184:63;3038:4:39;464:184:63;;;1881:18:39;;;;;;;;;;;;464:184:63;;;;;;;;;;;;;;;;;;;;;;;1854:4:39;464:184:63;-1:-1:-1;;464:184:63;;;1881:18:39;;;;3012:217;-1:-1:-1;;;;;464:184:63;;;;3532:13:43;464:184:63;;;;;;;;;;;3012:217:39;3038:4;464:184:63;;;;;;;;;;3012:217:39;464:184:63;3038:4:39;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3532:13:43;464:184:63;1390:66:39;3176:42;:::o;464:184:63:-;;;;-1:-1:-1;464:184:63;;;;;;;;;;3532:13:43;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;3532:13:43;464:184:63;1390:66:39;3176:42;:::o;464:184:63:-;;;;;;;;;;;;;;;;;;;;;;;3038:4:39;464:184:63;;;;;;;;;;;;;;;;;3532:13:43;464:184:63;;;3038:4:39;464:184:63;;;;3532:13:43;464:184:63;;;;;;;3532:13:43;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;2893:342:39;;464:184:63;;3038:4:39;3016:26;;3012:217;3038:4;;;464:184:63;;1854:4:39;464:184:63;;1840:18:39;1836:74;;3038:4;464:184:63;;;;2079:95:43;3038:4:39;464:184:63;;;;1951:36:39;3058:27;:::o;3012:217::-;-1:-1:-1;;;;;464:184:63;;;;3601:16:43;464:184:63;;;;;;;;;;;3012:217:39;3038:4;464:184:63;;;;;;;;;;3012:217:39;464:184:63;3038:4:39;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3601:16:43;464:184:63;1390:66:39;3176:42;:::o;464:184:63:-;;;;-1:-1:-1;464:184:63;;;;;;;;;;3601:16:43;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;3601:16:43;464:184:63;1390:66:39;3176:42;:::o;464:184:63:-;;;;;;;;;;;;;;;;;;;;;;;3038:4:39;464:184:63;;;;;;;;;;;;;;;;;3601:16:43;464:184:63;;;3038:4:39;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde03146108dc57508063095ea7b31461089857806318160ddd1461085d57806323b872dd146106c9578063313ce567146106905780633644e5151461065057806370a08231146105ee5780637ecebe001461058b57806384b0196e1461045957806395d89b411461033b578063a9059cbb146102ec578063d505accf1461013b5763dd62ed3e146100ab575f80fd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576100e26109df565b73ffffffffffffffffffffffffffffffffffffffff6100ff610a02565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101375760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576101726109df565b61017a610a02565b604435906064359260843560ff81168103610137578442116102c05761027b61027273ffffffffffffffffffffffffffffffffffffffff9283851697885f52600760205260405f20908154916001830190556040519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528b6040840152878a1660608401528a608084015260a083015260c082015260c0815261022560e082610b16565b519020610230610ca6565b90604051917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220610eff565b90929192610f99565b16848103610290575061028e9350610dcf565b005b84907f4b800e46000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b847f62791302000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576103306103266109df565b6024359033610b84565b602060405160018152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576040515f60045461037981610a25565b808452906001811690811561041757506001146103b9575b6103b5836103a181850382610b16565b60405191829160208352602083019061099c565b0390f35b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b8082106103fd575090915081016020016103a1610391565b9192600181602092548385880101520191019092916103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506103a19050610391565b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375761052f6104b37f0000000000000000000000000000000000000000000000000000000000000000610e4c565b6104dc7f0000000000000000000000000000000000000000000000000000000000000000610ec8565b602061053d604051926104ef8385610b16565b5f84525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e08588015260e087019061099c565b90858203604087015261099c565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b82811061057457505050500390f35b835185528695509381019392810192600101610565565b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff6105d76109df565b165f526007602052602060405f2054604051908152f35b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff61063a6109df565b165f525f602052602060405f2054604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020610688610ca6565b604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757602060405160128152f35b346101375760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576107006109df565b610708610a02565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110610784575b506103309350610b84565b8381106108295784156107fd5733156107d157610330945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f209103905584610779565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020600254604051908152f35b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576103306108d26109df565b6024359033610dcf565b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137575f60035461091781610a25565b8084529060018116908115610417575060011461093e576103b5836103a181850382610b16565b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b808210610982575090915081016020016103a1610391565b91926001816020925483858801015201910190929161096a565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b90600182811c92168015610a6c575b6020831014610a3f57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610a34565b5f9291815491610a8583610a25565b8083529260018116908115610ada5750600114610aa157505050565b5f9081526020812093945091925b838310610ac0575060209250010190565b600181602092949394548385870101520191019190610aaf565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610b5757604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff16908115610c7a5773ffffffffffffffffffffffffffffffffffffffff16918215610c4e57815f525f60205260405f2054818110610c1c57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610da6575b15610d0e577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152610da060c082610b16565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610ce5565b73ffffffffffffffffffffffffffffffffffffffff169081156107fd5773ffffffffffffffffffffffffffffffffffffffff169182156107d15760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60ff8114610eab5760ff811690601f8211610e835760405191610e70604084610b16565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b50604051610ec581610ebe816005610a76565b0382610b16565b90565b60ff8114610eec5760ff811690601f8211610e835760405191610e70604084610b16565b50604051610ec581610ebe816006610a76565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610f8e579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610f83575f5173ffffffffffffffffffffffffffffffffffffffff811615610f7957905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60048110156110445780610fab575050565b60018103610fdb577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b6002810361100f57507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6003146110195750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea26469706673582212202eaf8d700913bffd8b4934f8b853d9665e68ca4ec536d49359eed7bb1628075364736f6c634300081e0033","sourceMap":"464:184:63:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;3561:11:28;464:184:63;;;;;;3561:27:28;464:184:63;-1:-1:-1;464:184:63;;;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;1871:15:30;;:26;1867:97;;9044:8:42;8990:25;464:184:63;;;;;;;;;1121:7:36;464:184:63;;;;;;;;;;;;;;;;2005:78:30;464:184:63;2005:78:30;;464:184:63;1024:95:30;464:184:63;;1024:95:30;464:184:63;1024:95:30;;464:184:63;;;;;1024:95:30;;464:184:63;1024:95:30;464:184:63;1024:95:30;;464:184:63;;1024:95:30;;464:184:63;;1024:95:30;;464:184:63;;2005:78:30;;;464:184:63;2005:78:30;;:::i;:::-;464:184:63;1995:89:30;;5153:20:43;;:::i;:::-;3993:249:44;464:184:63;3993:249:44;;;;;;;;;;;;;464:184:63;;;3993:249:44;464:184:63;;3993:249:44;;8990:25:42;:::i;:::-;9044:8;;;;;:::i;:::-;464:184:63;2208:15:30;;;2204:88;;8746:4:28;;;;;:::i;:::-;464:184:63;2204:88:30;2246:35;;;464:184:63;2246:35:30;464:184:63;;;;;;2246:35:30;1867:97;1920:33;;464:184:63;1920:33:30;464:184:63;;;;1920:33:30;464:184:63;;;;;;;;;;;3388:5:28;464:184:63;;:::i;:::-;;;735:10:35;;3388:5:28;:::i;:::-;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;464:184:63;;;;;;;-1:-1:-1;464:184:63;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;464:184:63;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;6183:41:43;:5;:41;:::i;:::-;6638:47;:8;:47;:::i;:::-;464:184:63;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;5674:13:43;464:184:63;;;;5709:4:43;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;624:7:36;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2691:20:30;;:::i;:::-;464:184:63;;;;;;;;;;;;;;;;;;;;2761:2:28;464:184:63;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;735:10:35;464:184:63;-1:-1:-1;464:184:63;;;;-1:-1:-1;464:184:63;;10505:17:28;10486:36;;10482:309;;464:184:63;4890:5:28;;;;;:::i;10482:309::-;10542:24;;;10538:130;;9719:19;;9715:89;;735:10:35;9817:21:28;9813:90;;4890:5;464:184:63;;;;;;;;;;735:10:35;464:184:63;-1:-1:-1;464:184:63;;;;;-1:-1:-1;464:184:63;;;;;10482:309:28;;;9813:90;9861:31;464:184:63;9861:31:28;464:184:63;;;;;9861:31:28;9715:89;9761:32;464:184:63;9761:32:28;464:184:63;;;;;9761:32:28;10538:130;10593:60;;;464:184:63;10593:60:28;735:10:35;464:184:63;;;;;;;;10593:60:28;464:184:63;;;;;;;;;;;;2881:12:28;464:184:63;;;;;;;;;;;;;;;;;;8746:4:28;464:184:63;;:::i;:::-;;;735:10:35;;8746:4:28;:::i;464:184:63:-;;;;;;;;;;;;1837:5:28;464:184:63;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1837:5:28;464:184:63;;;;;;;-1:-1:-1;464:184:63;;;;;;;-1:-1:-1;464:184:63;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;464:184:63;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;464:184:63;;;;;;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;464:184:63;;;;;-1:-1:-1;464:184:63;5297:300:28;464:184:63;;5380:18:28;;;5376:86;;464:184:63;;5475:16:28;;;5471:86;;464:184:63;5396:1:28;464:184:63;5396:1:28;464:184:63;;;5396:1:28;464:184:63;;6244:19:28;;;6240:115;;464:184:63;6987:25:28;464:184:63;;;;5396:1:28;464:184:63;5396:1:28;464:184:63;;;;5396:1:28;464:184:63;;;5396:1:28;464:184:63;5396:1:28;464:184:63;;;5396:1:28;464:184:63;;;;;;;;;;;;6987:25:28;5297:300::o;6240:115::-;6290:50;;5396:1;6290:50;;464:184:63;;;;;;5396:1:28;6290:50;5471:86;5514:32;5396:1;5514:32;5396:1;5514:32;464:184:63;;5396:1:28;5514:32;5376:86;5421:30;5396:1;5421:30;5396:1;5421:30;464:184:63;;5396:1:28;5421:30;3945:262:43;464:184:63;4038:11:43;464:184:63;4029:4:43;4021:28;:63;;;3945:262;4017:184;;;4107:22;4100:29;:::o;4017:184::-;464::63;;4304:80:43;;;464:184:63;2079:95:43;464:184:63;;4326:11:43;464:184:63;2079:95:43;;464:184:63;4339:14:43;2079:95;;;464:184:63;4355:13:43;2079:95;;;464:184:63;4029:4:43;2079:95;;;464:184:63;2079:95:43;4304:80;;;;;;:::i;:::-;464:184:63;4294:91:43;;4160:30;:::o;4021:63::-;4070:14;;4053:13;:31;4021:63;;9607:432:28;464:184:63;;9719:19:28;;;9715:89;;464:184:63;;9817:21:28;;;9813:90;;464:184:63;9991:31:28;464:184:63;;9736:1:28;464:184:63;8746:4:28;464:184:63;;;9736:1:28;464:184:63;;-1:-1:-1;464:184:63;;;;;-1:-1:-1;464:184:63;;;;;;;9991:31:28;9607:432::o;3376:267:39:-;1390:66;3499:46;;1390:66;;;2629:40;;2683:13;2692:4;2683:13;;2679:71;;464:184:63;;;;;;;:::i;:::-;2313:4:39;464:184:63;;;;;;;;;;;2328:106:39;;;3561:22;:::o;2679:71::-;2719:20;-1:-1:-1;2719:20:39;;-1:-1:-1;2719:20:39;3495:142;464:184:63;;;1390:66:39;;;;6210:13:43;1390:66:39;:::i;:::-;;;;:::i;:::-;3614:12;:::o;3376:267::-;1390:66;3499:46;;1390:66;;;2629:40;;2683:13;2692:4;2683:13;;2679:71;;464:184:63;;;;;;;:::i;3495:142:39:-;464:184:63;;;1390:66:39;;;;6668:16:43;1390:66:39;:::i;7142:1551:42:-;;;8222:66;8209:79;;8205:164;;464:184:63;;;;;;-1:-1:-1;464:184:63;;;;;;;;;;;;;;;;;;;8480:24:42;;;;;;;;;-1:-1:-1;8480:24:42;464:184:63;;;8518:20:42;8514:113;;8637:49;-1:-1:-1;8637:49:42;-1:-1:-1;7142:1551:42;:::o;8514:113::-;8554:62;-1:-1:-1;8554:62:42;8480:24;8554:62;-1:-1:-1;8554:62:42;:::o;8480:24::-;464:184:63;;;-1:-1:-1;464:184:63;;;;;8205:164:42;8304:54;;;8320:1;8304:54;8324:30;8304:54;;:::o;11374:532::-;464:184:63;;;;;;11460:29:42;;;11505:7;;:::o;11456:444::-;464:184:63;11556:38:42;;464:184:63;;11617:23:42;11469:20;11617:23;464:184:63;11469:20:42;11617:23;11552:348;11670:35;11661:44;;11670:35;;11728:46;;11469:20;11728:46;464:184:63;;;11469:20:42;11728:46;11657:243;11804:30;11795:39;11791:109;;11657:243;11374:532::o;11791:109::-;11857:32;11469:20;11857:32;464:184:63;;;11469:20:42;11857:32;464:184:63;;11469:20:42;464:184:63;;;;;11469:20:42;464:184:63","linkReferences":{},"immutableReferences":{"44871":[{"start":3308,"length":32}],"44873":[{"start":3497,"length":32}],"44875":[{"start":3261,"length":32}],"44877":[{"start":3387,"length":32}],"44879":[{"start":3425,"length":32}],"44882":[{"start":1167,"length":32}],"44885":[{"start":1208,"length":32}]}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","eip712Domain()":"84b0196e","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}},"TrailsIntentEntrypointTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"entrypoint","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract TrailsIntentEntrypoint"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testAssemblyCodeExecution","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testConstructor","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"testConstructorAndDomainSeparator","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"testDepositToIntentAlreadyUsed","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentCannotReuseDigest","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentExpiredDeadline","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentReentrancyProtection","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentRequiresNonZeroAmount","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentRequiresValidToken","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentTransferFromFails","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithFeeAmountButNoCollector_Reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithFeeCollectorButNoAmount_Reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitAlreadyUsed","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitExpiredDeadline","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitReentrancyProtection","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitRequiresNonZeroAmount","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitRequiresPermitAmount","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitRequiresValidToken","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitTransferFromFails","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitWithFeeAmountButNoCollector_Reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitWithFeeCollectorButNoAmount_Reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithPermitWrongSigner","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWithoutPermit_RequiresIntentAddress","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntentWrongSigner","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntent_WithNonStandardERC20AndFee_Success","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntent_WithNonStandardERC20_InsufficientAllowance_Reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntent_WithNonStandardERC20_InsufficientBalance_Reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDepositToIntent_WithNonStandardERC20_Success","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testExactApprovalFlow","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testExecuteIntentWithFee","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testExecuteIntentWithPermit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testExecuteIntentWithPermitExpired","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testExecuteIntentWithPermitInvalidSignature","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testExecuteIntentWithPermit_permit_frontrun","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testFeeCollectorReceivesFees","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testFeeCollectorReceivesFeesWithoutPermit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInfiniteApprovalFlow","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testIntentTypehashConstant","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"testInvalidNonceReverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testNonceIncrementsOnDeposit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testPermitAmountExcessiveWithFee","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testPermitAmountInsufficientWithFee","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testVersionConstant","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract MockERC20Permit"}],"stateMutability":"view"},{"type":"function","name":"user","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"userPrivateKey","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"FeePaid","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"feeToken","type":"address","indexed":true,"internalType":"address"},{"name":"feeAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"feeCollector","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"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}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"feeToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"name\":\"FeePaid\",\"type\":\"event\"},{\"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\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"entrypoint\",\"outputs\":[{\"internalType\":\"contract TrailsIntentEntrypoint\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAssemblyCodeExecution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testConstructor\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testConstructorAndDomainSeparator\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentAlreadyUsed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentCannotReuseDigest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentExpiredDeadline\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentReentrancyProtection\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentRequiresNonZeroAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentRequiresValidToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentTransferFromFails\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithFeeAmountButNoCollector_Reverts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithFeeCollectorButNoAmount_Reverts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitAlreadyUsed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitExpiredDeadline\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitReentrancyProtection\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitRequiresNonZeroAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitRequiresPermitAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitRequiresValidToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitTransferFromFails\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitWithFeeAmountButNoCollector_Reverts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitWithFeeCollectorButNoAmount_Reverts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithPermitWrongSigner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWithoutPermit_RequiresIntentAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntentWrongSigner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntent_WithNonStandardERC20AndFee_Success\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntent_WithNonStandardERC20_InsufficientAllowance_Reverts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntent_WithNonStandardERC20_InsufficientBalance_Reverts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDepositToIntent_WithNonStandardERC20_Success\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testExactApprovalFlow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testExecuteIntentWithFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testExecuteIntentWithPermit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testExecuteIntentWithPermitExpired\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testExecuteIntentWithPermitInvalidSignature\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testExecuteIntentWithPermit_permit_frontrun\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testFeeCollectorReceivesFees\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testFeeCollectorReceivesFeesWithoutPermit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInfiniteApprovalFlow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testIntentTypehashConstant\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInvalidNonceReverts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testNonceIncrementsOnDeposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testPermitAmountExcessiveWithFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testPermitAmountInsufficientWithFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testVersionConstant\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract MockERC20Permit\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"user\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"userPrivateKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"testDepositToIntentWithFeeAmountButNoCollector_Reverts()\":{\"details\":\"Validates InvalidFeeParameters error when feeAmount > 0 but feeCollector == address(0)\"},\"testDepositToIntentWithFeeCollectorButNoAmount_Reverts()\":{\"details\":\"Validates InvalidFeeParameters error when feeAmount == 0 but feeCollector != address(0)\"},\"testDepositToIntentWithPermitWithFeeAmountButNoCollector_Reverts()\":{\"details\":\"Validates InvalidFeeParameters error when feeAmount > 0 but feeCollector == address(0)\"},\"testDepositToIntentWithPermitWithFeeCollectorButNoAmount_Reverts()\":{\"details\":\"Validates InvalidFeeParameters error when feeAmount == 0 but feeCollector != address(0)\"},\"testDepositToIntent_WithNonStandardERC20AndFee_Success()\":{\"details\":\"Verifies SafeERC20.safeTransferFrom handles both deposit and fee transfers correctly\"},\"testDepositToIntent_WithNonStandardERC20_InsufficientAllowance_Reverts()\":{\"details\":\"Verifies SafeERC20.safeTransferFrom properly reverts when allowance is too low\"},\"testDepositToIntent_WithNonStandardERC20_InsufficientBalance_Reverts()\":{\"details\":\"Verifies SafeERC20.safeTransferFrom properly reverts when non-standard token transfer fails\"},\"testDepositToIntent_WithNonStandardERC20_Success()\":{\"details\":\"Verifies SafeERC20.safeTransferFrom works with tokens that don't return boolean\"},\"testPermitAmountExcessiveWithFee()\":{\"details\":\"Validates permitAmount != amount + feeAmount check (excess case)\"},\"testPermitAmountInsufficientWithFee()\":{\"details\":\"Validates permitAmount != amount + feeAmount check (insufficient case)\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"testDepositToIntentWithFeeAmountButNoCollector_Reverts()\":{\"notice\":\"Test that depositToIntent reverts when feeAmount is provided but feeCollector is not\"},\"testDepositToIntentWithFeeCollectorButNoAmount_Reverts()\":{\"notice\":\"Test that depositToIntent reverts when feeCollector is provided but feeAmount is not\"},\"testDepositToIntentWithPermitWithFeeAmountButNoCollector_Reverts()\":{\"notice\":\"Test that depositToIntentWithPermit reverts when feeAmount is provided but feeCollector is not\"},\"testDepositToIntentWithPermitWithFeeCollectorButNoAmount_Reverts()\":{\"notice\":\"Test that depositToIntentWithPermit reverts when feeCollector is provided but feeAmount is not\"},\"testDepositToIntent_WithNonStandardERC20AndFee_Success()\":{\"notice\":\"Test depositToIntent with non-standard ERC20 token and fee\"},\"testDepositToIntent_WithNonStandardERC20_InsufficientAllowance_Reverts()\":{\"notice\":\"Test depositToIntent with non-standard ERC20 when allowance is insufficient\"},\"testDepositToIntent_WithNonStandardERC20_InsufficientBalance_Reverts()\":{\"notice\":\"Test depositToIntent with non-standard ERC20 when transfer fails\"},\"testDepositToIntent_WithNonStandardERC20_Success()\":{\"notice\":\"Test depositToIntent with non-standard ERC20 token (like USDT)\"},\"testPermitAmountExcessiveWithFee()\":{\"notice\":\"Test that depositToIntentWithPermit reverts when permit amount exceeds required\"},\"testPermitAmountInsufficientWithFee()\":{\"notice\":\"Test that depositToIntentWithPermit reverts when permit amount is insufficient\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsIntentEntrypoint.t.sol\":\"TrailsIntentEntrypointTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xfb223a85dd0b2175cfbbaa325a744e2cd74ecd17c3df2b77b0722f991d2725ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84bf1dea0589ec49c8d15d559cc6d86ee493048a89b2d4adb60fbe705a3d89ae\",\"dweb:/ipfs/Qmd56n556d529wk2pRMhYhm5nhMDhviwereodDikjs68w1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0xa9380c9153e675a27f8c9c91e2257adc118c949df4c79d5b3f36c3b73c31b62d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07862a858180dabc42732598b9ae2e53b7a4081c9b71c7b003d157e666536171\",\"dweb:/ipfs/QmYuke2jfrFKMvYg4CAbaPwF7NBvTPpMUXzN9PQS31xKCf\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x69f55097613b5f799fc433819715bdf3c5cbf785c68552512f0a0f5382fd7d04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c87c85b779707e85e58e79c3ae3394f3a024fd4d831b94ce4eb411ee20de48b6\",\"dweb:/ipfs/QmdDsm82edRT28MfhgCEAiXH5WTdtrH5MAppRup5RmbzH5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/Bytes.sol\":{\"keccak256\":\"0x18fe825fe4cfec749b67a59d770cf56788b9fdced46cac555b2a95ea99e3ec10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cab7cd7485592067b85a31b7d282cb6d336262d4432ee405a1d42a8ad73e518a\",\"dweb:/ipfs/QmfPtzkkyjQeEQYjmZPG8R6XiJTMmFFD9phsF1vSZeydPy\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Nonces.sol\":{\"keccak256\":\"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e\",\"dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x6f9ed073e3dab12233a79cd85153f72c9e0f99c1f5512f6d5b1ef09fb46abbb0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://093d2a804b792a0000883c2215585963ed98ec4341b45bc4224844623387d161\",\"dweb:/ipfs/QmR5shjVosAoxdmY3EfkUWgFNV4CVUcbRNS7tkvbipssPX\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x10c3692496072028134a8869f724ea848574bbb79f1338426e8f6a91f8dc11db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8238d3f50e825c6b56929987da0d56003e4532c518826138c13db2223da077aa\",\"dweb:/ipfs/QmVFK7rdDHDCqNJDZ9KnMo6Pqrc8kB1SJz9z1Y1X9CoUdf\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x88b4791ddd6fc3c4fa6a2077c642514165eca0317ad3fd6b155b87d1972e1510\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24d808d462dea4ac390884ace5f0c4602358fbab52851198eaf9122f7f457471\",\"dweb:/ipfs/QmQ2vcXtgnBd56LArzgRaRXxj1LTDPNJyHZTAvrAiCit1P\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x4f7de0846587a28ea3623077dd809d53f08ad6176738ce1cedf272cb7bc2a107\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a189921ec61afa7c7348a1699b2550dcba5fb449ae8966e91ef3acd2dc60a4a\",\"dweb:/ipfs/Qma7cmxAGYyMPiEtH2Bv5QNHFmob88ZE6qYfZKFzuW8A4U\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0xea0bf00d811fe84ecfac7ae8e51810d86db9370a166df05e3ad176a6ec3a161d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89bfa38430954e71af7a94bec6084aa5e341e4aaf349d62f3a4ee017637d7fd\",\"dweb:/ipfs/QmREWDFPc9fChw9TA4ACEZ2b6HXXwZ5auiNPzbwkWV9CbE\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0xbc74ecc030965d1fe36e7dc687b61a9ec017c49bfdf73d5e6de993580818da9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ece049103821500c410ef1a7b845180eeefdbbf1383c4add10901e6dd1f279e\",\"dweb:/ipfs/QmUhvPr3dEq45sHxwV6PsudXaYwZvz34jq3gu9QRBJahD6\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xfa5997d334f4daa83930d1d8944cc30f7d971ec40871511b6f8958ac9a59b911\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f34169ec4ff5bcea97b2a8dfcb03fafcf2d53b44b84d09bd87ece3c819380bb\",\"dweb:/ipfs/QmV8NLr6DhskCMMYuLfvJzgAJX9DLXY69gdoGTXM18UguB\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"src/TrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x095a96c9100409f00dff1193b1f7489763e3a2b3d3a73a4e684a5b8d5384219c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75826e1d2f658a3edfeea2251ffd6128c563a2989382743def54f911be1d5c34\",\"dweb:/ipfs/QmNQZxaq6Tbm7XGC9jNvhCfZU3d1b3adkot38sCFze7yeR\"]},\"src/interfaces/ITrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x78527a499f07b4dd729a294f2616d727f2d25d505b29f0d2758af6958d157ef4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5955cc80d7c662efb07420a6e43fe9d5d0111ff5d5bcd059ca8727f99a6fe9d3\",\"dweb:/ipfs/Qmd47ZRVEMgzUDFXXc3UvVNpeEbrs2pte4vsFy5bPsRPVf\"]},\"test/TrailsIntentEntrypoint.t.sol\":{\"keccak256\":\"0xc19acdf97ab2e0b9cd90a4dc10717f49a6231d66eaca022bd17597dd7cce0b49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b3832a03468b60673632d14e2dc98a94d238cb9b4416bd956c634b78d088b1e\",\"dweb:/ipfs/QmY9CjScxyRCUhm6tbYH7PoDKeFQxogr3MWoAZrUpAa48m\"]},\"test/mocks/MockNonStandardERC20.sol\":{\"keccak256\":\"0xb6c02a6add0f642cd85c550be6ed86305a09cb9d01bd0b15070e50112e943fd9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e438e16d33b914174ab53a8317d45ccbaa009496f9349e219c522cb82dfe3987\",\"dweb:/ipfs/QmQQKgZhq7TFBirdYq7zRjo6KpWoS7DE6fgqqaugbsTnu8\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346100ef57600160ff19600c541617600c55600160ff19601f541617601f5563ffa1864960e01b81526401234567896004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811561010e575f9161009f575b50602180546001600160a01b0319166001600160a01b039290921691909117905564012345678960225560405162019e8f90816200011a8239f35b905060203d602011610107575b601f8101601f191682016001600160401b038111838210176100f3576020918391604052810103126100ef57516001600160a01b03811681036100ef575f610064565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b503d6100ac565b6040513d5f823e3d90fdfe61010080604052600436101562000014575f80fd5b5f6080525f3560e01c9081630a9254e414620150d7575080630c266cdb146201497157806319835737146201496b5780631e3f2fae146201496b5780631ed7831c14620148b6578063218171d71462013ea357806322b7bf5e14620137b65780632ade388014620135605780632bce844d1462012c8b5780632ce7f6c814620125c05780633532ecd51462011f5a5780633e5e3c231462011ea55780633f7286f41462011df05780634f8632ba1462011d9b57806351a82aa0146201153557806355544ac01462011397578063567902d914620109c0578063572a59b9146200fff757806366d9a9a0146200fe7e57806369ad3c6a146200facb5780636d74fac8146200f4ba578063774345cd146200eb085780637747c190146200e4b25780637806d8ab146200dda7578063804b1836146200d65057806380839499146200cd3657806385226c81146200cc965780638cb2b6bf146200cc575780638db1cdf8146200c5ab578063901dc0e2146200b6b1578063916a17c6146200b5c7578063942c6c0d146200b32e5780639750a94e146200ab1b5780639eed73d6146200a224578063a65d69d4146200a1cc578063a9d982311462009ba1578063ac315011146200934c578063b0464fdc1462009262578063b320b4951462008b3b578063b47752d114620083f1578063b5508aa91462008351578063ba414fa61462008309578063bbaaf0a81462007708578063bdc1b59c1462006e56578063be4671ef14620065a0578063be7d0b2f14620055bf578063c0aa967b1462004ce7578063c13acba01462003f82578063c2e9f2e41462003f28578063c30fff9714620034a4578063ccf5634614620032e3578063cde7e4871462002d1c578063d49421661462002428578063d7284b701462001a8f578063e20c9f7114620019c9578063ef45a94b146200131e578063f56af20a1462000af6578063fa5e81021462000390578063fa7626d4146200034c5763fc0c546a14620002f2575f80fd5b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657602073ffffffffffffffffffffffffffffffffffffffff815416604051908152f35b60805180fd5b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657602060ff601f54166040519015158152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762000ad9575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062000a95575b620004b7915062015f97565b9081600a0291600a83040362000a6457600142019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541690604051937f7ecebe00000000000000000000000000000000000000000000000000000000008552826004860152602085602481855afa9485156200092a576080519562000a2a575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5760805192620009ef575b509060049360209260405191848301936080515084526040830152606082015285608082015260805160a08201528760c08201524660e0820152866101008201526080516101208201526080516101408201526101408152620005fb6101608262015f46565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a5760805192620009ae575b506040517f19010000000000000000000000000000000000000000000000000000000000006020820190815260228201939093526042810191909152620006b081606281015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528262015f46565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a57608051928392839162000971575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb6a75fc10000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762000954575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff602154169673ffffffffffffffffffffffffffffffffffffffff6020541693873b15620003465760ff94604051997f3525916f000000000000000000000000000000000000000000000000000000008b526080515060048b015260248a015260448901526080516064890152608488015260a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a5762000937575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d575b60805180f35b6080516200091b9162015f46565b60805162000346578062000907565b6040513d608051823e3d90fd5b608051620009459162015f46565b60805162000346578062000898565b608051620009629162015f46565b608051620003465786620007b0565b919350506200099c915060603d606011620009a6575b62000993818362015f46565b81019062015fd1565b929091866200071b565b503d62000987565b9091506020813d602011620009e6575b81620009cd6020938362015f46565b81010312620009e2575190620006b06200063d565b5f80fd5b3d9150620009be565b91506020823d60201162000a21575b8162000a0d6020938362015f46565b81010312620009e257905190600462000595565b3d9150620009fe565b9094506020813d60201162000a5b575b8162000a496020938362015f46565b81010312620009e25751938662000552565b3d915062000a3a565b7f4e487b71000000000000000000000000000000000000000000000000000000006080515260116004526024608051fd5b506020813d60201162000ad0575b8162000ab26020938362015f46565b81010312620003465762000aca620004b79162015f88565b620004ab565b3d915062000aa3565b60805162000ae79162015f46565b60805162000346578062000451565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762001301575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a5760805190620012bd575b62000c1d915062015f97565b908160320291603283040362000a64576040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062001279575b62000c79915062015f97565b918260050292600584040362000a6457610e1042019283421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481885afa9586156200092a57608051966200123f575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa80156200092a5787916080519162001201575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff9485169181019190915292841660608401526080830185905261567860a084015260c083018990524660e084015261010083019190915261012082018590525f6101408301529062000dd181610160810162000683565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481895afa9182156200092a5760805192620011c4575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262000e61816062810162000683565b5190209260225493604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519586958694916200118e575b5062000f3b9160209162000ee3858862015fc3565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909316600484015260248301529092839190829081906044820190565b0391608051905af180156200092a576200115a575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4db7e8510000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200113d575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169773ffffffffffffffffffffffffffffffffffffffff6020541694883b15620003465760ff956040519a7f3525916f000000000000000000000000000000000000000000000000000000008c526080515060048c015260248b015260448a015261567860648a0152608489015260a488015260c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200114b9162015f46565b60805162000346578762000fe5565b620011809060203d60201162001186575b62001177818362015f46565b81019062015fa9565b62000f50565b503d6200116b565b620011b79197506020965062000f3b92945060603d606011620009a65762000993818362015f46565b9790965090939162000ece565b9091506020813d602011620011f8575b81620011e36020938362015f46565b81010312620009e257519062000e6162000e16565b3d9150620011d4565b9150506020813d60201162001236575b81620012206020938362015f46565b81010312620009e25751869062000dd162000d59565b3d915062001211565b9095506020813d60201162001270575b816200125e6020938362015f46565b81010312620009e25751948762000d16565b3d91506200124f565b506020813d602011620012b4575b81620012966020938362015f46565b810103126200034657620012ae62000c799162015f88565b62000c6d565b3d915062001287565b506020813d602011620012f8575b81620012da6020938362015f46565b810103126200034657620012f262000c1d9162015f88565b62000c11565b3d9150620012cb565b6080516200130f9162015f46565b60805162000346578062000bb7565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620019ac575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c166024602073ffffffffffffffffffffffffffffffffffffffff6021541692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528660048301525afa9081156200092a576080519162001974575b50602080546040517f3644e5150000000000000000000000000000000000000000000000000000000081529173ffffffffffffffffffffffffffffffffffffffff9091169082600481845afa9182156200092a57608051926200193a575b506024602073ffffffffffffffffffffffffffffffffffffffff601f5460081c1692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528960048301525afa80156200092a57869160805191620018fc575b50916200160291620015bd620006839462000683604051938492680340aad21b3b70000160208501978d89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902060405192839160208301958690916042927f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201520190565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5784608051946080519360805195620018c5575b5062001680918391620165e9565b949093737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7719991e0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620018a8575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169673ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff6020541695893b15620003465760049a60ff9788946040519d8e7f358a8f4800000000000000000000000000000000000000000000000000000000815260805150015260248d01526802b5e3af16b188000060448d0152680340aad21b3b70000160648d015261567860848d015260a48c015260c48b0152678ac7230489e8000060e48b01526199996101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620018b69162015f46565b60805162000346578862001717565b62001680929650620018ed91955083945060603d606011620009a65762000993818362015f46565b94919690949591509162001672565b9150506020813d60201162001931575b816200191b6020938362015f46565b81010312620009e2575185906200160262001530565b3d91506200190c565b9091506020813d6020116200196b575b81620019596020938362015f46565b81010312620009e257519085620014c9565b3d91506200194a565b90506020813d602011620019a3575b81620019926020938362015f46565b81010312620009e25751836200146b565b3d915062001983565b608051620019ba9162015f46565b608051620003465780620013df565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576040518060206015549182815201906015608051527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475906080515b81811062001a625762001a5e8562001a518187038262015f46565b6040519182918262015d15565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920162001a36565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657604051610c158082019082821067ffffffffffffffff831117620023f757602091839162019245833964e8d4a510008152030190608051f080156200092a5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff60215416813b156200034657604051907fa9059cbb0000000000000000000000000000000000000000000000000000000082526004820152633b9aca00602482015260805181604481608051865af180156200092a57620023da575b5073ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620023bd575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff6021541691604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452806004850152602084602481855afa9384156200092a576080519462002383575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481865afa80156200092a5785916080519162002345575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff9485169181019190915292871660608401526302faf080608084015261567860a084015260c083018590524660e08401526101008301919091525f61012083018190526101408301529062001d6281610160810162000683565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a576080519262002308575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262001df2816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a57608051926080519260805196620022da575b50604051907f095ea7b300000000000000000000000000000000000000000000000000000000825260048201526302faf08060248201526020816044816080518b5af180156200092a57620022b8575b5073ffffffffffffffffffffffffffffffffffffffff6021541691604051947f70a082310000000000000000000000000000000000000000000000000000000086528360048701526020866024818b5afa9586156200092a57608051966200227e575b50604051967f70a0823100000000000000000000000000000000000000000000000000000000885261567860048901526020886024818c5afa9788156200092a576080519862002244575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1692833b15620003465789916200202c91604051988997889687967f3525916f0000000000000000000000000000000000000000000000000000000088526080519b600489019361014095919897969373ffffffffffffffffffffffffffffffffffffffff60ff948161016089019c1688521660208701526302faf08060408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b0391608051905af180156200092a5762002227575b5073ffffffffffffffffffffffffffffffffffffffff6021541692604051937f70a082310000000000000000000000000000000000000000000000000000000085526004850152602084602481845afa9384156200092a5760805194620021ed575b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd050f80820191821162000a6457620020df60209260249562016b42565b604051938480927f70a0823100000000000000000000000000000000000000000000000000000000825261567860048301525afa9182156200092a5760805192620021b3575b506302faf080810180911162000a6457620021409162016b42565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b9091506020813d602011620021e4575b81620021d26020938362015f46565b81010312620009e25751908262002125565b3d9150620021c3565b9093506020813d6020116200221e575b816200220c6020938362015f46565b81010312620009e257519284620020a3565b3d9150620021fd565b608051620022359162015f46565b60805162000346578362002041565b9097506020813d60201162002275575b81620022636020938362015f46565b81010312620009e25751968962001f5f565b3d915062002254565b9095506020813d602011620022af575b816200229d6020938362015f46565b81010312620009e25751948862001f14565b3d91506200228e565b620022d49060203d602011620011865762001177818362015f46565b62001eb1565b9193509450620022fc915060603d606011620009a65762000993818362015f46565b91929091948762001e61565b9091506020813d6020116200233c575b81620023276020938362015f46565b81010312620009e257519062001df262001da7565b3d915062002318565b9150506020813d6020116200237a575b81620023646020938362015f46565b81010312620009e25751849062001d6262001ce7565b3d915062002355565b9093506020813d602011620023b4575b81620023a26020938362015f46565b81010312620009e25751928562001ca4565b3d915062002393565b608051620023cb9162015f46565b60805162000346578162001c17565b608051620023e89162015f46565b60805162000346578162001b87565b7f4e487b71000000000000000000000000000000000000000000000000000000006080515260416004526024608051fd5b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762002cff575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062002cbb575b6200254f915062015f97565b908160140291601483040362000a64577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019082821162000a64576064420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff6021541691604051937f7ecebe00000000000000000000000000000000000000000000000000000000008552836004860152602085602481855afa9485156200092a576080519562002c81575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481855afa9081156200092a576080519162002c49575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152856004820152602081602481865afa80156200092a5786916080519162002c0b575b5062000683916200272591620015bd8b620006838a6040519485938c602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209060225494604051927fe341eaa40000000000000000000000000000000000000000000000000000000084528660048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a5760805194859485949162002bdb575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a576080519262002ba0575b50906004936020926040519184830193608051508452604083015260608201528c608082015261123460a08201528860c08201524660e08201528a61010082015260805161012082015260805161014082015261014081526200283c6101608262015f46565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262002b63575b506040517f19010000000000000000000000000000000000000000000000000000000000006020820190815260228201939093526042810191909152620028c9816062810162000683565b519020604051957fe341eaa400000000000000000000000000000000000000000000000000000000875260048701526024860152606085604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9586156200092a5760805196879687969162002b33575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762002b16575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169873ffffffffffffffffffffffffffffffffffffffff602154169a73ffffffffffffffffffffffffffffffffffffffff602054168b3b1562000346576040519c7f358a8f48000000000000000000000000000000000000000000000000000000008e52608051508d6004015260248d015260448c015260648b015260848a01611234905260a48a015260c489015260805160e489015260805161010489015260ff1661012488015261014487015261016486015260ff166101848501526101a48401526101c48301528160805191816080515a926101e493f180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b60805162002b249162015f46565b60805162000346578a620029a0565b919550965062002b5691955060603d606011620009a65762000993818362015f46565b9591949095968a62002931565b9091506020813d60201162002b97575b8162002b826020938362015f46565b81010312620009e2575190620028c96200287e565b3d915062002b73565b91506020823d60201162002bd2575b8162002bbe6020938362015f46565b81010312620009e2579051906004620027d6565b3d915062002baf565b919350945062002bfe91935060603d606011620009a65762000993818362015f46565b9391929093948b62002793565b9150506020813d60201162002c40575b8162002c2a6020938362015f46565b81010312620009e25751859062000683620026a1565b3d915062002c1b565b90506020813d60201162002c78575b8162002c676020938362015f46565b81010312620009e257518862002658565b3d915062002c58565b9094506020813d60201162002cb2575b8162002ca06020938362015f46565b81010312620009e25751938762002616565b3d915062002c91565b506020813d60201162002cf6575b8162002cd86020938362015f46565b81010312620003465762002cf06200254f9162015f88565b62002543565b3d915062002cc9565b60805162002d0d9162015f46565b608051620003465780620024e9565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620032c6575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff60215416604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252806004830152602082602481865afa9182156200092a57608051926200328c575b50602080546040517f3644e5150000000000000000000000000000000000000000000000000000000081529173ffffffffffffffffffffffffffffffffffffffff9091169082600481845afa9182156200092a576080519262003252575b506024602073ffffffffffffffffffffffffffffffffffffffff601f5460081c1692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528860048301525afa80156200092a5787916080519162003214575b509162002fba91620015bd6200068394620006836040519384926802fb474098f67c000060208501978c89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209160225492604051937fe341eaa400000000000000000000000000000000000000000000000000000000855260048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a57608051938493849190620031e6575b506200303583888462016879565b969193909573ffffffffffffffffffffffffffffffffffffffff6020541695893b15620003465760049a60ff9788946040519d8e7f358a8f4800000000000000000000000000000000000000000000000000000000815260805150015260248d01526802b5e3af16b188000060448d01526802fb474098f67c000060648d015261567860848d015260a48c015260c48b0152674563918244f4000060e48b01526199996101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620031c9575b506024602073ffffffffffffffffffffffffffffffffffffffff815416604051928380927f70a0823100000000000000000000000000000000000000000000000000000000825261999960048301525afa80156200092a57608051906200318e575b620021409150620169a6565b506020813d602011620031c0575b81620031ab6020938362015f46565b81010312620009e25762002140905162003182565b3d91506200319c565b608051620031d79162015f46565b60805162000346578062003120565b919350506200320891935060603d606011620009a65762000993818362015f46565b93919290938762003027565b9150506020813d60201162003249575b81620032336020938362015f46565b81010312620009e25751869062002fba62002f2d565b3d915062003224565b9091506020813d60201162003283575b81620032716020938362015f46565b81010312620009e25751908662002ec6565b3d915062003262565b9091506020813d602011620032bd575b81620032ab6020938362015f46565b81010312620009e25751908462002e68565b3d91506200329c565b608051620032d49162015f46565b60805162000346578062002ddd565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051907fffa1ad7400000000000000000000000000000000000000000000000000000000825281600481608051935afa9081156200092a57608051916200347b575b506040805162003385828262015f46565b600181527f31000000000000000000000000000000000000000000000000000000000000006020820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576200340f6200344393835194859283927ff320d963000000000000000000000000000000000000000000000000000000008452866004850152604484019062015d66565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8382030160248401526080519462015d66565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200347057506200090d5760805180f35b513d608051823e3d90fd5b6200349d91503d80608051833e62003494818362015f46565b810190620163e5565b8162003374565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762003f0b575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062003ec7575b620035cb915062015f97565b8060320290603282040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff60215416906040517f7ecebe00000000000000000000000000000000000000000000000000000000008152826004820152602081602481895afa9081156200092a576080519162003e8f575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481865afa9081156200092a576080519162003e57575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152846004820152602081602481875afa9081156200092a578888879389936080519162003e10575b50620006839492620006836200377a9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209560225495604051977fe341eaa40000000000000000000000000000000000000000000000000000000089528760048a01526024890152606088604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9788156200092a5760805195608051916080519a62003de3575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a578987899387936080519162003d9c575b50620038ab9291620006839160405195869460208601988a46948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481895afa9182156200092a576080519262003d5f575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200393b816062810162000683565b519020604051997fe341eaa4000000000000000000000000000000000000000000000000000000008b5260048b015260248a0152606089604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a57608051998a9182919062003d33575b506040519a7f70a08231000000000000000000000000000000000000000000000000000000008c528360048d015260208c6024818c5afa9b8c156200092a576080519c62003cf8575b506040517f70a0823100000000000000000000000000000000000000000000000000000000815261567860048201529b9c60208d6024818d5afa9c8d156200092a576080519d62003cbe575b50873b1562000346578b956040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b62003b1c9c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a5762003ca1575b5073ffffffffffffffffffffffffffffffffffffffff602054169173ffffffffffffffffffffffffffffffffffffffff6021541692604051937f70a082310000000000000000000000000000000000000000000000000000000085526004850152602084602481845afa9384156200092a576080519462003c66575b50926020602494604051958680927f70a0823100000000000000000000000000000000000000000000000000000000825261567860048301525afa9384156200092a576080519462003c23575b509062003c1d839262003c1662003c169562002140986201611f565b9062016b42565b62015fc3565b94935091906020853d60201162003c5d575b8162003c446020938362015f46565b81010312620009e25793519293909162003c1d62003bfa565b3d915062003c35565b93506020843d60201162003c98575b8162003c846020938362015f46565b81010312620009e257925192602062003bad565b3d915062003c75565b60805162003caf9162015f46565b60805162000346578362003b31565b909c506020813d60201162003cef575b8162003cdd6020938362015f46565b81010312620009e257519b8e62003a37565b3d915062003cce565b9b5060208c3d60201162003d2a575b8162003d166020938362015f46565b81010312620009e25760049b519b620039eb565b3d915062003d07565b91505062003d5491995060603d606011620009a65762000993818362015f46565b909991998c620039a2565b9091506020813d60201162003d93575b8162003d7e6020938362015f46565b81010312620009e25751906200393b620038f0565b3d915062003d6f565b9450505050506020813d60201162003dda575b8162003dbe6020938362015f46565b81010312620009e25751869084908a908890620038ab62003833565b3d915062003daf565b9150985062003e0591955060603d606011620009a65762000993818362015f46565b989195918a620037eb565b9450505050506020813d60201162003e4e575b8162003e326020938362015f46565b81010312620009e25751849086908990899062000683620036f6565b3d915062003e23565b90506020813d60201162003e86575b8162003e756020938362015f46565b81010312620009e2575187620036a8565b3d915062003e66565b90506020813d60201162003ebe575b8162003ead6020938362015f46565b81010312620009e257518662003666565b3d915062003e9e565b506020813d60201162003f02575b8162003ee46020938362015f46565b81010312620003465762003efc620035cb9162015f88565b620035bf565b3d915062003ed5565b60805162003f199162015f46565b60805162000346578062003565565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576200090773ffffffffffffffffffffffffffffffffffffffff601f5460081c1615156201655f565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762004cca575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062004c86575b620040a9915062015f97565b8060320290603282040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652826004870152602086602481885afa9586156200092a576080519662004c4c575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481855afa9081156200092a576080519162004c14575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152846004820152602081602481865afa9081156200092a578785879389936080519162004bcd575b5062000683949262000683620042599593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209060225496604051927fe341eaa40000000000000000000000000000000000000000000000000000000084528860048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9687156200092a57608051978894859162004ba0575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481865afa9081156200092a5789858a938a936080519162004b59575b5062004386929162000683916040519586948c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262004b1c575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262004416816062810162000683565b5190206040519a7fe341eaa4000000000000000000000000000000000000000000000000000000008c5260048c015260248b015260608a604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9889156200092a57608051976080519b6080519b62004aec575b50833b1562000346576040517f358a8f480000000000000000000000000000000000000000000000000000000081526080805173ffffffffffffffffffffffffffffffffffffffff9384166004840152979092166024820152604481018b9052606481018b9052615678608482015260a4810189905260c48101959095525f60e4860181905261010486015260ff9687166101248601526101448501929092526101648401529386166101848301526101a482018990526101c482018890529251909283916101e4918391905af180156200092a5762004acf575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481855afa9586156200092a576080519662004a95575b5073ffffffffffffffffffffffffffffffffffffffff6020541691604051927f3644e515000000000000000000000000000000000000000000000000000000008452602084600481845afa9384156200092a576080519462004a58575b50906020602492604051938480927f7ecebe000000000000000000000000000000000000000000000000000000000082528760048301525afa9182156200092a57859287916080519162004a13575b50620006839492620006836200470c9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225495604051967fe341eaa400000000000000000000000000000000000000000000000000000000885260048801526024870152606086604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a576080519788978893620049e6575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527febe052290000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620049d79162015f46565b6080516200034657896200480d565b919850965062004a08915060603d606011620009a65762000993818362015f46565b919790968962004778565b93505050916020823d60201162004a4f575b8162004a346020938362015f46565b81010312620009e25790519091849186906200068362004688565b3d915062004a25565b919093506020823d60201162004a8c575b8162004a786020938362015f46565b81010312620009e257905192602062004639565b3d915062004a69565b9095506020813d60201162004ac6575b8162004ab46020938362015f46565b81010312620009e257519488620045dc565b3d915062004aa5565b60805162004add9162015f46565b6080516200034657856200455c565b919850995062004b0f919a5060603d606011620009a65762000993818362015f46565b9a9197909a998c62004481565b9091506020813d60201162004b50575b8162004b3b6020938362015f46565b81010312620009e257519062004416620043cb565b3d915062004b2c565b9450505050506020813d60201162004b97575b8162004b7b6020938362015f46565b81010312620009e25751879087908a908690620043866200430e565b3d915062004b6c565b9194505062004bc291975060603d606011620009a65762000993818362015f46565b979193908a620042c6565b9450505050506020813d60201162004c0b575b8162004bef6020938362015f46565b81010312620009e25751849086908890869062000683620041d5565b3d915062004be0565b90506020813d60201162004c43575b8162004c326020938362015f46565b81010312620009e257518762004187565b3d915062004c23565b9095506020813d60201162004c7d575b8162004c6b6020938362015f46565b81010312620009e25751948662004145565b3d915062004c5c565b506020813d60201162004cc1575b8162004ca36020938362015f46565b81010312620003465762004cbb620040a99162015f88565b6200409d565b3d915062004c94565b60805162004cd89162015f46565b60805162000346578062004043565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620055a2575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200555e575b62004e0e915062015f97565b8060320290603282040362000a64577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff42019042821162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452826004850152602084602481885afa9384156200092a576080519462005524575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a5760805191620054ec575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528460048201526020816024818b5afa9081156200092a5787858793869360805191620054a5575b506200068394926200068362004fdc9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225493604051967fe341eaa40000000000000000000000000000000000000000000000000000000088528560048901526024880152606087604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a57608051988998899462005475575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5786928a916080519162005432575b506004959262000683602095936200510d938c6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a5760805192620053f5575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200519a816062810162000683565b519020604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a57608051948591829190620053c9575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f408b22340000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b915050620053ea91945060603d606011620009a65762000993818362015f46565b909491948962005201565b9091506020813d60201162005429575b81620054146020938362015f46565b81010312620009e25751906200519a6200514f565b3d915062005405565b93505050926020823d6020116200546c575b81620054536020938362015f46565b81010312620009e2579051909285918990600462005090565b3d915062005444565b91995092506200549891975060603d606011620009a65762000993818362015f46565b9791989097928a62005049565b9450505050506020813d602011620054e3575b81620054c76020938362015f46565b81010312620009e2575184908390889086906200068362004f58565b3d9150620054b8565b90506020813d6020116200551b575b816200550a6020938362015f46565b81010312620009e257518762004f0a565b3d9150620054fb565b9093506020813d60201162005555575b81620055436020938362015f46565b81010312620009e25751928662004ec8565b3d915062005534565b506020813d60201162005599575b816200557b6020938362015f46565b8101031262000346576200559362004e0e9162015f88565b62004e02565b3d91506200556c565b608051620055b09162015f46565b60805162000346578062004da8565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762006583575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200653f575b620056e6915062015f97565b8060320290603282040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff6021541691604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252836004830152602082602481845afa9182156200092a576080519262006505575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481875afa9081156200092a5760805191620064cd575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152856004820152602081602481885afa80156200092a578691608051916200648f575b5062000683916200589191620015bd8a620006838d6040519485938b602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209360225494604051907fe341eaa40000000000000000000000000000000000000000000000000000000082528660048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5760805196879384939062006461575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a578a888a938e93608051916200641a575b50620059bf9291620006839160405195869460208601988b46948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818a5afa9182156200092a5760805192620063dd575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262005a4f816062810162000683565b519020604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a576080519182918291620063b5575b50863b1562000346578b958b956040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b62005b9d9c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a5762006398575b5073ffffffffffffffffffffffffffffffffffffffff602054169073ffffffffffffffffffffffffffffffffffffffff602154169273ffffffffffffffffffffffffffffffffffffffff601f5460081c16906040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081526020818062005c62868a6004840190929173ffffffffffffffffffffffffffffffffffffffff60209181604085019616845216910152565b0381885afa80156200092a57608051906200635d575b62005c84915062016a3a565b604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452856004850152602084602481865afa9384156200092a576080519462006323575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a5760805191620062eb575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528760048201526020816024818a5afa9081156200092a578891859160805191620062aa575b509162005dde91620015bd6200068394620006836040519384928a8d602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902095602254604051977fe341eaa40000000000000000000000000000000000000000000000000000000089528160048a01526024890152606088604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a576080519889928391906200627f575b506040517ff39610400000000000000000000000000000000000000000000000000000000081526020816004818b5afa9081156200092a578a918a91608051916200623e575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff808a1692820192909252931660608401526080830188905261567860a084015260c083018990524660e08401526101008301919091525f61012083018190526101408301529062005f0881610160810162000683565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818c5afa9182156200092a576080519262006201575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262005f98816062810162000683565b519020604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a57608051938493849391620061d4575b50883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620060e39c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a57620061b7575b5060208054602154601f546040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015260089190911c82166024820152929183916044918391165afa80156200092a57608051906200617c575b62002140915062016a3a565b506020813d602011620061ae575b81620061996020938362015f46565b81010312620009e25762002140905162006170565b3d91506200618a565b608051620061c59162015f46565b608051620003465780620060f8565b9193509350620061f6915060603d606011620009a65762000993818362015f46565b929092938c62006000565b9091506020813d60201162006235575b81620062206020938362015f46565b81010312620009e257519062005f9862005f4d565b3d915062006211565b925050506020813d60201162006276575b816200625e6020938362015f46565b81010312620009e2578862005f088b92519062005e91565b3d91506200624f565b91995050620062a0915060603d606011620009a65762000993818362015f46565b9198908a62005e4b565b925050506020813d602011620062e2575b81620062ca6020938362015f46565b81010312620009e257518790849062005dde62005d5a565b3d9150620062bb565b90506020813d6020116200631a575b81620063096020938362015f46565b81010312620009e257518762005d0e565b3d9150620062fa565b9093506020813d60201162006354575b81620063426020938362015f46565b81010312620009e25751928662005ccc565b3d915062006333565b506020813d6020116200638f575b816200637a6020938362015f46565b81010312620009e25762005c84905162005c78565b3d91506200636b565b608051620063a69162015f46565b60805162000346578262005bb2565b915050620063d5915060603d606011620009a65762000993818362015f46565b918c62005ab6565b9091506020813d60201162006411575b81620063fc6020938362015f46565b81010312620009e257519062005a4f62005a04565b3d9150620063ed565b9450505050506020813d60201162006458575b816200643c6020938362015f46565b81010312620009e2575187908b908b908990620059bf62005947565b3d91506200642d565b919750925062006483915060603d606011620009a65762000993818362015f46565b91969091928a620058ff565b9150506020813d602011620064c4575b81620064ae6020938362015f46565b81010312620009e257518590620006836200580d565b3d91506200649f565b90506020813d602011620064fc575b81620064eb6020938362015f46565b81010312620009e2575187620057c4565b3d9150620064dc565b9091506020813d60201162006536575b81620065246020938362015f46565b81010312620009e25751908662005782565b3d915062006515565b506020813d6020116200657a575b816200655c6020938362015f46565b81010312620003465762006574620056e69162015f88565b620056da565b3d91506200654d565b608051620065919162015f46565b60805162000346578062005680565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762006e39575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062006df5575b620066c7915062015f97565b8060320290603282040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541692604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452846004850152602084602481865afa9384156200092a576080519462006dbb575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a576080519162006d83575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528660048201526020816024818b5afa9081156200092a57879185916080519162006d42575b50916200687491620015bd6200068394620006836040519384928a8d602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225495604051967fe341eaa400000000000000000000000000000000000000000000000000000000885260048801526024870152606086604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a57608051978897889662006d12575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a57859289916080519162006ccf575b50600495926200068360209593620069a4938b6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262006c92575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262006a31816062810162000683565b51902092604051937fe341eaa400000000000000000000000000000000000000000000000000000000855264098765432160048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a5760805194859182919062006c665750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527febe052290000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b91505062006c8791945060603d606011620009a65762000993818362015f46565b909491948962004778565b9091506020813d60201162006cc6575b8162006cb16020938362015f46565b81010312620009e257519062006a31620069e6565b3d915062006ca2565b93505050926020823d60201162006d09575b8162006cf06020938362015f46565b81010312620009e2579051909284918890600462006927565b3d915062006ce1565b919850945062006d3591965060603d606011620009a65762000993818362015f46565b96919790969489620068e0565b925050506020813d60201162006d7a575b8162006d626020938362015f46565b81010312620009e257518690849062006874620067f0565b3d915062006d53565b90506020813d60201162006db2575b8162006da16020938362015f46565b81010312620009e2575187620067a4565b3d915062006d92565b9093506020813d60201162006dec575b8162006dda6020938362015f46565b81010312620009e25751928662006762565b3d915062006dcb565b506020813d60201162006e30575b8162006e126020938362015f46565b81010312620003465762006e2a620066c79162015f88565b620066bb565b3d915062006e03565b60805162006e479162015f46565b60805162000346578062006661565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620076eb575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a5760805190620076a7575b62006f7d915062015f97565b8060320290603282040362000a64577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff42019042821162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452826004850152602084602481885afa9384156200092a57608051946200766d575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a576080519162007635575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528460048201526020816024818b5afa9081156200092a5787858793869360805191620075ee575b50620006839492620006836200714b9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225493604051967fe341eaa40000000000000000000000000000000000000000000000000000000088528560048901526024880152606087604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a576080519889988994620075be575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5786928a91608051916200757b575b506004959262000683602095936200727c938c6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200753e575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262007309816062810162000683565b519020604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a5760805194859182919062007512575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b9150506200753391945060603d606011620009a65762000993818362015f46565b909491948962007370565b9091506020813d60201162007572575b816200755d6020938362015f46565b81010312620009e257519062007309620072be565b3d91506200754e565b93505050926020823d602011620075b5575b816200759c6020938362015f46565b81010312620009e25790519092859189906004620071ff565b3d91506200758d565b9199509250620075e191975060603d606011620009a65762000993818362015f46565b9791989097928a620071b8565b9450505050506020813d6020116200762c575b81620076106020938362015f46565b81010312620009e25751849083908890869062000683620070c7565b3d915062007601565b90506020813d60201162007664575b81620076536020938362015f46565b81010312620009e257518762007079565b3d915062007644565b9093506020813d6020116200769e575b816200768c6020938362015f46565b81010312620009e25751928662007037565b3d91506200767d565b506020813d602011620076e2575b81620076c46020938362015f46565b810103126200034657620076dc62006f7d9162015f88565b62006f71565b3d9150620076b5565b608051620076f99162015f46565b60805162000346578062006f17565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620082ec575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a5760805190620082a8575b6200782f915062015f97565b60c052603260c05181020460c0510362000a64576040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062008264575b6200788f915062015f97565b90600582810204820362000a6457620078b18260050260c05160320262015fc3565b60a052610e104201421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051917f7ecebe00000000000000000000000000000000000000000000000000000000008352806004840152602083602481885afa9283156200092a57608051936200822a575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a5760805191620081f2575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152826004820152602081602481895afa9081156200092a5760805191620081b7575b506040805160a080517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c96020840190815273ffffffffffffffffffffffffffffffffffffffff80891695850195909552938b166060840152608083015281019290925242610e100160c0830152620006839162007a4d9190620015bd8160e0810186565b5190209460225495604051907fe341eaa40000000000000000000000000000000000000000000000000000000082528760048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9687156200092a5760805195608051926080519962008189575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a576080519162008151575b50604051602081019160805150825286604082015289606082015260c051603202608082015261567860a0820152610e10420160c08201524660e08201528261010082015287600502610120820152619999610140820152610140815262007b6b6101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481895afa9182156200092a576080519262008114575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262007bfb816062810162000683565b519020604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a57602499608051916080519460805196620080e7575b5060208b6040519d8e80927f70a082310000000000000000000000000000000000000000000000000000000082528c60048301525afa9a8b156200092a576080519b620080ac575b6040517f70a0823100000000000000000000000000000000000000000000000000000000815261567860048201529c5060208d602481845afa9c8d156200092a576080519d62008072575b506040519a7f70a08231000000000000000000000000000000000000000000000000000000008c5261999960048d015260208c602481855afa9b8c156200092a576080519c62008038575b50883b15620003465760ff9586926040519b7f358a8f48000000000000000000000000000000000000000000000000000000008d526080515060048d015260248c015260c05160320260448c015260a05160648c015261567860848c0152610e10420160a48c015260c48b01528a60050260e48b01526199996101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a576200801b575b5073ffffffffffffffffffffffffffffffffffffffff602054169273ffffffffffffffffffffffffffffffffffffffff6021541694604051957f70a082310000000000000000000000000000000000000000000000000000000087526004870152602086602481885afa9586156200092a576080519662007fe1575b50604051917f70a082310000000000000000000000000000000000000000000000000000000083526156786004840152602083602481895afa9283156200092a576080519362007fa4575b506020602496604051978880927f70a0823100000000000000000000000000000000000000000000000000000000825261999960048301525afa9586156200092a576080519662007f5b575b509162003c1662007f519262007f44620021409962003c1662003c1699989760a051906201611f565b60c0516032029062015fc3565b6005029062015fc3565b919493929095506020823d60201162007f9b575b8162007f7e6020938362015f46565b81010312620009e2579051949293919290919062003c1662007f1b565b3d915062007f6f565b9592506020863d60201162007fd8575b8162007fc36020938362015f46565b81010312620009e25794519194602062007ecf565b3d915062007fb4565b9095506020813d60201162008012575b81620080006020938362015f46565b81010312620009e25751948662007e84565b3d915062007ff1565b608051620080299162015f46565b60805162000346578462007e08565b909b506020813d60201162008069575b81620080576020938362015f46565b81010312620009e257519a8e62007d47565b3d915062008048565b909c506020813d602011620080a3575b81620080916020938362015f46565b81010312620009e257519b8d62007cfc565b3d915062008082565b9a5060208c3d602011620080de575b81620080ca6020938362015f46565b81010312620009e25760049b519a62007cb1565b3d9150620080bb565b919450945062008109915060603d606011620009a65762000993818362015f46565b939093948c62007c69565b9091506020813d60201162008148575b81620081336020938362015f46565b81010312620009e257519062007bfb62007bb0565b3d915062008124565b90506020813d60201162008180575b816200816f6020938362015f46565b81010312620009e257518a62007b00565b3d915062008160565b9196509750620081ab915060603d606011620009a65762000993818362015f46565b91959091978962007abe565b90506020813d602011620081e9575b81620081d56020938362015f46565b81010312620009e2575162007a4d620079c9565b3d9150620081c6565b90506020813d60201162008221575b81620082106020938362015f46565b81010312620009e257518662007981565b3d915062008201565b9092506020813d6020116200825b575b81620082496020938362015f46565b81010312620009e2575191856200793f565b3d91506200823a565b506020813d6020116200829f575b81620082816020938362015f46565b810103126200034657620082996200788f9162015f88565b62007883565b3d915062008272565b506020813d602011620082e3575b81620082c56020938362015f46565b810103126200034657620082dd6200782f9162015f88565b62007823565b3d9150620082b6565b608051620082fa9162015f46565b608051620003465780620077c9565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576020620083476201647d565b6040519015158152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601954620083918162015ff6565b90620083a1604051928362015f46565b80825260208201601960805152602060805120608051915b838310620083d1576040518062001a5e878262015e00565b600160208192620083e2856201600f565b815201920192019190620083b9565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657604051610c158082019082821067ffffffffffffffff831117620023f757602091839162019245833964e8d4a510008152030190608051f080156200092a5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff60215416813b156200034657604051907fa9059cbb000000000000000000000000000000000000000000000000000000008252600482015262989680602482015260805181604481608051865af180156200092a5762008b1e575b5073ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762008b01575b50610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541691604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452806004850152602084602481865afa9384156200092a576080519462008ac7575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262008a8d575b5060405190602082019260805150835260408201528260608201526305f5e100608082015261567860a08201528560c08201524660e0820152846101008201526080516101208201526080516101408201526101408152620086ad6101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262008a50575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200873d816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a5760805193849384929162008a22575b50604051907f095ea7b300000000000000000000000000000000000000000000000000000000825260048201526305f5e1006024820152602081604481608051875af180156200092a5762008a00575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e742062616c616e636500000000000000000000000060448201526080518160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620089e3575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff6021541696863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a015260248901526305f5e10060448901526156786064890152608488015260a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620089f19162015f46565b6080516200034657866200889d565b62008a1c9060203d602011620011865762001177818362015f46565b620087fa565b9150935062008a4491925060603d606011620009a65762000993818362015f46565b929190929387620087aa565b9091506020813d60201162008a84575b8162008a6f6020938362015f46565b81010312620009e25751906200873d620086f2565b3d915062008a60565b9091506020813d60201162008abe575b8162008aac6020938362015f46565b81010312620009e25751908662008648565b3d915062008a9d565b9093506020813d60201162008af8575b8162008ae66020938362015f46565b81010312620009e25751928562008605565b3d915062008ad7565b60805162008b0f9162015f46565b60805162000346578162008578565b60805162008b2c9162015f46565b608051620003465781620084e8565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762009245575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062009201575b62008c62915062015f97565b908160320291603283040362000a64577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff420142811162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a5760805196620091c7575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a5787916080519162009189575b5062008dd6906200068360405193849289888c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200914c575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262008e66816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a5760805193608051926080519762009111575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a57620090ef575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f408b22340000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620090d2575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b608051620090e09162015f46565b60805162000346578662008fd7565b6200910b9060203d602011620011865762001177818362015f46565b62008f42565b602091975062008f2d9295508493506200913c9060603d606011620009a65762000993818362015f46565b9491969094989250925062008ed5565b9091506020813d60201162009180575b816200916b6020938362015f46565b81010312620009e257519062008e6662008e1b565b3d91506200915c565b9150506020813d602011620091be575b81620091a86020938362015f46565b81010312620009e25751869062008dd662008d5e565b3d915062009199565b9095506020813d602011620091f8575b81620091e66020938362015f46565b81010312620009e25751948662008d1b565b3d9150620091d7565b506020813d6020116200923c575b816200921e6020938362015f46565b8101031262000346576200923662008c629162015f88565b62008c56565b3d91506200920f565b608051620092539162015f46565b60805162000346578062008bfc565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601c54620092a28162015ff6565b90620092b2604051928362015f46565b80825260208201601c608051527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211608051915b838310620092fd576040518062001a5e878262015e81565b60026020600192604051620093128162015f29565b73ffffffffffffffffffffffffffffffffffffffff8654168152620093398587016201612d565b83820152815201920192019190620092e5565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762009b84575b506064420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541690604051917f7ecebe00000000000000000000000000000000000000000000000000000000008352806004840152602083602481855afa9283156200092a576080519362009b4a575b5073ffffffffffffffffffffffffffffffffffffffff60205416926040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a576080519162009b12575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152836004820152602081602481895afa9081156200092a576080519162009ad7575b50620095a562000683916040516020810191608051507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98352876040830152886060830152608051608083015260a08201528960c082015260c08152620015bd60e08262015f46565b51902060225492604051917fe341eaa40000000000000000000000000000000000000000000000000000000083528460048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a5760805196879687949062009aa7575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a578a9287916080519162009a64575b50600495926200068360209593620096d6936040519586948986019846938a929373ffffffffffffffffffffffffffffffffffffffff61012095815f98949a999561014088019b8852166020870152166040850152856060850152611234608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262009a27575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262009763816062810162000683565b519020604051937fe341eaa400000000000000000000000000000000000000000000000000000000855260048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a57608051948594859391620099fa575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f2c5211c60000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620099dd575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169673ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff6020541695893b15620003465760049a60ff9788946040519d8e7f358a8f4800000000000000000000000000000000000000000000000000000000815260805150015260248d015260805160448d015260805160648d015261123460848d015260a48c015260c48b015260805160e48b01526080516101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620099eb9162015f46565b60805162000346578862009860565b919450945062009a1c915060603d606011620009a65762000993818362015f46565b9390939488620097cb565b9091506020813d60201162009a5b575b8162009a466020938362015f46565b81010312620009e25751906200976362009718565b3d915062009a37565b93505050926020823d60201162009a9e575b8162009a856020938362015f46565b81010312620009e2579051909289918690600462009659565b3d915062009a76565b919750955062009aca91925060603d606011620009a65762000993818362015f46565b9291969092958962009612565b90506020813d60201162009b09575b8162009af56020938362015f46565b81010312620009e25751620095a56200953c565b3d915062009ae6565b90506020813d60201162009b41575b8162009b306020938362015f46565b81010312620009e2575186620094f4565b3d915062009b21565b9092506020813d60201162009b7b575b8162009b696020938362015f46565b81010312620009e25751918462009498565b3d915062009b5a565b60805162009b929162015f46565b6080516200034657806200940d565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200a1af575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200a16b575b62009cc8915062015f97565b8060320290603282040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541690604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652826004870152602086602481855afa9586156200092a57608051966200a131575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5786928891608051916200a0ee575b5060049592620006836020959362009e26938a6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200a0b1575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262009eb3816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a5760805193849283916200a087575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620090d2575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b919450506200a0a8915060603d606011620009a65762000993818362015f46565b93908662009f1e565b9091506020813d6020116200a0e5575b816200a0d06020938362015f46565b81010312620009e257519062009eb362009e68565b3d91506200a0c1565b93505050926020823d6020116200a128575b816200a10f6020938362015f46565b81010312620009e2579051909285918790600462009da9565b3d91506200a100565b9095506020813d6020116200a162575b816200a1506020938362015f46565b81010312620009e25751948662009d62565b3d91506200a141565b506020813d6020116200a1a6575b816200a1886020938362015f46565b8101031262000346576200a1a062009cc89162015f88565b62009cbc565b3d91506200a179565b6080516200a1bd9162015f46565b60805162000346578062009c62565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051908152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200aafe575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200aaba575b6200a34b915062015f97565b80600a0290600a82040362000a6457606442019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652826004870152602086602481885afa9586156200092a57608051966200aa80575b50604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481845afa9182156200092a57608051926200aa45575b506020602491604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528860048301525afa9081156200092a5786918491608051916200aa04575b50916200a4fb91620015bd6200068394620006836040519384928c60208501978d89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209260225492604051947fe341eaa40000000000000000000000000000000000000000000000000000000086528460048701526024860152606085604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a5760805196879687936200a9d7575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a578a91608051916200a99b575b50926020916200a626600495620006836040519384928c8c8986019846938a92936101209473ffffffffffffffffffffffffffffffffffffffff5f979399989461014087019a87521660208601528660408601526060850152611234608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200a95e575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200a6b3816062810162000683565b519020604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519586958694916200a92e575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fc1ab6dc10000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200a911575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169773ffffffffffffffffffffffffffffffffffffffff6021541699893b15620003465760ff9683889460446040519e8f907f358a8f480000000000000000000000000000000000000000000000000000000082526080515060048201526080516024820152015260648d015261123460848d015260a48c015260c48b015260805160e48b01526080516101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200a91f9162015f46565b6080516200034657896200a7b0565b91935095506200a95191945060603d606011620009a65762000993818362015f46565b949192909495896200a71b565b9091506020813d6020116200a992575b816200a97d6020938362015f46565b81010312620009e25751906200a6b36200a668565b3d91506200a96e565b9150506020813d6020116200a9ce575b816200a9ba6020938362015f46565b81010312620009e25751899060206200a5ab565b3d91506200a9ab565b91975095506200a9f9915060603d606011620009a65762000993818362015f46565b91969095896200a568565b925050506020813d6020116200aa3c575b816200aa246020938362015f46565b81010312620009e25751859083906200a4fb6200a477565b3d91506200aa15565b9091506020813d6020116200aa77575b816200aa646020938362015f46565b81010312620009e257519060206200a429565b3d91506200aa55565b9095506020813d6020116200aab1575b816200aa9f6020938362015f46565b81010312620009e2575194866200a3e6565b3d91506200aa90565b506020813d6020116200aaf5575b816200aad76020938362015f46565b8101031262000346576200aaef6200a34b9162015f88565b6200a33f565b3d91506200aac8565b6080516200ab0c9162015f46565b6080516200034657806200a2e5565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200b311575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200b2cd575b6200ac42915062015f97565b9081600f0291600f83040362000a6457600a420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a57608051966200b293575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200b259575b50604051906020820192608051508352604082015285606082015282608082015261077760a08201528460c08201524660e08201528661010082015260805161012082015260805161014082015261014081526200ad806101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200b21c575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200ae10816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519360805192608051976200b1e1575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a576200b1bf575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541673ffffffffffffffffffffffffffffffffffffffff60205416823b1562000346576040517f3525916f00000000000000000000000000000000000000000000000000000000815260805173ffffffffffffffffffffffffffffffffffffffff93841660048301529290911660248201526044810185905261077760648201526084810187905260a481018990525f60c4820181905260e482015260ff861661010482015261012481018490526101448101889052918290818061016481010391608051905af180156200092a576200b1a2575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f756688fe0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200b185575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526107776060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b6080516200b1939162015f46565b6080516200034657866200b08a565b6080516200b1b09162015f46565b6080516200034657866200aff5565b6200b1db9060203d602011620011865762001177818362015f46565b6200aeec565b60209197506200aed79295508493506200b20c9060603d606011620009a65762000993818362015f46565b949196909498925092506200ae7f565b9091506020813d6020116200b250575b816200b23b6020938362015f46565b81010312620009e25751906200ae106200adc5565b3d91506200b22c565b9091506020813d6020116200b28a575b816200b2786020938362015f46565b81010312620009e2575190876200ad1f565b3d91506200b269565b9095506020813d6020116200b2c4575b816200b2b26020938362015f46565b81010312620009e2575194866200acdc565b3d91506200b2a3565b506020813d6020116200b308575b816200b2ea6020938362015f46565b8101031262000346576200b3026200ac429162015f88565b6200ac36565b3d91506200b2db565b6080516200b31f9162015f46565b6080516200034657806200abdc565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff601f5460081c166200b3898115156201655f565b604080516016906020906200b39f848262015f46565b828152017f547261696c73496e74656e74456e747279706f696e74000000000000000000008152209181517fffa1ad7400000000000000000000000000000000000000000000000000000000815260805181600481855afa9081156200b5bb5793602091600495608051916200b59b575b50828151910120845190838201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f84528683015260608201524660808201528360a082015260a081526200b46760c08262015f46565b519020918351948580927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9283156200b58f57608051936200b555575b508083036200b4b75760805180f35b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346578151927f7c84c69b0000000000000000000000000000000000000000000000000000000084526004840152602483015260805182604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200347057506200b538575b808062000907565b6080516200b5469162015f46565b6080516200034657806200b530565b9092506020813d6020116200b586575b816200b5746020938362015f46565b81010312620009e2575191836200b4a8565b3d91506200b565565b82513d608051823e3d90fd5b6200b5b491503d80608051833e62003494818362015f46565b866200b410565b83513d608051823e3d90fd5b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601d546200b6078162015ff6565b906200b617604051928362015f46565b80825260208201601d608051527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f608051915b8383106200b662576040518062001a5e878262015e81565b600260206001926040516200b6778162015f29565b73ffffffffffffffffffffffffffffffffffffffff86541681526200b69e8587016201612d565b838201528152019201920191906200b64a565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200c58e575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200c54a575b6200b7d8915062015f97565b908160320291603283040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff6021541691604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252836004830152602082602481845afa9182156200092a57608051926200c510575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481875afa9081156200092a57608051916200c4d8575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152856004820152602081602481885afa80156200092a578691608051916200c49a575b5062000683916200b98491620015bd8b620006838c6040519485938b602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209360225494604051907fe341eaa40000000000000000000000000000000000000000000000000000000082528660048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a576080519687938493906200c46c575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a578b888a938d93608051916200c425575b506200bab29291620006839160405195869460208601988b46948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818a5afa9182156200092a57608051926200c3e8575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200bb42816062810162000683565b519020604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a5760805191829182916200c3c0575b50863b1562000346578a958c956040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b6200bc909c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a576200c3a3575b5073ffffffffffffffffffffffffffffffffffffffff6020541673ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff601f5460081c16926040517fdd62ed3e000000000000000000000000000000000000000000000000000000008152602081806200bd5488886004840190929173ffffffffffffffffffffffffffffffffffffffff60209181604085019616845216910152565b0381865afa80156200092a57608051906200c368575b6200bd76915062016a3a565b604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452806004850152602084602481885afa9384156200092a57608051946200c32e575b506200bdca8462016abc565b6040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a57608051916200c2f6575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff8085169282019290925290851660608201526080810188905261567860a082015260c081018490524660e082015261010081018690525f61012082018190526101408201526200be8181610160810162000683565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818a5afa9182156200092a57608051926200c2b9575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200bf11816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a576080519485938493906200c28b575b50604051917f70a082310000000000000000000000000000000000000000000000000000000083526004830152602082602481845afa9788156200092a578992608051996200c24b575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019290925260805160209183916044918391905af180156200092a576200c229575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff602154169473ffffffffffffffffffffffffffffffffffffffff6020541691843b15620003465789936200c12e92604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b0391608051905af180156200092a576200c20c575b5073ffffffffffffffffffffffffffffffffffffffff6020541690602073ffffffffffffffffffffffffffffffffffffffff602154166024604051809581937f70a0823100000000000000000000000000000000000000000000000000000000835260048301525afa9182156200092a57608051926200c1cf575b50620021409262003c16916201611f565b9091506020813d6020116200c203575b816200c1ee6020938362015f46565b81010312620009e2575190620021406200c1be565b3d91506200c1df565b6080516200c21a9162015f46565b6080516200034657826200c143565b6200c2459060203d602011620011865762001177818362015f46565b6200c031565b925097506020823d6020116200c282575b816200c26b6020938362015f46565b81010312620009e25790519688919060206200bfc7565b3d91506200c25c565b91955092506200c2ad915060603d606011620009a65762000993818362015f46565b9194909192896200bf7d565b9091506020813d6020116200c2ed575b816200c2d86020938362015f46565b81010312620009e25751906200bf116200bec6565b3d91506200c2c9565b90506020813d6020116200c325575b816200c3146020938362015f46565b81010312620009e25751876200be0b565b3d91506200c305565b9093506020813d6020116200c35f575b816200c34d6020938362015f46565b81010312620009e2575192866200bdbe565b3d91506200c33e565b506020813d6020116200c39a575b816200c3856020938362015f46565b81010312620009e2576200bd7690516200bd6a565b3d91506200c376565b6080516200c3b19162015f46565b6080516200034657826200bca5565b9150506200c3e0915060603d606011620009a65762000993818362015f46565b918c6200bba9565b9091506020813d6020116200c41c575b816200c4076020938362015f46565b81010312620009e25751906200bb426200baf7565b3d91506200c3f8565b9450505050506020813d6020116200c463575b816200c4476020938362015f46565b81010312620009e2575187908a908c9089906200bab26200ba3a565b3d91506200c438565b91975092506200c48e915060603d606011620009a65762000993818362015f46565b91969091928a6200b9f2565b9150506020813d6020116200c4cf575b816200c4b96020938362015f46565b81010312620009e257518590620006836200b900565b3d91506200c4aa565b90506020813d6020116200c507575b816200c4f66020938362015f46565b81010312620009e25751876200b8b7565b3d91506200c4e7565b9091506020813d6020116200c541575b816200c52f6020938362015f46565b81010312620009e2575190866200b875565b3d91506200c520565b506020813d6020116200c585575b816200c5676020938362015f46565b8101031262000346576200c57f6200b7d89162015f88565b6200b7cc565b3d91506200c558565b6080516200c59c9162015f46565b6080516200034657806200b772565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200cc3a575b506004602073ffffffffffffffffffffffffffffffffffffffff815416604051928380927f313ce5670000000000000000000000000000000000000000000000000000000082525afa80156200092a57608051906200cbf6575b6200c6d2915062015f97565b80600a0290600a82040362000a6457606442019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff60215416604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452816004850152602084602481845afa9384156200092a57608051946200cbbc575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a578591608051916200cb80575b50926020916200c82a600495620006836040519384928c8b8986019846938a92936101209473ffffffffffffffffffffffffffffffffffffffff5f979399989461014087019a87521660208601528660408601526060850152611234608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200cb43575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200c8b7816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5760805192839283916200cb18575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fc1ab6dc10000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200cafb575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff6021541696863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a015260805160248a015260448901526112346064890152608488015260a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200cb099162015f46565b6080516200034657866200c9b7565b919350506200cb39915060603d606011620009a65762000993818362015f46565b929091866200c922565b9091506020813d6020116200cb77575b816200cb626020938362015f46565b81010312620009e25751906200c8b76200c86c565b3d91506200cb53565b9150506020813d6020116200cbb3575b816200cb9f6020938362015f46565b81010312620009e25751849060206200c7af565b3d91506200cb90565b9093506020813d6020116200cbed575b816200cbdb6020938362015f46565b81010312620009e2575192856200c76c565b3d91506200cbcc565b506020813d6020116200cc31575b816200cc136020938362015f46565b8101031262000346576200cc2b6200c6d29162015f88565b6200c6c6565b3d91506200cc04565b6080516200cc489162015f46565b6080516200034657806200c66c565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576020602254604051908152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601a546200ccd68162015ff6565b906200cce6604051928362015f46565b80825260208201601a60805152602060805120608051915b8383106200cd16576040518062001a5e878262015e00565b6001602081926200cd27856201600f565b8152019201920191906200ccfe565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200d633575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200d5ef575b6200ce5d915062015f97565b908160320291603283040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541690604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252826004830152602082602481845afa9182156200092a57608051926200d5b5575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a57608051916200d57d575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152846004820152602081602481895afa80156200092a578591608051916200d53f575b5062000683916200d00891620015bd8b620006838c6040519485938b602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902060225493604051917fe341eaa40000000000000000000000000000000000000000000000000000000083528560048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a576080519687948594906200d50f575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a578b928b8992608051926200d4c8575b509262000683602095936200d13c93600499966040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff610120969299989481619999999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e08201525f6101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200d48b575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200d1c9816062810162000683565b519020604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519586958695916200d45b575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4db7e8510000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200d43e575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169773ffffffffffffffffffffffffffffffffffffffff602154169973ffffffffffffffffffffffffffffffffffffffff602054168a3b1562000346576040519b7f358a8f48000000000000000000000000000000000000000000000000000000008d526080515060048d015260248c01528060448c015260648b015260848a01615678905260a48a015260c489015260805160e48901526101048801619999905260ff1661012488015261014487015261016486015260ff166101848501526101a48401526101c48301528160805191816080515a926101e493f180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200d44c9162015f46565b6080516200034657896200d2c6565b91945095506200d47e91945060603d606011620009a65762000993818362015f46565b949193909495896200d231565b9091506020813d6020116200d4bf575b816200d4aa6020938362015f46565b81010312620009e25751906200d1c96200d17e565b3d91506200d49b565b9450505050926020823d6020116200d506575b816200d4ea6020938362015f46565b81010312620009e257905190928a9187908b620006836200d0bd565b3d91506200d4db565b91975093506200d53291925060603d606011620009a65762000993818362015f46565b9291969092938a6200d075565b9150506020813d6020116200d574575b816200d55e6020938362015f46565b81010312620009e257518490620006836200cf84565b3d91506200d54f565b90506020813d6020116200d5ac575b816200d59b6020938362015f46565b81010312620009e25751876200cf3b565b3d91506200d58c565b9091506020813d6020116200d5e6575b816200d5d46020938362015f46565b81010312620009e2575190866200cef9565b3d91506200d5c5565b506020813d6020116200d62a575b816200d60c6020938362015f46565b8101031262000346576200d6246200ce5d9162015f88565b6200ce51565b3d91506200d5fd565b6080516200d6419162015f46565b6080516200034657806200cdf7565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200dd8a575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200dd46575b6200d777915062015f97565b908160320291603283040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a57608051966200dd0c575b506200d81e8662016a3a565b6040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a578791608051916200dcce575b506200d8d8906200068360405193849289888c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200dc91575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200d968816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519360805192608051976200dc56575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a576200dc34575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200db3f92604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b0391608051905af180156200092a576200dc17575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16602073ffffffffffffffffffffffffffffffffffffffff602154166024604051809481937f7ecebe0000000000000000000000000000000000000000000000000000000000835260048301525afa80156200092a57608051906200dbdc575b62002140915062016abc565b506020813d6020116200dc0e575b816200dbf96020938362015f46565b81010312620009e2576200214090516200dbd0565b3d91506200dbea565b6080516200dc259162015f46565b6080516200034657806200db54565b6200dc509060203d602011620011865762001177818362015f46565b6200da44565b60209197506200da2f9295508493506200dc819060603d606011620009a65762000993818362015f46565b949196909498925092506200d9d7565b9091506020813d6020116200dcc5575b816200dcb06020938362015f46565b81010312620009e25751906200d9686200d91d565b3d91506200dca1565b9150506020813d6020116200dd03575b816200dced6020938362015f46565b81010312620009e2575186906200d8d86200d860565b3d91506200dcde565b9095506020813d6020116200dd3d575b816200dd2b6020938362015f46565b81010312620009e2575194866200d812565b3d91506200dd1c565b506020813d6020116200dd81575b816200dd636020938362015f46565b8101031262000346576200dd7b6200d7779162015f88565b6200d76b565b3d91506200dd54565b6080516200dd989162015f46565b6080516200034657806200d711565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657604051610c158082019082821067ffffffffffffffff831117620023f757602091839162019245833964e8d4a510008152030190608051f080156200092a5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff60215416813b156200034657604051907fa9059cbb0000000000000000000000000000000000000000000000000000000082526004820152633b9aca00602482015260805181604481608051865af180156200092a576200e495575b5073ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200e478575b50610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051917f7ecebe00000000000000000000000000000000000000000000000000000000008352806004840152602083602481885afa9283156200092a57608051936200e43e575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa80156200092a578491608051916200e400575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff9485169181019190915292861660608401526302faf080608084015261567860a084015260c083018490524660e08401526101008301919091525f6101208301819052610140830152906200e07b81610160810162000683565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481895afa9182156200092a57608051926200e3c3575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200e10b816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a576080519586958694906200e393575b50604051907f095ea7b30000000000000000000000000000000000000000000000000000000082526080515060048201526302faf07f6024820152602081604481608051865af180156200092a576200e371575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e73756666696369656e7420616c6c6f77616e63650000000000000000000060448201526080518160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200e354575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff6021541695843b1562000346576200494191604051988997889687967f3525916f0000000000000000000000000000000000000000000000000000000088526080519b600489019361014095919897969373ffffffffffffffffffffffffffffffffffffffff60ff948161016089019c1688521660208701526302faf08060408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b6080516200e3629162015f46565b6080516200034657866200e26f565b6200e38d9060203d602011620011865762001177818362015f46565b6200e1cc565b91965094506200e3b691925060603d606011620009a65762000993818362015f46565b929195909294876200e178565b9091506020813d6020116200e3f7575b816200e3e26020938362015f46565b81010312620009e25751906200e10b6200e0c0565b3d91506200e3d3565b9150506020813d6020116200e435575b816200e41f6020938362015f46565b81010312620009e2575183906200e07b6200e000565b3d91506200e410565b9092506020813d6020116200e46f575b816200e45d6020938362015f46565b81010312620009e2575191856200dfbd565b3d91506200e44e565b6080516200e4869162015f46565b6080516200034657816200df2f565b6080516200e4a39162015f46565b6080516200034657816200de9f565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200eaeb575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200eaa7575b6200e5d9915062015f97565b908160320291603283040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a57608051966200ea6d575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a578791608051916200ea2f575b506200e72f906200068360405193849289888c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200e9f2575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200e7bf816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519360805192608051976200e9b7575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a576200e995575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b6200e9b19060203d602011620011865762001177818362015f46565b62008fd7565b60209197506200e8869295508493506200e9e29060603d606011620009a65762000993818362015f46565b949196909498925092506200e82e565b9091506020813d6020116200ea26575b816200ea116020938362015f46565b81010312620009e25751906200e7bf6200e774565b3d91506200ea02565b9150506020813d6020116200ea64575b816200ea4e6020938362015f46565b81010312620009e2575186906200e72f6200e6b7565b3d91506200ea3f565b9095506020813d6020116200ea9e575b816200ea8c6020938362015f46565b81010312620009e2575194866200e674565b3d91506200ea7d565b506020813d6020116200eae2575b816200eac46020938362015f46565b8101031262000346576200eadc6200e5d99162015f88565b6200e5cd565b3d91506200eab5565b6080516200eaf99162015f46565b6080516200034657806200e573565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200f49d575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200f459575b6200ec2f915062015f97565b908160320291603283040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff6021541690604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452826004850152602084602481895afa9384156200092a57608051946200f41f575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a57608051916200f3e7575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528460048201526020816024818a5afa9081156200092a57888587938693608051916200f3a0575b50620006839492620006836200ede09593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225490604051967fe341eaa40000000000000000000000000000000000000000000000000000000088528260048901526024880152606087604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5760805198899889946200f370575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481855afa9081156200092a5788918a91608051916200f32f575b506200ef0b90620006836040519384928c8c8b602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a57608051926200f2f2575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200ef9b816062810162000683565b519020604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a576080519788948594906200f2c2575b50823b1562000346576040517f358a8f480000000000000000000000000000000000000000000000000000000081526080805173ffffffffffffffffffffffffffffffffffffffff93841660048401529390921660248201526044810188905260648101889052615678608482015260a4810189905260c481018b90525f60e4820181905261010482015260ff8d811661012483015261014482018d905261016482018890528a166101848201526101a481018590526101c481018690529051909283916101e4918391905af180156200092a576200f2a5575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f756688fe0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b6080516200f2b39162015f46565b6080516200034657896200f0dd565b91985093506200f2e591925060603d606011620009a65762000993818362015f46565b9291979092938c6200f003565b9091506020813d6020116200f326575b816200f3116020938362015f46565b81010312620009e25751906200ef9b6200ef50565b3d91506200f302565b925050506020813d6020116200f367575b816200f34f6020938362015f46565b81010312620009e257886200ef0b899251906200ee93565b3d91506200f340565b91995092506200f39391975060603d606011620009a65762000993818362015f46565b9791989097928a6200ee4d565b9450505050506020813d6020116200f3de575b816200f3c26020938362015f46565b81010312620009e257518490839089908690620006836200ed5c565b3d91506200f3b3565b90506020813d6020116200f416575b816200f4056020938362015f46565b81010312620009e25751876200ed0e565b3d91506200f3f6565b9093506020813d6020116200f450575b816200f43e6020938362015f46565b81010312620009e2575192866200eccc565b3d91506200f42f565b506020813d6020116200f494575b816200f4766020938362015f46565b8101031262000346576200f48e6200ec2f9162015f88565b6200ec23565b3d91506200f467565b6080516200f4ab9162015f46565b6080516200034657806200ebc9565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200faae575b506064420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff60215416604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452816004850152602084602481845afa9384156200092a57608051946200fa74575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a578491608051916200fa38575b50602080546040805180840194855273ffffffffffffffffffffffffffffffffffffffff97881691810191909152951660608601525f6080860181905261123460a087015260c08601939093524660e0860152610100850187905261012085018390526101408501929092526004936200f6c881610160810162000683565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200f9fb575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200f755816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a576080519283928392906200f9d1575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f2c5211c60000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200f9b4575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169373ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a0152602489015260805160448901526112346064890152608488015260a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200f9c29162015f46565b6080516200034657856200f856565b915092506200f9f2915060603d606011620009a65762000993818362015f46565b9192856200f7c1565b9091506020813d6020116200fa2f575b816200fa1a6020938362015f46565b81010312620009e25751906200f7556200f70a565b3d91506200fa0b565b9150506020813d6020116200fa6b575b816200fa576020938362015f46565b81010312620009e25751839060206200f649565b3d91506200fa48565b9093506020813d6020116200faa5575b816200fa936020938362015f46565b81010312620009e2575192846200f606565b3d91506200fa84565b6080516200fabc9162015f46565b6080516200034657806200f57b565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200fe61575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541691604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452806004850152602084602481865afa9384156200092a57608051946200fe22575b5083826200fc269262016879565b92909193602073ffffffffffffffffffffffffffffffffffffffff815416916044604051809481937f095ea7b30000000000000000000000000000000000000000000000000000000083526080515060048301526802fb474098f67c00006024830152608051905af180156200092a576200fe00575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169373ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a015260248901526802b5e3af16b188000060448901526156786064890152608488015260a4870152674563918244f4000060c487015261999960e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620031c957506024602073ffffffffffffffffffffffffffffffffffffffff815416604051928380927f70a0823100000000000000000000000000000000000000000000000000000000825261999960048301525afa80156200092a57608051906200318e57620021409150620169a6565b6200fe1c9060203d602011620011865762001177818362015f46565b6200fc9c565b909193506020813d6020116200fe58575b816200fe426020938362015f46565b81010312620009e2575192906200fc266200fc18565b3d91506200fe33565b6080516200fe6f9162015f46565b6080516200034657806200fb8c565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601b546200febe8162015ff6565b906200fece604051928362015f46565b808252602082019081601b608051527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1608051915b8383106200ffb557848660405191829160208301906020845251809152604083019060408160051b8501019291608051905b8282106200ff4557505050500390f35b919360206200ffa4827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc06001959799849503018652885190836200ff93835160408452604084019062015d66565b920151908481840391015262015da9565b96019201920185949391926200ff35565b600260206001926040516200ffca8162015f29565b6200ffd5866201600f565b81526200ffe48587016201612d565b838201528152019201920191906200ff03565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620109a3575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906201095f575b6201011e915062015f97565b908160320291603283040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff60215416906040517f7ecebe00000000000000000000000000000000000000000000000000000000008152826004820152602081602481885afa9081156200092a576080519162010927575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481865afa9081156200092a5760805191620108ef575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152846004820152602081602481875afa9081156200092a5787898793899360805191620108a8575b5062000683949262000683620102ce9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902060225496604051917fe341eaa40000000000000000000000000000000000000000000000000000000083528860048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a576080519586938492906201087b575b506040517ff39610400000000000000000000000000000000000000000000000000000000081526020816004818d5afa9081156200092a5784878b938a936080519162010834575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff8089169282019290925294166060850152608084019490945261567860a084015260c08301919091524660e08301526101008201525f610120820181905261014082015260049190620103fc81610160810162000683565b51902060208b604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a5760805192620107f7575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526201048b816062810162000683565b5190206040519a7fe341eaa4000000000000000000000000000000000000000000000000000000008c5260048c015260248b015260608a604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9586156200092a57608051996080519b60805198620107c7575b50813b156200034657604051927fd505accf0000000000000000000000000000000000000000000000000000000084526004840152602483015288604483015283606483015260ff881660848301528260a48301528460c48301528160e48160805193608051905af180156200092a57620107aa575b5073ffffffffffffffffffffffffffffffffffffffff602054169473ffffffffffffffffffffffffffffffffffffffff60215416906040519a7f70a08231000000000000000000000000000000000000000000000000000000008c528260048d015260208c6024818b5afa9b8c156200092a576080519c62010770575b506040519a7f70a08231000000000000000000000000000000000000000000000000000000008c5261567860048d015260208c6024818c5afa9b8c156200092a576080519c62010736575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1696873b1562000346578b956040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b62003b1c9c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b909b506020813d60201162010767575b81620107556020938362015f46565b81010312620009e257519a8d62010634565b3d915062010746565b909b506020813d602011620107a1575b816201078f6020938362015f46565b81010312620009e257519a8c620105e9565b3d915062010780565b608051620107b89162015f46565b6080516200034657896201056c565b919a509650620107ea919a5060603d606011620009a65762000993818362015f46565b9a9199909a968c620104f6565b9091506020813d6020116201082b575b81620108166020938362015f46565b81010312620009e25751906201048b62010440565b3d915062010807565b9450505050506020813d60201162010872575b81620108566020938362015f46565b81010312620009e2575188908790859088906200068362010383565b3d915062010847565b915092506201089d91955060603d606011620009a65762000993818362015f46565b919591928a6201033b565b9450505050506020813d602011620108e6575b81620108ca6020938362015f46565b81010312620009e257518490869088908a90620006836201024a565b3d9150620108bb565b90506020813d6020116201091e575b816201090d6020938362015f46565b81010312620009e2575187620101fc565b3d9150620108fe565b90506020813d60201162010956575b81620109456020938362015f46565b81010312620009e2575186620101ba565b3d915062010936565b506020813d6020116201099a575b816201097c6020938362015f46565b810103126200034657620109946201011e9162015f88565b62010112565b3d91506201096d565b608051620109b19162015f46565b608051620003465780620100b8565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657604051610c158082019082821067ffffffffffffffff831117620023f757602091839162019245833964e8d4a510008152030190608051f080156200092a5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff60215416813b156200034657604051907fa9059cbb0000000000000000000000000000000000000000000000000000000082526004820152633b9aca00602482015260805181604481608051865af180156200092a576201137a575b5073ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576201135d575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff60215416604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252806004830152602082602481875afa9182156200092a576080519262011323575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481885afa9182156200092a5760805192620112e9575b5060405190602082019260805150835260408201528560608201526302faf080608082015261567860a08201528360c08201524660e082015282610100820152624c4b40610120820152619999610140820152610140815262010c7d6101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481885afa9182156200092a5760805192620112ac575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262010d0d816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a5760805194859384936201127f575b50604051907f095ea7b30000000000000000000000000000000000000000000000000000000082526080515060048201526303473bc060248201526020816044816080518b5af180156200092a576201125d575b5073ffffffffffffffffffffffffffffffffffffffff6021541691604051937f70a082310000000000000000000000000000000000000000000000000000000085528360048601526020856024818b5afa9485156200092a576080519562011223575b50604051957f70a0823100000000000000000000000000000000000000000000000000000000875261567860048801526020876024818c5afa9687156200092a5760805197620111e9575b50604051977f70a0823100000000000000000000000000000000000000000000000000000000895261999960048a01526020896024818d5afa9889156200092a5760805199620111af575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1694853b15620003465760ff92604051977f3525916f0000000000000000000000000000000000000000000000000000000089526080515060048901528b60248901526302faf08060448901526156786064890152608488015260a4870152624c4b4060c487015261999960e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a5762011192575b5073ffffffffffffffffffffffffffffffffffffffff6021541690604051917f70a082310000000000000000000000000000000000000000000000000000000083526004830152602082602481885afa9182156200092a576080519262011158575b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcb8c440810190811162000a64576201101a9162016b42565b604051927f70a082310000000000000000000000000000000000000000000000000000000084526156786004850152602084602481845afa9384156200092a57608051946201111e575b506302faf080820180921162000a64576201108460209260249562016b42565b604051938480927f70a0823100000000000000000000000000000000000000000000000000000000825261999960048301525afa9182156200092a5760805192620110e4575b50624c4b40810180911162000a6457620021409162016b42565b9091506020813d60201162011115575b81620111036020938362015f46565b81010312620009e257519082620110ca565b3d9150620110f4565b9093506020813d6020116201114f575b816201113d6020938362015f46565b81010312620009e25751928462011064565b3d91506201112e565b9091506020813d60201162011189575b81620111776020938362015f46565b81010312620009e25751908562010fe3565b3d915062011168565b608051620111a09162015f46565b60805162000346578462010f81565b9098506020813d602011620111e0575b81620111ce6020938362015f46565b81010312620009e25751978a62010ec6565b3d9150620111bf565b9096506020813d6020116201121a575b81620112086020938362015f46565b81010312620009e25751958962010e7b565b3d9150620111f9565b9094506020813d60201162011254575b81620112426020938362015f46565b81010312620009e25751938862010e30565b3d915062011233565b620112799060203d602011620011865762001177818362015f46565b62010dcd565b9195509250620112a1915060603d606011620009a65762000993818362015f46565b919490928762010d79565b9091506020813d602011620112e0575b81620112cb6020938362015f46565b81010312620009e257519062010d0d62010cc2565b3d9150620112bc565b9091506020813d6020116201131a575b81620113086020938362015f46565b81010312620009e25751908662010c17565b3d9150620112f9565b9091506020813d60201162011354575b81620113426020938362015f46565b81010312620009e25751908562010bd4565b3d915062011333565b6080516201136b9162015f46565b60805162000346578162010b48565b608051620113889162015f46565b60805162000346578162010ab8565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927ff39610400000000000000000000000000000000000000000000000000000000082525afa9081156200092a5760805191620114fd575b507f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98103620114565760805180f35b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f7c84c69b00000000000000000000000000000000000000000000000000000000825260048201527f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c9602482015260805181604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a571562000907576080516200091b9162015f46565b90506020813d6020116201152c575b816201151b6020938362015f46565b81010312620009e257518162011427565b3d91506201150c565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762011d7e575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062011d3a575b6201165c915062015f97565b8060320290603282040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541692604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452846004850152602084602481865afa9384156200092a576080519462011d00575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a576080519162011cc8575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528660048201526020816024818b5afa9081156200092a57879185916080519162011c87575b50916201180991620015bd6200068394620006836040519384928a8d602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902094604051957fe341eaa400000000000000000000000000000000000000000000000000000000875264098765432160048801526024870152606086604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a57608051978897889662011c57575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a57859289916080519162011c14575b506004959262000683602095936201193b938b6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262011bd7575b506040517f19010000000000000000000000000000000000000000000000000000000000006020820190815260228201939093526042810191909152620119c8816062810162000683565b51902092604051937fe341eaa400000000000000000000000000000000000000000000000000000000855264098765432160048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a57608051948591829190620075125750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b9091506020813d60201162011c0b575b8162011bf66020938362015f46565b81010312620009e2575190620119c86201197d565b3d915062011be7565b93505050926020823d60201162011c4e575b8162011c356020938362015f46565b81010312620009e25790519092849188906004620118be565b3d915062011c26565b919850945062011c7a91965060603d606011620009a65762000993818362015f46565b9691979096948962011877565b925050506020813d60201162011cbf575b8162011ca76020938362015f46565b81010312620009e25751869084906201180962011785565b3d915062011c98565b90506020813d60201162011cf7575b8162011ce66020938362015f46565b81010312620009e257518762011739565b3d915062011cd7565b9093506020813d60201162011d31575b8162011d1f6020938362015f46565b81010312620009e257519286620116f7565b3d915062011d10565b506020813d60201162011d75575b8162011d576020938362015f46565b81010312620003465762011d6f6201165c9162015f88565b62011650565b3d915062011d48565b60805162011d8c9162015f46565b608051620003465780620115f6565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657602073ffffffffffffffffffffffffffffffffffffffff60215416604051908152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576040518060206017549182815201906017608051527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15906080515b81811062011e785762001a5e8562001a518187038262015f46565b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920162011e5d565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576040518060206018549182815201906018608051527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e906080515b81811062011f2d5762001a5e8562001a518187038262015f46565b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920162011f12565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620125a3575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c166024602073ffffffffffffffffffffffffffffffffffffffff6021541692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528660048301525afa9081156200092a57608051916201256b575b50602080546040517f3644e5150000000000000000000000000000000000000000000000000000000081529173ffffffffffffffffffffffffffffffffffffffff9091169082600481845afa9182156200092a576080519262012531575b506024602073ffffffffffffffffffffffffffffffffffffffff601f5460081c1692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528960048301525afa80156200092a57869160805191620124f3575b5091620121f991620015bd620006839462000683604051938492680340aad21b3b6fffff60208501978d89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5784608051946080519360805195620124bc575b5062012277918391620165e9565b949093737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7719991e0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576201249f575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169673ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff6020541695893b15620003465760049a60ff9788946040519d8e7f358a8f4800000000000000000000000000000000000000000000000000000000815260805150015260248d01526802b5e3af16b188000060448d0152680340aad21b3b6fffff60648d015261567860848d015260a48c015260c48b0152678ac7230489e8000060e48b01526199996101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620124ad9162015f46565b6080516200034657886201230e565b62012277929650620124e491955083945060603d606011620009a65762000993818362015f46565b94919690949591509162012269565b9150506020813d60201162012528575b81620125126020938362015f46565b81010312620009e257518590620121f96201216c565b3d915062012503565b9091506020813d60201162012562575b81620125506020938362015f46565b81010312620009e25751908562012105565b3d915062012541565b90506020813d6020116201259a575b81620125896020938362015f46565b81010312620009e2575183620120a7565b3d91506201257a565b608051620125b19162015f46565b6080516200034657806201201b565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762012c6e575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062012c2a575b620126e7915062015f97565b8060320290603282040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c16916040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa9081156200092a576080519162012bf2575b5073ffffffffffffffffffffffffffffffffffffffff60215416604051906020820192608051508352604082015283606082015282608082015261567860a08201528560c08201524660e08201526103e76101008201526080516101208201526080516101408201526101408152620127de6101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481885afa9182156200092a576080519262012bb5575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526201286e816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a5760805194859485949062012b7a575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018390529060209082908180604481015b0391608051905af180156200092a5762012b58575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f756688fe0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762012b3b575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169373ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a015260248901526044880152615678606488015260848701526103e760a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b60805162012b499162015f46565b608051620003465785620129dd565b62012b749060203d602011620011865762001177818362015f46565b62012948565b62012933929650602091955083945062012ba59060603d606011620009a65762000993818362015f46565b95919790959692509250620128db565b9091506020813d60201162012be9575b8162012bd46020938362015f46565b81010312620009e25751906201286e62012823565b3d915062012bc5565b90506020813d60201162012c21575b8162012c106020938362015f46565b81010312620009e257518562012762565b3d915062012c01565b506020813d60201162012c65575b8162012c476020938362015f46565b81010312620003465762012c5f620126e79162015f88565b620126db565b3d915062012c38565b60805162012c7c9162015f46565b60805162000346578062012681565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762013543575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a5760805190620134ff575b62012db2915062015f97565b908160320291603283040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff60215416604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652816004870152602086602481865afa9586156200092a5760805196620134c5575b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019181831162000a64576040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a57608051916201348d575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528260048201526020816024818b5afa9081156200092a5786918891608051916201344c575b509162012f8a91620015bd6200068394620006836040519384928c60208501978c89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209060225490604051927fe341eaa40000000000000000000000000000000000000000000000000000000084528260048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9586156200092a576080519889978895906201341c575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5787928b8e9260805192620133d5575b50926200068360209593620130bd93600499966040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262013398575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526201314a816062810162000683565b519020604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a57608051918291829162013370575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762013353575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169673ffffffffffffffffffffffffffffffffffffffff602154169473ffffffffffffffffffffffffffffffffffffffff602054169a893b1562000346576040519c8d9b8c9a8b9a7f358a8f48000000000000000000000000000000000000000000000000000000008c526080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b608051620133619162015f46565b60805162000346578a62013220565b91505062013390915060603d606011620009a65762000993818362015f46565b918a620131b1565b9091506020813d602011620133cc575b81620133b76020938362015f46565b81010312620009e25751906201314a620130ff565b3d9150620133a8565b9450505050926020823d60201162013413575b81620133f76020938362015f46565b81010312620009e2579051909286918c908b6200068362013040565b3d9150620133e8565b91995096506201343f91935060603d606011620009a65762000993818362015f46565b9391989093968b62012ff8565b925050506020813d60201162013484575b816201346c6020938362015f46565b81010312620009e257518590879062012f8a62012f06565b3d91506201345d565b90506020813d602011620134bc575b81620134ab6020938362015f46565b81010312620009e257518862012eba565b3d91506201349c565b9095506020813d602011620134f6575b81620134e46020938362015f46565b81010312620009e25751948662012e4c565b3d9150620134d5565b506020813d6020116201353a575b816201351c6020938362015f46565b8101031262000346576201353462012db29162015f88565b62012da6565b3d91506201350d565b608051620135519162015f46565b60805162000346578062012d4c565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601e54620135a08162015ff6565b90620135b0604051928362015f46565b808252602082019081601e608051527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350608051915b8383106201370d57848660405191829160208301906020845251809152604083019060408160051b8501019291608051905b8282106201362757505050500390f35b91939092947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09082030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401926080515b828110620136c1575050505050602080600192960192019201859493919262013617565b9091929394602080620136ff837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08760019603018952895162015d66565b97019501939291016201369d565b6040516201371b8162015f29565b825473ffffffffffffffffffffffffffffffffffffffff168152600183018054620137468162015ff6565b9162013756604051938462015f46565b81835260208301906080515260206080512090608051905b83821062013796575050505060019282602092836002950152815201920192019190620135e5565b600160208192620137a7866201600f565b8152019301910190916201376e565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762013e86575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062013e42575b620138dd915062015f97565b908160320291603283040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a576080519662013e08575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a5787916080519162013dca575b5062013a33906200068360405193849289888c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262013d8d575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262013ac3816062810162000683565b519020604051907fe341eaa400000000000000000000000000000000000000000000000000000000825264098765432160048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a5760805193608051926080519762013d52575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a5762013d30575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527febe052290000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620090d2575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b62013d4c9060203d602011620011865762001177818362015f46565b62013ba1565b602091975062013b8c92955084935062013d7d9060603d606011620009a65762000993818362015f46565b9491969094989250925062013b34565b9091506020813d60201162013dc1575b8162013dac6020938362015f46565b81010312620009e257519062013ac362013a78565b3d915062013d9d565b9150506020813d60201162013dff575b8162013de96020938362015f46565b81010312620009e25751869062013a33620139bb565b3d915062013dda565b9095506020813d60201162013e39575b8162013e276020938362015f46565b81010312620009e25751948662013978565b3d915062013e18565b506020813d60201162013e7d575b8162013e5f6020938362015f46565b81010312620003465762013e77620138dd9162015f88565b620138d1565b3d915062013e50565b60805162013e949162015f46565b60805162000346578062013877565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762014899575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062014855575b62013fca915062015f97565b908160320291603283040362000a64576040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062014811575b62014026915062015f97565b90600582810204820362000a645762014043826005028462015fc3565b92610e1042019384421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff60215416604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452816004850152602084602481865afa9384156200092a5760805194620147d7575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a57608051916201479f575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528360048201526020816024818b5afa9081156200092a576080519162014764575b50620141dd620006839162000683620015bd8d60405192839160208301958a8d8d89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209160225496604051937fe341eaa40000000000000000000000000000000000000000000000000000000085528860048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a5760805195869586949162014734575b50604051927ff3961040000000000000000000000000000000000000000000000000000000008452602084600481865afa9182156200092a57898b938f8f9760805192620146ed575b5060408051602081810194855273ffffffffffffffffffffffffffffffffffffffff96871692820192909252949095166060850152608084019590955261567860a084015260c08301949094524660e083015261010082015260059094026101208501525f6101408501526004939091906201431581610160810162000683565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a5760805192620146b0575b506040517f19010000000000000000000000000000000000000000000000000000000000006020820190815260228201939093526042810191909152620143a2816062810162000683565b519020604051977fe341eaa400000000000000000000000000000000000000000000000000000000895260048901526024880152606087604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9788156200092a5760805198899889979162014680575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4db7e8510000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762014663575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169a73ffffffffffffffffffffffffffffffffffffffff602154169473ffffffffffffffffffffffffffffffffffffffff60205416998d3b15620003465760ff9a8b9760405160e0527f358a8f480000000000000000000000000000000000000000000000000000000060e05152608051506101e460e0515050600460e0510152602460e0510152604460e0510152606460e0510152615678608460e051015260a460e051015260c460e051015260050260e460e051015260805161010460e05101521661012460e051015261014460e051015261016460e05101521661018460e05101526101a460e05101526101c460e0510152608051906101e460e0519160e05190608051905af180156200092a576201464457737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6201465460805160e05162015f46565b60805115620021405760805180fd5b608051620146719162015f46565b60805162000346578b6201449f565b9196509850620146a391975060603d606011620009a65762000993818362015f46565b9791959097988b6201440a565b9091506020813d602011620146e4575b81620146cf6020938362015f46565b81010312620009e2575190620143a262014357565b3d9150620146c0565b955050505093506020823d6020116201472b575b81620147106020938362015f46565b81010312620009e25790518b938a92918a908f602062014294565b3d915062014701565b91935095506201475791945060603d606011620009a65762000993818362015f46565b9491929094958c6201424b565b90506020813d60201162014796575b81620147826020938362015f46565b81010312620009e25751620141dd62014159565b3d915062014773565b90506020813d602011620147ce575b81620147bd6020938362015f46565b81010312620009e257518962014111565b3d9150620147ae565b9093506020813d60201162014808575b81620147f66020938362015f46565b81010312620009e257519288620140cf565b3d9150620147e7565b506020813d6020116201484c575b816201482e6020938362015f46565b81010312620003465762014846620140269162015f88565b6201401a565b3d91506201481f565b506020813d60201162014890575b81620148726020938362015f46565b8101031262000346576201488a62013fca9162015f88565b62013fbe565b3d915062014863565b608051620148a79162015f46565b60805162000346578062013f64565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576040518060206016549182815201906016608051527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289906080515b8181106201493e5762001a5e8562001a518187038262015f46565b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920162014923565b62015394565b34620009e2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620009e25773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f06447d5600000000000000000000000000000000000000000000000000000000825260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015620150cc57620150b5575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062015071575b62014a92915062015f97565b8060320290603282040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541692604051937f7ecebe00000000000000000000000000000000000000000000000000000000008552806004860152602085602481865afa9485156200092a576080519562015037575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a5786916080519162014ff9575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff9485169181019190915292861660608401526080830184905261567860a084015260c083018890524660e08401526101008301919091525f6101208301526199996101408301529062014be981610160810162000683565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262014fbc575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262014c79816062810162000683565b5190209160225492604051937fe341eaa400000000000000000000000000000000000000000000000000000000855260048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a5760805194859485939162014f82575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a5762014f60575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4db7e8510000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762014f43575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff602154169673ffffffffffffffffffffffffffffffffffffffff6020541693873b15620003465760ff94604051997f3525916f000000000000000000000000000000000000000000000000000000008b526080515060048b015260248a015260448901526156786064890152608488015260a487015260805160c487015261999960e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b60805162014f519162015f46565b60805162000346578662014de8565b62014f7c9060203d602011620011865762001177818362015f46565b62014d53565b602091965084955062014d3e92935062014fad9060603d606011620009a65762000993818362015f46565b97909691949350915062014ce6565b9091506020813d60201162014ff0575b8162014fdb6020938362015f46565b81010312620009e257519062014c7962014c2e565b3d915062014fcc565b9150506020813d6020116201502e575b81620150186020938362015f46565b81010312620009e25751859062014be962014b70565b3d915062015009565b9094506020813d60201162015068575b81620150566020938362015f46565b81010312620009e25751938662014b2d565b3d915062015047565b506020813d602011620150ac575b816201508e6020938362015f46565b810103126200034657620150a662014a929162015f88565b62014a86565b3d91506201507f565b5f620150c19162015f46565b5f6080528062014a2c565b6040513d5f823e3d90fd5b34620009e2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620009e257610e2980820182811067ffffffffffffffff8211176201536757829162016bc8833903905ff08015620150cc577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f5560405161185480820182811067ffffffffffffffff82111762015367578291620179f1833903905ff08015620150cc5773ffffffffffffffffffffffffffffffffffffffff16807fffffffffffffffffffffffff0000000000000000000000000000000000000000602054161760205573ffffffffffffffffffffffffffffffffffffffff602154166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481865afa8015620150cc575f9062015323575b6201524c915062015f97565b806103e802906103e8820403620152f6576040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff929092166004830152602482015290602090829060449082905f905af18015620150cc57620152d0915f91620152d2575b506201655f565b005b620152ef915060203d602011620011865762001177818362015f46565b82620152c9565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b506020813d6020116201535e575b81620153406020938362015f46565b81010312620009e257620153586201524c9162015f88565b62015240565b3d915062015331565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b34620009e2575f5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620009e25773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f06447d5600000000000000000000000000000000000000000000000000000000825260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015620150cc5762015cff575b5073ffffffffffffffffffffffffffffffffffffffff60205416906040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481865afa801562015ab357829062015cb7575b620154b5915062015f97565b806032029060328204810362015c8a57610e1042019182421162015c5d5773ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff6021541690604051917f7ecebe000000000000000000000000000000000000000000000000000000000083528060048401526020836024818b5afa92831562015b9d57879362015c23575b506040517ff39610400000000000000000000000000000000000000000000000000000000081526020816004818c5afa90811562015af857908491899162015be5575b506201560b90620006836040519384928b8a89602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818c5afa91821562015af857889262015ba8575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262015699816062810162000683565b5190209360225494604051957fe341eaa400000000000000000000000000000000000000000000000000000000875260048701526024860152606085604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa91821562015b9d5787918896899462015b6b575b5060640298858a046002148615171562015b3e576040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019990995296978897602090829060449082908c905af1801562015af85762015b1c575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541673ffffffffffffffffffffffffffffffffffffffff6020541690823b1562015ad7576040517f3525916f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152911660248201526044810186905261567860648201526084810188905260a481018590525f60c4820181905260e482015260ff831661010482015261012481018790526101448101849052908890829061016490829084905af190811562015af857889162015b03575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562015af4576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f756688fe000000000000000000000000000000000000000000000000000000006004820152878160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562015af857889162015adb575b505073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff6020541693853b1562015ad7578997889462015a1a936040519b8c9a8b998a987f3525916f000000000000000000000000000000000000000000000000000000008a5260048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b03925af1801562015ab35762015abe575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562015ab057806040517f90c5013b000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562015ab35762015a9c5750f35b8162015aa89162015f46565b62015ab05780f35b80fd5b6040513d84823e3d90fd5b8162015aca9162015f46565b62015ab057805f62015a2b565b8980fd5b8162015ae79162015f46565b62015af457865f6201591e565b8680fd5b6040513d8a823e3d90fd5b8162015b0f9162015f46565b62015af457865f62015887565b62015b389060203d602011620011865762001177818362015f46565b62015782565b6024897f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b90935062015b909196506064925060603d606011620009a65762000993818362015f46565b9691929096939062015703565b6040513d89823e3d90fd5b9091506020813d60201162015bdc575b8162015bc76020938362015f46565b81010312620009e2575190620156996201564e565b3d915062015bb8565b9150506020813d60201162015c1a575b8162015c046020938362015f46565b81010312620009e2575183906201560b62015593565b3d915062015bf5565b9092506020813d60201162015c54575b8162015c426020938362015f46565b81010312620009e25751915f62015550565b3d915062015c33565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b506020813d60201162015cf6575b8162015cd46020938362015f46565b8101031262015cf25762015cec620154b59162015f88565b620154a9565b5080fd5b3d915062015cc5565b62015d0d91505f9062015f46565b5f5f62015450565b60206040818301928281528451809452019201905f5b81811062015d395750505090565b825173ffffffffffffffffffffffffffffffffffffffff1684526020938401939092019160010162015d2b565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b81811062015dc75750505090565b82517fffffffff000000000000000000000000000000000000000000000000000000001684526020938401939092019160010162015db9565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831062015e3357505050505090565b909192939460208062015e71837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752895162015d66565b9701930193019193929062015e23565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831062015eb457505050505090565b909192939460208062015f19837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff81511684520151918185820152019062015da9565b9701930193019193929062015ea4565b6040810190811067ffffffffffffffff8211176201536757604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176201536757604052565b519060ff82168203620009e257565b60ff16604d8111620152f657600a0a90565b90816020910312620009e257518015158103620009e25790565b91908201809211620152f657565b90816060910312620009e25762015fe88162015f88565b916040602083015192015190565b67ffffffffffffffff8111620153675760051b60200190565b90604051915f8154908160011c926001831692831562016114575b602085108414620160e7578487528693908115620160a557506001146201605d575b506201605b9250038362015f46565b565b90505f9291925260205f20905f915b818310620160885750509060206201605b928201015f6201604c565b60209193508060019154838589010152019101909184926201606c565b602093506201605b9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f6201604c565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f16936201602a565b91908203918211620152f657565b90604051918281549182825260208201905f5260205f20925f905b80600783011062016357576201605b94549181811062016320575b818110620162e9575b818110620162b2575b8181106201627b575b81811062016244575b8181106201620d575b818110620161d7575b10620161a9575b50038362015f46565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f620161a0565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b16815201930162016199565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b16815201930162016190565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b16815201930162016187565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b1681520193016201617e565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b16815201930162016175565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b1681520193016201616c565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b16815201930162016163565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e082015201940192018592939162016148565b602081830312620009e25780519067ffffffffffffffff8211620009e2570181601f82011215620009e25780519067ffffffffffffffff82116201536757604051926201645b601f84017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020018562015f46565b82845260208383010111620009e257815f9260208093018386015e8301015290565b60085460ff16156201648e57600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115620150cc575f9162016527575b50151590565b90506020813d60201162016556575b81620165456020938362015f46565b81010312620009e257515f62016521565b3d915062016536565b1580620165695750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f0c9fd5810000000000000000000000000000000000000000000000000000000082521560048201525f81602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd5750565b5f6201605b9162015f46565b919073ffffffffffffffffffffffffffffffffffffffff601f5460081c16916040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa908115620150cc575f9162016838575b50602080546040805180840194855273ffffffffffffffffffffffffffffffffffffffff98891691810191909152961660608701526802b5e3af16b1880000608087015261567860a087015260c08601939093524660e0860152610100850191909152678ac7230489e80000610120850152619999610140850152600493620166d581610160810162000683565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa918215620150cc575f92620167fb575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262016760816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115620150cc575f5f935f93620167cf575b50929190565b91935050620167f0915060603d606011620009a65762000993818362015f46565b929092915f620167c9565b9091506020813d6020116201682f575b816201681a6020938362015f46565b81010312620009e25751906201676062016715565b3d91506201680b565b90506020949194813d60201162016870575b81620168596020938362015f46565b81010312620009e25751909390620166d562016647565b3d91506201684a565b919073ffffffffffffffffffffffffffffffffffffffff601f5460081c16916040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa908115620150cc575f9162016965575b50602080546040805180840194855273ffffffffffffffffffffffffffffffffffffffff98891691810191909152961660608701526802b5e3af16b1880000608087015261567860a087015260c08601939093524660e0860152610100850191909152674563918244f40000610120850152619999610140850152600493620166d581610160810162000683565b90506020949194813d6020116201699d575b81620169866020938362015f46565b81010312620009e25751909390620166d5620168d7565b3d915062016977565b674563918244f400008103620169b95750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152674563918244f4000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd5750565b8062016a435750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f98296c5400000000000000000000000000000000000000000000000000000000825260048201525f60248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd5750565b6001810362016ac85750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152600160248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd5750565b9080820362016b4f575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051917f98296c54000000000000000000000000000000000000000000000000000000008352600483015260248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd575056fe6080806040523460395760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055610deb908161003e8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033610160604052346104c6576040516100186040826104ca565b600a8152602081016926b7b1b5902a37b5b2b760b11b81526040519061003f6040836104ca565b600a82526926b7b1b5902a37b5b2b760b11b6020830152604051926100656040856104ca565b60038452624d544b60e81b6020850152604051936100846040866104ca565b60018552603160f81b60208601908152845190946001600160401b0382116103c95760035490600182811c921680156104bc575b60208310146103ab5781601f84931161044e575b50602090601f83116001146103e8575f926103dd575b50508160011b915f199060031b1c1916176003555b8051906001600160401b0382116103c95760045490600182811c921680156103bf575b60208310146103ab5781601f84931161033d575b50602090601f83116001146102d7575f926102cc575b50508160011b915f199060031b1c1916176004555b610162816104ed565b6101205261016f84610674565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526101d860c0826104ca565b5190206080523060c05233156102b95760025469d3c21bcecceda100000081018091116102a557600255335f525f60205260405f2069d3c21bcecceda1000000815401905560405169d3c21bcecceda100000081525f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a36040516110a790816107ad823960805181610cec015260a05181610da9015260c05181610cbd015260e05181610d3b01526101005181610d610152610120518161048f015261014051816104b80152f35b634e487b7160e01b5f52601160045260245ffd5b63ec442f0560e01b5f525f60045260245ffd5b015190505f80610144565b60045f9081528281209350601f198516905b818110610325575090846001959493921061030d575b505050811b01600455610159565b01515f1960f88460031b161c191690555f80806102ff565b929360206001819287860151815501950193016102e9565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c810191602085106103a1575b90601f859493920160051c01905b818110610393575061012e565b5f8155849350600101610386565b9091508190610378565b634e487b7160e01b5f52602260045260245ffd5b91607f169161011a565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100e2565b60035f9081528281209350601f198516905b818110610436575090846001959493921061041e575b505050811b016003556100f7565b01515f1960f88460031b161c191690555f8080610410565b929360206001819287860151815501950193016103fa565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c810191602085106104b2575b90601f859493920160051c01905b8181106104a457506100cc565b5f8155849350600101610497565b9091508190610489565b91607f16916100b8565b5f80fd5b601f909101601f19168101906001600160401b038211908210176103c957604052565b908151602081105f14610567575090601f815111610527576020815191015160208210610518571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116103c957600554600181811c9116801561066a575b60208210146103ab57601f8111610637575b50602092601f82116001146105d657928192935f926105cb575b50508160011b915f199060031b1c19161760055560ff90565b015190505f806105b2565b601f1982169360055f52805f20915f5b86811061061f5750836001959610610607575b505050811b0160055560ff90565b01515f1960f88460031b161c191690555f80806105f9565b919260206001819286850151815501940192016105e6565b60055f52601f60205f20910160051c810190601f830160051c015b81811061065f5750610598565b5f8155600101610652565b90607f1690610586565b908151602081105f1461069f575090601f815111610527576020815191015160208210610518571790565b6001600160401b0381116103c957600654600181811c911680156107a2575b60208210146103ab57601f811161076f575b50602092601f821160011461070e57928192935f92610703575b50508160011b915f199060031b1c19161760065560ff90565b015190505f806106ea565b601f1982169360065f52805f20915f5b868110610757575083600195961061073f575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610731565b9192602060018192868501518155019401920161071e565b60065f52601f60205f20910160051c810190601f830160051c015b81811061079757506106d0565b5f815560010161078a565b90607f16906106be56fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde03146108dc57508063095ea7b31461089857806318160ddd1461085d57806323b872dd146106c9578063313ce567146106905780633644e5151461065057806370a08231146105ee5780637ecebe001461058b57806384b0196e1461045957806395d89b411461033b578063a9059cbb146102ec578063d505accf1461013b5763dd62ed3e146100ab575f80fd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576100e26109df565b73ffffffffffffffffffffffffffffffffffffffff6100ff610a02565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101375760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576101726109df565b61017a610a02565b604435906064359260843560ff81168103610137578442116102c05761027b61027273ffffffffffffffffffffffffffffffffffffffff9283851697885f52600760205260405f20908154916001830190556040519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528b6040840152878a1660608401528a608084015260a083015260c082015260c0815261022560e082610b16565b519020610230610ca6565b90604051917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220610eff565b90929192610f99565b16848103610290575061028e9350610dcf565b005b84907f4b800e46000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b847f62791302000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576103306103266109df565b6024359033610b84565b602060405160018152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576040515f60045461037981610a25565b808452906001811690811561041757506001146103b9575b6103b5836103a181850382610b16565b60405191829160208352602083019061099c565b0390f35b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b8082106103fd575090915081016020016103a1610391565b9192600181602092548385880101520191019092916103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506103a19050610391565b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375761052f6104b37f0000000000000000000000000000000000000000000000000000000000000000610e4c565b6104dc7f0000000000000000000000000000000000000000000000000000000000000000610ec8565b602061053d604051926104ef8385610b16565b5f84525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e08588015260e087019061099c565b90858203604087015261099c565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b82811061057457505050500390f35b835185528695509381019392810192600101610565565b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff6105d76109df565b165f526007602052602060405f2054604051908152f35b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff61063a6109df565b165f525f602052602060405f2054604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020610688610ca6565b604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757602060405160128152f35b346101375760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576107006109df565b610708610a02565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110610784575b506103309350610b84565b8381106108295784156107fd5733156107d157610330945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f209103905584610779565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020600254604051908152f35b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576103306108d26109df565b6024359033610dcf565b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137575f60035461091781610a25565b8084529060018116908115610417575060011461093e576103b5836103a181850382610b16565b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b808210610982575090915081016020016103a1610391565b91926001816020925483858801015201910190929161096a565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b90600182811c92168015610a6c575b6020831014610a3f57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610a34565b5f9291815491610a8583610a25565b8083529260018116908115610ada5750600114610aa157505050565b5f9081526020812093945091925b838310610ac0575060209250010190565b600181602092949394548385870101520191019190610aaf565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610b5757604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff16908115610c7a5773ffffffffffffffffffffffffffffffffffffffff16918215610c4e57815f525f60205260405f2054818110610c1c57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610da6575b15610d0e577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152610da060c082610b16565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610ce5565b73ffffffffffffffffffffffffffffffffffffffff169081156107fd5773ffffffffffffffffffffffffffffffffffffffff169182156107d15760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60ff8114610eab5760ff811690601f8211610e835760405191610e70604084610b16565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b50604051610ec581610ebe816005610a76565b0382610b16565b90565b60ff8114610eec5760ff811690601f8211610e835760405191610e70604084610b16565b50604051610ec581610ebe816006610a76565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610f8e579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610f83575f5173ffffffffffffffffffffffffffffffffffffffff811615610f7957905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60048110156110445780610fab575050565b60018103610fdb577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b6002810361100f57507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6003146110195750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea26469706673582212202eaf8d700913bffd8b4934f8b853d9665e68ca4ec536d49359eed7bb1628075364736f6c634300081e003360803461018357601f610c1538819003918201601f19168301916001600160401b038311848410176101875780849260209460405283398101031261018357516100495f5461019b565b601f811161013c575b507f4e6f6e2d5374616e6461726420546f6b656e00000000000000000000000000245f556001546100829061019b565b601f81116100f4575b506006621394d560ea1b01600155600660ff19600254161760025580600355335f5260046020528060405f20556040519081525f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a3604051610a4190816101d48239f35b60015f52601f0160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6908101905b818110610131575061008b565b5f8155600101610124565b5f8052601f0160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563908101905b8181106101785750610052565b5f815560010161016b565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b90600182811c921680156101c9575b60208310146101b557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101aa56fe60806040526004361015610011575f80fd5b5f3560e01c806306fdde031461079e578063095ea7b3146106fb57806318160ddd146106c057806323b872dd1461051d578063313ce567146104df57806340c10f191461043957806370a08231146103d657806395d89b41146101e1578063a9059cbb146101175763dd62ed3e14610087575f80fd5b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576100be610919565b73ffffffffffffffffffffffffffffffffffffffff6100db61093c565b91165f52600560205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101135761014e610919565b73ffffffffffffffffffffffffffffffffffffffff60243591335f52600460205261017f8360405f2054101561095f565b335f52600460205260405f206101968482546109c4565b90551690815f52600460205260405f206101b18282546109fe565b90556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3005b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576040515f600154908160011c600183169283156103cc575b60208210841461039f57818552849390811561033f57506001146102c5575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff821181831017610298576040829052819061029490826108d1565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60015f90815291507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b81831061032357505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610246565b60209193508060019154838588010152019101909183926102ef565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09050610246565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f1690610227565b346101135760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101135773ffffffffffffffffffffffffffffffffffffffff610422610919565b165f526004602052602060405f2054604051908152f35b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610470610919565b5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602073ffffffffffffffffffffffffffffffffffffffff602435946104b9866003546109fe565b600355169384845260048252604084206104d48282546109fe565b9055604051908152a3005b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357602060ff60025416604051908152f35b346101135760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610554610919565b61055c61093c565b73ffffffffffffffffffffffffffffffffffffffff604435921690815f52600460205261058f8360405f2054101561095f565b815f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528260405f20541061066257602073ffffffffffffffffffffffffffffffffffffffff7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92845f526004835260405f206106118782546109c4565b90551693845f526004825260405f2061062b8282546109fe565b9055835f526005825260405f2073ffffffffffffffffffffffffffffffffffffffff33165f52825260405f206104d48282546109c4565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e73756666696369656e7420616c6c6f77616e6365000000000000000000006044820152fd5b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576020600354604051908152f35b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610732610919565b73ffffffffffffffffffffffffffffffffffffffff60243591335f52600560205260405f208282165f526020528260405f205560405192835216907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576040515f5f54908160011c600183169283156108c7575b60208210841461039f57818552849390811561033f575060011461084f575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff821181831017610298576040829052819061029490826108d1565b5f80805291507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8183106108ab57505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610246565b6020919350806001915483858801015201910190918392610877565b90607f16906107e3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011357565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011357565b1561096657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e742062616c616e63650000000000000000000000006044820152fd5b919082039182116109d157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919082018092116109d15756fea2646970667358221220bc55045891b519b0b5f8315ee228d5b1d217d0df546e371d3a4b30023541a0b764736f6c634300081e0033a2646970667358221220010ee7b53d583fe2d911c1394ce38c6f4ea6a88675a68222bcecb92d21ae101364736f6c634300081e0033","sourceMap":"830:78201:63:-:0;;;;;;;3200:4:5;830:78201:63;;3200:4:5;830:78201:63;;;3200:4:5;830:78201:63;3200:4:5;830:78201:63;;1087:4:16;830:78201:63;;;1087:4:16;830:78201:63;2030:14:2;;;1335:20:63;;1343:11;1335:20;;;2030:14:2;;1335:20:63;;;336:42:2;1335:20:63;;;;;;;830:78201;1335:20;;;-1:-1:-1;;1335:20:63;2030:14:2;;-1:-1:-1;;;;;;2030:14:2;-1:-1:-1;;;;;336:42:2;;;;2030:14;;;;;;1343:11:63;1393;2030:14:2;830:78201:63;;;;;;;;;1335:20;;;2030:14:2;1335:20:63;2030:14:2;1335:20:63;;;;2030:14:2;;;-1:-1:-1;;2030:14:2;;;-1:-1:-1;;;;;2030:14:2;;;;;;;;;;;;830:78201:63;2030:14:2;1335:20:63;;2030:14:2;;;;;-1:-1:-1;;;;;336:42:2;;2030:14;;;;1335:20:63;;;2030:14:2;830:78201:63;2030:14:2;;;;;;830:78201:63;2030:14:2;;1335:20:63;2030:14:2;1335:20:63;830:78201;2030:14:2;1335:20:63;;;;;;830:78201;;2030:14:2;830:78201:63;2030:14:2;;;;","linkReferences":{}},"deployedBytecode":{"object":"61010080604052600436101562000014575f80fd5b5f6080525f3560e01c9081630a9254e414620150d7575080630c266cdb146201497157806319835737146201496b5780631e3f2fae146201496b5780631ed7831c14620148b6578063218171d71462013ea357806322b7bf5e14620137b65780632ade388014620135605780632bce844d1462012c8b5780632ce7f6c814620125c05780633532ecd51462011f5a5780633e5e3c231462011ea55780633f7286f41462011df05780634f8632ba1462011d9b57806351a82aa0146201153557806355544ac01462011397578063567902d914620109c0578063572a59b9146200fff757806366d9a9a0146200fe7e57806369ad3c6a146200facb5780636d74fac8146200f4ba578063774345cd146200eb085780637747c190146200e4b25780637806d8ab146200dda7578063804b1836146200d65057806380839499146200cd3657806385226c81146200cc965780638cb2b6bf146200cc575780638db1cdf8146200c5ab578063901dc0e2146200b6b1578063916a17c6146200b5c7578063942c6c0d146200b32e5780639750a94e146200ab1b5780639eed73d6146200a224578063a65d69d4146200a1cc578063a9d982311462009ba1578063ac315011146200934c578063b0464fdc1462009262578063b320b4951462008b3b578063b47752d114620083f1578063b5508aa91462008351578063ba414fa61462008309578063bbaaf0a81462007708578063bdc1b59c1462006e56578063be4671ef14620065a0578063be7d0b2f14620055bf578063c0aa967b1462004ce7578063c13acba01462003f82578063c2e9f2e41462003f28578063c30fff9714620034a4578063ccf5634614620032e3578063cde7e4871462002d1c578063d49421661462002428578063d7284b701462001a8f578063e20c9f7114620019c9578063ef45a94b146200131e578063f56af20a1462000af6578063fa5e81021462000390578063fa7626d4146200034c5763fc0c546a14620002f2575f80fd5b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657602073ffffffffffffffffffffffffffffffffffffffff815416604051908152f35b60805180fd5b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657602060ff601f54166040519015158152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762000ad9575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062000a95575b620004b7915062015f97565b9081600a0291600a83040362000a6457600142019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541690604051937f7ecebe00000000000000000000000000000000000000000000000000000000008552826004860152602085602481855afa9485156200092a576080519562000a2a575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5760805192620009ef575b509060049360209260405191848301936080515084526040830152606082015285608082015260805160a08201528760c08201524660e0820152866101008201526080516101208201526080516101408201526101408152620005fb6101608262015f46565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a5760805192620009ae575b506040517f19010000000000000000000000000000000000000000000000000000000000006020820190815260228201939093526042810191909152620006b081606281015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528262015f46565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a57608051928392839162000971575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fb6a75fc10000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762000954575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff602154169673ffffffffffffffffffffffffffffffffffffffff6020541693873b15620003465760ff94604051997f3525916f000000000000000000000000000000000000000000000000000000008b526080515060048b015260248a015260448901526080516064890152608488015260a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a5762000937575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d575b60805180f35b6080516200091b9162015f46565b60805162000346578062000907565b6040513d608051823e3d90fd5b608051620009459162015f46565b60805162000346578062000898565b608051620009629162015f46565b608051620003465786620007b0565b919350506200099c915060603d606011620009a6575b62000993818362015f46565b81019062015fd1565b929091866200071b565b503d62000987565b9091506020813d602011620009e6575b81620009cd6020938362015f46565b81010312620009e2575190620006b06200063d565b5f80fd5b3d9150620009be565b91506020823d60201162000a21575b8162000a0d6020938362015f46565b81010312620009e257905190600462000595565b3d9150620009fe565b9094506020813d60201162000a5b575b8162000a496020938362015f46565b81010312620009e25751938662000552565b3d915062000a3a565b7f4e487b71000000000000000000000000000000000000000000000000000000006080515260116004526024608051fd5b506020813d60201162000ad0575b8162000ab26020938362015f46565b81010312620003465762000aca620004b79162015f88565b620004ab565b3d915062000aa3565b60805162000ae79162015f46565b60805162000346578062000451565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762001301575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a5760805190620012bd575b62000c1d915062015f97565b908160320291603283040362000a64576040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062001279575b62000c79915062015f97565b918260050292600584040362000a6457610e1042019283421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481885afa9586156200092a57608051966200123f575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa80156200092a5787916080519162001201575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff9485169181019190915292841660608401526080830185905261567860a084015260c083018990524660e084015261010083019190915261012082018590525f6101408301529062000dd181610160810162000683565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481895afa9182156200092a5760805192620011c4575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262000e61816062810162000683565b5190209260225493604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519586958694916200118e575b5062000f3b9160209162000ee3858862015fc3565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909316600484015260248301529092839190829081906044820190565b0391608051905af180156200092a576200115a575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4db7e8510000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200113d575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169773ffffffffffffffffffffffffffffffffffffffff6020541694883b15620003465760ff956040519a7f3525916f000000000000000000000000000000000000000000000000000000008c526080515060048c015260248b015260448a015261567860648a0152608489015260a488015260c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200114b9162015f46565b60805162000346578762000fe5565b620011809060203d60201162001186575b62001177818362015f46565b81019062015fa9565b62000f50565b503d6200116b565b620011b79197506020965062000f3b92945060603d606011620009a65762000993818362015f46565b9790965090939162000ece565b9091506020813d602011620011f8575b81620011e36020938362015f46565b81010312620009e257519062000e6162000e16565b3d9150620011d4565b9150506020813d60201162001236575b81620012206020938362015f46565b81010312620009e25751869062000dd162000d59565b3d915062001211565b9095506020813d60201162001270575b816200125e6020938362015f46565b81010312620009e25751948762000d16565b3d91506200124f565b506020813d602011620012b4575b81620012966020938362015f46565b810103126200034657620012ae62000c799162015f88565b62000c6d565b3d915062001287565b506020813d602011620012f8575b81620012da6020938362015f46565b810103126200034657620012f262000c1d9162015f88565b62000c11565b3d9150620012cb565b6080516200130f9162015f46565b60805162000346578062000bb7565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620019ac575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c166024602073ffffffffffffffffffffffffffffffffffffffff6021541692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528660048301525afa9081156200092a576080519162001974575b50602080546040517f3644e5150000000000000000000000000000000000000000000000000000000081529173ffffffffffffffffffffffffffffffffffffffff9091169082600481845afa9182156200092a57608051926200193a575b506024602073ffffffffffffffffffffffffffffffffffffffff601f5460081c1692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528960048301525afa80156200092a57869160805191620018fc575b50916200160291620015bd620006839462000683604051938492680340aad21b3b70000160208501978d89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902060405192839160208301958690916042927f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201520190565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5784608051946080519360805195620018c5575b5062001680918391620165e9565b949093737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7719991e0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620018a8575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169673ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff6020541695893b15620003465760049a60ff9788946040519d8e7f358a8f4800000000000000000000000000000000000000000000000000000000815260805150015260248d01526802b5e3af16b188000060448d0152680340aad21b3b70000160648d015261567860848d015260a48c015260c48b0152678ac7230489e8000060e48b01526199996101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620018b69162015f46565b60805162000346578862001717565b62001680929650620018ed91955083945060603d606011620009a65762000993818362015f46565b94919690949591509162001672565b9150506020813d60201162001931575b816200191b6020938362015f46565b81010312620009e2575185906200160262001530565b3d91506200190c565b9091506020813d6020116200196b575b81620019596020938362015f46565b81010312620009e257519085620014c9565b3d91506200194a565b90506020813d602011620019a3575b81620019926020938362015f46565b81010312620009e25751836200146b565b3d915062001983565b608051620019ba9162015f46565b608051620003465780620013df565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576040518060206015549182815201906015608051527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475906080515b81811062001a625762001a5e8562001a518187038262015f46565b6040519182918262015d15565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920162001a36565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657604051610c158082019082821067ffffffffffffffff831117620023f757602091839162019245833964e8d4a510008152030190608051f080156200092a5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff60215416813b156200034657604051907fa9059cbb0000000000000000000000000000000000000000000000000000000082526004820152633b9aca00602482015260805181604481608051865af180156200092a57620023da575b5073ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620023bd575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff6021541691604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452806004850152602084602481855afa9384156200092a576080519462002383575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481865afa80156200092a5785916080519162002345575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff9485169181019190915292871660608401526302faf080608084015261567860a084015260c083018590524660e08401526101008301919091525f61012083018190526101408301529062001d6281610160810162000683565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a576080519262002308575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262001df2816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a57608051926080519260805196620022da575b50604051907f095ea7b300000000000000000000000000000000000000000000000000000000825260048201526302faf08060248201526020816044816080518b5af180156200092a57620022b8575b5073ffffffffffffffffffffffffffffffffffffffff6021541691604051947f70a082310000000000000000000000000000000000000000000000000000000086528360048701526020866024818b5afa9586156200092a57608051966200227e575b50604051967f70a0823100000000000000000000000000000000000000000000000000000000885261567860048901526020886024818c5afa9788156200092a576080519862002244575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1692833b15620003465789916200202c91604051988997889687967f3525916f0000000000000000000000000000000000000000000000000000000088526080519b600489019361014095919897969373ffffffffffffffffffffffffffffffffffffffff60ff948161016089019c1688521660208701526302faf08060408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b0391608051905af180156200092a5762002227575b5073ffffffffffffffffffffffffffffffffffffffff6021541692604051937f70a082310000000000000000000000000000000000000000000000000000000085526004850152602084602481845afa9384156200092a5760805194620021ed575b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd050f80820191821162000a6457620020df60209260249562016b42565b604051938480927f70a0823100000000000000000000000000000000000000000000000000000000825261567860048301525afa9182156200092a5760805192620021b3575b506302faf080810180911162000a6457620021409162016b42565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b9091506020813d602011620021e4575b81620021d26020938362015f46565b81010312620009e25751908262002125565b3d9150620021c3565b9093506020813d6020116200221e575b816200220c6020938362015f46565b81010312620009e257519284620020a3565b3d9150620021fd565b608051620022359162015f46565b60805162000346578362002041565b9097506020813d60201162002275575b81620022636020938362015f46565b81010312620009e25751968962001f5f565b3d915062002254565b9095506020813d602011620022af575b816200229d6020938362015f46565b81010312620009e25751948862001f14565b3d91506200228e565b620022d49060203d602011620011865762001177818362015f46565b62001eb1565b9193509450620022fc915060603d606011620009a65762000993818362015f46565b91929091948762001e61565b9091506020813d6020116200233c575b81620023276020938362015f46565b81010312620009e257519062001df262001da7565b3d915062002318565b9150506020813d6020116200237a575b81620023646020938362015f46565b81010312620009e25751849062001d6262001ce7565b3d915062002355565b9093506020813d602011620023b4575b81620023a26020938362015f46565b81010312620009e25751928562001ca4565b3d915062002393565b608051620023cb9162015f46565b60805162000346578162001c17565b608051620023e89162015f46565b60805162000346578162001b87565b7f4e487b71000000000000000000000000000000000000000000000000000000006080515260416004526024608051fd5b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762002cff575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062002cbb575b6200254f915062015f97565b908160140291601483040362000a64577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019082821162000a64576064420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff6021541691604051937f7ecebe00000000000000000000000000000000000000000000000000000000008552836004860152602085602481855afa9485156200092a576080519562002c81575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481855afa9081156200092a576080519162002c49575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152856004820152602081602481865afa80156200092a5786916080519162002c0b575b5062000683916200272591620015bd8b620006838a6040519485938c602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209060225494604051927fe341eaa40000000000000000000000000000000000000000000000000000000084528660048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a5760805194859485949162002bdb575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a576080519262002ba0575b50906004936020926040519184830193608051508452604083015260608201528c608082015261123460a08201528860c08201524660e08201528a61010082015260805161012082015260805161014082015261014081526200283c6101608262015f46565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262002b63575b506040517f19010000000000000000000000000000000000000000000000000000000000006020820190815260228201939093526042810191909152620028c9816062810162000683565b519020604051957fe341eaa400000000000000000000000000000000000000000000000000000000875260048701526024860152606085604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9586156200092a5760805196879687969162002b33575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762002b16575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169873ffffffffffffffffffffffffffffffffffffffff602154169a73ffffffffffffffffffffffffffffffffffffffff602054168b3b1562000346576040519c7f358a8f48000000000000000000000000000000000000000000000000000000008e52608051508d6004015260248d015260448c015260648b015260848a01611234905260a48a015260c489015260805160e489015260805161010489015260ff1661012488015261014487015261016486015260ff166101848501526101a48401526101c48301528160805191816080515a926101e493f180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b60805162002b249162015f46565b60805162000346578a620029a0565b919550965062002b5691955060603d606011620009a65762000993818362015f46565b9591949095968a62002931565b9091506020813d60201162002b97575b8162002b826020938362015f46565b81010312620009e2575190620028c96200287e565b3d915062002b73565b91506020823d60201162002bd2575b8162002bbe6020938362015f46565b81010312620009e2579051906004620027d6565b3d915062002baf565b919350945062002bfe91935060603d606011620009a65762000993818362015f46565b9391929093948b62002793565b9150506020813d60201162002c40575b8162002c2a6020938362015f46565b81010312620009e25751859062000683620026a1565b3d915062002c1b565b90506020813d60201162002c78575b8162002c676020938362015f46565b81010312620009e257518862002658565b3d915062002c58565b9094506020813d60201162002cb2575b8162002ca06020938362015f46565b81010312620009e25751938762002616565b3d915062002c91565b506020813d60201162002cf6575b8162002cd86020938362015f46565b81010312620003465762002cf06200254f9162015f88565b62002543565b3d915062002cc9565b60805162002d0d9162015f46565b608051620003465780620024e9565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620032c6575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff60215416604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252806004830152602082602481865afa9182156200092a57608051926200328c575b50602080546040517f3644e5150000000000000000000000000000000000000000000000000000000081529173ffffffffffffffffffffffffffffffffffffffff9091169082600481845afa9182156200092a576080519262003252575b506024602073ffffffffffffffffffffffffffffffffffffffff601f5460081c1692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528860048301525afa80156200092a5787916080519162003214575b509162002fba91620015bd6200068394620006836040519384926802fb474098f67c000060208501978c89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209160225492604051937fe341eaa400000000000000000000000000000000000000000000000000000000855260048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a57608051938493849190620031e6575b506200303583888462016879565b969193909573ffffffffffffffffffffffffffffffffffffffff6020541695893b15620003465760049a60ff9788946040519d8e7f358a8f4800000000000000000000000000000000000000000000000000000000815260805150015260248d01526802b5e3af16b188000060448d01526802fb474098f67c000060648d015261567860848d015260a48c015260c48b0152674563918244f4000060e48b01526199996101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620031c9575b506024602073ffffffffffffffffffffffffffffffffffffffff815416604051928380927f70a0823100000000000000000000000000000000000000000000000000000000825261999960048301525afa80156200092a57608051906200318e575b620021409150620169a6565b506020813d602011620031c0575b81620031ab6020938362015f46565b81010312620009e25762002140905162003182565b3d91506200319c565b608051620031d79162015f46565b60805162000346578062003120565b919350506200320891935060603d606011620009a65762000993818362015f46565b93919290938762003027565b9150506020813d60201162003249575b81620032336020938362015f46565b81010312620009e25751869062002fba62002f2d565b3d915062003224565b9091506020813d60201162003283575b81620032716020938362015f46565b81010312620009e25751908662002ec6565b3d915062003262565b9091506020813d602011620032bd575b81620032ab6020938362015f46565b81010312620009e25751908462002e68565b3d91506200329c565b608051620032d49162015f46565b60805162000346578062002ddd565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051907fffa1ad7400000000000000000000000000000000000000000000000000000000825281600481608051935afa9081156200092a57608051916200347b575b506040805162003385828262015f46565b600181527f31000000000000000000000000000000000000000000000000000000000000006020820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576200340f6200344393835194859283927ff320d963000000000000000000000000000000000000000000000000000000008452866004850152604484019062015d66565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8382030160248401526080519462015d66565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200347057506200090d5760805180f35b513d608051823e3d90fd5b6200349d91503d80608051833e62003494818362015f46565b810190620163e5565b8162003374565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762003f0b575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062003ec7575b620035cb915062015f97565b8060320290603282040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff60215416906040517f7ecebe00000000000000000000000000000000000000000000000000000000008152826004820152602081602481895afa9081156200092a576080519162003e8f575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481865afa9081156200092a576080519162003e57575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152846004820152602081602481875afa9081156200092a578888879389936080519162003e10575b50620006839492620006836200377a9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209560225495604051977fe341eaa40000000000000000000000000000000000000000000000000000000089528760048a01526024890152606088604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9788156200092a5760805195608051916080519a62003de3575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a578987899387936080519162003d9c575b50620038ab9291620006839160405195869460208601988a46948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481895afa9182156200092a576080519262003d5f575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200393b816062810162000683565b519020604051997fe341eaa4000000000000000000000000000000000000000000000000000000008b5260048b015260248a0152606089604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a57608051998a9182919062003d33575b506040519a7f70a08231000000000000000000000000000000000000000000000000000000008c528360048d015260208c6024818c5afa9b8c156200092a576080519c62003cf8575b506040517f70a0823100000000000000000000000000000000000000000000000000000000815261567860048201529b9c60208d6024818d5afa9c8d156200092a576080519d62003cbe575b50873b1562000346578b956040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b62003b1c9c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a5762003ca1575b5073ffffffffffffffffffffffffffffffffffffffff602054169173ffffffffffffffffffffffffffffffffffffffff6021541692604051937f70a082310000000000000000000000000000000000000000000000000000000085526004850152602084602481845afa9384156200092a576080519462003c66575b50926020602494604051958680927f70a0823100000000000000000000000000000000000000000000000000000000825261567860048301525afa9384156200092a576080519462003c23575b509062003c1d839262003c1662003c169562002140986201611f565b9062016b42565b62015fc3565b94935091906020853d60201162003c5d575b8162003c446020938362015f46565b81010312620009e25793519293909162003c1d62003bfa565b3d915062003c35565b93506020843d60201162003c98575b8162003c846020938362015f46565b81010312620009e257925192602062003bad565b3d915062003c75565b60805162003caf9162015f46565b60805162000346578362003b31565b909c506020813d60201162003cef575b8162003cdd6020938362015f46565b81010312620009e257519b8e62003a37565b3d915062003cce565b9b5060208c3d60201162003d2a575b8162003d166020938362015f46565b81010312620009e25760049b519b620039eb565b3d915062003d07565b91505062003d5491995060603d606011620009a65762000993818362015f46565b909991998c620039a2565b9091506020813d60201162003d93575b8162003d7e6020938362015f46565b81010312620009e25751906200393b620038f0565b3d915062003d6f565b9450505050506020813d60201162003dda575b8162003dbe6020938362015f46565b81010312620009e25751869084908a908890620038ab62003833565b3d915062003daf565b9150985062003e0591955060603d606011620009a65762000993818362015f46565b989195918a620037eb565b9450505050506020813d60201162003e4e575b8162003e326020938362015f46565b81010312620009e25751849086908990899062000683620036f6565b3d915062003e23565b90506020813d60201162003e86575b8162003e756020938362015f46565b81010312620009e2575187620036a8565b3d915062003e66565b90506020813d60201162003ebe575b8162003ead6020938362015f46565b81010312620009e257518662003666565b3d915062003e9e565b506020813d60201162003f02575b8162003ee46020938362015f46565b81010312620003465762003efc620035cb9162015f88565b620035bf565b3d915062003ed5565b60805162003f199162015f46565b60805162000346578062003565565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576200090773ffffffffffffffffffffffffffffffffffffffff601f5460081c1615156201655f565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762004cca575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062004c86575b620040a9915062015f97565b8060320290603282040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652826004870152602086602481885afa9586156200092a576080519662004c4c575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481855afa9081156200092a576080519162004c14575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152846004820152602081602481865afa9081156200092a578785879389936080519162004bcd575b5062000683949262000683620042599593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209060225496604051927fe341eaa40000000000000000000000000000000000000000000000000000000084528860048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9687156200092a57608051978894859162004ba0575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481865afa9081156200092a5789858a938a936080519162004b59575b5062004386929162000683916040519586948c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262004b1c575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262004416816062810162000683565b5190206040519a7fe341eaa4000000000000000000000000000000000000000000000000000000008c5260048c015260248b015260608a604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9889156200092a57608051976080519b6080519b62004aec575b50833b1562000346576040517f358a8f480000000000000000000000000000000000000000000000000000000081526080805173ffffffffffffffffffffffffffffffffffffffff9384166004840152979092166024820152604481018b9052606481018b9052615678608482015260a4810189905260c48101959095525f60e4860181905261010486015260ff9687166101248601526101448501929092526101648401529386166101848301526101a482018990526101c482018890529251909283916101e4918391905af180156200092a5762004acf575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481855afa9586156200092a576080519662004a95575b5073ffffffffffffffffffffffffffffffffffffffff6020541691604051927f3644e515000000000000000000000000000000000000000000000000000000008452602084600481845afa9384156200092a576080519462004a58575b50906020602492604051938480927f7ecebe000000000000000000000000000000000000000000000000000000000082528760048301525afa9182156200092a57859287916080519162004a13575b50620006839492620006836200470c9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225495604051967fe341eaa400000000000000000000000000000000000000000000000000000000885260048801526024870152606086604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a576080519788978893620049e6575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527febe052290000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620049d79162015f46565b6080516200034657896200480d565b919850965062004a08915060603d606011620009a65762000993818362015f46565b919790968962004778565b93505050916020823d60201162004a4f575b8162004a346020938362015f46565b81010312620009e25790519091849186906200068362004688565b3d915062004a25565b919093506020823d60201162004a8c575b8162004a786020938362015f46565b81010312620009e257905192602062004639565b3d915062004a69565b9095506020813d60201162004ac6575b8162004ab46020938362015f46565b81010312620009e257519488620045dc565b3d915062004aa5565b60805162004add9162015f46565b6080516200034657856200455c565b919850995062004b0f919a5060603d606011620009a65762000993818362015f46565b9a9197909a998c62004481565b9091506020813d60201162004b50575b8162004b3b6020938362015f46565b81010312620009e257519062004416620043cb565b3d915062004b2c565b9450505050506020813d60201162004b97575b8162004b7b6020938362015f46565b81010312620009e25751879087908a908690620043866200430e565b3d915062004b6c565b9194505062004bc291975060603d606011620009a65762000993818362015f46565b979193908a620042c6565b9450505050506020813d60201162004c0b575b8162004bef6020938362015f46565b81010312620009e25751849086908890869062000683620041d5565b3d915062004be0565b90506020813d60201162004c43575b8162004c326020938362015f46565b81010312620009e257518762004187565b3d915062004c23565b9095506020813d60201162004c7d575b8162004c6b6020938362015f46565b81010312620009e25751948662004145565b3d915062004c5c565b506020813d60201162004cc1575b8162004ca36020938362015f46565b81010312620003465762004cbb620040a99162015f88565b6200409d565b3d915062004c94565b60805162004cd89162015f46565b60805162000346578062004043565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620055a2575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200555e575b62004e0e915062015f97565b8060320290603282040362000a64577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff42019042821162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452826004850152602084602481885afa9384156200092a576080519462005524575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a5760805191620054ec575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528460048201526020816024818b5afa9081156200092a5787858793869360805191620054a5575b506200068394926200068362004fdc9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225493604051967fe341eaa40000000000000000000000000000000000000000000000000000000088528560048901526024880152606087604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a57608051988998899462005475575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5786928a916080519162005432575b506004959262000683602095936200510d938c6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a5760805192620053f5575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200519a816062810162000683565b519020604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a57608051948591829190620053c9575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f408b22340000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b915050620053ea91945060603d606011620009a65762000993818362015f46565b909491948962005201565b9091506020813d60201162005429575b81620054146020938362015f46565b81010312620009e25751906200519a6200514f565b3d915062005405565b93505050926020823d6020116200546c575b81620054536020938362015f46565b81010312620009e2579051909285918990600462005090565b3d915062005444565b91995092506200549891975060603d606011620009a65762000993818362015f46565b9791989097928a62005049565b9450505050506020813d602011620054e3575b81620054c76020938362015f46565b81010312620009e2575184908390889086906200068362004f58565b3d9150620054b8565b90506020813d6020116200551b575b816200550a6020938362015f46565b81010312620009e257518762004f0a565b3d9150620054fb565b9093506020813d60201162005555575b81620055436020938362015f46565b81010312620009e25751928662004ec8565b3d915062005534565b506020813d60201162005599575b816200557b6020938362015f46565b8101031262000346576200559362004e0e9162015f88565b62004e02565b3d91506200556c565b608051620055b09162015f46565b60805162000346578062004da8565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762006583575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200653f575b620056e6915062015f97565b8060320290603282040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff6021541691604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252836004830152602082602481845afa9182156200092a576080519262006505575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481875afa9081156200092a5760805191620064cd575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152856004820152602081602481885afa80156200092a578691608051916200648f575b5062000683916200589191620015bd8a620006838d6040519485938b602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209360225494604051907fe341eaa40000000000000000000000000000000000000000000000000000000082528660048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5760805196879384939062006461575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a578a888a938e93608051916200641a575b50620059bf9291620006839160405195869460208601988b46948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818a5afa9182156200092a5760805192620063dd575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262005a4f816062810162000683565b519020604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a576080519182918291620063b5575b50863b1562000346578b958b956040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b62005b9d9c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a5762006398575b5073ffffffffffffffffffffffffffffffffffffffff602054169073ffffffffffffffffffffffffffffffffffffffff602154169273ffffffffffffffffffffffffffffffffffffffff601f5460081c16906040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081526020818062005c62868a6004840190929173ffffffffffffffffffffffffffffffffffffffff60209181604085019616845216910152565b0381885afa80156200092a57608051906200635d575b62005c84915062016a3a565b604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452856004850152602084602481865afa9384156200092a576080519462006323575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a5760805191620062eb575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528760048201526020816024818a5afa9081156200092a578891859160805191620062aa575b509162005dde91620015bd6200068394620006836040519384928a8d602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902095602254604051977fe341eaa40000000000000000000000000000000000000000000000000000000089528160048a01526024890152606088604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a576080519889928391906200627f575b506040517ff39610400000000000000000000000000000000000000000000000000000000081526020816004818b5afa9081156200092a578a918a91608051916200623e575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff808a1692820192909252931660608401526080830188905261567860a084015260c083018990524660e08401526101008301919091525f61012083018190526101408301529062005f0881610160810162000683565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818c5afa9182156200092a576080519262006201575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262005f98816062810162000683565b519020604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a57608051938493849391620061d4575b50883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620060e39c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a57620061b7575b5060208054602154601f546040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015260089190911c82166024820152929183916044918391165afa80156200092a57608051906200617c575b62002140915062016a3a565b506020813d602011620061ae575b81620061996020938362015f46565b81010312620009e25762002140905162006170565b3d91506200618a565b608051620061c59162015f46565b608051620003465780620060f8565b9193509350620061f6915060603d606011620009a65762000993818362015f46565b929092938c62006000565b9091506020813d60201162006235575b81620062206020938362015f46565b81010312620009e257519062005f9862005f4d565b3d915062006211565b925050506020813d60201162006276575b816200625e6020938362015f46565b81010312620009e2578862005f088b92519062005e91565b3d91506200624f565b91995050620062a0915060603d606011620009a65762000993818362015f46565b9198908a62005e4b565b925050506020813d602011620062e2575b81620062ca6020938362015f46565b81010312620009e257518790849062005dde62005d5a565b3d9150620062bb565b90506020813d6020116200631a575b81620063096020938362015f46565b81010312620009e257518762005d0e565b3d9150620062fa565b9093506020813d60201162006354575b81620063426020938362015f46565b81010312620009e25751928662005ccc565b3d915062006333565b506020813d6020116200638f575b816200637a6020938362015f46565b81010312620009e25762005c84905162005c78565b3d91506200636b565b608051620063a69162015f46565b60805162000346578262005bb2565b915050620063d5915060603d606011620009a65762000993818362015f46565b918c62005ab6565b9091506020813d60201162006411575b81620063fc6020938362015f46565b81010312620009e257519062005a4f62005a04565b3d9150620063ed565b9450505050506020813d60201162006458575b816200643c6020938362015f46565b81010312620009e2575187908b908b908990620059bf62005947565b3d91506200642d565b919750925062006483915060603d606011620009a65762000993818362015f46565b91969091928a620058ff565b9150506020813d602011620064c4575b81620064ae6020938362015f46565b81010312620009e257518590620006836200580d565b3d91506200649f565b90506020813d602011620064fc575b81620064eb6020938362015f46565b81010312620009e2575187620057c4565b3d9150620064dc565b9091506020813d60201162006536575b81620065246020938362015f46565b81010312620009e25751908662005782565b3d915062006515565b506020813d6020116200657a575b816200655c6020938362015f46565b81010312620003465762006574620056e69162015f88565b620056da565b3d91506200654d565b608051620065919162015f46565b60805162000346578062005680565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762006e39575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062006df5575b620066c7915062015f97565b8060320290603282040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541692604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452846004850152602084602481865afa9384156200092a576080519462006dbb575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a576080519162006d83575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528660048201526020816024818b5afa9081156200092a57879185916080519162006d42575b50916200687491620015bd6200068394620006836040519384928a8d602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225495604051967fe341eaa400000000000000000000000000000000000000000000000000000000885260048801526024870152606086604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a57608051978897889662006d12575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a57859289916080519162006ccf575b50600495926200068360209593620069a4938b6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262006c92575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262006a31816062810162000683565b51902092604051937fe341eaa400000000000000000000000000000000000000000000000000000000855264098765432160048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a5760805194859182919062006c665750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527febe052290000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b91505062006c8791945060603d606011620009a65762000993818362015f46565b909491948962004778565b9091506020813d60201162006cc6575b8162006cb16020938362015f46565b81010312620009e257519062006a31620069e6565b3d915062006ca2565b93505050926020823d60201162006d09575b8162006cf06020938362015f46565b81010312620009e2579051909284918890600462006927565b3d915062006ce1565b919850945062006d3591965060603d606011620009a65762000993818362015f46565b96919790969489620068e0565b925050506020813d60201162006d7a575b8162006d626020938362015f46565b81010312620009e257518690849062006874620067f0565b3d915062006d53565b90506020813d60201162006db2575b8162006da16020938362015f46565b81010312620009e2575187620067a4565b3d915062006d92565b9093506020813d60201162006dec575b8162006dda6020938362015f46565b81010312620009e25751928662006762565b3d915062006dcb565b506020813d60201162006e30575b8162006e126020938362015f46565b81010312620003465762006e2a620066c79162015f88565b620066bb565b3d915062006e03565b60805162006e479162015f46565b60805162000346578062006661565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620076eb575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a5760805190620076a7575b62006f7d915062015f97565b8060320290603282040362000a64577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff42019042821162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452826004850152602084602481885afa9384156200092a57608051946200766d575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a576080519162007635575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528460048201526020816024818b5afa9081156200092a5787858793869360805191620075ee575b50620006839492620006836200714b9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225493604051967fe341eaa40000000000000000000000000000000000000000000000000000000088528560048901526024880152606087604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a576080519889988994620075be575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5786928a91608051916200757b575b506004959262000683602095936200727c938c6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200753e575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262007309816062810162000683565b519020604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a5760805194859182919062007512575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b9150506200753391945060603d606011620009a65762000993818362015f46565b909491948962007370565b9091506020813d60201162007572575b816200755d6020938362015f46565b81010312620009e257519062007309620072be565b3d91506200754e565b93505050926020823d602011620075b5575b816200759c6020938362015f46565b81010312620009e25790519092859189906004620071ff565b3d91506200758d565b9199509250620075e191975060603d606011620009a65762000993818362015f46565b9791989097928a620071b8565b9450505050506020813d6020116200762c575b81620076106020938362015f46565b81010312620009e25751849083908890869062000683620070c7565b3d915062007601565b90506020813d60201162007664575b81620076536020938362015f46565b81010312620009e257518762007079565b3d915062007644565b9093506020813d6020116200769e575b816200768c6020938362015f46565b81010312620009e25751928662007037565b3d91506200767d565b506020813d602011620076e2575b81620076c46020938362015f46565b810103126200034657620076dc62006f7d9162015f88565b62006f71565b3d9150620076b5565b608051620076f99162015f46565b60805162000346578062006f17565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620082ec575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a5760805190620082a8575b6200782f915062015f97565b60c052603260c05181020460c0510362000a64576040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062008264575b6200788f915062015f97565b90600582810204820362000a6457620078b18260050260c05160320262015fc3565b60a052610e104201421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051917f7ecebe00000000000000000000000000000000000000000000000000000000008352806004840152602083602481885afa9283156200092a57608051936200822a575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a5760805191620081f2575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152826004820152602081602481895afa9081156200092a5760805191620081b7575b506040805160a080517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c96020840190815273ffffffffffffffffffffffffffffffffffffffff80891695850195909552938b166060840152608083015281019290925242610e100160c0830152620006839162007a4d9190620015bd8160e0810186565b5190209460225495604051907fe341eaa40000000000000000000000000000000000000000000000000000000082528760048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9687156200092a5760805195608051926080519962008189575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a576080519162008151575b50604051602081019160805150825286604082015289606082015260c051603202608082015261567860a0820152610e10420160c08201524660e08201528261010082015287600502610120820152619999610140820152610140815262007b6b6101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481895afa9182156200092a576080519262008114575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262007bfb816062810162000683565b519020604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a57602499608051916080519460805196620080e7575b5060208b6040519d8e80927f70a082310000000000000000000000000000000000000000000000000000000082528c60048301525afa9a8b156200092a576080519b620080ac575b6040517f70a0823100000000000000000000000000000000000000000000000000000000815261567860048201529c5060208d602481845afa9c8d156200092a576080519d62008072575b506040519a7f70a08231000000000000000000000000000000000000000000000000000000008c5261999960048d015260208c602481855afa9b8c156200092a576080519c62008038575b50883b15620003465760ff9586926040519b7f358a8f48000000000000000000000000000000000000000000000000000000008d526080515060048d015260248c015260c05160320260448c015260a05160648c015261567860848c0152610e10420160a48c015260c48b01528a60050260e48b01526199996101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a576200801b575b5073ffffffffffffffffffffffffffffffffffffffff602054169273ffffffffffffffffffffffffffffffffffffffff6021541694604051957f70a082310000000000000000000000000000000000000000000000000000000087526004870152602086602481885afa9586156200092a576080519662007fe1575b50604051917f70a082310000000000000000000000000000000000000000000000000000000083526156786004840152602083602481895afa9283156200092a576080519362007fa4575b506020602496604051978880927f70a0823100000000000000000000000000000000000000000000000000000000825261999960048301525afa9586156200092a576080519662007f5b575b509162003c1662007f519262007f44620021409962003c1662003c1699989760a051906201611f565b60c0516032029062015fc3565b6005029062015fc3565b919493929095506020823d60201162007f9b575b8162007f7e6020938362015f46565b81010312620009e2579051949293919290919062003c1662007f1b565b3d915062007f6f565b9592506020863d60201162007fd8575b8162007fc36020938362015f46565b81010312620009e25794519194602062007ecf565b3d915062007fb4565b9095506020813d60201162008012575b81620080006020938362015f46565b81010312620009e25751948662007e84565b3d915062007ff1565b608051620080299162015f46565b60805162000346578462007e08565b909b506020813d60201162008069575b81620080576020938362015f46565b81010312620009e257519a8e62007d47565b3d915062008048565b909c506020813d602011620080a3575b81620080916020938362015f46565b81010312620009e257519b8d62007cfc565b3d915062008082565b9a5060208c3d602011620080de575b81620080ca6020938362015f46565b81010312620009e25760049b519a62007cb1565b3d9150620080bb565b919450945062008109915060603d606011620009a65762000993818362015f46565b939093948c62007c69565b9091506020813d60201162008148575b81620081336020938362015f46565b81010312620009e257519062007bfb62007bb0565b3d915062008124565b90506020813d60201162008180575b816200816f6020938362015f46565b81010312620009e257518a62007b00565b3d915062008160565b9196509750620081ab915060603d606011620009a65762000993818362015f46565b91959091978962007abe565b90506020813d602011620081e9575b81620081d56020938362015f46565b81010312620009e2575162007a4d620079c9565b3d9150620081c6565b90506020813d60201162008221575b81620082106020938362015f46565b81010312620009e257518662007981565b3d915062008201565b9092506020813d6020116200825b575b81620082496020938362015f46565b81010312620009e2575191856200793f565b3d91506200823a565b506020813d6020116200829f575b81620082816020938362015f46565b810103126200034657620082996200788f9162015f88565b62007883565b3d915062008272565b506020813d602011620082e3575b81620082c56020938362015f46565b810103126200034657620082dd6200782f9162015f88565b62007823565b3d9150620082b6565b608051620082fa9162015f46565b608051620003465780620077c9565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576020620083476201647d565b6040519015158152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601954620083918162015ff6565b90620083a1604051928362015f46565b80825260208201601960805152602060805120608051915b838310620083d1576040518062001a5e878262015e00565b600160208192620083e2856201600f565b815201920192019190620083b9565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657604051610c158082019082821067ffffffffffffffff831117620023f757602091839162019245833964e8d4a510008152030190608051f080156200092a5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff60215416813b156200034657604051907fa9059cbb000000000000000000000000000000000000000000000000000000008252600482015262989680602482015260805181604481608051865af180156200092a5762008b1e575b5073ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762008b01575b50610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541691604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452806004850152602084602481865afa9384156200092a576080519462008ac7575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262008a8d575b5060405190602082019260805150835260408201528260608201526305f5e100608082015261567860a08201528560c08201524660e0820152846101008201526080516101208201526080516101408201526101408152620086ad6101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262008a50575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200873d816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a5760805193849384929162008a22575b50604051907f095ea7b300000000000000000000000000000000000000000000000000000000825260048201526305f5e1006024820152602081604481608051875af180156200092a5762008a00575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e742062616c616e636500000000000000000000000060448201526080518160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620089e3575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff6021541696863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a015260248901526305f5e10060448901526156786064890152608488015260a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620089f19162015f46565b6080516200034657866200889d565b62008a1c9060203d602011620011865762001177818362015f46565b620087fa565b9150935062008a4491925060603d606011620009a65762000993818362015f46565b929190929387620087aa565b9091506020813d60201162008a84575b8162008a6f6020938362015f46565b81010312620009e25751906200873d620086f2565b3d915062008a60565b9091506020813d60201162008abe575b8162008aac6020938362015f46565b81010312620009e25751908662008648565b3d915062008a9d565b9093506020813d60201162008af8575b8162008ae66020938362015f46565b81010312620009e25751928562008605565b3d915062008ad7565b60805162008b0f9162015f46565b60805162000346578162008578565b60805162008b2c9162015f46565b608051620003465781620084e8565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762009245575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062009201575b62008c62915062015f97565b908160320291603283040362000a64577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff420142811162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a5760805196620091c7575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a5787916080519162009189575b5062008dd6906200068360405193849289888c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200914c575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262008e66816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a5760805193608051926080519762009111575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a57620090ef575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f408b22340000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620090d2575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b608051620090e09162015f46565b60805162000346578662008fd7565b6200910b9060203d602011620011865762001177818362015f46565b62008f42565b602091975062008f2d9295508493506200913c9060603d606011620009a65762000993818362015f46565b9491969094989250925062008ed5565b9091506020813d60201162009180575b816200916b6020938362015f46565b81010312620009e257519062008e6662008e1b565b3d91506200915c565b9150506020813d602011620091be575b81620091a86020938362015f46565b81010312620009e25751869062008dd662008d5e565b3d915062009199565b9095506020813d602011620091f8575b81620091e66020938362015f46565b81010312620009e25751948662008d1b565b3d9150620091d7565b506020813d6020116200923c575b816200921e6020938362015f46565b8101031262000346576200923662008c629162015f88565b62008c56565b3d91506200920f565b608051620092539162015f46565b60805162000346578062008bfc565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601c54620092a28162015ff6565b90620092b2604051928362015f46565b80825260208201601c608051527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211608051915b838310620092fd576040518062001a5e878262015e81565b60026020600192604051620093128162015f29565b73ffffffffffffffffffffffffffffffffffffffff8654168152620093398587016201612d565b83820152815201920192019190620092e5565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762009b84575b506064420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541690604051917f7ecebe00000000000000000000000000000000000000000000000000000000008352806004840152602083602481855afa9283156200092a576080519362009b4a575b5073ffffffffffffffffffffffffffffffffffffffff60205416926040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a576080519162009b12575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152836004820152602081602481895afa9081156200092a576080519162009ad7575b50620095a562000683916040516020810191608051507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98352876040830152886060830152608051608083015260a08201528960c082015260c08152620015bd60e08262015f46565b51902060225492604051917fe341eaa40000000000000000000000000000000000000000000000000000000083528460048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a5760805196879687949062009aa7575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a578a9287916080519162009a64575b50600495926200068360209593620096d6936040519586948986019846938a929373ffffffffffffffffffffffffffffffffffffffff61012095815f98949a999561014088019b8852166020870152166040850152856060850152611234608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262009a27575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262009763816062810162000683565b519020604051937fe341eaa400000000000000000000000000000000000000000000000000000000855260048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a57608051948594859391620099fa575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f2c5211c60000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620099dd575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169673ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff6020541695893b15620003465760049a60ff9788946040519d8e7f358a8f4800000000000000000000000000000000000000000000000000000000815260805150015260248d015260805160448d015260805160648d015261123460848d015260a48c015260c48b015260805160e48b01526080516101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620099eb9162015f46565b60805162000346578862009860565b919450945062009a1c915060603d606011620009a65762000993818362015f46565b9390939488620097cb565b9091506020813d60201162009a5b575b8162009a466020938362015f46565b81010312620009e25751906200976362009718565b3d915062009a37565b93505050926020823d60201162009a9e575b8162009a856020938362015f46565b81010312620009e2579051909289918690600462009659565b3d915062009a76565b919750955062009aca91925060603d606011620009a65762000993818362015f46565b9291969092958962009612565b90506020813d60201162009b09575b8162009af56020938362015f46565b81010312620009e25751620095a56200953c565b3d915062009ae6565b90506020813d60201162009b41575b8162009b306020938362015f46565b81010312620009e2575186620094f4565b3d915062009b21565b9092506020813d60201162009b7b575b8162009b696020938362015f46565b81010312620009e25751918462009498565b3d915062009b5a565b60805162009b929162015f46565b6080516200034657806200940d565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200a1af575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200a16b575b62009cc8915062015f97565b8060320290603282040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541690604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652826004870152602086602481855afa9586156200092a57608051966200a131575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5786928891608051916200a0ee575b5060049592620006836020959362009e26938a6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200a0b1575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262009eb3816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a5760805193849283916200a087575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620090d2575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b919450506200a0a8915060603d606011620009a65762000993818362015f46565b93908662009f1e565b9091506020813d6020116200a0e5575b816200a0d06020938362015f46565b81010312620009e257519062009eb362009e68565b3d91506200a0c1565b93505050926020823d6020116200a128575b816200a10f6020938362015f46565b81010312620009e2579051909285918790600462009da9565b3d91506200a100565b9095506020813d6020116200a162575b816200a1506020938362015f46565b81010312620009e25751948662009d62565b3d91506200a141565b506020813d6020116200a1a6575b816200a1886020938362015f46565b8101031262000346576200a1a062009cc89162015f88565b62009cbc565b3d91506200a179565b6080516200a1bd9162015f46565b60805162000346578062009c62565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051908152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200aafe575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200aaba575b6200a34b915062015f97565b80600a0290600a82040362000a6457606442019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652826004870152602086602481885afa9586156200092a57608051966200aa80575b50604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481845afa9182156200092a57608051926200aa45575b506020602491604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528860048301525afa9081156200092a5786918491608051916200aa04575b50916200a4fb91620015bd6200068394620006836040519384928c60208501978d89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209260225492604051947fe341eaa40000000000000000000000000000000000000000000000000000000086528460048701526024860152606085604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a5760805196879687936200a9d7575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a578a91608051916200a99b575b50926020916200a626600495620006836040519384928c8c8986019846938a92936101209473ffffffffffffffffffffffffffffffffffffffff5f979399989461014087019a87521660208601528660408601526060850152611234608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200a95e575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200a6b3816062810162000683565b519020604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519586958694916200a92e575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fc1ab6dc10000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200a911575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169773ffffffffffffffffffffffffffffffffffffffff6021541699893b15620003465760ff9683889460446040519e8f907f358a8f480000000000000000000000000000000000000000000000000000000082526080515060048201526080516024820152015260648d015261123460848d015260a48c015260c48b015260805160e48b01526080516101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200a91f9162015f46565b6080516200034657896200a7b0565b91935095506200a95191945060603d606011620009a65762000993818362015f46565b949192909495896200a71b565b9091506020813d6020116200a992575b816200a97d6020938362015f46565b81010312620009e25751906200a6b36200a668565b3d91506200a96e565b9150506020813d6020116200a9ce575b816200a9ba6020938362015f46565b81010312620009e25751899060206200a5ab565b3d91506200a9ab565b91975095506200a9f9915060603d606011620009a65762000993818362015f46565b91969095896200a568565b925050506020813d6020116200aa3c575b816200aa246020938362015f46565b81010312620009e25751859083906200a4fb6200a477565b3d91506200aa15565b9091506020813d6020116200aa77575b816200aa646020938362015f46565b81010312620009e257519060206200a429565b3d91506200aa55565b9095506020813d6020116200aab1575b816200aa9f6020938362015f46565b81010312620009e2575194866200a3e6565b3d91506200aa90565b506020813d6020116200aaf5575b816200aad76020938362015f46565b8101031262000346576200aaef6200a34b9162015f88565b6200a33f565b3d91506200aac8565b6080516200ab0c9162015f46565b6080516200034657806200a2e5565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200b311575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200b2cd575b6200ac42915062015f97565b9081600f0291600f83040362000a6457600a420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a57608051966200b293575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200b259575b50604051906020820192608051508352604082015285606082015282608082015261077760a08201528460c08201524660e08201528661010082015260805161012082015260805161014082015261014081526200ad806101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200b21c575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200ae10816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519360805192608051976200b1e1575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a576200b1bf575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541673ffffffffffffffffffffffffffffffffffffffff60205416823b1562000346576040517f3525916f00000000000000000000000000000000000000000000000000000000815260805173ffffffffffffffffffffffffffffffffffffffff93841660048301529290911660248201526044810185905261077760648201526084810187905260a481018990525f60c4820181905260e482015260ff861661010482015261012481018490526101448101889052918290818061016481010391608051905af180156200092a576200b1a2575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f756688fe0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200b185575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526107776060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b6080516200b1939162015f46565b6080516200034657866200b08a565b6080516200b1b09162015f46565b6080516200034657866200aff5565b6200b1db9060203d602011620011865762001177818362015f46565b6200aeec565b60209197506200aed79295508493506200b20c9060603d606011620009a65762000993818362015f46565b949196909498925092506200ae7f565b9091506020813d6020116200b250575b816200b23b6020938362015f46565b81010312620009e25751906200ae106200adc5565b3d91506200b22c565b9091506020813d6020116200b28a575b816200b2786020938362015f46565b81010312620009e2575190876200ad1f565b3d91506200b269565b9095506020813d6020116200b2c4575b816200b2b26020938362015f46565b81010312620009e2575194866200acdc565b3d91506200b2a3565b506020813d6020116200b308575b816200b2ea6020938362015f46565b8101031262000346576200b3026200ac429162015f88565b6200ac36565b3d91506200b2db565b6080516200b31f9162015f46565b6080516200034657806200abdc565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff601f5460081c166200b3898115156201655f565b604080516016906020906200b39f848262015f46565b828152017f547261696c73496e74656e74456e747279706f696e74000000000000000000008152209181517fffa1ad7400000000000000000000000000000000000000000000000000000000815260805181600481855afa9081156200b5bb5793602091600495608051916200b59b575b50828151910120845190838201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f84528683015260608201524660808201528360a082015260a081526200b46760c08262015f46565b519020918351948580927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9283156200b58f57608051936200b555575b508083036200b4b75760805180f35b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346578151927f7c84c69b0000000000000000000000000000000000000000000000000000000084526004840152602483015260805182604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200347057506200b538575b808062000907565b6080516200b5469162015f46565b6080516200034657806200b530565b9092506020813d6020116200b586575b816200b5746020938362015f46565b81010312620009e2575191836200b4a8565b3d91506200b565565b82513d608051823e3d90fd5b6200b5b491503d80608051833e62003494818362015f46565b866200b410565b83513d608051823e3d90fd5b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601d546200b6078162015ff6565b906200b617604051928362015f46565b80825260208201601d608051527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f608051915b8383106200b662576040518062001a5e878262015e81565b600260206001926040516200b6778162015f29565b73ffffffffffffffffffffffffffffffffffffffff86541681526200b69e8587016201612d565b838201528152019201920191906200b64a565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200c58e575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200c54a575b6200b7d8915062015f97565b908160320291603283040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff6021541691604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252836004830152602082602481845afa9182156200092a57608051926200c510575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481875afa9081156200092a57608051916200c4d8575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152856004820152602081602481885afa80156200092a578691608051916200c49a575b5062000683916200b98491620015bd8b620006838c6040519485938b602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209360225494604051907fe341eaa40000000000000000000000000000000000000000000000000000000082528660048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a576080519687938493906200c46c575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a578b888a938d93608051916200c425575b506200bab29291620006839160405195869460208601988b46948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818a5afa9182156200092a57608051926200c3e8575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200bb42816062810162000683565b519020604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a5760805191829182916200c3c0575b50863b1562000346578a958c956040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b6200bc909c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b0391608051905af180156200092a576200c3a3575b5073ffffffffffffffffffffffffffffffffffffffff6020541673ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff601f5460081c16926040517fdd62ed3e000000000000000000000000000000000000000000000000000000008152602081806200bd5488886004840190929173ffffffffffffffffffffffffffffffffffffffff60209181604085019616845216910152565b0381865afa80156200092a57608051906200c368575b6200bd76915062016a3a565b604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452806004850152602084602481885afa9384156200092a57608051946200c32e575b506200bdca8462016abc565b6040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a57608051916200c2f6575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff8085169282019290925290851660608201526080810188905261567860a082015260c081018490524660e082015261010081018690525f61012082018190526101408201526200be8181610160810162000683565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818a5afa9182156200092a57608051926200c2b9575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200bf11816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a576080519485938493906200c28b575b50604051917f70a082310000000000000000000000000000000000000000000000000000000083526004830152602082602481845afa9788156200092a578992608051996200c24b575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019290925260805160209183916044918391905af180156200092a576200c229575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff602154169473ffffffffffffffffffffffffffffffffffffffff6020541691843b15620003465789936200c12e92604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b0391608051905af180156200092a576200c20c575b5073ffffffffffffffffffffffffffffffffffffffff6020541690602073ffffffffffffffffffffffffffffffffffffffff602154166024604051809581937f70a0823100000000000000000000000000000000000000000000000000000000835260048301525afa9182156200092a57608051926200c1cf575b50620021409262003c16916201611f565b9091506020813d6020116200c203575b816200c1ee6020938362015f46565b81010312620009e2575190620021406200c1be565b3d91506200c1df565b6080516200c21a9162015f46565b6080516200034657826200c143565b6200c2459060203d602011620011865762001177818362015f46565b6200c031565b925097506020823d6020116200c282575b816200c26b6020938362015f46565b81010312620009e25790519688919060206200bfc7565b3d91506200c25c565b91955092506200c2ad915060603d606011620009a65762000993818362015f46565b9194909192896200bf7d565b9091506020813d6020116200c2ed575b816200c2d86020938362015f46565b81010312620009e25751906200bf116200bec6565b3d91506200c2c9565b90506020813d6020116200c325575b816200c3146020938362015f46565b81010312620009e25751876200be0b565b3d91506200c305565b9093506020813d6020116200c35f575b816200c34d6020938362015f46565b81010312620009e2575192866200bdbe565b3d91506200c33e565b506020813d6020116200c39a575b816200c3856020938362015f46565b81010312620009e2576200bd7690516200bd6a565b3d91506200c376565b6080516200c3b19162015f46565b6080516200034657826200bca5565b9150506200c3e0915060603d606011620009a65762000993818362015f46565b918c6200bba9565b9091506020813d6020116200c41c575b816200c4076020938362015f46565b81010312620009e25751906200bb426200baf7565b3d91506200c3f8565b9450505050506020813d6020116200c463575b816200c4476020938362015f46565b81010312620009e2575187908a908c9089906200bab26200ba3a565b3d91506200c438565b91975092506200c48e915060603d606011620009a65762000993818362015f46565b91969091928a6200b9f2565b9150506020813d6020116200c4cf575b816200c4b96020938362015f46565b81010312620009e257518590620006836200b900565b3d91506200c4aa565b90506020813d6020116200c507575b816200c4f66020938362015f46565b81010312620009e25751876200b8b7565b3d91506200c4e7565b9091506020813d6020116200c541575b816200c52f6020938362015f46565b81010312620009e2575190866200b875565b3d91506200c520565b506020813d6020116200c585575b816200c5676020938362015f46565b8101031262000346576200c57f6200b7d89162015f88565b6200b7cc565b3d91506200c558565b6080516200c59c9162015f46565b6080516200034657806200b772565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200cc3a575b506004602073ffffffffffffffffffffffffffffffffffffffff815416604051928380927f313ce5670000000000000000000000000000000000000000000000000000000082525afa80156200092a57608051906200cbf6575b6200c6d2915062015f97565b80600a0290600a82040362000a6457606442019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff60215416604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452816004850152602084602481845afa9384156200092a57608051946200cbbc575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a578591608051916200cb80575b50926020916200c82a600495620006836040519384928c8b8986019846938a92936101209473ffffffffffffffffffffffffffffffffffffffff5f979399989461014087019a87521660208601528660408601526060850152611234608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200cb43575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200c8b7816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5760805192839283916200cb18575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fc1ab6dc10000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200cafb575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff6021541696863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a015260805160248a015260448901526112346064890152608488015260a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200cb099162015f46565b6080516200034657866200c9b7565b919350506200cb39915060603d606011620009a65762000993818362015f46565b929091866200c922565b9091506020813d6020116200cb77575b816200cb626020938362015f46565b81010312620009e25751906200c8b76200c86c565b3d91506200cb53565b9150506020813d6020116200cbb3575b816200cb9f6020938362015f46565b81010312620009e25751849060206200c7af565b3d91506200cb90565b9093506020813d6020116200cbed575b816200cbdb6020938362015f46565b81010312620009e2575192856200c76c565b3d91506200cbcc565b506020813d6020116200cc31575b816200cc136020938362015f46565b8101031262000346576200cc2b6200c6d29162015f88565b6200c6c6565b3d91506200cc04565b6080516200cc489162015f46565b6080516200034657806200c66c565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576020602254604051908152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601a546200ccd68162015ff6565b906200cce6604051928362015f46565b80825260208201601a60805152602060805120608051915b8383106200cd16576040518062001a5e878262015e00565b6001602081926200cd27856201600f565b8152019201920191906200ccfe565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200d633575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200d5ef575b6200ce5d915062015f97565b908160320291603283040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541690604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252826004830152602082602481845afa9182156200092a57608051926200d5b5575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481885afa9081156200092a57608051916200d57d575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152846004820152602081602481895afa80156200092a578591608051916200d53f575b5062000683916200d00891620015bd8b620006838c6040519485938b602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902060225493604051917fe341eaa40000000000000000000000000000000000000000000000000000000083528560048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a576080519687948594906200d50f575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a578b928b8992608051926200d4c8575b509262000683602095936200d13c93600499966040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff610120969299989481619999999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e08201525f6101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200d48b575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200d1c9816062810162000683565b519020604051947fe341eaa400000000000000000000000000000000000000000000000000000000865260048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519586958695916200d45b575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4db7e8510000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200d43e575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169773ffffffffffffffffffffffffffffffffffffffff602154169973ffffffffffffffffffffffffffffffffffffffff602054168a3b1562000346576040519b7f358a8f48000000000000000000000000000000000000000000000000000000008d526080515060048d015260248c01528060448c015260648b015260848a01615678905260a48a015260c489015260805160e48901526101048801619999905260ff1661012488015261014487015261016486015260ff166101848501526101a48401526101c48301528160805191816080515a926101e493f180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200d44c9162015f46565b6080516200034657896200d2c6565b91945095506200d47e91945060603d606011620009a65762000993818362015f46565b949193909495896200d231565b9091506020813d6020116200d4bf575b816200d4aa6020938362015f46565b81010312620009e25751906200d1c96200d17e565b3d91506200d49b565b9450505050926020823d6020116200d506575b816200d4ea6020938362015f46565b81010312620009e257905190928a9187908b620006836200d0bd565b3d91506200d4db565b91975093506200d53291925060603d606011620009a65762000993818362015f46565b9291969092938a6200d075565b9150506020813d6020116200d574575b816200d55e6020938362015f46565b81010312620009e257518490620006836200cf84565b3d91506200d54f565b90506020813d6020116200d5ac575b816200d59b6020938362015f46565b81010312620009e25751876200cf3b565b3d91506200d58c565b9091506020813d6020116200d5e6575b816200d5d46020938362015f46565b81010312620009e2575190866200cef9565b3d91506200d5c5565b506020813d6020116200d62a575b816200d60c6020938362015f46565b8101031262000346576200d6246200ce5d9162015f88565b6200ce51565b3d91506200d5fd565b6080516200d6419162015f46565b6080516200034657806200cdf7565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200dd8a575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200dd46575b6200d777915062015f97565b908160320291603283040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a57608051966200dd0c575b506200d81e8662016a3a565b6040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a578791608051916200dcce575b506200d8d8906200068360405193849289888c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200dc91575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200d968816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519360805192608051976200dc56575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a576200dc34575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200db3f92604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b0391608051905af180156200092a576200dc17575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16602073ffffffffffffffffffffffffffffffffffffffff602154166024604051809481937f7ecebe0000000000000000000000000000000000000000000000000000000000835260048301525afa80156200092a57608051906200dbdc575b62002140915062016abc565b506020813d6020116200dc0e575b816200dbf96020938362015f46565b81010312620009e2576200214090516200dbd0565b3d91506200dbea565b6080516200dc259162015f46565b6080516200034657806200db54565b6200dc509060203d602011620011865762001177818362015f46565b6200da44565b60209197506200da2f9295508493506200dc819060603d606011620009a65762000993818362015f46565b949196909498925092506200d9d7565b9091506020813d6020116200dcc5575b816200dcb06020938362015f46565b81010312620009e25751906200d9686200d91d565b3d91506200dca1565b9150506020813d6020116200dd03575b816200dced6020938362015f46565b81010312620009e2575186906200d8d86200d860565b3d91506200dcde565b9095506020813d6020116200dd3d575b816200dd2b6020938362015f46565b81010312620009e2575194866200d812565b3d91506200dd1c565b506020813d6020116200dd81575b816200dd636020938362015f46565b8101031262000346576200dd7b6200d7779162015f88565b6200d76b565b3d91506200dd54565b6080516200dd989162015f46565b6080516200034657806200d711565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657604051610c158082019082821067ffffffffffffffff831117620023f757602091839162019245833964e8d4a510008152030190608051f080156200092a5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff60215416813b156200034657604051907fa9059cbb0000000000000000000000000000000000000000000000000000000082526004820152633b9aca00602482015260805181604481608051865af180156200092a576200e495575b5073ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200e478575b50610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff6021541690604051917f7ecebe00000000000000000000000000000000000000000000000000000000008352806004840152602083602481885afa9283156200092a57608051936200e43e575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481895afa80156200092a578491608051916200e400575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff9485169181019190915292861660608401526302faf080608084015261567860a084015260c083018490524660e08401526101008301919091525f6101208301819052610140830152906200e07b81610160810162000683565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481895afa9182156200092a57608051926200e3c3575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200e10b816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a576080519586958694906200e393575b50604051907f095ea7b30000000000000000000000000000000000000000000000000000000082526080515060048201526302faf07f6024820152602081604481608051865af180156200092a576200e371575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e73756666696369656e7420616c6c6f77616e63650000000000000000000060448201526080518160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200e354575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff6021541695843b1562000346576200494191604051988997889687967f3525916f0000000000000000000000000000000000000000000000000000000088526080519b600489019361014095919897969373ffffffffffffffffffffffffffffffffffffffff60ff948161016089019c1688521660208701526302faf08060408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b6080516200e3629162015f46565b6080516200034657866200e26f565b6200e38d9060203d602011620011865762001177818362015f46565b6200e1cc565b91965094506200e3b691925060603d606011620009a65762000993818362015f46565b929195909294876200e178565b9091506020813d6020116200e3f7575b816200e3e26020938362015f46565b81010312620009e25751906200e10b6200e0c0565b3d91506200e3d3565b9150506020813d6020116200e435575b816200e41f6020938362015f46565b81010312620009e2575183906200e07b6200e000565b3d91506200e410565b9092506020813d6020116200e46f575b816200e45d6020938362015f46565b81010312620009e2575191856200dfbd565b3d91506200e44e565b6080516200e4869162015f46565b6080516200034657816200df2f565b6080516200e4a39162015f46565b6080516200034657816200de9f565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200eaeb575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200eaa7575b6200e5d9915062015f97565b908160320291603283040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a57608051966200ea6d575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a578791608051916200ea2f575b506200e72f906200068360405193849289888c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a57608051926200e9f2575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200e7bf816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a576080519360805192608051976200e9b7575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a576200e995575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b6200e9b19060203d602011620011865762001177818362015f46565b62008fd7565b60209197506200e8869295508493506200e9e29060603d606011620009a65762000993818362015f46565b949196909498925092506200e82e565b9091506020813d6020116200ea26575b816200ea116020938362015f46565b81010312620009e25751906200e7bf6200e774565b3d91506200ea02565b9150506020813d6020116200ea64575b816200ea4e6020938362015f46565b81010312620009e2575186906200e72f6200e6b7565b3d91506200ea3f565b9095506020813d6020116200ea9e575b816200ea8c6020938362015f46565b81010312620009e2575194866200e674565b3d91506200ea7d565b506020813d6020116200eae2575b816200eac46020938362015f46565b8101031262000346576200eadc6200e5d99162015f88565b6200e5cd565b3d91506200eab5565b6080516200eaf99162015f46565b6080516200034657806200e573565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200f49d575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906200f459575b6200ec2f915062015f97565b908160320291603283040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff6021541690604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452826004850152602084602481895afa9384156200092a57608051946200f41f575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481895afa9081156200092a57608051916200f3e7575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528460048201526020816024818a5afa9081156200092a57888587938693608051916200f3a0575b50620006839492620006836200ede09593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209460225490604051967fe341eaa40000000000000000000000000000000000000000000000000000000088528260048901526024880152606087604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5760805198899889946200f370575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481855afa9081156200092a5788918a91608051916200f32f575b506200ef0b90620006836040519384928c8c8b602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a57608051926200f2f2575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200ef9b816062810162000683565b519020604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a576080519788948594906200f2c2575b50823b1562000346576040517f358a8f480000000000000000000000000000000000000000000000000000000081526080805173ffffffffffffffffffffffffffffffffffffffff93841660048401529390921660248201526044810188905260648101889052615678608482015260a4810189905260c481018b90525f60e4820181905261010482015260ff8d811661012483015261014482018d905261016482018890528a166101848201526101a481018590526101c481018690529051909283916101e4918391905af180156200092a576200f2a5575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f756688fe0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b6080516200f2b39162015f46565b6080516200034657896200f0dd565b91985093506200f2e591925060603d606011620009a65762000993818362015f46565b9291979092938c6200f003565b9091506020813d6020116200f326575b816200f3116020938362015f46565b81010312620009e25751906200ef9b6200ef50565b3d91506200f302565b925050506020813d6020116200f367575b816200f34f6020938362015f46565b81010312620009e257886200ef0b899251906200ee93565b3d91506200f340565b91995092506200f39391975060603d606011620009a65762000993818362015f46565b9791989097928a6200ee4d565b9450505050506020813d6020116200f3de575b816200f3c26020938362015f46565b81010312620009e257518490839089908690620006836200ed5c565b3d91506200f3b3565b90506020813d6020116200f416575b816200f4056020938362015f46565b81010312620009e25751876200ed0e565b3d91506200f3f6565b9093506020813d6020116200f450575b816200f43e6020938362015f46565b81010312620009e2575192866200eccc565b3d91506200f42f565b506020813d6020116200f494575b816200f4766020938362015f46565b8101031262000346576200f48e6200ec2f9162015f88565b6200ec23565b3d91506200f467565b6080516200f4ab9162015f46565b6080516200034657806200ebc9565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200faae575b506064420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff60215416604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452816004850152602084602481845afa9384156200092a57608051946200fa74575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a578491608051916200fa38575b50602080546040805180840194855273ffffffffffffffffffffffffffffffffffffffff97881691810191909152951660608601525f6080860181905261123460a087015260c08601939093524660e0860152610100850187905261012085018390526101408501929092526004936200f6c881610160810162000683565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a57608051926200f9fb575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526200f755816062810162000683565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a576080519283928392906200f9d1575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f2c5211c60000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200f9b4575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169373ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a0152602489015260805160448901526112346064890152608488015260a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6080516200f9c29162015f46565b6080516200034657856200f856565b915092506200f9f2915060603d606011620009a65762000993818362015f46565b9192856200f7c1565b9091506020813d6020116200fa2f575b816200fa1a6020938362015f46565b81010312620009e25751906200f7556200f70a565b3d91506200fa0b565b9150506020813d6020116200fa6b575b816200fa576020938362015f46565b81010312620009e25751839060206200f649565b3d91506200fa48565b9093506020813d6020116200faa5575b816200fa936020938362015f46565b81010312620009e2575192846200f606565b3d91506200fa84565b6080516200fabc9162015f46565b6080516200034657806200f57b565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200fe61575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541691604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452806004850152602084602481865afa9384156200092a57608051946200fe22575b5083826200fc269262016879565b92909193602073ffffffffffffffffffffffffffffffffffffffff815416916044604051809481937f095ea7b30000000000000000000000000000000000000000000000000000000083526080515060048301526802fb474098f67c00006024830152608051905af180156200092a576200fe00575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169373ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a015260248901526802b5e3af16b188000060448901526156786064890152608488015260a4870152674563918244f4000060c487015261999960e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620031c957506024602073ffffffffffffffffffffffffffffffffffffffff815416604051928380927f70a0823100000000000000000000000000000000000000000000000000000000825261999960048301525afa80156200092a57608051906200318e57620021409150620169a6565b6200fe1c9060203d602011620011865762001177818362015f46565b6200fc9c565b909193506020813d6020116200fe58575b816200fe426020938362015f46565b81010312620009e2575192906200fc266200fc18565b3d91506200fe33565b6080516200fe6f9162015f46565b6080516200034657806200fb8c565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601b546200febe8162015ff6565b906200fece604051928362015f46565b808252602082019081601b608051527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1608051915b8383106200ffb557848660405191829160208301906020845251809152604083019060408160051b8501019291608051905b8282106200ff4557505050500390f35b919360206200ffa4827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc06001959799849503018652885190836200ff93835160408452604084019062015d66565b920151908481840391015262015da9565b96019201920185949391926200ff35565b600260206001926040516200ffca8162015f29565b6200ffd5866201600f565b81526200ffe48587016201612d565b838201528152019201920191906200ff03565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620109a3575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a57608051906201095f575b6201011e915062015f97565b908160320291603283040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169173ffffffffffffffffffffffffffffffffffffffff60215416906040517f7ecebe00000000000000000000000000000000000000000000000000000000008152826004820152602081602481885afa9081156200092a576080519162010927575b506040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481865afa9081156200092a5760805191620108ef575b506040517f7ecebe00000000000000000000000000000000000000000000000000000000008152846004820152602081602481875afa9081156200092a5787898793899360805191620108a8575b5062000683949262000683620102ce9593620015bd93604051958694602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902060225496604051917fe341eaa40000000000000000000000000000000000000000000000000000000083528860048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a576080519586938492906201087b575b506040517ff39610400000000000000000000000000000000000000000000000000000000081526020816004818d5afa9081156200092a5784878b938a936080519162010834575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff8089169282019290925294166060850152608084019490945261567860a084015260c08301919091524660e08301526101008201525f610120820181905261014082015260049190620103fc81610160810162000683565b51902060208b604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a5760805192620107f7575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526201048b816062810162000683565b5190206040519a7fe341eaa4000000000000000000000000000000000000000000000000000000008c5260048c015260248b015260608a604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9586156200092a57608051996080519b60805198620107c7575b50813b156200034657604051927fd505accf0000000000000000000000000000000000000000000000000000000084526004840152602483015288604483015283606483015260ff881660848301528260a48301528460c48301528160e48160805193608051905af180156200092a57620107aa575b5073ffffffffffffffffffffffffffffffffffffffff602054169473ffffffffffffffffffffffffffffffffffffffff60215416906040519a7f70a08231000000000000000000000000000000000000000000000000000000008c528260048d015260208c6024818b5afa9b8c156200092a576080519c62010770575b506040519a7f70a08231000000000000000000000000000000000000000000000000000000008c5261567860048d015260208c6024818c5afa9b8c156200092a576080519c62010736575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1696873b1562000346578b956040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b62003b1c9c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b909b506020813d60201162010767575b81620107556020938362015f46565b81010312620009e257519a8d62010634565b3d915062010746565b909b506020813d602011620107a1575b816201078f6020938362015f46565b81010312620009e257519a8c620105e9565b3d915062010780565b608051620107b89162015f46565b6080516200034657896201056c565b919a509650620107ea919a5060603d606011620009a65762000993818362015f46565b9a9199909a968c620104f6565b9091506020813d6020116201082b575b81620108166020938362015f46565b81010312620009e25751906201048b62010440565b3d915062010807565b9450505050506020813d60201162010872575b81620108566020938362015f46565b81010312620009e2575188908790859088906200068362010383565b3d915062010847565b915092506201089d91955060603d606011620009a65762000993818362015f46565b919591928a6201033b565b9450505050506020813d602011620108e6575b81620108ca6020938362015f46565b81010312620009e257518490869088908a90620006836201024a565b3d9150620108bb565b90506020813d6020116201091e575b816201090d6020938362015f46565b81010312620009e2575187620101fc565b3d9150620108fe565b90506020813d60201162010956575b81620109456020938362015f46565b81010312620009e2575186620101ba565b3d915062010936565b506020813d6020116201099a575b816201097c6020938362015f46565b810103126200034657620109946201011e9162015f88565b62010112565b3d91506201096d565b608051620109b19162015f46565b608051620003465780620100b8565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657604051610c158082019082821067ffffffffffffffff831117620023f757602091839162019245833964e8d4a510008152030190608051f080156200092a5773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff60215416813b156200034657604051907fa9059cbb0000000000000000000000000000000000000000000000000000000082526004820152633b9aca00602482015260805181604481608051865af180156200092a576201137a575b5073ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576201135d575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c169073ffffffffffffffffffffffffffffffffffffffff60215416604051907f7ecebe00000000000000000000000000000000000000000000000000000000008252806004830152602082602481875afa9182156200092a576080519262011323575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481885afa9182156200092a5760805192620112e9575b5060405190602082019260805150835260408201528560608201526302faf080608082015261567860a08201528360c08201524660e082015282610100820152624c4b40610120820152619999610140820152610140815262010c7d6101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481885afa9182156200092a5760805192620112ac575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262010d0d816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a5760805194859384936201127f575b50604051907f095ea7b30000000000000000000000000000000000000000000000000000000082526080515060048201526303473bc060248201526020816044816080518b5af180156200092a576201125d575b5073ffffffffffffffffffffffffffffffffffffffff6021541691604051937f70a082310000000000000000000000000000000000000000000000000000000085528360048601526020856024818b5afa9485156200092a576080519562011223575b50604051957f70a0823100000000000000000000000000000000000000000000000000000000875261567860048801526020876024818c5afa9687156200092a5760805197620111e9575b50604051977f70a0823100000000000000000000000000000000000000000000000000000000895261999960048a01526020896024818d5afa9889156200092a5760805199620111af575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1694853b15620003465760ff92604051977f3525916f0000000000000000000000000000000000000000000000000000000089526080515060048901528b60248901526302faf08060448901526156786064890152608488015260a4870152624c4b4060c487015261999960e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a5762011192575b5073ffffffffffffffffffffffffffffffffffffffff6021541690604051917f70a082310000000000000000000000000000000000000000000000000000000083526004830152602082602481885afa9182156200092a576080519262011158575b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcb8c440810190811162000a64576201101a9162016b42565b604051927f70a082310000000000000000000000000000000000000000000000000000000084526156786004850152602084602481845afa9384156200092a57608051946201111e575b506302faf080820180921162000a64576201108460209260249562016b42565b604051938480927f70a0823100000000000000000000000000000000000000000000000000000000825261999960048301525afa9182156200092a5760805192620110e4575b50624c4b40810180911162000a6457620021409162016b42565b9091506020813d60201162011115575b81620111036020938362015f46565b81010312620009e257519082620110ca565b3d9150620110f4565b9093506020813d6020116201114f575b816201113d6020938362015f46565b81010312620009e25751928462011064565b3d91506201112e565b9091506020813d60201162011189575b81620111776020938362015f46565b81010312620009e25751908562010fe3565b3d915062011168565b608051620111a09162015f46565b60805162000346578462010f81565b9098506020813d602011620111e0575b81620111ce6020938362015f46565b81010312620009e25751978a62010ec6565b3d9150620111bf565b9096506020813d6020116201121a575b81620112086020938362015f46565b81010312620009e25751958962010e7b565b3d9150620111f9565b9094506020813d60201162011254575b81620112426020938362015f46565b81010312620009e25751938862010e30565b3d915062011233565b620112799060203d602011620011865762001177818362015f46565b62010dcd565b9195509250620112a1915060603d606011620009a65762000993818362015f46565b919490928762010d79565b9091506020813d602011620112e0575b81620112cb6020938362015f46565b81010312620009e257519062010d0d62010cc2565b3d9150620112bc565b9091506020813d6020116201131a575b81620113086020938362015f46565b81010312620009e25751908662010c17565b3d9150620112f9565b9091506020813d60201162011354575b81620113426020938362015f46565b81010312620009e25751908562010bd4565b3d915062011333565b6080516201136b9162015f46565b60805162000346578162010b48565b608051620113889162015f46565b60805162000346578162010ab8565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927ff39610400000000000000000000000000000000000000000000000000000000082525afa9081156200092a5760805191620114fd575b507f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98103620114565760805180f35b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f7c84c69b00000000000000000000000000000000000000000000000000000000825260048201527f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c9602482015260805181604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a571562000907576080516200091b9162015f46565b90506020813d6020116201152c575b816201151b6020938362015f46565b81010312620009e257518162011427565b3d91506201150c565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762011d7e575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062011d3a575b6201165c915062015f97565b8060320290603282040362000a6457610e1042019081421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541692604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452846004850152602084602481865afa9384156200092a576080519462011d00575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a576080519162011cc8575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528660048201526020816024818b5afa9081156200092a57879185916080519162011c87575b50916201180991620015bd6200068394620006836040519384928a8d602086019889919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902094604051957fe341eaa400000000000000000000000000000000000000000000000000000000875264098765432160048801526024870152606086604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a57608051978897889662011c57575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a57859289916080519162011c14575b506004959262000683602095936201193b938b6040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262011bd7575b506040517f19010000000000000000000000000000000000000000000000000000000000006020820190815260228201939093526042810191909152620119c8816062810162000683565b51902092604051937fe341eaa400000000000000000000000000000000000000000000000000000000855264098765432160048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156200092a57608051948591829190620075125750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620049c9575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169573ffffffffffffffffffffffffffffffffffffffff602154169373ffffffffffffffffffffffffffffffffffffffff6020541699883b1562000346576040519b8c9a8b998a997f358a8f48000000000000000000000000000000000000000000000000000000008b52806080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b9091506020813d60201162011c0b575b8162011bf66020938362015f46565b81010312620009e2575190620119c86201197d565b3d915062011be7565b93505050926020823d60201162011c4e575b8162011c356020938362015f46565b81010312620009e25790519092849188906004620118be565b3d915062011c26565b919850945062011c7a91965060603d606011620009a65762000993818362015f46565b9691979096948962011877565b925050506020813d60201162011cbf575b8162011ca76020938362015f46565b81010312620009e25751869084906201180962011785565b3d915062011c98565b90506020813d60201162011cf7575b8162011ce66020938362015f46565b81010312620009e257518762011739565b3d915062011cd7565b9093506020813d60201162011d31575b8162011d1f6020938362015f46565b81010312620009e257519286620116f7565b3d915062011d10565b506020813d60201162011d75575b8162011d576020938362015f46565b81010312620003465762011d6f6201165c9162015f88565b62011650565b3d915062011d48565b60805162011d8c9162015f46565b608051620003465780620115f6565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657602073ffffffffffffffffffffffffffffffffffffffff60215416604051908152f35b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576040518060206017549182815201906017608051527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15906080515b81811062011e785762001a5e8562001a518187038262015f46565b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920162011e5d565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576040518060206018549182815201906018608051527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e906080515b81811062011f2d5762001a5e8562001a518187038262015f46565b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920162011f12565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620125a3575b50610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c166024602073ffffffffffffffffffffffffffffffffffffffff6021541692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528660048301525afa9081156200092a57608051916201256b575b50602080546040517f3644e5150000000000000000000000000000000000000000000000000000000081529173ffffffffffffffffffffffffffffffffffffffff9091169082600481845afa9182156200092a576080519262012531575b506024602073ffffffffffffffffffffffffffffffffffffffff601f5460081c1692604051928380927f7ecebe000000000000000000000000000000000000000000000000000000000082528960048301525afa80156200092a57869160805191620124f3575b5091620121f991620015bd620006839462000683604051938492680340aad21b3b6fffff60208501978d89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b51902060225490604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9182156200092a5784608051946080519360805195620124bc575b5062012277918391620165e9565b949093737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f7719991e0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576201249f575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169673ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff6020541695893b15620003465760049a60ff9788946040519d8e7f358a8f4800000000000000000000000000000000000000000000000000000000815260805150015260248d01526802b5e3af16b188000060448d0152680340aad21b3b6fffff60648d015261567860848d015260a48c015260c48b0152678ac7230489e8000060e48b01526199996101048b015216610124890152610144880152610164870152166101848501526101a48401526101c4830152816101e48160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b608051620124ad9162015f46565b6080516200034657886201230e565b62012277929650620124e491955083945060603d606011620009a65762000993818362015f46565b94919690949591509162012269565b9150506020813d60201162012528575b81620125126020938362015f46565b81010312620009e257518590620121f96201216c565b3d915062012503565b9091506020813d60201162012562575b81620125506020938362015f46565b81010312620009e25751908562012105565b3d915062012541565b90506020813d6020116201259a575b81620125896020938362015f46565b81010312620009e2575183620120a7565b3d91506201257a565b608051620125b19162015f46565b6080516200034657806201201b565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762012c6e575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062012c2a575b620126e7915062015f97565b8060320290603282040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c16916040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa9081156200092a576080519162012bf2575b5073ffffffffffffffffffffffffffffffffffffffff60215416604051906020820192608051508352604082015283606082015282608082015261567860a08201528560c08201524660e08201526103e76101008201526080516101208201526080516101408201526101408152620127de6101608262015f46565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481885afa9182156200092a576080519262012bb5575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526201286e816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9283156200092a5760805194859485949062012b7a575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018390529060209082908180604481015b0391608051905af180156200092a5762012b58575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f756688fe0000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762012b3b575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169373ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692863b15620003465760ff93604051987f3525916f000000000000000000000000000000000000000000000000000000008a526080515060048a015260248901526044880152615678606488015260848701526103e760a487015260805160c487015260805160e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b60805162012b499162015f46565b608051620003465785620129dd565b62012b749060203d602011620011865762001177818362015f46565b62012948565b62012933929650602091955083945062012ba59060603d606011620009a65762000993818362015f46565b95919790959692509250620128db565b9091506020813d60201162012be9575b8162012bd46020938362015f46565b81010312620009e25751906201286e62012823565b3d915062012bc5565b90506020813d60201162012c21575b8162012c106020938362015f46565b81010312620009e257518562012762565b3d915062012c01565b506020813d60201162012c65575b8162012c476020938362015f46565b81010312620003465762012c5f620126e79162015f88565b620126db565b3d915062012c38565b60805162012c7c9162015f46565b60805162000346578062012681565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762013543575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a5760805190620134ff575b62012db2915062015f97565b908160320291603283040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff60215416604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652816004870152602086602481865afa9586156200092a5760805196620134c5575b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019181831162000a64576040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a57608051916201348d575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528260048201526020816024818b5afa9081156200092a5786918891608051916201344c575b509162012f8a91620015bd6200068394620006836040519384928c60208501978c89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209060225490604051927fe341eaa40000000000000000000000000000000000000000000000000000000084528260048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9586156200092a576080519889978895906201341c575b50604051907ff3961040000000000000000000000000000000000000000000000000000000008252602082600481865afa9182156200092a5787928b8e9260805192620133d5575b50926200068360209593620130bd93600499966040519687958a87019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a576080519262013398575b506040517f190100000000000000000000000000000000000000000000000000000000000060208201908152602282019390935260428101919091526201314a816062810162000683565b519020604051917fe341eaa400000000000000000000000000000000000000000000000000000000835260048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156200092a57608051918291829162013370575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517ff48448140000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762013353575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169673ffffffffffffffffffffffffffffffffffffffff602154169473ffffffffffffffffffffffffffffffffffffffff602054169a893b1562000346576040519c8d9b8c9a8b9a7f358a8f48000000000000000000000000000000000000000000000000000000008c526080519f60048d019b620049419c99979593919c9b9a98969492909c6101e08b019d73ffffffffffffffffffffffffffffffffffffffff168b5273ffffffffffffffffffffffffffffffffffffffff1660208b015260408a0152606089015260808801615678905260a088015260c087015260e086015f905261010086015f905260ff1661012086015261014085015261016084015260ff166101808301526101a08201526101c00152565b608051620133619162015f46565b60805162000346578a62013220565b91505062013390915060603d606011620009a65762000993818362015f46565b918a620131b1565b9091506020813d602011620133cc575b81620133b76020938362015f46565b81010312620009e25751906201314a620130ff565b3d9150620133a8565b9450505050926020823d60201162013413575b81620133f76020938362015f46565b81010312620009e2579051909286918c908b6200068362013040565b3d9150620133e8565b91995096506201343f91935060603d606011620009a65762000993818362015f46565b9391989093968b62012ff8565b925050506020813d60201162013484575b816201346c6020938362015f46565b81010312620009e257518590879062012f8a62012f06565b3d91506201345d565b90506020813d602011620134bc575b81620134ab6020938362015f46565b81010312620009e257518862012eba565b3d91506201349c565b9095506020813d602011620134f6575b81620134e46020938362015f46565b81010312620009e25751948662012e4c565b3d9150620134d5565b506020813d6020116201353a575b816201351c6020938362015f46565b8101031262000346576201353462012db29162015f88565b62012da6565b3d91506201350d565b608051620135519162015f46565b60805162000346578062012d4c565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126200034657601e54620135a08162015ff6565b90620135b0604051928362015f46565b808252602082019081601e608051527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350608051915b8383106201370d57848660405191829160208301906020845251809152604083019060408160051b8501019291608051905b8282106201362757505050500390f35b91939092947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09082030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401926080515b828110620136c1575050505050602080600192960192019201859493919262013617565b9091929394602080620136ff837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08760019603018952895162015d66565b97019501939291016201369d565b6040516201371b8162015f29565b825473ffffffffffffffffffffffffffffffffffffffff168152600183018054620137468162015ff6565b9162013756604051938462015f46565b81835260208301906080515260206080512090608051905b83821062013796575050505060019282602092836002950152815201920192019190620135e5565b600160208192620137a7866201600f565b8152019301910190916201376e565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762013e86575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062013e42575b620138dd915062015f97565b908160320291603283040362000a6457610e10420180421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541693604051947f7ecebe00000000000000000000000000000000000000000000000000000000008652806004870152602086602481865afa9586156200092a576080519662013e08575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a5787916080519162013dca575b5062013a33906200068360405193849289888c602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262013d8d575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262013ac3816062810162000683565b519020604051907fe341eaa400000000000000000000000000000000000000000000000000000000825264098765432160048301526024820152606081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a5760805193608051926080519762013d52575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a5762013d30575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527febe052290000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a57620090d2575073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169573ffffffffffffffffffffffffffffffffffffffff6020541692853b1562000346576200494192604051998a98899788977f3525916f0000000000000000000000000000000000000000000000000000000089526080519c60048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b62013d4c9060203d602011620011865762001177818362015f46565b62013ba1565b602091975062013b8c92955084935062013d7d9060603d606011620009a65762000993818362015f46565b9491969094989250925062013b34565b9091506020813d60201162013dc1575b8162013dac6020938362015f46565b81010312620009e257519062013ac362013a78565b3d915062013d9d565b9150506020813d60201162013dff575b8162013de96020938362015f46565b81010312620009e25751869062013a33620139bb565b3d915062013dda565b9095506020813d60201162013e39575b8162013e276020938362015f46565b81010312620009e25751948662013978565b3d915062013e18565b506020813d60201162013e7d575b8162013e5f6020938362015f46565b81010312620003465762013e77620138dd9162015f88565b620138d1565b3d915062013e50565b60805162013e949162015f46565b60805162000346578062013877565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620003465773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156200034657604051907f06447d56000000000000000000000000000000000000000000000000000000008252600482015260805181602481608051737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762014899575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062014855575b62013fca915062015f97565b908160320291603283040362000a64576040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062014811575b62014026915062015f97565b90600582810204820362000a645762014043826005028462015fc3565b92610e1042019384421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff60215416604051927f7ecebe00000000000000000000000000000000000000000000000000000000008452816004850152602084602481865afa9384156200092a5760805194620147d7575b506040517f3644e5150000000000000000000000000000000000000000000000000000000081526020816004818a5afa9081156200092a57608051916201479f575b506040517f7ecebe000000000000000000000000000000000000000000000000000000000081528360048201526020816024818b5afa9081156200092a576080519162014764575b50620141dd620006839162000683620015bd8d60405192839160208301958a8d8d89919273ffffffffffffffffffffffffffffffffffffffff60a09497969592978160c08601997f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98752166020860152166040840152606083015260808201520152565b5190209160225496604051937fe341eaa40000000000000000000000000000000000000000000000000000000085528860048601526024850152606084604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9485156200092a5760805195869586949162014734575b50604051927ff3961040000000000000000000000000000000000000000000000000000000008452602084600481865afa9182156200092a57898b938f8f9760805192620146ed575b5060408051602081810194855273ffffffffffffffffffffffffffffffffffffffff96871692820192909252949095166060850152608084019590955261567860a084015260c08301949094524660e083015261010082015260059094026101208501525f6101408501526004939091906201431581610160810162000683565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa9182156200092a5760805192620146b0575b506040517f19010000000000000000000000000000000000000000000000000000000000006020820190815260228201939093526042810191909152620143a2816062810162000683565b519020604051977fe341eaa400000000000000000000000000000000000000000000000000000000895260048901526024880152606087604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9788156200092a5760805198899889979162014680575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4db7e8510000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762014663575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169a73ffffffffffffffffffffffffffffffffffffffff602154169473ffffffffffffffffffffffffffffffffffffffff60205416998d3b15620003465760ff9a8b9760405160e0527f358a8f480000000000000000000000000000000000000000000000000000000060e05152608051506101e460e0515050600460e0510152602460e0510152604460e0510152606460e0510152615678608460e051015260a460e051015260c460e051015260050260e460e051015260805161010460e05101521661012460e051015261014460e051015261016460e05101521661018460e05101526101a460e05101526101c460e0510152608051906101e460e0519160e05190608051905af180156200092a576201464457737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b6201465460805160e05162015f46565b60805115620021405760805180fd5b608051620146719162015f46565b60805162000346578b6201449f565b9196509850620146a391975060603d606011620009a65762000993818362015f46565b9791959097988b6201440a565b9091506020813d602011620146e4575b81620146cf6020938362015f46565b81010312620009e2575190620143a262014357565b3d9150620146c0565b955050505093506020823d6020116201472b575b81620147106020938362015f46565b81010312620009e25790518b938a92918a908f602062014294565b3d915062014701565b91935095506201475791945060603d606011620009a65762000993818362015f46565b9491929094958c6201424b565b90506020813d60201162014796575b81620147826020938362015f46565b81010312620009e25751620141dd62014159565b3d915062014773565b90506020813d602011620147ce575b81620147bd6020938362015f46565b81010312620009e257518962014111565b3d9150620147ae565b9093506020813d60201162014808575b81620147f66020938362015f46565b81010312620009e257519288620140cf565b3d9150620147e7565b506020813d6020116201484c575b816201482e6020938362015f46565b81010312620003465762014846620140269162015f88565b6201401a565b3d91506201481f565b506020813d60201162014890575b81620148726020938362015f46565b8101031262000346576201488a62013fca9162015f88565b62013fbe565b3d915062014863565b608051620148a79162015f46565b60805162000346578062013f64565b3462000346576080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011262000346576040518060206016549182815201906016608051527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289906080515b8181106201493e5762001a5e8562001a518187038262015f46565b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920162014923565b62015394565b34620009e2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620009e25773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f06447d5600000000000000000000000000000000000000000000000000000000825260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015620150cc57620150b5575b5073ffffffffffffffffffffffffffffffffffffffff602054166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481855afa80156200092a576080519062015071575b62014a92915062015f97565b8060320290603282040362000a6457610e1042019182421162000a645773ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541692604051937f7ecebe00000000000000000000000000000000000000000000000000000000008552806004860152602085602481865afa9485156200092a576080519562015037575b506040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa80156200092a5786916080519162014ff9575b50604080516020810192835273ffffffffffffffffffffffffffffffffffffffff9485169181019190915292861660608401526080830184905261567860a084015260c083018890524660e08401526101008301919091525f6101208301526199996101408301529062014be981610160810162000683565b519020604051907f3644e515000000000000000000000000000000000000000000000000000000008252602082600481875afa9182156200092a576080519262014fbc575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262014c79816062810162000683565b5190209160225492604051937fe341eaa400000000000000000000000000000000000000000000000000000000855260048501526024840152606083604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9384156200092a5760805194859485939162014f82575b506040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018490529060209082908180604481015b0391608051905af180156200092a5762014f60575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4db7e8510000000000000000000000000000000000000000000000000000000060048201526080518160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a5762014f43575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff602154169673ffffffffffffffffffffffffffffffffffffffff6020541693873b15620003465760ff94604051997f3525916f000000000000000000000000000000000000000000000000000000008b526080515060048b015260248a015260448901526156786064890152608488015260a487015260805160c487015261999960e487015216610104850152610124840152610144830152816101648160805193608051905af180156200092a57620009375750737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562000346576040517f90c5013b0000000000000000000000000000000000000000000000000000000081526080518160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156200092a576200090d5760805180f35b60805162014f519162015f46565b60805162000346578662014de8565b62014f7c9060203d602011620011865762001177818362015f46565b62014d53565b602091965084955062014d3e92935062014fad9060603d606011620009a65762000993818362015f46565b97909691949350915062014ce6565b9091506020813d60201162014ff0575b8162014fdb6020938362015f46565b81010312620009e257519062014c7962014c2e565b3d915062014fcc565b9150506020813d6020116201502e575b81620150186020938362015f46565b81010312620009e25751859062014be962014b70565b3d915062015009565b9094506020813d60201162015068575b81620150566020938362015f46565b81010312620009e25751938662014b2d565b3d915062015047565b506020813d602011620150ac575b816201508e6020938362015f46565b810103126200034657620150a662014a929162015f88565b62014a86565b3d91506201507f565b5f620150c19162015f46565b5f6080528062014a2c565b6040513d5f823e3d90fd5b34620009e2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620009e257610e2980820182811067ffffffffffffffff8211176201536757829162016bc8833903905ff08015620150cc577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f5560405161185480820182811067ffffffffffffffff82111762015367578291620179f1833903905ff08015620150cc5773ffffffffffffffffffffffffffffffffffffffff16807fffffffffffffffffffffffff0000000000000000000000000000000000000000602054161760205573ffffffffffffffffffffffffffffffffffffffff602154166040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481865afa8015620150cc575f9062015323575b6201524c915062015f97565b806103e802906103e8820403620152f6576040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff929092166004830152602482015290602090829060449082905f905af18015620150cc57620152d0915f91620152d2575b506201655f565b005b620152ef915060203d602011620011865762001177818362015f46565b82620152c9565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b506020813d6020116201535e575b81620153406020938362015f46565b81010312620009e257620153586201524c9162015f88565b62015240565b3d915062015331565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b34620009e2575f5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620009e25773ffffffffffffffffffffffffffffffffffffffff60215416737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f06447d5600000000000000000000000000000000000000000000000000000000825260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015620150cc5762015cff575b5073ffffffffffffffffffffffffffffffffffffffff60205416906040517f313ce567000000000000000000000000000000000000000000000000000000008152602081600481865afa801562015ab357829062015cb7575b620154b5915062015f97565b806032029060328204810362015c8a57610e1042019182421162015c5d5773ffffffffffffffffffffffffffffffffffffffff601f5460081c169473ffffffffffffffffffffffffffffffffffffffff6021541690604051917f7ecebe000000000000000000000000000000000000000000000000000000000083528060048401526020836024818b5afa92831562015b9d57879362015c23575b506040517ff39610400000000000000000000000000000000000000000000000000000000081526020816004818c5afa90811562015af857908491899162015be5575b506201560b90620006836040519384928b8a89602087019946948b9373ffffffffffffffffffffffffffffffffffffffff6101209692999894815f999561014089019c89521660208801521660408601526060850152615678608085015260a084015260c083015260e0820152826101008201520152565b519020604051907f3644e5150000000000000000000000000000000000000000000000000000000082526020826004818c5afa91821562015af857889262015ba8575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262015699816062810162000683565b5190209360225494604051957fe341eaa400000000000000000000000000000000000000000000000000000000875260048701526024860152606085604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa91821562015b9d5787918896899462015b6b575b5060640298858a046002148615171562015b3e576040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019990995296978897602090829060449082908c905af1801562015af85762015b1c575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c1673ffffffffffffffffffffffffffffffffffffffff6021541673ffffffffffffffffffffffffffffffffffffffff6020541690823b1562015ad7576040517f3525916f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9182166004820152911660248201526044810186905261567860648201526084810188905260a481018590525f60c4820181905260e482015260ff831661010482015261012481018790526101448101849052908890829061016490829084905af190811562015af857889162015b03575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562015af4576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f756688fe000000000000000000000000000000000000000000000000000000006004820152878160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562015af857889162015adb575b505073ffffffffffffffffffffffffffffffffffffffff601f5460081c169273ffffffffffffffffffffffffffffffffffffffff602154169073ffffffffffffffffffffffffffffffffffffffff6020541693853b1562015ad7578997889462015a1a936040519b8c9a8b998a987f3525916f000000000000000000000000000000000000000000000000000000008a5260048a0194909897969360ff9373ffffffffffffffffffffffffffffffffffffffff6101409894816101608a019d16895216602088015260408701526156786060870152608086015260a08501525f60c08501525f60e0850152166101008301526101208201520152565b03925af1801562015ab35762015abe575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1562015ab057806040517f90c5013b000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562015ab35762015a9c5750f35b8162015aa89162015f46565b62015ab05780f35b80fd5b6040513d84823e3d90fd5b8162015aca9162015f46565b62015ab057805f62015a2b565b8980fd5b8162015ae79162015f46565b62015af457865f6201591e565b8680fd5b6040513d8a823e3d90fd5b8162015b0f9162015f46565b62015af457865f62015887565b62015b389060203d602011620011865762001177818362015f46565b62015782565b6024897f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b90935062015b909196506064925060603d606011620009a65762000993818362015f46565b9691929096939062015703565b6040513d89823e3d90fd5b9091506020813d60201162015bdc575b8162015bc76020938362015f46565b81010312620009e2575190620156996201564e565b3d915062015bb8565b9150506020813d60201162015c1a575b8162015c046020938362015f46565b81010312620009e2575183906201560b62015593565b3d915062015bf5565b9092506020813d60201162015c54575b8162015c426020938362015f46565b81010312620009e25751915f62015550565b3d915062015c33565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b506020813d60201162015cf6575b8162015cd46020938362015f46565b8101031262015cf25762015cec620154b59162015f88565b620154a9565b5080fd5b3d915062015cc5565b62015d0d91505f9062015f46565b5f5f62015450565b60206040818301928281528451809452019201905f5b81811062015d395750505090565b825173ffffffffffffffffffffffffffffffffffffffff1684526020938401939092019160010162015d2b565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b81811062015dc75750505090565b82517fffffffff000000000000000000000000000000000000000000000000000000001684526020938401939092019160010162015db9565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831062015e3357505050505090565b909192939460208062015e71837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752895162015d66565b9701930193019193929062015e23565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831062015eb457505050505090565b909192939460208062015f19837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff81511684520151918185820152019062015da9565b9701930193019193929062015ea4565b6040810190811067ffffffffffffffff8211176201536757604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176201536757604052565b519060ff82168203620009e257565b60ff16604d8111620152f657600a0a90565b90816020910312620009e257518015158103620009e25790565b91908201809211620152f657565b90816060910312620009e25762015fe88162015f88565b916040602083015192015190565b67ffffffffffffffff8111620153675760051b60200190565b90604051915f8154908160011c926001831692831562016114575b602085108414620160e7578487528693908115620160a557506001146201605d575b506201605b9250038362015f46565b565b90505f9291925260205f20905f915b818310620160885750509060206201605b928201015f6201604c565b60209193508060019154838589010152019101909184926201606c565b602093506201605b9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f6201604c565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f16936201602a565b91908203918211620152f657565b90604051918281549182825260208201905f5260205f20925f905b80600783011062016357576201605b94549181811062016320575b818110620162e9575b818110620162b2575b8181106201627b575b81811062016244575b8181106201620d575b818110620161d7575b10620161a9575b50038362015f46565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f620161a0565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b16815201930162016199565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b16815201930162016190565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b16815201930162016187565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b1681520193016201617e565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b16815201930162016175565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b1681520193016201616c565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b16815201930162016163565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e082015201940192018592939162016148565b602081830312620009e25780519067ffffffffffffffff8211620009e2570181601f82011215620009e25780519067ffffffffffffffff82116201536757604051926201645b601f84017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020018562015f46565b82845260208383010111620009e257815f9260208093018386015e8301015290565b60085460ff16156201648e57600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115620150cc575f9162016527575b50151590565b90506020813d60201162016556575b81620165456020938362015f46565b81010312620009e257515f62016521565b3d915062016536565b1580620165695750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f0c9fd5810000000000000000000000000000000000000000000000000000000082521560048201525f81602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd5750565b5f6201605b9162015f46565b919073ffffffffffffffffffffffffffffffffffffffff601f5460081c16916040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa908115620150cc575f9162016838575b50602080546040805180840194855273ffffffffffffffffffffffffffffffffffffffff98891691810191909152961660608701526802b5e3af16b1880000608087015261567860a087015260c08601939093524660e0860152610100850191909152678ac7230489e80000610120850152619999610140850152600493620166d581610160810162000683565b51902091604051938480927f3644e5150000000000000000000000000000000000000000000000000000000082525afa918215620150cc575f92620167fb575b506040517f1901000000000000000000000000000000000000000000000000000000000000602082019081526022820193909352604281019190915262016760816062810162000683565b5190209060225491604051927fe341eaa400000000000000000000000000000000000000000000000000000000845260048401526024830152606082604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115620150cc575f5f935f93620167cf575b50929190565b91935050620167f0915060603d606011620009a65762000993818362015f46565b929092915f620167c9565b9091506020813d6020116201682f575b816201681a6020938362015f46565b81010312620009e25751906201676062016715565b3d91506201680b565b90506020949194813d60201162016870575b81620168596020938362015f46565b81010312620009e25751909390620166d562016647565b3d91506201684a565b919073ffffffffffffffffffffffffffffffffffffffff601f5460081c16916040517ff3961040000000000000000000000000000000000000000000000000000000008152602081600481875afa908115620150cc575f9162016965575b50602080546040805180840194855273ffffffffffffffffffffffffffffffffffffffff98891691810191909152961660608701526802b5e3af16b1880000608087015261567860a087015260c08601939093524660e0860152610100850191909152674563918244f40000610120850152619999610140850152600493620166d581610160810162000683565b90506020949194813d6020116201699d575b81620169866020938362015f46565b81010312620009e25751909390620166d5620168d7565b3d915062016977565b674563918244f400008103620169b95750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152674563918244f4000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd5750565b8062016a435750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f98296c5400000000000000000000000000000000000000000000000000000000825260048201525f60248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd5750565b6001810362016ac85750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152600160248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd5750565b9080820362016b4f575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620009e257604051917f98296c54000000000000000000000000000000000000000000000000000000008352600483015260248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015620150cc57620165dd575056fe6080806040523460395760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055610deb908161003e8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033610160604052346104c6576040516100186040826104ca565b600a8152602081016926b7b1b5902a37b5b2b760b11b81526040519061003f6040836104ca565b600a82526926b7b1b5902a37b5b2b760b11b6020830152604051926100656040856104ca565b60038452624d544b60e81b6020850152604051936100846040866104ca565b60018552603160f81b60208601908152845190946001600160401b0382116103c95760035490600182811c921680156104bc575b60208310146103ab5781601f84931161044e575b50602090601f83116001146103e8575f926103dd575b50508160011b915f199060031b1c1916176003555b8051906001600160401b0382116103c95760045490600182811c921680156103bf575b60208310146103ab5781601f84931161033d575b50602090601f83116001146102d7575f926102cc575b50508160011b915f199060031b1c1916176004555b610162816104ed565b6101205261016f84610674565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526101d860c0826104ca565b5190206080523060c05233156102b95760025469d3c21bcecceda100000081018091116102a557600255335f525f60205260405f2069d3c21bcecceda1000000815401905560405169d3c21bcecceda100000081525f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a36040516110a790816107ad823960805181610cec015260a05181610da9015260c05181610cbd015260e05181610d3b01526101005181610d610152610120518161048f015261014051816104b80152f35b634e487b7160e01b5f52601160045260245ffd5b63ec442f0560e01b5f525f60045260245ffd5b015190505f80610144565b60045f9081528281209350601f198516905b818110610325575090846001959493921061030d575b505050811b01600455610159565b01515f1960f88460031b161c191690555f80806102ff565b929360206001819287860151815501950193016102e9565b60045f529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c810191602085106103a1575b90601f859493920160051c01905b818110610393575061012e565b5f8155849350600101610386565b9091508190610378565b634e487b7160e01b5f52602260045260245ffd5b91607f169161011a565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100e2565b60035f9081528281209350601f198516905b818110610436575090846001959493921061041e575b505050811b016003556100f7565b01515f1960f88460031b161c191690555f8080610410565b929360206001819287860151815501950193016103fa565b60035f529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c810191602085106104b2575b90601f859493920160051c01905b8181106104a457506100cc565b5f8155849350600101610497565b9091508190610489565b91607f16916100b8565b5f80fd5b601f909101601f19168101906001600160401b038211908210176103c957604052565b908151602081105f14610567575090601f815111610527576020815191015160208210610518571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116103c957600554600181811c9116801561066a575b60208210146103ab57601f8111610637575b50602092601f82116001146105d657928192935f926105cb575b50508160011b915f199060031b1c19161760055560ff90565b015190505f806105b2565b601f1982169360055f52805f20915f5b86811061061f5750836001959610610607575b505050811b0160055560ff90565b01515f1960f88460031b161c191690555f80806105f9565b919260206001819286850151815501940192016105e6565b60055f52601f60205f20910160051c810190601f830160051c015b81811061065f5750610598565b5f8155600101610652565b90607f1690610586565b908151602081105f1461069f575090601f815111610527576020815191015160208210610518571790565b6001600160401b0381116103c957600654600181811c911680156107a2575b60208210146103ab57601f811161076f575b50602092601f821160011461070e57928192935f92610703575b50508160011b915f199060031b1c19161760065560ff90565b015190505f806106ea565b601f1982169360065f52805f20915f5b868110610757575083600195961061073f575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610731565b9192602060018192868501518155019401920161071e565b60065f52601f60205f20910160051c810190601f830160051c015b81811061079757506106d0565b5f815560010161078a565b90607f16906106be56fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde03146108dc57508063095ea7b31461089857806318160ddd1461085d57806323b872dd146106c9578063313ce567146106905780633644e5151461065057806370a08231146105ee5780637ecebe001461058b57806384b0196e1461045957806395d89b411461033b578063a9059cbb146102ec578063d505accf1461013b5763dd62ed3e146100ab575f80fd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576100e26109df565b73ffffffffffffffffffffffffffffffffffffffff6100ff610a02565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101375760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576101726109df565b61017a610a02565b604435906064359260843560ff81168103610137578442116102c05761027b61027273ffffffffffffffffffffffffffffffffffffffff9283851697885f52600760205260405f20908154916001830190556040519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c984528b6040840152878a1660608401528a608084015260a083015260c082015260c0815261022560e082610b16565b519020610230610ca6565b90604051917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220610eff565b90929192610f99565b16848103610290575061028e9350610dcf565b005b84907f4b800e46000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b847f62791302000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576103306103266109df565b6024359033610b84565b602060405160018152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576040515f60045461037981610a25565b808452906001811690811561041757506001146103b9575b6103b5836103a181850382610b16565b60405191829160208352602083019061099c565b0390f35b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b8082106103fd575090915081016020016103a1610391565b9192600181602092548385880101520191019092916103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506103a19050610391565b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375761052f6104b37f0000000000000000000000000000000000000000000000000000000000000000610e4c565b6104dc7f0000000000000000000000000000000000000000000000000000000000000000610ec8565b602061053d604051926104ef8385610b16565b5f84525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e08588015260e087019061099c565b90858203604087015261099c565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b82811061057457505050500390f35b835185528695509381019392810192600101610565565b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff6105d76109df565b165f526007602052602060405f2054604051908152f35b346101375760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101375773ffffffffffffffffffffffffffffffffffffffff61063a6109df565b165f525f602052602060405f2054604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020610688610ca6565b604051908152f35b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013757602060405160128152f35b346101375760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576107006109df565b610708610a02565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110610784575b506103309350610b84565b8381106108295784156107fd5733156107d157610330945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f209103905584610779565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576020600254604051908152f35b346101375760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137576103306108d26109df565b6024359033610dcf565b34610137575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610137575f60035461091781610a25565b8084529060018116908115610417575060011461093e576103b5836103a181850382610b16565b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b808210610982575090915081016020016103a1610391565b91926001816020925483858801015201910190929161096a565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013757565b90600182811c92168015610a6c575b6020831014610a3f57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610a34565b5f9291815491610a8583610a25565b8083529260018116908115610ada5750600114610aa157505050565b5f9081526020812093945091925b838310610ac0575060209250010190565b600181602092949394548385870101520191019190610aaf565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610b5757604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff16908115610c7a5773ffffffffffffffffffffffffffffffffffffffff16918215610c4e57815f525f60205260405f2054818110610c1c57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610da6575b15610d0e577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152610da060c082610b16565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610ce5565b73ffffffffffffffffffffffffffffffffffffffff169081156107fd5773ffffffffffffffffffffffffffffffffffffffff169182156107d15760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60ff8114610eab5760ff811690601f8211610e835760405191610e70604084610b16565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b50604051610ec581610ebe816005610a76565b0382610b16565b90565b60ff8114610eec5760ff811690601f8211610e835760405191610e70604084610b16565b50604051610ec581610ebe816006610a76565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610f8e579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610f83575f5173ffffffffffffffffffffffffffffffffffffffff811615610f7957905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60048110156110445780610fab575050565b60018103610fdb577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b6002810361100f57507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6003146110195750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea26469706673582212202eaf8d700913bffd8b4934f8b853d9665e68ca4ec536d49359eed7bb1628075364736f6c634300081e003360803461018357601f610c1538819003918201601f19168301916001600160401b038311848410176101875780849260209460405283398101031261018357516100495f5461019b565b601f811161013c575b507f4e6f6e2d5374616e6461726420546f6b656e00000000000000000000000000245f556001546100829061019b565b601f81116100f4575b506006621394d560ea1b01600155600660ff19600254161760025580600355335f5260046020528060405f20556040519081525f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a3604051610a4190816101d48239f35b60015f52601f0160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6908101905b818110610131575061008b565b5f8155600101610124565b5f8052601f0160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563908101905b8181106101785750610052565b5f815560010161016b565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b90600182811c921680156101c9575b60208310146101b557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101aa56fe60806040526004361015610011575f80fd5b5f3560e01c806306fdde031461079e578063095ea7b3146106fb57806318160ddd146106c057806323b872dd1461051d578063313ce567146104df57806340c10f191461043957806370a08231146103d657806395d89b41146101e1578063a9059cbb146101175763dd62ed3e14610087575f80fd5b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576100be610919565b73ffffffffffffffffffffffffffffffffffffffff6100db61093c565b91165f52600560205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101135761014e610919565b73ffffffffffffffffffffffffffffffffffffffff60243591335f52600460205261017f8360405f2054101561095f565b335f52600460205260405f206101968482546109c4565b90551690815f52600460205260405f206101b18282546109fe565b90556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3005b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576040515f600154908160011c600183169283156103cc575b60208210841461039f57818552849390811561033f57506001146102c5575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff821181831017610298576040829052819061029490826108d1565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60015f90815291507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b81831061032357505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610246565b60209193508060019154838588010152019101909183926102ef565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09050610246565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f1690610227565b346101135760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101135773ffffffffffffffffffffffffffffffffffffffff610422610919565b165f526004602052602060405f2054604051908152f35b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610470610919565b5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602073ffffffffffffffffffffffffffffffffffffffff602435946104b9866003546109fe565b600355169384845260048252604084206104d48282546109fe565b9055604051908152a3005b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357602060ff60025416604051908152f35b346101135760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610554610919565b61055c61093c565b73ffffffffffffffffffffffffffffffffffffffff604435921690815f52600460205261058f8360405f2054101561095f565b815f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528260405f20541061066257602073ffffffffffffffffffffffffffffffffffffffff7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92845f526004835260405f206106118782546109c4565b90551693845f526004825260405f2061062b8282546109fe565b9055835f526005825260405f2073ffffffffffffffffffffffffffffffffffffffff33165f52825260405f206104d48282546109c4565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e73756666696369656e7420616c6c6f77616e6365000000000000000000006044820152fd5b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576020600354604051908152f35b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610732610919565b73ffffffffffffffffffffffffffffffffffffffff60243591335f52600560205260405f208282165f526020528260405f205560405192835216907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576040515f5f54908160011c600183169283156108c7575b60208210841461039f57818552849390811561033f575060011461084f575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff821181831017610298576040829052819061029490826108d1565b5f80805291507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8183106108ab57505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610246565b6020919350806001915483858801015201910190918392610877565b90607f16906107e3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011357565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011357565b1561096657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e742062616c616e63650000000000000000000000006044820152fd5b919082039182116109d157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919082018092116109d15756fea2646970667358221220bc55045891b519b0b5f8315ee228d5b1d217d0df546e371d3a4b30023541a0b764736f6c634300081e0033a2646970667358221220010ee7b53d583fe2d911c1394ce38c6f4ea6a88675a68222bcecb92d21ae101364736f6c634300081e0033","sourceMap":"830:78201:63:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1279:28;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1065:26:16;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;24618:4;830:78201;;336:42:2;24604:19:63;;;;830:78201;;24604:19;830:78201;24604:19;;830:78201;24604:19;;830:78201;;;;24604:19;830:78201;;;336:42:2;24604:19:63;;;;;;;;830:78201;;;;;;;;;24705:16;;830:78201;24705:16;830:78201;24705:16;;;;;;;;830:78201;;24705:16;;;830:78201;24699:22;;;;:::i;:::-;830:78201;;24694:2;830:78201;;24694:2;830:78201;;;;;24768:1;24750:15;2030:14:2;24750:15:63;;;2030:14:2;;;830:78201:63;24795:10;2030:14:2;;;830:78201:63;;24618:4;830:78201;;;;;24795:23;830:78201;24795:23;;;830:78201;24795:23;;830:78201;;24795:23;24604:19;24795:23;;;;;;;;;830:78201;;24795:23;;;830:78201;;;;24901:35;830:78201;24901:35;;830:78201;24901:35;830:78201;24901:35;;;;;;;;;830:78201;;24901:35;;;830:78201;;;;;;;;;24873:342;;;;-1:-1:-1;;;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;;;;;25089:13;830:78201;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;24873:342;;;;;;:::i;:::-;830:78201;24850:375;;830:78201;;;25291:29;;;;830:78201;25291:29;;;;;;;;;830:78201;;25291:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;25262:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;25262:71;830:78201;2030:14:2;;;25262:71:63;;24873:342;25262:71;;;;;;:::i;:::-;830:78201;25252:82;;25386:14;2030::2;830:78201:63;;;25378:31;830:78201;25378:31;;830:78201;25378:31;;830:78201;24604:19;2030:14:2;;830:78201:63;;25378:31;;;336:42:2;25378:31:63;;;;;;;830:78201;;;;;;;25378:31;;830:78201;25420:69;336:42:2;25420:69:63;;;;830:78201;;;25420:69;;25436:52;830:78201;25420:69;;830:78201;;;;24604:19;830:78201;;336:42:2;25420:69:63;;;;;;;;830:78201;2030:14:2;830:78201:63;24795:10;2030:14:2;;;830:78201:63;;;24618:4;830:78201;;;;;;;25499:112;;;;;;830:78201;;;;25499:112;830:78201;25499:112;;-1:-1:-1;;830:78201:63;;25499:112;;830:78201;24604:19;830:78201;;;25378:31;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;25499:112;830:78201;;;;;;25499:112;;;;;;;;;830:78201;25621:14;336:42:2;25621:14:63;;;;830:78201;;;25621:14;;830:78201;;;;;;336:42:2;25621:14:63;;;;;;;;830:78201;;;;;25621:14;830:78201;;25621:14;;;:::i;:::-;830:78201;;;;25621:14;;;;830:78201;;;;;;;;;;25499:112;830:78201;;25499:112;;;:::i;:::-;830:78201;;;;25499:112;;;25420:69;830:78201;;25420:69;;;:::i;:::-;830:78201;;;;25420:69;;;25378:31;;;;;;;;830:78201;25378:31;830:78201;25378:31;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;25291:29;;;;830:78201;25291:29;;830:78201;25291:29;;;;;;2030:14:2;25291:29:63;;;:::i;:::-;;;2030:14:2;;;;;;25262:71:63;25291:29;;2030:14:2;-1:-1:-1;830:78201:63;;25291:29;;;-1:-1:-1;25291:29:63;;24901:35;;;830:78201;24901:35;;830:78201;24901:35;;;;;;2030:14:2;24901:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;830:78201:63;24901:35;;;;;-1:-1:-1;24901:35:63;;24795:23;;;;830:78201;24795:23;;830:78201;24795:23;;;;;;2030:14:2;24795:23:63;;;:::i;:::-;;;2030:14:2;;;;;24795:23:63;;;;;;;-1:-1:-1;24795:23:63;;2030:14:2;830:78201:63;;;;;;;24604:19;830:78201;;;24705:16;;830:78201;24705:16;;830:78201;24705:16;;;;;;830:78201;24705:16;;;:::i;:::-;;;830:78201;;;;;24699:22;830:78201;;:::i;:::-;24705:16;;;;;-1:-1:-1;24705:16:63;;24604:19;830:78201;;24604:19;;;:::i;:::-;830:78201;;;;24604:19;;;830:78201;;;;;;;;;;;;;71140:4;830:78201;;336:42:2;71126:19:63;;;;830:78201;;71126:19;830:78201;71126:19;;830:78201;71126:19;;830:78201;;;;71126:19;830:78201;;;336:42:2;71126:19:63;;;;;;;;830:78201;;;;;;;;;71233:16;;830:78201;71233:16;830:78201;71233:16;;;;;;;;830:78201;;71233:16;;;830:78201;71227:22;;;;:::i;:::-;830:78201;;71222:2;830:78201;;71222:2;830:78201;;;;;;;;71289:16;;830:78201;71289:16;830:78201;71289:16;;;;;;;;830:78201;;71289:16;;;830:78201;71283:22;;;;:::i;:::-;830:78201;;71279:1;830:78201;;71279:1;830:78201;;;;;71375:4;71357:15;2030:14:2;71357:15:63;;;2030:14:2;;;830:78201:63;71405:10;2030:14:2;;;830:78201:63;;;71140:4;830:78201;;;;;71405:23;830:78201;71405:23;;;830:78201;71405:23;;830:78201;;71405:23;71126:19;71405:23;;;;;;;;;830:78201;;71405:23;;;830:78201;;;;;71511:35;;830:78201;71511:35;830:78201;71511:35;;;;;;;;830:78201;;;;71511:35;;;830:78201;-1:-1:-1;830:78201:63;;;;71483:341;;830:78201;;;;;;;2030:14:2;;;830:78201:63;;;;;;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;71699:13;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;2030:14:2;;;830:78201:63;71483:341;;830:78201;2030:14:2;;;71483:341:63;2030:14:2;71483:341:63;830:78201;71460:374;;830:78201;;71901:29;830:78201;71901:29;;830:78201;71901:29;830:78201;71901:29;;;;;;;;;830:78201;;71901:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;71872:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;71872:71;830:78201;2030:14:2;;;71872:71:63;2030:14:2;71872:71:63;830:78201;71862:82;;2030:14:2;71996::63;2030::2;830:78201:63;;;71988:31;830:78201;71988:31;;830:78201;71988:31;;830:78201;71126:19;2030:14:2;;830:78201:63;71988:31;;;;336:42:2;71988:31:63;;;;;;;830:78201;;;;;;;;71988:31;;830:78201;72065:18;72030:54;72065:18;830:78201;72065:18;;;;;:::i;:::-;830:78201;;;72030:54;;830:78201;;;;;72030:54;;830:78201;;;;;;;;;-1:-1:-1;830:78201:63;;;;;;;;;72030:54;;830:78201;;;72030:54;;;;;;;;;830:78201;72095:69;336:42:2;72095:69:63;;;;830:78201;;;72095:69;;72111:52;830:78201;72095:69;;830:78201;;;;71126:19;830:78201;;336:42:2;72095:69:63;;;;;;;;830:78201;2030:14:2;830:78201:63;71405:10;2030:14:2;;;830:78201:63;;;71140:4;830:78201;;;;;;;72174:142;;;;;;830:78201;;;;72174:142;830:78201;72174:142;;-1:-1:-1;;2030:14:2;830:78201:63;72174:142;;830:78201;71126:19;2030:14:2;;830:78201:63;71988:31;2030:14:2;;830:78201:63;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;2030:14:2;;;830:78201:63;;2030:14:2;;;;;;;830:78201:63;2030:14:2;;;830:78201:63;;72174:142;830:78201;;;;;;72174:142;;;;;;;;;72327:14;336:42:2;72327:14:63;;;;830:78201;;;72327:14;;830:78201;;;;;;336:42:2;72327:14:63;;;;;;;;830:78201;;;;72095:69;830:78201;;72095:69;;;:::i;:::-;830:78201;;;;72095:69;;;72030:54;;;830:78201;72030:54;830:78201;72030:54;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;71988:31;;;;;830:78201;71988:31;;72030:54;71988:31;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;71988:31:63;;;;;71901:29;;;;830:78201;71901:29;;830:78201;71901:29;;;;;;2030:14:2;71901:29:63;;;:::i;:::-;;;2030:14:2;;;;;;71872:71:63;71901:29;;;;;-1:-1:-1;71901:29:63;;71511:35;;;;830:78201;71511:35;;830:78201;71511:35;;;;;;2030:14:2;71511:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;71483:341:63;71511:35;;;;;-1:-1:-1;71511:35:63;;71405:23;;;;830:78201;71405:23;;830:78201;71405:23;;;;;;2030:14:2;71405:23:63;;;:::i;:::-;;;2030:14:2;;;;;71405:23:63;;;;;;;-1:-1:-1;71405:23:63;;71289:16;;830:78201;71289:16;;830:78201;71289:16;;;;;;830:78201;71289:16;;;:::i;:::-;;;830:78201;;;;;71283:22;830:78201;;:::i;:::-;71289:16;;;;;-1:-1:-1;71289:16:63;;71233;;830:78201;71233:16;;830:78201;71233:16;;;;;;830:78201;71233:16;;;:::i;:::-;;;830:78201;;;;;71227:22;830:78201;;:::i;:::-;71233:16;;;;;-1:-1:-1;71233:16:63;;71126:19;830:78201;;71126:19;;;:::i;:::-;830:78201;;;;71126:19;;;830:78201;;;;;;;;;;;;;68198:4;830:78201;;336:42:2;68184:19:63;;;;830:78201;;68184:19;830:78201;68184:19;;830:78201;68184:19;;830:78201;;;;68184:19;830:78201;;;336:42:2;68184:19:63;;;;;;;;830:78201;68342:15;68360:7;68342:15;2030:14:2;68342:15:63;;2030:14:2;;;830:78201:63;68393:10;2030:14:2;;;830:78201:63;68184:19;830:78201;;68198:4;830:78201;;;;;68393:23;;;;830:78201;68393:23;;;830:78201;68393:23;;830:78201;68393:23;;;;;;;830:78201;;68393:23;;;830:78201;-1:-1:-1;830:78201:63;;;;;;69349:24;;830:78201;;;;;;;;;;69349:24;;;;;;;-1:-1:-1;;69349:24:63;;;830:78201;2030:14:2;68184:19:63;830:78201;;68393:10;2030:14:2;;;830:78201:63;;;;69693:19;;;;830:78201;69693:19;;;830:78201;69693:19;;830:78201;69693:19;;;;;;-1:-1:-1;;;;69693:19:63;;;830:78201;;;69287:513;830:78201;69422:346;69287:513;830:78201;69422:346;830:78201;;69422:346;;;2030:14:2;830:78201:63;69422:346;;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;69422:346;830:78201;69391:395;;830:78201;;69287:513;;;830:78201;69287:513;;;;2030:14:2;;;;;;;;;;830:78201:63;2030:14:2;;;830:78201:63;2030:14:2;;;69287:513:63;830:78201;69264:546;;69835:14;2030::2;830:78201:63;;;69827:29;830:78201;69827:29;;830:78201;69827:29;;830:78201;68184:19;2030:14:2;;830:78201:63;69827:29;;;;336:42:2;69827:29:63;;;;;;;-1:-1:-1;;;;;;;;;69827:29:63;;;830:78201;69820:36;68543:73;69820:36;;;68543:73;:::i;:::-;68627:69;;;336:42:2;68627:69:63;;;;830:78201;;;68627:69;;68643:52;830:78201;68627:69;;830:78201;;;;68184:19;830:78201;;336:42:2;68627:69:63;;;;;;;;830:78201;2030:14:2;830:78201:63;68393:10;2030:14:2;;;830:78201:63;;;68198:4;830:78201;;;;;;;68706:338;;;;;;830:78201;;;;;;;;68706:338;;830:78201;68706:338;;-1:-1:-1;;830:78201:63;68706:338;830:78201;68184:19;830:78201;;;68227:5;69827:29;830:78201;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;;;68256:5;830:78201;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;68706:338;830:78201;;;;;;68706:338;;;;;;;;;69054:14;336:42:2;69054:14:63;;;;830:78201;;;69054:14;;830:78201;;;;;;336:42:2;69054:14:63;;;;;;;;830:78201;;;;68627:69;830:78201;;68627:69;;;:::i;:::-;830:78201;;;;68627:69;;;69827:29;68543:73;69827:29;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;69693:19;;;;830:78201;69693:19;;830:78201;69693:19;;;;;;2030:14:2;69693:19:63;;;:::i;:::-;;;2030:14:2;;;;;;;69287:513:63;69693:19;;;;;-1:-1:-1;69693:19:63;;69349:24;;;;830:78201;69349:24;;830:78201;69349:24;;;;;;2030:14:2;69349:24:63;;;:::i;:::-;;;2030:14:2;;;;;69349:24:63;;;;;;;-1:-1:-1;69349:24:63;;68393:23;;;830:78201;68393:23;;830:78201;68393:23;;;;;;2030:14:2;68393:23:63;;;:::i;:::-;;;2030:14:2;;;;;68393:23:63;;;;;;-1:-1:-1;68393:23:63;;68184:19;830:78201;;68184:19;;;:::i;:::-;830:78201;;;;68184:19;;;830:78201;;;;;;;;;;;;;;;;2723:18:9;830:78201:63;;;;;;;2723:18:9;830:78201:63;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;58936:43;;;;;;;;;;;;;;830:78201;58936:43;;;;;;58961:17;830:78201;;58936:43;;830:78201;;;58936:43;;;;;830:78201;;;59051:4;830:78201;;59025:47;;;;;830:78201;;59025:47;830:78201;59025:47;;830:78201;59025:47;;830:78201;59057:14;830:78201;;;;;;;59025:47;830:78201;;;59025:47;;;;;;;;;830:78201;;;59051:4;830:78201;;336:42:2;59083:19:63;;;;830:78201;;59083:19;830:78201;59083:19;;830:78201;59083:19;;830:78201;;;;;;;;336:42:2;59083:19:63;;;;;;;;830:78201;59249:15;59267:4;59249:15;2030:14:2;59249:15:63;;2030:14:2;;;830:78201:63;59297:10;2030:14:2;;;830:78201:63;;;59051:4;830:78201;;;;;59297:23;830:78201;59297:23;;;830:78201;59297:23;;830:78201;;59297:23;830:78201;59297:23;;;;;;;;;830:78201;;59297:23;;;830:78201;;;;;59403:35;;830:78201;59403:35;830:78201;59403:35;;;;;;;;830:78201;;;;59403:35;;;830:78201;-1:-1:-1;830:78201:63;;;;59375:353;;830:78201;;;;;;;;;;;;;;;;;;;;;65440:12;830:78201;;;;;;;;;;;;;;;59602:13;830:78201;;;;;;;;;;;;;;;2030:14:2;;;830:78201:63;;;;59375:353;;830:78201;;;;59375:353;830:78201;59375:353;830:78201;59352:386;;830:78201;;59805:29;830:78201;59805:29;;830:78201;59805:29;830:78201;59805:29;;;;;;;;;830:78201;;59805:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;59776:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;59776:71;830:78201;2030:14:2;;;59776:71:63;2030:14:2;59776:71:63;830:78201;59766:82;;59900:14;2030::2;830:78201:63;;;59892:31;830:78201;59892:31;;830:78201;59892:31;;830:78201;;2030:14:2;;830:78201:63;59892:31;;59025:47;59892:31;336:42:2;59892:31:63;;;;;;;830:78201;;;;;;;;59892:31;;;830:78201;;;;59993:53;830:78201;59993:53;;830:78201;59993:53;;830:78201;59179:12;830:78201;;;;;;59025:47;830:78201;;;59993:53;;;;;;;;;830:78201;;;59051:4;830:78201;;;;;60081:32;830:78201;60081:32;;;830:78201;60081:32;;830:78201;;60081:32;830:78201;60081:32;;;;;;;;;830:78201;;60081:32;;;830:78201;;;;60149:41;830:78201;60149:41;;59145:6;830:78201;60149:41;;830:78201;;60149:41;830:78201;60149:41;;;;;;;;;830:78201;;60149:41;;;830:78201;2030:14:2;830:78201:63;59297:10;2030:14:2;;;830:78201:63;60288:145;;;;;;830:78201;;60288:145;830:78201;;;60288:145;;;;;;;830:78201;60288:145;;830:78201;;60288:145;830:78201;60288:145;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;65440:12;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;60288:145;;830:78201;;;60288:145;;;;;;;;;830:78201;;;59051:4;830:78201;;;;;60498:32;830:78201;60498:32;;830:78201;60498:32;;830:78201;;60498:32;830:78201;60498:32;;;;;;;;;830:78201;;60498:32;;;830:78201;;;;;;;;;;60532:22;830:78201;60532:22;830:78201;60532:22;;:::i;:::-;830:78201;;60574:41;;;;830:78201;60574:41;;59145:6;830:78201;60574:41;;830:78201;60574:41;;;;;;;830:78201;;60574:41;;;830:78201;2030:14:2;59179:12:63;2030:14:2;;;;;;;60617:24:63;;;:::i;:::-;336:42:2;60653:14:63;;;;830:78201;;;60653:14;;830:78201;;;;;;336:42:2;60653:14:63;;;;;;;;830:78201;;;;60574:41;;;;830:78201;60574:41;;830:78201;60574:41;;;;;;2030:14:2;60574:41:63;;;:::i;:::-;;;2030:14:2;;;;;60574:41:63;;;;;;;-1:-1:-1;60574:41:63;;60498:32;;;;830:78201;60498:32;;830:78201;60498:32;;;;;;2030:14:2;60498:32:63;;;:::i;:::-;;;2030:14:2;;;;;60498:32:63;;;;;;;-1:-1:-1;60498:32:63;;60288:145;830:78201;;60288:145;;;:::i;:::-;830:78201;;;;60288:145;;;60149:41;;;;830:78201;60149:41;;830:78201;60149:41;;;;;;2030:14:2;60149:41:63;;;:::i;:::-;;;2030:14:2;;;;;60149:41:63;;;;;;;-1:-1:-1;60149:41:63;;60081:32;;;;830:78201;60081:32;;830:78201;60081:32;;;;;;2030:14:2;60081:32:63;;;:::i;:::-;;;2030:14:2;;;;;60081:32:63;;;;;;;-1:-1:-1;60081:32:63;;59993:53;;;830:78201;59993:53;830:78201;59993:53;;;;;;;:::i;:::-;;;59892:31;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;59805:29;;;;830:78201;59805:29;;830:78201;59805:29;;;;;;2030:14:2;59805:29:63;;;:::i;:::-;;;2030:14:2;;;;;;59776:71:63;59805:29;;;;;-1:-1:-1;59805:29:63;;59403:35;;;;830:78201;59403:35;;830:78201;59403:35;;;;;;2030:14:2;59403:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;59375:353:63;59403:35;;;;;-1:-1:-1;59403:35:63;;59297:23;;;;830:78201;59297:23;;830:78201;59297:23;;;;;;2030:14:2;59297:23:63;;;:::i;:::-;;;2030:14:2;;;;;59297:23:63;;;;;;;-1:-1:-1;59297:23:63;;59083:19;830:78201;;59083:19;;;:::i;:::-;830:78201;;;;59083:19;;;59025:47;830:78201;;59025:47;;;:::i;:::-;830:78201;;;;59025:47;;;58936:43;830:78201;;;;;;;;;;;;;;;;;;;;;;;;42260:4;830:78201;;336:42:2;42246:19:63;;;;830:78201;;42246:19;830:78201;42246:19;;830:78201;42246:19;;830:78201;;;;42246:19;830:78201;;;336:42:2;42246:19:63;;;;;;;;830:78201;;;;;;;;;42352:16;;830:78201;42352:16;830:78201;42352:16;;;;;;;;830:78201;;42352:16;;;830:78201;42346:22;;;;:::i;:::-;830:78201;;42341:2;830:78201;;42341:2;830:78201;;;;;;;;;;;;;;42458:3;42440:15;2030:14:2;42440:15:63;;2030:14:2;;;830:78201:63;42487:10;2030:14:2;;;830:78201:63;;;42260:4;830:78201;;;;;42487:23;830:78201;42487:23;;;830:78201;42487:23;;830:78201;;42487:23;42246:19;42487:23;;;;;;;;;830:78201;;42487:23;;;830:78201;;;;;42627:24;;830:78201;42627:24;830:78201;42627:24;;;;;;;;;830:78201;;42627:24;;;830:78201;;;;;42970:18;;;830:78201;42970:18;;830:78201;;42970:18;42246:19;42970:18;;;;;;;;830:78201;;;;42970:18;;;830:78201;;42565:511;830:78201;42565:511;830:78201;42700:344;830:78201;42700:344;830:78201;;;42700:344;;;;830:78201;42700:344;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;42565:511;830:78201;42542:544;;2030:14:2;43157::63;2030::2;830:78201:63;;;43149:35;830:78201;43149:35;;;830:78201;43149:35;;830:78201;42246:19;2030:14:2;;830:78201:63;43149:35;;;;336:42:2;43149:35:63;;;;;;;830:78201;;;;;;;;43149:35;;830:78201;;;;43267:35;830:78201;43267:35;;830:78201;43267:35;830:78201;43267:35;;;;;;;;;830:78201;;43267:35;;;830:78201;;;;;;;;;43239:342;;;;-1:-1:-1;;;830:78201:63;;;;;;;43149:35;830:78201;;;;;;;;;;;;;;;;;;43455:13;830:78201;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;43239:342;;;;;;:::i;:::-;830:78201;43216:375;;830:78201;;;43663:29;;;;830:78201;43663:29;;;;;;;;;830:78201;;43663:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;43634:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;43634:71;830:78201;2030:14:2;;;43634:71:63;2030:14:2;43634:71:63;830:78201;43624:82;;830:78201;;43759:37;830:78201;43759:37;;830:78201;43759:37;;830:78201;42246:19;2030:14:2;;830:78201:63;43149:35;43759:37;43149:35;43759:37;336:42:2;43759:37:63;;;;;;;830:78201;;;;;;;;43759:37;;830:78201;43807:17;336:42:2;43807:17:63;;;;830:78201;;;43807:17;;830:78201;;;;;;336:42:2;43807:17:63;;;;;;;;830:78201;2030:14:2;830:78201:63;42487:10;2030:14:2;;;830:78201:63;;;42260:4;830:78201;;;;;;;43834:362;;;;;830:78201;;43834:362;830:78201;43834:362;;-1:-1:-1;;830:78201:63;;;43834:362;830:78201;42246:19;830:78201;;;43149:35;830:78201;;;42458:3;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;43834:362;;;;;;;;;;;44206:14;336:42:2;44206:14:63;;;;830:78201;;;44206:14;;830:78201;;;;;;336:42:2;44206:14:63;;;;;;;;830:78201;;;;43807:17;830:78201;;43807:17;;;:::i;:::-;830:78201;;;;43807:17;;;43759:37;;;;;;;;;;43149:35;43759:37;43149:35;43759:37;;;;;;;:::i;:::-;;;;;;;;;;43663:29;;;;830:78201;43663:29;;830:78201;43663:29;;;;;;2030:14:2;43663:29:63;;;:::i;:::-;;;2030:14:2;;;;;;43634:71:63;43663:29;;;;;-1:-1:-1;43663:29:63;;43267:35;;;830:78201;43267:35;;830:78201;43267:35;;;;;;2030:14:2;43267:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;830:78201:63;43267:35;;;;;-1:-1:-1;43267:35:63;;43149;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;42970:18;;;;830:78201;42970:18;;830:78201;42970:18;;;;;;2030:14:2;42970:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;42565:511:63;42970:18;;;;;-1:-1:-1;42970:18:63;;42627:24;;;830:78201;42627:24;;830:78201;42627:24;;;;;;2030:14:2;42627:24:63;;;:::i;:::-;;;2030:14:2;;;;;42627:24:63;;;;;;-1:-1:-1;42627:24:63;;42487:23;;;;830:78201;42487:23;;830:78201;42487:23;;;;;;2030:14:2;42487:23:63;;;:::i;:::-;;;2030:14:2;;;;;42487:23:63;;;;;;;-1:-1:-1;42487:23:63;;42352:16;;830:78201;42352:16;;830:78201;42352:16;;;;;;830:78201;42352:16;;;:::i;:::-;;;830:78201;;;;;42346:22;830:78201;;:::i;:::-;42352:16;;;;;-1:-1:-1;42352:16:63;;42246:19;830:78201;;42246:19;;;:::i;:::-;830:78201;;;;42246:19;;;830:78201;;;;;;;;;;;;;22347:4;830:78201;;336:42:2;22333:19:63;;;;830:78201;;22333:19;830:78201;22333:19;;830:78201;22333:19;;830:78201;;;;22333:19;830:78201;;;336:42:2;22333:19:63;;;;;;;;830:78201;22433:15;22451:7;22433:15;2030:14:2;22433:15:63;;2030:14:2;;;830:78201:63;22485:10;2030:14:2;;;830:78201:63;;22347:4;830:78201;;;;22485:23;830:78201;22485:23;;;830:78201;22485:23;;830:78201;;22485:23;22333:19;22485:23;;;;;;;;;830:78201;;22485:23;;;830:78201;-1:-1:-1;830:78201:63;;;;;;69349:24;;830:78201;;;;;;;;;;69349:24;;;;;;;-1:-1:-1;;69349:24:63;;;830:78201;2030:14:2;22333:19:63;830:78201;;22485:10;2030:14:2;;;830:78201:63;;;;69693:19;;;;830:78201;69693:19;;;830:78201;69693:19;;830:78201;69693:19;;;;;;-1:-1:-1;;;;69693:19:63;;;830:78201;;;69287:513;830:78201;69422:346;69287:513;830:78201;69422:346;830:78201;;69422:346;;;2030:14:2;830:78201:63;69422:346;;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;69287:513;830:78201;69264:546;;2030:14:2;69835::63;2030::2;830:78201:63;;;69827:29;830:78201;69827:29;;830:78201;69827:29;;830:78201;22333:19;2030:14:2;;830:78201:63;69827:29;;;;336:42:2;69827:29:63;;;;;;;-1:-1:-1;;;;;;;;69827:29:63;;830:78201;69820:36;22635:74;;;;;:::i;:::-;830:78201;;;;;;;;;22720:339;;;;;;830:78201;;;;;;;;22720:339;;830:78201;22720:339;;-1:-1:-1;;830:78201:63;22720:339;830:78201;22333:19;830:78201;;;22377:5;69827:29;830:78201;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;;;22406:4;830:78201;;;;22701:6;830:78201;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;22720:339;830:78201;;;;;;22720:339;;;;;;;;;830:78201;;22333:19;830:78201;;;;;;;23079:32;;;;830:78201;23079:32;;22701:6;830:78201;23079:32;;830:78201;23079:32;;;;;;830:78201;;23079:32;;;830:78201;23113:3;;;;:::i;23079:32::-;;830:78201;23079:32;;830:78201;23079:32;;;;;;2030:14:2;23079:32:63;;;:::i;:::-;;;2030:14:2;;;;23113:3:63;2030:14:2;;23079:32:63;;;;;-1:-1:-1;23079:32:63;;22720:339;830:78201;;22720:339;;;:::i;:::-;830:78201;;;;22720:339;;;69827:29;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;69693:19;;;;830:78201;69693:19;;830:78201;69693:19;;;;;;2030:14:2;69693:19:63;;;:::i;:::-;;;2030:14:2;;;;;;;69287:513:63;69693:19;;;;;-1:-1:-1;69693:19:63;;69349:24;;;;830:78201;69349:24;;830:78201;69349:24;;;;;;2030:14:2;69349:24:63;;;:::i;:::-;;;2030:14:2;;;;;69349:24:63;;;;;;;-1:-1:-1;69349:24:63;;22485:23;;;;830:78201;22485:23;;830:78201;22485:23;;;;;;2030:14:2;22485:23:63;;;:::i;:::-;;;2030:14:2;;;;;22485:23:63;;;;;;;-1:-1:-1;22485:23:63;;22333:19;830:78201;;22333:19;;;:::i;:::-;830:78201;;;;22333:19;;;830:78201;;;;;;;;;;;;;35880:10;2030:14:2;;;830:78201:63;;;35880:20;830:78201;35880:20;;830:78201;;;;;35880:20;;;;;;;;830:78201;;35880:20;;;830:78201;-1:-1:-1;830:78201:63;;;;;;;:::i;:::-;;;;;;;;;;5141:24:4;;;;830:78201:63;;;;;5141:24:4;;;;;830:78201:63;5141:24:4;;;830:78201:63;5141:24:4;;830:78201:63;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;5141:24:4;;830:78201:63;5141:24:4;;;;;;;;;;830:78201:63;;;;5141:24:4;830:78201:63;;;;;;;;;35880:20;;;;;830:78201;;;35880:20;;;;;;:::i;:::-;;;;;:::i;:::-;;;;830:78201;;;;;;;;;;;;;1924:4;830:78201;;336:42:2;1910:19:63;;;;830:78201;;1910:19;830:78201;1910:19;;830:78201;1910:19;;830:78201;;;;1910:19;830:78201;;;336:42:2;1910:19:63;;;;;;;;830:78201;;;;;;;;;2017:16;;830:78201;2017:16;830:78201;2017:16;;;;;;;;830:78201;;2017:16;;;830:78201;2011:22;;;;:::i;:::-;830:78201;2006:2;830:78201;;2006:2;830:78201;;;;;2080:4;2062:15;2030:14:2;2062:15:63;;;2030:14:2;;;830:78201:63;2110:10;2030:14:2;;;830:78201:63;;;1924:4;830:78201;;;;;;2110:23;;;830:78201;2110:23;;830:78201;;2110:23;1910:19;2110:23;;;;;;;;;830:78201;;2110:23;;;830:78201;;;;;2285:24;;830:78201;2285:24;830:78201;2285:24;;;;;;;;;830:78201;;2285:24;;;830:78201;;;;;2622:18;;;830:78201;2622:18;;830:78201;;2622:18;1910:19;2622:18;;;;;;;;;830:78201;;;;;;;;2622:18;;;830:78201;;2223:505;830:78201;;2358:338;2223:505;830:78201;;2358:338;830:78201;;;2358:338;;;830:78201;2358:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;2223:505;830:78201;2200:538;;2030:14:2;2809::63;2030::2;830:78201:63;;;2801:35;830:78201;2801:35;;;830:78201;2801:35;;830:78201;1910:19;2030:14:2;;830:78201:63;2801:35;;;;336:42:2;2801:35:63;;;;;;;830:78201;;;;;;;;2801:35;;;830:78201;;;;;2954:35;;830:78201;2954:35;830:78201;2954:35;;;;;;;;;830:78201;;;;;;;;2954:35;;;830:78201;;2926:342;830:78201;;2926:342;830:78201;;;2926:342;;;830:78201;2926:342;;3142:13;;;2926:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;2926:342;830:78201;2903:375;;830:78201;;3351:29;830:78201;3351:29;;830:78201;3351:29;830:78201;3351:29;;;;;;;;;830:78201;;3351:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;3322:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;3322:71;830:78201;2030:14:2;;;3322:71:63;2030:14:2;3322:71:63;830:78201;3312:82;;830:78201;;3448:37;830:78201;3448:37;;830:78201;3448:37;;830:78201;1910:19;2030:14:2;;830:78201:63;2801:35;3448:37;2801:35;3448:37;336:42:2;3448:37:63;;;;;;830:78201;;;;;;;;3448:37;;830:78201;;;;3558:21;830:78201;3558:21;;;830:78201;3558:21;;830:78201;;3558:21;1910:19;3558:21;;;;;;;;;830:78201;;3558:21;;;830:78201;-1:-1:-1;830:78201:63;;;3619:30;;1972:6;830:78201;3619:30;;830:78201;;;;;1910:19;830:78201;3619:30;;;;;;;;830:78201;;3619:30;;;830:78201;3698:440;;;;;;830:78201;;;;3698:440;;;;;;;830:78201;3698:440;;830:78201;;;3698:440;830:78201;3698:440;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;3698:440;;830:78201;;;3698:440;;;;;;;;;830:78201;;;;;;;;1924:4;830:78201;;;;;4208:21;830:78201;4208:21;;830:78201;4208:21;;830:78201;;4208:21;1910:19;4208:21;;;;;;;;;830:78201;;4208:21;;;830:78201;;;;1910:19;830:78201;;;4268:30;;;;830:78201;4268:30;;1972:6;830:78201;4268:30;;830:78201;4268:30;;;;;;;830:78201;;4268:30;;;830:78201;4336:26;;;;;;4402:28;4336:26;4402:28;4336:26;;:::i;:::-;;;:::i;:::-;4402:28;:::i;4268:30::-;;;;;;830:78201;4268:30;;830:78201;4268:30;;;;;;2030:14:2;4268:30:63;;;:::i;:::-;;;2030:14:2;;;;;;4268:30:63;;2030:14:2;;4336:26:63;4268:30;;;;;-1:-1:-1;4268:30:63;;4208:21;;;830:78201;4208:21;;830:78201;4208:21;;;;;;2030:14:2;4208:21:63;;;:::i;:::-;;;2030:14:2;;;;;;;830:78201:63;4208:21;;;;;-1:-1:-1;4208:21:63;;3698:440;830:78201;;3698:440;;;:::i;:::-;830:78201;;;;3698:440;;;3619:30;;;;830:78201;3619:30;;830:78201;3619:30;;;;;;2030:14:2;3619:30:63;;;:::i;:::-;;;2030:14:2;;;;;3619:30:63;;;;;;;-1:-1:-1;3619:30:63;;3558:21;;;830:78201;3558:21;;830:78201;3558:21;;;;;;2030:14:2;3558:21:63;;;:::i;:::-;;;2030:14:2;;;;830:78201:63;2030:14:2;;3558:21:63;;;;;;-1:-1:-1;3558:21:63;;3448:37;;;;;;;;2801:35;3448:37;2801:35;3448:37;;;;;;;:::i;:::-;;;;;;;;3351:29;;;;830:78201;3351:29;;830:78201;3351:29;;;;;;2030:14:2;3351:29:63;;;:::i;:::-;;;2030:14:2;;;;;;3322:71:63;3351:29;;;;;-1:-1:-1;3351:29:63;;2954:35;;;;;;;830:78201;2954:35;;830:78201;2954:35;;;;;;2030:14:2;2954:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;2926:342:63;2954:35;;;;;-1:-1:-1;2954:35:63;;2801;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2622:18;;;;;;;830:78201;2622:18;;830:78201;2622:18;;;;;;2030:14:2;2622:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;2358:338:63;2622:18;;;;;-1:-1:-1;2622:18:63;;2285:24;;;830:78201;2285:24;;830:78201;2285:24;;;;;;2030:14:2;2285:24:63;;;:::i;:::-;;;2030:14:2;;;;;2285:24:63;;;;;;-1:-1:-1;2285:24:63;;2110:23;;;830:78201;2110:23;;830:78201;2110:23;;;;;;2030:14:2;2110:23:63;;;:::i;:::-;;;2030:14:2;;;;;2110:23:63;;;;;;-1:-1:-1;2110:23:63;;2017:16;;830:78201;2017:16;;830:78201;2017:16;;;;;;830:78201;2017:16;;;:::i;:::-;;;830:78201;;;;;2011:22;830:78201;;:::i;:::-;2017:16;;;;;-1:-1:-1;2017:16:63;;1910:19;830:78201;;1910:19;;;:::i;:::-;830:78201;;;;1910:19;;;830:78201;;;;;;;;;;;;1807:33;830:78201;1815:10;2030:14:2;;;830:78201:63;1807:33;;;:::i;830:78201::-;;;;;;;;;;;;;49753:4;830:78201;;336:42:2;49739:19:63;;;;830:78201;;49739:19;830:78201;49739:19;;830:78201;49739:19;;830:78201;;;;49739:19;830:78201;;;336:42:2;49739:19:63;;;;;;;;830:78201;;;;;;;;;49846:16;;830:78201;49846:16;830:78201;49846:16;;;;;;;;830:78201;;49846:16;;;830:78201;49840:22;;;;:::i;:::-;830:78201;49835:2;830:78201;;49835:2;830:78201;;;;;49909:4;49891:15;2030:14:2;49891:15:63;;;2030:14:2;;;830:78201:63;49939:10;2030:14:2;;;830:78201:63;;;49753:4;830:78201;;;;;49939:23;830:78201;49939:23;;;830:78201;49939:23;;830:78201;;49939:23;49739:19;49939:23;;;;;;;;;830:78201;;49939:23;;;830:78201;;;;;50079:24;;830:78201;50079:24;830:78201;50079:24;;;;;;;;;830:78201;;50079:24;;;830:78201;;;;;50416:18;;;830:78201;50416:18;;830:78201;;50416:18;49739:19;50416:18;;;;;;;;;830:78201;;;;;;;;50416:18;;;830:78201;;50017:505;830:78201;;50152:338;50017:505;830:78201;;50152:338;830:78201;;;50152:338;;;830:78201;50152:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;50017:505;830:78201;49994:538;;2030:14:2;50603::63;2030::2;830:78201:63;;;50595:35;830:78201;50595:35;;;830:78201;50595:35;;830:78201;49739:19;2030:14:2;;830:78201:63;50595:35;;;;336:42:2;50595:35:63;;;;;;;830:78201;;;;;;;50595:35;;830:78201;;;;;50713:35;;830:78201;50713:35;830:78201;50713:35;;;;;;;;;830:78201;;;;;;;;50713:35;;;830:78201;;50685:342;830:78201;;50685:342;830:78201;;;50685:342;;;;830:78201;50685:342;;50901:13;;50685:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;50685:342;830:78201;50662:375;;830:78201;;51109:29;830:78201;51109:29;;830:78201;51109:29;830:78201;51109:29;;;;;;;;;830:78201;;51109:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;51080:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;51080:71;830:78201;2030:14:2;;;51080:71:63;2030:14:2;51080:71:63;830:78201;51070:82;;830:78201;;51205:37;830:78201;51205:37;;830:78201;51205:37;;830:78201;49739:19;2030:14:2;;830:78201:63;50595:35;51205:37;50595:35;51205:37;336:42:2;51205:37:63;;;;;;;830:78201;;;;;;;;51205:37;;;830:78201;51290:356;;;;;;830:78201;;;51290:356;;830:78201;;;;;;;;51290:356;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;830:78201:63;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;51290:356;;;;;;;;830:78201;2030:14:2;830:78201:63;49939:10;2030:14:2;;;830:78201:63;;;49753:4;830:78201;;;;;51790:23;830:78201;51790:23;;;830:78201;51790:23;;830:78201;;51790:23;49739:19;51790:23;;;;;;;;;830:78201;;51790:23;;;830:78201;;;;;;;;;51930:24;830:78201;51930:24;;830:78201;51930:24;830:78201;51930:24;;;;;;;;;830:78201;;51930:24;;;830:78201;;;;49739:19;830:78201;;;52267:18;;;;830:78201;52267:18;;;830:78201;52267:18;;830:78201;52267:18;;;;;;;830:78201;;;;;;52267:18;;;830:78201;;51868:522;830:78201;;52003:355;51868:522;830:78201;;52003:355;830:78201;;;52003:355;;;830:78201;52003:355;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;51868:522;830:78201;51845:555;;2030:14:2;50603::63;2030::2;830:78201:63;;;52466:36;830:78201;52466:36;;830:78201;52466:36;;830:78201;49739:19;2030:14:2;;830:78201:63;50595:35;52466:36;50595:35;52466:36;336:42:2;52466:36:63;;;;;;;830:78201;;;;;;;52466:36;;830:78201;52609:71;336:42:2;52609:71:63;;;;830:78201;;;52609:71;;52625:54;830:78201;52609:71;;830:78201;;;;49739:19;830:78201;;336:42:2;52609:71:63;;;;;;;;830:78201;2030:14:2;830:78201:63;49939:10;2030:14:2;;;830:78201:63;;;49753:4;830:78201;;;;;;;52690:360;;;;;;830:78201;;52690:360;;;;;;;830:78201;52690:360;;830:78201;;;52690:360;830:78201;52690:360;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;52690:360;;830:78201;;;52690:360;;;;;;;;;53061:14;336:42:2;53061:14:63;;;;830:78201;;;53061:14;;830:78201;;;;;;336:42:2;53061:14:63;;;;;;;;830:78201;;;;52609:71;830:78201;;52609:71;;;:::i;:::-;830:78201;;;;52609:71;;;52466:36;;;;;;;;;50595:35;52466:36;50595:35;52466:36;;;;;;;:::i;:::-;;;;;;;;52267:18;;;;;;830:78201;52267:18;;830:78201;52267:18;;;;;;2030:14:2;52267:18:63;;;:::i;:::-;;;2030:14:2;;;;;;52267:18:63;;2030:14:2;;;;51868:522:63;52267:18;;;;;-1:-1:-1;52267:18:63;;51930:24;;;;;830:78201;51930:24;;830:78201;51930:24;;;;;;2030:14:2;51930:24:63;;;:::i;:::-;;;2030:14:2;;;;;;;830:78201:63;51930:24;;;;;-1:-1:-1;51930:24:63;;51790:23;;;;830:78201;51790:23;;830:78201;51790:23;;;;;;2030:14:2;51790:23:63;;;:::i;:::-;;;2030:14:2;;;;;51790:23:63;;;;;;;-1:-1:-1;51790:23:63;;51290:356;830:78201;;51290:356;;;:::i;:::-;830:78201;;;;51290:356;;;51205:37;;;;;;;;;;50595:35;51205:37;50595:35;51205:37;;;;;;;:::i;:::-;;;;;;;;;;51109:29;;;;830:78201;51109:29;;830:78201;51109:29;;;;;;2030:14:2;51109:29:63;;;:::i;:::-;;;2030:14:2;;;;;;51080:71:63;51109:29;;;;;-1:-1:-1;51109:29:63;;50713:35;;;;;;;830:78201;50713:35;;830:78201;50713:35;;;;;;2030:14:2;50713:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;50685:342:63;50713:35;;;;;-1:-1:-1;50713:35:63;;50595;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;50416:18;;;;;;;830:78201;50416:18;;830:78201;50416:18;;;;;;2030:14:2;50416:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;50152:338:63;50416:18;;;;;-1:-1:-1;50416:18:63;;50079:24;;;830:78201;50079:24;;830:78201;50079:24;;;;;;2030:14:2;50079:24:63;;;:::i;:::-;;;2030:14:2;;;;;50079:24:63;;;;;;-1:-1:-1;50079:24:63;;49939:23;;;;830:78201;49939:23;;830:78201;49939:23;;;;;;2030:14:2;49939:23:63;;;:::i;:::-;;;2030:14:2;;;;;49939:23:63;;;;;;;-1:-1:-1;49939:23:63;;49846:16;;830:78201;49846:16;;830:78201;49846:16;;;;;;830:78201;49846:16;;;:::i;:::-;;;830:78201;;;;;49840:22;830:78201;;:::i;:::-;49846:16;;;;;-1:-1:-1;49846:16:63;;49739:19;830:78201;;49739:19;;;:::i;:::-;830:78201;;;;49739:19;;;830:78201;;;;;;;;;;;;;38807:4;830:78201;;336:42:2;38793:19:63;;;;830:78201;;38793:19;830:78201;38793:19;;830:78201;38793:19;;830:78201;;;;38793:19;830:78201;;;336:42:2;38793:19:63;;;;;;;;830:78201;;;;;;;;;38900:16;;830:78201;38900:16;830:78201;38900:16;;;;;;;;830:78201;;38900:16;;;830:78201;38894:22;;;;:::i;:::-;830:78201;38889:2;830:78201;;38889:2;830:78201;;;;;;38945:15;830:78201;38945:15;;830:78201;;;;;39009:10;2030:14:2;;;830:78201:63;;;38807:4;830:78201;;;;;39009:23;830:78201;39009:23;;;830:78201;39009:23;;830:78201;;39009:23;38793:19;39009:23;;;;;;;;;830:78201;;39009:23;;;830:78201;;;;;39149:24;;830:78201;39149:24;830:78201;39149:24;;;;;;;;;830:78201;;39149:24;;;830:78201;;;;;39486:18;;;830:78201;39486:18;;830:78201;;39486:18;38793:19;39486:18;;;;;;;;;830:78201;;;;;;;;39486:18;;;830:78201;;39087:505;830:78201;;39222:338;39087:505;830:78201;;39222:338;830:78201;;;39222:338;;;830:78201;39222:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;39087:505;830:78201;39064:538;;2030:14:2;39673::63;2030::2;830:78201:63;;;39665:35;830:78201;39665:35;;;830:78201;39665:35;;830:78201;38793:19;2030:14:2;;830:78201:63;39665:35;;;;336:42:2;39665:35:63;;;;;;;830:78201;;;;;;;39665:35;;830:78201;;;;39783:35;830:78201;39783:35;;830:78201;39783:35;830:78201;39783:35;;;;;;;;;830:78201;;;;;;39783:35;;;830:78201;;;;;39755:342;830:78201;;;39755:342;830:78201;;;;39755:342;;;;;;39971:13;;39755:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;39755:342;830:78201;39732:375;;830:78201;;;40179:29;;;;830:78201;40179:29;;;;;;;;;830:78201;;40179:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;40150:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;40150:71;830:78201;2030:14:2;;;40150:71:63;2030:14:2;40150:71:63;830:78201;40140:82;;830:78201;;40275:37;830:78201;40275:37;;830:78201;40275:37;;830:78201;38793:19;2030:14:2;;830:78201:63;39665:35;40275:37;39665:35;40275:37;336:42:2;40275:37:63;;;;;;830:78201;;;;;;;;40275:37;;830:78201;40323:62;336:42:2;40323:62:63;;;;830:78201;;;40323:62;;40339:45;830:78201;40323:62;;830:78201;;;;38793:19;830:78201;;336:42:2;40323:62:63;;;;;;;;2030:14:2;830:78201:63;39009:10;2030:14:2;;;830:78201:63;;;38807:4;830:78201;;;;;;;40395:356;;;;;;830:78201;;40395:356;;;;;;;830:78201;40395:356;;830:78201;;;40395:356;830:78201;40395:356;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;40275:37;;;;;;;;39665:35;40275:37;39665:35;40275:37;;;;;;;:::i;:::-;;;;;;;;40179:29;;;;830:78201;40179:29;;830:78201;40179:29;;;;;;2030:14:2;40179:29:63;;;:::i;:::-;;;2030:14:2;;;;;;40150:71:63;40179:29;;;;;-1:-1:-1;40179:29:63;;39783:35;;;;;;830:78201;39783:35;;830:78201;39783:35;;;;;;2030:14:2;39783:35:63;;;:::i;:::-;;;2030:14:2;;;;;;39783:35:63;;2030:14:2;;;;830:78201:63;39783:35;;;;;-1:-1:-1;39783:35:63;;39665;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;39486:18;;;;;;;830:78201;39486:18;;830:78201;39486:18;;;;;;2030:14:2;39486:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;39222:338:63;39486:18;;;;;-1:-1:-1;39486:18:63;;39149:24;;;830:78201;39149:24;;830:78201;39149:24;;;;;;2030:14:2;39149:24:63;;;:::i;:::-;;;2030:14:2;;;;;39149:24:63;;;;;;-1:-1:-1;39149:24:63;;39009:23;;;;830:78201;39009:23;;830:78201;39009:23;;;;;;2030:14:2;39009:23:63;;;:::i;:::-;;;2030:14:2;;;;;39009:23:63;;;;;;;-1:-1:-1;39009:23:63;;38900:16;;830:78201;38900:16;;830:78201;38900:16;;;;;;830:78201;38900:16;;;:::i;:::-;;;830:78201;;;;;38894:22;830:78201;;:::i;:::-;38900:16;;;;;-1:-1:-1;38900:16:63;;38793:19;830:78201;;38793:19;;;:::i;:::-;830:78201;;;;38793:19;;;830:78201;;;;;;;;;;;;;18322:4;830:78201;;336:42:2;18308:19:63;;;;830:78201;;18308:19;830:78201;18308:19;;830:78201;18308:19;;830:78201;;;;18308:19;830:78201;;;336:42:2;18308:19:63;;;;;;;;830:78201;;;;;;;;;18415:16;;830:78201;18415:16;830:78201;18415:16;;;;;;;;830:78201;;18415:16;;;830:78201;18409:22;;;;:::i;:::-;830:78201;18404:2;830:78201;;18404:2;830:78201;;;;;18478:4;18460:15;2030:14:2;18460:15:63;;;2030:14:2;;;830:78201:63;18555:10;2030:14:2;;;830:78201:63;;;18322:4;830:78201;;;;;18555:23;830:78201;18555:23;;;830:78201;18555:23;;830:78201;;18555:23;18308:19;18555:23;;;;;;;;;830:78201;;18555:23;;;830:78201;;;;;18696:24;;830:78201;18696:24;830:78201;18696:24;;;;;;;;;830:78201;;18696:24;;;830:78201;;;;;19033:18;;;830:78201;19033:18;;830:78201;;19033:18;18308:19;19033:18;;;;;;;;830:78201;;;;19033:18;;;830:78201;;18634:505;830:78201;18634:505;830:78201;18769:338;830:78201;18769:338;830:78201;;;18769:338;;;;830:78201;18769:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;18634:505;830:78201;18611:538;;2030:14:2;19223::63;2030::2;830:78201:63;;;19215:36;830:78201;19215:36;;;830:78201;19215:36;;830:78201;18308:19;2030:14:2;;830:78201:63;19215:36;;;;336:42:2;19215:36:63;;;;;;;830:78201;;;;;;;;19215:36;;830:78201;;;;;19335:35;;830:78201;19335:35;830:78201;19335:35;;;;;;;;;830:78201;;;;;;;;19335:35;;;830:78201;;19307:343;830:78201;;19307:343;830:78201;;;19307:343;;;830:78201;19307:343;;19523:13;;;19307:343;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;19307:343;830:78201;19284:376;;830:78201;;19734:29;830:78201;19734:29;;830:78201;19734:29;830:78201;19734:29;;;;;;;;;830:78201;;19734:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;19705:72;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;19705:72;830:78201;2030:14:2;;;19705:72:63;2030:14:2;19705:72:63;830:78201;19695:83;;830:78201;;19835:38;830:78201;19835:38;;830:78201;19835:38;;830:78201;18308:19;2030:14:2;;830:78201:63;19215:36;19835:38;19215:36;19835:38;336:42:2;19835:38:63;;;;;;;830:78201;;;;;;;19835:38;;830:78201;19884:363;;;;;;830:78201;;;;;;19884:363;;;;;;;830:78201;19884:363;;830:78201;;;19884:363;830:78201;19884:363;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;19884:363;;830:78201;;;19884:363;;;;;;;;;830:78201;;;;;;;;18322:4;830:78201;;2030:14:2;830:78201:63;18555:10;2030:14:2;;;830:78201:63;;;;;20307:42;;830:78201;20307:42;;;;;830:78201;20307:42;;830:78201;;;;;;;;;;;;;;;;;;;20307:42;;;;;;;;;;830:78201;;20307:42;;;830:78201;20298:55;;;;:::i;:::-;830:78201;;20427:23;830:78201;20427:23;;;830:78201;20427:23;;830:78201;;20427:23;18308:19;20427:23;;;;;;;;;830:78201;;20427:23;;;830:78201;;;;;20568:24;;830:78201;20568:24;830:78201;20568:24;;;;;;;;;830:78201;;20568:24;;;830:78201;;;;;20905:18;;;830:78201;20905:18;;830:78201;;20905:18;18308:19;20905:18;;;;;;;;;830:78201;;;;;;20905:18;;;830:78201;;;20506:505;830:78201;20641:338;20506:505;830:78201;20641:338;830:78201;;20641:338;;;;;830:78201;20641:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;20506:505;830:78201;20483:538;;2030:14:2;19223::63;2030::2;830:78201:63;;21087:36;830:78201;21087:36;;;830:78201;21087:36;;830:78201;18308:19;2030:14:2;;830:78201:63;19215:36;21087;19215;21087;336:42:2;21087:36:63;;;;;;;830:78201;;;;;;;;21087:36;;830:78201;;;;;21207:35;;830:78201;21207:35;830:78201;21207:35;;;;;;;;;830:78201;;;;;;21207:35;;;830:78201;-1:-1:-1;830:78201:63;;;;21179:343;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19523:13;830:78201;;;;;;;;;;;;;;;2030:14:2;;;830:78201:63;;;;21179:343;;830:78201;;;;21179:343;830:78201;21179:343;830:78201;21156:376;;830:78201;;21606:29;830:78201;21606:29;;830:78201;21606:29;830:78201;21606:29;;;;;;;;;830:78201;;21606:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;21577:72;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;21577:72;830:78201;2030:14:2;;;21577:72:63;2030:14:2;21577:72:63;830:78201;21567:83;;830:78201;;21707:38;830:78201;21707:38;;830:78201;21707:38;;830:78201;18308:19;2030:14:2;;830:78201:63;19215:36;21707:38;19215:36;21707:38;336:42:2;21707:38:63;;;;;;;830:78201;;;;;;;;21707:38;;830:78201;21756:363;;;;;;830:78201;;21756:363;;;;;;;830:78201;21756:363;;830:78201;;;21756:363;830:78201;21756:363;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;21756:363;;830:78201;;;21756:363;;;;;;;;;830:78201;-1:-1:-1;830:78201:63;;;18322:4;830:78201;18555:10;2030:14:2;830:78201:63;;;22139:42;;830:78201;;;;;22139:42;;830:78201;2030:14:2;;;;;830:78201:63;;;;;;;;;;;;;;;22139:42;;;;;;830:78201;;22139:42;;;830:78201;22130:55;;;;:::i;22139:42::-;;830:78201;22139:42;;830:78201;22139:42;;;;;;2030:14:2;22139:42:63;;;:::i;:::-;;;2030:14:2;;;;22130:55:63;2030:14:2;;22139:42:63;;;;;-1:-1:-1;22139:42:63;;21756:363;830:78201;;21756:363;;;:::i;:::-;830:78201;;;;21756:363;;;21707:38;;;;;;;;;19215:36;21707:38;19215:36;21707:38;;;;;;;:::i;:::-;;;;;;;;21606:29;;;;830:78201;21606:29;;830:78201;21606:29;;;;;;2030:14:2;21606:29:63;;;:::i;:::-;;;2030:14:2;;;;;;21577:72:63;21606:29;;;;;-1:-1:-1;21606:29:63;;21207:35;;;;;830:78201;21207:35;;830:78201;21207:35;;;;;;2030:14:2;21207:35:63;;;:::i;:::-;;;2030:14:2;;;;;21179:343:63;2030:14:2;;;21207:35:63;;;;;;-1:-1:-1;21207:35:63;;21087:36;;;;;;;;19215;21087;19215;21087;;;;;;;:::i;:::-;;;;;;;20905:18;;;;;830:78201;20905:18;;830:78201;20905:18;;;;;;2030:14:2;20905:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;20506:505:63;20905:18;;;;;-1:-1:-1;20905:18:63;;20568:24;;;830:78201;20568:24;;830:78201;20568:24;;;;;;2030:14:2;20568:24:63;;;:::i;:::-;;;2030:14:2;;;;;20568:24:63;;;;;;-1:-1:-1;20568:24:63;;20427:23;;;;830:78201;20427:23;;830:78201;20427:23;;;;;;2030:14:2;20427:23:63;;;:::i;:::-;;;2030:14:2;;;;;20427:23:63;;;;;;;-1:-1:-1;20427:23:63;;20307:42;;830:78201;20307:42;;830:78201;20307:42;;;;;;2030:14:2;20307:42:63;;;:::i;:::-;;;2030:14:2;;;;20298:55:63;2030:14:2;;20307:42:63;;;;;-1:-1:-1;20307:42:63;;19884:363;830:78201;;19884:363;;;:::i;:::-;830:78201;;;;19884:363;;;19835:38;;;;;;;19215:36;19835:38;19215:36;19835:38;;;;;;;:::i;:::-;;;;;19734:29;;;;830:78201;19734:29;;830:78201;19734:29;;;;;;2030:14:2;19734:29:63;;;:::i;:::-;;;2030:14:2;;;;;;19705:72:63;19734:29;;;;;-1:-1:-1;19734:29:63;;19335:35;;;;;;;830:78201;19335:35;;830:78201;19335:35;;;;;;2030:14:2;19335:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;19307:343:63;19335:35;;;;;-1:-1:-1;19335:35:63;;19215:36;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;19033:18;;;;830:78201;19033:18;;830:78201;19033:18;;;;;;2030:14:2;19033:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;18634:505:63;19033:18;;;;;-1:-1:-1;19033:18:63;;18696:24;;;830:78201;18696:24;;830:78201;18696:24;;;;;;2030:14:2;18696:24:63;;;:::i;:::-;;;2030:14:2;;;;;18696:24:63;;;;;;-1:-1:-1;18696:24:63;;18555:23;;;;830:78201;18555:23;;830:78201;18555:23;;;;;;2030:14:2;18555:23:63;;;:::i;:::-;;;2030:14:2;;;;;18555:23:63;;;;;;;-1:-1:-1;18555:23:63;;18415:16;;830:78201;18415:16;;830:78201;18415:16;;;;;;830:78201;18415:16;;;:::i;:::-;;;830:78201;;;;;18409:22;830:78201;;:::i;:::-;18415:16;;;;;-1:-1:-1;18415:16:63;;18308:19;830:78201;;18308:19;;;:::i;:::-;830:78201;;;;18308:19;;;830:78201;;;;;;;;;;;;;47596:4;830:78201;;336:42:2;47582:19:63;;;;830:78201;;47582:19;830:78201;47582:19;;830:78201;47582:19;;830:78201;;;;47582:19;830:78201;;;336:42:2;47582:19:63;;;;;;;;830:78201;;;;;;;;;47689:16;;830:78201;47689:16;830:78201;47689:16;;;;;;;;830:78201;;47689:16;;;830:78201;47683:22;;;;:::i;:::-;830:78201;47678:2;830:78201;;47678:2;830:78201;;;;;47752:4;47734:15;2030:14:2;47734:15:63;;;2030:14:2;;;830:78201:63;47782:10;2030:14:2;;;830:78201:63;;47596:4;830:78201;;;;;47782:23;830:78201;47782:23;;;830:78201;47782:23;;830:78201;;47782:23;47582:19;47782:23;;;;;;;;;830:78201;;47782:23;;;830:78201;;;;;48020:24;;830:78201;48020:24;830:78201;48020:24;;;;;;;;;830:78201;;48020:24;;;830:78201;;;;;48357:18;;;830:78201;48357:18;;830:78201;;48357:18;47582:19;48357:18;;;;;;;;;830:78201;;;;;;48357:18;;;830:78201;;;47958:505;830:78201;48093:338;47958:505;830:78201;48093:338;830:78201;;48093:338;;;;;830:78201;48093:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;47958:505;830:78201;47935:538;;2030:14:2;48544::63;2030::2;830:78201:63;;;48536:35;830:78201;48536:35;;830:78201;48536:35;;830:78201;47582:19;2030:14:2;;830:78201:63;48536:35;;;;336:42:2;48536:35:63;;;;;;;830:78201;;;;;;;48536:35;;830:78201;;;;48654:35;830:78201;48654:35;;830:78201;48654:35;830:78201;48654:35;;;;;;;;;830:78201;;;;;;48654:35;;;830:78201;;;;;48626:342;830:78201;;;48626:342;830:78201;;;;48626:342;;;;;;48842:13;;48626:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;48626:342;830:78201;48603:375;;830:78201;;;49050:29;;;;830:78201;49050:29;;;;;;;;;830:78201;;49050:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;49021:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;49021:71;830:78201;2030:14:2;;;49021:71:63;2030:14:2;49021:71:63;830:78201;49011:82;;830:78201;;;49146:38;830:78201;49146:38;;47892:11;830:78201;49146:38;;830:78201;47582:19;2030:14:2;;830:78201:63;48536:35;49146:38;48536:35;49146:38;336:42:2;49146:38:63;;;;;;830:78201;;;;;;;;49146:38;;49195:71;336:42:2;49195:71:63;;;;830:78201;;;49195:71;;49211:54;830:78201;49195:71;;830:78201;;;;47582:19;830:78201;;336:42:2;49195:71:63;;;;;;;;2030:14:2;830:78201:63;47782:10;2030:14:2;;;830:78201:63;;;47596:4;830:78201;;;;;;;49276:356;;;;;;830:78201;;49276:356;;;;;;;830:78201;49276:356;;830:78201;;;49276:356;830:78201;49276:356;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;49146:38;;;;;;;;48536:35;49146:38;48536:35;49146:38;;;;;;;:::i;:::-;;;;;;;;49050:29;;;;830:78201;49050:29;;830:78201;49050:29;;;;;;2030:14:2;49050:29:63;;;:::i;:::-;;;2030:14:2;;;;;;49021:71:63;49050:29;;;;;-1:-1:-1;49050:29:63;;48654:35;;;;;;830:78201;48654:35;;830:78201;48654:35;;;;;;2030:14:2;48654:35:63;;;:::i;:::-;;;2030:14:2;;;;;;48654:35:63;;2030:14:2;;;;830:78201:63;48654:35;;;;;-1:-1:-1;48654:35:63;;48536;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;48357:18;;;;;830:78201;48357:18;;830:78201;48357:18;;;;;;2030:14:2;48357:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;47958:505:63;48357:18;;;;;-1:-1:-1;48357:18:63;;48020:24;;;830:78201;48020:24;;830:78201;48020:24;;;;;;2030:14:2;48020:24:63;;;:::i;:::-;;;2030:14:2;;;;;48020:24:63;;;;;;-1:-1:-1;48020:24:63;;47782:23;;;;830:78201;47782:23;;830:78201;47782:23;;;;;;2030:14:2;47782:23:63;;;:::i;:::-;;;2030:14:2;;;;;47782:23:63;;;;;;;-1:-1:-1;47782:23:63;;47689:16;;830:78201;47689:16;;830:78201;47689:16;;;;;;830:78201;47689:16;;;:::i;:::-;;;830:78201;;;;;47683:22;830:78201;;:::i;:::-;47689:16;;;;;-1:-1:-1;47689:16:63;;47582:19;830:78201;;47582:19;;;:::i;:::-;830:78201;;;;47582:19;;;830:78201;;;;;;;;;;;;;7387:4;830:78201;;336:42:2;7373:19:63;;;;830:78201;;7373:19;830:78201;7373:19;;830:78201;7373:19;;830:78201;;;;7373:19;830:78201;;;336:42:2;7373:19:63;;;;;;;;830:78201;;;;;;;;;7480:16;;830:78201;7480:16;830:78201;7480:16;;;;;;;;830:78201;;7480:16;;;830:78201;7474:22;;;;:::i;:::-;830:78201;7469:2;830:78201;;7469:2;830:78201;;;;;;7525:15;830:78201;7525:15;;830:78201;;;;;7581:10;2030:14:2;;;830:78201:63;;;7387:4;830:78201;;;;;7581:23;830:78201;7581:23;;;830:78201;7581:23;;830:78201;;7581:23;7373:19;7581:23;;;;;;;;;830:78201;;7581:23;;;830:78201;;;;;7756:24;;830:78201;7756:24;830:78201;7756:24;;;;;;;;;830:78201;;7756:24;;;830:78201;;;;;8093:18;;;830:78201;8093:18;;830:78201;;8093:18;7373:19;8093:18;;;;;;;;;830:78201;;;;;;;;8093:18;;;830:78201;;7694:505;830:78201;;7829:338;7694:505;830:78201;;7829:338;830:78201;;;7829:338;;;830:78201;7829:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;7694:505;830:78201;7671:538;;2030:14:2;8280::63;2030::2;830:78201:63;;;8272:35;830:78201;8272:35;;;830:78201;8272:35;;830:78201;7373:19;2030:14:2;;830:78201:63;8272:35;;;;336:42:2;8272:35:63;;;;;;;830:78201;;;;;;;8272:35;;830:78201;;;;8425:35;830:78201;8425:35;;830:78201;8425:35;830:78201;8425:35;;;;;;;;;830:78201;;;;;;8425:35;;;830:78201;;;;;8397:342;830:78201;;;8397:342;830:78201;;;;8397:342;;;;;;8613:13;;8397:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;8397:342;830:78201;8374:375;;830:78201;;;8822:29;;;;830:78201;8822:29;;;;;;;;;830:78201;;8822:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;8793:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;8793:71;830:78201;2030:14:2;;;8793:71:63;2030:14:2;8793:71:63;830:78201;8783:82;;830:78201;;8919:37;830:78201;8919:37;;830:78201;8919:37;;830:78201;7373:19;2030:14:2;;830:78201:63;8272:35;8919:37;8272:35;8919:37;336:42:2;8919:37:63;;;;;;830:78201;;;;;;;;8919:37;;830:78201;8967:17;336:42:2;8967:17:63;;;;830:78201;;;8967:17;;830:78201;;;;;;336:42:2;8967:17:63;;;;;;;;2030:14:2;830:78201:63;7581:10;2030:14:2;;;830:78201:63;;;7387:4;830:78201;;;;;;;8994:440;;;;;;830:78201;;8994:440;;;;;;;830:78201;8994:440;;830:78201;;;8994:440;830:78201;8994:440;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;8919:37;;;;;;;;8272:35;8919:37;8272:35;8919:37;;;;;;;:::i;:::-;;;;;;;;8822:29;;;;830:78201;8822:29;;830:78201;8822:29;;;;;;2030:14:2;8822:29:63;;;:::i;:::-;;;2030:14:2;;;;;;8793:71:63;8822:29;;;;;-1:-1:-1;8822:29:63;;8425:35;;;;;;830:78201;8425:35;;830:78201;8425:35;;;;;;2030:14:2;8425:35:63;;;:::i;:::-;;;2030:14:2;;;;;;8425:35:63;;2030:14:2;;;;830:78201:63;8425:35;;;;;-1:-1:-1;8425:35:63;;8272;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;8093:18;;;;;;;830:78201;8093:18;;830:78201;8093:18;;;;;;2030:14:2;8093:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;7829:338:63;8093:18;;;;;-1:-1:-1;8093:18:63;;7756:24;;;830:78201;7756:24;;830:78201;7756:24;;;;;;2030:14:2;7756:24:63;;;:::i;:::-;;;2030:14:2;;;;;7756:24:63;;;;;;-1:-1:-1;7756:24:63;;7581:23;;;;830:78201;7581:23;;830:78201;7581:23;;;;;;2030:14:2;7581:23:63;;;:::i;:::-;;;2030:14:2;;;;;7581:23:63;;;;;;;-1:-1:-1;7581:23:63;;7480:16;;830:78201;7480:16;;830:78201;7480:16;;;;;;830:78201;7480:16;;;:::i;:::-;;;830:78201;;;;;7474:22;830:78201;;:::i;:::-;7480:16;;;;;-1:-1:-1;7480:16:63;;7373:19;830:78201;;7373:19;;;:::i;:::-;830:78201;;;;7373:19;;;830:78201;;;;;;;;;;;;;11764:4;830:78201;;336:42:2;11750:19:63;;;;830:78201;;11750:19;830:78201;11750:19;;830:78201;11750:19;;830:78201;;;;11750:19;830:78201;;;336:42:2;11750:19:63;;;;;;;;830:78201;;;;;;;;;11905:16;;830:78201;11905:16;830:78201;11905:16;;;;;;;;830:78201;;11905:16;;;830:78201;11899:22;;;;:::i;:::-;;;11894:2;830:78201;;;;;;;;;;;;;11961:16;;830:78201;11961:16;830:78201;11961:16;;;;;;;;830:78201;;11961:16;;;830:78201;11955:22;;;;:::i;:::-;830:78201;11951:1;830:78201;;;;;;;;12009:18;830:78201;11951:1;830:78201;;;11894:2;830:78201;12009:18;:::i;:::-;;;12074:4;12056:15;2030:14:2;12056:15:63;2030:14:2;;;830:78201:63;12104:10;2030:14:2;;;830:78201:63;;;11764:4;830:78201;;;;;12104:23;830:78201;12104:23;;;830:78201;12104:23;;830:78201;;12104:23;11750:19;12104:23;;;;;;;;;830:78201;;12104:23;;;830:78201;;;;;12312:24;;830:78201;12312:24;830:78201;12312:24;;;;;;;;;830:78201;;12312:24;;;830:78201;;;;;12654:18;;;830:78201;12654:18;;830:78201;;12654:18;11750:19;12654:18;;;;;;;;;830:78201;;12654:18;;;830:78201;-1:-1:-1;830:78201:63;;;12385:343;;;74860:95;830:78201;12385:343;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12056:15;12074:4;2030:14:2;830:78201:63;;;;12250:510;;;;12385:343;;830:78201;;;;12250:510;830:78201;12250:510;830:78201;12227:543;;2030:14:2;12841::63;2030::2;830:78201:63;;;12833:35;830:78201;12833:35;;;830:78201;12833:35;;830:78201;11750:19;2030:14:2;;830:78201:63;12833:35;;;;336:42:2;12833:35:63;;;;;;;830:78201;;;;;;;;12833:35;;;830:78201;;;;;12986:35;;830:78201;12986:35;830:78201;12986:35;;;;;;;;;830:78201;;12986:35;;;830:78201;;;;;12958:323;;-1:-1:-1;;;2030:14:2;830:78201:63;;2030:14:2;830:78201:63;2030:14:2;;830:78201:63;2030:14:2;12833:35:63;2030:14:2;;830:78201:63;;;11894:2;830:78201;2030:14:2;;;830:78201:63;11812:6;2030:14:2;;;830:78201:63;12074:4;12056:15;2030:14:2;;;;830:78201:63;13174:13;830:78201;2030:14:2;;830:78201:63;2030:14:2;;;;830:78201:63;;11951:1;830:78201;2030:14:2;;;830:78201:63;11860:6;2030:14:2;;;830:78201:63;2030:14:2;12958:323:63;;;;;;:::i;:::-;830:78201;12935:356;;830:78201;;13364:29;830:78201;13364:29;;830:78201;13364:29;830:78201;13364:29;;;;;;;;;830:78201;;13364:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;13335:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;13335:71;830:78201;2030:14:2;;;13335:71:63;2030:14:2;13335:71:63;830:78201;13325:82;;830:78201;;13461:37;830:78201;13461:37;;830:78201;13461:37;;830:78201;11750:19;2030:14:2;;830:78201:63;12833:35;13461:37;12833:35;13461:37;336:42:2;13461:37:63;;;;;;;11750:19;830:78201;;;;;;;;;13461:37;;;830:78201;;;;;;13571:21;;;;830:78201;13571:21;;;830:78201;13571:21;;830:78201;13571:21;;;;;;;830:78201;;13571:21;;;830:78201;;;;13632:30;;11812:6;830:78201;13632:30;;830:78201;;-1:-1:-1;830:78201:63;;11750:19;830:78201;13632:30;;;;;;;;830:78201;;13632:30;;;830:78201;;;;13708:29;830:78201;13708:29;;11860:6;830:78201;13708:29;;830:78201;;13708:29;11750:19;13708:29;;;;;;;;;830:78201;;13708:29;;;830:78201;13831:425;;;;;;830:78201;;;;;;13831:425;830:78201;13831:425;;-1:-1:-1;;830:78201:63;;13831:425;;830:78201;11750:19;830:78201;;;;;11894:2;830:78201;12833:35;830:78201;;;;;;;;;11812:6;830:78201;;;;12074:4;12056:15;2030:14:2;830:78201:63;;;;;;;;;11951:1;830:78201;;;;;11860:6;830:78201;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;13831:425;830:78201;;;;;;13831:425;;;;;;;;;830:78201;;;;;;;;11764:4;830:78201;;;;;14326:21;830:78201;14326:21;;830:78201;14326:21;;830:78201;;14326:21;11750:19;14326:21;;;;;;;;;830:78201;;14326:21;;;830:78201;;;;14386:30;830:78201;14386:30;;11812:6;830:78201;14386:30;;830:78201;;14386:30;11750:19;14386:30;;;;;;;;;830:78201;;14386:30;;;830:78201;;;11750:19;830:78201;;;14461:29;;;;830:78201;14461:29;;11860:6;830:78201;14461:29;;830:78201;14461:29;;;;;;;830:78201;;14461:29;;;830:78201;14528:31;;14599:28;;14528:31;;14673:37;14528:31;;14673:37;14528:31;;;;;;;:::i;:::-;830:78201;;11894:2;830:78201;14599:28;;:::i;:::-;11951:1;830:78201;14673:37;;:::i;14461:29::-;;;;;;;;830:78201;14461:29;;830:78201;14461:29;;;;;;2030:14:2;14461:29:63;;;:::i;:::-;;;2030:14:2;;;;;;;14461:29:63;;;;;;2030:14:2;14599:28:63;14461:29;;;;;-1:-1:-1;14461:29:63;;14386:30;;;;830:78201;14386:30;;830:78201;14386:30;;;;;;2030:14:2;14386:30:63;;;:::i;:::-;;;2030:14:2;;;;;;14386:30:63;;830:78201;14386:30;;;;;-1:-1:-1;14386:30:63;;14326:21;;;;830:78201;14326:21;;830:78201;14326:21;;;;;;2030:14:2;14326:21:63;;;:::i;:::-;;;2030:14:2;;;;;14326:21:63;;;;;;;-1:-1:-1;14326:21:63;;13831:425;830:78201;;13831:425;;;:::i;:::-;830:78201;;;;13831:425;;;13708:29;;;;830:78201;13708:29;;830:78201;13708:29;;;;;;2030:14:2;13708:29:63;;;:::i;:::-;;;2030:14:2;;;;;13708:29:63;;;;;;;-1:-1:-1;13708:29:63;;13632:30;;;;830:78201;13632:30;;830:78201;13632:30;;;;;;2030:14:2;13632:30:63;;;:::i;:::-;;;2030:14:2;;;;;13632:30:63;;;;;;;-1:-1:-1;13632:30:63;;13571:21;;;830:78201;13571:21;;830:78201;13571:21;;;;;;2030:14:2;13571:21:63;;;:::i;:::-;;;2030:14:2;;;;830:78201:63;2030:14:2;;13571:21:63;;;;;;-1:-1:-1;13571:21:63;;13461:37;;;;;;;;;12833:35;13461:37;12833:35;13461:37;;;;;;;:::i;:::-;;;;;;;;13364:29;;;;830:78201;13364:29;;830:78201;13364:29;;;;;;2030:14:2;13364:29:63;;;:::i;:::-;;;2030:14:2;;;;;;13335:71:63;13364:29;;;;;-1:-1:-1;13364:29:63;;12986:35;;;830:78201;12986:35;;830:78201;12986:35;;;;;;2030:14:2;12986:35:63;;;:::i;:::-;;;2030:14:2;;;;;12986:35:63;;;;;;-1:-1:-1;12986:35:63;;12833;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;12654:18;;;830:78201;12654:18;;830:78201;12654:18;;;;;;2030:14:2;12654:18:63;;;:::i;:::-;;;2030:14:2;;;;;12250:510:63;12654:18;;;;;-1:-1:-1;12654:18:63;;12312:24;;;830:78201;12312:24;;830:78201;12312:24;;;;;;2030:14:2;12312:24:63;;;:::i;:::-;;;2030:14:2;;;;;12312:24:63;;;;;;-1:-1:-1;12312:24:63;;12104:23;;;;830:78201;12104:23;;830:78201;12104:23;;;;;;2030:14:2;12104:23:63;;;:::i;:::-;;;2030:14:2;;;;;12104:23:63;;;;;;;-1:-1:-1;12104:23:63;;11961:16;;830:78201;11961:16;;830:78201;11961:16;;;;;;830:78201;11961:16;;;:::i;:::-;;;830:78201;;;;;11955:22;830:78201;;:::i;:::-;11961:16;;;;;-1:-1:-1;11961:16:63;;11905;;830:78201;11905:16;;830:78201;11905:16;;;;;;830:78201;11905:16;;;:::i;:::-;;;830:78201;;;;;11899:22;830:78201;;:::i;:::-;11905:16;;;;;-1:-1:-1;11905:16:63;;11750:19;830:78201;;11750:19;;;:::i;:::-;830:78201;;;;11750:19;;;830:78201;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2575:18:9;830:78201:63;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;2575:18:9;-1:-1:-1;;830:78201:63;;-1:-1:-1;;830:78201:63;-1:-1:-1;;830:78201:63;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;63493:43;;;;;;;;;;;;;;830:78201;63493:43;;;;;;63518:17;830:78201;;63493:43;;830:78201;;;63493:43;;;;;830:78201;;;63612:4;830:78201;;63586:45;;;;;830:78201;;63586:45;830:78201;63586:45;;830:78201;63586:45;;830:78201;63618:12;830:78201;;;;;;;63586:45;830:78201;;;63586:45;;;;;;;;;830:78201;;;63612:4;830:78201;;336:42:2;63642:19:63;;;;830:78201;;63642:19;830:78201;63642:19;;830:78201;63642:19;;830:78201;;;;;;;;336:42:2;63642:19:63;;;;;;;;830:78201;63802:15;63820:4;63802:15;2030:14:2;63802:15:63;;;2030:14:2;;;830:78201:63;63850:10;2030:14:2;;;830:78201:63;;63612:4;830:78201;;;;;63850:23;830:78201;63850:23;;;830:78201;63850:23;;830:78201;;63850:23;830:78201;63850:23;;;;;;;;;830:78201;;63850:23;;;830:78201;;;;63956:35;830:78201;63956:35;;830:78201;63956:35;830:78201;63956:35;;;;;;;;;830:78201;;63956:35;;;830:78201;;;;63928:324;830:78201;63928:324;;-1:-1:-1;;;830:78201:63;;;;;;;;;;;;63738:13;830:78201;;;;;;;;;;;;;;64155:13;830:78201;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;63928:324;;;;;;:::i;:::-;830:78201;63905:357;;830:78201;;64329:29;830:78201;64329:29;;830:78201;64329:29;830:78201;64329:29;;;;;;;;;830:78201;;64329:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;64300:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;64300:71;830:78201;2030:14:2;;;64300:71:63;2030:14:2;64300:71:63;830:78201;64290:82;;2030:14:2;64424::63;2030::2;830:78201:63;;;64416:31;830:78201;64416:31;;830:78201;64416:31;;830:78201;;2030:14:2;;830:78201:63;;64416:31;63586:45;64416:31;336:42:2;64416:31:63;;;;;;;830:78201;;;;;;;;64416:31;;830:78201;;;;64458:53;830:78201;64458:53;;830:78201;64458:53;;830:78201;63738:13;830:78201;;;;;;63586:45;830:78201;;;64458:53;;;;;;;;;830:78201;64585:39;336:42:2;64585:39:63;;;;830:78201;;;64585:39;;830:78201;;64585:39;;830:78201;;;;;;;63586:45;830:78201;;;;;;64585:39;830:78201;;336:42:2;64585:39:63;;;;;;;;830:78201;2030:14:2;830:78201:63;63850:10;2030:14:2;;;830:78201:63;;;63612:4;830:78201;;64634:145;;;;;;830:78201;;;;64634:145;830:78201;64634:145;;-1:-1:-1;;830:78201:63;;64634:145;;830:78201;;;;;63738:13;63586:45;830:78201;;;;64585:39;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;64634:145;830:78201;;;;;;64634:145;;;;;;;;;64790:14;336:42:2;64790:14:63;;;;830:78201;;;64790:14;;830:78201;;;;;;336:42:2;64790:14:63;;;;;;;;830:78201;;;;64585:39;830:78201;;64585:39;;;:::i;:::-;830:78201;;;;64585:39;;;64458:53;;;830:78201;64458:53;830:78201;64458:53;;;;;;;:::i;:::-;;;64416:31;;;;;;;;;830:78201;64416:31;830:78201;64416:31;;;;;;;:::i;:::-;;;;;;;;;64329:29;;;;830:78201;64329:29;;830:78201;64329:29;;;;;;2030:14:2;64329:29:63;;;:::i;:::-;;;2030:14:2;;;;;;64300:71:63;64329:29;;;;;-1:-1:-1;64329:29:63;;63956:35;;;;830:78201;63956:35;;830:78201;63956:35;;;;;;2030:14:2;63956:35:63;;;:::i;:::-;;;2030:14:2;;;;;63956:35:63;;;;;;;-1:-1:-1;63956:35:63;;63850:23;;;;830:78201;63850:23;;830:78201;63850:23;;;;;;2030:14:2;63850:23:63;;;:::i;:::-;;;2030:14:2;;;;;63850:23:63;;;;;;;-1:-1:-1;63850:23:63;;63642:19;830:78201;;63642:19;;;:::i;:::-;830:78201;;;;63642:19;;;63586:45;830:78201;;63586:45;;;:::i;:::-;830:78201;;;;63586:45;;;830:78201;;;;;;;;;;;;;32025:4;830:78201;;336:42:2;32011:19:63;;;;830:78201;;32011:19;830:78201;32011:19;;830:78201;32011:19;;830:78201;;;;32011:19;830:78201;;;336:42:2;32011:19:63;;;;;;;;830:78201;;;;;;;;;32118:16;;830:78201;32118:16;830:78201;32118:16;;;;;;;;830:78201;;32118:16;;;830:78201;32112:22;;;;:::i;:::-;830:78201;;32107:2;830:78201;;32107:2;830:78201;;;;;;32163:15;830:78201;32163:15;830:78201;;;;;32227:10;2030:14:2;;;830:78201:63;;32025:4;830:78201;;;;;32227:23;830:78201;32227:23;;;830:78201;32227:23;;830:78201;;32227:23;32011:19;32227:23;;;;;;;;;830:78201;;32227:23;;;830:78201;;;;;32333:35;;830:78201;32333:35;830:78201;32333:35;;;;;;;;830:78201;;;;32333:35;;;830:78201;;32305:342;830:78201;32305:342;830:78201;;32305:342;;;;;;830:78201;32305:342;;32521:13;;32305:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;32305:342;830:78201;32282:375;;830:78201;;32723:29;830:78201;32723:29;;830:78201;32723:29;830:78201;32723:29;;;;;;;;;830:78201;;32723:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;32694:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;32694:71;830:78201;2030:14:2;;;32694:71:63;2030:14:2;32694:71:63;830:78201;32684:82;;32818:14;2030::2;830:78201:63;;;32810:31;830:78201;32810:31;;830:78201;32810:31;;830:78201;32011:19;2030:14:2;;830:78201:63;32810:31;;;;336:42:2;32810:31:63;;;;;;;830:78201;;;;;;;;32810:31;;;830:78201;-1:-1:-1;830:78201:63;;;32852:42;;830:78201;;;;;32852:42;;830:78201;;;;;;;;;;;;;;;;;32852:42;;830:78201;;;32852:42;;;;;;;;;830:78201;32905:62;336:42:2;32905:62:63;;;;830:78201;;;32905:62;;32921:45;830:78201;32905:62;;830:78201;;;;32011:19;830:78201;;336:42:2;32905:62:63;;;;;;;;830:78201;2030:14:2;830:78201:63;32227:10;2030:14:2;;;830:78201:63;;;32025:4;830:78201;;;;;;;32977:112;;;;;;;830:78201;;;32977:112;;;;;;;830:78201;32977:112;;830:78201;;32977:112;830:78201;32977:112;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;32905:62;830:78201;;32905:62;;;:::i;:::-;830:78201;;;;32905:62;;;32852:42;;;830:78201;32852:42;830:78201;32852:42;;;;;;;:::i;:::-;;;32810:31;830:78201;32810:31;;;32852:42;32810:31;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;32723:29;;;;830:78201;32723:29;;830:78201;32723:29;;;;;;2030:14:2;32723:29:63;;;:::i;:::-;;;2030:14:2;;;;;;32694:71:63;32723:29;;;;;-1:-1:-1;32723:29:63;;32333:35;;;;830:78201;32333:35;;830:78201;32333:35;;;;;;2030:14:2;32333:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;32305:342:63;32333:35;;;;;-1:-1:-1;32333:35:63;;32227:23;;;;830:78201;32227:23;;830:78201;32227:23;;;;;;2030:14:2;32227:23:63;;;:::i;:::-;;;2030:14:2;;;;;32227:23:63;;;;;;;-1:-1:-1;32227:23:63;;32118:16;;830:78201;32118:16;;830:78201;32118:16;;;;;;830:78201;32118:16;;;:::i;:::-;;;830:78201;;;;;32112:22;830:78201;;:::i;:::-;32118:16;;;;;-1:-1:-1;32118:16:63;;32011:19;830:78201;;32011:19;;;:::i;:::-;830:78201;;;;32011:19;;;830:78201;;;;;;;;;;;;2876:18:9;830:78201:63;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;2876:18:9;830:78201:63;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26845:4;830:78201;;336:42:2;26831:19:63;;;;830:78201;;26831:19;830:78201;26831:19;;830:78201;26831:19;;830:78201;;;;26831:19;830:78201;;;336:42:2;26831:19:63;;;;;;;;830:78201;26972:15;26990:3;26972:15;2030:14:2;26972:15:63;;2030:14:2;;;830:78201:63;27019:10;2030:14:2;;;830:78201:63;;26845:4;830:78201;;;;;27019:23;830:78201;27019:23;;;830:78201;27019:23;;830:78201;;27019:23;26831:19;27019:23;;;;;;;;;830:78201;;27019:23;;;830:78201;;;;;;;;;;27159:24;;830:78201;27159:24;830:78201;27159:24;;;;;;;;;830:78201;;27159:24;;;830:78201;;;;;27496:18;;;830:78201;27496:18;;830:78201;;27496:18;26831:19;27496:18;;;;;;;;;830:78201;;27496:18;;;830:78201;;27097:505;;830:78201;;;;27232:338;;-1:-1:-1;;;830:78201:63;27268:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;27232:338;;;830:78201;27232:338;;:::i;27097:505::-;830:78201;27074:538;;27683:14;2030::2;830:78201:63;;;27675:35;830:78201;27675:35;;;830:78201;27675:35;;830:78201;26831:19;2030:14:2;;830:78201:63;;27675:35;;;336:42:2;27675:35:63;;;;;;;830:78201;;;;;;;;27675:35;;830:78201;;;;27793:35;830:78201;27793:35;;830:78201;27793:35;830:78201;27793:35;;;;;;;;;830:78201;;;;;;27793:35;;;830:78201;;;;;27765:342;830:78201;;;27765:342;830:78201;;;27765:342;;;;;;27981:13;;27765:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;27765:342;830:78201;27742:375;;830:78201;;;28189:29;;;;830:78201;28189:29;;;;;;;;;830:78201;;28189:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;28160:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;28160:71;830:78201;2030:14:2;;;28160:71:63;2030:14:2;28160:71:63;830:78201;28150:82;;830:78201;;28285:37;830:78201;28285:37;;830:78201;28285:37;;830:78201;26831:19;2030:14:2;;830:78201:63;;28285:37;27675:35;28285:37;336:42:2;28285:37:63;;;;;;;830:78201;;;;;;;;28285:37;;830:78201;28333:62;336:42:2;28333:62:63;;;;830:78201;;;28333:62;;28349:45;830:78201;28333:62;;830:78201;;;;26831:19;830:78201;;336:42:2;28333:62:63;;;;;;;;830:78201;2030:14:2;830:78201:63;27019:10;2030:14:2;;;830:78201:63;;;26845:4;830:78201;;;;;;;28405:356;;;;;;830:78201;;;;;;;;28405:356;;830:78201;28405:356;;-1:-1:-1;;830:78201:63;28405:356;830:78201;26831:19;830:78201;;;;;27675:35;830:78201;;;;;26990:3;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;28405:356;830:78201;;;;;;28405:356;;;;;;;;;28772:14;336:42:2;28772:14:63;;;;830:78201;;;28772:14;;830:78201;;;;;;336:42:2;28772:14:63;;;;;;;;830:78201;;;;28333:62;830:78201;;28333:62;;;:::i;:::-;830:78201;;;;28333:62;;;28285:37;;;;;;;;;830:78201;28285:37;830:78201;28285:37;;;;;;;:::i;:::-;;;;;;;;28189:29;;;;830:78201;28189:29;;830:78201;28189:29;;;;;;2030:14:2;28189:29:63;;;:::i;:::-;;;2030:14:2;;;;;;28160:71:63;28189:29;;;;;-1:-1:-1;28189:29:63;;27793:35;;;;;;830:78201;27793:35;;830:78201;27793:35;;;;;;2030:14:2;27793:35:63;;;:::i;:::-;;;2030:14:2;;;;;;27793:35:63;;2030:14:2;;;;830:78201:63;27793:35;;;;;-1:-1:-1;27793:35:63;;27675;;;;;;;;;;830:78201;27675:35;830:78201;27675:35;;;;;;;:::i;:::-;;;;;;;;;;27496:18;;;830:78201;27496:18;;830:78201;27496:18;;;;;;2030:14:2;27496:18:63;;;:::i;:::-;;;2030:14:2;;;;;27097:505:63;27496:18;;;;;-1:-1:-1;27496:18:63;;27159:24;;;830:78201;27159:24;;830:78201;27159:24;;;;;;2030:14:2;27159:24:63;;;:::i;:::-;;;2030:14:2;;;;;27159:24:63;;;;;;-1:-1:-1;27159:24:63;;27019:23;;;;830:78201;27019:23;;830:78201;27019:23;;;;;;2030:14:2;27019:23:63;;;:::i;:::-;;;2030:14:2;;;;;27019:23:63;;;;;;;-1:-1:-1;27019:23:63;;26831:19;830:78201;;26831:19;;;:::i;:::-;830:78201;;;;26831:19;;;830:78201;;;;;;;;;;;;;44312:4;830:78201;;336:42:2;44298:19:63;;;;830:78201;;44298:19;830:78201;44298:19;;830:78201;44298:19;;830:78201;;;;44298:19;830:78201;;;336:42:2;44298:19:63;;;;;;;;830:78201;;;;;;;;;44405:16;;830:78201;44405:16;830:78201;44405:16;;;;;;;;830:78201;;44405:16;;;830:78201;44399:22;;;;:::i;:::-;830:78201;44394:2;830:78201;;44394:2;830:78201;;;;;44468:4;44450:15;2030:14:2;44450:15:63;;2030:14:2;;;830:78201:63;44498:10;2030:14:2;;;830:78201:63;;44312:4;830:78201;;;;;44498:23;830:78201;44498:23;;;830:78201;44498:23;;830:78201;;44498:23;44298:19;44498:23;;;;;;;;;830:78201;;44498:23;;;830:78201;;;;44604:35;830:78201;44604:35;;830:78201;44604:35;830:78201;44604:35;;;;;;;;;830:78201;;;;;;44604:35;;;830:78201;;;;;44576:342;830:78201;;;44576:342;830:78201;;;;44576:342;;;;;;44792:13;;44576:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;44576:342;830:78201;44553:375;;830:78201;;;44994:29;;;;830:78201;44994:29;;;;;;;;;830:78201;;44994:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;44965:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;44965:71;830:78201;2030:14:2;;;44965:71:63;2030:14:2;44965:71:63;830:78201;44955:82;;45089:14;2030::2;830:78201:63;;;45081:31;830:78201;45081:31;;830:78201;45081:31;;830:78201;44298:19;2030:14:2;;830:78201:63;45081:31;;;;336:42:2;45081:31:63;;;;;;;830:78201;;;;;;;45081:31;;830:78201;45184:17;336:42:2;45184:17:63;;;;830:78201;;;45184:17;;830:78201;;;;;;336:42:2;45184:17:63;;;;;;;;2030:14:2;830:78201:63;44498:10;2030:14:2;;;830:78201:63;;;44312:4;830:78201;;;;;;;45211:112;;;;;;;830:78201;;;45211:112;;;;;;;830:78201;45211:112;;830:78201;;45211:112;830:78201;45211:112;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;45081:31;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;44994:29;;;;830:78201;44994:29;;830:78201;44994:29;;;;;;2030:14:2;44994:29:63;;;:::i;:::-;;;2030:14:2;;;;;;44965:71:63;44994:29;;;;;-1:-1:-1;44994:29:63;;44604:35;;;;;;830:78201;44604:35;;830:78201;44604:35;;;;;;2030:14:2;44604:35:63;;;:::i;:::-;;;2030:14:2;;;;;;44604:35:63;;2030:14:2;;;;830:78201:63;44604:35;;;;;-1:-1:-1;44604:35:63;;44498:23;;;;830:78201;44498:23;;830:78201;44498:23;;;;;;2030:14:2;44498:23:63;;;:::i;:::-;;;2030:14:2;;;;;44498:23:63;;;;;;;-1:-1:-1;44498:23:63;;44405:16;;830:78201;44405:16;;830:78201;44405:16;;;;;;830:78201;44405:16;;;:::i;:::-;;;830:78201;;;;;44399:22;830:78201;;:::i;:::-;44405:16;;;;;-1:-1:-1;44405:16:63;;44298:19;830:78201;;44298:19;;;:::i;:::-;830:78201;;;;44298:19;;;830:78201;;;;;;;;;;;;;;1233:40;830:78201;;;;;;;;;;;;;;;;;;;;;;;29992:4;830:78201;;336:42:2;29978:19:63;;;;830:78201;;29978:19;830:78201;29978:19;;830:78201;29978:19;;830:78201;;;;29978:19;830:78201;;;336:42:2;29978:19:63;;;;;;;;830:78201;;;;;;;;;30085:16;;830:78201;30085:16;830:78201;30085:16;;;;;;;;830:78201;;30085:16;;;830:78201;30079:22;;;;:::i;:::-;830:78201;30074:2;830:78201;;30074:2;830:78201;;;;;30148:3;30130:15;2030:14:2;30130:15:63;;;2030:14:2;;;830:78201:63;30177:10;2030:14:2;;;830:78201:63;;;29992:4;830:78201;;;;;30177:23;830:78201;30177:23;;;830:78201;30177:23;;830:78201;;30177:23;29978:19;30177:23;;;;;;;;;830:78201;;30177:23;;;830:78201;;;;30317:24;830:78201;30317:24;;830:78201;30317:24;830:78201;30317:24;;;;;;;;;830:78201;;30317:24;;;830:78201;;;29978:19;830:78201;;;30654:18;;;;830:78201;30654:18;;;830:78201;30654:18;;830:78201;30654:18;;;;;;;830:78201;;;;;;30654:18;;;830:78201;;;30255:505;830:78201;30390:338;30255:505;830:78201;30390:338;830:78201;;30390:338;;;;830:78201;30390:338;;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;30255:505;830:78201;30232:538;;2030:14:2;30841::63;2030::2;830:78201:63;;;30833:35;830:78201;30833:35;;;830:78201;30833:35;;830:78201;29978:19;2030:14:2;;830:78201:63;30833:35;;;;336:42:2;30833:35:63;;;;;;;830:78201;;;;;;;30833:35;;830:78201;;;;;30951:35;;830:78201;30951:35;830:78201;30951:35;;;;;;;;830:78201;;;;30951:35;;;830:78201;;;;;30923:338;830:78201;;30923:338;830:78201;;30923:338;;;;;;;;31135:13;;30923:338;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;30923:338;830:78201;30900:371;;830:78201;;;31343:29;;;;830:78201;31343:29;;;;;;;;;830:78201;;31343:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;31314:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;31314:71;830:78201;2030:14:2;;;31314:71:63;2030:14:2;31314:71:63;830:78201;31304:82;;830:78201;;31439:37;830:78201;31439:37;;830:78201;31439:37;;830:78201;29978:19;2030:14:2;;830:78201:63;30833:35;31439:37;30833:35;31439:37;336:42:2;31439:37:63;;;;;;;830:78201;;;;;;;;31439:37;;830:78201;31487:61;336:42:2;31487:61:63;;;;830:78201;;;31487:61;;31503:44;830:78201;31487:61;;830:78201;;;;29978:19;830:78201;;336:42:2;31487:61:63;;;;;;;;830:78201;2030:14:2;830:78201:63;30177:10;2030:14:2;;;830:78201:63;;;29992:4;830:78201;;31558:352;;;;;;830:78201;;;;;30833:35;830:78201;;31558:352;;;830:78201;31558:352;;-1:-1:-1;;830:78201:63;;31558:352;;830:78201;;;29978:19;830:78201;;;;;30148:3;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;31558:352;830:78201;;;;;;31558:352;;;;;;;;;31921:14;336:42:2;31921:14:63;;;;830:78201;;;31921:14;;830:78201;;;;;;336:42:2;31921:14:63;;;;;;;;830:78201;;;;31487:61;830:78201;;31487:61;;;:::i;:::-;830:78201;;;;31487:61;;;31439:37;;;;;;;;;;30833:35;31439:37;30833:35;31439:37;;;;;;;:::i;:::-;;;;;;;;;;31343:29;;;;830:78201;31343:29;;830:78201;31343:29;;;;;;2030:14:2;31343:29:63;;;:::i;:::-;;;2030:14:2;;;;;;31314:71:63;31343:29;;;;;-1:-1:-1;31343:29:63;;30951:35;;;;830:78201;30951:35;;830:78201;30951:35;;;;;;2030:14:2;30951:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;830:78201:63;30951:35;;;;;-1:-1:-1;30951:35:63;;30833;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;30654:18;;;;;830:78201;30654:18;;830:78201;30654:18;;;;;;2030:14:2;30654:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;30255:505:63;30654:18;;;;;-1:-1:-1;30654:18:63;;30317:24;;;;830:78201;30317:24;;830:78201;30317:24;;;;;;2030:14:2;30317:24:63;;;:::i;:::-;;;2030:14:2;;;;;;830:78201:63;30317:24;;;;;-1:-1:-1;30317:24:63;;30177:23;;;;830:78201;30177:23;;830:78201;30177:23;;;;;;2030:14:2;30177:23:63;;;:::i;:::-;;;2030:14:2;;;;;30177:23:63;;;;;;;-1:-1:-1;30177:23:63;;30085:16;;830:78201;30085:16;;830:78201;30085:16;;;;;;830:78201;30085:16;;;:::i;:::-;;;830:78201;;;;;30079:22;830:78201;;:::i;:::-;30085:16;;;;;-1:-1:-1;30085:16:63;;29978:19;830:78201;;29978:19;;;:::i;:::-;830:78201;;;;29978:19;;;830:78201;;;;;;;;;;;;;40868:4;830:78201;;336:42:2;40854:19:63;;;;830:78201;;40854:19;830:78201;40854:19;;830:78201;40854:19;;830:78201;;;;40854:19;830:78201;;;336:42:2;40854:19:63;;;;;;;;830:78201;;;;;;;;;40960:16;;830:78201;40960:16;830:78201;40960:16;;;;;;;;830:78201;;40960:16;;;830:78201;40954:22;;;;:::i;:::-;830:78201;;40949:2;830:78201;;40949:2;830:78201;;;;;41023:2;41005:15;2030:14:2;41005:15:63;;2030:14:2;;;830:78201:63;41051:10;2030:14:2;;;830:78201:63;;40868:4;830:78201;;;;;41051:23;830:78201;41051:23;;;830:78201;41051:23;;830:78201;;41051:23;40854:19;41051:23;;;;;;;;;830:78201;;41051:23;;;830:78201;;;;41157:35;830:78201;41157:35;;830:78201;41157:35;830:78201;41157:35;;;;;;;;;830:78201;;41157:35;;;830:78201;;;;41129:342;830:78201;41129:342;;-1:-1:-1;;;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;;;;;41345:13;830:78201;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;41129:342;;;;;;:::i;:::-;830:78201;41106:375;;830:78201;;41547:29;830:78201;41547:29;;830:78201;41547:29;830:78201;41547:29;;;;;;;;;830:78201;;41547:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;41518:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;41518:71;830:78201;2030:14:2;;;41518:71:63;2030:14:2;41518:71:63;830:78201;41508:82;;41642:14;2030::2;830:78201:63;;;41634:31;830:78201;41634:31;;830:78201;41634:31;;830:78201;40854:19;2030:14:2;;830:78201:63;;41634:31;;;336:42:2;41634:31:63;;;;;;;830:78201;;;;;;;;41634:31;;;830:78201;-1:-1:-1;830:78201:63;;;41676:42;;830:78201;;;;;41676:42;;830:78201;;;;;;;;;;;;;;;;;41676:42;;830:78201;;;41676:42;;;;;;;;;830:78201;2030:14:2;830:78201:63;41051:10;2030:14:2;;;830:78201:63;;40868:4;830:78201;;;;;;41729:112;;;;;830:78201;;;41729:112;;830:78201;;;;;;;41729:112;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;830:78201:63;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;;;;;;41729:112;830:78201;;;41729:112;;;;;;;;;830:78201;41947:61;336:42:2;41947:61:63;;;;830:78201;;;41947:61;;41963:44;830:78201;41947:61;;830:78201;;;;40854:19;830:78201;;336:42:2;41947:61:63;;;;;;;;830:78201;2030:14:2;830:78201:63;41051:10;2030:14:2;;;830:78201:63;;;40868:4;830:78201;;;;;;;42018:112;;;;;;;830:78201;;;42018:112;;;;;;;830:78201;42018:112;;830:78201;;42018:112;830:78201;42018:112;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;41947:61;830:78201;;41947:61;;;:::i;:::-;830:78201;;;;41947:61;;;41729:112;830:78201;;41729:112;;;:::i;:::-;830:78201;;;;41729:112;;;41676:42;;;830:78201;41676:42;830:78201;41676:42;;;;;;;:::i;:::-;;;41634:31;830:78201;41634:31;;;41676:42;41634:31;;;;;;;;830:78201;41634:31;830:78201;41634:31;;;;;;;:::i;:::-;;;;;;;;;;;;;41547:29;;;;830:78201;41547:29;;830:78201;41547:29;;;;;;2030:14:2;41547:29:63;;;:::i;:::-;;;2030:14:2;;;;;;41518:71:63;41547:29;;;;;-1:-1:-1;41547:29:63;;41157:35;;;;830:78201;41157:35;;830:78201;41157:35;;;;;;2030:14:2;41157:35:63;;;:::i;:::-;;;2030:14:2;;;;;41157:35:63;;;;;;;-1:-1:-1;41157:35:63;;41051:23;;;;830:78201;41051:23;;830:78201;41051:23;;;;;;2030:14:2;41051:23:63;;;:::i;:::-;;;2030:14:2;;;;;41051:23:63;;;;;;;-1:-1:-1;41051:23:63;;40960:16;;830:78201;40960:16;;830:78201;40960:16;;;;;;830:78201;40960:16;;;:::i;:::-;;;830:78201;;;;;40954:22;830:78201;;:::i;:::-;40960:16;;;;;-1:-1:-1;40960:16:63;;40854:19;830:78201;;40854:19;;;:::i;:::-;830:78201;;;;40854:19;;;830:78201;;;;;;;;;;;;;24028:10;2030:14:2;;;830:78201:63;24020:33;;;;;:::i;:::-;830:78201;;;;;;;;;;;:::i;:::-;;;;;;;;24253:42;830:78201;;;;24329:20;;830:78201;;24329:20;830:78201;24329:20;;;;;;;;;830:78201;;;;;;;24329:20;;;830:78201;;;;;;;24313:38;830:78201;;24112:321;;;;830:78201;24140:95;830:78201;;;;;;;;;;24369:13;830:78201;;;;;;;;;;24112:321;;;;;;:::i;:::-;830:78201;24089:354;;830:78201;;;24462:29;;;;830:78201;24462:29;;;;;;;;;830:78201;;24462:29;;;830:78201;4445:13:4;;;;4441:68;;830:78201:63;;;;4441:68:4;830:78201:63;4474:24:4;;;;830:78201:63;;4474:24:4;830:78201:63;4474:24:4;;830:78201:63;4474:24:4;;830:78201:63;;;;;-1:-1:-1;;4474:24:4;;;830:78201:63;4474:24:4;;;;;;;;;;4441:68;;;;;4474:24;-1:-1:-1;;4474:24:4;;;:::i;:::-;830:78201:63;;;;4474:24:4;;;24462:29:63;;;;830:78201;24462:29;;830:78201;24462:29;;;;;;2030:14:2;24462:29:63;;;:::i;:::-;;;2030:14:2;;;;;24462:29:63;;;;;;;-1:-1:-1;24462:29:63;;;830:78201;;;;;;;;;;24329:20;;;;;830:78201;;;24329:20;;;;;;:::i;:::-;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;3653:18:9;830:78201:63;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;3653:18:9;830:78201:63;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14894:4;830:78201;;336:42:2;14880:19:63;;;;830:78201;;14880:19;830:78201;14880:19;;830:78201;14880:19;;830:78201;;;;14880:19;830:78201;;;336:42:2;14880:19:63;;;;;;;;830:78201;;;;;;;;;14987:16;;830:78201;14987:16;830:78201;14987:16;;;;;;;;830:78201;;14987:16;;;830:78201;14981:22;;;;:::i;:::-;830:78201;;14976:2;830:78201;;14976:2;830:78201;;;;;15050:4;15032:15;2030:14:2;15032:15:63;;;2030:14:2;;;830:78201:63;15183:10;2030:14:2;;;830:78201:63;;;14894:4;830:78201;;;;;15183:23;830:78201;15183:23;;;830:78201;15183:23;;830:78201;;15183:23;14880:19;15183:23;;;;;;;;;830:78201;;15183:23;;;830:78201;;;;;15323:24;;830:78201;15323:24;830:78201;15323:24;;;;;;;;;830:78201;;15323:24;;;830:78201;;;;;15666:18;;;830:78201;15666:18;;830:78201;;15666:18;14880:19;15666:18;;;;;;;;830:78201;;;;15666:18;;;830:78201;;15261:511;830:78201;15261:511;830:78201;15396:344;830:78201;15396:344;830:78201;;;15396:344;;;;830:78201;15396:344;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;15261:511;830:78201;15238:544;;2030:14:2;15853::63;2030::2;830:78201:63;;;15845:35;830:78201;15845:35;;;830:78201;15845:35;;830:78201;14880:19;2030:14:2;;830:78201:63;15845:35;;;;336:42:2;15845:35:63;;;;;;;830:78201;;;;;;;;15845:35;;830:78201;;;;;15964:35;;830:78201;15964:35;830:78201;15964:35;;;;;;;;;830:78201;;;;;;;;15964:35;;;830:78201;;15936:343;830:78201;;15936:343;830:78201;;;15936:343;;;830:78201;15936:343;;16152:13;;;15936:343;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;15936:343;830:78201;15913:376;;830:78201;;16363:29;830:78201;16363:29;;830:78201;16363:29;830:78201;16363:29;;;;;;;;;830:78201;;16363:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;16334:72;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;16334:72;830:78201;2030:14:2;;;16334:72:63;2030:14:2;16334:72:63;830:78201;16324:83;;830:78201;;16464:38;830:78201;16464:38;;830:78201;16464:38;;830:78201;14880:19;2030:14:2;;830:78201:63;15845:35;16464:38;15845:35;16464:38;336:42:2;16464:38:63;;;;;;;830:78201;;;;;;;16464:38;;830:78201;16513:366;;;;;;830:78201;;;;;;16513:366;;;;;;;830:78201;16513:366;;830:78201;;;16513:366;830:78201;16513:366;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;16513:366;;830:78201;;;16513:366;;;;;;;;;830:78201;;;;;;;14894:4;830:78201;;2030:14:2;830:78201:63;15183:10;2030:14:2;;;830:78201:63;;;;;16939:42;;830:78201;16939:42;;;;;830:78201;16939:42;;830:78201;;;;;;;;;;;;;;;;;;;16939:42;;;;;;;;;;830:78201;;16939:42;;;830:78201;16930:55;;;;:::i;:::-;830:78201;;17054:23;830:78201;17054:23;;;830:78201;17054:23;;830:78201;;17054:23;14880:19;17054:23;;;;;;;;;830:78201;;17054:23;;;830:78201;17087:19;;;;:::i;:::-;830:78201;;;17190:35;;830:78201;17190:35;830:78201;17190:35;;;;;;;;;830:78201;;17190:35;;;830:78201;-1:-1:-1;830:78201:63;;;;17162:343;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16152:13;830:78201;;;;;;;;;;;;;;2030:14:2;;;830:78201:63;;;;17162:343;830:78201;;;;17162:343;830:78201;17162:343;830:78201;17139:376;;830:78201;;17589:29;830:78201;17589:29;;830:78201;17589:29;830:78201;17589:29;;;;;;;;;830:78201;;17589:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;17560:72;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;17560:72;830:78201;2030:14:2;;;17560:72:63;2030:14:2;17560:72:63;830:78201;17550:83;;15853:14;2030::2;830:78201:63;;;17690:38;830:78201;17690:38;;830:78201;17690:38;;830:78201;14880:19;2030:14:2;;830:78201:63;15845:35;17690:38;15845:35;17690:38;336:42:2;17690:38:63;;;;;;;830:78201;;;;;;;;17690:38;;830:78201;;;;17763:21;830:78201;17763:21;;830:78201;17763:21;;830:78201;;17763:21;14880:19;17763:21;;;;;;;;;830:78201;;;;17763:21;;;830:78201;-1:-1:-1;830:78201:63;;;17882:42;;830:78201;;;;;;17882:42;;830:78201;;;;;;;;;;;;;;;;;;;17882:42;;;;;;;;830:78201;2030:14:2;830:78201:63;15183:10;2030:14:2;;;830:78201:63;;;14894:4;830:78201;;;;;;;17935:147;;;;;;830:78201;;17935:147;830:78201;;;17935:147;;;;;;;830:78201;17935:147;;830:78201;;17935:147;830:78201;17935:147;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;17935:147;;830:78201;;;17935:147;;;;;;;;;830:78201;;;;;;;;;14894:4;830:78201;;14880:19;830:78201;;18102:21;;;;830:78201;18102:21;;830:78201;18102:21;;830:78201;18102:21;;;;;;;830:78201;;18102:21;;;830:78201;18125:22;;;;;;:::i;18102:21::-;;;;830:78201;18102:21;;830:78201;18102:21;;;;;;2030:14:2;18102:21:63;;;:::i;:::-;;;2030:14:2;;;;;;18125:22:63;18102:21;;;;;-1:-1:-1;18102:21:63;;17935:147;830:78201;;17935:147;;;:::i;:::-;830:78201;;;;17935:147;;;17882:42;;;830:78201;17882:42;830:78201;17882:42;;;;;;;:::i;:::-;;;17763:21;;;;;830:78201;17763:21;;830:78201;17763:21;;;;;;2030:14:2;17763:21:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;830:78201:63;17763:21;;;;;-1:-1:-1;17763:21:63;;17690:38;;;;;;;;;15845:35;17690:38;15845:35;17690:38;;;;;;;:::i;:::-;;;;;;;;;17589:29;;;;830:78201;17589:29;;830:78201;17589:29;;;;;;2030:14:2;17589:29:63;;;:::i;:::-;;;2030:14:2;;;;;;17560:72:63;17589:29;;;;;-1:-1:-1;17589:29:63;;17190:35;;;830:78201;17190:35;;830:78201;17190:35;;;;;;2030:14:2;17190:35:63;;;:::i;:::-;;;2030:14:2;;;;;17190:35:63;;;;;;-1:-1:-1;17190:35:63;;17054:23;;;;830:78201;17054:23;;830:78201;17054:23;;;;;;2030:14:2;17054:23:63;;;:::i;:::-;;;2030:14:2;;;;;17054:23:63;;;;;;;-1:-1:-1;17054:23:63;;16939:42;;830:78201;16939:42;;830:78201;16939:42;;;;;;2030:14:2;16939:42:63;;;:::i;:::-;;;2030:14:2;;;;16930:55:63;2030:14:2;;16939:42:63;;;;;-1:-1:-1;16939:42:63;;16513:366;830:78201;;16513:366;;;:::i;:::-;830:78201;;;;16513:366;;;16464:38;;;;;;;15845:35;16464:38;15845:35;16464:38;;;;;;;:::i;:::-;;;;;16363:29;;;;830:78201;16363:29;;830:78201;16363:29;;;;;;2030:14:2;16363:29:63;;;:::i;:::-;;;2030:14:2;;;;;;16334:72:63;16363:29;;;;;-1:-1:-1;16363:29:63;;15964:35;;;;;;;830:78201;15964:35;;830:78201;15964:35;;;;;;2030:14:2;15964:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;15936:343:63;15964:35;;;;;-1:-1:-1;15964:35:63;;15845;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;15666:18;;;;830:78201;15666:18;;830:78201;15666:18;;;;;;2030:14:2;15666:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;15261:511:63;15666:18;;;;;-1:-1:-1;15666:18:63;;15323:24;;;830:78201;15323:24;;830:78201;15323:24;;;;;;2030:14:2;15323:24:63;;;:::i;:::-;;;2030:14:2;;;;;15323:24:63;;;;;;-1:-1:-1;15323:24:63;;15183:23;;;;830:78201;15183:23;;830:78201;15183:23;;;;;;2030:14:2;15183:23:63;;;:::i;:::-;;;2030:14:2;;;;;15183:23:63;;;;;;;-1:-1:-1;15183:23:63;;14987:16;;830:78201;14987:16;;830:78201;14987:16;;;;;;830:78201;14987:16;;;:::i;:::-;;;830:78201;;;;;14981:22;830:78201;;:::i;:::-;14987:16;;;;;-1:-1:-1;14987:16:63;;14880:19;830:78201;;14880:19;;;:::i;:::-;830:78201;;;;14880:19;;;830:78201;;;;;;;;;;;;;28879:4;830:78201;;336:42:2;28865:19:63;;;;830:78201;;28865:19;830:78201;28865:19;;830:78201;28865:19;;830:78201;;;;28865:19;830:78201;;;336:42:2;28865:19:63;;;;;;;;830:78201;;;;;;;;;;28972:16;;;;830:78201;28972:16;;;;;;;;830:78201;;28972:16;;;830:78201;28966:22;;;;:::i;:::-;830:78201;28961:2;830:78201;;28961:2;830:78201;;;;;29035:3;29017:15;2030:14:2;29017:15:63;;;2030:14:2;;;830:78201:63;29064:10;2030:14:2;;;830:78201:63;;;28879:4;830:78201;;;;29064:23;830:78201;29064:23;;;830:78201;29064:23;;830:78201;;29064:23;28865:19;29064:23;;;;;;;;;830:78201;;29064:23;;;830:78201;;;;;29170:35;;830:78201;29170:35;830:78201;29170:35;;;;;;;;830:78201;;;;29170:35;;;830:78201;;;;;29142:338;830:78201;;29142:338;830:78201;;29142:338;;;;;;;;29354:13;;29142:338;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;29142:338;830:78201;29119:371;;830:78201;;;29556:29;;;;830:78201;29556:29;;;;;;;;;830:78201;;29556:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;29527:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;29527:71;830:78201;2030:14:2;;;29527:71:63;2030:14:2;29527:71:63;830:78201;29517:82;;29651:14;2030::2;830:78201:63;;;29643:31;830:78201;29643:31;;830:78201;29643:31;;830:78201;28865:19;2030:14:2;;830:78201:63;29643:31;;;;336:42:2;29643:31:63;;;;;;;830:78201;;;;;;;29643:31;;830:78201;29685:61;336:42:2;29685:61:63;;;;830:78201;;;29685:61;;29701:44;830:78201;29685:61;;830:78201;;;;28865:19;830:78201;;336:42:2;29685:61:63;;;;;;;;830:78201;2030:14:2;830:78201:63;29064:10;2030:14:2;;;830:78201:63;;;28879:4;830:78201;;29756:108;;;;;;830:78201;;;;29756:108;830:78201;29756:108;;-1:-1:-1;;830:78201:63;;29756:108;;830:78201;;;28865:19;830:78201;;;29643:31;830:78201;;;;29035:3;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;29756:108;830:78201;;;;;;29756:108;;;;;;;;;29875:14;336:42:2;29875:14:63;;;;830:78201;;;29875:14;;830:78201;;;;;;336:42:2;29875:14:63;;;;;;;;830:78201;;;;29685:61;830:78201;;29685:61;;;:::i;:::-;830:78201;;;;29685:61;;;29643:31;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;29556:29;;;;830:78201;29556:29;;830:78201;29556:29;;;;;;2030:14:2;29556:29:63;;;:::i;:::-;;;2030:14:2;;;;;;29527:71:63;29556:29;;;;;-1:-1:-1;29556:29:63;;29170:35;;;;830:78201;29170:35;;830:78201;29170:35;;;;;;2030:14:2;29170:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;830:78201:63;29170:35;;;;;-1:-1:-1;29170:35:63;;29064:23;;;;830:78201;29064:23;;830:78201;29064:23;;;;;;2030:14:2;29064:23:63;;;:::i;:::-;;;2030:14:2;;;;;29064:23:63;;;;;;;-1:-1:-1;29064:23:63;;28972:16;;830:78201;28972:16;;830:78201;28972:16;;;;;;830:78201;28972:16;;;:::i;:::-;;;830:78201;;;;;28966:22;830:78201;;:::i;:::-;28972:16;;;;;-1:-1:-1;28972:16:63;;28865:19;830:78201;;28865:19;;;:::i;:::-;830:78201;;;;28865:19;;;830:78201;;;;;;;;;;;;;1361:43;830:78201;;;;;;;;;;;;;;;;;;;3162:18:9;830:78201:63;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;3162:18:9;-1:-1:-1;;830:78201:63;;-1:-1:-1;;830:78201:63;-1:-1:-1;;830:78201:63;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;76804:4;830:78201;;336:42:2;76790:19:63;;;;830:78201;;76790:19;830:78201;76790:19;;830:78201;76790:19;;830:78201;;;;76790:19;830:78201;;;336:42:2;76790:19:63;;;;;;;;830:78201;;;;;;;;;76971:16;;830:78201;76971:16;830:78201;76971:16;;;;;;;;830:78201;;76971:16;;;830:78201;76965:22;;;;:::i;:::-;830:78201;;76960:2;830:78201;;76960:2;830:78201;;;;;77082:4;77064:15;2030:14:2;77064:15:63;;;2030:14:2;;;830:78201:63;77112:10;2030:14:2;;;830:78201:63;;76804:4;830:78201;;;;;77112:23;830:78201;77112:23;;;830:78201;77112:23;;830:78201;;77112:23;76790:19;77112:23;;;;;;;;;830:78201;;77112:23;;;830:78201;;;;;77316:24;;830:78201;77316:24;830:78201;77316:24;;;;;;;;;830:78201;;77316:24;;;830:78201;;;;;77653:18;;;830:78201;77653:18;;830:78201;;77653:18;76790:19;77653:18;;;;;;;;830:78201;;;;77653:18;;;830:78201;;77254:505;830:78201;77254:505;830:78201;77389:338;830:78201;77389:338;830:78201;;;77389:338;;;;830:78201;77389:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;77254:505;830:78201;77231:538;;77840:14;2030::2;830:78201:63;;;77832:35;830:78201;77832:35;;;830:78201;77832:35;;830:78201;76790:19;2030:14:2;;830:78201:63;77832:35;;;;336:42:2;77832:35:63;;;;;;;830:78201;;;;;;;;77832:35;;830:78201;;;;77985:35;830:78201;77985:35;;830:78201;77985:35;830:78201;77985:35;;;;;;;;;830:78201;;;;;;;77985:35;;;830:78201;;;77957:323;830:78201;;;77957:323;830:78201;;;;;;77957:323;;;;;;78173:13;;77957:323;;2030:14:2;830:78201:63;2030:14:2;;;;;;;830:78201:63;2030:14:2;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;2030:14:2;830:78201:63;2030:14:2;77957:323:63;830:78201;77934:356;;830:78201;;;78363:29;;;;830:78201;78363:29;;;;;;;;;830:78201;;78363:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;78334:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;78334:71;830:78201;2030:14:2;;;78334:71:63;2030:14:2;78334:71:63;830:78201;78324:82;;830:78201;;78459:37;830:78201;78459:37;;830:78201;78459:37;;830:78201;76790:19;2030:14:2;;830:78201:63;77832:35;78459:37;77832:35;78459:37;336:42:2;78459:37:63;;;;;;;830:78201;;;;;;;;78459:37;;830:78201;78507:69;336:42:2;78507:69:63;;;;830:78201;;;78507:69;;78523:52;830:78201;78507:69;;830:78201;;;;76790:19;830:78201;;336:42:2;78507:69:63;;;;;;;;830:78201;2030:14:2;830:78201:63;77112:10;2030:14:2;;;830:78201:63;;;76804:4;830:78201;;;;;;;78586:411;;;;;830:78201;;78586:411;830:78201;78586:411;;-1:-1:-1;;830:78201:63;;78586:411;;830:78201;76790:19;830:78201;;;;77832:35;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;78586:411;;;;;;;;;;;79008:14;336:42:2;79008:14:63;;;;830:78201;;;79008:14;;830:78201;;;;;;336:42:2;79008:14:63;;;;;;;;830:78201;;;;78507:69;830:78201;;78507:69;;;:::i;:::-;830:78201;;;;78507:69;;;78459:37;;;;;;;;;;77832:35;78459:37;77832:35;78459:37;;;;;;;:::i;:::-;;;;;;;;;;78363:29;;;;830:78201;78363:29;;830:78201;78363:29;;;;;;2030:14:2;78363:29:63;;;:::i;:::-;;;2030:14:2;;;;;;78334:71:63;78363:29;;;;;-1:-1:-1;78363:29:63;;77985:35;;;;;;;830:78201;77985:35;;830:78201;77985:35;;;;;;2030:14:2;77985:35:63;;;:::i;:::-;;;2030:14:2;;;;;;77985:35:63;;2030:14:2;;;;;77957:323:63;77985:35;;;;;-1:-1:-1;77985:35:63;;77832;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;77653:18;;;;830:78201;77653:18;;830:78201;77653:18;;;;;;2030:14:2;77653:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;77254:505:63;77653:18;;;;;-1:-1:-1;77653:18:63;;77316:24;;;830:78201;77316:24;;830:78201;77316:24;;;;;;2030:14:2;77316:24:63;;;:::i;:::-;;;2030:14:2;;;;;77316:24:63;;;;;;-1:-1:-1;77316:24:63;;77112:23;;;;830:78201;77112:23;;830:78201;77112:23;;;;;;2030:14:2;77112:23:63;;;:::i;:::-;;;2030:14:2;;;;;77112:23:63;;;;;;;-1:-1:-1;77112:23:63;;76971:16;;830:78201;76971:16;;830:78201;76971:16;;;;;;830:78201;76971:16;;;:::i;:::-;;;830:78201;;;;;76965:22;830:78201;;:::i;:::-;76971:16;;;;;-1:-1:-1;76971:16:63;;76790:19;830:78201;;76790:19;;;:::i;:::-;830:78201;;;;76790:19;;;830:78201;;;;;;;;;;;;;36361:4;830:78201;;336:42:2;36347:19:63;;;;830:78201;;36347:19;830:78201;36347:19;;830:78201;36347:19;;830:78201;;;;36347:19;830:78201;;;336:42:2;36347:19:63;;;;;;;;830:78201;;;;;;;;;36454:16;;830:78201;36454:16;830:78201;36454:16;;;;;;;;830:78201;;36454:16;;;830:78201;36448:22;;;;:::i;:::-;830:78201;;36443:2;830:78201;;36443:2;830:78201;;;;;36517:4;36499:15;2030:14:2;36499:15:63;;2030:14:2;;;830:78201:63;36554:10;2030:14:2;;;830:78201:63;;36361:4;830:78201;;;;;36554:23;830:78201;36554:23;;;830:78201;36554:23;;830:78201;;36554:23;36347:19;36554:23;;;;;;;;;830:78201;;36554:23;;;830:78201;36587:24;;;;:::i;:::-;830:78201;;;36694:35;;830:78201;36694:35;830:78201;36694:35;;;;;;;;830:78201;;;;36694:35;;;830:78201;;36666:348;830:78201;36666:348;830:78201;;36666:348;;;;;;830:78201;36666:348;;36882:13;;36666:348;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;36666:348;830:78201;36643:381;;830:78201;;37090:29;830:78201;37090:29;;830:78201;37090:29;830:78201;37090:29;;;;;;;;;830:78201;;37090:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;37061:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;37061:71;830:78201;2030:14:2;;;37061:71:63;2030:14:2;37061:71:63;830:78201;37051:82;;37185:14;2030::2;830:78201:63;;;37177:31;830:78201;37177:31;;830:78201;37177:31;;830:78201;36347:19;2030:14:2;;830:78201:63;37177:31;;;;336:42:2;37177:31:63;;;;;;;830:78201;;;;;;;;37177:31;;;830:78201;-1:-1:-1;830:78201:63;;;37219:42;;830:78201;;;;;37219:42;;830:78201;;;;;;;;;;;;;;;;;37219:42;;830:78201;;;37219:42;;;;;;;;;830:78201;2030:14:2;830:78201:63;36554:10;2030:14:2;;;830:78201:63;;;36361:4;830:78201;;;;;;;37271:140;;;;;;;830:78201;;;37271:140;;;;;;;830:78201;37271:140;;830:78201;;37271:140;830:78201;37271:140;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;37271:140;;830:78201;;;37271:140;;;;;;;;;830:78201;2030:14:2;830:78201:63;36554:10;2030:14:2;;;830:78201:63;;;36361:4;830:78201;;36347:19;830:78201;;37443:23;;;;830:78201;37443:23;;830:78201;37443:23;;830:78201;37443:23;;;;;;830:78201;;37443:23;;;830:78201;37476:23;;;;:::i;37443:::-;;830:78201;37443:23;;830:78201;37443:23;;;;;;2030:14:2;37443:23:63;;;:::i;:::-;;;2030:14:2;;;;37476:23:63;2030:14:2;;37443:23:63;;;;;-1:-1:-1;37443:23:63;;37271:140;830:78201;;37271:140;;;:::i;:::-;830:78201;;;;37271:140;;;37219:42;;;830:78201;37219:42;830:78201;37219:42;;;;;;;:::i;:::-;;;37177:31;830:78201;37177:31;;;37219:42;37177:31;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;37090:29;;;;830:78201;37090:29;;830:78201;37090:29;;;;;;2030:14:2;37090:29:63;;;:::i;:::-;;;2030:14:2;;;;;;37061:71:63;37090:29;;;;;-1:-1:-1;37090:29:63;;36694:35;;;;830:78201;36694:35;;830:78201;36694:35;;;;;;2030:14:2;36694:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;36666:348:63;36694:35;;;;;-1:-1:-1;36694:35:63;;36554:23;;;;830:78201;36554:23;;830:78201;36554:23;;;;;;2030:14:2;36554:23:63;;;:::i;:::-;;;2030:14:2;;;;;36554:23:63;;;;;;;-1:-1:-1;36554:23:63;;36454:16;;830:78201;36454:16;;830:78201;36454:16;;;;;;830:78201;36454:16;;;:::i;:::-;;;830:78201;;;;;36448:22;830:78201;;:::i;:::-;36454:16;;;;;-1:-1:-1;36454:16:63;;36347:19;830:78201;;36347:19;;;:::i;:::-;830:78201;;;;36347:19;;;830:78201;;;;;;;;;;;;;;65197:43;;;;;;;;;;;;;;830:78201;65197:43;;;;;;65222:17;830:78201;;65197:43;;830:78201;;;65197:43;;;;;830:78201;;;65312:4;830:78201;;65286:47;;;;;830:78201;;65286:47;830:78201;65286:47;;830:78201;65286:47;;830:78201;65318:14;830:78201;;;;;;;65286:47;830:78201;;;65286:47;;;;;;;;;830:78201;;;65312:4;830:78201;;336:42:2;65344:19:63;;;;830:78201;;65344:19;830:78201;65344:19;;830:78201;65344:19;;830:78201;;;;;;;;336:42:2;65344:19:63;;;;;;;;830:78201;65481:15;65499:4;65481:15;2030:14:2;65481:15:63;;;2030:14:2;;;830:78201:63;65529:10;2030:14:2;;;830:78201:63;;;65312:4;830:78201;;;;;65529:23;830:78201;65529:23;;;830:78201;65529:23;;830:78201;;65529:23;830:78201;65529:23;;;;;;;;;830:78201;;65529:23;;;830:78201;;;;;65635:35;;830:78201;65635:35;830:78201;65635:35;;;;;;;;830:78201;;;;65635:35;;;830:78201;-1:-1:-1;830:78201:63;;;;65607:324;;830:78201;;;;;;;;;;;;;;;;;;;;;65440:12;830:78201;;;;;;;;;;;;;;;65834:13;830:78201;;;;;;;;;;;;;;;2030:14:2;;;830:78201:63;;;;65607:324;;830:78201;;;;65607:324;830:78201;65607:324;830:78201;65584:357;;830:78201;;66008:29;830:78201;66008:29;;830:78201;66008:29;830:78201;66008:29;;;;;;;;;830:78201;;66008:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;65979:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;65979:71;830:78201;2030:14:2;;;65979:71:63;2030:14:2;65979:71:63;830:78201;65969:82;;2030:14:2;66103::63;2030::2;830:78201:63;;;66095:31;830:78201;66095:31;;830:78201;66095:31;;830:78201;;2030:14:2;;830:78201:63;66095:31;;65286:47;66095:31;336:42:2;66095:31:63;;;;;;;830:78201;;;;;;;;66095:31;;830:78201;;;;66180:57;830:78201;66180:57;;-1:-1:-1;;830:78201:63;;66180:57;;830:78201;;;;;;;;65286:47;830:78201;;;66180:57;;;;;;;;;830:78201;66307:41;336:42:2;66307:41:63;;;;830:78201;;;66307:41;;830:78201;;66307:41;;830:78201;;;;;;;65286:47;830:78201;;;;;;66307:41;830:78201;;336:42:2;66307:41:63;;;;;;;;830:78201;2030:14:2;830:78201:63;65529:10;2030:14:2;;;830:78201:63;;;65312:4;830:78201;;66358:145;;;;;;;830:78201;;;66358:145;;;;;;;830:78201;66358:145;;830:78201;;66358:145;830:78201;66358:145;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;65440:12;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;66307:41;830:78201;;66307:41;;;:::i;:::-;830:78201;;;;66307:41;;;66180:57;;;830:78201;66180:57;830:78201;66180:57;;;;;;;:::i;:::-;;;66095:31;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;66008:29;;;;830:78201;66008:29;;830:78201;66008:29;;;;;;2030:14:2;66008:29:63;;;:::i;:::-;;;2030:14:2;;;;;;65979:71:63;66008:29;;;;;-1:-1:-1;66008:29:63;;65635:35;;;;830:78201;65635:35;;830:78201;65635:35;;;;;;2030:14:2;65635:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;65607:324:63;65635:35;;;;;-1:-1:-1;65635:35:63;;65529:23;;;;830:78201;65529:23;;830:78201;65529:23;;;;;;2030:14:2;65529:23:63;;;:::i;:::-;;;2030:14:2;;;;;65529:23:63;;;;;;;-1:-1:-1;65529:23:63;;65344:19;830:78201;;65344:19;;;:::i;:::-;830:78201;;;;65344:19;;;65286:47;830:78201;;65286:47;;;:::i;:::-;830:78201;;;;65286:47;;;830:78201;;;;;;;;;;;;;57214:4;830:78201;;336:42:2;57200:19:63;;;;830:78201;;57200:19;830:78201;57200:19;;830:78201;57200:19;;830:78201;;;;57200:19;830:78201;;;336:42:2;57200:19:63;;;;;;;;830:78201;;;;;;;;;57307:16;;830:78201;57307:16;830:78201;57307:16;;;;;;;;830:78201;;57307:16;;;830:78201;57301:22;;;;:::i;:::-;830:78201;;57296:2;830:78201;;57296:2;830:78201;;;;;57370:4;57352:15;2030:14:2;57352:15:63;;2030:14:2;;;830:78201:63;57400:10;2030:14:2;;;830:78201:63;;57214:4;830:78201;;;;;57400:23;830:78201;57400:23;;;830:78201;57400:23;;830:78201;;57400:23;57200:19;57400:23;;;;;;;;;830:78201;;57400:23;;;830:78201;;;;;57506:35;;830:78201;57506:35;830:78201;57506:35;;;;;;;;830:78201;;;;57506:35;;;830:78201;;57478:342;830:78201;57478:342;830:78201;;57478:342;;;;;;830:78201;57478:342;;57694:13;;57478:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;57478:342;830:78201;57455:375;;830:78201;;57903:29;830:78201;57903:29;;830:78201;57903:29;830:78201;57903:29;;;;;;;;;830:78201;;57903:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;57874:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;57874:71;830:78201;2030:14:2;;;57874:71:63;2030:14:2;57874:71:63;830:78201;57864:82;;58008:14;2030::2;830:78201:63;;;58000:37;830:78201;58000:37;;830:78201;58000:37;;830:78201;57200:19;2030:14:2;;830:78201:63;58000:37;;;;336:42:2;58000:37:63;;;;;;;830:78201;;;;;;;;58000:37;;;830:78201;-1:-1:-1;830:78201:63;;;58048:42;;830:78201;;;;;58048:42;;830:78201;;;;;;;;;;;;;;;;;58048:42;;830:78201;;;58048:42;;;;;;;;;2030:14:2;830:78201:63;57400:10;2030:14:2;;;830:78201:63;;;57214:4;830:78201;;;;;;;58174:143;;;;;;;830:78201;;;58174:143;;;;;;;830:78201;58174:143;;830:78201;;58174:143;830:78201;58174:143;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;58048:42;;;830:78201;58048:42;830:78201;58048:42;;;;;;;:::i;:::-;;;58000:37;830:78201;58000:37;;;58048:42;58000:37;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;57903:29;;;;830:78201;57903:29;;830:78201;57903:29;;;;;;2030:14:2;57903:29:63;;;:::i;:::-;;;2030:14:2;;;;;;57874:71:63;57903:29;;;;;-1:-1:-1;57903:29:63;;57506:35;;;;830:78201;57506:35;;830:78201;57506:35;;;;;;2030:14:2;57506:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;57478:342:63;57506:35;;;;;-1:-1:-1;57506:35:63;;57400:23;;;;830:78201;57400:23;;830:78201;57400:23;;;;;;2030:14:2;57400:23:63;;;:::i;:::-;;;2030:14:2;;;;;57400:23:63;;;;;;;-1:-1:-1;57400:23:63;;57307:16;;830:78201;57307:16;;830:78201;57307:16;;;;;;830:78201;57307:16;;;:::i;:::-;;;830:78201;;;;;57301:22;830:78201;;:::i;:::-;57307:16;;;;;-1:-1:-1;57307:16:63;;57200:19;830:78201;;57200:19;;;:::i;:::-;830:78201;;;;57200:19;;;830:78201;;;;;;;;;;;;;53180:4;830:78201;;336:42:2;53166:19:63;;;;830:78201;;53166:19;830:78201;53166:19;;830:78201;53166:19;;830:78201;;;;53166:19;830:78201;;;336:42:2;53166:19:63;;;;;;;;830:78201;;;;;;;;;53273:16;;830:78201;53273:16;830:78201;53273:16;;;;;;;;830:78201;;53273:16;;;830:78201;53267:22;;;;:::i;:::-;830:78201;;53262:2;830:78201;;53262:2;830:78201;;;;;53336:4;53318:15;2030:14:2;53318:15:63;;;2030:14:2;;;830:78201:63;53366:10;2030:14:2;;;830:78201:63;;;53180:4;830:78201;;;;;53366:23;830:78201;53366:23;;;830:78201;53366:23;;830:78201;;53366:23;53166:19;53366:23;;;;;;;;;830:78201;;53366:23;;;830:78201;;;;;53506:24;;830:78201;53506:24;830:78201;53506:24;;;;;;;;;830:78201;;53506:24;;;830:78201;;;;;53843:18;;;830:78201;53843:18;;830:78201;;53843:18;53166:19;53843:18;;;;;;;;;830:78201;;;;;;;;53843:18;;;830:78201;;53444:505;830:78201;;53579:338;53444:505;830:78201;;53579:338;830:78201;;;53579:338;;;830:78201;53579:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;53444:505;830:78201;53421:538;;2030:14:2;54030::63;2030::2;830:78201:63;;;54022:35;830:78201;54022:35;;;830:78201;54022:35;;830:78201;53166:19;2030:14:2;;830:78201:63;54022:35;;;;336:42:2;54022:35:63;;;;;;;830:78201;;;;;;;54022:35;;830:78201;;;;;54140:35;;830:78201;54140:35;830:78201;54140:35;;;;;;;;;830:78201;;;;;;54140:35;;;830:78201;;54112:342;830:78201;54112:342;830:78201;;54112:342;;;;;;830:78201;54112:342;;54328:13;;54112:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;54112:342;830:78201;54089:375;;830:78201;;54537:29;830:78201;54537:29;;830:78201;54537:29;830:78201;54537:29;;;;;;;;;830:78201;;54537:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;54508:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;54508:71;830:78201;2030:14:2;;;54508:71:63;2030:14:2;54508:71:63;830:78201;54498:82;;830:78201;;54634:37;830:78201;54634:37;;830:78201;54634:37;;830:78201;53166:19;2030:14:2;;830:78201:63;54022:35;54634:37;54022:35;54634:37;336:42:2;54634:37:63;;;;;;;830:78201;;;;;;;;54634:37;;830:78201;54719:356;;;;;;830:78201;;;54719:356;;830:78201;;;;;;;;54719:356;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;830:78201:63;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;54719:356;;;;;;;;830:78201;55186:61;336:42:2;55186:61:63;;;;830:78201;;;55186:61;;55202:44;830:78201;55186:61;;830:78201;;;;53166:19;830:78201;;336:42:2;55186:61:63;;;;;;;;2030:14:2;830:78201:63;53366:10;2030:14:2;;;830:78201:63;;;53180:4;830:78201;;;;;;;55257:356;;;;;;830:78201;;55257:356;;;;;;;830:78201;55257:356;;830:78201;;;55257:356;830:78201;55257:356;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;54719:356;830:78201;;54719:356;;;:::i;:::-;830:78201;;;;54719:356;;;54634:37;;;;;;;;;;54022:35;54634:37;54022:35;54634:37;;;;;;;:::i;:::-;;;;;;;;;;54537:29;;;;830:78201;54537:29;;830:78201;54537:29;;;;;;2030:14:2;54537:29:63;;;:::i;:::-;;;2030:14:2;;;;;;54508:71:63;54537:29;;;;;-1:-1:-1;54537:29:63;;54140:35;;;;;830:78201;54140:35;;830:78201;54140:35;;;;;;2030:14:2;54140:35:63;;;:::i;:::-;;;2030:14:2;;;;;54112:342:63;2030:14:2;;;54140:35:63;;;;;;-1:-1:-1;54140:35:63;;54022;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;53843:18;;;;;;;830:78201;53843:18;;830:78201;53843:18;;;;;;2030:14:2;53843:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;53579:338:63;53843:18;;;;;-1:-1:-1;53843:18:63;;53506:24;;;830:78201;53506:24;;830:78201;53506:24;;;;;;2030:14:2;53506:24:63;;;:::i;:::-;;;2030:14:2;;;;;53506:24:63;;;;;;-1:-1:-1;53506:24:63;;53366:23;;;;830:78201;53366:23;;830:78201;53366:23;;;;;;2030:14:2;53366:23:63;;;:::i;:::-;;;2030:14:2;;;;;53366:23:63;;;;;;;-1:-1:-1;53366:23:63;;53273:16;;830:78201;53273:16;;830:78201;53273:16;;;;;;830:78201;53273:16;;;:::i;:::-;;;830:78201;;;;;53267:22;830:78201;;:::i;:::-;53273:16;;;;;-1:-1:-1;53273:16:63;;53166:19;830:78201;;53166:19;;;:::i;:::-;830:78201;;;;53166:19;;;830:78201;;;;;;;;;;;;;25731:4;830:78201;;336:42:2;25717:19:63;;;;830:78201;;25717:19;830:78201;25717:19;;830:78201;25717:19;;830:78201;;;;25717:19;830:78201;;;336:42:2;25717:19:63;;;;;;;;830:78201;25858:15;25876:3;25858:15;2030:14:2;25858:15:63;;2030:14:2;;;830:78201:63;25905:10;2030:14:2;;;830:78201:63;;;25731:4;830:78201;;;;25905:23;830:78201;25905:23;;;830:78201;25905:23;;830:78201;;25905:23;25717:19;25905:23;;;;;;;;;830:78201;;25905:23;;;830:78201;;;;;26011:35;;830:78201;26011:35;830:78201;26011:35;;;;;;;;830:78201;;;;26011:35;;;830:78201;-1:-1:-1;830:78201:63;;;;;;25983:342;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26199:13;830:78201;;;;;;;;;;;;;2030:14:2;;;830:78201:63;;;;;;;;;25983:342;830:78201;;;;25983:342;830:78201;25983:342;830:78201;25960:375;;830:78201;;;26401:29;;;;830:78201;26401:29;;;;;;;;;830:78201;;26401:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;26372:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;26372:71;830:78201;2030:14:2;;;26372:71:63;2030:14:2;26372:71:63;830:78201;26362:82;;26496:14;2030::2;830:78201:63;;;26488:31;830:78201;26488:31;;830:78201;26488:31;;830:78201;25717:19;2030:14:2;;830:78201:63;26488:31;;;;336:42:2;26488:31:63;;;;;;;830:78201;;;;;;;;26488:31;;830:78201;26530:62;336:42:2;26530:62:63;;;;830:78201;;;26530:62;;26546:45;830:78201;26530:62;;830:78201;;;;25717:19;830:78201;;336:42:2;26530:62:63;;;;;;;;830:78201;2030:14:2;830:78201:63;25905:10;2030:14:2;;;830:78201:63;;;25731:4;830:78201;;;;;;;26602:112;;;;;;830:78201;;;;26602:112;830:78201;26602:112;;-1:-1:-1;;830:78201:63;;26602:112;;830:78201;25717:19;830:78201;;;;;26488:31;830:78201;;;;25876:3;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;26602:112;830:78201;;;;;;26602:112;;;;;;;;;26725:14;336:42:2;26725:14:63;;;;830:78201;;;26725:14;;830:78201;;;;;;336:42:2;26725:14:63;;;;;;;;830:78201;;;;26530:62;830:78201;;26530:62;;;:::i;:::-;830:78201;;;;26530:62;;;26488:31;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;26401:29;;;;830:78201;26401:29;;830:78201;26401:29;;;;;;2030:14:2;26401:29:63;;;:::i;:::-;;;2030:14:2;;;;;;26372:71:63;26401:29;;;;;-1:-1:-1;26401:29:63;;26011:35;;;;830:78201;26011:35;;830:78201;26011:35;;;;;;2030:14:2;26011:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;830:78201:63;26011:35;;;;;-1:-1:-1;26011:35:63;;25905:23;;;;830:78201;25905:23;;830:78201;25905:23;;;;;;2030:14:2;25905:23:63;;;:::i;:::-;;;2030:14:2;;;;;25905:23:63;;;;;;;-1:-1:-1;25905:23:63;;25717:19;830:78201;;25717:19;;;:::i;:::-;830:78201;;;;25717:19;;;830:78201;;;;;;;;;;;;;23295:4;830:78201;;336:42:2;23281:19:63;;;;830:78201;;23281:19;830:78201;23281:19;;830:78201;23281:19;;830:78201;;;;23281:19;830:78201;;;336:42:2;23281:19:63;;;;;;;;830:78201;23381:15;23399:7;23381:15;2030:14:2;23381:15:63;;2030:14:2;;;830:78201:63;23432:10;2030:14:2;;;830:78201:63;;23295:4;830:78201;;;;;23432:23;830:78201;23432:23;;;830:78201;23432:23;;830:78201;;23432:23;23281:19;23432:23;;;;;;;;;830:78201;;23432:23;;;830:78201;23503:73;;;;;;:::i;:::-;830:78201;;;;;;;;;;23587:45;830:78201;;23587:45;;;;830:78201;23587:45;;-1:-1:-1;;830:78201:63;;23587:45;;830:78201;2030:14:2;23281:19:63;830:78201;;;;;23587:45;;;;;;;;;830:78201;2030:14:2;830:78201:63;23432:10;2030:14:2;;;830:78201:63;;;23295:4;830:78201;;;;;;;23643:137;;;;;;830:78201;;;;23643:137;830:78201;23643:137;;-1:-1:-1;;2030:14:2;830:78201:63;23643:137;;830:78201;23281:19;2030:14:2;;830:78201:63;23325:5;23587:45;2030:14:2;;830:78201:63;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;23354:4;2030:14:2;;;830:78201:63;23568:6;2030:14:2;;;830:78201:63;;2030:14:2;;;;;;;830:78201:63;2030:14:2;;;830:78201:63;;23643:137;830:78201;;;;;;23643:137;;;;;;;;;830:78201;23281:19;830:78201;;;;;;;23800:32;;;;830:78201;23800:32;;23568:6;830:78201;23800:32;;830:78201;23800:32;;;;;;830:78201;;23800:32;;;23834:3;;;;:::i;23587:45::-;;;830:78201;23587:45;830:78201;23587:45;;;;;;;:::i;:::-;;;23432:23;;;;;830:78201;23432:23;;830:78201;23432:23;;;;;;2030:14:2;23432:23:63;;;:::i;:::-;;;2030:14:2;;;;;;;23503:73:63;23432:23;;;;;-1:-1:-1;23432:23:63;;23281:19;830:78201;;23281:19;;;:::i;:::-;830:78201;;;;23281:19;;;830:78201;;;;;;;;;;;;3346:26:9;830:78201:63;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;3346:26:9;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4555:4;830:78201;;336:42:2;4541:19:63;;;;830:78201;;4541:19;830:78201;4541:19;;830:78201;4541:19;;830:78201;;;;4541:19;830:78201;;;336:42:2;4541:19:63;;;;;;;;830:78201;;;;;;;;;4648:16;;830:78201;4648:16;830:78201;4648:16;;;;;;;;830:78201;;4648:16;;;830:78201;4642:22;;;;:::i;:::-;830:78201;;4637:2;830:78201;;4637:2;830:78201;;;;;4711:4;4693:15;2030:14:2;4693:15:63;;;2030:14:2;;;830:78201:63;4741:10;2030:14:2;;;830:78201:63;;;4555:4;830:78201;;;;;;4741:23;;;830:78201;4741:23;;830:78201;;4741:23;4541:19;4741:23;;;;;;;;;830:78201;;4741:23;;;830:78201;;;;;4916:24;;830:78201;4916:24;830:78201;4916:24;;;;;;;;;830:78201;;4916:24;;;830:78201;;;;;5253:18;;;830:78201;5253:18;;830:78201;;5253:18;4541:19;5253:18;;;;;;;;;830:78201;;;;;;;;5253:18;;;830:78201;;4854:505;830:78201;;4989:338;4854:505;830:78201;;4989:338;830:78201;;;4989:338;;;830:78201;4989:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;4854:505;830:78201;4831:538;;5440:14;2030::2;830:78201:63;;;5432:35;830:78201;5432:35;;;830:78201;5432:35;;830:78201;4541:19;2030:14:2;;830:78201:63;5432:35;;;;336:42:2;5432:35:63;;;;;;;830:78201;;;;;;;;5432:35;;830:78201;;;;;5585:35;;830:78201;5585:35;830:78201;5585:35;;;;;;;;;830:78201;;;;;;;;5585:35;;;830:78201;-1:-1:-1;830:78201:63;;;;5557:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5773:13;830:78201;;;;;;;;;;;;2030:14:2;;;830:78201:63;;;;;;5557:342;;830:78201;;;;5557:342;830:78201;5557:342;830:78201;5534:375;;830:78201;;;;5982:29;;;;830:78201;5982:29;;;;;;;;;830:78201;;5982:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;5953:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;5953:71;830:78201;2030:14:2;;;5953:71:63;2030:14:2;5953:71:63;830:78201;5943:82;;830:78201;;6079:37;830:78201;6079:37;;830:78201;6079:37;;830:78201;4541:19;2030:14:2;;830:78201:63;5432:35;6079:37;5432:35;6079:37;336:42:2;6079:37:63;;;;;;;830:78201;;;;;;;;6079:37;;;830:78201;6202:84;;;;;;830:78201;;6202:84;830:78201;6202:84;;830:78201;6202:84;;830:78201;4541:19;830:78201;;;;5432:35;830:78201;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;6202:84;830:78201;;;;;;6202:84;;;;;;;;;830:78201;;;;;;;;4555:4;830:78201;;;;;6359:21;830:78201;6359:21;;;830:78201;6359:21;;830:78201;;6359:21;4541:19;6359:21;;;;;;;;;830:78201;;6359:21;;;830:78201;;;;6420:30;830:78201;6420:30;;4603:6;830:78201;6420:30;;830:78201;;6420:30;4541:19;6420:30;;;;;;;;;830:78201;;6420:30;;;830:78201;2030:14:2;830:78201:63;4741:10;2030:14:2;;;830:78201:63;6539:440;;;;;;830:78201;;;;6539:440;;;;;;;830:78201;6539:440;;830:78201;;;6539:440;830:78201;6539:440;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;6420:30;;;;830:78201;6420:30;;830:78201;6420:30;;;;;;2030:14:2;6420:30:63;;;:::i;:::-;;;2030:14:2;;;;;6420:30:63;;;;;;;-1:-1:-1;6420:30:63;;6359:21;;;;830:78201;6359:21;;830:78201;6359:21;;;;;;2030:14:2;6359:21:63;;;:::i;:::-;;;2030:14:2;;;;;6359:21:63;;;;;;;-1:-1:-1;6359:21:63;;6202:84;830:78201;;6202:84;;;:::i;:::-;830:78201;;;;6202:84;;;6079:37;;;;;;;;;;5432:35;6079:37;5432:35;6079:37;;;;;;;:::i;:::-;;;;;;;;;;5982:29;;;;830:78201;5982:29;;830:78201;5982:29;;;;;;2030:14:2;5982:29:63;;;:::i;:::-;;;2030:14:2;;;;;;5953:71:63;5982:29;;;;;-1:-1:-1;5982:29:63;;5585:35;;;;;;;830:78201;5585:35;;830:78201;5585:35;;;;;;2030:14:2;5585:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;5557:342:63;5585:35;;;;;-1:-1:-1;5585:35:63;;5432;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;5253:18;;;;;;;830:78201;5253:18;;830:78201;5253:18;;;;;;2030:14:2;5253:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;4989:338:63;5253:18;;;;;-1:-1:-1;5253:18:63;;4916:24;;;830:78201;4916:24;;830:78201;4916:24;;;;;;2030:14:2;4916:24:63;;;:::i;:::-;;;2030:14:2;;;;;4916:24:63;;;;;;-1:-1:-1;4916:24:63;;4741:23;;;830:78201;4741:23;;830:78201;4741:23;;;;;;2030:14:2;4741:23:63;;;:::i;:::-;;;2030:14:2;;;;;4741:23:63;;;;;;-1:-1:-1;4741:23:63;;4648:16;;830:78201;4648:16;;830:78201;4648:16;;;;;;830:78201;4648:16;;;:::i;:::-;;;830:78201;;;;;4642:22;830:78201;;:::i;:::-;4648:16;;;;;-1:-1:-1;4648:16:63;;4541:19;830:78201;;4541:19;;;:::i;:::-;830:78201;;;;4541:19;;;830:78201;;;;;;;;;;;;;;61033:43;;;;;;;;;;;;;;830:78201;61033:43;;;;;;61058:17;830:78201;;61033:43;;830:78201;;;61033:43;;;;;830:78201;;;61148:4;830:78201;;61122:47;;;;;830:78201;;61122:47;830:78201;61122:47;;830:78201;61122:47;;830:78201;61154:14;830:78201;;;;;;;61122:47;830:78201;;;61122:47;;;;;;;;;830:78201;;;61148:4;830:78201;;336:42:2;61180:19:63;;;;830:78201;;61180:19;830:78201;61180:19;;830:78201;61180:19;;830:78201;;;;;;;;336:42:2;61180:19:63;;;;;;;;830:78201;61501:15;61519:4;61501:15;2030:14:2;61501:15:63;;2030:14:2;;;830:78201:63;61549:10;2030:14:2;;;830:78201:63;;;61148:4;830:78201;;;;61549:23;830:78201;61549:23;;;830:78201;61549:23;;830:78201;;61549:23;830:78201;61549:23;;;;;;;;;830:78201;;61549:23;;;830:78201;;;;61655:35;830:78201;61655:35;;830:78201;61655:35;830:78201;61655:35;;;;;;;;;830:78201;;61655:35;;;830:78201;;;;61627:334;830:78201;61627:334;;-1:-1:-1;;;2030:14:2;830:78201:63;;;2030:14:2;;830:78201:63;2030:14:2;;;;830:78201:63;61324:12;2030:14:2;;;830:78201:63;61242:6;2030:14:2;;;830:78201:63;2030:14:2;;;;830:78201:63;61854:13;830:78201;2030:14:2;;830:78201:63;2030:14:2;;;;830:78201:63;61395:11;2030:14:2;;;830:78201:63;61290:6;2030:14:2;;;830:78201:63;2030:14:2;61627:334:63;;;;;;:::i;:::-;830:78201;61604:367;;830:78201;;62038:29;830:78201;62038:29;;830:78201;62038:29;830:78201;62038:29;;;;;;;;;830:78201;;62038:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;62009:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;62009:71;830:78201;2030:14:2;;;62009:71:63;2030:14:2;62009:71:63;830:78201;61999:82;;2030:14:2;62133::63;2030::2;830:78201:63;;;62125:31;830:78201;62125:31;;830:78201;62125:31;;830:78201;;2030:14:2;;830:78201:63;2030:14:2;62125:31:63;61122:47;62125:31;336:42:2;62125:31:63;;;;;;;830:78201;;;;;;;62125:31;;830:78201;;;;62247:58;830:78201;62247:58;;-1:-1:-1;;830:78201:63;;62247:58;;830:78201;2030:14:2;830:78201:63;;;;;;61122:47;830:78201;;;62247:58;;;;;;;;;830:78201;;;61148:4;830:78201;;;;;62340:32;830:78201;62340:32;;;830:78201;62340:32;;830:78201;;62340:32;830:78201;62340:32;;;;;;;;;830:78201;;62340:32;;;830:78201;;;;62408:41;830:78201;62408:41;;61242:6;830:78201;62408:41;;830:78201;;62408:41;830:78201;62408:41;;;;;;;;;830:78201;;62408:41;;;830:78201;;;;62491:40;830:78201;62491:40;;61290:6;830:78201;62491:40;;830:78201;;62491:40;830:78201;62491:40;;;;;;;;;830:78201;;62491:40;;;830:78201;2030:14:2;830:78201:63;61549:10;2030:14:2;;;830:78201:63;62607:155;;;;;;830:78201;;;;62607:155;830:78201;62607:155;;-1:-1:-1;;2030:14:2;830:78201:63;62607:155;;830:78201;2030:14:2;830:78201:63;2030:14:2;;830:78201:63;61324:12;61122:47;2030:14:2;;830:78201:63;61242:6;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;61395:11;2030:14:2;;;830:78201:63;61290:6;2030:14:2;;;830:78201:63;;2030:14:2;;;;;;;830:78201:63;2030:14:2;;;830:78201:63;;62607:155;830:78201;;;;;;62607:155;;;;;;;;;830:78201;;;61148:4;830:78201;;;;;62831:32;830:78201;62831:32;;830:78201;62831:32;;830:78201;;62831:32;830:78201;62831:32;;;;;;;;;830:78201;;62831:32;;;830:78201;-1:-1:-1;830:78201:63;;;;;;;;62865:27;;;:::i;:::-;830:78201;;62912:41;830:78201;62912:41;;61242:6;830:78201;62912:41;;830:78201;;62912:41;830:78201;62912:41;;;;;;;;;830:78201;;62912:41;;;830:78201;2030:14:2;61324:12:63;2030:14:2;;;;;;;62955:24:63;830:78201;62955:24;830:78201;62955:24;;:::i;:::-;830:78201;;62999:40;;;;830:78201;62999:40;;61290:6;830:78201;62999:40;;830:78201;62999:40;;;;;;;830:78201;;62999:40;;;830:78201;2030:14:2;61395:11:63;2030:14:2;;;;;;;63041:33:63;;;:::i;62999:40::-;;;;830:78201;62999:40;;830:78201;62999:40;;;;;;2030:14:2;62999:40:63;;;:::i;:::-;;;2030:14:2;;;;;62999:40:63;;;;;;;-1:-1:-1;62999:40:63;;62912:41;;;;830:78201;62912:41;;830:78201;62912:41;;;;;;2030:14:2;62912:41:63;;;:::i;:::-;;;2030:14:2;;;;;62912:41:63;;;;;;;-1:-1:-1;62912:41:63;;62831:32;;;;830:78201;62831:32;;830:78201;62831:32;;;;;;2030:14:2;62831:32:63;;;:::i;:::-;;;2030:14:2;;;;;62831:32:63;;;;;;;-1:-1:-1;62831:32:63;;62607:155;830:78201;;62607:155;;;:::i;:::-;830:78201;;;;62607:155;;;62491:40;;;;830:78201;62491:40;;830:78201;62491:40;;;;;;2030:14:2;62491:40:63;;;:::i;:::-;;;2030:14:2;;;;;62491:40:63;;;;;;;-1:-1:-1;62491:40:63;;62408:41;;;;830:78201;62408:41;;830:78201;62408:41;;;;;;2030:14:2;62408:41:63;;;:::i;:::-;;;2030:14:2;;;;;62408:41:63;;;;;;;-1:-1:-1;62408:41:63;;62340:32;;;;830:78201;62340:32;;830:78201;62340:32;;;;;;2030:14:2;62340:32:63;;;:::i;:::-;;;2030:14:2;;;;;62340:32:63;;;;;;;-1:-1:-1;62340:32:63;;62247:58;;;830:78201;62247:58;830:78201;62247:58;;;;;;;:::i;:::-;;;62125:31;;;;;;;;;2030:14:2;62125:31:63;2030:14:2;62125:31:63;;;;;;;:::i;:::-;;;;;;;;62038:29;;;;830:78201;62038:29;;830:78201;62038:29;;;;;;2030:14:2;62038:29:63;;;:::i;:::-;;;2030:14:2;;;;;;62009:71:63;62038:29;;;;;-1:-1:-1;62038:29:63;;61655:35;;;;830:78201;61655:35;;830:78201;61655:35;;;;;;2030:14:2;61655:35:63;;;:::i;:::-;;;2030:14:2;;;;;61655:35:63;;;;;;;-1:-1:-1;61655:35:63;;61549:23;;;;830:78201;61549:23;;830:78201;61549:23;;;;;;2030:14:2;61549:23:63;;;:::i;:::-;;;2030:14:2;;;;;61549:23:63;;;;;;;-1:-1:-1;61549:23:63;;61180:19;830:78201;;61180:19;;;:::i;:::-;830:78201;;;;61180:19;;;61122:47;830:78201;;61122:47;;;:::i;:::-;830:78201;;;;61122:47;;;830:78201;;;;;;;;;;;;;36223:35;830:78201;36223:10;2030:14:2;;;830:78201:63;;;36223:35;;;;830:78201;36223:35;;;;;;;;;830:78201;;36223:35;;;830:78201;4445:13:4;36006:198:63;4445:13:4;;4441:68;;830:78201:63;;;;4441:68:4;830:78201:63;4474:24:4;;;;830:78201:63;;4474:24:4;830:78201:63;4474:24:4;;830:78201:63;4474:24:4;;830:78201:63;36006:198;830:78201;;;;-1:-1:-1;;4474:24:4;;;830:78201:63;4474:24:4;;;;;;;4441:68;4474:24;-1:-1:-1;;4474:24:4;;;:::i;36223:35:63:-;;;;;;;;;;;;;2030:14:2;36223:35:63;;;:::i;:::-;;;2030:14:2;;;;;36223:35:63;;;;;;-1:-1:-1;36223:35:63;;830:78201;;;;;;;;;;;;;9558:4;830:78201;;336:42:2;9544:19:63;;;;830:78201;;9544:19;830:78201;9544:19;;830:78201;9544:19;;830:78201;;;;9544:19;830:78201;;;336:42:2;9544:19:63;;;;;;;;830:78201;;;;;;;;;9651:16;;830:78201;9651:16;830:78201;9651:16;;;;;;;;830:78201;;9651:16;;;830:78201;9645:22;;;;:::i;:::-;830:78201;9640:2;830:78201;;9640:2;830:78201;;;;;9714:4;9696:15;2030:14:2;9696:15:63;;;2030:14:2;;;830:78201:63;9744:10;2030:14:2;;;830:78201:63;;9558:4;830:78201;;;;;9744:23;830:78201;9744:23;;;830:78201;9744:23;;830:78201;;9744:23;9544:19;9744:23;;;;;;;;;830:78201;;9744:23;;;830:78201;;;;;9979:24;;830:78201;9979:24;830:78201;9979:24;;;;;;;;;830:78201;;9979:24;;;830:78201;;;;;10316:18;;;830:78201;10316:18;;830:78201;;10316:18;9544:19;10316:18;;;;;;;;;830:78201;;;;;;10316:18;;;830:78201;;;9917:505;830:78201;10052:338;9917:505;830:78201;10052:338;830:78201;;10052:338;;;;;830:78201;10052:338;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;9917:505;830:78201;9894:538;;830:78201;;;10495:36;830:78201;10495:36;;9851:11;830:78201;10495:36;;830:78201;9544:19;2030:14:2;;830:78201:63;10495:36;;;;336:42:2;10495:36:63;;;;;;;830:78201;;;;;;;10495:36;;830:78201;;;;10649:35;830:78201;10649:35;;830:78201;10649:35;830:78201;10649:35;;;;;;;;;830:78201;;;;;;10649:35;;;830:78201;;;;;10621:342;830:78201;;;10621:342;830:78201;;;;10621:342;;;;;;10837:13;;10621:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;10621:342;830:78201;10598:375;;830:78201;;;11046:29;;;;830:78201;11046:29;;;;;;;;;830:78201;;11046:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;11017:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;11017:71;830:78201;2030:14:2;;;11017:71:63;2030:14:2;11017:71:63;830:78201;11007:82;;830:78201;;;11143:38;830:78201;11143:38;;9851:11;830:78201;11143:38;;830:78201;9544:19;2030:14:2;;830:78201:63;10495:36;11143:38;10495:36;11143:38;336:42:2;11143:38:63;;;;;;830:78201;;;;;;;;11143:38;;11192:17;336:42:2;11192:17:63;;;;830:78201;;;11192:17;;830:78201;;;;;;336:42:2;11192:17:63;;;;;;;;2030:14:2;830:78201:63;9744:10;2030:14:2;;;830:78201:63;;;9558:4;830:78201;;;;;;;11219:440;;;;;;830:78201;;11219:440;;;;;;;830:78201;11219:440;;830:78201;;;11219:440;830:78201;11219:440;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;11046:29;;;;830:78201;11046:29;;830:78201;11046:29;;;;;;2030:14:2;11046:29:63;;;:::i;:::-;;;2030:14:2;;;;;;11017:71:63;11046:29;;;;;-1:-1:-1;11046:29:63;;10649:35;;;;;;830:78201;10649:35;;830:78201;10649:35;;;;;;2030:14:2;10649:35:63;;;:::i;:::-;;;2030:14:2;;;;;;10649:35:63;;2030:14:2;;;;830:78201:63;10649:35;;;;;-1:-1:-1;10649:35:63;;10495:36;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;10316:18;;;;;830:78201;10316:18;;830:78201;10316:18;;;;;;2030:14:2;10316:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;9917:505:63;10316:18;;;;;-1:-1:-1;10316:18:63;;9979:24;;;830:78201;9979:24;;830:78201;9979:24;;;;;;2030:14:2;9979:24:63;;;:::i;:::-;;;2030:14:2;;;;;9979:24:63;;;;;;-1:-1:-1;9979:24:63;;9744:23;;;;830:78201;9744:23;;830:78201;9744:23;;;;;;2030:14:2;9744:23:63;;;:::i;:::-;;;2030:14:2;;;;;9744:23:63;;;;;;;-1:-1:-1;9744:23:63;;9651:16;;830:78201;9651:16;;830:78201;9651:16;;;;;;830:78201;9651:16;;;:::i;:::-;;;830:78201;;;;;9645:22;830:78201;;:::i;:::-;9651:16;;;;;-1:-1:-1;9651:16:63;;9544:19;830:78201;;9544:19;;;:::i;:::-;830:78201;;;;9544:19;;;830:78201;;;;;;;;;;;;;;1313:42;830:78201;;;;;;;;;;;;;;;;;;;;;;;;3501:18:9;830:78201:63;;;;;;;3501:18:9;830:78201:63;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3794:16:9;830:78201:63;;;;;;;3794:16:9;830:78201:63;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;67046:4;830:78201;;336:42:2;67032:19:63;;;;830:78201;;67032:19;830:78201;67032:19;;830:78201;67032:19;;830:78201;;;;67032:19;830:78201;;;336:42:2;67032:19:63;;;;;;;;830:78201;67196:15;67214:7;67196:15;2030:14:2;67196:15:63;;2030:14:2;;;830:78201:63;67247:10;2030:14:2;;;830:78201:63;67032:19;830:78201;;67046:4;830:78201;;;;;67247:23;;;;830:78201;67247:23;;;830:78201;67247:23;;830:78201;67247:23;;;;;;;830:78201;;67247:23;;;830:78201;-1:-1:-1;830:78201:63;;;;;;69349:24;;830:78201;;;;;;;;;;69349:24;;;;;;;-1:-1:-1;;69349:24:63;;;830:78201;2030:14:2;67032:19:63;830:78201;;67247:10;2030:14:2;;;830:78201:63;;;;69693:19;;;;830:78201;69693:19;;;830:78201;69693:19;;830:78201;69693:19;;;;;;-1:-1:-1;;;;69693:19:63;;;830:78201;;;69287:513;830:78201;69422:346;69287:513;830:78201;69422:346;830:78201;;69422:346;;;830:78201;;69422:346;;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;69287:513;830:78201;69264:546;;69835:14;2030::2;830:78201:63;;;69827:29;830:78201;69827:29;;830:78201;69827:29;;830:78201;67032:19;2030:14:2;;830:78201:63;69827:29;;;;336:42:2;69827:29:63;;;;;;;-1:-1:-1;;;;;;;;;69827:29:63;;;830:78201;69820:36;67397:73;69820:36;;;67397:73;:::i;:::-;67481:69;;;336:42:2;67481:69:63;;;;830:78201;;;67481:69;;67497:52;830:78201;67481:69;;830:78201;;;;67032:19;830:78201;;336:42:2;67481:69:63;;;;;;;;830:78201;2030:14:2;830:78201:63;67247:10;2030:14:2;;;830:78201:63;;;67046:4;830:78201;;;;;;;67560:338;;;;;;830:78201;;;;;;;;67560:338;;830:78201;67560:338;;-1:-1:-1;;830:78201:63;67560:338;830:78201;67032:19;830:78201;;;67075:5;69827:29;830:78201;;;;;;;;;;;;;;;;;;;;;67104:5;830:78201;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;67560:338;830:78201;;;;;;67560:338;;;;;;;;;67908:14;336:42:2;67908:14:63;;;;830:78201;;;67908:14;;830:78201;;;;;;336:42:2;67908:14:63;;;;;;;;830:78201;;;;67481:69;830:78201;;67481:69;;;:::i;:::-;830:78201;;;;67481:69;;;69827:29;67397:73;69827:29;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;69693:19;;;;830:78201;69693:19;;830:78201;69693:19;;;;;;2030:14:2;69693:19:63;;;:::i;:::-;;;2030:14:2;;;;;;;69287:513:63;69693:19;;;;;-1:-1:-1;69693:19:63;;69349:24;;;;830:78201;69349:24;;830:78201;69349:24;;;;;;2030:14:2;69349:24:63;;;:::i;:::-;;;2030:14:2;;;;;69349:24:63;;;;;;;-1:-1:-1;69349:24:63;;67247:23;;;830:78201;67247:23;;830:78201;67247:23;;;;;;2030:14:2;67247:23:63;;;:::i;:::-;;;2030:14:2;;;;;67247:23:63;;;;;;-1:-1:-1;67247:23:63;;67032:19;830:78201;;67032:19;;;:::i;:::-;830:78201;;;;67032:19;;;830:78201;;;;;;;;;;;;;37603:4;830:78201;;336:42:2;37589:19:63;;;;830:78201;;37589:19;830:78201;37589:19;;830:78201;37589:19;;830:78201;;;;37589:19;830:78201;;;336:42:2;37589:19:63;;;;;;;;830:78201;;;;;;;;;37696:16;;830:78201;37696:16;830:78201;37696:16;;;;;;;;830:78201;;37696:16;;;830:78201;37690:22;;;;:::i;:::-;830:78201;37685:2;830:78201;;37685:2;830:78201;;;;;37759:4;37741:15;2030:14:2;37741:15:63;;;2030:14:2;;;830:78201:63;37895:10;2030:14:2;;;830:78201:63;;;;;37895:35;;830:78201;37895:35;830:78201;37895:35;;;;;;;;;830:78201;;37895:35;;;830:78201;;;37603:4;830:78201;;;;37867:347;830:78201;37867:347;;-1:-1:-1;;;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;;;;;38083:13;830:78201;;;;37794:3;830:78201;;;;;;;;;2030:14:2;830:78201:63;;;;;;;37867:347;;;;;;:::i;:::-;830:78201;37844:380;;830:78201;;38290:29;830:78201;38290:29;;830:78201;38290:29;830:78201;38290:29;;;;;;;;;830:78201;;38290:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;38261:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;38261:71;830:78201;2030:14:2;;;38261:71:63;2030:14:2;38261:71:63;830:78201;38251:82;;2030:14:2;38385::63;2030::2;830:78201:63;;;38377:31;830:78201;38377:31;;830:78201;38377:31;;830:78201;37589:19;2030:14:2;;830:78201:63;;38377:31;;;336:42:2;38377:31:63;;;;;;;830:78201;;;;;;;;38377:31;;830:78201;-1:-1:-1;830:78201:63;;;38419:42;;830:78201;;;;;38419:42;;830:78201;;;;;;;;;;;;;;;;;38419:42;;830:78201;;;38419:42;;;;;;;;;830:78201;38472:61;336:42:2;38472:61:63;;;;830:78201;;;38472:61;;38488:44;830:78201;38472:61;;830:78201;;;;37589:19;830:78201;;336:42:2;38472:61:63;;;;;;;;830:78201;2030:14:2;830:78201:63;37895:10;2030:14:2;;;830:78201:63;;;37603:4;830:78201;;;;;;;38543:139;;;;;;830:78201;;;;38543:139;830:78201;38543:139;;-1:-1:-1;;830:78201:63;;38543:139;;830:78201;37589:19;830:78201;;;38377:31;830:78201;;;;;;;;;;;;37794:3;830:78201;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;38543:139;830:78201;;;;;;38543:139;;;;;;;;;38693:14;336:42:2;38693:14:63;;;;830:78201;;;38693:14;;830:78201;;;;;;336:42:2;38693:14:63;;;;;;;;830:78201;;;;38472:61;830:78201;;38472:61;;;:::i;:::-;830:78201;;;;38472:61;;;38419:42;;;830:78201;38419:42;830:78201;38419:42;;;;;;;:::i;:::-;;;38377:31;38419:42;38377:31;;;830:78201;38377:31;;;;;;;;830:78201;38377:31;830:78201;38377:31;;;;;;;:::i;:::-;;;;;;;;;;;;;38290:29;;;;830:78201;38290:29;;830:78201;38290:29;;;;;;2030:14:2;38290:29:63;;;:::i;:::-;;;2030:14:2;;;;;;38261:71:63;38290:29;;;;;-1:-1:-1;38290:29:63;;37895:35;;;830:78201;37895:35;;830:78201;37895:35;;;;;;2030:14:2;37895:35:63;;;:::i;:::-;;;2030:14:2;;;;;37895:35:63;;;;;;-1:-1:-1;37895:35:63;;37696:16;;830:78201;37696:16;;830:78201;37696:16;;;;;;830:78201;37696:16;;;:::i;:::-;;;830:78201;;;;;37690:22;830:78201;;:::i;:::-;37696:16;;;;;-1:-1:-1;37696:16:63;;37589:19;830:78201;;37589:19;;;:::i;:::-;830:78201;;;;37589:19;;;830:78201;;;;;;;;;;;;;45450:4;830:78201;;336:42:2;45436:19:63;;;;830:78201;;45436:19;830:78201;45436:19;;830:78201;45436:19;;830:78201;;;;45436:19;830:78201;;;336:42:2;45436:19:63;;;;;;;;830:78201;;;;;;;;;45543:16;;830:78201;45543:16;830:78201;45543:16;;;;;;;;830:78201;;45543:16;;;830:78201;45537:22;;;;:::i;:::-;830:78201;;45532:2;830:78201;;45532:2;830:78201;;;;;45606:4;45588:15;2030:14:2;45588:15:63;;2030:14:2;;;830:78201:63;45636:10;2030:14:2;;;830:78201:63;;45450:4;830:78201;;;;45636:23;830:78201;45636:23;;;830:78201;45636:23;;830:78201;;45636:23;45436:19;45636:23;;;;;;;;;830:78201;;45636:23;;;830:78201;;;;;;;;;;;;;;45906:24;;830:78201;45906:24;830:78201;45906:24;;;;;;;;;830:78201;;45906:24;;;830:78201;;;;;46249:18;;;830:78201;46249:18;;830:78201;;46249:18;45436:19;46249:18;;;;;;;;;830:78201;;;;;;46249:18;;;830:78201;;;45844:511;830:78201;45979:344;45844:511;830:78201;45979:344;830:78201;;45979:344;;;;830:78201;45979:344;;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;45844:511;830:78201;45821:544;;2030:14:2;46436::63;2030::2;830:78201:63;;;46428:35;830:78201;46428:35;;;830:78201;46428:35;;830:78201;45436:19;2030:14:2;;830:78201:63;46428:35;;;;336:42:2;46428:35:63;;;;;;;830:78201;;;;;;;;46428:35;;830:78201;;;;46546:35;830:78201;46546:35;;830:78201;46546:35;830:78201;46546:35;;;;;;;;;830:78201;;;;;;;46546:35;;;830:78201;;;46518:342;830:78201;;;46518:342;830:78201;;;;;;46518:342;;;;;;46734:13;;46518:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;46518:342;830:78201;46495:375;;830:78201;;;46942:29;;;;830:78201;46942:29;;;;;;;;;830:78201;;46942:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;46913:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;46913:71;830:78201;2030:14:2;;;46913:71:63;2030:14:2;46913:71:63;830:78201;46903:82;;830:78201;;47038:37;830:78201;47038:37;;830:78201;47038:37;;830:78201;45436:19;2030:14:2;;830:78201:63;46428:35;47038:37;46428:35;47038:37;336:42:2;47038:37:63;;;;;;;830:78201;;;;;;;47038:37;;830:78201;47086:17;336:42:2;47086:17:63;;;;830:78201;;;47086:17;;830:78201;;;;;;336:42:2;47086:17:63;;;;;;;;830:78201;2030:14:2;830:78201:63;45636:10;2030:14:2;;;830:78201:63;;;45450:4;830:78201;;;;;;;47113:362;;;;;;830:78201;;47113:362;;;;;;;830:78201;47113:362;;830:78201;;47113:362;830:78201;47113:362;;;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;47086:17;830:78201;;47086:17;;;:::i;:::-;830:78201;;;;47086:17;;;47038:37;;;;;;;46428:35;47038:37;46428:35;47038:37;;;;;;;:::i;:::-;;;;;46942:29;;;;830:78201;46942:29;;830:78201;46942:29;;;;;;2030:14:2;46942:29:63;;;:::i;:::-;;;2030:14:2;;;;;;46913:71:63;46942:29;;;;;-1:-1:-1;46942:29:63;;46546:35;;;;;;;830:78201;46546:35;;830:78201;46546:35;;;;;;2030:14:2;46546:35:63;;;:::i;:::-;;;2030:14:2;;;;;;46546:35:63;;2030:14:2;;;;;46518:342:63;46546:35;;;;;-1:-1:-1;46546:35:63;;46428;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;46249:18;;;;;830:78201;46249:18;;830:78201;46249:18;;;;;;2030:14:2;46249:18:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;45844:511:63;46249:18;;;;;-1:-1:-1;46249:18:63;;45906:24;;;830:78201;45906:24;;830:78201;45906:24;;;;;;2030:14:2;45906:24:63;;;:::i;:::-;;;2030:14:2;;;;;45906:24:63;;;;;;-1:-1:-1;45906:24:63;;45636:23;;;;830:78201;45636:23;;830:78201;45636:23;;;;;;2030:14:2;45636:23:63;;;:::i;:::-;;;2030:14:2;;;;;45636:23:63;;;;;;;-1:-1:-1;45636:23:63;;45543:16;;830:78201;45543:16;;830:78201;45543:16;;;;;;830:78201;45543:16;;;:::i;:::-;;;830:78201;;;;;45537:22;830:78201;;:::i;:::-;45543:16;;;;;-1:-1:-1;45543:16:63;;45436:19;830:78201;;45436:19;;;:::i;:::-;830:78201;;;;45436:19;;;830:78201;;;;;;;;;;;;3948:19:9;830:78201:63;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;3948:19:9;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;830:78201:63;;-1:-1:-1;;830:78201:63;-1:-1:-1;;;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;33200:4;830:78201;;336:42:2;33186:19:63;;;;830:78201;;33186:19;830:78201;33186:19;;830:78201;33186:19;;830:78201;;;;33186:19;830:78201;;;336:42:2;33186:19:63;;;;;;;;830:78201;;;;;;;;;33293:16;;830:78201;33293:16;830:78201;33293:16;;;;;;;;830:78201;;33293:16;;;830:78201;33287:22;;;;:::i;:::-;830:78201;;33282:2;830:78201;;33282:2;830:78201;;;;;33356:4;33338:15;2030:14:2;33338:15:63;;2030:14:2;;;830:78201:63;33386:10;2030:14:2;;;830:78201:63;;33200:4;830:78201;;;;;33386:23;830:78201;33386:23;;;830:78201;33386:23;;830:78201;;33386:23;33186:19;33386:23;;;;;;;;;830:78201;;33386:23;;;830:78201;;;;;33590:35;;830:78201;33590:35;830:78201;33590:35;;;;;;;;830:78201;;;;33590:35;;;830:78201;;33562:342;830:78201;33562:342;830:78201;;33562:342;;;;;;830:78201;33562:342;;33778:13;;33562:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;33562:342;830:78201;33539:375;;830:78201;;33980:29;830:78201;33980:29;;830:78201;33980:29;830:78201;33980:29;;;;;;;;;830:78201;;33980:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;33951:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;33951:71;830:78201;2030:14:2;;;33951:71:63;2030:14:2;33951:71:63;830:78201;33941:82;;830:78201;;34067:32;830:78201;34067:32;;33496:11;830:78201;34067:32;;830:78201;33186:19;2030:14:2;;830:78201:63;34067:32;;;;336:42:2;34067:32:63;;;;;;;830:78201;;;;;;;;34067:32;;;830:78201;-1:-1:-1;830:78201:63;;;34110:42;;830:78201;;;;;34110:42;;830:78201;;;;;;;;;;;;;;;;;34110:42;;830:78201;;;34110:42;;;;;;;;;830:78201;34163:71;336:42:2;34163:71:63;;;;830:78201;;;34163:71;;34179:54;830:78201;34163:71;;830:78201;;;;33186:19;830:78201;;336:42:2;34163:71:63;;;;;;;;2030:14:2;830:78201:63;33386:10;2030:14:2;;;830:78201:63;;;33200:4;830:78201;;;;;;;34244:112;;;;;;;830:78201;;;34244:112;;;;;;;830:78201;34244:112;;830:78201;;34244:112;830:78201;34244:112;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;34110:42;;;830:78201;34110:42;830:78201;34110:42;;;;;;;:::i;:::-;;;34067:32;830:78201;34067:32;;;34110:42;34067:32;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;33980:29;;;;830:78201;33980:29;;830:78201;33980:29;;;;;;2030:14:2;33980:29:63;;;:::i;:::-;;;2030:14:2;;;;;;33951:71:63;33980:29;;;;;-1:-1:-1;33980:29:63;;33590:35;;;;830:78201;33590:35;;830:78201;33590:35;;;;;;2030:14:2;33590:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;33562:342:63;33590:35;;;;;-1:-1:-1;33590:35:63;;33386:23;;;;830:78201;33386:23;;830:78201;33386:23;;;;;;2030:14:2;33386:23:63;;;:::i;:::-;;;2030:14:2;;;;;33386:23:63;;;;;;;-1:-1:-1;33386:23:63;;33293:16;;830:78201;33293:16;;830:78201;33293:16;;;;;;830:78201;33293:16;;;:::i;:::-;;;830:78201;;;;;33287:22;830:78201;;:::i;:::-;33293:16;;;;;-1:-1:-1;33293:16:63;;33186:19;830:78201;;33186:19;;;:::i;:::-;830:78201;;;;33186:19;;;830:78201;;;;;;;;;;;;;74228:4;830:78201;;336:42:2;74214:19:63;;;;830:78201;;74214:19;830:78201;74214:19;;830:78201;74214:19;;830:78201;;;;74214:19;830:78201;;;336:42:2;74214:19:63;;;;;;;;830:78201;;;;;;;;;74321:16;;830:78201;74321:16;830:78201;74321:16;;;;;;;;830:78201;;74321:16;;;830:78201;74315:22;;;;:::i;:::-;830:78201;;74310:2;830:78201;;74310:2;830:78201;;;;;;;;74377:16;;830:78201;74377:16;830:78201;74377:16;;;;;;;;830:78201;;74377:16;;;830:78201;74371:22;;;;:::i;:::-;830:78201;74367:1;830:78201;;;;;;;;74448:18;830:78201;74367:1;830:78201;74448:18;;:::i;:::-;74495:15;74513:4;74495:15;2030:14:2;74495:15:63;;;2030:14:2;;;830:78201:63;74543:10;2030:14:2;;;830:78201:63;;74228:4;830:78201;;;;74543:23;830:78201;74543:23;;;830:78201;74543:23;;830:78201;;74543:23;74214:19;74543:23;;;;;;;;;830:78201;;74543:23;;;830:78201;;;;;74751:24;;830:78201;74751:24;830:78201;74751:24;;;;;;;;;830:78201;;74751:24;;;830:78201;;;;;75093:18;;;830:78201;75093:18;;830:78201;;75093:18;74214:19;75093:18;;;;;;;;;830:78201;;75093:18;;;830:78201;;74689:510;;830:78201;74824:343;;830:78201;;;74824:343;;;830:78201;74824:343;;;;;;;830:78201;;;;;;;;;;;;;;;74860:95;830:78201;;;;;;;;;;;;;;;;;;;;;;;74689:510;830:78201;74666:543;;2030:14:2;75280::63;2030::2;830:78201:63;;;75272:35;830:78201;75272:35;;;830:78201;75272:35;;830:78201;74214:19;2030:14:2;;830:78201:63;75272:35;;;;336:42:2;75272:35:63;;;;;;;830:78201;;;;;;;;75272:35;;830:78201;;;;75425:35;830:78201;75425:35;;830:78201;75425:35;830:78201;75425:35;;;;;;;;;830:78201;;;;;;;;75425:35;;;830:78201;-1:-1:-1;830:78201:63;;;;75397:341;;;830:78201;;;;;;;2030:14:2;;;830:78201:63;;;;;;;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;75613:13;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;74367:1;830:78201;;;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;;;;;75397:341;;830:78201;2030:14:2;;;75397:341:63;2030:14:2;75397:341:63;830:78201;75374:374;;830:78201;;;75821:29;;;;830:78201;75821:29;;;;;;;;;830:78201;;75821:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;75792:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;75792:71;830:78201;2030:14:2;;;75792:71:63;2030:14:2;75792:71:63;830:78201;75782:82;;830:78201;;75917:37;830:78201;75917:37;;830:78201;75917:37;;830:78201;74214:19;2030:14:2;;830:78201:63;75272:35;75917:37;75272:35;75917:37;336:42:2;75917:37:63;;;;;;;830:78201;;;;;;;;75917:37;;830:78201;75965:69;336:42:2;75965:69:63;;;;830:78201;;;75965:69;;75981:52;830:78201;75965:69;;830:78201;;;;74214:19;830:78201;;336:42:2;75965:69:63;;;;;;;;830:78201;2030:14:2;830:78201:63;74543:10;2030:14:2;;;830:78201:63;;;74228:4;830:78201;;;;;;;76044:389;;;;;;830:78201;;;;;;76044:389;;830:78201;76044:389;;;-1:-1:-1;;76044:389:63;830:78201;76044:389;;830:78201;;;76044:389;;;830:78201;74214:19;76044:389;;830:78201;;75272:35;76044:389;;830:78201;;;76044:389;;830:78201;;;;76044:389;;830:78201;;;76044:389;;830:78201;;;76044:389;;830:78201;;74367:1;830:78201;;76044:389;;830:78201;;;;;76044:389;;830:78201;;;;76044:389;;830:78201;2030:14:2;830:78201:63;76044:389;;830:78201;;;76044:389;;830:78201;;;;76044:389;;830:78201;2030:14:2;830:78201:63;76044:389;;830:78201;;;76044:389;;830:78201;;;;76044:389;;;;;;;830:78201;;;76044:389;;;;;;;;;336:42:2;76444:14:63;;;;830:78201;;;76444:14;;830:78201;;;;;;336:42:2;76444:14:63;;;;;;;;830:78201;;;;76044:389;;830:78201;;76044:389;;;:::i;:::-;830:78201;;;76044:389;830:78201;;;;;75965:69;830:78201;;75965:69;;;:::i;:::-;830:78201;;;;75965:69;;;75917:37;;;;;;;;;;75272:35;75917:37;75272:35;75917:37;;;;;;;:::i;:::-;;;;;;;;;;75821:29;;;;830:78201;75821:29;;830:78201;75821:29;;;;;;2030:14:2;75821:29:63;;;:::i;:::-;;;2030:14:2;;;;;;75792:71:63;75821:29;;;;;-1:-1:-1;75821:29:63;;75425:35;;;;;;;;830:78201;75425:35;;830:78201;75425:35;;;;;;2030:14:2;75425:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;;;;;;;;830:78201:63;75425:35;;;;;-1:-1:-1;75425:35:63;;75272;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;75093:18;;;830:78201;75093:18;;830:78201;75093:18;;;;;;2030:14:2;75093:18:63;;;:::i;:::-;;;2030:14:2;;;;;74689:510:63;75093:18;;;;;-1:-1:-1;75093:18:63;;74751:24;;;830:78201;74751:24;;830:78201;74751:24;;;;;;2030:14:2;74751:24:63;;;:::i;:::-;;;2030:14:2;;;;;74751:24:63;;;;;;-1:-1:-1;74751:24:63;;74543:23;;;;830:78201;74543:23;;830:78201;74543:23;;;;;;2030:14:2;74543:23:63;;;:::i;:::-;;;2030:14:2;;;;;74543:23:63;;;;;;;-1:-1:-1;74543:23:63;;74377:16;;830:78201;74377:16;;830:78201;74377:16;;;;;;830:78201;74377:16;;;:::i;:::-;;;830:78201;;;;;74371:22;830:78201;;:::i;:::-;74377:16;;;;;-1:-1:-1;74377:16:63;;74321;;830:78201;74321:16;;830:78201;74321:16;;;;;;830:78201;74321:16;;;:::i;:::-;;;830:78201;;;;;74315:22;830:78201;;:::i;:::-;74321:16;;;;;-1:-1:-1;74321:16:63;;74214:19;830:78201;;74214:19;;;:::i;:::-;830:78201;;;;74214:19;;;830:78201;;;;;;;;;;;;;;;;3018:16:9;830:78201:63;;;;;;;3018:16:9;830:78201:63;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;72667:4;830:78201;;336:42:2;72653:19:63;;;;830:78201;;72653:19;830:78201;72653:19;;830:78201;72653:19;;830:78201;;72653:19;;;;336:42:2;72653:19:63;;;;;;;;830:78201;;;;;;;;;72834:16;;830:78201;72834:16;830:78201;72834:16;;;;;;;;830:78201;;72834:16;;;830:78201;72828:22;;;;:::i;:::-;830:78201;72823:2;830:78201;;72823:2;830:78201;;;;;72945:4;72927:15;2030:14:2;72927:15:63;;;2030:14:2;;;830:78201:63;72975:10;2030:14:2;;;830:78201:63;;72667:4;830:78201;;;;;72975:23;830:78201;72975:23;;;830:78201;72975:23;;830:78201;;72975:23;72653:19;72975:23;;;;;;;;;830:78201;;72975:23;;;830:78201;;;;;73081:35;;830:78201;73081:35;830:78201;73081:35;;;;;;;;830:78201;;;;73081:35;;;830:78201;-1:-1:-1;830:78201:63;;;;73053:323;;830:78201;;;;;;;2030:14:2;;;830:78201:63;;;;;;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;73269:13;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;-1:-1:-1;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;73053:323;;830:78201;2030:14:2;;;73053:323:63;2030:14:2;73053:323:63;830:78201;73030:356;;830:78201;;73453:29;830:78201;73453:29;;830:78201;73453:29;830:78201;73453:29;;;;;;;;;830:78201;;73453:29;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;73424:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;73424:71;830:78201;2030:14:2;;;73424:71:63;2030:14:2;73424:71:63;830:78201;73414:82;;2030:14:2;73548::63;2030::2;830:78201:63;;;73540:31;830:78201;73540:31;;830:78201;73540:31;;830:78201;72653:19;2030:14:2;;830:78201:63;73540:31;;;;336:42:2;73540:31:63;;;;;;;830:78201;;;;;;;;73540:31;;830:78201;-1:-1:-1;830:78201:63;;;73582:42;;830:78201;;;;;73582:42;;830:78201;;;;;;;;;;;;;;;;;73582:42;;830:78201;;;73582:42;;;;;;;;;830:78201;73635:69;336:42:2;73635:69:63;;;;830:78201;;;73635:69;;73651:52;830:78201;73635:69;;830:78201;;;;72653:19;830:78201;;336:42:2;73635:69:63;;;;;;;;830:78201;2030:14:2;830:78201:63;72975:10;2030:14:2;;;830:78201:63;;;72667:4;830:78201;;;;;;;73714:144;;;;;;830:78201;;;;73714:144;830:78201;73714:144;;-1:-1:-1;;2030:14:2;830:78201:63;73714:144;;830:78201;72653:19;2030:14:2;;830:78201:63;73540:31;2030:14:2;;830:78201:63;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;;2030:14:2;;;;;;;830:78201:63;2030:14:2;;;830:78201:63;;73714:144;830:78201;;;;;;73714:144;;;;;;;;;73869:14;336:42:2;73869:14:63;;;;830:78201;;;73869:14;;830:78201;;;;;;336:42:2;73869:14:63;;;;;;;;830:78201;;;;73635:69;830:78201;;73635:69;;;:::i;:::-;830:78201;;;;73635:69;;;73582:42;;;830:78201;73582:42;830:78201;73582:42;;;;;;;:::i;:::-;;;73540:31;830:78201;73540:31;;;;;;73582:42;73540:31;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;73540:31:63;-1:-1:-1;73540:31:63;;73453:29;;;;830:78201;73453:29;;830:78201;73453:29;;;;;;2030:14:2;73453:29:63;;;:::i;:::-;;;2030:14:2;;;;;;73424:71:63;73453:29;;;;;-1:-1:-1;73453:29:63;;73081:35;;;;830:78201;73081:35;;830:78201;73081:35;;;;;;2030:14:2;73081:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;73053:323:63;73081:35;;;;;-1:-1:-1;73081:35:63;;72975:23;;;;830:78201;72975:23;;830:78201;72975:23;;;;;;2030:14:2;72975:23:63;;;:::i;:::-;;;2030:14:2;;;;;72975:23:63;;;;;;;-1:-1:-1;72975:23:63;;72834:16;;830:78201;72834:16;;830:78201;72834:16;;;;;;830:78201;72834:16;;;:::i;:::-;;;830:78201;;;;;72828:22;830:78201;;:::i;:::-;72834:16;;;;;-1:-1:-1;72834:16:63;;72653:19;830:78201;72653:19;;;:::i;:::-;830:78201;;;72653:19;;;;830:78201;;;;;;;;;;;;;;;;;;;;1458:28;;;;;;;;;;;;;;;;;;;;830:78201;1458:28;;;;;830:78201;;1445:41;830:78201;;;;;;;;1445:41;830:78201;;;1504:21;;;;;;;1458:28;1504:21;;;;;;;;;;;;830:78201;1504:21;;;;;830:78201;;;;1496:29;830:78201;;;1496:29;830:78201;;1622:4;830:78201;;;;;1641:16;;1496:29;1641:16;830:78201;1641:16;;;;;;;;830:78201;1641:16;;;830:78201;1635:22;;;;:::i;:::-;830:78201;1628:4;830:78201;;1628:4;830:78201;;;;;;;;1607:51;;830:78201;;;;;;1607:51;;830:78201;;;;;;1496:29;;830:78201;;;;;;-1:-1:-1;;1607:51:63;;;;;;;;830:78201;1607:51;;;830:78201;1607:51;;:::i;:::-;830:78201;1607:51;;;;1496:29;1607:51;1496:29;1607:51;;;;;;;:::i;:::-;;;;830:78201;;;;;;;;;;1641:16;;1496:29;1641:16;;1496:29;1641:16;;;;;;1496:29;1641:16;;;:::i;:::-;;;830:78201;;;;;1635:22;830:78201;;:::i;:::-;1641:16;;;;;-1:-1:-1;1641:16:63;;1504:21;830:78201;;;;;;;;;;;;;;;;;;;;;;55733:4;830:78201;;336:42:2;55719:19:63;;;;830:78201;;55719:19;830:78201;55719:19;;;;;830:78201;;55719:19;;;;336:42:2;55719:19:63;;;;;;;;830:78201;;;;;;;;;;55826:16;;830:78201;55826:16;55719:19;55826:16;;;;;;;;;;;;830:78201;55820:22;;;;:::i;:::-;830:78201;55815:2;830:78201;;55815:2;830:78201;;;;;;55889:4;55871:15;2030:14:2;55871:15:63;;;2030:14:2;;;830:78201:63;55919:10;2030:14:2;;;830:78201:63;;;55733:4;830:78201;;;;;55919:23;830:78201;55919:23;;;55719:19;55919:23;;830:78201;;55919:23;55719:19;55919:23;;;;;;;;;;;;;830:78201;;;;;56025:35;;830:78201;56025:35;55719:19;56025:35;;;;;;;;;;;;;;;;830:78201;;55997:342;830:78201;55997:342;830:78201;;55997:342;;;;;;830:78201;55997:342;;56213:13;;55997:342;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;55997:342;830:78201;55974:375;;830:78201;;56422:29;830:78201;56422:29;;830:78201;56422:29;55719:19;56422:29;;;;;;;;;;;;;830:78201;-1:-1:-1;830:78201:63;;2030:14:2;830:78201:63;56393:71;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;56393:71;830:78201;2030:14:2;;;56393:71:63;2030:14:2;56393:71:63;830:78201;56383:82;;2030:14:2;56527::63;2030::2;830:78201:63;;;56519:37;830:78201;56519:37;;55719:19;56519:37;;830:78201;55719:19;2030:14:2;;830:78201:63;56519:37;;;;336:42:2;56519:37:63;;;;;;;;-1:-1:-1;;;;56519:37:63;;;830:78201;;;;;;;;56611:1;830:78201;;;;;;;;;;56567:46;;830:78201;;;;;55719:19;56567:46;;830:78201;;;;;;;;;;;;;;;;;;;;;;56567:46;;;;;;;;830:78201;2030:14:2;830:78201:63;55919:10;2030:14:2;;;830:78201:63;;55733:4;830:78201;;;;;;56661:143;;;;;;830:78201;;;56661:143;;830:78201;;;;55719:19;56661:143;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;830:78201:63;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;56661:143;;;;;;;;;;;830:78201;56894:61;;336:42:2;56894:61:63;;;;830:78201;;;56894:61;;56910:44;55719:19;56894:61;;830:78201;56894:61;;55719:19;56894:61;;336:42:2;56894:61:63;;;;;;;;;;;830:78201;2030:14:2;;830:78201:63;55919:10;2030:14:2;;;830:78201:63;;;55733:4;830:78201;;;;;;;56965:143;;;;;;830:78201;;;;56965:143;830:78201;;;56965:143;;;;;;;830:78201;56965:143;;55719:19;56965:143;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;830:78201:63;;;;;;;56965:143;;;;;;;;;;;830:78201;57119:14;;336:42:2;57119:14:63;;;;830:78201;;;;57119:14;;;;55719:19;57119:14;;336:42:2;57119:14:63;;;;;;;;830:78201;;57119:14;;;;;:::i;:::-;830:78201;;57119:14;830:78201;;;;57119:14;830:78201;;;;;;;;;56965:143;;;;;:::i;:::-;830:78201;;56965:143;;;;;830:78201;;;56894:61;;;;;:::i;:::-;830:78201;;56894:61;;;;830:78201;;;;56894:61;830:78201;;;;;;;;;56661:143;;;;;:::i;:::-;830:78201;;56661:143;;;;56567:46;;;830:78201;56567:46;830:78201;56567:46;;;;;;;:::i;:::-;;;830:78201;55719:19;830:78201;;;;;55719:19;830:78201;;56519:37;;;;;;;;830:78201;56519:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;830:78201;;;;;;;;;56422:29;;;;830:78201;56422:29;;830:78201;56422:29;;;;;;2030:14:2;56422:29:63;;;:::i;:::-;;;2030:14:2;;;;;;56393:71:63;56422:29;;;;;-1:-1:-1;56422:29:63;;56025:35;;;;830:78201;56025:35;;830:78201;56025:35;;;;;;2030:14:2;56025:35:63;;;:::i;:::-;;;2030:14:2;;;;;;;55997:342:63;56025:35;;;;;-1:-1:-1;56025:35:63;;55919:23;;;;830:78201;55919:23;;830:78201;55919:23;;;;;;2030:14:2;55919:23:63;;;:::i;:::-;;;2030:14:2;;;;;55919:23:63;;;;;;;-1:-1:-1;55919:23:63;;2030:14:2;55719:19:63;830:78201;;;;;55719:19;830:78201;;;55719:19;830:78201;;;;;55719:19;830:78201;;55826:16;;830:78201;55826:16;;830:78201;55826:16;;;;;;830:78201;55826:16;;;:::i;:::-;;;830:78201;;;;;55820:22;830:78201;;:::i;:::-;55826:16;;830:78201;;;;55826:16;;;-1:-1:-1;55826:16:63;;55719:19;;;;830:78201;55719:19;;:::i;:::-;830:78201;55719:19;;;830:78201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;830:78201:63;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;830:78201:63;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;2030:14:2:-;;;;;;;;;;:::o;:::-;;;;;;;;;830:78201:63;;;:::i;:::-;2030:14:2;;;;;;;;;;:::o;830:78201:63:-;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;-1:-1:-1;830:78201:63;;;;;-1:-1:-1;830:78201:63;;-1:-1:-1;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;830:78201:63;;;;;-1:-1:-1;830:78201:63;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;-1:-1:-1;830:78201:63;;-1:-1:-1;830:78201:63;;-1:-1:-1;830:78201:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;830:78201:63;;;;;;;;;;;;;;:::o;1306:195:4:-;1365:7;830:78201:63;;;;;;1395:4:4;1388:11;:::o;1361:134::-;830:78201:63;;;1437:33:4;;830:78201:63;1437:33:4;;;830:78201:63;192:59:4;1255:17;;;830:78201:63;1255:17:4;1437:33;;;830:78201:63;1437:33:4;;;;;;;830:78201:63;1437:33:4;;;1361:134;1437:47;;;1430:54;:::o;1437:33::-;;;1255:17;1437:33;;1255:17;1437:33;;;;;;2030:14:2;1437:33:4;;;:::i;:::-;;;2030:14:2;;;;;1437:33:4;;;;;;-1:-1:-1;1437:33:4;;1764:124;1831:5;1827:55;;;1764:124;:::o;1827:55::-;830:78201:63;1852:19:4;;;;830:78201:63;;1852:19:4;830:78201:63;1852:19:4;;830:78201:63;1852:19:4;;;830:78201:63;-1:-1:-1;1852:19:4;;;830:78201:63;1852:19:4;;;;;;;;1764:124;:::o;1852:19::-;-1:-1:-1;1852:19:4;;;:::i;69869:752:63:-;;;830:78201;70184:10;2030:14:2;;;830:78201:63;;;;;70184:35;;;;;;;;;;;;;;-1:-1:-1;70184:35:63;;;69869:752;-1:-1:-1;70184:35:63;830:78201;;;;;70156:297;;;830:78201;;;;;;;2030:14:2;;;830:78201:63;;;;;;2030:14:2;;;830:78201:63;67075:5;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;70355:13;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;67104:5;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;70184:35;;70156:297;830:78201;2030:14:2;;;70156:297:63;2030:14:2;70156:297:63;830:78201;70133:330;;830:78201;;;70529:29;;;;830:78201;70529:29;;;;;;;;;-1:-1:-1;70529:29:63;;;69869:752;-1:-1:-1;830:78201:63;;2030:14:2;70184:35:63;70500:65;;2030:14:2;;;;;;830:78201:63;;;;2030:14:2;;;830:78201:63;;;;70500:65;830:78201;2030:14:2;;;70500:65:63;2030:14:2;70500:65:63;830:78201;70490:76;;2030:14:2;70591::63;2030::2;830:78201:63;;;70583:31;830:78201;70583:31;;70184:35;70583:31;;830:78201;2030:14:2;;;830:78201:63;70583:31;;;;336:42:2;70583:31:63;;;;;;;-1:-1:-1;;;;70583:31:63;;;69869:752;70576:38;;;69869:752;:::o;70583:31::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;70529:29;;;;70184:35;70529:29;;70184:35;70529:29;;;;;;2030:14:2;70529:29:63;;;:::i;:::-;;;2030:14:2;;;;;;70500:65:63;70529:29;;;;;-1:-1:-1;70529:29:63;;70184:35;;;;;;;;;;;;;;;;2030:14:2;70184:35:63;;;:::i;:::-;;;2030:14:2;;;;;70184:35:63;;2030:14:2;70156:297:63;70184:35;;;;;-1:-1:-1;70184:35:63;;69869:752;;;830:78201;70184:10;2030:14:2;;;830:78201:63;;;;;70184:35;;;;;;;;;;;;;;-1:-1:-1;70184:35:63;;;69869:752;-1:-1:-1;70184:35:63;830:78201;;;;;70156:297;;;830:78201;;;;;;;2030:14:2;;;830:78201:63;;;;;;2030:14:2;;;830:78201:63;23325:5;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;70355:13;2030:14:2;;;830:78201:63;2030:14:2;;;830:78201:63;;;;23354:4;2030:14:2;;;830:78201:63;;2030:14:2;;;830:78201:63;70184:35;;70156:297;830:78201;2030:14:2;;;70156:297:63;2030:14:2;70184:35:63;;;;;;;;;;;;;;;;2030:14:2;70184:35:63;;;:::i;:::-;;;2030:14:2;;;;;70184:35:63;;2030:14:2;70156:297:63;70184:35;;;;;-1:-1:-1;70184:35:63;;2664:153:4;23354:4:63;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;830:78201:63;2776:24:4;;;;830:78201:63;;2776:24:4;830:78201:63;2776:24:4;;;;;830:78201:63;23354:4;830:78201;;;;-1:-1:-1;2776:24:4;;;830:78201:63;2776:24:4;;;;;;;;2664:153;:::o;:::-;2747:13;2743:68;;2664:153;:::o;2743:68::-;830:78201:63;2776:24:4;;;;830:78201:63;;2776:24:4;830:78201:63;2776:24:4;;;;;830:78201:63;;;;;;;2776:24:4;;;830:78201:63;2776:24:4;;;;;;;;2664:153;:::o;:::-;37497:1:63;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;830:78201:63;2776:24:4;;;;830:78201:63;;2776:24:4;830:78201:63;2776:24:4;;;;;830:78201:63;37497:1;830:78201;;;;-1:-1:-1;2776:24:4;;;830:78201:63;2776:24:4;;;;;;;;2664:153;:::o;:::-;;2747:13;;;2743:68;;2664:153;;:::o;2743:68::-;830:78201:63;2776:24:4;;;;830:78201:63;;2776:24:4;830:78201:63;2776:24:4;;;;;830:78201:63;;;;;-1:-1:-1;2776:24:4;;;830:78201:63;2776:24:4;;;;;;;;2664:153;:::o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","entrypoint()":"a65d69d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testAssemblyCodeExecution()":"7747c190","testConstructor()":"c2e9f2e4","testConstructorAndDomainSeparator()":"942c6c0d","testDepositToIntentAlreadyUsed()":"1e3f2fae","testDepositToIntentCannotReuseDigest()":"9750a94e","testDepositToIntentExpiredDeadline()":"b320b495","testDepositToIntentReentrancyProtection()":"19835737","testDepositToIntentRequiresNonZeroAmount()":"6d74fac8","testDepositToIntentRequiresValidToken()":"8db1cdf8","testDepositToIntentTransferFromFails()":"a9d98231","testDepositToIntentWithFeeAmountButNoCollector_Reverts()":"f56af20a","testDepositToIntentWithFeeCollectorButNoAmount_Reverts()":"0c266cdb","testDepositToIntentWithPermitAlreadyUsed()":"c13acba0","testDepositToIntentWithPermitExpiredDeadline()":"c0aa967b","testDepositToIntentWithPermitReentrancyProtection()":"774345cd","testDepositToIntentWithPermitRequiresNonZeroAmount()":"ac315011","testDepositToIntentWithPermitRequiresPermitAmount()":"d4942166","testDepositToIntentWithPermitRequiresValidToken()":"9eed73d6","testDepositToIntentWithPermitTransferFromFails()":"2bce844d","testDepositToIntentWithPermitWithFeeAmountButNoCollector_Reverts()":"218171d7","testDepositToIntentWithPermitWithFeeCollectorButNoAmount_Reverts()":"80839499","testDepositToIntentWithPermitWrongSigner()":"be4671ef","testDepositToIntentWithoutPermit_RequiresIntentAddress()":"fa5e8102","testDepositToIntentWrongSigner()":"22b7bf5e","testDepositToIntent_WithNonStandardERC20AndFee_Success()":"567902d9","testDepositToIntent_WithNonStandardERC20_InsufficientAllowance_Reverts()":"7806d8ab","testDepositToIntent_WithNonStandardERC20_InsufficientBalance_Reverts()":"b47752d1","testDepositToIntent_WithNonStandardERC20_Success()":"d7284b70","testExactApprovalFlow()":"be7d0b2f","testExecuteIntentWithFee()":"bbaaf0a8","testExecuteIntentWithPermit()":"c30fff97","testExecuteIntentWithPermitExpired()":"bdc1b59c","testExecuteIntentWithPermitInvalidSignature()":"51a82aa0","testExecuteIntentWithPermit_permit_frontrun()":"572a59b9","testFeeCollectorReceivesFees()":"cde7e487","testFeeCollectorReceivesFeesWithoutPermit()":"69ad3c6a","testInfiniteApprovalFlow()":"901dc0e2","testIntentTypehashConstant()":"55544ac0","testInvalidNonceReverts()":"2ce7f6c8","testNonceIncrementsOnDeposit()":"804b1836","testPermitAmountExcessiveWithFee()":"ef45a94b","testPermitAmountInsufficientWithFee()":"3532ecd5","testVersionConstant()":"ccf56346","token()":"fc0c546a","user()":"4f8632ba","userPrivateKey()":"8cb2b6bf"}}}},"test/TrailsRouter.t.sol":{"AlwaysFailingMulticall3":{"abi":[{"type":"function","name":"aggregate3","inputs":[{"name":"","type":"tuple[]","internalType":"struct IMulticall3.Call3[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouter.t.sol\":\"AlwaysFailingMulticall3\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouter.t.sol\":{\"keccak256\":\"0xa757736eb3f9f8eb0bcd6b0176d9067636d5235df1737b85e3ef8206921ef65d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d57972bde686bd4d08a89420b29dc3cc5806706baac84f40c21c9357046a28\",\"dweb:/ipfs/QmQtr546cH9rQBx2gp6Ts4RE33M1iYkRCn2Co5MgvT25qm\"]},\"test/mocks/MockERC20.sol\":{\"keccak256\":\"0xfe57a5664094cd157e9dd1505e789da218e5ed1f5082fd4711e82421079ee1f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2b7dbe4dd3fc068f21e9d8578fdc39f302adb284a1cfd8acb115677305e703b\",\"dweb:/ipfs/QmWWuMbm889BMHgyehHHDfXRV2uu1fZgBnRa8vLUWZmtB8\"]},\"test/mocks/MockMulticall3.sol\":{\"keccak256\":\"0xfc0df2b8951b2e3fd6724eddbed29eaea4ed7be82ee2b40248de03c204443406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d0cd7b939afbf80c763b0c4980b6a69e36a274954fd25f5bf124fac0491b95\",\"dweb:/ipfs/QmZbpq8cqHyemB8CZdXnWbkbyTgCvwwT5nMZ69wE9QWNH5\"]},\"test/mocks/MockSenderGetter.sol\":{\"keccak256\":\"0x2e3186f5cfceae7d964e5638d61da8cdbf7b51d30ad4b44c2f7f4c2477e326ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://134491c33d481d8628feab0f2c533d560458119c66ee95a99367ba834efb8f00\",\"dweb:/ipfs/QmP5C93TNdJehXs2XkdQkD7AXgZ9EeJ2FcqagwkP73kLVb\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346015576101ef908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163174dea71146100e057506382ad56cb14610032575f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100dc5760043567ffffffffffffffff81116100dc5761007c903690600401610188565b505060646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152fd5b5f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100dc576004359067ffffffffffffffff82116100dc5761012d6064923690600401610188565b50507f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152fd5b9181601f840112156100dc5782359167ffffffffffffffff83116100dc576020808501948460051b0101116100dc5756fea26469706673582212204d26cfde5cf533afcf5b242bdb62c0cf77307a2a708acad8504413957621ea4564736f6c634300081e0033","sourceMap":"2049:305:64:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c908163174dea71146100e057506382ad56cb14610032575f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100dc5760043567ffffffffffffffff81116100dc5761007c903690600401610188565b505060646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152fd5b5f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100dc576004359067ffffffffffffffff82116100dc5761012d6064923690600401610188565b50507f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152fd5b9181601f840112156100dc5782359167ffffffffffffffff83116100dc576020808501948460051b0101116100dc5756fea26469706673582212204d26cfde5cf533afcf5b242bdb62c0cf77307a2a708acad8504413957621ea4564736f6c634300081e0033","sourceMap":"2049:305:64:-:0;;;;;;;;;;;;;;;;;;;;;;;;2305:40;2049:305;2305:40;;;2049:305;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;2305:40;2049:305;;2305:40;;;2049:305;;2305:40;;2049:305;;;;;;;;;;;2305:40;2049:305;;;;;;;;;;;;;;;;;;;;;2305:40;2049:305;;;;;;:::i;:::-;2305:40;;;;;2049:305;;2305:40;;2049:305;;;;;;;;;;;2305:40;2049:305;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"aggregate3((address,bool,bytes)[])":"82ad56cb","aggregate3Value((address,bool,uint256,bytes)[])":"174dea71"}}},"FailingToken":{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"setShouldFail","inputs":[{"name":"_shouldFail","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"shouldFail","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_shouldFail\",\"type\":\"bool\"}],\"name\":\"setShouldFail\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"shouldFail\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouter.t.sol\":\"FailingToken\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouter.t.sol\":{\"keccak256\":\"0xa757736eb3f9f8eb0bcd6b0176d9067636d5235df1737b85e3ef8206921ef65d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d57972bde686bd4d08a89420b29dc3cc5806706baac84f40c21c9357046a28\",\"dweb:/ipfs/QmQtr546cH9rQBx2gp6Ts4RE33M1iYkRCn2Co5MgvT25qm\"]},\"test/mocks/MockERC20.sol\":{\"keccak256\":\"0xfe57a5664094cd157e9dd1505e789da218e5ed1f5082fd4711e82421079ee1f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2b7dbe4dd3fc068f21e9d8578fdc39f302adb284a1cfd8acb115677305e703b\",\"dweb:/ipfs/QmWWuMbm889BMHgyehHHDfXRV2uu1fZgBnRa8vLUWZmtB8\"]},\"test/mocks/MockMulticall3.sol\":{\"keccak256\":\"0xfc0df2b8951b2e3fd6724eddbed29eaea4ed7be82ee2b40248de03c204443406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d0cd7b939afbf80c763b0c4980b6a69e36a274954fd25f5bf124fac0491b95\",\"dweb:/ipfs/QmZbpq8cqHyemB8CZdXnWbkbyTgCvwwT5nMZ69wE9QWNH5\"]},\"test/mocks/MockSenderGetter.sol\":{\"keccak256\":\"0x2e3186f5cfceae7d964e5638d61da8cdbf7b51d30ad4b44c2f7f4c2477e326ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://134491c33d481d8628feab0f2c533d560458119c66ee95a99367ba834efb8f00\",\"dweb:/ipfs/QmP5C93TNdJehXs2XkdQkD7AXgZ9EeJ2FcqagwkP73kLVb\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60806040523461032457604080519081016001600160401b03811182821017610237576040908152600d82526c2330b4b634b733902a37b5b2b760991b602083015280519081016001600160401b038111828210176102375760405260048152631190525360e21b602082015281516001600160401b03811161023757600354600181811c9116801561031a575b602082101461021957601f81116102b7575b50602092601f821160011461025657928192935f9261024b575b50508160011b915f199060031b1c1916176003555b80516001600160401b03811161023757600454600181811c9116801561022d575b602082101461021957601f81116101b6575b50602091601f8211600114610156579181925f9261014b575b50508160011b915f199060031b1c1916176004555b601260ff196005541617600555604051610b5c90816103298239f35b015190505f8061011a565b601f1982169260045f52805f20915f5b85811061019e57508360019510610186575b505050811b0160045561012f565b01515f1960f88460031b161c191690555f8080610178565b91926020600181928685015181550194019201610166565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c8101916020841061020f575b601f0160051c01905b8181106102045750610101565b5f81556001016101f7565b90915081906101ee565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100ef565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100b9565b601f1982169360035f52805f20915f5b86811061029f5750836001959610610287575b505050811b016003556100ce565b01515f1960f88460031b161c191690555f8080610279565b91926020600181928685015181550194019201610266565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c81019160208410610310575b601f0160051c01905b818110610305575061009f565b5f81556001016102f8565b90915081906102ef565b90607f169061008d565b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461075d57508063095ea7b31461065857806318160ddd1461061d57806323b872dd146105c6578063313ce5671461058857806340c10f1914610489578063678d22041461044657806370a08231146103e457806395d89b41146101f1578063a5aa5c121461017f578063a9059cbb146101305763dd62ed3e146100a0575f80fd5b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576100d76108d6565b73ffffffffffffffffffffffffffffffffffffffff6100f46108f9565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5761017461016a6108d6565b6024359033610a30565b602060405160018152f35b3461012c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5760043580151580910361012c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff006005549260081b169116176005555f80f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576040515f600454908160011c600183169283156103da575b6020821084146103ad57818552849390811561034d57506001146102d3575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff8211818310176102a6576102a28291826040528261088e565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b81831061033157505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610256565b60209193508060019154838588010152019101909183926102fd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09050610256565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f1690610237565b3461012c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5773ffffffffffffffffffffffffffffffffffffffff6104306108d6565b165f525f602052602060405f2054604051908152f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c57602060ff60055460081c166040519015158152f35b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576104c06108d6565b73ffffffffffffffffffffffffffffffffffffffff16602435811561055c576002549080820180921161052f5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c57602060ff60055416604051908152f35b3461012c5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5760206106136106026108d6565b61060a6108f9565b6044359161091c565b6040519015158152f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576020600254604051908152f35b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5761068f6108d6565b6024359033156107315773ffffffffffffffffffffffffffffffffffffffff1690811561070557335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c575f600354908160011c60018316928315610884575b6020821084146103ad57818552849390811561034d575060011461080a575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff8211818310176102a6576102a28291826040528261088e565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061086857505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610256565b6020919350806001915483858801015201910190918392610834565b90607f16906107a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b919060ff60055460081c16610a295773ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106109a8575b506109a39350610a30565b600190565b8381106109f5578415610731573315610705576109a3945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f20910390555f610998565b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b5050505f90565b73ffffffffffffffffffffffffffffffffffffffff16908115610afa5773ffffffffffffffffffffffffffffffffffffffff1691821561055c57815f525f60205260405f2054818110610ac857817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffdfea2646970667358221220d7f1f600d0f138887292c901e64abf40dd2e578eb54d0d61232b738a9f4d9e8564736f6c634300081e0033","sourceMap":"1339:447:64:-:0;;;;;;;;;;;;-1:-1:-1;;;;;1339:447:64;;;;;;;;;;;;;;;-1:-1:-1;;;1339:447:64;;;;;;;;;-1:-1:-1;;;;;1339:447:64;;;;;;;;;;;;;-1:-1:-1;;;1339:447:64;;;;;;-1:-1:-1;;;;;1339:447:64;;;;1648:13:28;1339:447:64;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;1648:13:28;1339:447:64;;;;;1648:13:28;1339:447:64;;;;-1:-1:-1;;;;;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;1648:13:28;1339:447:64;;;;;;;;1458:2;1339:447;;473:21:68;1339:447:64;;;473:21:68;1339:447:64;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;-1:-1:-1;1339:447:64;;-1:-1:-1;1339:447:64;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:28;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;-1:-1:-1;1339:447:64;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;-1:-1:-1;1339:447:64;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;1648:13:28;-1:-1:-1;1339:447:64;;-1:-1:-1;1339:447:64;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;;;;;;;;1648:13:28;1339:447:64;;;;;;;;;;1648:13:28;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:28;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461075d57508063095ea7b31461065857806318160ddd1461061d57806323b872dd146105c6578063313ce5671461058857806340c10f1914610489578063678d22041461044657806370a08231146103e457806395d89b41146101f1578063a5aa5c121461017f578063a9059cbb146101305763dd62ed3e146100a0575f80fd5b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576100d76108d6565b73ffffffffffffffffffffffffffffffffffffffff6100f46108f9565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5761017461016a6108d6565b6024359033610a30565b602060405160018152f35b3461012c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5760043580151580910361012c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff006005549260081b169116176005555f80f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576040515f600454908160011c600183169283156103da575b6020821084146103ad57818552849390811561034d57506001146102d3575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff8211818310176102a6576102a28291826040528261088e565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b81831061033157505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610256565b60209193508060019154838588010152019101909183926102fd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09050610256565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f1690610237565b3461012c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5773ffffffffffffffffffffffffffffffffffffffff6104306108d6565b165f525f602052602060405f2054604051908152f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c57602060ff60055460081c166040519015158152f35b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576104c06108d6565b73ffffffffffffffffffffffffffffffffffffffff16602435811561055c576002549080820180921161052f5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c57602060ff60055416604051908152f35b3461012c5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5760206106136106026108d6565b61060a6108f9565b6044359161091c565b6040519015158152f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576020600254604051908152f35b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5761068f6108d6565b6024359033156107315773ffffffffffffffffffffffffffffffffffffffff1690811561070557335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c575f600354908160011c60018316928315610884575b6020821084146103ad57818552849390811561034d575060011461080a575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff8211818310176102a6576102a28291826040528261088e565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061086857505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610256565b6020919350806001915483858801015201910190918392610834565b90607f16906107a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b919060ff60055460081c16610a295773ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106109a8575b506109a39350610a30565b600190565b8381106109f5578415610731573315610705576109a3945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f20910390555f610998565b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b5050505f90565b73ffffffffffffffffffffffffffffffffffffffff16908115610afa5773ffffffffffffffffffffffffffffffffffffffff1691821561055c57815f525f60205260405f2054818110610ac857817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffdfea2646970667358221220d7f1f600d0f138887292c901e64abf40dd2e578eb54d0d61232b738a9f4d9e8564736f6c634300081e0033","sourceMap":"1339:447:64:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;3561:11:28;1339:447:64;;;;;;3561:27:28;1339:447:64;-1:-1:-1;1339:447:64;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;3388:5:28;1339:447:64;;:::i;:::-;;;735:10:35;;3388:5:28;:::i;:::-;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1530:24;1339:447;;;;;;;;1530:24;1339:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;-1:-1:-1;;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1380:22;1339:447;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;7432:21:28;;7428:91;;6137:21;1339:447:64;;;;;;;;;;;6987:25:28;1339:447:64;;;6137:21:28;1339:447:64;;;;;;;;;;;;;;;;;;;;;6987:25:28;1339:447:64;;;;;;;;;;;7428:91:28;7476:32;1339:447:64;7476:32:28;1339:447:64;;;;;7476:32:28;1339:447:64;;;;;;;;;;;;;581:9:68;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2881:12:28;1339:447:64;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;735:10:35;;9719:19:28;9715:89;;1339:447:64;;9817:21:28;;;9813:90;;735:10:35;1339:447:64;;;;;;;;;-1:-1:-1;1339:447:64;;;;;-1:-1:-1;1339:447:64;;;;;;;9991:31:28;1339:447:64;735:10:35;9991:31:28;;1339:447:64;;;;;;;9813:90:28;9861:31;1339:447:64;9861:31:28;1339:447:64;;;;;9861:31:28;9715:89;9761:32;1339:447:64;9761:32:28;1339:447:64;;;;;9761:32:28;1339:447:64;;;;;;;;;;;;1837:5:28;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1837:5:28;1339:447:64;;;;;-1:-1:-1;1339:447:64;;;;;;;-1:-1:-1;;1339:447:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;1567:217::-;;;1339:447;1676:10;1339:447;;;;1672:53;;1339:447;;;;;;;3561:11:28;1339:447:64;;;;;;735:10:35;1339:447:64;-1:-1:-1;1339:447:64;;;;-1:-1:-1;1339:447:64;;10505:17:28;10486:36;;10482:309;;1567:217:64;4890:5:28;;;;;:::i;:::-;3561:11;1567:217:64;:::o;10482:309:28:-;10542:24;;;10538:130;;9719:19;;9715:89;;735:10:35;9817:21:28;9813:90;;4890:5;1339:447:64;;;3561:11:28;1339:447:64;;;;;;735:10:35;1339:447:64;-1:-1:-1;1339:447:64;;;;;-1:-1:-1;1339:447:64;;;;;10482:309:28;;;10538:130;10593:60;;;1339:447:64;10593:60:28;735:10:35;10593:60:28;1339:447:64;;;;;;;10593:60:28;1672:53:64;1702:12;;;1339:447;1702:12;:::o;5297:300:28:-;1339:447:64;;5380:18:28;;;5376:86;;1339:447:64;;5475:16:28;;;5471:86;;1339:447:64;5396:1:28;1339:447:64;5396:1:28;1339:447:64;;;5396:1:28;1339:447:64;;6244:19:28;;;6240:115;;1339:447:64;6987:25:28;1339:447:64;;;;5396:1:28;1339:447:64;5396:1:28;1339:447:64;;;;5396:1:28;1339:447:64;;;5396:1:28;1339:447:64;5396:1:28;1339:447:64;;;5396:1:28;1339:447:64;;;;;;;;;;;;6987:25:28;5297:300::o;6240:115::-;6290:50;;5396:1;6290:50;;1339:447:64;;;;;;5396:1:28;6290:50;5376:86;5421:30;5396:1;5421:30;5396:1;5421:30;1339:447:64;;5396:1:28;5421:30","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","mint(address,uint256)":"40c10f19","name()":"06fdde03","setShouldFail(bool)":"a5aa5c12","shouldFail()":"678d2204","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}},"MockTarget":{"abi":[{"type":"constructor","inputs":[{"name":"_token","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deposit","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"lastAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setShouldRevert","inputs":[{"name":"_shouldRevert","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"shouldRevert","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract MockERC20"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_shouldRevert\",\"type\":\"bool\"}],\"name\":\"setShouldRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"shouldRevert\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract MockERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouter.t.sol\":\"MockTarget\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouter.t.sol\":{\"keccak256\":\"0xa757736eb3f9f8eb0bcd6b0176d9067636d5235df1737b85e3ef8206921ef65d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d57972bde686bd4d08a89420b29dc3cc5806706baac84f40c21c9357046a28\",\"dweb:/ipfs/QmQtr546cH9rQBx2gp6Ts4RE33M1iYkRCn2Co5MgvT25qm\"]},\"test/mocks/MockERC20.sol\":{\"keccak256\":\"0xfe57a5664094cd157e9dd1505e789da218e5ed1f5082fd4711e82421079ee1f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2b7dbe4dd3fc068f21e9d8578fdc39f302adb284a1cfd8acb115677305e703b\",\"dweb:/ipfs/QmWWuMbm889BMHgyehHHDfXRV2uu1fZgBnRa8vLUWZmtB8\"]},\"test/mocks/MockMulticall3.sol\":{\"keccak256\":\"0xfc0df2b8951b2e3fd6724eddbed29eaea4ed7be82ee2b40248de03c204443406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d0cd7b939afbf80c763b0c4980b6a69e36a274954fd25f5bf124fac0491b95\",\"dweb:/ipfs/QmZbpq8cqHyemB8CZdXnWbkbyTgCvwwT5nMZ69wE9QWNH5\"]},\"test/mocks/MockSenderGetter.sol\":{\"keccak256\":\"0x2e3186f5cfceae7d964e5638d61da8cdbf7b51d30ad4b44c2f7f4c2477e326ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://134491c33d481d8628feab0f2c533d560458119c66ee95a99367ba834efb8f00\",\"dweb:/ipfs/QmP5C93TNdJehXs2XkdQkD7AXgZ9EeJ2FcqagwkP73kLVb\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608034607f57601f6104a038819003918201601f19168301916001600160401b03831184841017608357808492602094604052833981010312607f57516001600160a01b0381168103607f5760018054610100600160a81b03191660089290921b610100600160a81b031691909117905560405161040890816100988239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f3560e01c9081636813d787146103655781636e553f651461012557508063829a86d9146100eb578063d3072d82146100ab5763fc0c546a14610053575f80fd5b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a757602073ffffffffffffffffffffffffffffffffffffffff60015460081c16604051908152f35b5f80fd5b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a757602060ff600154166040519015158152f35b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a75760205f54604051908152f35b346100a75760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a7576004359060243573ffffffffffffffffffffffffffffffffffffffff8116036100a7576001549060ff8216610309575073ffffffffffffffffffffffffffffffffffffffff90825f5560081c1690816101a957005b5f91606460209260405194859384927f23b872dd00000000000000000000000000000000000000000000000000000000845233600485015230602485015260448401525af19081156102fe575f91610262575b501561020457005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433230207472616e7366657246726f6d206661696c6564000000000000006044820152fd5b905060203d6020116102f7575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f820116820182811067ffffffffffffffff8211176102ca576020918391604052810103126100a7575180151581036100a757816101fc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b503d61026f565b6040513d5f823e3d90fd5b807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152600f60248201527f54617267657420726576657274656400000000000000000000000000000000006044820152fd5b346100a75760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a7576004358015158091036100a75760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600154169116176001555f80f3fea2646970667358221220743a172d6fb225dce39c03b6fc94b2006c3c5313ca5971aef4fd0a39b136f4e464736f6c634300081e0033","sourceMap":"2356:645:64:-:0;;;;;;;;;;;;;-1:-1:-1;;2356:645:64;;;;-1:-1:-1;;;;;2356:645:64;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2356:645:64;;;;;;2510:25;2356:645;;-1:-1:-1;;;;;;2356:645:64;;;;;;-1:-1:-1;;;;;2356:645:64;;;;;;;;;;;;;;;;;-1:-1:-1;2356:645:64;;;;;;-1:-1:-1;2356:645:64;;;;;-1:-1:-1;2356:645:64","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c9081636813d787146103655781636e553f651461012557508063829a86d9146100eb578063d3072d82146100ab5763fc0c546a14610053575f80fd5b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a757602073ffffffffffffffffffffffffffffffffffffffff60015460081c16604051908152f35b5f80fd5b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a757602060ff600154166040519015158152f35b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a75760205f54604051908152f35b346100a75760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a7576004359060243573ffffffffffffffffffffffffffffffffffffffff8116036100a7576001549060ff8216610309575073ffffffffffffffffffffffffffffffffffffffff90825f5560081c1690816101a957005b5f91606460209260405194859384927f23b872dd00000000000000000000000000000000000000000000000000000000845233600485015230602485015260448401525af19081156102fe575f91610262575b501561020457005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433230207472616e7366657246726f6d206661696c6564000000000000006044820152fd5b905060203d6020116102f7575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f820116820182811067ffffffffffffffff8211176102ca576020918391604052810103126100a7575180151581036100a757816101fc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b503d61026f565b6040513d5f823e3d90fd5b807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152600f60248201527f54617267657420726576657274656400000000000000000000000000000000006044820152fd5b346100a75760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a7576004358015158091036100a75760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600154169116176001555f80f3fea2646970667358221220743a172d6fb225dce39c03b6fc94b2006c3c5313ca5971aef4fd0a39b136f4e464736f6c634300081e0033","sourceMap":"2356:645:64:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2443:22;2356:645;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:24;2356:645;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2761:43;;2356:645;;;;;;;;;2847:28;;2843:150;;2356:645;2843:150;2356:645;;2899:53;2356:645;;;;2899:53;;;;;2356:645;2899:53;;2918:10;2356:645;2899:53;;2356:645;2938:4;2356:645;;;;;;;;2899:53;;;;;;;2356:645;2899:53;;;2843:150;2356:645;;;;;;2899:53;2356:645;;;;;;;;;;;;;;;;;;;;;2899:53;;;2356:645;2899:53;2356:645;2899:53;;;;2356:645;;;;;;;;;;;;;;;;;;;;;;2899:53;;2356:645;;;;;;;;;;;;2899:53;;;2356:645;;;;;;;;;;2899:53;;;;;;2356:645;;;;;;;;;2761:43;2779:25;;;;;2356:645;;2779:25;;2356:645;;;;;;;;;;;2779:25;2356:645;;;;;;;;;;;;;;;;;;;;;;;2612:28;2356:645;;;;;2612:28;2356:645;;;","linkReferences":{}},"methodIdentifiers":{"deposit(uint256,address)":"6e553f65","lastAmount()":"829a86d9","setShouldRevert(bool)":"6813d787","shouldRevert()":"d3072d82","token()":"fc0c546a"}}},"MockTargetETH":{"abi":[{"type":"receive","stateMutability":"payable"},{"type":"function","name":"depositEth","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"lastAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"receivedEth","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setShouldRevert","inputs":[{"name":"_shouldRevert","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"shouldRevert","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"depositEth\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"receivedEth\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_shouldRevert\",\"type\":\"bool\"}],\"name\":\"setShouldRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"shouldRevert\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouter.t.sol\":\"MockTargetETH\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouter.t.sol\":{\"keccak256\":\"0xa757736eb3f9f8eb0bcd6b0176d9067636d5235df1737b85e3ef8206921ef65d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d57972bde686bd4d08a89420b29dc3cc5806706baac84f40c21c9357046a28\",\"dweb:/ipfs/QmQtr546cH9rQBx2gp6Ts4RE33M1iYkRCn2Co5MgvT25qm\"]},\"test/mocks/MockERC20.sol\":{\"keccak256\":\"0xfe57a5664094cd157e9dd1505e789da218e5ed1f5082fd4711e82421079ee1f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2b7dbe4dd3fc068f21e9d8578fdc39f302adb284a1cfd8acb115677305e703b\",\"dweb:/ipfs/QmWWuMbm889BMHgyehHHDfXRV2uu1fZgBnRa8vLUWZmtB8\"]},\"test/mocks/MockMulticall3.sol\":{\"keccak256\":\"0xfc0df2b8951b2e3fd6724eddbed29eaea4ed7be82ee2b40248de03c204443406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d0cd7b939afbf80c763b0c4980b6a69e36a274954fd25f5bf124fac0491b95\",\"dweb:/ipfs/QmZbpq8cqHyemB8CZdXnWbkbyTgCvwwT5nMZ69wE9QWNH5\"]},\"test/mocks/MockSenderGetter.sol\":{\"keccak256\":\"0x2e3186f5cfceae7d964e5638d61da8cdbf7b51d30ad4b44c2f7f4c2477e326ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://134491c33d481d8628feab0f2c533d560458119c66ee95a99367ba834efb8f00\",\"dweb:/ipfs/QmP5C93TNdJehXs2XkdQkD7AXgZ9EeJ2FcqagwkP73kLVb\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234601557610275908161001a8239f35b5f80fdfe608080604052600436101561001c575b50361561001a575f80fd5b005b5f3560e01c90816346f6b4e114610185575080636813d78714610118578063829a86d9146100de578063d3072d821461009e5763f5632ab41461005f575f61000f565b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a576020600154604051908152f35b5f80fd5b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a57602060ff600254166040519015158152f35b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760205f54604051908152f35b3461009a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760043580151580910361009a5760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600254169116176002555f80f35b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760243573ffffffffffffffffffffffffffffffffffffffff81160361009a5760ff600254166101e3576004355f5534600155005b807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152600f60248201527f54617267657420726576657274656400000000000000000000000000000000006044820152fdfea264697066735822122042cb4c7788d7f1fd3d3695bef8c3a2fd1390f82e50a41ddf02c4e8b37123a46264736f6c634300081e0033","sourceMap":"3003:504:64:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608080604052600436101561001c575b50361561001a575f80fd5b005b5f3560e01c90816346f6b4e114610185575080636813d78714610118578063829a86d9146100de578063d3072d821461009e5763f5632ab41461005f575f61000f565b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a576020600154604051908152f35b5f80fd5b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a57602060ff600254166040519015158152f35b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760205f54604051908152f35b3461009a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760043580151580910361009a5760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600254169116176002555f80f35b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760243573ffffffffffffffffffffffffffffffffffffffff81160361009a5760ff600254166101e3576004355f5534600155005b807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152600f60248201527f54617267657420726576657274656400000000000000000000000000000000006044820152fdfea264697066735822122042cb4c7788d7f1fd3d3695bef8c3a2fd1390f82e50a41ddf02c4e8b37123a46264736f6c634300081e0033","sourceMap":"3003:504:64:-:0;;;;;;;;;;-1:-1:-1;3003:504:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3063:26;3003:504;;;;;;;;;;;;;;;;;;;;;;;;3095:24;3003:504;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3190:28;3003:504;;;;;3190:28;3003:504;;;;;;;;;;;;;;;;;;;;;3362:12;3003:504;;3358:43;;3003:504;;;;3454:9;3003:504;;;3358:43;3376:25;;;;;3003:504;;3376:25;;3003:504;;;;;;;;;;;3376:25","linkReferences":{}},"methodIdentifiers":{"depositEth(uint256,address)":"46f6b4e1","lastAmount()":"829a86d9","receivedEth()":"f5632ab4","setShouldRevert(bool)":"6813d787","shouldRevert()":"d3072d82"}}},"MockWallet":{"abi":[{"type":"receive","stateMutability":"payable"},{"type":"function","name":"delegateCallBalanceInjector","inputs":[{"name":"router","type":"address","internalType":"address"},{"name":"token","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"amountOffset","type":"uint256","internalType":"uint256"},{"name":"placeholder","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"},{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"handleSequenceDelegateCall","inputs":[{"name":"router","type":"address","internalType":"address"},{"name":"opHash","type":"bytes32","internalType":"bytes32"},{"name":"startingGas","type":"uint256","internalType":"uint256"},{"name":"callIndex","type":"uint256","internalType":"uint256"},{"name":"numCalls","type":"uint256","internalType":"uint256"},{"name":"space","type":"uint256","internalType":"uint256"},{"name":"innerCallData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"},{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"amountOffset\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"placeholder\",\"type\":\"bytes32\"}],\"name\":\"delegateCallBalanceInjector\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"opHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"startingGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"numCalls\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"space\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"innerCallData\",\"type\":\"bytes\"}],\"name\":\"handleSequenceDelegateCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouter.t.sol\":\"MockWallet\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouter.t.sol\":{\"keccak256\":\"0xa757736eb3f9f8eb0bcd6b0176d9067636d5235df1737b85e3ef8206921ef65d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d57972bde686bd4d08a89420b29dc3cc5806706baac84f40c21c9357046a28\",\"dweb:/ipfs/QmQtr546cH9rQBx2gp6Ts4RE33M1iYkRCn2Co5MgvT25qm\"]},\"test/mocks/MockERC20.sol\":{\"keccak256\":\"0xfe57a5664094cd157e9dd1505e789da218e5ed1f5082fd4711e82421079ee1f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2b7dbe4dd3fc068f21e9d8578fdc39f302adb284a1cfd8acb115677305e703b\",\"dweb:/ipfs/QmWWuMbm889BMHgyehHHDfXRV2uu1fZgBnRa8vLUWZmtB8\"]},\"test/mocks/MockMulticall3.sol\":{\"keccak256\":\"0xfc0df2b8951b2e3fd6724eddbed29eaea4ed7be82ee2b40248de03c204443406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d0cd7b939afbf80c763b0c4980b6a69e36a274954fd25f5bf124fac0491b95\",\"dweb:/ipfs/QmZbpq8cqHyemB8CZdXnWbkbyTgCvwwT5nMZ69wE9QWNH5\"]},\"test/mocks/MockSenderGetter.sol\":{\"keccak256\":\"0x2e3186f5cfceae7d964e5638d61da8cdbf7b51d30ad4b44c2f7f4c2477e326ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://134491c33d481d8628feab0f2c533d560458119c66ee95a99367ba834efb8f00\",\"dweb:/ipfs/QmP5C93TNdJehXs2XkdQkD7AXgZ9EeJ2FcqagwkP73kLVb\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460155761043e908161001a8239f35b5f80fdfe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c80631827c8ae1461017d576344c3b4270361000e5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017957610066610269565b60243573ffffffffffffffffffffffffffffffffffffffff8116809103610179576044359173ffffffffffffffffffffffffffffffffffffffff8316809303610179576064359167ffffffffffffffff8311610179575f936101596100d086953690600401610334565b9161011d60405193849260208401967f5b5e65160000000000000000000000000000000000000000000000000000000088526024850152604484015260a0606484015260c483019061037a565b608435608483015260a43560a4830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261028c565b51915af46101656103d9565b90610175604051928392836103bd565b0390f35b5f80fd5b60e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610179576101af610269565b60c43567ffffffffffffffff8111610179575f916101d283923690600401610334565b6040516101598161023d60208201947f4c4e814c000000000000000000000000000000000000000000000000000000008652602435602484015260443560448401526064356064840152608435608484015260a43560a484015260c060c484015260e483019061037a565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261028c565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361017957565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102cd57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116102cd57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f820112156101795780359061034b826102fa565b92610359604051948561028c565b8284526020838301011161017957815f926020809301838601378301015290565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6040906103d6939215158152816020820152019061037a565b90565b3d15610403573d906103ea826102fa565b916103f8604051938461028c565b82523d5f602084013e565b60609056fea26469706673582212208f8cd33435e9ba924d0905f84e9acaebbe71d9215aac9cc72e2c9b7ffe3106c364736f6c634300081e0033","sourceMap":"3509:1195:64:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c80631827c8ae1461017d576344c3b4270361000e5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017957610066610269565b60243573ffffffffffffffffffffffffffffffffffffffff8116809103610179576044359173ffffffffffffffffffffffffffffffffffffffff8316809303610179576064359167ffffffffffffffff8311610179575f936101596100d086953690600401610334565b9161011d60405193849260208401967f5b5e65160000000000000000000000000000000000000000000000000000000088526024850152604484015260a0606484015260c483019061037a565b608435608483015260a43560a4830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261028c565b51915af46101656103d9565b90610175604051928392836103bd565b0390f35b5f80fd5b60e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610179576101af610269565b60c43567ffffffffffffffff8111610179575f916101d283923690600401610334565b6040516101598161023d60208201947f4c4e814c000000000000000000000000000000000000000000000000000000008652602435602484015260443560448401526064356064840152608435608484015260a43560a484015260c060c484015260e483019061037a565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261028c565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361017957565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102cd57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116102cd57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f820112156101795780359061034b826102fa565b92610359604051948561028c565b8284526020838301011161017957815f926020809301838601378301015290565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6040906103d6939215158152816020820152019061037a565b90565b3d15610403573d906103ea826102fa565b916103f8604051938461028c565b82523d5f602084013e565b60609056fea26469706673582212208f8cd33435e9ba924d0905f84e9acaebbe71d9215aac9cc72e2c9b7ffe3106c364736f6c634300081e0033","sourceMap":"3509:1195:64:-:0;;;;;;;;;-1:-1:-1;3509:1195:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3830:153;3509:1195;;;;;;;;:::i;:::-;;;;;3830:153;;;3509:1195;3830:153;;;;;;3509:1195;3830:153;;3509:1195;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3830:153;;;;;;;;:::i;:::-;4000:25;;;;;;:::i;:::-;3509:1195;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;4360:258;;3509:1195;;4360:258;;;;;;3509:1195;;;4360:258;;3509:1195;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4360:258;;;;;;;;:::i;3509:1195::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;3509:1195:64;;;;;-1:-1:-1;3509:1195:64;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;3509:1195:64;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3509:1195:64;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;3509:1195:64;;;;:::o;:::-;;;:::o","linkReferences":{}},"methodIdentifiers":{"delegateCallBalanceInjector(address,address,address,bytes,uint256,bytes32)":"44c3b427","handleSequenceDelegateCall(address,bytes32,uint256,uint256,uint256,uint256,bytes)":"1827c8ae"}}},"RevertingReceiver":{"abi":[{"type":"receive","stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouter.t.sol\":\"RevertingReceiver\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouter.t.sol\":{\"keccak256\":\"0xa757736eb3f9f8eb0bcd6b0176d9067636d5235df1737b85e3ef8206921ef65d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d57972bde686bd4d08a89420b29dc3cc5806706baac84f40c21c9357046a28\",\"dweb:/ipfs/QmQtr546cH9rQBx2gp6Ts4RE33M1iYkRCn2Co5MgvT25qm\"]},\"test/mocks/MockERC20.sol\":{\"keccak256\":\"0xfe57a5664094cd157e9dd1505e789da218e5ed1f5082fd4711e82421079ee1f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2b7dbe4dd3fc068f21e9d8578fdc39f302adb284a1cfd8acb115677305e703b\",\"dweb:/ipfs/QmWWuMbm889BMHgyehHHDfXRV2uu1fZgBnRa8vLUWZmtB8\"]},\"test/mocks/MockMulticall3.sol\":{\"keccak256\":\"0xfc0df2b8951b2e3fd6724eddbed29eaea4ed7be82ee2b40248de03c204443406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d0cd7b939afbf80c763b0c4980b6a69e36a274954fd25f5bf124fac0491b95\",\"dweb:/ipfs/QmZbpq8cqHyemB8CZdXnWbkbyTgCvwwT5nMZ69wE9QWNH5\"]},\"test/mocks/MockSenderGetter.sol\":{\"keccak256\":\"0x2e3186f5cfceae7d964e5638d61da8cdbf7b51d30ad4b44c2f7f4c2477e326ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://134491c33d481d8628feab0f2c533d560458119c66ee95a99367ba834efb8f00\",\"dweb:/ipfs/QmP5C93TNdJehXs2XkdQkD7AXgZ9EeJ2FcqagwkP73kLVb\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460135760c5908160188239f35b5f80fdfe6080806040523615600e575f80fd5b807f08c379a00000000000000000000000000000000000000000000000000000000060849252602060048201526024808201527f526576657274696e6752656365697665723a20726576657274206f6e2072656360448201527f65697665000000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220ca498d30cad9a909a47a4edbbee81be87963eac164101dcb5079346e9be9b95c64736f6c634300081e0033","sourceMap":"1854:125:64:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040523615600e575f80fd5b807f08c379a00000000000000000000000000000000000000000000000000000000060849252602060048201526024808201527f526576657274696e6752656365697665723a20726576657274206f6e2072656360448201527f65697665000000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220ca498d30cad9a909a47a4edbbee81be87963eac164101dcb5079346e9be9b95c64736f6c634300081e0033","sourceMap":"1854:125:64:-:0;;;;;;;;;;;;1924:46;;;;;1854:125;1924:46;;;1854:125;;;;;;;;;;;;;;;;1924:46","linkReferences":{}}}},"TrailsRouterTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"holder","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testDelegateCallWithETH","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testExecute_WithFailingMulticall","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testHandleSequenceDelegateCall_InjectAndCall","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testHandleSequenceDelegateCall_RefundAndSweep","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testHandleSequenceDelegateCall_Sweep","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testHandleSequenceDelegateCall_ValidateOpHashAndSweep","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testIncorrectValueValidation","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectAndCall_NoReplacementNeeded","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectAndCall_WithReplacement","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectAndCall_WithTokenZeroBalance","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectAndCall_WithZeroBalance","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectSweepAndCall","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectSweepAndCall_WithETH_TargetCallFails","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectSweepAndCall_WithETH_ZeroBalance","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectSweepAndCall_WithToken_IncorrectValue","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectSweepAndCall_WithToken_TargetCallFails","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testInjectSweepAndCall_WithToken_ZeroBalance","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testNativeTransferFailure","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRefundAndSweep_FullRefund","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRefundAndSweep_PartialRefundERC20","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRefundAndSweep_ZeroRefundAmount","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevertWhen_injectAndCall_NoValueAvailable","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevertWhen_injectAndCall_UnexpectedValue","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevertWhen_injectSweepAndCall_InsufficientAllowance","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRevertWhen_injectSweepAndCall_NoValueAvailable","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testSweepAndCallETH","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testValidateOpHashAndSweep_WithoutSentinel","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_Execute_FromContract_ShouldPreserveContractAsSender","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_Execute_FromEOA_ShouldPreserveEOAAsSender","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_Execute_WithMultipleCalls","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_Multicall3Address_IsCorrect","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"function","name":"test_ReceiveETH_ShouldAcceptETH","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_allowFailure_true_allCalls","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_allowFailure_true_firstOfMultipleCalls","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_allowFailure_true_lastOfMultipleCalls","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_allowFailure_true_middleOfMultipleCalls","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_allowFailure_true_singleCall","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_execute_withETH_allowFailure_true","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_pullAmountAndExecute_InsufficientAllowance","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_pullAndExecute_InsufficientAllowance","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_RevertWhen_pullAndExecute_allowFailure_true","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_amount_offset_out_of_bounds","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_direct_sweep_reverts_not_delegatecall","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_handleSequenceDelegateCall_dispatches_to_sweep_native","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_handleSequenceDelegateCall_invalid_selector_reverts","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_native_transfer_failed","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_no_tokens_to_pull","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_no_tokens_to_sweep","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_placeholder_mismatch","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAmountAndExecute_WithETH_IncorrectValue","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAmountAndExecute_WithETH_ShouldTransferAndExecute","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAmountAndExecute_WithToken_IncorrectValue","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAmountAndExecute_WithToken_ShouldTransferAndExecute","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAmountAndExecute_WithValidToken_ShouldTransferAndExecute","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAndExecute_WithETH_NoEthSent","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAndExecute_WithETH_ShouldTransferAndExecute","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAndExecute_WithFailingMulticall","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAndExecute_WithToken_IncorrectValue","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_pullAndExecute_WithValidToken_ShouldTransferFullBalanceAndExecute","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_refundAndSweep_erc20_partialRefund","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_refundAndSweep_native_partialRefund","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_success_sentinel_not_set","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_sweep_erc20Token","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_sweep_nativeToken","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_validateOpHashAndSweep_native_success","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_validateOpHashAndSweep_native_success_tstore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ActualRefund","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"expected","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"actual","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BalanceInjectorCall","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"target","type":"address","indexed":true,"internalType":"address"},{"name":"placeholder","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"amountReplaced","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountOffset","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"success","type":"bool","indexed":false,"internalType":"bool"},{"name":"result","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Refund","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RefundAndSweep","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"refundRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"refundAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sweepRecipient","type":"address","indexed":true,"internalType":"address"},{"name":"actualRefund","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"remaining","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Sweep","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"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}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actual\",\"type\":\"uint256\"}],\"name\":\"ActualRefund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"placeholder\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountReplaced\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountOffset\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"name\":\"BalanceInjectorCall\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Refund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"refundRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"refundAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sweepRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualRefund\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"remaining\",\"type\":\"uint256\"}],\"name\":\"RefundAndSweep\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Sweep\",\"type\":\"event\"},{\"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\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"holder\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDelegateCallWithETH\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testExecute_WithFailingMulticall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testHandleSequenceDelegateCall_InjectAndCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testHandleSequenceDelegateCall_RefundAndSweep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testHandleSequenceDelegateCall_Sweep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testHandleSequenceDelegateCall_ValidateOpHashAndSweep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testIncorrectValueValidation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectAndCall_NoReplacementNeeded\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectAndCall_WithReplacement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectAndCall_WithTokenZeroBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectAndCall_WithZeroBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectSweepAndCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectSweepAndCall_WithETH_TargetCallFails\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectSweepAndCall_WithETH_ZeroBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectSweepAndCall_WithToken_IncorrectValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectSweepAndCall_WithToken_TargetCallFails\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInjectSweepAndCall_WithToken_ZeroBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testNativeTransferFailure\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRefundAndSweep_FullRefund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRefundAndSweep_PartialRefundERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRefundAndSweep_ZeroRefundAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevertWhen_injectAndCall_NoValueAvailable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevertWhen_injectAndCall_UnexpectedValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevertWhen_injectSweepAndCall_InsufficientAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRevertWhen_injectSweepAndCall_NoValueAvailable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSweepAndCallETH\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testValidateOpHashAndSweep_WithoutSentinel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_Execute_FromContract_ShouldPreserveContractAsSender\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_Execute_FromEOA_ShouldPreserveEOAAsSender\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_Execute_WithMultipleCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_Multicall3Address_IsCorrect\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_ReceiveETH_ShouldAcceptETH\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RevertWhen_allowFailure_true_allCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RevertWhen_allowFailure_true_firstOfMultipleCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RevertWhen_allowFailure_true_lastOfMultipleCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RevertWhen_allowFailure_true_middleOfMultipleCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RevertWhen_allowFailure_true_singleCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RevertWhen_execute_withETH_allowFailure_true\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RevertWhen_pullAmountAndExecute_InsufficientAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RevertWhen_pullAndExecute_InsufficientAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_RevertWhen_pullAndExecute_allowFailure_true\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_amount_offset_out_of_bounds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_direct_sweep_reverts_not_delegatecall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_handleSequenceDelegateCall_dispatches_to_sweep_native\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_handleSequenceDelegateCall_invalid_selector_reverts\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_native_transfer_failed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_no_tokens_to_pull\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_no_tokens_to_sweep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_placeholder_mismatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAmountAndExecute_WithETH_IncorrectValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAmountAndExecute_WithETH_ShouldTransferAndExecute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAmountAndExecute_WithToken_IncorrectValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAmountAndExecute_WithToken_ShouldTransferAndExecute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAmountAndExecute_WithValidToken_ShouldTransferAndExecute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAndExecute_WithETH_NoEthSent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAndExecute_WithETH_ShouldTransferAndExecute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAndExecute_WithFailingMulticall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAndExecute_WithToken_IncorrectValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_pullAndExecute_WithValidToken_ShouldTransferFullBalanceAndExecute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_refundAndSweep_erc20_partialRefund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_refundAndSweep_native_partialRefund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_success_sentinel_not_set\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_sweep_erc20Token\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_sweep_nativeToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_validateOpHashAndSweep_native_success\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_validateOpHashAndSweep_native_success_tstore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"test_RevertWhen_allowFailure_true_allCalls()\":{\"details\":\"Verifies that validation catches the first allowFailure=true at index 0\"},\"test_RevertWhen_allowFailure_true_firstOfMultipleCalls()\":{\"details\":\"Verifies that validation catches allowFailure=true at index 0\"},\"test_RevertWhen_allowFailure_true_lastOfMultipleCalls()\":{\"details\":\"Verifies that validation catches allowFailure=true at index 2\"},\"test_RevertWhen_allowFailure_true_middleOfMultipleCalls()\":{\"details\":\"Verifies that validation catches allowFailure=true at index 1\"},\"test_RevertWhen_allowFailure_true_singleCall()\":{\"details\":\"Validates the fix for SEQ-3 - preventing silent execution failures\"},\"test_RevertWhen_execute_withETH_allowFailure_true()\":{\"details\":\"Ensures the validation applies to all execution paths\"},\"test_RevertWhen_pullAndExecute_allowFailure_true()\":{\"details\":\"Ensures the validation applies to pullAndExecute as well\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"test_RevertWhen_allowFailure_true_allCalls()\":{\"notice\":\"Test that pullAmountAndExecute reverts when all calls have allowFailure=true\"},\"test_RevertWhen_allowFailure_true_firstOfMultipleCalls()\":{\"notice\":\"Test that pullAmountAndExecute reverts when allowFailure is true in the first of multiple calls\"},\"test_RevertWhen_allowFailure_true_lastOfMultipleCalls()\":{\"notice\":\"Test that pullAmountAndExecute reverts when allowFailure is true in the last of multiple calls\"},\"test_RevertWhen_allowFailure_true_middleOfMultipleCalls()\":{\"notice\":\"Test that pullAmountAndExecute reverts when allowFailure is true in the middle of multiple calls\"},\"test_RevertWhen_allowFailure_true_singleCall()\":{\"notice\":\"Test that pullAmountAndExecute reverts when allowFailure is true for a single call\"},\"test_RevertWhen_execute_withETH_allowFailure_true()\":{\"notice\":\"Test that execute with ETH validates allowFailure flag\"},\"test_RevertWhen_pullAndExecute_allowFailure_true()\":{\"notice\":\"Test that pullAndExecute also validates allowFailure flag\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouter.t.sol\":\"TrailsRouterTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/mocks/token/ERC20Mock.sol\":{\"keccak256\":\"0x3ae81a443846c6d9bd387d6c6a5d7271a25095c83bb93817eefdaa22e13ca9e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f98462a56f254dc0046038e92527e3b7ee5bf0e03f60e3459fbd400c14be01a7\",\"dweb:/ipfs/QmevANfRaMrqy8Jh33LxEs5vP2xBPQspxtij8bsonw3GHM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouter.t.sol\":{\"keccak256\":\"0xa757736eb3f9f8eb0bcd6b0176d9067636d5235df1737b85e3ef8206921ef65d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d57972bde686bd4d08a89420b29dc3cc5806706baac84f40c21c9357046a28\",\"dweb:/ipfs/QmQtr546cH9rQBx2gp6Ts4RE33M1iYkRCn2Co5MgvT25qm\"]},\"test/mocks/MockERC20.sol\":{\"keccak256\":\"0xfe57a5664094cd157e9dd1505e789da218e5ed1f5082fd4711e82421079ee1f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2b7dbe4dd3fc068f21e9d8578fdc39f302adb284a1cfd8acb115677305e703b\",\"dweb:/ipfs/QmWWuMbm889BMHgyehHHDfXRV2uu1fZgBnRa8vLUWZmtB8\"]},\"test/mocks/MockMulticall3.sol\":{\"keccak256\":\"0xfc0df2b8951b2e3fd6724eddbed29eaea4ed7be82ee2b40248de03c204443406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d0cd7b939afbf80c763b0c4980b6a69e36a274954fd25f5bf124fac0491b95\",\"dweb:/ipfs/QmZbpq8cqHyemB8CZdXnWbkbyTgCvwwT5nMZ69wE9QWNH5\"]},\"test/mocks/MockSenderGetter.sol\":{\"keccak256\":\"0x2e3186f5cfceae7d964e5638d61da8cdbf7b51d30ad4b44c2f7f4c2477e326ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://134491c33d481d8628feab0f2c533d560458119c66ee95a99367ba834efb8f00\",\"dweb:/ipfs/QmP5C93TNdJehXs2XkdQkD7AXgZ9EeJ2FcqagwkP73kLVb\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523461017d57600160ff19600c541617600c55600160ff19601f541617601f556040810181811060018060401b038211176101c3576040526004815260208101633ab9b2b960e11b81526040516020810190600483835e5f6024820152600481526100706024826101d7565b5190206040519063ffa1864960e01b82526004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610172575f91610181575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561017d575f906064604051809481936318caf8e360e31b835260018060a01b031696876004840152604060248401525180918160448501528484015e8181018301859052601f01601f1916810103018183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561017257610162575b50602680546001600160a01b0319169190911790556040516201743d9081620001fb8239f35b5f61016c916101d7565b5f61013c565b6040513d5f823e3d90fd5b5f80fd5b90506020813d6020116101bb575b8161019c602093836101d7565b8101031261017d57516001600160a01b038116810361017d575f6100b1565b3d915061018f565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b038211908210176101c35760405256fe6080604052600436101562000012575f80fd5b5f3560e01c806302b69a3714620005c057806304731fb914620005ba57806304cb302414620005b45780630604a0cb14620005ae5780630865907314620005a85780630a9254e414620005a257806313f8beab146200059c5780631535e0ce146200059657806317adc5c414620005905780631857a380146200058a5780631ed7831c14620005845780632091fcb0146200057e57806323e58c8f146200057857806328c7572114620005725780632ade3880146200056c5780632b463e8e14620005665780632d13f423146200056057806330410d2a146200055a578063374d67c3146200055457806337688a55146200054e578063383a925914620005485780633a0beca914620005425780633e1637cf146200053c5780633e5e3c2314620005365780633f7286f4146200053057806341fe9ff4146200052a57806346798b95146200052457806346ee204d146200051e57806350486ba7146200051857806350bbb7a1146200051257806353485062146200050c5780635415a4b014620005065780635457e5bb14620005005780636349dbdb14620004fa57806366d003ac14620004f457806366d9a9a014620004ee5780636dda3c0514620004e85780636ddcc7c514620004e257806373fda24c14620004dc57806375f50bfe14620004d65780637ab42cd314620004d05780637b936a8414620004ca5780637fc4fcce14620004c457806385226c8114620004be578063870d769314620004b8578063879c640314620004525780638c4978ed14620004b2578063904745ef14620004ac578063916a17c614620004a6578063924f1c3214620004a0578063a3b85699146200049a578063a4cacf381462000494578063a4f48230146200048e578063a92b31ce1462000488578063ad2b6d461462000482578063aebb1844146200047c578063b0464fdc1462000476578063b07e16371462000470578063b3a1bcc3146200046a578063b5508aa91462000464578063ba414fa6146200045e578063bcb512781462000458578063bdb9d9801462000452578063bf627174146200044c578063c38159451462000446578063ce6a24721462000440578063d372fdb4146200043a578063d7bf14101462000434578063dc41cc0d146200042e578063e20c9f711462000428578063e534155d1462000422578063e702a118146200041c578063e78db6201462000416578063ed90149e1462000410578063ee40d604146200040a578063ee6afeda1462000404578063f0ce406414620003fe578063f1b7f01f14620003f8578063f7aa752d14620003f2578063f7ccd7e414620003ec5763fa7626d414620003e6575f80fd5b6200ecaf565b6200ea73565b6200e730565b6200e4a8565b6200e0c2565b6200debb565b6200d9df565b6200d806565b6200d6bc565b6200d3a4565b6200d351565b6200d2a2565b6200d14b565b6200cc68565b6200ca38565b6200c7f6565b6200c677565b6200c328565b6200999e565b6200bfda565b6200bf94565b6200bedf565b6200bd1f565b6200b822565b6200b73e565b6200afef565b6200accf565b6200aa98565b6200a8fd565b6200a5ad565b6200a3ff565b6200a2f4565b6200a210565b6200a005565b62009dbf565b62009546565b62009491565b62009237565b62008f31565b62008b28565b62008900565b62008645565b6200848d565b62008010565b62007f39565b62007dec565b62007c24565b62007b19565b62007433565b620071d2565b62006dba565b62006a20565b6200692f565b620063b0565b62006215565b62006166565b620060b7565b62005cca565b62005758565b62005445565b62004f22565b62004c8c565b620048c9565b620045f7565b620043e0565b620042fc565b62003f0a565b62003c79565b62003867565b620037a7565b620033d4565b6200301b565b620029e0565b6200260a565b62001c97565b62001796565b62001066565b62000cb2565b62000a95565b620005d5565b5f910312620005d157565b5f80fd5b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620006426200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b6026546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482018190529091602090839060249082905afa91821562000a1b575f9262000a58575b506200079d90620007ca620006bc6200ee1f565b620006e06200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200071a6024826200ed75565b62000744620007286200edd2565b73ffffffffffffffffffffffffffffffffffffffff9093168352565b5f602083015260408201526200075a826200efd0565b5262000766816200efd0565b506040519384917f82ad56cb000000000000000000000000000000000000000000000000000000006020840152602483016200f006565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018452836200ed75565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762000a40575b50620008e06200088162000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517ffb8f41b200000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90911660248201525f6044820152606481019390935282608481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200093692604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620009e8925f9262000a21575b50601f546200098d9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b620009b16200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b836040518096819582947f7a7eeb4f000000000000000000000000000000000000000000000000000000008452600484016200f2be565b03925af1801562000a1b57620009fa57005b62000a19903d805f833e62000a1081836200ed75565b8101906200f165565b005b6200edc7565b8062000a328462000a39936200ed75565b80620005c6565b5f62000965565b8062000a325f62000a51936200ed75565b5f62000854565b6200079d91925062000a859060203d60201162000a8d575b62000a7c81836200ed75565b8101906200edb7565b9190620006a8565b503d62000a70565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac57829162000b639162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b576200079d9062000b81620006bc6200ee1f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f6920aa0f000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b57620009e8935f9362000c94575b5073ffffffffffffffffffffffffffffffffffffffff8362000c5b62000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b92604051968795869485937f7a7eeb4f00000000000000000000000000000000000000000000000000000000855216600484016200f2be565b8062000a328562000ca5936200ed75565b5f62000c1c565b6200ecf1565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200104e575b5062000e6b62000e9862000da66200ee1f565b62000dca6200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262000e046024826200ed75565b62000e12620007286200edd2565b5f6020830152604082015262000e28826200efd0565b5262000e34816200efd0565b506040519283917f82ad56cb000000000000000000000000000000000000000000000000000000006020840152602483016200f006565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826200ed75565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57670de0b6b3a7640000925f9262000fab9262001036575b50601f5462000f749060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906040519485809481937fa9baaaf5000000000000000000000000000000000000000000000000000000008352600483016200f2ed565b03925af1801562000a1b576200101a575b62000fef62000fe862000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b316201015f565b62000a196200101360265473ffffffffffffffffffffffffffffffffffffffff1690565b31620101ed565b62001030903d805f833e62000a1081836200ed75565b62000fbc565b8062000a328562001047936200ed75565b5f62000f4c565b8062000a325f6200105f936200ed75565b5f62000d93565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620010ba6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152681043561a88293000006024820152905f908290604490829084905af1801562000a1b576200177e575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620011b460048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762001766575b5061030173ffffffffffffffffffffffffffffffffffffffff620012186200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b167ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae6040518062001256819068068155a43676e00000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620012c460048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200174e575b50620013106200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b6103026809c2007651b2500000917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab773ffffffffffffffffffffffffffffffffffffffff604051921691806200136b86829190602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620013d960048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762001736575b50620014256200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b6103026103016040517fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff8516918062001496888291906040606084019368068155a43676e00000815268068155a43676e0000060208201520152565b0390a4620014c1620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4784226e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff929092166004830152610301602483015268068155a43676e00000604483015261030260648301525f908290608490829084905af1801562000a1b576200171e575b506200156b6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b90620015e160206200159260275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015291829081906024820190565b0381865afa801562000a1b5762001601915f91620016fa575b506201015f565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526103016004820152602081602481865afa801562000a1b5762001653915f91620016d6575b5062010281565b602060405180937f70a082310000000000000000000000000000000000000000000000000000000082528180620016936004820190610302602083019252565b03915afa801562000a1b5762000a19925f91620016b2575b5062010687565b620016cf915060203d60201162000a8d5762000a7c81836200ed75565b83620016ab565b620016f3915060203d60201162000a8d5762000a7c81836200ed75565b846200164c565b62001717915060203d60201162000a8d5762000a7c81836200ed75565b84620015fa565b8062000a325f6200172f936200ed75565b8162001546565b8062000a325f62001747936200ed75565b8162001400565b8062000a325f6200175f936200ed75565b80620012eb565b8062000a325f62001777936200ed75565b80620011db565b8062000a325f6200178f936200ed75565b8062001148565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac578291620018649162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac5783620018d091849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811562000a1b57803b15620005d1576040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152683635c9adc5dea0000060248201525f8160448183865af1801562000a1b5762001c7f575b50620019c260206200196462000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152683635c9adc5dea00000602482015291829081906044820190565b03815f865af1801562000a1b5762001c4b575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262001a3c816064810162000e6b565b73ffffffffffffffffffffffffffffffffffffffff62001a7962000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b931692803b15620005d15762001ac55f929183926040519485809481937fc5e5153b0000000000000000000000000000000000000000000000000000000083528a8a600485016200f3cb565b03925af1801562000a1b5762001c33575b506040517f829a86d9000000000000000000000000000000000000000000000000000000008152602081600481865afa801562000a1b5762001b21915f9162001bed575b5062010317565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529160208380602481015b0381855afa91821562000a1b5762001b7e60209362001bcf955f9162001c1157506201015f565b60405180809581947f70a082310000000000000000000000000000000000000000000000000000000083526004830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b03915afa801562000a1b5762000a19915f9162001bed575062010317565b62001c0a915060203d60201162000a8d5762000a7c81836200ed75565b5f62001b1a565b62001c2c9150853d871162000a8d5762000a7c81836200ed75565b5f620015fa565b8062000a325f62001c44936200ed75565b5f62001ad6565b62001c719060203d60201162001c77575b62001c6881836200ed75565b8101906200f3b4565b620019d5565b503d62001c5c565b8062000a325f62001c90936200ed75565b5f62001935565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040516107c180820182811067ffffffffffffffff82111762000cac578291620120ee833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff62001d1891166200f4e1565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62001d6e91604051809381927fb4d6c782000000000000000000000000000000000000000000000000000000008352600483016200f278565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620025f2575b506040516122c48082019082821067ffffffffffffffff83111762000cac57829162001dde91620128af843973ca11bde05977b3631167028862be2a173976ca11815260200190565b03905ff0801562000a1b5762001e35907fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f55565b60405160a980820182811067ffffffffffffffff82111762000cac57829162014b73833903905ff0801562000a1b5762001eaa9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055565b604051610e0d8082019180831067ffffffffffffffff84111762000cac578062001f4962010e4194848684399060608252600960608301527f4d6f636b546f6b656e0000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f4d544b000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5762001f9a9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006021541617602155565b604051610e8580820182811067ffffffffffffffff82111762000cac57829162014c1c833903905ff0801562000a1b57620020109073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006022541617602255565b604051610e6080820182811067ffffffffffffffff82111762000cac57829162015aa1833903905ff0801562000a1b57620020869073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006023541617602355565b6040519181830183811067ffffffffffffffff82111762000cac5783926200211d9284399060608252600660608301527f53696d706c650000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f534d50000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b57604051906104a09081830183811067ffffffffffffffff82111762000cac5773ffffffffffffffffffffffffffffffffffffffff6200218892859462011c4e86391673ffffffffffffffffffffffffffffffffffffffff16815260200190565b03905ff0801562000a1b57620021d99073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006024541617602455565b60405161028f80820182811067ffffffffffffffff82111762000cac57829162016901833903905ff0801562000a1b576200224f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006025541617602555565b6200228161babe7fffffffffffffffffffffffff00000000000000000000000000000000000000006027541617602755565b620022b260017fffffffffffffffffffffffff00000000000000000000000000000000000000006028541617602855565b60275473ffffffffffffffffffffffffffffffffffffffff16620022fd620022f762000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6200f4e1565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762002356915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620025da575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152678ac7230489e8000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620025c2575b50620024546200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152683635c9adc5dea000006024820152905f908290604490829084905af1801562000a1b57620025aa575b50620025076200062960225473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152683635c9adc5dea000006024820152905f908290818381604481015b03925af1801562000a1b576200259957005b8062000a325f62000a19936200ed75565b8062000a325f620025bb936200ed75565b80620024e2565b8062000a325f620025d3936200ed75565b5f6200242f565b8062000a325f620025eb936200ed75565b5f6200237d565b8062000a325f62002603936200ed75565b5f62001d95565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201526729a2241af62c000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620029c8575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200275760048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620029b0575b506104025f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab760405180620027bf81906729a2241af62c0000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200282d60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762002998575b506104026104015f7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea60405180620028a481906729a2241af62c0000604060608401935f81525f60208201520152565b0390a4620028cf620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1575f60405180927f4784226e0000000000000000000000000000000000000000000000000000000082528183816200292b6004820190610402606060808401935f815261040160208201525f60408201520152565b03925af1801562000a1b5762002980575b6200296462000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b62002972610401316201015f565b62000a1961040231620103ad565b8062000a325f62002991936200ed75565b5f6200293c565b8062000a325f620029a9936200ed75565b5f62002854565b8062000a325f620029c1936200ed75565b5f6200277e565b8062000a325f620029d9936200ed75565b5f620026eb565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762002a346200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b5762003003575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762002feb575b505f602062002c1a62002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b601f5462002bb99060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b6040519485809481937f095ea7b300000000000000000000000000000000000000000000000000000000835260048301602068056bc75e2d631000009193929373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1801562000a1b5762002fc9575b5062000e6b62002dcf62002c3e6200eea1565b62002c626200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262002c9c6024826200ed75565b62002ca66200edd2565b73ffffffffffffffffffffffffffffffffffffffff831681529060016020830152604082015262002cd7836200efd0565b5262002ce3826200efd0565b506040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262002d1e6024826200ed75565b62002d286200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152905f6020830152604082015262002d58836200efe4565b5262002d64826200efe4565b506040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262002d9f6024826200ed75565b62002dad620007286200edd2565b5f6020830152604082015262002dc3826200eff5565b5262000e34816200eff5565b6040517fae701fc40000000000000000000000000000000000000000000000000000000060208201525f60248201529062002e0e82604481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62002e6492604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b5762002f16925f9262002fb1575b50601f5462002ebb9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b62002edf6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b836040518096819582947fa9baaaf5000000000000000000000000000000000000000000000000000000008452600484016200f50b565b03925af1801562000a1b5762002f95575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f90c5013b0000000000000000000000000000000000000000000000000000000081525f8160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200259957005b62002fab903d805f833e62000a1081836200ed75565b62002f27565b8062000a328462002fc2936200ed75565b8362002e93565b62002fe59060203d60201162001c775762001c6881836200ed75565b62002c2b565b8062000a325f62002ffc936200ed75565b8062002b66565b8062000a325f62003014936200ed75565b8062002ac2565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620030556200f48f565b60405161020980820182811067ffffffffffffffff82111762000cac57829162016b90833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff16620030a6816200f4e1565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f620030fd92604051809481927fb4d6c782000000000000000000000000000000000000000000000000000000008352600483016200f278565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b576200315592620033bc575b5062003147620031396200f48f565b60208151910120916200f4e1565b602081519101209062010715565b62000e6b6200316762000da66200ee1f565b62000e6b620032136040517f08c379a0000000000000000000000000000000000000000000000000000000006020820152620031dd8162000e6b6024820160609060208152601e60208201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c757265000060408201520190565b6040519283917fa932c97a000000000000000000000000000000000000000000000000000000006020840152602483016200f0ba565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200326991604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b575f928392620032f892620033a4575b50601f54620032c19060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906040519485809481937f09c5eabe000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b03925af1801562000a1b5762003388575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200336091604051809381927fb4d6c782000000000000000000000000000000000000000000000000000000008352600483016200f278565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200259957005b6200339e903d805f833e62000a1081836200ed75565b62003309565b8062000a3285620033b5936200ed75565b5f62003299565b8062000a325f620033cd936200ed75565b5f6200312a565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620034286200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200373e575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762003726575b505f60206200358662002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762003704575b5062000e6b620036c4620035aa6200eea1565b620035ce6200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620036086024826200ed75565b620036126200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152905f6020830152604082015262003642836200efd0565b526200364e826200efd0565b506040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620036896024826200ed75565b620036936200edd2565b73ffffffffffffffffffffffffffffffffffffffff831681529060016020830152604082015262002d58836200efe4565b6040517fae701fc4000000000000000000000000000000000000000000000000000000006020820152600160248201529062002e0e82604481016200079d565b620037209060203d60201162001c775762001c6881836200ed75565b62003597565b8062000a325f62003737936200ed75565b806200355a565b8062000a325f6200374f936200ed75565b80620034b6565b60206040818301928281528451809452019201905f5b8181106200377a5750505090565b825173ffffffffffffffffffffffffffffffffffffffff168452602093840193909201916001016200376c565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405180602060165491828152019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b8181106200383a57620038368562003829818703826200ed75565b6040519182918262003756565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016200380e565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620038a16200f48f565b60405161020980820182811067ffffffffffffffff82111762000cac57829162016b90833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff620038f291166200f4e1565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200394891604051809381927fb4d6c782000000000000000000000000000000000000000000000000000000008352600483016200f278565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762003c61575b5062000e6b6200398262000da66200ee1f565b620039a66200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b90813b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815230600482015268056bc75e2d631000006024820152915f908390604490829084905af191821562000a1b575f9262003c49575b50602062003abb62003a336200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b601f5462003a5a9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b6040519586809481937f095ea7b300000000000000000000000000000000000000000000000000000000835260048301602068056bc75e2d631000009193929373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af191821562000a1b576200079d9262003c27575b5062003b7b6040517f08c379a000000000000000000000000000000000000000000000000000000000602082015262003b458162000e6b6024820160609060208152601e60208201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c757265000060408201520190565b6040519384917fa932c97a000000000000000000000000000000000000000000000000000000006020840152602483016200f0ba565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62003bd192604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620032f8925f9262000a215750601f546200098d9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b62003c439060203d60201162001c775762001c6881836200ed75565b62003ad2565b8062000a328462003c5a936200ed75565b5f62003a08565b8062000a325f62003c72936200ed75565b5f6200396f565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac57829162003d479162010e4184399060608252600460608301527f5a65726f00000000000000000000000000000000000000000000000000000000608083015260a06020830152600460a08301527f5a45524f0000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b576040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef60248201525f60448201529062003db782606481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f22fbbd6a0000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762003ef2575b50601f5462003e719060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b62003e956200062960245473ffffffffffffffffffffffffffffffffffffffff1690565b90803b15620005d15773ffffffffffffffffffffffffffffffffffffffff5f809462002587604051978896879586947fc5e5153b00000000000000000000000000000000000000000000000000000000865216600485016200f3cb565b8062000a325f62003f03936200ed75565b5f62003e49565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262003fa0816064810162000e6b565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762004187575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f8180602481015b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200416f575b50601f54620041039060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b90620041286200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d15762002587925f92836040518096819582947fc5e5153b000000000000000000000000000000000000000000000000000000008452600484016200f434565b8062000a325f62004180936200ed75565b5f620040db565b8062000a325f62004198936200ed75565b5f62004043565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820190602060408260051b8501019401915f905b8282106200421557505050505090565b9091929395947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08782030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b828110620042b05750505050506020806001929601920192019092919593949562004205565b9091929394602080620042ee837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0876001960301895289516200419f565b97019501939291016200428a565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601e546200433a816200ee06565b906200434a60405192836200ed75565b80825260208201601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b838310620043915760405180620038368782620041e2565b60026020600192604051620043a6816200ed1e565b73ffffffffffffffffffffffffffffffffffffffff8654168152620043cd8587016200f654565b8382015281520192019201919062004379565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620044346200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b604051906104a08083019183831067ffffffffffffffff84111762000cac578392620044809262011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff0801562000a1b57620044956200f6b1565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4daf251f000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b575f938493620045df575b5082620045546200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b92620045d06200457d6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b62000e6b60405193849273ffffffffffffffffffffffffffffffffffffffff60208501987f5b5e6516000000000000000000000000000000000000000000000000000000008a521690602485016200f6ee565b51925af15062000a196200f73b565b8062000a3285620045f0936200ed75565b5f6200452e565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200468d816064810162000e6b565b620046b16200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1575f60405180927f6813d787000000000000000000000000000000000000000000000000000000008252818381620046f860048201906001602083019252565b03925af1801562000a1b57620048b1575b5062000e6b620047806040517f08c379a0000000000000000000000000000000000000000000000000000000006020820152620031dd8162000e6b6024820160609060208152600f60208201527f546172676574207265766572746564000000000000000000000000000000000060408201520190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f620047d691604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762004899575b50601f54620048259060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906200484a6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d15762002587925f92670de0b6b3a76400006040518096819582947fc5e5153b000000000000000000000000000000000000000000000000000000008452600484016200f434565b8062000a325f620048aa936200ed75565b5f620047fd565b8062000a325f620048c2936200ed75565b5f62004709565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac578291620049979162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac578362004a0391849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811562000a1b5760275473ffffffffffffffffffffffffffffffffffffffff16813b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152683635c9adc5dea0000060248201525f8160448183865af1801562000a1b5762004c74575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262004b00816064810162000e6b565b73ffffffffffffffffffffffffffffffffffffffff62004b3d620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b931692803b15620005d15762004b895f929183926040519485809481937f5b5e65160000000000000000000000000000000000000000000000000000000083528a8a600485016200f3cb565b03925af1801562000a1b5762004c5c575b50604051917f829a86d9000000000000000000000000000000000000000000000000000000008352602083600481845afa92831562000a1b5762001b579362004beb915f9162001bed575062010317565b602062004c0d60275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015293849081906024820190565b8062000a325f62004c6d936200ed75565b5f62004b9a565b8062000a325f62004c85936200ed75565b5f62004a99565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262004d22816064810162000e6b565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762004f0a575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f8180602481015b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762004ef2575b5062004e86620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b9062004eab6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d15762002587925f92836040518096819582947f5b5e6516000000000000000000000000000000000000000000000000000000008452600484016200f434565b8062000a325f62004f03936200ed75565b5f62004e5d565b8062000a325f62004f1b936200ed75565b5f62004dc5565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200542d575b505f60206200502162002b926200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b576200540b575b5062000e6b62005110620050456200f76f565b620050696200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620050a36024826200ed75565b620050b1620007286200ede5565b5f60208301525f60408301526060820152620050cd826200efd0565b52620050d9816200efd0565b506040519283917f174dea71000000000000000000000000000000000000000000000000000000006020840152602483016200f7f6565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620053f3575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620053db575b506040517fb25102da0000000000000000000000000000000000000000000000000000000060208201525f6024820152670de0b6b3a7640000604482015290620052b382606481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200530992604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620009e8925f92620053c3575b50601f54620053609060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b620053846200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b670de0b6b3a76400006040518096819582947f7a7eeb4f000000000000000000000000000000000000000000000000000000008452600484016200f2be565b8062000a3284620053d4936200ed75565b5f62005338565b8062000a325f620053ec936200ed75565b5f62005265565b8062000a325f62005404936200ed75565b5f620051c1565b620054279060203d60201162001c775762001c6881836200ed75565b62005032565b8062000a325f6200543e936200ed75565b5f62004ff5565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620054996200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152670de0b6b3a76400006024820152905f908290604490829084905af1801562000a1b5762005740575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200555d816064810162000e6b565b62000e6b620055f16200558d62000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517ffb8f41b200000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90911660248201525f6044820152670de0b6b3a764000060648201529182906084820190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200564791604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762005728575b50601f54620056969060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b90620056bb6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b90620056e06200062960245473ffffffffffffffffffffffffffffffffffffffff1690565b92803b15620005d15762002587935f8094604051968795869485937fc5e5153b000000000000000000000000000000000000000000000000000000008552600485016200f3cb565b8062000a325f62005739936200ed75565b5f6200566e565b8062000a325f62005751936200ed75565b5f620054f6565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620057b6620057b06200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b62010780565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762005cb2575b5062000e6b620059666040516020810190620058d28162000e6b84907fdf6d075bd5269de467163582268e2bb42b2aa2ae7adeb32cdd482ba12b48617e602060408401937f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e281520152565b519020604051928391602083016044917f7f0000000000000000000000000000000000000000000000000000000000000082526001808301527f7f00000000000000000000000000000000000000000000000000000000000000602183015260228201527f5d0000000000000000000000000000000000000000000000000000000000000060428201525f60438201520190565b62005992620022f762000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b90620059b360275473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762005a0b915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762005c9a575b5062005a7e5f8080808062005a606200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b5af162005a6c6200f73b565b5062005a776200f8b4565b9062010817565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762005aef915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762005c82575b5062000e6b62005b9c62005b3f60285473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f2a3ee1260000000000000000000000000000000000000000000000000000000060208201525f60248201819052604482015273ffffffffffffffffffffffffffffffffffffffff90911660648201529182906084820190565b62005bc4620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838162005c0988600483016200f8f1565b03925af1801562000a1b5762005c6a575b62005c4262000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b62000a19620010136200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b8062000a325f62005c7b936200ed75565b8062005c1a565b8062000a325f62005c93936200ed75565b5f62005b16565b8062000a325f62005cab936200ed75565b5f62005a32565b8062000a325f62005cc3936200ed75565b5f62005867565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762005d1e6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200609f575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006087575b505f602062005e7c62002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762006065575b5062000e6b6200602562005ea06200eea1565b62005ec46200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262005efe6024826200ed75565b62005f086200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152905f6020830152604082015262005f38836200efd0565b5262005f44826200efd0565b506040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262005f7f6024826200ed75565b62005f896200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152905f6020830152604082015262005fb9836200efe4565b5262005fc5826200efe4565b506040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620060006024826200ed75565b6200600e620007286200edd2565b60016020830152604082015262002dc3826200eff5565b6040517fae701fc4000000000000000000000000000000000000000000000000000000006020820152600260248201529062002e0e82604481016200079d565b620060819060203d60201162001c775762001c6881836200ed75565b62005e8d565b8062000a325f62006098936200ed75565b8062005e50565b8062000a325f620060b0936200ed75565b8062005dac565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b8181106200613957620038368562003829818703826200ed75565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016200611e565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b818110620061e857620038368562003829818703826200ed75565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201620061cd565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200624f6200fa15565b6040517ffbdc73010000000000000000000000000000000000000000000000000000000060208201527fdeadbeef000000000000000000000000000000000000000000000000000000006024820152620062ad816044810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200630391604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006398575b5062006353620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816200258788600483016200f942565b8062000a325f620063a9936200ed75565b5f6200632a565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762006408620057b06200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006917575b507f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fda7d4af7c5198dba95f03efcb45dd3d19309d5d2ed1fe231bd61e6dbeaa5800560205262000e6b6200659e60405f20604051928391602083016044917f7f0000000000000000000000000000000000000000000000000000000000000082526001808301527f7f00000000000000000000000000000000000000000000000000000000000000602183015260228201527f5d0000000000000000000000000000000000000000000000000000000000000060428201525f60438201520190565b620065ca620022f762000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b90620065eb60275473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762006643915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620068ff575b50620066985f8080808062005a606200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762006709915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620068e7575b5062000e6b6200675962005b3f60285473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620067c460048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620068cf575b5073ffffffffffffffffffffffffffffffffffffffff6200682160285473ffffffffffffffffffffffffffffffffffffffff1690565b165f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab7604051806200685f8190670de0b6b3a7640000602083019252565b0390a36200688a620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838162005c0988600483016200f973565b8062000a325f620068e0936200ed75565b5f620067eb565b8062000a325f620068f8936200ed75565b5f62006730565b8062000a325f62006910936200ed75565b5f6200666a565b8062000a325f62006928936200ed75565b5f620064b9565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1575f80620009e862000e6b620069f9620069776200ee1f565b6200699b6200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620069d56024826200ed75565b620069e3620007286200edd2565b866020830152604082015262000e28826200efd0565b601f54620032c19060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262006ab6816064810162000e6b565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006da2575b5060275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006d8a575b506040517fb25102da0000000000000000000000000000000000000000000000000000000060208201525f6024820152670de0b6b3a7640000604482015262006c58816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62006cae91604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006d72575b5062006cfe620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b9062006d236200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d15762002587925f92670de0b6b3a76400006040518096819582947f5b5e6516000000000000000000000000000000000000000000000000000000008452600484016200f434565b8062000a325f62006d83936200ed75565b5f62006cd5565b8062000a325f62006d9b936200ed75565b5f62006c0b565b8062000a325f62006db3936200ed75565b5f62006b67565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac57829162006e889162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac578362006ef491849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff0801562000a1b57813b15620005d1576040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152683635c9adc5dea0000060248201525f8160448183875af1801562000a1b57620071ba575b5062006f8760206200196462000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b03815f875af1801562000a1b5762007198575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef60248201526101236044820152916200702a83606481015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018552846200ed75565b6040517fb25102da0000000000000000000000000000000000000000000000000000000060208201525f6024820152670de0b6b3a7640000604482015262007076816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f620070cc91604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007180575b50601f546200711b9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b803b15620005d15773ffffffffffffffffffffffffffffffffffffffff670de0b6b3a76400005f9462002587604051978896879586947fc5e5153b0000000000000000000000000000000000000000000000000000000086521690600485016200f3cb565b8062000a325f62007191936200ed75565b5f620070f3565b620071b49060203d60201162001c775762001c6881836200ed75565b62006f9a565b8062000a325f620071cb936200ed75565b5f62006f58565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405160dd80820182811067ffffffffffffffff82111762000cac57829162016d99833903905ff0801562000a1b5760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200741b575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527ff4b3b1bc0000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007403575b506200739e620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517fb8dc491b0000000000000000000000000000000000000000000000000000000081525f6004820181905273ffffffffffffffffffffffffffffffffffffffff939093166024820152919082908183816044810162002587565b8062000a325f62007414936200ed75565b5f62007375565b8062000a325f6200742c936200ed75565b5f620072e2565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620074876200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152681043561a88293000006024820152905f908290604490829084905af1801562000a1b5762007b01575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200758160048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007ae9575b5061030173ffffffffffffffffffffffffffffffffffffffff620075e56200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b167fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf8560405180620076328190681043561a8829300000602060408401936815af1d78b58c40000081520152565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620076a060048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007ad1575b5061030173ffffffffffffffffffffffffffffffffffffffff620077046200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b167ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae60405180620077428190681043561a8829300000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620077b060048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007ab9575b50620077fc6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b6103026103016040517fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff851691806200786c81905f604060608401936815af1d78b58c4000008152681043561a882930000060208201520152565b0390a462007897620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4784226e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015261030160248201526815af1d78b58c40000060448201526103026064820152905f908290608490829084905af1801562000a1b5762007aa1575b50620079406200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b6200796660206200159260275473ffffffffffffffffffffffffffffffffffffffff1690565b0381855afa801562000a1b5762007985915f9162007a7d57506201015f565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526103016004820152602081602481855afa801562000a1b57620079d7915f9162007a59575b5062010441565b602060405180927f70a08231000000000000000000000000000000000000000000000000000000008252818062007a176004820190610302602083019252565b03915afa801562000a1b5762000a19915f9162007a3557506201015f565b62007a52915060203d60201162000a8d5762000a7c81836200ed75565b82620015fa565b62007a76915060203d60201162000a8d5762000a7c81836200ed75565b83620079d0565b62007a9a915060203d60201162000a8d5762000a7c81836200ed75565b83620015fa565b8062000a325f62007ab2936200ed75565b806200791b565b8062000a325f62007aca936200ed75565b80620077d7565b8062000a325f62007ae2936200ed75565b80620076c7565b8062000a325f62007afa936200ed75565b80620075a8565b8062000a325f62007b12936200ed75565b8062007515565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262007baf816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f81806024810162004e36565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762007c6862007c626200fa52565b62010d01565b5062007c736200ee1f565b62007c976200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262007cd16024826200ed75565b62007cdf620007286200edd2565b5f6020830152604082015262007cf5826200efd0565b5262007d01816200efd0565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301525f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b5762000e6b620069f9620009e8925f95869562007dd457506040519283917f82ad56cb000000000000000000000000000000000000000000000000000000006020840152602483016200f006565b8062000a328762007de5936200ed75565b5f62000e34565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157602073ffffffffffffffffffffffffffffffffffffffff60285416604051908152f35b90602080835192838152019201905f5b81811062007e5d5750505090565b82517fffffffff000000000000000000000000000000000000000000000000000000001684526020938401939092019160010162007e4f565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831062007ec957505050505090565b909192939460208062007f29837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951908362007f1883516040845260408401906200419f565b920151908481840391015262007e3f565b9701930193019193929062007eb9565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601b5462007f77816200ee06565b9062007f8760405192836200ed75565b80825260208201601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b83831062007fce576040518062003836878262007e96565b6002602060019260405162007fe3816200ed1e565b62007fee866200f548565b815262007ffd8587016200fa8f565b8382015281520192019201919062007fb6565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac578291620080de9162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac57836200814a91849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811562000a1b57803b15620005d1576040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152683635c9adc5dea0000060248201525f8160448183865af1801562000a1b5762008475575b50620081de60206200196462000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b03815f865af1801562000a1b5762008453575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448083019190915281529173ffffffffffffffffffffffffffffffffffffffff90620082736064856200ed75565b1691823b15620005d1576040517f6813d787000000000000000000000000000000000000000000000000000000008152600160048201525f8160248183885af1801562000a1b576200843b575b5062000e6b620083376040517f08c379a0000000000000000000000000000000000000000000000000000000006020820152620031dd8162000e6b6024820160609060208152600f60208201527f546172676574207265766572746564000000000000000000000000000000000060408201520190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200838d91604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762008423575b50601f54620083dc9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b803b15620005d15762002587935f8094604051968795869485937fc5e5153b000000000000000000000000000000000000000000000000000000008552600485016200f3cb565b8062000a325f62008434936200ed75565b5f620083b4565b8062000a325f6200844c936200ed75565b5f620082c0565b6200846f9060203d60201162001c775762001c6881836200ed75565b620081f1565b8062000a325f62008486936200ed75565b5f620081af565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b62008552620084cf6200ee1f565b620084f36200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200852d6024826200ed75565b6200853b620007286200edd2565b60016020830152604082015262000e28826200efd0565b6040517fae701fc40000000000000000000000000000000000000000000000000000000060208201525f602482015262008590816044810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f620085e691604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57670de0b6b3a7640000925f92620009e892620010365750601f5462000f749060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac578291620087139162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac57836200877f91849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff0801562000a1b57604051917f6e553f65000000000000000000000000000000000000000000000000000000006020840152620087d28362006ffd60248201905f60206040840193606481520152565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f22fbbd6a000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b575f9485948592620088e8575b50620045d0620088946200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b9462000e6b60405193849273ffffffffffffffffffffffffffffffffffffffff60208501987f5b5e6516000000000000000000000000000000000000000000000000000000008a521690602485016200fe4f565b8062000a3284620088f9936200ed75565b5f6200886b565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620089546200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b5762008b10575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762008af8575b505f602062008ab262002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762008ad6575b5062000e6b62002dcf620084cf6200ee1f565b62008af29060203d60201162001c775762001c6881836200ed75565b62008ac3565b8062000a325f62008b09936200ed75565b8062008a86565b8062000a325f62008b21936200ed75565b80620089e2565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac57829162008bf69162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac578362008c6291849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811562000a1b5760275473ffffffffffffffffffffffffffffffffffffffff16813b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152683635c9adc5dea0000060248201525f8160448183865af1801562000a1b5762008f19575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201529162008d60836064810162006ffd565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828062008dcc60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b5773ffffffffffffffffffffffffffffffffffffffff9262008f01575b50169182827f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d916040518062008e8d8160c0907fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef8152683635c9adc5dea000006020820152600460408201526001606082015260a060808201525f60a08201520190565b0390a362008eb8620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d15762004b895f929183926040519485809481937f5b5e65160000000000000000000000000000000000000000000000000000000083528a8a600485016200f3cb565b8062000a325f62008f12936200ed75565b5f62008e0a565b8062000a325f62008f2a936200ed75565b5f62008cf8565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200921f575b5062000e6b620090916200903b60285473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fb8dc491b0000000000000000000000000000000000000000000000000000000060208201525f602482015273ffffffffffffffffffffffffffffffffffffffff90911660448201529182906064820190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620090fc60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762009207575b5073ffffffffffffffffffffffffffffffffffffffff6200915960285473ffffffffffffffffffffffffffffffffffffffff1690565b165f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab760405180620091978190670de0b6b3a7640000602083019252565b0390a3620091c2620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838162005c0988600483016200f942565b8062000a325f62009218936200ed75565b5f62009123565b8062000a325f62009230936200ed75565b5f62009012565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200928b6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b620092af6200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f43f7ed76000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b575f938493620093f8575b508262000e6b620045d0620093766200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f2a3ee12600000000000000000000000000000000000000000000000000000000602082019081527fb30d459a6b00a49186844b25c929ca3bb6dacc26a607cc6fd07c1cd084247c5e602483015273ffffffffffffffffffffffffffffffffffffffff9687166044830152959096166064870152949182906084820190565b8062000a328562009409936200ed75565b5f62009348565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106200944357505050505090565b909192939460208062009481837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0866001960301875289516200419f565b9701930193019193929062009433565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601a54620094cf816200ee06565b90620094df60405192836200ed75565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b83831062009526576040518062003836878262009410565b60016020819262009537856200f548565b8152019201920191906200950e565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762009986575b505f60206200964562002b926200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762009964575b5062000e6b62009669620050456200f76f565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200994c575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762009934575b506040517fb25102da0000000000000000000000000000000000000000000000000000000060208201525f6024820152670de0b6b3a76400006044820152906200980c82606481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200986292604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620009e8925f926200991c575b50601f54620098b99060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b620098dd6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b670de0b6b3a76400006040518096819582947fa9baaaf5000000000000000000000000000000000000000000000000000000008452600484016200f314565b8062000a32846200992d936200ed75565b5f62009891565b8062000a325f62009945936200ed75565b5f620097be565b8062000a325f6200995d936200ed75565b5f6200971a565b620099809060203d60201162001c775762001c6881836200ed75565b62009656565b8062000a325f62009997936200ed75565b5f62009619565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762009da7575b505f602062009a9d62002b926200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762009d85575b5062000e6b62009ac162000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff1690737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301525f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b5762009bf0925f9262009d6d575b50601f5462009b959060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b62009bb96200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b836040518096819582947fa9baaaf5000000000000000000000000000000000000000000000000000000008452600484016200f314565b03925af1801562000a1b5762009d51575b5062009ca362009c2a6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b602062009c5462000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015292839081906024820190565b0381845afa90811562000a1b5762009cca60209262001bcf945f9162009d3657506201015f565b60265473ffffffffffffffffffffffffffffffffffffffff165b9060405180809581947f70a082310000000000000000000000000000000000000000000000000000000083526004830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b62001c2c9150843d861162000a8d5762000a7c81836200ed75565b62009d67903d805f833e62000a1081836200ed75565b62009c01565b8062000a328462009d7e936200ed75565b5f62009b6d565b62009da19060203d60201162001c775762001c6881836200ed75565b62009aae565b8062000a325f62009db8936200ed75565b5f62009a71565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762009e136200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b604051906104a08083019183831067ffffffffffffffff84111762000cac57839262009e5f9262011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff0801562000a1b576040517f6e553f65000000000000000000000000000000000000000000000000000000006020820152631234567860248201525f60448201529062009eb382606481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fcc00c48a000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b575f93849362009fed575b508262009f716200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b92620045d062009f9a6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b62000e6b60405193849273ffffffffffffffffffffffffffffffffffffffff60208501987f5b5e6516000000000000000000000000000000000000000000000000000000008a521690602485016200fe97565b8062000a328562009ffe936200ed75565b5f62009f4b565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200a150575b6200a1245f808080670de0b6b3a76400006200a11162000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b5af16200a11d6200f73b565b5062010888565b62000a196200101362000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b8062000a325f6200a161936200ed75565b5f6200a0d8565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106200a19b57505050505090565b90919293946020806200a200837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff81511684520151918185820152019062007e3f565b970193019301919392906200a18b565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601d546200a24e816200ee06565b906200a25e60405192836200ed75565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b8383106200a2a557604051806200383687826200a168565b600260206001926040516200a2ba816200ed1e565b73ffffffffffffffffffffffffffffffffffffffff86541681526200a2e18587016200fa8f565b838201528152019201920191906200a28d565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200a38a816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f818060248101620040b4565b34620005d1575f5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927fc2add59d0000000000000000000000000000000000000000000000000000000082525afa90811562000a1b575f916200a577575b5073ca11bde05977b3631167028862be2a173976ca1173ffffffffffffffffffffffffffffffffffffffff8216036200a4c3575080f35b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f515361f600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91909116600482015273ca11bde05977b3631167028862be2a173976ca1160248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b576200a569575080f35b62000a1991505f906200ed75565b6200a59e915060203d6020116200a5a5575b6200a59581836200ed75565b8101906200fed8565b5f6200a48c565b503d6200a589565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200a6016200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200a8e5575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200a8cd575b505f60206200a75f62002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b576200a8ab575b5062000e6b6200a783620084cf6200ee1f565b6040517fae701fc40000000000000000000000000000000000000000000000000000000060208201525f6024820152906200a7c282604481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200a81892604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b5762002f16925f926200a893575b50601f546200a86f9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b620009b16200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b8062000a32846200a8a4936200ed75565b836200a847565b6200a8c79060203d60201162001c775762001c6881836200ed75565b6200a770565b8062000a325f6200a8de936200ed75565b806200a733565b8062000a325f6200a8f6936200ed75565b806200a68f565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b6200a93f62000da66200ee1f565b6040517fb25102da000000000000000000000000000000000000000000000000000000006020820152671bc16d674ec800006024820152670de0b6b3a764000060448201526200a993816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200a9e991604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57670de0b6b3a7640000925f92620009e8926200aa80575b50601f546200aa499060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906040519485809481937fa9baaaf5000000000000000000000000000000000000000000000000000000008352600483016200f352565b8062000a32856200aa91936200ed75565b5f6200aa21565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200acb7575b5062000e6b6200ab8c62000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57670de0b6b3a7640000925f9262000fab926200ac9f575b50601f546200ac689060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906040519485809481937f7a7eeb4f000000000000000000000000000000000000000000000000000000008352600483016200f2a5565b8062000a32856200acb0936200ed75565b5f6200ac40565b8062000a325f6200acc8936200ed75565b5f6200ab79565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200afd7575b506040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200ae17816064810162000e6b565b6200ae796200ae3f6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b62000e6b6040519384927f5b5e6516000000000000000000000000000000000000000000000000000000006020850152602484016200f434565b6200aea1620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816200aee688600483016200f942565b03925af1801562000a1b576200afbf575b506200af2062000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b600460206200af486200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b6200af548131620101ed565b604051928380927f829a86d90000000000000000000000000000000000000000000000000000000082525afa801562000a1b5762000a19915f916200af9b575b50620101ed565b6200afb8915060203d60201162000a8d5762000a7c81836200ed75565b826200af94565b8062000a325f6200afd0936200ed75565b806200aef7565b8062000a325f6200afe8936200ed75565b5f6200adb0565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200b047620057b06200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200b726575b5060405160208101906200b15b8162000e6b84907f22567e3a48fac85b16b7bc4ae3c2315dfb6a8eef9615af41d5d5ffa04cd81371602060408401937f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e281520152565b5190206200b18a620022f762000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60275473ffffffffffffffffffffffffffffffffffffffff1660405160a580820182811067ffffffffffffffff82111762000cac57829162016e76833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff6200b1f391166200f4e1565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576200b24c915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200b70e575b506200b2f75f806200b29e6200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517ff71f7a25000000000000000000000000000000000000000000000000000000006020820190815260248201889052600160448301529083906200b2e9816064810162000e6b565b51925af162005a6c6200f73b565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576200b368915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200b6f6575b5062000e6b6200b3b862005b3f60285473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200b42360048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200b6de575b5073ffffffffffffffffffffffffffffffffffffffff6200b48060285473ffffffffffffffffffffffffffffffffffffffff1690565b165f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab7604051806200b4be8190670de0b6b3a7640000602083019252565b0390a36200b4e9620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576200b5305f929183926040519485809481937f4c4e814c000000000000000000000000000000000000000000000000000000008352600483016200f9c4565b03925af1801562000a1b576200b6c6575b506200b5bf60206200b56860275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f667f9d7000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101949094529291829081906044820190565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b5762000a1992620006296200b600926200b6a3945f916200b6a957506201015f565b6200b60c81316201015f565b6200b634620010136200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f22567e3a48fac85b16b7bc4ae3c2315dfb6a8eef9615af41d5d5ffa04cd813716020527f9c7c9f298611b7d8667b6eb576567d73156e4ea63376919907aa1295a2fd9a9e90620109d2565b620104d7565b62001c2c915060203d60201162000a8d5762000a7c81836200ed75565b8062000a325f6200b6d7936200ed75565b5f6200b541565b8062000a325f6200b6ef936200ed75565b5f6200b44a565b8062000a325f6200b707936200ed75565b5f6200b38f565b8062000a325f6200b71f936200ed75565b5f6200b273565b8062000a325f6200b737936200ed75565b5f6200b0f8565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601c546200b77c816200ee06565b906200b78c60405192836200ed75565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106200b7d357604051806200383687826200a168565b600260206001926040516200b7e8816200ed1e565b73ffffffffffffffffffffffffffffffffffffffff86541681526200b80f8587016200fa8f565b838201528152019201920191906200b7bb565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200b8766200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b6026546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820181905291602090829060249082905afa90811562000a1b575f916200bcfb575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301525f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b576200ba14926200bce3575b506020816200b9946200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b601f546200b9bb9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b5f6040518097819582947f095ea7b3000000000000000000000000000000000000000000000000000000008452600484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af191821562000a1b576200079d926200bcc1575b506200ba3a620006bc6200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff1691737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9390931660048401525f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b576200bb69935f926200bca9575b50601f546200bb0e9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b6200bb326200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b836040518097819582947f7a7eeb4f000000000000000000000000000000000000000000000000000000008452600484016200f2be565b03925af191821562000a1b576200bbcf926200bc8d575b506200bba56200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b602062004c0d62000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b0381845afa90811562000a1b576200bbf66020926200bc4b955f9162009d3657506201015f565b6026546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015293849190829081906024820190565b03915afa801562000a1b5762000a19925f916200bc69575062010687565b6200bc86915060203d60201162000a8d5762000a7c81836200ed75565b5f620016ab565b6200bca3903d805f833e62000a1081836200ed75565b6200bb80565b8062000a32846200bcba936200ed75565b5f6200bae6565b6200bcdd9060203d60201162001c775762001c6881836200ed75565b6200ba2b565b8062000a325f6200bcf4936200ed75565b5f6200b96c565b6200bd18915060203d60201162000a8d5762000a7c81836200ed75565b5f6200b8db565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b6200bd6162000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200bec7575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b575f928392620009e8926200ac9f5750601f546200ac689060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b8062000a325f6200bed8936200ed75565b5f6200be04565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576019546200bf1d816200ee06565b906200bf2d60405192836200ed75565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b8383106200bf74576040518062003836878262009410565b6001602081926200bf85856200f548565b8152019201920191906200bf5c565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760206200bfd06200ff06565b6040519015158152f35b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac5782916200c0a89162010e4184399060608252600460608301527f5a65726f00000000000000000000000000000000000000000000000000000000608083015260a06020830152600460a08301527f5a45524f0000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b576040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef60248201525f6044820152906200c11882606481016200079d565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c310575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f22fbbd6a0000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c2f8575b506200c277620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200c29b6200062960245473ffffffffffffffffffffffffffffffffffffffff1690565b90803b15620005d15773ffffffffffffffffffffffffffffffffffffffff5f809462002587604051978896879586947f5b5e651600000000000000000000000000000000000000000000000000000000865216600485016200f3cb565b8062000a325f6200c309936200ed75565b5f6200c24e565b8062000a325f6200c321936200ed75565b5f6200c1bb565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c65f575b506200c42e6200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b31737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200c49a60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c647575b5060285473ffffffffffffffffffffffffffffffffffffffff16906040515f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab773ffffffffffffffffffffffffffffffffffffffff851692806200c5318190670de0b6b3a7640000602083019252565b0390a36200c55c620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517fb8dc491b0000000000000000000000000000000000000000000000000000000081525f6004820181905273ffffffffffffffffffffffffffffffffffffffff94909416602482015292908390604490829084905af190811562000a1b5762000a19926200c629926200c62f575b506200c5fa6200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b316200c62362000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200f379565b620101ed565b8062000a325f6200c640936200ed75565b5f6200c5d5565b8062000a325f6200c658936200ed75565b5f6200c4c1565b8062000a325f6200c670936200ed75565b5f6200c409565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d20000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c7de575b50601f546200c7619060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b60285473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517fb8dc491b0000000000000000000000000000000000000000000000000000000081525f6004820181905273ffffffffffffffffffffffffffffffffffffffff84166024830152909182908183816044810162002587565b8062000a325f6200c7ef936200ed75565b5f6200c739565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b6200c83862000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff1690737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301525f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b576200079d926200ca20575b506200c9746200c90f62000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517ffb8f41b200000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90911660248201525f604482015268056bc75e2d6310000060648201529283906084820190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200c9ca92604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620009e8925f9262009d6d5750601f5462009b959060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b8062000a325f6200ca31936200ed75565b5f6200c8e2565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201526729a2241af62c000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200cc50575b506040517f4784226e0000000000000000000000000000000000000000000000000000000060208201525f60248201526105016044820152670de0b6b3a7640000606482015261050260848201526200cb768160a4810162000e6b565b6200cb9e620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816200cbe388600483016200f942565b03925af1801562000a1b576200cc38575b6200cc1c62000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200cc2a61050131620101ed565b62000a19610502316201055d565b8062000a325f6200cc49936200ed75565b806200cbf4565b8062000a325f6200cc61936200ed75565b5f6200cb19565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200ccbc6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200d133575b506200cd9460206200cd756200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60285473ffffffffffffffffffffffffffffffffffffffff1662009ce4565b03915afa90811562000a1b575f916200d10f575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200ce1460048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200d0f7575b506200ce606200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b906200ce8160285473ffffffffffffffffffffffffffffffffffffffff1690565b9160405173ffffffffffffffffffffffffffffffffffffffff8416907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab773ffffffffffffffffffffffffffffffffffffffff841691806200ceef819068056bc75e2d63100000602083019252565b0390a36200cf1a620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b92833b15620005d1576040517fb8dc491b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152915f908390604490829084905af191821562000a1b576200cfd6926200d0df575b506200cfb36200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b90602062004c0d60285473ffffffffffffffffffffffffffffffffffffffff1690565b0381855afa91821562000a1b576200d066935f936200d0b8575b506020906200d01460275473ffffffffffffffffffffffffffffffffffffffff1690565b9060405180809781947f70a082310000000000000000000000000000000000000000000000000000000083526004830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b03915afa91821562000a1b576200c6236200d08e9362000a19955f916200d09457506201015f565b620105f1565b6200d0b1915060203d60201162000a8d5762000a7c81836200ed75565b86620015fa565b60209193506200d0d790823d841162000a8d5762000a7c81836200ed75565b92906200cff0565b8062000a325f6200d0f0936200ed75565b826200cf8e565b8062000a325f6200d108936200ed75565b816200ce3b565b6200d12c915060203d60201162000a8d5762000a7c81836200ed75565b816200cda8565b8062000a325f6200d144936200ed75565b806200cd4a565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1575f80620009e862000e6b620069f96200d1936200ef22565b6200d1b76200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200d1f16024826200ed75565b6200d1fb6200edd2565b73ffffffffffffffffffffffffffffffffffffffff831681529087602083015260408201526200d22b836200efd0565b526200d237826200efd0565b506040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200d2726024826200ed75565b6200d280620007286200edd2565b86602083015260408201526200d296826200efe4565b5262000e34816200efe4565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b8181106200d32457620038368562003829818703826200ed75565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016200d309565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157602073ffffffffffffffffffffffffffffffffffffffff60275416604051908152f35b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405161045880820182811067ffffffffffffffff82111762000cac57829162016f1b833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152671bc16d674ec8000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200d6a4575b506040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef60248201526101236044820152906200d51882606481016200079d565b5f6200d54162000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6200d5656200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b906200d59f60405195869384937f44c3b4270000000000000000000000000000000000000000000000000000000085526004850162010013565b038183855af191821562000a1b576004926200d5c8915f916200d67c575b5062005a7762010082565b60206200d5ee6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b604051938480927f829a86d90000000000000000000000000000000000000000000000000000000082525afa91821562000a1b5762000a19926200d646915f916200d658575b506200d63f620100bf565b9062010bb3565b316200d65162010122565b9062010c7a565b6200d675915060203d60201162000a8d5762000a7c81836200ed75565b5f6200d634565b6200d69c91503d805f833e6200d69381836200ed75565b8101906200ffd8565b505f6200d5bd565b8062000a325f6200d6b5936200ed75565b5f6200d4b0565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200d7ee575b5062000e6b6200d7c66200903b60285473ffffffffffffffffffffffffffffffffffffffff1690565b620091c2620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b8062000a325f6200d7ff936200ed75565b5f6200d79d565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200d85a6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b6200d87e6200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f43f7ed76000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b575f9384936200d9c7575b508262000e6b620045d06200d9456200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f2a3ee12600000000000000000000000000000000000000000000000000000000602082019081527f4c383bae8897cd5b4ac6de30be57e2e818a5b6a4a77c60122b7b50a8e81c727f602483015273ffffffffffffffffffffffffffffffffffffffff9687166044830152959096166064870152949182906084820190565b8062000a32856200d9d8936200ed75565b5f6200d917565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201526729a2241af62c000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200dea3575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200db2c60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200de8b575b506101015f7ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae604051806200db948190670de0b6b3a7640000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200dc0260048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200de73575b506101025f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab7604051806200dc6a8190671bc16d674ec80000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200dcd860048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200de5b575b506101026101015f7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea604051806200dd5f8190671bc16d674ec8000060406060840193670de0b6b3a76400008152670de0b6b3a764000060208201520152565b0390a46200dd8a620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1575f60405180927f4784226e0000000000000000000000000000000000000000000000000000000082528183816200ddee6004820190610102606060808401935f81526101016020820152670de0b6b3a764000060408201520152565b03925af1801562000a1b576200de43575b6200de2762000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200de3561010131620101ed565b62000a19610102316201055d565b8062000a325f6200de54936200ed75565b5f6200ddff565b8062000a325f6200de6c936200ed75565b5f6200dcff565b8062000a325f6200de84936200ed75565b5f6200dc29565b8062000a325f6200de9c936200ed75565b5f6200db53565b8062000a325f6200deb4936200ed75565b5f6200dac0565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b6200defd62000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e0aa575b506040517fb25102da000000000000000000000000000000000000000000000000000000006020820152670de0b6b3a764000060248201526706f05b59d3b2000060448201526200dff5816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200e04b91604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576706f05b59d3b20000925f92620009e892620010365750601f5462000f749060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b8062000a325f6200e0bb936200ed75565b5f6200dfa0565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201526729a2241af62c000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e490575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200e20f60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e478575b506102015f7ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae604051806200e27781906729a2241af62c0000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200e2e560048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e460575b506102026102015f7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea604051806200e36481905f604060608401936729a2241af62c000081526729a2241af62c000060208201520152565b0390a46200e38f620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1575f60405180927f4784226e0000000000000000000000000000000000000000000000000000000082528183816200e3f36004820190610202606060808401935f815261020160208201526729a2241af62c000060408201520152565b03925af1801562000a1b576200e448575b6200e42c62000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200e43a61020131620103ad565b62000a19610202316201015f565b8062000a325f6200e459936200ed75565b5f6200e404565b8062000a325f6200e471936200ed75565b5f6200e30c565b8062000a325f6200e489936200ed75565b5f6200e236565b8062000a325f6200e4a1936200ed75565b5f6200e1a3565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405160dd80820182811067ffffffffffffffff82111762000cac57829162016d99833903905ff0801562000a1b5760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e718575b506200e5e1620010136200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527ff4b3b1bc000000000000000000000000000000000000000000000000000000006004820152905f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b575f9283926200e700575b506200e69e6200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fb8dc491b00000000000000000000000000000000000000000000000000000000602082019081525f602483015273ffffffffffffffffffffffffffffffffffffffff90931660448201529091908390620045d0816064810162000e6b565b8062000a32846200e711936200ed75565b5f6200e679565b8062000a325f6200e729936200ed75565b5f6200e5b8565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200e7846200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200ea5b575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200ea43575b505f60206200e8e262002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b576200ea21575b5062000e6b62002dcf6200e9066200eea1565b6200e92a6200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200e9646024826200ed75565b6200e96e6200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152906001602083015260408201526200e99f836200efd0565b526200e9ab826200efd0565b506040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200e9e66024826200ed75565b6200e9f06200edd2565b73ffffffffffffffffffffffffffffffffffffffff831681529060016020830152604082015262005fb9836200efe4565b6200ea3d9060203d60201162001c775762001c6881836200ed75565b6200e8f3565b8062000a325f6200ea54936200ed75565b806200e8b6565b8062000a325f6200ea6c936200ed75565b806200e812565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200eb09816064810162000e6b565b601f546200eb309060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906200eb556200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d1576200eba4925f92670de0b6b3a76400006040518096819582947fc5e5153b000000000000000000000000000000000000000000000000000000008452600484016200f434565b03925af1801562000a1b576200ec97575b506200ebda6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f829a86d9000000000000000000000000000000000000000000000000000000008152602081600481855afa801562000a1b576200ec23915f916200ec735750620101ed565b604051907ff5632ab4000000000000000000000000000000000000000000000000000000008252602082600481845afa91821562000a1b5762000a199262001013915f916200ec735750620101ed565b6200ec90915060203d60201162000a8d5762000a7c81836200ed75565b5f6200af94565b8062000a325f6200eca8936200ed75565b5f6200ebb5565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157602060ff601f54166040519015158152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff82111762000cac57604052565b6060810190811067ffffffffffffffff82111762000cac57604052565b6080810190811067ffffffffffffffff82111762000cac57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111762000cac57604052565b90816020910312620005d1575190565b6040513d5f823e3d90fd5b604051906200ede36060836200ed75565b565b604051906200ede36080836200ed75565b906200ede360405192836200ed75565b67ffffffffffffffff811162000cac5760051b60200190565b6040805191906200ee3190836200ed75565b60018252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06200ee6360016200ee06565b01905f5b8281106200ee7457505050565b6020906040516200ee85816200ed3b565b5f81525f8382015260606040820152828285010152016200ee67565b604051906200eeb26080836200ed75565b60038252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06200eee460036200ee06565b01905f5b8281106200eef557505050565b6020906040516200ef06816200ed3b565b5f81525f8382015260606040820152828285010152016200eee8565b604051906200ef336060836200ed75565b60028252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06200ef6560026200ee06565b01905f5b8281106200ef7657505050565b6020906040516200ef87816200ed3b565b5f81525f8382015260606040820152828285010152016200ef69565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8051156200efde5760200190565b6200efa3565b8051600110156200efde5760400190565b8051600210156200efde5760600190565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106200f03957505050505090565b90919293946020806200f0aa837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752606060408b5173ffffffffffffffffffffffffffffffffffffffff81511684528581015115158685015201519181604082015201906200419f565b970193019301919392906200f029565b9060206200f0cd9281815201906200419f565b90565b51908115158203620005d157565b67ffffffffffffffff811162000cac57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215620005d1578051906200f133826200f0de565b926200f14360405194856200ed75565b82845260208383010111620005d157815f9260208093018386015e8301015290565b602081830312620005d15780519067ffffffffffffffff8211620005d157019080601f83011215620005d1578151916200f19f836200ee06565b926200f1af60405194856200ed75565b80845260208085019160051b83010191838311620005d15760208101915b8383106200f1dd57505050505090565b825167ffffffffffffffff8111620005d15782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08388030112620005d157604051906200f22e826200ed1e565b6200f23c602084016200f0d0565b825260408301519167ffffffffffffffff8311620005d1576200f268886020809695819601016200f119565b838201528152019201916200f1cd565b9060406200f0cd9273ca11bde05977b3631167028862be2a173976ca11815281602082015201906200419f565b9060406200f0cd925f815281602082015201906200419f565b60409073ffffffffffffffffffffffffffffffffffffffff6200f0cd949316815281602082015201906200419f565b9060606200f0cd925f8152670de0b6b3a7640000602082015281604082015201906200419f565b60609073ffffffffffffffffffffffffffffffffffffffff6200f0cd949316815268056bc75e2d63100000602082015281604082015201906200419f565b9060606200f0cd925f8152671bc16d674ec80000602082015281604082015201906200419f565b919082039182116200f38757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90816020910312620005d1576200f0cd906200f0d0565b93926200f4289073ffffffffffffffffffffffffffffffffffffffff7fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef948160809516885216602087015260a0604087015260a08601906200419f565b93600460608201520152565b92916200f42860809173ffffffffffffffffffffffffffffffffffffffff7fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef945f885216602087015260a0604087015260a08601906200419f565b73ca11bde05977b3631167028862be2a173976ca113b906200f4b1826200f0de565b916200f4c160405193846200ed75565b8083525f6020840173ca11bde05977b3631167028862be2a173976ca113c565b90813b5f6200f4f0826200f0de565b936200f50060405195866200ed75565b82855260208501903c565b60609073ffffffffffffffffffffffffffffffffffffffff6200f0cd9493168152678ac7230489e80000602082015281604082015201906200419f565b90604051915f8154908160011c92600183169081156200f649575b6020851082146200f61c57848752869360208501929081156200f5de57506001146200f59a575b50506200ede3925003836200ed75565b6200f5aa9192505f5260205f2090565b905f915b8483106200f5c657506200ede39350015f806200f58a565b8054828401528693506020909201916001016200f5ae565b90506200ede3959293507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009150168252151560051b015f806200f58a565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f16936200f563565b9081546200f662816200ee06565b926200f67260405194856200ed75565b81845260208401905f5260205f205f915b8383106200f6915750505050565b6001602081926200f6a2856200f548565b8152019201920191906200f683565b604051906200f6c26040836200ed75565b600482527f12345678000000000000000000000000000000000000000000000000000000006020830152565b93926200f72f9073ffffffffffffffffffffffffffffffffffffffff63deadbeef948160809516885216602087015260a0604087015260a08601906200419f565b93602460608201520152565b3d156200f76a573d906200f74f826200f0de565b916200f75f60405193846200ed75565b82523d5f602084013e565b606090565b6040805191906200f78190836200ed75565b60018252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06200f7b360016200ee06565b01905f5b8281106200f7c457505050565b6020906040516200f7d5816200ed58565b5f81525f838201525f6040820152606080820152828285010152016200f7b7565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106200f82957505050505090565b90919293946020806200f8a4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752608060608b5173ffffffffffffffffffffffffffffffffffffffff8151168452858101511515868501526040810151604085015201519181606082015201906200419f565b970193019301919392906200f819565b604051906200f8c56040836200ed75565b601182527f7473746f726520736574206661696c65640000000000000000000000000000006020830152565b9060c06200f0cd927fdf6d075bd5269de467163582268e2bb42b2aa2ae7adeb32cdd482ba12b48617e81525f60208201525f60408201525f60608201525f60808201528160a082015201906200419f565b9060c06200f0cd925f81525f60208201525f60408201525f60608201525f60808201528160a082015201906200419f565b9060c06200f0cd927fda7d4af7c5198dba95f03efcb45dd3d19309d5d2ed1fe231bd61e6dbeaa5800581525f60208201525f60408201525f60608201525f60808201528160a082015201906200419f565b9060c06200f0cd927f22567e3a48fac85b16b7bc4ae3c2315dfb6a8eef9615af41d5d5ffa04cd8137181525f60208201525f60408201525f60608201525f60808201528160a082015201906200419f565b604051906200fa266040836200ed75565b600482527fdeadbeef000000000000000000000000000000000000000000000000000000006020830152565b604051906200fa636040836200ed75565b600382527f656f6100000000000000000000000000000000000000000000000000000000006020830152565b604051815480825290929183906200faae60208301915f5260205f2090565b925f905b8060078301106200fcce576200ede39454918181106200fc90575b8181106200fc58575b8181106200fc20575b8181106200fbe8575b8181106200fbb0575b8181106200fb78575b8181106200fb41575b106200fb13575b5003836200ed75565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f6200fb0a565b602083811b7fffffffff0000000000000000000000000000000000000000000000000000000016855290936001910193016200fb03565b604083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200fafa565b606083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200faf1565b608083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200fae8565b60a083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200fadf565b60c083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200fad6565b926020816200fcc56001938660e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b0193016200facd565b9160089193506101006001916200fe4087546200fd0f838260e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b60c081901b7fffffffff0000000000000000000000000000000000000000000000000000000016602084015260a081901b7fffffffff00000000000000000000000000000000000000000000000000000000166040840152608081901b7fffffffff00000000000000000000000000000000000000000000000000000000166060840152606081901b7fffffffff00000000000000000000000000000000000000000000000000000000166080840152604081901b7fffffffff000000000000000000000000000000000000000000000000000000001660a0840152602081901b7fffffffff000000000000000000000000000000000000000000000000000000001660c08401527fffffffff000000000000000000000000000000000000000000000000000000001660e0830152565b0194019201859293916200fab2565b93926200fe8c9073ffffffffffffffffffffffffffffffffffffffff5f948160809516885216602087015260a0604087015260a08601906200419f565b938260608201520152565b93926200f4289073ffffffffffffffffffffffffffffffffffffffff63deadbeef948160809516885216602087015260a0604087015260a08601906200419f565b90816020910312620005d1575173ffffffffffffffffffffffffffffffffffffffff81168103620005d15790565b60085460ff16156200ff1757600190565b6040517f667f9d7000000000000000000000000000000000000000000000000000000000815260208180600481017f6661696c65640000000000000000000000000000000000000000000000000000846040830192737109709ecfa91a80626ff3989d68f67f5b1dd12d815201520381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811562000a1b575f916200ffb4575b50151590565b6200ffd1915060203d60201162000a8d5762000a7c81836200ed75565b5f6200ffae565b919091604081840312620005d1576200fff1816200f0d0565b92602082015167ffffffffffffffff8111620005d1576200f0cd92016200f119565b9392620100769073ffffffffffffffffffffffffffffffffffffffff7fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef948160a0951688525f602089015216604087015260c0606087015260c08601906200419f565b93600460808201520152565b60405190620100936040836200ed75565b601b82527f44656c656761746563616c6c2073686f756c64207375636365656400000000006020830152565b60405190620100d06060836200ed75565b602a82527f54482062616c616e6365000000000000000000000000000000000000000000006040837f5461726765742073686f756c6420726563656976652077616c6c65742773204560208201520152565b60405190620101336040836200ed75565b601c82527f57616c6c65742073686f756c6420626520737765707420656d707479000000006020830152565b80620101685750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c5400000000000000000000000000000000000000000000000000000000825260048201525f60248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b5f6200ede3916200ed75565b670de0b6b3a76400008103620102005750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152670de0b6b3a764000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b68068155a43676e000008103620102955750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c54000000000000000000000000000000000000000000000000000000008252600482015268068155a43676e0000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b683635c9adc5dea0000081036201032b5750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152683635c9adc5dea0000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b6729a2241af62c00008103620103c05750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c5400000000000000000000000000000000000000000000000000000000825260048201526729a2241af62c000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b681043561a88293000008103620104555750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152681043561a882930000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b60018103620104e35750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152600160248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b671bc16d674ec800008103620105705750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152671bc16d674ec8000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b68056bc75e2d631000008103620106055750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c54000000000000000000000000000000000000000000000000000000008252600482015268056bc75e2d6310000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b81810362010693575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f98296c54000000000000000000000000000000000000000000000000000000008152600481019190915260248101919091525f8180604481015b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b81810362010721575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f7c84c69b000000000000000000000000000000000000000000000000000000008152600481019190915260248101919091525f818060448101620106ed565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15773ffffffffffffffffffffffffffffffffffffffff604051917f70ca10bb0000000000000000000000000000000000000000000000000000000083521660048201525f6024820152600160448201525f8160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620101e15750565b158062010822575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157620106ed915f9160405193849283927fa34edc030000000000000000000000000000000000000000000000000000000084521560048401526040602484015260448301906200419f565b1580620108925750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f0c9fd5810000000000000000000000000000000000000000000000000000000082521560048201525f81602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b156201090e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f746c6f6164206661696c656400000000000000000000000000000000000000006044820152fd5b156201097457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f746c6f61642072657475726e656420696e73756666696369656e7420646174616044820152fd5b620109dd816200f4e1565b91609590620109ef602083016200edf6565b91808352620173736020840139737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62010a5392604051809481927fb4d6c78200000000000000000000000000000000000000000000000000000000835287600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b575f92839262010b9b575b5060405162010ac28162000e6b60208201947f8eaa6ac0000000000000000000000000000000000000000000000000000000008652602483019190602083019252565b5190845afa62010ad16200f73b565b91737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762010b2a935f9160405195869283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b576200f0cd9362010b639262010b83575b5062010906565b62010b736020825110156201096c565b602080825183010191016200edb7565b8062000a325f62010b94936200ed75565b5f62010b5c565b8062000a328462010bac936200ed75565b5f62010a7f565b671bc16d674ec80000810362010bc7575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762010c3a915f9160405193849283927f88b44c850000000000000000000000000000000000000000000000000000000084526004840152671bc16d674ec8000060248401526060604484015260648301906200419f565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b5762010c625750565b8062010c705f80936200ed75565b800312620005d157565b8062010c84575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157620106ed915f9160405193849283927f88b44c8500000000000000000000000000000000000000000000000000000000845260048401528460248401526060604484015260648301906200419f565b805191908290602001825e015f815290565b90604051602081019062010d1b8162000e6b848762010cef565b51902090604051927fffa186490000000000000000000000000000000000000000000000000000000084526020848062010d5d86600483019190602083019252565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa93841562000a1b575f9462010e1a575b5083737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762010de0915f9160405193849283927fc657c718000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762010e095750565b8062000a325f6200ede3936200ed75565b62010e3891945060203d6020116200a5a5576200a59581836200ed75565b925f62010d8656fe60806040523461033057610e0d8038038061001981610334565b9283398101906060818303126103305780516001600160401b0381116103305782610045918301610359565b60208201519092906001600160401b03811161033057604091610069918401610359565b91015160ff81168091036103305782516001600160401b03811161024157600354600181811c91168015610326575b602082101461022357601f81116102c3575b506020601f821160011461026057819293945f92610255575b50508160011b915f199060031b1c1916176003555b81516001600160401b03811161024157600454600181811c91168015610237575b602082101461022357601f81116101c0575b50602092601f821160011461015f57928192935f92610154575b50508160011b915f199060031b1c1916176004555b60ff196005541617600555604051610a6290816103ab8239f35b015190505f80610125565b601f1982169360045f52805f20915f5b8681106101a85750836001959610610190575b505050811b0160045561013a565b01515f1960f88460031b161c191690555f8080610182565b9192602060018192868501518155019401920161016f565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c81019160208410610219575b601f0160051c01905b81811061020e575061010b565b5f8155600101610201565b90915081906101f8565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100f9565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100c3565b601f1982169060035f52805f20915f5b8181106102ab57509583600195969710610293575b505050811b016003556100d8565b01515f1960f88460031b161c191690555f8080610285565b9192602060018192868b015181550194019201610270565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c8101916020841061031c575b601f0160051c01905b81811061031157506100aa565b5f8155600101610304565b90915081906102fb565b90607f1690610098565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761024157604052565b81601f82011215610330578051906001600160401b03821161024157610388601f8301601f1916602001610334565b928284526020838301011161033057815f9260208093018386015e830101529056fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461077757508063095ea7b3146106ca57806318160ddd1461068f57806323b872dd146104fb578063313ce567146104bd57806340c10f19146103be57806370a082311461035c57806395d89b4114610169578063a9059cbb1461011a5763dd62ed3e1461008a575f80fd5b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576100c16108f0565b73ffffffffffffffffffffffffffffffffffffffff6100de610913565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101165761015e6101546108f0565b6024359033610936565b602060405160018152f35b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576040515f600454908160011c60018316928315610352575b6020821084146103255781855284939081156102c5575060011461024b575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761021e5761021a829182604052826108a8565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106102a957505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101ce565b6020919350806001915483858801015201910190918392610275565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090506101ce565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f16906101af565b346101165760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101165773ffffffffffffffffffffffffffffffffffffffff6103a86108f0565b165f525f602052602060405f2054604051908152f35b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576103f56108f0565b73ffffffffffffffffffffffffffffffffffffffff16602435811561049157600254908082018092116104645760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011657602060ff60055416604051908152f35b346101165760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576105326108f0565b61053a610913565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106105b6575b5061015e9350610936565b83811061065b57841561062f5733156106035761015e945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f2091039055846105ab565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576020600254604051908152f35b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576107016108f0565b60243590331561062f5773ffffffffffffffffffffffffffffffffffffffff1690811561060357335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116575f600354908160011c6001831692831561089e575b6020821084146103255781855284939081156102c55750600114610824575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761021e5761021a829182604052826108a8565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061088257505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101ce565b602091935080600191548385880101520191019091839261084e565b90607f16906107ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011657565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011657565b73ffffffffffffffffffffffffffffffffffffffff16908115610a005773ffffffffffffffffffffffffffffffffffffffff1691821561049157815f525f60205260405f20548181106109ce57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffdfea2646970667358221220cebe9d271f663eb56aba81c7274ebae25e1a809741756e03a398137806df3e1964736f6c634300081e0033608034607f57601f6104a038819003918201601f19168301916001600160401b03831184841017608357808492602094604052833981010312607f57516001600160a01b0381168103607f5760018054610100600160a81b03191660089290921b610100600160a81b031691909117905560405161040890816100988239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f3560e01c9081636813d787146103655781636e553f651461012557508063829a86d9146100eb578063d3072d82146100ab5763fc0c546a14610053575f80fd5b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a757602073ffffffffffffffffffffffffffffffffffffffff60015460081c16604051908152f35b5f80fd5b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a757602060ff600154166040519015158152f35b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a75760205f54604051908152f35b346100a75760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a7576004359060243573ffffffffffffffffffffffffffffffffffffffff8116036100a7576001549060ff8216610309575073ffffffffffffffffffffffffffffffffffffffff90825f5560081c1690816101a957005b5f91606460209260405194859384927f23b872dd00000000000000000000000000000000000000000000000000000000845233600485015230602485015260448401525af19081156102fe575f91610262575b501561020457005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433230207472616e7366657246726f6d206661696c6564000000000000006044820152fd5b905060203d6020116102f7575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f820116820182811067ffffffffffffffff8211176102ca576020918391604052810103126100a7575180151581036100a757816101fc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b503d61026f565b6040513d5f823e3d90fd5b807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152600f60248201527f54617267657420726576657274656400000000000000000000000000000000006044820152fd5b346100a75760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a7576004358015158091036100a75760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600154169116176001555f80f3fea2646970667358221220743a172d6fb225dce39c03b6fc94b2006c3c5313ca5971aef4fd0a39b136f4e464736f6c634300081e0033608080604052346015576107a7908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163174dea71146102ee57508063678d2204146102af57806382ad56cb146100b75763a5aa5c1214610048575f80fd5b346100b35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b3576004358015158091036100b35760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f54169116175f555f80f35b5f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b35760043567ffffffffffffffff81116100b357610101903690600401610449565b60ff5f54166102505790610114826105e8565b905f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301915b8481101561023e578060051b820135838112156100b35782016101c260205f8061016785610658565b816101756040880188610679565b9190826040519384928337810182815203925af1926101926106ca565b9361019b61053f565b90159485158252838201526101b0868a610723565b526101bb8589610723565b5001610764565b159081610236575b506101d75760010161013e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606490fd5b9050866101ca565b6040518061024c868261047a565b0390f35b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152606490fd5b346100b3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b357602060ff5f54166040519015158152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b35760043567ffffffffffffffff81116100b357610338903690600401610449565b909160ff5f54166103ed57509061034e826105e8565b905f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8181360301915b8481101561023e578060051b820135838112156100b35782016103d060205f806103a185610658565b6103ae6060870187610679565b90816040519283928337810184815203916040880135905af1926101926106ca565b1590816103e5575b506101d757600101610378565b9050866103d8565b7f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152606490fd5b9181601f840112156100b35782359167ffffffffffffffff83116100b3576020808501948460051b0101116100b357565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106104ac57505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f858286010152011601019701930193019193929061049d565b604051906040820182811067ffffffffffffffff82111761055f57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761055f57604052565b67ffffffffffffffff811161055f5760051b60200190565b906105fa6105f5836105d0565b61058c565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061062882946105d0565b01905f5b82811061063857505050565b60209061064361053f565b5f81526060838201528282850101520161062c565b3573ffffffffffffffffffffffffffffffffffffffff811681036100b35790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100b3570180359067ffffffffffffffff82116100b3576020019181360383136100b357565b3d1561071e573d9067ffffffffffffffff821161055f5761071260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160161058c565b9182523d5f602084013e565b606090565b80518210156107375760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b3580151581036100b3579056fea2646970667358221220d15ba587833d285de2ae313b5bc0b60766daf63461a11d37ec63afc45d49b39d64736f6c634300081e0033610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033608080604052346013576091908160188239f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c635e01eb5a146023575f80fd5b346057575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605757602090338152f35b5f80fdfea26469706673582212205f55ad5e47296d566efef322f8f119c6af20cacbd4f659718157eeac617e410164736f6c634300081e003360806040523461032457604080519081016001600160401b03811182821017610237576040908152600d82526c2330b4b634b733902a37b5b2b760991b602083015280519081016001600160401b038111828210176102375760405260048152631190525360e21b602082015281516001600160401b03811161023757600354600181811c9116801561031a575b602082101461021957601f81116102b7575b50602092601f821160011461025657928192935f9261024b575b50508160011b915f199060031b1c1916176003555b80516001600160401b03811161023757600454600181811c9116801561022d575b602082101461021957601f81116101b6575b50602091601f8211600114610156579181925f9261014b575b50508160011b915f199060031b1c1916176004555b601260ff196005541617600555604051610b5c90816103298239f35b015190505f8061011a565b601f1982169260045f52805f20915f5b85811061019e57508360019510610186575b505050811b0160045561012f565b01515f1960f88460031b161c191690555f8080610178565b91926020600181928685015181550194019201610166565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c8101916020841061020f575b601f0160051c01905b8181106102045750610101565b5f81556001016101f7565b90915081906101ee565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100ef565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100b9565b601f1982169360035f52805f20915f5b86811061029f5750836001959610610287575b505050811b016003556100ce565b01515f1960f88460031b161c191690555f8080610279565b91926020600181928685015181550194019201610266565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c81019160208410610310575b601f0160051c01905b818110610305575061009f565b5f81556001016102f8565b90915081906102ef565b90607f169061008d565b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461075d57508063095ea7b31461065857806318160ddd1461061d57806323b872dd146105c6578063313ce5671461058857806340c10f1914610489578063678d22041461044657806370a08231146103e457806395d89b41146101f1578063a5aa5c121461017f578063a9059cbb146101305763dd62ed3e146100a0575f80fd5b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576100d76108d6565b73ffffffffffffffffffffffffffffffffffffffff6100f46108f9565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5761017461016a6108d6565b6024359033610a30565b602060405160018152f35b3461012c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5760043580151580910361012c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff006005549260081b169116176005555f80f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576040515f600454908160011c600183169283156103da575b6020821084146103ad57818552849390811561034d57506001146102d3575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff8211818310176102a6576102a28291826040528261088e565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b81831061033157505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610256565b60209193508060019154838588010152019101909183926102fd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09050610256565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f1690610237565b3461012c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5773ffffffffffffffffffffffffffffffffffffffff6104306108d6565b165f525f602052602060405f2054604051908152f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c57602060ff60055460081c166040519015158152f35b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576104c06108d6565b73ffffffffffffffffffffffffffffffffffffffff16602435811561055c576002549080820180921161052f5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c57602060ff60055416604051908152f35b3461012c5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5760206106136106026108d6565b61060a6108f9565b6044359161091c565b6040519015158152f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576020600254604051908152f35b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5761068f6108d6565b6024359033156107315773ffffffffffffffffffffffffffffffffffffffff1690811561070557335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c575f600354908160011c60018316928315610884575b6020821084146103ad57818552849390811561034d575060011461080a575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff8211818310176102a6576102a28291826040528261088e565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061086857505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610256565b6020919350806001915483858801015201910190918392610834565b90607f16906107a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b919060ff60055460081c16610a295773ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106109a8575b506109a39350610a30565b600190565b8381106109f5578415610731573315610705576109a3945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f20910390555f610998565b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b5050505f90565b73ffffffffffffffffffffffffffffffffffffffff16908115610afa5773ffffffffffffffffffffffffffffffffffffffff1691821561055c57815f525f60205260405f2054818110610ac857817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffdfea2646970667358221220d7f1f600d0f138887292c901e64abf40dd2e578eb54d0d61232b738a9f4d9e8564736f6c634300081e003360806040523461031357604080519081016001600160401b03811182821017610226576040908152600982526845524332304d6f636b60b81b602083015280519081016001600160401b038111828210176102265760405260048152634532304d60e01b602082015281516001600160401b03811161022657600354600181811c91168015610309575b602082101461020857601f81116102a6575b50602092601f821160011461024557928192935f9261023a575b50508160011b915f199060031b1c1916176003555b80516001600160401b03811161022657600454600181811c9116801561021c575b602082101461020857601f81116101a5575b50602091601f8211600114610145579181925f9261013a575b50508160011b915f199060031b1c1916176004555b604051610b4890816103188239f35b015190505f80610116565b601f1982169260045f52805f20915f5b85811061018d57508360019510610175575b505050811b0160045561012b565b01515f1960f88460031b161c191690555f8080610167565b91926020600181928685015181550194019201610155565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c810191602084106101fe575b601f0160051c01905b8181106101f357506100fd565b5f81556001016101e6565b90915081906101dd565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100eb565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100b5565b601f1982169360035f52805f20915f5b86811061028e5750836001959610610276575b505050811b016003556100ca565b01515f1960f88460031b161c191690555f8080610268565b91926020600181928685015181550194019201610255565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c810191602084106102ff575b601f0160051c01905b8181106102f4575061009b565b5f81556001016102e7565b90915081906102de565b90607f1690610089565b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461088957508063095ea7b3146107dc57806318160ddd146107a157806323b872dd1461060d578063313ce567146105d457806340c10f19146104d557806370a082311461047357806395d89b41146102805780639dc29fac14610174578063a9059cbb146101255763dd62ed3e14610095575f80fd5b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576100cc610a02565b73ffffffffffffffffffffffffffffffffffffffff6100e9610a25565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215761016961015f610a02565b6024359033610a48565b602060405160018152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576101ab610a02565b73ffffffffffffffffffffffffffffffffffffffff6024359116801561025457805f525f60205260405f2054828110610222576020835f947fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef938587528684520360408620558060025403600255604051908152a3005b907fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576040515f600454908160011c60018316928315610469575b60208210841461043c5781855284939081156103dc5750600114610362575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761033557610331829182604052826109ba565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106103c057505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102e5565b602091935080600191548385880101520191019091839261038c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090506102e5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f16906102c6565b346101215760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215773ffffffffffffffffffffffffffffffffffffffff6104bf610a02565b165f525f602052602060405f2054604051908152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215761050c610a02565b73ffffffffffffffffffffffffffffffffffffffff1660243581156105a8576002549080820180921161057b5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157602060405160128152f35b346101215760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157610644610a02565b61064c610a25565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106106c8575b506101699350610a48565b83811061076d57841561074157331561071557610169945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f2091039055846106bd565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576020600254604051908152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157610813610a02565b6024359033156107415773ffffffffffffffffffffffffffffffffffffffff1690811561071557335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121575f600354908160011c600183169283156109b0575b60208210841461043c5781855284939081156103dc5750600114610936575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761033557610331829182604052826109ba565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061099457505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102e5565b6020919350806001915483858801015201910190918392610960565b90607f16906108cc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012157565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012157565b73ffffffffffffffffffffffffffffffffffffffff169081156102545773ffffffffffffffffffffffffffffffffffffffff169182156105a857815f525f60205260405f2054818110610ae057817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffdfea264697066735822122016731caeee7fdd0b7f2f8e0381983d3089fc82963bcb4d2a37da85a078dfcb3064736f6c634300081e003360808060405234601557610275908161001a8239f35b5f80fdfe608080604052600436101561001c575b50361561001a575f80fd5b005b5f3560e01c90816346f6b4e114610185575080636813d78714610118578063829a86d9146100de578063d3072d821461009e5763f5632ab41461005f575f61000f565b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a576020600154604051908152f35b5f80fd5b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a57602060ff600254166040519015158152f35b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760205f54604051908152f35b3461009a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760043580151580910361009a5760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600254169116176002555f80f35b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760243573ffffffffffffffffffffffffffffffffffffffff81160361009a5760ff600254166101e3576004355f5534600155005b807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152600f60248201527f54617267657420726576657274656400000000000000000000000000000000006044820152fdfea264697066735822122042cb4c7788d7f1fd3d3695bef8c3a2fd1390f82e50a41ddf02c4e8b37123a46264736f6c634300081e0033608080604052346015576101ef908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163174dea71146100e057506382ad56cb14610032575f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100dc5760043567ffffffffffffffff81116100dc5761007c903690600401610188565b505060646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152fd5b5f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100dc576004359067ffffffffffffffff82116100dc5761012d6064923690600401610188565b50507f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152fd5b9181601f840112156100dc5782359167ffffffffffffffff83116100dc576020808501948460051b0101116100dc5756fea26469706673582212204d26cfde5cf533afcf5b242bdb62c0cf77307a2a708acad8504413957621ea4564736f6c634300081e00336080806040523460135760c5908160188239f35b5f80fdfe6080806040523615600e575f80fd5b807f08c379a00000000000000000000000000000000000000000000000000000000060849252602060048201526024808201527f526576657274696e6752656365697665723a20726576657274206f6e2072656360448201527f65697665000000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220ca498d30cad9a909a47a4edbbee81be87963eac164101dcb5079346e9be9b95c64736f6c634300081e003360808060405234601357608d908160188239f35b5f80fdfe6004361015600b575f80fd5b5f3560e01c63f71f7a2514601d575f80fd5b3460535760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126053576024356004355d005b5f80fdfea26469706673582212205c3478906b70ed217cacaeb0f98254718dfc00d76a73c3f166ed1357b7f7af5364736f6c634300081e00336080806040523460155761043e908161001a8239f35b5f80fdfe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c80631827c8ae1461017d576344c3b4270361000e5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017957610066610269565b60243573ffffffffffffffffffffffffffffffffffffffff8116809103610179576044359173ffffffffffffffffffffffffffffffffffffffff8316809303610179576064359167ffffffffffffffff8311610179575f936101596100d086953690600401610334565b9161011d60405193849260208401967f5b5e65160000000000000000000000000000000000000000000000000000000088526024850152604484015260a0606484015260c483019061037a565b608435608483015260a43560a4830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261028c565b51915af46101656103d9565b90610175604051928392836103bd565b0390f35b5f80fd5b60e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610179576101af610269565b60c43567ffffffffffffffff8111610179575f916101d283923690600401610334565b6040516101598161023d60208201947f4c4e814c000000000000000000000000000000000000000000000000000000008652602435602484015260443560448401526064356064840152608435608484015260a43560a484015260c060c484015260e483019061037a565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261028c565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361017957565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102cd57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116102cd57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f820112156101795780359061034b826102fa565b92610359604051948561028c565b8284526020838301011161017957815f926020809301838601378301015290565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6040906103d6939215158152816020820152019061037a565b90565b3d15610403573d906103ea826102fa565b916103f8604051938461028c565b82523d5f602084013e565b60609056fea26469706673582212208f8cd33435e9ba924d0905f84e9acaebbe71d9215aac9cc72e2c9b7ffe3106c364736f6c634300081e003360808060405260043610156011575f80fd5b5f3560e01c638eaa6ac0146023575f80fd5b34605b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605b576020906004355c8152f35b5f80fdfea2646970667358221220d05f70bd2d38f77f8aa40d953a00d51886544072540289263de5b716fdf214eb64736f6c634300081e0033a2646970667358221220d12060e3f84111021a59b6013c49733e15c4b359a21944ac0cd504e3417e1ba464736f6c634300081e0033","sourceMap":"4886:54789:64:-:0;;;;;;;3200:4:5;4886:54789:64;;3200:4:5;4886:54789:64;;;3200:4:5;4886:54789:64;3200:4:5;4886:54789:64;;1087:4:16;4886:54789:64;;;1087:4:16;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4886:54789:64;;;;;20624:22:6;;4886:54789:64;;;;;;;;;;;20624:22:6;;;;;;:::i;:::-;4886:54789:64;20614:33:6;;4886:54789:64;;291:59:6;;;;20665:19;;4886:54789:64;20665:19:6;;291:59;4886:54789:64;20665:19:6;20624:22;20665:19;4886:54789:64;20665:19:6;;;;;;;4886:54789:64;20665:19:6;;;-1:-1:-1;20694:20:6;4886:54789:64;20694:20:6;;;;4886:54789:64;;291:59:6;4886:54789:64;;291:59:6;;;;;;;20694:20;;4886:54789:64;;;;;;20694:20:6;;4886:54789:64;20694:20:6;;291:59;4886:54789:64;20624:22:6;291:59;;;4886:54789:64;291:59:6;;;;;;;;;;4886:54789:64;;;;;;;;;1087:4:16;4886:54789:64;-1:-1:-1;;4886:54789:64;291:59:6;;20694:20;;;4886:54789:64;;20694:20:6;;;;;;;;-1:-1:-1;;5388:16:64;4886:54789;;-1:-1:-1;;;;;;4886:54789:64;;;;;;;;;;;;;;;;20694:20:6;4886:54789:64;20694:20:6;;;:::i;:::-;4886:54789:64;20694:20:6;;;4886:54789:64;;291:59:6;4886:54789:64;291:59:6;;;;;20694:20;4886:54789:64;;;20665:19:6;;;4886:54789:64;20665:19:6;;4886:54789:64;20665:19:6;;;;;;4886:54789:64;20665:19:6;;;:::i;:::-;;;291:59;;;;;-1:-1:-1;;;;;4886:54789:64;;291:59:6;;;;20665:19;;;;;;-1:-1:-1;20665:19:6;;4886:54789:64;;;;;;;;;;;;;;;;;-1:-1:-1;;4886:54789:64;;;;-1:-1:-1;;;;;4886:54789:64;;;;;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"6080604052600436101562000012575f80fd5b5f3560e01c806302b69a3714620005c057806304731fb914620005ba57806304cb302414620005b45780630604a0cb14620005ae5780630865907314620005a85780630a9254e414620005a257806313f8beab146200059c5780631535e0ce146200059657806317adc5c414620005905780631857a380146200058a5780631ed7831c14620005845780632091fcb0146200057e57806323e58c8f146200057857806328c7572114620005725780632ade3880146200056c5780632b463e8e14620005665780632d13f423146200056057806330410d2a146200055a578063374d67c3146200055457806337688a55146200054e578063383a925914620005485780633a0beca914620005425780633e1637cf146200053c5780633e5e3c2314620005365780633f7286f4146200053057806341fe9ff4146200052a57806346798b95146200052457806346ee204d146200051e57806350486ba7146200051857806350bbb7a1146200051257806353485062146200050c5780635415a4b014620005065780635457e5bb14620005005780636349dbdb14620004fa57806366d003ac14620004f457806366d9a9a014620004ee5780636dda3c0514620004e85780636ddcc7c514620004e257806373fda24c14620004dc57806375f50bfe14620004d65780637ab42cd314620004d05780637b936a8414620004ca5780637fc4fcce14620004c457806385226c8114620004be578063870d769314620004b8578063879c640314620004525780638c4978ed14620004b2578063904745ef14620004ac578063916a17c614620004a6578063924f1c3214620004a0578063a3b85699146200049a578063a4cacf381462000494578063a4f48230146200048e578063a92b31ce1462000488578063ad2b6d461462000482578063aebb1844146200047c578063b0464fdc1462000476578063b07e16371462000470578063b3a1bcc3146200046a578063b5508aa91462000464578063ba414fa6146200045e578063bcb512781462000458578063bdb9d9801462000452578063bf627174146200044c578063c38159451462000446578063ce6a24721462000440578063d372fdb4146200043a578063d7bf14101462000434578063dc41cc0d146200042e578063e20c9f711462000428578063e534155d1462000422578063e702a118146200041c578063e78db6201462000416578063ed90149e1462000410578063ee40d604146200040a578063ee6afeda1462000404578063f0ce406414620003fe578063f1b7f01f14620003f8578063f7aa752d14620003f2578063f7ccd7e414620003ec5763fa7626d414620003e6575f80fd5b6200ecaf565b6200ea73565b6200e730565b6200e4a8565b6200e0c2565b6200debb565b6200d9df565b6200d806565b6200d6bc565b6200d3a4565b6200d351565b6200d2a2565b6200d14b565b6200cc68565b6200ca38565b6200c7f6565b6200c677565b6200c328565b6200999e565b6200bfda565b6200bf94565b6200bedf565b6200bd1f565b6200b822565b6200b73e565b6200afef565b6200accf565b6200aa98565b6200a8fd565b6200a5ad565b6200a3ff565b6200a2f4565b6200a210565b6200a005565b62009dbf565b62009546565b62009491565b62009237565b62008f31565b62008b28565b62008900565b62008645565b6200848d565b62008010565b62007f39565b62007dec565b62007c24565b62007b19565b62007433565b620071d2565b62006dba565b62006a20565b6200692f565b620063b0565b62006215565b62006166565b620060b7565b62005cca565b62005758565b62005445565b62004f22565b62004c8c565b620048c9565b620045f7565b620043e0565b620042fc565b62003f0a565b62003c79565b62003867565b620037a7565b620033d4565b6200301b565b620029e0565b6200260a565b62001c97565b62001796565b62001066565b62000cb2565b62000a95565b620005d5565b5f910312620005d157565b5f80fd5b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620006426200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b6026546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482018190529091602090839060249082905afa91821562000a1b575f9262000a58575b506200079d90620007ca620006bc6200ee1f565b620006e06200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200071a6024826200ed75565b62000744620007286200edd2565b73ffffffffffffffffffffffffffffffffffffffff9093168352565b5f602083015260408201526200075a826200efd0565b5262000766816200efd0565b506040519384917f82ad56cb000000000000000000000000000000000000000000000000000000006020840152602483016200f006565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018452836200ed75565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762000a40575b50620008e06200088162000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517ffb8f41b200000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90911660248201525f6044820152606481019390935282608481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200093692604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620009e8925f9262000a21575b50601f546200098d9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b620009b16200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b836040518096819582947f7a7eeb4f000000000000000000000000000000000000000000000000000000008452600484016200f2be565b03925af1801562000a1b57620009fa57005b62000a19903d805f833e62000a1081836200ed75565b8101906200f165565b005b6200edc7565b8062000a328462000a39936200ed75565b80620005c6565b5f62000965565b8062000a325f62000a51936200ed75565b5f62000854565b6200079d91925062000a859060203d60201162000a8d575b62000a7c81836200ed75565b8101906200edb7565b9190620006a8565b503d62000a70565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac57829162000b639162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b576200079d9062000b81620006bc6200ee1f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f6920aa0f000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b57620009e8935f9362000c94575b5073ffffffffffffffffffffffffffffffffffffffff8362000c5b62000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b92604051968795869485937f7a7eeb4f00000000000000000000000000000000000000000000000000000000855216600484016200f2be565b8062000a328562000ca5936200ed75565b5f62000c1c565b6200ecf1565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200104e575b5062000e6b62000e9862000da66200ee1f565b62000dca6200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262000e046024826200ed75565b62000e12620007286200edd2565b5f6020830152604082015262000e28826200efd0565b5262000e34816200efd0565b506040519283917f82ad56cb000000000000000000000000000000000000000000000000000000006020840152602483016200f006565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826200ed75565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57670de0b6b3a7640000925f9262000fab9262001036575b50601f5462000f749060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906040519485809481937fa9baaaf5000000000000000000000000000000000000000000000000000000008352600483016200f2ed565b03925af1801562000a1b576200101a575b62000fef62000fe862000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b316201015f565b62000a196200101360265473ffffffffffffffffffffffffffffffffffffffff1690565b31620101ed565b62001030903d805f833e62000a1081836200ed75565b62000fbc565b8062000a328562001047936200ed75565b5f62000f4c565b8062000a325f6200105f936200ed75565b5f62000d93565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620010ba6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152681043561a88293000006024820152905f908290604490829084905af1801562000a1b576200177e575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620011b460048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762001766575b5061030173ffffffffffffffffffffffffffffffffffffffff620012186200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b167ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae6040518062001256819068068155a43676e00000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620012c460048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200174e575b50620013106200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b6103026809c2007651b2500000917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab773ffffffffffffffffffffffffffffffffffffffff604051921691806200136b86829190602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620013d960048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762001736575b50620014256200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b6103026103016040517fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff8516918062001496888291906040606084019368068155a43676e00000815268068155a43676e0000060208201520152565b0390a4620014c1620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4784226e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff929092166004830152610301602483015268068155a43676e00000604483015261030260648301525f908290608490829084905af1801562000a1b576200171e575b506200156b6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b90620015e160206200159260275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015291829081906024820190565b0381865afa801562000a1b5762001601915f91620016fa575b506201015f565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526103016004820152602081602481865afa801562000a1b5762001653915f91620016d6575b5062010281565b602060405180937f70a082310000000000000000000000000000000000000000000000000000000082528180620016936004820190610302602083019252565b03915afa801562000a1b5762000a19925f91620016b2575b5062010687565b620016cf915060203d60201162000a8d5762000a7c81836200ed75565b83620016ab565b620016f3915060203d60201162000a8d5762000a7c81836200ed75565b846200164c565b62001717915060203d60201162000a8d5762000a7c81836200ed75565b84620015fa565b8062000a325f6200172f936200ed75565b8162001546565b8062000a325f62001747936200ed75565b8162001400565b8062000a325f6200175f936200ed75565b80620012eb565b8062000a325f62001777936200ed75565b80620011db565b8062000a325f6200178f936200ed75565b8062001148565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac578291620018649162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac5783620018d091849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811562000a1b57803b15620005d1576040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152683635c9adc5dea0000060248201525f8160448183865af1801562000a1b5762001c7f575b50620019c260206200196462000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152683635c9adc5dea00000602482015291829081906044820190565b03815f865af1801562000a1b5762001c4b575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262001a3c816064810162000e6b565b73ffffffffffffffffffffffffffffffffffffffff62001a7962000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b931692803b15620005d15762001ac55f929183926040519485809481937fc5e5153b0000000000000000000000000000000000000000000000000000000083528a8a600485016200f3cb565b03925af1801562000a1b5762001c33575b506040517f829a86d9000000000000000000000000000000000000000000000000000000008152602081600481865afa801562000a1b5762001b21915f9162001bed575b5062010317565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529160208380602481015b0381855afa91821562000a1b5762001b7e60209362001bcf955f9162001c1157506201015f565b60405180809581947f70a082310000000000000000000000000000000000000000000000000000000083526004830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b03915afa801562000a1b5762000a19915f9162001bed575062010317565b62001c0a915060203d60201162000a8d5762000a7c81836200ed75565b5f62001b1a565b62001c2c9150853d871162000a8d5762000a7c81836200ed75565b5f620015fa565b8062000a325f62001c44936200ed75565b5f62001ad6565b62001c719060203d60201162001c77575b62001c6881836200ed75565b8101906200f3b4565b620019d5565b503d62001c5c565b8062000a325f62001c90936200ed75565b5f62001935565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040516107c180820182811067ffffffffffffffff82111762000cac578291620120ee833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff62001d1891166200f4e1565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62001d6e91604051809381927fb4d6c782000000000000000000000000000000000000000000000000000000008352600483016200f278565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620025f2575b506040516122c48082019082821067ffffffffffffffff83111762000cac57829162001dde91620128af843973ca11bde05977b3631167028862be2a173976ca11815260200190565b03905ff0801562000a1b5762001e35907fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f55565b60405160a980820182811067ffffffffffffffff82111762000cac57829162014b73833903905ff0801562000a1b5762001eaa9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055565b604051610e0d8082019180831067ffffffffffffffff84111762000cac578062001f4962010e4194848684399060608252600960608301527f4d6f636b546f6b656e0000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f4d544b000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5762001f9a9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006021541617602155565b604051610e8580820182811067ffffffffffffffff82111762000cac57829162014c1c833903905ff0801562000a1b57620020109073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006022541617602255565b604051610e6080820182811067ffffffffffffffff82111762000cac57829162015aa1833903905ff0801562000a1b57620020869073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006023541617602355565b6040519181830183811067ffffffffffffffff82111762000cac5783926200211d9284399060608252600660608301527f53696d706c650000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f534d50000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b57604051906104a09081830183811067ffffffffffffffff82111762000cac5773ffffffffffffffffffffffffffffffffffffffff6200218892859462011c4e86391673ffffffffffffffffffffffffffffffffffffffff16815260200190565b03905ff0801562000a1b57620021d99073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006024541617602455565b60405161028f80820182811067ffffffffffffffff82111762000cac57829162016901833903905ff0801562000a1b576200224f9073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006025541617602555565b6200228161babe7fffffffffffffffffffffffff00000000000000000000000000000000000000006027541617602755565b620022b260017fffffffffffffffffffffffff00000000000000000000000000000000000000006028541617602855565b60275473ffffffffffffffffffffffffffffffffffffffff16620022fd620022f762000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6200f4e1565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762002356915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620025da575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152678ac7230489e8000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620025c2575b50620024546200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152683635c9adc5dea000006024820152905f908290604490829084905af1801562000a1b57620025aa575b50620025076200062960225473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152683635c9adc5dea000006024820152905f908290818381604481015b03925af1801562000a1b576200259957005b8062000a325f62000a19936200ed75565b8062000a325f620025bb936200ed75565b80620024e2565b8062000a325f620025d3936200ed75565b5f6200242f565b8062000a325f620025eb936200ed75565b5f6200237d565b8062000a325f62002603936200ed75565b5f62001d95565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201526729a2241af62c000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620029c8575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200275760048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620029b0575b506104025f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab760405180620027bf81906729a2241af62c0000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200282d60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762002998575b506104026104015f7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea60405180620028a481906729a2241af62c0000604060608401935f81525f60208201520152565b0390a4620028cf620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1575f60405180927f4784226e0000000000000000000000000000000000000000000000000000000082528183816200292b6004820190610402606060808401935f815261040160208201525f60408201520152565b03925af1801562000a1b5762002980575b6200296462000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b62002972610401316201015f565b62000a1961040231620103ad565b8062000a325f62002991936200ed75565b5f6200293c565b8062000a325f620029a9936200ed75565b5f62002854565b8062000a325f620029c1936200ed75565b5f6200277e565b8062000a325f620029d9936200ed75565b5f620026eb565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762002a346200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b5762003003575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762002feb575b505f602062002c1a62002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b601f5462002bb99060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b6040519485809481937f095ea7b300000000000000000000000000000000000000000000000000000000835260048301602068056bc75e2d631000009193929373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1801562000a1b5762002fc9575b5062000e6b62002dcf62002c3e6200eea1565b62002c626200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262002c9c6024826200ed75565b62002ca66200edd2565b73ffffffffffffffffffffffffffffffffffffffff831681529060016020830152604082015262002cd7836200efd0565b5262002ce3826200efd0565b506040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262002d1e6024826200ed75565b62002d286200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152905f6020830152604082015262002d58836200efe4565b5262002d64826200efe4565b506040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262002d9f6024826200ed75565b62002dad620007286200edd2565b5f6020830152604082015262002dc3826200eff5565b5262000e34816200eff5565b6040517fae701fc40000000000000000000000000000000000000000000000000000000060208201525f60248201529062002e0e82604481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62002e6492604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b5762002f16925f9262002fb1575b50601f5462002ebb9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b62002edf6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b836040518096819582947fa9baaaf5000000000000000000000000000000000000000000000000000000008452600484016200f50b565b03925af1801562000a1b5762002f95575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f90c5013b0000000000000000000000000000000000000000000000000000000081525f8160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200259957005b62002fab903d805f833e62000a1081836200ed75565b62002f27565b8062000a328462002fc2936200ed75565b8362002e93565b62002fe59060203d60201162001c775762001c6881836200ed75565b62002c2b565b8062000a325f62002ffc936200ed75565b8062002b66565b8062000a325f62003014936200ed75565b8062002ac2565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620030556200f48f565b60405161020980820182811067ffffffffffffffff82111762000cac57829162016b90833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff16620030a6816200f4e1565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f620030fd92604051809481927fb4d6c782000000000000000000000000000000000000000000000000000000008352600483016200f278565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b576200315592620033bc575b5062003147620031396200f48f565b60208151910120916200f4e1565b602081519101209062010715565b62000e6b6200316762000da66200ee1f565b62000e6b620032136040517f08c379a0000000000000000000000000000000000000000000000000000000006020820152620031dd8162000e6b6024820160609060208152601e60208201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c757265000060408201520190565b6040519283917fa932c97a000000000000000000000000000000000000000000000000000000006020840152602483016200f0ba565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200326991604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b575f928392620032f892620033a4575b50601f54620032c19060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906040519485809481937f09c5eabe000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b03925af1801562000a1b5762003388575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200336091604051809381927fb4d6c782000000000000000000000000000000000000000000000000000000008352600483016200f278565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200259957005b6200339e903d805f833e62000a1081836200ed75565b62003309565b8062000a3285620033b5936200ed75565b5f62003299565b8062000a325f620033cd936200ed75565b5f6200312a565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620034286200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200373e575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762003726575b505f60206200358662002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762003704575b5062000e6b620036c4620035aa6200eea1565b620035ce6200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620036086024826200ed75565b620036126200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152905f6020830152604082015262003642836200efd0565b526200364e826200efd0565b506040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620036896024826200ed75565b620036936200edd2565b73ffffffffffffffffffffffffffffffffffffffff831681529060016020830152604082015262002d58836200efe4565b6040517fae701fc4000000000000000000000000000000000000000000000000000000006020820152600160248201529062002e0e82604481016200079d565b620037209060203d60201162001c775762001c6881836200ed75565b62003597565b8062000a325f62003737936200ed75565b806200355a565b8062000a325f6200374f936200ed75565b80620034b6565b60206040818301928281528451809452019201905f5b8181106200377a5750505090565b825173ffffffffffffffffffffffffffffffffffffffff168452602093840193909201916001016200376c565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405180602060165491828152019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b8181106200383a57620038368562003829818703826200ed75565b6040519182918262003756565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016200380e565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620038a16200f48f565b60405161020980820182811067ffffffffffffffff82111762000cac57829162016b90833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff620038f291166200f4e1565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200394891604051809381927fb4d6c782000000000000000000000000000000000000000000000000000000008352600483016200f278565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762003c61575b5062000e6b6200398262000da66200ee1f565b620039a66200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b90813b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815230600482015268056bc75e2d631000006024820152915f908390604490829084905af191821562000a1b575f9262003c49575b50602062003abb62003a336200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b601f5462003a5a9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b6040519586809481937f095ea7b300000000000000000000000000000000000000000000000000000000835260048301602068056bc75e2d631000009193929373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af191821562000a1b576200079d9262003c27575b5062003b7b6040517f08c379a000000000000000000000000000000000000000000000000000000000602082015262003b458162000e6b6024820160609060208152601e60208201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c757265000060408201520190565b6040519384917fa932c97a000000000000000000000000000000000000000000000000000000006020840152602483016200f0ba565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62003bd192604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620032f8925f9262000a215750601f546200098d9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b62003c439060203d60201162001c775762001c6881836200ed75565b62003ad2565b8062000a328462003c5a936200ed75565b5f62003a08565b8062000a325f62003c72936200ed75565b5f6200396f565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac57829162003d479162010e4184399060608252600460608301527f5a65726f00000000000000000000000000000000000000000000000000000000608083015260a06020830152600460a08301527f5a45524f0000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b576040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef60248201525f60448201529062003db782606481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f22fbbd6a0000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762003ef2575b50601f5462003e719060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b62003e956200062960245473ffffffffffffffffffffffffffffffffffffffff1690565b90803b15620005d15773ffffffffffffffffffffffffffffffffffffffff5f809462002587604051978896879586947fc5e5153b00000000000000000000000000000000000000000000000000000000865216600485016200f3cb565b8062000a325f62003f03936200ed75565b5f62003e49565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262003fa0816064810162000e6b565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762004187575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f8180602481015b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200416f575b50601f54620041039060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b90620041286200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d15762002587925f92836040518096819582947fc5e5153b000000000000000000000000000000000000000000000000000000008452600484016200f434565b8062000a325f62004180936200ed75565b5f620040db565b8062000a325f62004198936200ed75565b5f62004043565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820190602060408260051b8501019401915f905b8282106200421557505050505090565b9091929395947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08782030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b828110620042b05750505050506020806001929601920192019092919593949562004205565b9091929394602080620042ee837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0876001960301895289516200419f565b97019501939291016200428a565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601e546200433a816200ee06565b906200434a60405192836200ed75565b80825260208201601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b838310620043915760405180620038368782620041e2565b60026020600192604051620043a6816200ed1e565b73ffffffffffffffffffffffffffffffffffffffff8654168152620043cd8587016200f654565b8382015281520192019201919062004379565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620044346200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b604051906104a08083019183831067ffffffffffffffff84111762000cac578392620044809262011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff0801562000a1b57620044956200f6b1565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4daf251f000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b575f938493620045df575b5082620045546200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b92620045d06200457d6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b62000e6b60405193849273ffffffffffffffffffffffffffffffffffffffff60208501987f5b5e6516000000000000000000000000000000000000000000000000000000008a521690602485016200f6ee565b51925af15062000a196200f73b565b8062000a3285620045f0936200ed75565b5f6200452e565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200468d816064810162000e6b565b620046b16200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1575f60405180927f6813d787000000000000000000000000000000000000000000000000000000008252818381620046f860048201906001602083019252565b03925af1801562000a1b57620048b1575b5062000e6b620047806040517f08c379a0000000000000000000000000000000000000000000000000000000006020820152620031dd8162000e6b6024820160609060208152600f60208201527f546172676574207265766572746564000000000000000000000000000000000060408201520190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f620047d691604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762004899575b50601f54620048259060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906200484a6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d15762002587925f92670de0b6b3a76400006040518096819582947fc5e5153b000000000000000000000000000000000000000000000000000000008452600484016200f434565b8062000a325f620048aa936200ed75565b5f620047fd565b8062000a325f620048c2936200ed75565b5f62004709565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac578291620049979162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac578362004a0391849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811562000a1b5760275473ffffffffffffffffffffffffffffffffffffffff16813b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152683635c9adc5dea0000060248201525f8160448183865af1801562000a1b5762004c74575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262004b00816064810162000e6b565b73ffffffffffffffffffffffffffffffffffffffff62004b3d620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b931692803b15620005d15762004b895f929183926040519485809481937f5b5e65160000000000000000000000000000000000000000000000000000000083528a8a600485016200f3cb565b03925af1801562000a1b5762004c5c575b50604051917f829a86d9000000000000000000000000000000000000000000000000000000008352602083600481845afa92831562000a1b5762001b579362004beb915f9162001bed575062010317565b602062004c0d60275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015293849081906024820190565b8062000a325f62004c6d936200ed75565b5f62004b9a565b8062000a325f62004c85936200ed75565b5f62004a99565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262004d22816064810162000e6b565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762004f0a575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f8180602481015b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762004ef2575b5062004e86620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b9062004eab6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d15762002587925f92836040518096819582947f5b5e6516000000000000000000000000000000000000000000000000000000008452600484016200f434565b8062000a325f62004f03936200ed75565b5f62004e5d565b8062000a325f62004f1b936200ed75565b5f62004dc5565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200542d575b505f60206200502162002b926200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b576200540b575b5062000e6b62005110620050456200f76f565b620050696200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620050a36024826200ed75565b620050b1620007286200ede5565b5f60208301525f60408301526060820152620050cd826200efd0565b52620050d9816200efd0565b506040519283917f174dea71000000000000000000000000000000000000000000000000000000006020840152602483016200f7f6565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620053f3575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620053db575b506040517fb25102da0000000000000000000000000000000000000000000000000000000060208201525f6024820152670de0b6b3a7640000604482015290620052b382606481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200530992604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620009e8925f92620053c3575b50601f54620053609060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b620053846200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b670de0b6b3a76400006040518096819582947f7a7eeb4f000000000000000000000000000000000000000000000000000000008452600484016200f2be565b8062000a3284620053d4936200ed75565b5f62005338565b8062000a325f620053ec936200ed75565b5f62005265565b8062000a325f62005404936200ed75565b5f620051c1565b620054279060203d60201162001c775762001c6881836200ed75565b62005032565b8062000a325f6200543e936200ed75565b5f62004ff5565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620054996200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152670de0b6b3a76400006024820152905f908290604490829084905af1801562000a1b5762005740575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200555d816064810162000e6b565b62000e6b620055f16200558d62000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517ffb8f41b200000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90911660248201525f6044820152670de0b6b3a764000060648201529182906084820190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200564791604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762005728575b50601f54620056969060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b90620056bb6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b90620056e06200062960245473ffffffffffffffffffffffffffffffffffffffff1690565b92803b15620005d15762002587935f8094604051968795869485937fc5e5153b000000000000000000000000000000000000000000000000000000008552600485016200f3cb565b8062000a325f62005739936200ed75565b5f6200566e565b8062000a325f62005751936200ed75565b5f620054f6565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620057b6620057b06200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b62010780565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762005cb2575b5062000e6b620059666040516020810190620058d28162000e6b84907fdf6d075bd5269de467163582268e2bb42b2aa2ae7adeb32cdd482ba12b48617e602060408401937f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e281520152565b519020604051928391602083016044917f7f0000000000000000000000000000000000000000000000000000000000000082526001808301527f7f00000000000000000000000000000000000000000000000000000000000000602183015260228201527f5d0000000000000000000000000000000000000000000000000000000000000060428201525f60438201520190565b62005992620022f762000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b90620059b360275473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762005a0b915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762005c9a575b5062005a7e5f8080808062005a606200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b5af162005a6c6200f73b565b5062005a776200f8b4565b9062010817565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762005aef915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762005c82575b5062000e6b62005b9c62005b3f60285473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f2a3ee1260000000000000000000000000000000000000000000000000000000060208201525f60248201819052604482015273ffffffffffffffffffffffffffffffffffffffff90911660648201529182906084820190565b62005bc4620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838162005c0988600483016200f8f1565b03925af1801562000a1b5762005c6a575b62005c4262000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b62000a19620010136200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b8062000a325f62005c7b936200ed75565b8062005c1a565b8062000a325f62005c93936200ed75565b5f62005b16565b8062000a325f62005cab936200ed75565b5f62005a32565b8062000a325f62005cc3936200ed75565b5f62005867565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762005d1e6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200609f575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006087575b505f602062005e7c62002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762006065575b5062000e6b6200602562005ea06200eea1565b62005ec46200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262005efe6024826200ed75565b62005f086200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152905f6020830152604082015262005f38836200efd0565b5262005f44826200efd0565b506040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262005f7f6024826200ed75565b62005f896200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152905f6020830152604082015262005fb9836200efe4565b5262005fc5826200efe4565b506040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620060006024826200ed75565b6200600e620007286200edd2565b60016020830152604082015262002dc3826200eff5565b6040517fae701fc4000000000000000000000000000000000000000000000000000000006020820152600260248201529062002e0e82604481016200079d565b620060819060203d60201162001c775762001c6881836200ed75565b62005e8d565b8062000a325f62006098936200ed75565b8062005e50565b8062000a325f620060b0936200ed75565b8062005dac565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b8181106200613957620038368562003829818703826200ed75565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016200611e565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b818110620061e857620038368562003829818703826200ed75565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201620061cd565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200624f6200fa15565b6040517ffbdc73010000000000000000000000000000000000000000000000000000000060208201527fdeadbeef000000000000000000000000000000000000000000000000000000006024820152620062ad816044810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200630391604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006398575b5062006353620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816200258788600483016200f942565b8062000a325f620063a9936200ed75565b5f6200632a565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762006408620057b06200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006917575b507f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fda7d4af7c5198dba95f03efcb45dd3d19309d5d2ed1fe231bd61e6dbeaa5800560205262000e6b6200659e60405f20604051928391602083016044917f7f0000000000000000000000000000000000000000000000000000000000000082526001808301527f7f00000000000000000000000000000000000000000000000000000000000000602183015260228201527f5d0000000000000000000000000000000000000000000000000000000000000060428201525f60438201520190565b620065ca620022f762000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b90620065eb60275473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762006643915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620068ff575b50620066985f8080808062005a606200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762006709915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620068e7575b5062000e6b6200675962005b3f60285473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620067c460048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620068cf575b5073ffffffffffffffffffffffffffffffffffffffff6200682160285473ffffffffffffffffffffffffffffffffffffffff1690565b165f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab7604051806200685f8190670de0b6b3a7640000602083019252565b0390a36200688a620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838162005c0988600483016200f973565b8062000a325f620068e0936200ed75565b5f620067eb565b8062000a325f620068f8936200ed75565b5f62006730565b8062000a325f62006910936200ed75565b5f6200666a565b8062000a325f62006928936200ed75565b5f620064b9565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1575f80620009e862000e6b620069f9620069776200ee1f565b6200699b6200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a00000000000000000000000000000000000000000000000000000000602082015260048152620069d56024826200ed75565b620069e3620007286200edd2565b866020830152604082015262000e28826200efd0565b601f54620032c19060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262006ab6816064810162000e6b565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006da2575b5060275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006d8a575b506040517fb25102da0000000000000000000000000000000000000000000000000000000060208201525f6024820152670de0b6b3a7640000604482015262006c58816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62006cae91604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762006d72575b5062006cfe620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b9062006d236200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d15762002587925f92670de0b6b3a76400006040518096819582947f5b5e6516000000000000000000000000000000000000000000000000000000008452600484016200f434565b8062000a325f62006d83936200ed75565b5f62006cd5565b8062000a325f62006d9b936200ed75565b5f62006c0b565b8062000a325f62006db3936200ed75565b5f62006b67565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac57829162006e889162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac578362006ef491849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff0801562000a1b57813b15620005d1576040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152683635c9adc5dea0000060248201525f8160448183875af1801562000a1b57620071ba575b5062006f8760206200196462000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b03815f875af1801562000a1b5762007198575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef60248201526101236044820152916200702a83606481015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018552846200ed75565b6040517fb25102da0000000000000000000000000000000000000000000000000000000060208201525f6024820152670de0b6b3a7640000604482015262007076816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f620070cc91604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007180575b50601f546200711b9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b803b15620005d15773ffffffffffffffffffffffffffffffffffffffff670de0b6b3a76400005f9462002587604051978896879586947fc5e5153b0000000000000000000000000000000000000000000000000000000086521690600485016200f3cb565b8062000a325f62007191936200ed75565b5f620070f3565b620071b49060203d60201162001c775762001c6881836200ed75565b62006f9a565b8062000a325f620071cb936200ed75565b5f62006f58565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405160dd80820182811067ffffffffffffffff82111762000cac57829162016d99833903905ff0801562000a1b5760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200741b575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527ff4b3b1bc0000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007403575b506200739e620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517fb8dc491b0000000000000000000000000000000000000000000000000000000081525f6004820181905273ffffffffffffffffffffffffffffffffffffffff939093166024820152919082908183816044810162002587565b8062000a325f62007414936200ed75565b5f62007375565b8062000a325f6200742c936200ed75565b5f620072e2565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620074876200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152681043561a88293000006024820152905f908290604490829084905af1801562000a1b5762007b01575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200758160048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007ae9575b5061030173ffffffffffffffffffffffffffffffffffffffff620075e56200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b167fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf8560405180620076328190681043561a8829300000602060408401936815af1d78b58c40000081520152565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620076a060048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007ad1575b5061030173ffffffffffffffffffffffffffffffffffffffff620077046200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b167ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae60405180620077428190681043561a8829300000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620077b060048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762007ab9575b50620077fc6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b6103026103016040517fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff851691806200786c81905f604060608401936815af1d78b58c4000008152681043561a882930000060208201520152565b0390a462007897620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4784226e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015261030160248201526815af1d78b58c40000060448201526103026064820152905f908290608490829084905af1801562000a1b5762007aa1575b50620079406200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b6200796660206200159260275473ffffffffffffffffffffffffffffffffffffffff1690565b0381855afa801562000a1b5762007985915f9162007a7d57506201015f565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526103016004820152602081602481855afa801562000a1b57620079d7915f9162007a59575b5062010441565b602060405180927f70a08231000000000000000000000000000000000000000000000000000000008252818062007a176004820190610302602083019252565b03915afa801562000a1b5762000a19915f9162007a3557506201015f565b62007a52915060203d60201162000a8d5762000a7c81836200ed75565b82620015fa565b62007a76915060203d60201162000a8d5762000a7c81836200ed75565b83620079d0565b62007a9a915060203d60201162000a8d5762000a7c81836200ed75565b83620015fa565b8062000a325f62007ab2936200ed75565b806200791b565b8062000a325f62007aca936200ed75565b80620077d7565b8062000a325f62007ae2936200ed75565b80620076c7565b8062000a325f62007afa936200ed75565b80620075a8565b8062000a325f62007b12936200ed75565b8062007515565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef6024820152610123604482015262007baf816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f81806024810162004e36565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762007c6862007c626200fa52565b62010d01565b5062007c736200ee1f565b62007c976200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a0000000000000000000000000000000000000000000000000000000060208201526004815262007cd16024826200ed75565b62007cdf620007286200edd2565b5f6020830152604082015262007cf5826200efd0565b5262007d01816200efd0565b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301525f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b5762000e6b620069f9620009e8925f95869562007dd457506040519283917f82ad56cb000000000000000000000000000000000000000000000000000000006020840152602483016200f006565b8062000a328762007de5936200ed75565b5f62000e34565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157602073ffffffffffffffffffffffffffffffffffffffff60285416604051908152f35b90602080835192838152019201905f5b81811062007e5d5750505090565b82517fffffffff000000000000000000000000000000000000000000000000000000001684526020938401939092019160010162007e4f565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831062007ec957505050505090565b909192939460208062007f29837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951908362007f1883516040845260408401906200419f565b920151908481840391015262007e3f565b9701930193019193929062007eb9565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601b5462007f77816200ee06565b9062007f8760405192836200ed75565b80825260208201601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b83831062007fce576040518062003836878262007e96565b6002602060019260405162007fe3816200ed1e565b62007fee866200f548565b815262007ffd8587016200fa8f565b8382015281520192019201919062007fb6565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac578291620080de9162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac57836200814a91849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811562000a1b57803b15620005d1576040517f40c10f19000000000000000000000000000000000000000000000000000000008152306004820152683635c9adc5dea0000060248201525f8160448183865af1801562000a1b5762008475575b50620081de60206200196462000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b03815f865af1801562000a1b5762008453575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448083019190915281529173ffffffffffffffffffffffffffffffffffffffff90620082736064856200ed75565b1691823b15620005d1576040517f6813d787000000000000000000000000000000000000000000000000000000008152600160048201525f8160248183885af1801562000a1b576200843b575b5062000e6b620083376040517f08c379a0000000000000000000000000000000000000000000000000000000006020820152620031dd8162000e6b6024820160609060208152600f60208201527f546172676574207265766572746564000000000000000000000000000000000060408201520190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200838d91604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762008423575b50601f54620083dc9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b803b15620005d15762002587935f8094604051968795869485937fc5e5153b000000000000000000000000000000000000000000000000000000008552600485016200f3cb565b8062000a325f62008434936200ed75565b5f620083b4565b8062000a325f6200844c936200ed75565b5f620082c0565b6200846f9060203d60201162001c775762001c6881836200ed75565b620081f1565b8062000a325f62008486936200ed75565b5f620081af565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b62008552620084cf6200ee1f565b620084f36200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200852d6024826200ed75565b6200853b620007286200edd2565b60016020830152604082015262000e28826200efd0565b6040517fae701fc40000000000000000000000000000000000000000000000000000000060208201525f602482015262008590816044810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f620085e691604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57670de0b6b3a7640000925f92620009e892620010365750601f5462000f749060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac578291620087139162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac57836200877f91849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff0801562000a1b57604051917f6e553f65000000000000000000000000000000000000000000000000000000006020840152620087d28362006ffd60248201905f60206040840193606481520152565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f22fbbd6a000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b575f9485948592620088e8575b50620045d0620088946200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b9462000e6b60405193849273ffffffffffffffffffffffffffffffffffffffff60208501987f5b5e6516000000000000000000000000000000000000000000000000000000008a521690602485016200fe4f565b8062000a3284620088f9936200ed75565b5f6200886b565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157620089546200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b5762008b10575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762008af8575b505f602062008ab262002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762008ad6575b5062000e6b62002dcf620084cf6200ee1f565b62008af29060203d60201162001c775762001c6881836200ed75565b62008ac3565b8062000a325f62008b09936200ed75565b8062008a86565b8062000a325f62008b21936200ed75565b80620089e2565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac57829162008bf69162010e4184399060608252600460608301527f5465737400000000000000000000000000000000000000000000000000000000608083015260a06020830152600360a08301527f545354000000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff166040516104a080820182811067ffffffffffffffff82111762000cac578362008c6291849362011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811562000a1b5760275473ffffffffffffffffffffffffffffffffffffffff16813b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152683635c9adc5dea0000060248201525f8160448183865af1801562000a1b5762008f19575b506040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201529162008d60836064810162006ffd565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828062008dcc60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b5773ffffffffffffffffffffffffffffffffffffffff9262008f01575b50169182827f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d916040518062008e8d8160c0907fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef8152683635c9adc5dea000006020820152600460408201526001606082015260a060808201525f60a08201520190565b0390a362008eb8620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d15762004b895f929183926040519485809481937f5b5e65160000000000000000000000000000000000000000000000000000000083528a8a600485016200f3cb565b8062000a325f62008f12936200ed75565b5f62008e0a565b8062000a325f62008f2a936200ed75565b5f62008cf8565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200921f575b5062000e6b620090916200903b60285473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fb8dc491b0000000000000000000000000000000000000000000000000000000060208201525f602482015273ffffffffffffffffffffffffffffffffffffffff90911660448201529182906064820190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f8180620090fc60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762009207575b5073ffffffffffffffffffffffffffffffffffffffff6200915960285473ffffffffffffffffffffffffffffffffffffffff1690565b165f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab760405180620091978190670de0b6b3a7640000602083019252565b0390a3620091c2620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838162005c0988600483016200f942565b8062000a325f62009218936200ed75565b5f62009123565b8062000a325f62009230936200ed75565b5f62009012565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200928b6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b620092af6200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f43f7ed76000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b575f938493620093f8575b508262000e6b620045d0620093766200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f2a3ee12600000000000000000000000000000000000000000000000000000000602082019081527fb30d459a6b00a49186844b25c929ca3bb6dacc26a607cc6fd07c1cd084247c5e602483015273ffffffffffffffffffffffffffffffffffffffff9687166044830152959096166064870152949182906084820190565b8062000a328562009409936200ed75565b5f62009348565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106200944357505050505090565b909192939460208062009481837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0866001960301875289516200419f565b9701930193019193929062009433565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601a54620094cf816200ee06565b90620094df60405192836200ed75565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b83831062009526576040518062003836878262009410565b60016020819262009537856200f548565b8152019201920191906200950e565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762009986575b505f60206200964562002b926200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762009964575b5062000e6b62009669620050456200f76f565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200994c575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762009934575b506040517fb25102da0000000000000000000000000000000000000000000000000000000060208201525f6024820152670de0b6b3a76400006044820152906200980c82606481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200986292604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620009e8925f926200991c575b50601f54620098b99060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b620098dd6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b670de0b6b3a76400006040518096819582947fa9baaaf5000000000000000000000000000000000000000000000000000000008452600484016200f314565b8062000a32846200992d936200ed75565b5f62009891565b8062000a325f62009945936200ed75565b5f620097be565b8062000a325f6200995d936200ed75565b5f6200971a565b620099809060203d60201162001c775762001c6881836200ed75565b62009656565b8062000a325f62009997936200ed75565b5f62009619565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762009da7575b505f602062009a9d62002b926200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b5762009d85575b5062000e6b62009ac162000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff1690737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301525f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b5762009bf0925f9262009d6d575b50601f5462009b959060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b62009bb96200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b836040518096819582947fa9baaaf5000000000000000000000000000000000000000000000000000000008452600484016200f314565b03925af1801562000a1b5762009d51575b5062009ca362009c2a6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b602062009c5462000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015292839081906024820190565b0381845afa90811562000a1b5762009cca60209262001bcf945f9162009d3657506201015f565b60265473ffffffffffffffffffffffffffffffffffffffff165b9060405180809581947f70a082310000000000000000000000000000000000000000000000000000000083526004830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b62001c2c9150843d861162000a8d5762000a7c81836200ed75565b62009d67903d805f833e62000a1081836200ed75565b62009c01565b8062000a328462009d7e936200ed75565b5f62009b6d565b62009da19060203d60201162001c775762001c6881836200ed75565b62009aae565b8062000a325f62009db8936200ed75565b5f62009a71565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762009e136200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b604051906104a08083019183831067ffffffffffffffff84111762000cac57839262009e5f9262011c4e853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff0801562000a1b576040517f6e553f65000000000000000000000000000000000000000000000000000000006020820152631234567860248201525f60448201529062009eb382606481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527fcc00c48a000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b575f93849362009fed575b508262009f716200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b92620045d062009f9a6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b62000e6b60405193849273ffffffffffffffffffffffffffffffffffffffff60208501987f5b5e6516000000000000000000000000000000000000000000000000000000008a521690602485016200fe97565b8062000a328562009ffe936200ed75565b5f62009f4b565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200a150575b6200a1245f808080670de0b6b3a76400006200a11162000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b5af16200a11d6200f73b565b5062010888565b62000a196200101362000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b8062000a325f6200a161936200ed75565b5f6200a0d8565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106200a19b57505050505090565b90919293946020806200a200837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff81511684520151918185820152019062007e3f565b970193019301919392906200a18b565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601d546200a24e816200ee06565b906200a25e60405192836200ed75565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b8383106200a2a557604051806200383687826200a168565b600260206001926040516200a2ba816200ed1e565b73ffffffffffffffffffffffffffffffffffffffff86541681526200a2e18587016200fa8f565b838201528152019201920191906200a28d565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200a38a816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f818060248101620040b4565b34620005d1575f5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927fc2add59d0000000000000000000000000000000000000000000000000000000082525afa90811562000a1b575f916200a577575b5073ca11bde05977b3631167028862be2a173976ca1173ffffffffffffffffffffffffffffffffffffffff8216036200a4c3575080f35b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f515361f600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91909116600482015273ca11bde05977b3631167028862be2a173976ca1160248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b576200a569575080f35b62000a1991505f906200ed75565b6200a59e915060203d6020116200a5a5575b6200a59581836200ed75565b8101906200fed8565b5f6200a48c565b503d6200a589565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200a6016200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200a8e5575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200a8cd575b505f60206200a75f62002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b576200a8ab575b5062000e6b6200a783620084cf6200ee1f565b6040517fae701fc40000000000000000000000000000000000000000000000000000000060208201525f6024820152906200a7c282604481016200079d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200a81892604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b5762002f16925f926200a893575b50601f546200a86f9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b620009b16200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b8062000a32846200a8a4936200ed75565b836200a847565b6200a8c79060203d60201162001c775762001c6881836200ed75565b6200a770565b8062000a325f6200a8de936200ed75565b806200a733565b8062000a325f6200a8f6936200ed75565b806200a68f565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b6200a93f62000da66200ee1f565b6040517fb25102da000000000000000000000000000000000000000000000000000000006020820152671bc16d674ec800006024820152670de0b6b3a764000060448201526200a993816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200a9e991604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57670de0b6b3a7640000925f92620009e8926200aa80575b50601f546200aa499060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906040519485809481937fa9baaaf5000000000000000000000000000000000000000000000000000000008352600483016200f352565b8062000a32856200aa91936200ed75565b5f6200aa21565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200acb7575b5062000e6b6200ab8c62000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57670de0b6b3a7640000925f9262000fab926200ac9f575b50601f546200ac689060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906040519485809481937f7a7eeb4f000000000000000000000000000000000000000000000000000000008352600483016200f2a5565b8062000a32856200acb0936200ed75565b5f6200ac40565b8062000a325f6200acc8936200ed75565b5f6200ab79565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200afd7575b506040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200ae17816064810162000e6b565b6200ae796200ae3f6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b62000e6b6040519384927f5b5e6516000000000000000000000000000000000000000000000000000000006020850152602484016200f434565b6200aea1620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816200aee688600483016200f942565b03925af1801562000a1b576200afbf575b506200af2062000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b600460206200af486200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b6200af548131620101ed565b604051928380927f829a86d90000000000000000000000000000000000000000000000000000000082525afa801562000a1b5762000a19915f916200af9b575b50620101ed565b6200afb8915060203d60201162000a8d5762000a7c81836200ed75565b826200af94565b8062000a325f6200afd0936200ed75565b806200aef7565b8062000a325f6200afe8936200ed75565b5f6200adb0565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200b047620057b06200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200b726575b5060405160208101906200b15b8162000e6b84907f22567e3a48fac85b16b7bc4ae3c2315dfb6a8eef9615af41d5d5ffa04cd81371602060408401937f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e281520152565b5190206200b18a620022f762000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60275473ffffffffffffffffffffffffffffffffffffffff1660405160a580820182811067ffffffffffffffff82111762000cac57829162016e76833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff6200b1f391166200f4e1565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576200b24c915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200b70e575b506200b2f75f806200b29e6200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517ff71f7a25000000000000000000000000000000000000000000000000000000006020820190815260248201889052600160448301529083906200b2e9816064810162000e6b565b51925af162005a6c6200f73b565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576200b368915f9160405193849283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200b6f6575b5062000e6b6200b3b862005b3f60285473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200b42360048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200b6de575b5073ffffffffffffffffffffffffffffffffffffffff6200b48060285473ffffffffffffffffffffffffffffffffffffffff1690565b165f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab7604051806200b4be8190670de0b6b3a7640000602083019252565b0390a36200b4e9620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576200b5305f929183926040519485809481937f4c4e814c000000000000000000000000000000000000000000000000000000008352600483016200f9c4565b03925af1801562000a1b576200b6c6575b506200b5bf60206200b56860275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f667f9d7000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101949094529291829081906044820190565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b5762000a1992620006296200b600926200b6a3945f916200b6a957506201015f565b6200b60c81316201015f565b6200b634620010136200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f22567e3a48fac85b16b7bc4ae3c2315dfb6a8eef9615af41d5d5ffa04cd813716020527f9c7c9f298611b7d8667b6eb576567d73156e4ea63376919907aa1295a2fd9a9e90620109d2565b620104d7565b62001c2c915060203d60201162000a8d5762000a7c81836200ed75565b8062000a325f6200b6d7936200ed75565b5f6200b541565b8062000a325f6200b6ef936200ed75565b5f6200b44a565b8062000a325f6200b707936200ed75565b5f6200b38f565b8062000a325f6200b71f936200ed75565b5f6200b273565b8062000a325f6200b737936200ed75565b5f6200b0f8565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157601c546200b77c816200ee06565b906200b78c60405192836200ed75565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106200b7d357604051806200383687826200a168565b600260206001926040516200b7e8816200ed1e565b73ffffffffffffffffffffffffffffffffffffffff86541681526200b80f8587016200fa8f565b838201528152019201920191906200b7bb565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200b8766200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b6026546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820181905291602090829060249082905afa90811562000a1b575f916200bcfb575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301525f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b576200ba14926200bce3575b506020816200b9946200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b601f546200b9bb9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b5f6040518097819582947f095ea7b3000000000000000000000000000000000000000000000000000000008452600484016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af191821562000a1b576200079d926200bcc1575b506200ba3a620006bc6200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff1691737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9390931660048401525f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b576200bb69935f926200bca9575b50601f546200bb0e9060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b6200bb326200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b836040518097819582947f7a7eeb4f000000000000000000000000000000000000000000000000000000008452600484016200f2be565b03925af191821562000a1b576200bbcf926200bc8d575b506200bba56200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b602062004c0d62000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b0381845afa90811562000a1b576200bbf66020926200bc4b955f9162009d3657506201015f565b6026546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015293849190829081906024820190565b03915afa801562000a1b5762000a19925f916200bc69575062010687565b6200bc86915060203d60201162000a8d5762000a7c81836200ed75565b5f620016ab565b6200bca3903d805f833e62000a1081836200ed75565b6200bb80565b8062000a32846200bcba936200ed75565b5f6200bae6565b6200bcdd9060203d60201162001c775762001c6881836200ed75565b6200ba2b565b8062000a325f6200bcf4936200ed75565b5f6200b96c565b6200bd18915060203d60201162000a8d5762000a7c81836200ed75565b5f6200b8db565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b6200bd6162000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200bec7575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f891a31ae0000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b575f928392620009e8926200ac9f5750601f546200ac689060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b8062000a325f6200bed8936200ed75565b5f6200be04565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576019546200bf1d816200ee06565b906200bf2d60405192836200ed75565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b8383106200bf74576040518062003836878262009410565b6001602081926200bf85856200f548565b8152019201920191906200bf5c565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760206200bfd06200ff06565b6040519015158152f35b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157604051610e0d8082019082821067ffffffffffffffff83111762000cac5782916200c0a89162010e4184399060608252600460608301527f5a65726f00000000000000000000000000000000000000000000000000000000608083015260a06020830152600460a08301527f5a45524f0000000000000000000000000000000000000000000000000000000060c08301526012604060e08401930152565b03905ff0801562000a1b576040517f6e553f650000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef60248201525f6044820152906200c11882606481016200079d565b60275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c310575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f22fbbd6a0000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c2f8575b506200c277620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200c29b6200062960245473ffffffffffffffffffffffffffffffffffffffff1690565b90803b15620005d15773ffffffffffffffffffffffffffffffffffffffff5f809462002587604051978896879586947f5b5e651600000000000000000000000000000000000000000000000000000000865216600485016200f3cb565b8062000a325f6200c309936200ed75565b5f6200c24e565b8062000a325f6200c321936200ed75565b5f6200c1bb565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c65f575b506200c42e6200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b31737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200c49a60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c647575b5060285473ffffffffffffffffffffffffffffffffffffffff16906040515f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab773ffffffffffffffffffffffffffffffffffffffff851692806200c5318190670de0b6b3a7640000602083019252565b0390a36200c55c620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517fb8dc491b0000000000000000000000000000000000000000000000000000000081525f6004820181905273ffffffffffffffffffffffffffffffffffffffff94909416602482015292908390604490829084905af190811562000a1b5762000a19926200c629926200c62f575b506200c5fa6200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b316200c62362000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200f379565b620101ed565b8062000a325f6200c640936200ed75565b5f6200c5d5565b8062000a325f6200c658936200ed75565b5f6200c4c1565b8062000a325f6200c670936200ed75565b5f6200c409565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d20000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200c7de575b50601f546200c7619060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b60285473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517fb8dc491b0000000000000000000000000000000000000000000000000000000081525f6004820181905273ffffffffffffffffffffffffffffffffffffffff84166024830152909182908183816044810162002587565b8062000a325f6200c7ef936200ed75565b5f6200c739565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b6200c83862000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff1690737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301525f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b576200079d926200ca20575b506200c9746200c90f62000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6040517ffb8f41b200000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff90911660248201525f604482015268056bc75e2d6310000060648201529283906084820190565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200c9ca92604051809481927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b57620009e8925f9262009d6d5750601f5462009b959060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b8062000a325f6200ca31936200ed75565b5f6200c8e2565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201526729a2241af62c000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200cc50575b506040517f4784226e0000000000000000000000000000000000000000000000000000000060208201525f60248201526105016044820152670de0b6b3a7640000606482015261050260848201526200cb768160a4810162000e6b565b6200cb9e620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816200cbe388600483016200f942565b03925af1801562000a1b576200cc38575b6200cc1c62000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200cc2a61050131620101ed565b62000a19610502316201055d565b8062000a325f6200cc49936200ed75565b806200cbf4565b8062000a325f6200cc61936200ed75565b5f6200cb19565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200ccbc6200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60275473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200d133575b506200cd9460206200cd756200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60285473ffffffffffffffffffffffffffffffffffffffff1662009ce4565b03915afa90811562000a1b575f916200d10f575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200ce1460048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200d0f7575b506200ce606200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b906200ce8160285473ffffffffffffffffffffffffffffffffffffffff1690565b9160405173ffffffffffffffffffffffffffffffffffffffff8416907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab773ffffffffffffffffffffffffffffffffffffffff841691806200ceef819068056bc75e2d63100000602083019252565b0390a36200cf1a620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b92833b15620005d1576040517fb8dc491b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152915f908390604490829084905af191821562000a1b576200cfd6926200d0df575b506200cfb36200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b90602062004c0d60285473ffffffffffffffffffffffffffffffffffffffff1690565b0381855afa91821562000a1b576200d066935f936200d0b8575b506020906200d01460275473ffffffffffffffffffffffffffffffffffffffff1690565b9060405180809781947f70a082310000000000000000000000000000000000000000000000000000000083526004830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b03915afa91821562000a1b576200c6236200d08e9362000a19955f916200d09457506201015f565b620105f1565b6200d0b1915060203d60201162000a8d5762000a7c81836200ed75565b86620015fa565b60209193506200d0d790823d841162000a8d5762000a7c81836200ed75565b92906200cff0565b8062000a325f6200d0f0936200ed75565b826200cf8e565b8062000a325f6200d108936200ed75565b816200ce3b565b6200d12c915060203d60201162000a8d5762000a7c81836200ed75565b816200cda8565b8062000a325f6200d144936200ed75565b806200cd4a565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1575f80620009e862000e6b620069f96200d1936200ef22565b6200d1b76200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200d1f16024826200ed75565b6200d1fb6200edd2565b73ffffffffffffffffffffffffffffffffffffffff831681529087602083015260408201526200d22b836200efd0565b526200d237826200efd0565b506040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200d2726024826200ed75565b6200d280620007286200edd2565b86602083015260408201526200d296826200efe4565b5262000e34816200efe4565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b8181106200d32457620038368562003829818703826200ed75565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016200d309565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157602073ffffffffffffffffffffffffffffffffffffffff60275416604051908152f35b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405161045880820182811067ffffffffffffffff82111762000cac57829162016f1b833903905ff0801562000a1b5773ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152671bc16d674ec8000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200d6a4575b506040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef60248201526101236044820152906200d51882606481016200079d565b5f6200d54162000629601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b6200d5656200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b906200d59f60405195869384937f44c3b4270000000000000000000000000000000000000000000000000000000085526004850162010013565b038183855af191821562000a1b576004926200d5c8915f916200d67c575b5062005a7762010082565b60206200d5ee6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b604051938480927f829a86d90000000000000000000000000000000000000000000000000000000082525afa91821562000a1b5762000a19926200d646915f916200d658575b506200d63f620100bf565b9062010bb3565b316200d65162010122565b9062010c7a565b6200d675915060203d60201162000a8d5762000a7c81836200ed75565b5f6200d634565b6200d69c91503d805f833e6200d69381836200ed75565b8101906200ffd8565b505f6200d5bd565b8062000a325f6200d6b5936200ed75565b5f6200d4b0565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200d7ee575b5062000e6b6200d7c66200903b60285473ffffffffffffffffffffffffffffffffffffffff1690565b620091c2620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b8062000a325f6200d7ff936200ed75565b5f6200d79d565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200d85a6200062960215473ffffffffffffffffffffffffffffffffffffffff1690565b6200d87e6200062960285473ffffffffffffffffffffffffffffffffffffffff1690565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f43f7ed76000000000000000000000000000000000000000000000000000000006004820152915f8360248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af191821562000a1b575f9384936200d9c7575b508262000e6b620045d06200d9456200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f2a3ee12600000000000000000000000000000000000000000000000000000000602082019081527f4c383bae8897cd5b4ac6de30be57e2e818a5b6a4a77c60122b7b50a8e81c727f602483015273ffffffffffffffffffffffffffffffffffffffff9687166044830152959096166064870152949182906084820190565b8062000a32856200d9d8936200ed75565b5f6200d917565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201526729a2241af62c000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200dea3575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200db2c60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200de8b575b506101015f7ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae604051806200db948190670de0b6b3a7640000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200dc0260048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200de73575b506101025f7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab7604051806200dc6a8190671bc16d674ec80000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200dcd860048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200de5b575b506101026101015f7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea604051806200dd5f8190671bc16d674ec8000060406060840193670de0b6b3a76400008152670de0b6b3a764000060208201520152565b0390a46200dd8a620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1575f60405180927f4784226e0000000000000000000000000000000000000000000000000000000082528183816200ddee6004820190610102606060808401935f81526101016020820152670de0b6b3a764000060408201520152565b03925af1801562000a1b576200de43575b6200de2762000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200de3561010131620101ed565b62000a19610102316201055d565b8062000a325f6200de54936200ed75565b5f6200ddff565b8062000a325f6200de6c936200ed75565b5f6200dcff565b8062000a325f6200de84936200ed75565b5f6200dc29565b8062000a325f6200de9c936200ed75565b5f6200db53565b8062000a325f6200deb4936200ed75565b5f6200dac0565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15762000e6b6200defd62000da66200ee1f565b60265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e0aa575b506040517fb25102da000000000000000000000000000000000000000000000000000000006020820152670de0b6b3a764000060248201526706f05b59d3b2000060448201526200dff5816064810162000e6b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f6200e04b91604051809381927ff28dceb3000000000000000000000000000000000000000000000000000000008352600483016200f0ba565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576706f05b59d3b20000925f92620009e892620010365750601f5462000f749060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b8062000a325f6200e0bb936200ed75565b5f6200dfa0565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201526729a2241af62c000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e490575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200e20f60048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e478575b506102015f7ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae604051806200e27781906729a2241af62c0000602083019252565b0390a3737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f491cc7c20000000000000000000000000000000000000000000000000000000081525f81806200e2e560048201905f6060608084019360018152600160208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e460575b506102026102015f7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea604051806200e36481905f604060608401936729a2241af62c000081526729a2241af62c000060208201520152565b0390a46200e38f620006296200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b803b15620005d1575f60405180927f4784226e0000000000000000000000000000000000000000000000000000000082528183816200e3f36004820190610202606060808401935f815261020160208201526729a2241af62c000060408201520152565b03925af1801562000a1b576200e448575b6200e42c62000fe86200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6200e43a61020131620103ad565b62000a19610202316201015f565b8062000a325f6200e459936200ed75565b5f6200e404565b8062000a325f6200e471936200ed75565b5f6200e30c565b8062000a325f6200e489936200ed75565b5f6200e236565b8062000a325f6200e4a1936200ed75565b5f6200e1a3565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d15760405160dd80820182811067ffffffffffffffff82111762000cac57829162016d99833903905ff0801562000a1b5760275473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200e718575b506200e5e1620010136200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527ff4b3b1bc000000000000000000000000000000000000000000000000000000006004820152905f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b575f9283926200e700575b506200e69e6200062960275473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fb8dc491b00000000000000000000000000000000000000000000000000000000602082019081525f602483015273ffffffffffffffffffffffffffffffffffffffff90931660448201529091908390620045d0816064810162000e6b565b8062000a32846200e711936200ed75565b5f6200e679565b8062000a325f6200e729936200ed75565b5f6200e5b8565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576200e7846200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b60265473ffffffffffffffffffffffffffffffffffffffff1690803b15620005d1576040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316600482015268056bc75e2d631000006024820152905f908290604490829084905af1801562000a1b576200ea5b575b5060265473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b576200ea43575b505f60206200e8e262002b926200062960235473ffffffffffffffffffffffffffffffffffffffff1690565b03925af1801562000a1b576200ea21575b5062000e6b62002dcf6200e9066200eea1565b6200e92a6200062960205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200e9646024826200ed75565b6200e96e6200edd2565b73ffffffffffffffffffffffffffffffffffffffff83168152906001602083015260408201526200e99f836200efd0565b526200e9ab826200efd0565b506040517f5e01eb5a000000000000000000000000000000000000000000000000000000006020820152600481526200e9e66024826200ed75565b6200e9f06200edd2565b73ffffffffffffffffffffffffffffffffffffffff831681529060016020830152604082015262005fb9836200efe4565b6200ea3d9060203d60201162001c775762001c6881836200ed75565b6200e8f3565b8062000a325f6200ea54936200ed75565b806200e8b6565b8062000a325f6200ea6c936200ed75565b806200e812565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d1576040517f46f6b4e10000000000000000000000000000000000000000000000000000000060208201527fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef602482015261012360448201526200eb09816064810162000e6b565b601f546200eb309060081c73ffffffffffffffffffffffffffffffffffffffff1662000629565b906200eb556200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b90823b15620005d1576200eba4925f92670de0b6b3a76400006040518096819582947fc5e5153b000000000000000000000000000000000000000000000000000000008452600484016200f434565b03925af1801562000a1b576200ec97575b506200ebda6200062960255473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f829a86d9000000000000000000000000000000000000000000000000000000008152602081600481855afa801562000a1b576200ec23915f916200ec735750620101ed565b604051907ff5632ab4000000000000000000000000000000000000000000000000000000008252602082600481845afa91821562000a1b5762000a199262001013915f916200ec735750620101ed565b6200ec90915060203d60201162000a8d5762000a7c81836200ed75565b5f6200af94565b8062000a325f6200eca8936200ed75565b5f6200ebb5565b34620005d1575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112620005d157602060ff601f54166040519015158152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff82111762000cac57604052565b6060810190811067ffffffffffffffff82111762000cac57604052565b6080810190811067ffffffffffffffff82111762000cac57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111762000cac57604052565b90816020910312620005d1575190565b6040513d5f823e3d90fd5b604051906200ede36060836200ed75565b565b604051906200ede36080836200ed75565b906200ede360405192836200ed75565b67ffffffffffffffff811162000cac5760051b60200190565b6040805191906200ee3190836200ed75565b60018252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06200ee6360016200ee06565b01905f5b8281106200ee7457505050565b6020906040516200ee85816200ed3b565b5f81525f8382015260606040820152828285010152016200ee67565b604051906200eeb26080836200ed75565b60038252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06200eee460036200ee06565b01905f5b8281106200eef557505050565b6020906040516200ef06816200ed3b565b5f81525f8382015260606040820152828285010152016200eee8565b604051906200ef336060836200ed75565b60028252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06200ef6560026200ee06565b01905f5b8281106200ef7657505050565b6020906040516200ef87816200ed3b565b5f81525f8382015260606040820152828285010152016200ef69565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8051156200efde5760200190565b6200efa3565b8051600110156200efde5760400190565b8051600210156200efde5760600190565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106200f03957505050505090565b90919293946020806200f0aa837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752606060408b5173ffffffffffffffffffffffffffffffffffffffff81511684528581015115158685015201519181604082015201906200419f565b970193019301919392906200f029565b9060206200f0cd9281815201906200419f565b90565b51908115158203620005d157565b67ffffffffffffffff811162000cac57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f82011215620005d1578051906200f133826200f0de565b926200f14360405194856200ed75565b82845260208383010111620005d157815f9260208093018386015e8301015290565b602081830312620005d15780519067ffffffffffffffff8211620005d157019080601f83011215620005d1578151916200f19f836200ee06565b926200f1af60405194856200ed75565b80845260208085019160051b83010191838311620005d15760208101915b8383106200f1dd57505050505090565b825167ffffffffffffffff8111620005d15782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08388030112620005d157604051906200f22e826200ed1e565b6200f23c602084016200f0d0565b825260408301519167ffffffffffffffff8311620005d1576200f268886020809695819601016200f119565b838201528152019201916200f1cd565b9060406200f0cd9273ca11bde05977b3631167028862be2a173976ca11815281602082015201906200419f565b9060406200f0cd925f815281602082015201906200419f565b60409073ffffffffffffffffffffffffffffffffffffffff6200f0cd949316815281602082015201906200419f565b9060606200f0cd925f8152670de0b6b3a7640000602082015281604082015201906200419f565b60609073ffffffffffffffffffffffffffffffffffffffff6200f0cd949316815268056bc75e2d63100000602082015281604082015201906200419f565b9060606200f0cd925f8152671bc16d674ec80000602082015281604082015201906200419f565b919082039182116200f38757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90816020910312620005d1576200f0cd906200f0d0565b93926200f4289073ffffffffffffffffffffffffffffffffffffffff7fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef948160809516885216602087015260a0604087015260a08601906200419f565b93600460608201520152565b92916200f42860809173ffffffffffffffffffffffffffffffffffffffff7fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef945f885216602087015260a0604087015260a08601906200419f565b73ca11bde05977b3631167028862be2a173976ca113b906200f4b1826200f0de565b916200f4c160405193846200ed75565b8083525f6020840173ca11bde05977b3631167028862be2a173976ca113c565b90813b5f6200f4f0826200f0de565b936200f50060405195866200ed75565b82855260208501903c565b60609073ffffffffffffffffffffffffffffffffffffffff6200f0cd9493168152678ac7230489e80000602082015281604082015201906200419f565b90604051915f8154908160011c92600183169081156200f649575b6020851082146200f61c57848752869360208501929081156200f5de57506001146200f59a575b50506200ede3925003836200ed75565b6200f5aa9192505f5260205f2090565b905f915b8483106200f5c657506200ede39350015f806200f58a565b8054828401528693506020909201916001016200f5ae565b90506200ede3959293507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009150168252151560051b015f806200f58a565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f16936200f563565b9081546200f662816200ee06565b926200f67260405194856200ed75565b81845260208401905f5260205f205f915b8383106200f6915750505050565b6001602081926200f6a2856200f548565b8152019201920191906200f683565b604051906200f6c26040836200ed75565b600482527f12345678000000000000000000000000000000000000000000000000000000006020830152565b93926200f72f9073ffffffffffffffffffffffffffffffffffffffff63deadbeef948160809516885216602087015260a0604087015260a08601906200419f565b93602460608201520152565b3d156200f76a573d906200f74f826200f0de565b916200f75f60405193846200ed75565b82523d5f602084013e565b606090565b6040805191906200f78190836200ed75565b60018252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06200f7b360016200ee06565b01905f5b8281106200f7c457505050565b6020906040516200f7d5816200ed58565b5f81525f838201525f6040820152606080820152828285010152016200f7b7565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106200f82957505050505090565b90919293946020806200f8a4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752608060608b5173ffffffffffffffffffffffffffffffffffffffff8151168452858101511515868501526040810151604085015201519181606082015201906200419f565b970193019301919392906200f819565b604051906200f8c56040836200ed75565b601182527f7473746f726520736574206661696c65640000000000000000000000000000006020830152565b9060c06200f0cd927fdf6d075bd5269de467163582268e2bb42b2aa2ae7adeb32cdd482ba12b48617e81525f60208201525f60408201525f60608201525f60808201528160a082015201906200419f565b9060c06200f0cd925f81525f60208201525f60408201525f60608201525f60808201528160a082015201906200419f565b9060c06200f0cd927fda7d4af7c5198dba95f03efcb45dd3d19309d5d2ed1fe231bd61e6dbeaa5800581525f60208201525f60408201525f60608201525f60808201528160a082015201906200419f565b9060c06200f0cd927f22567e3a48fac85b16b7bc4ae3c2315dfb6a8eef9615af41d5d5ffa04cd8137181525f60208201525f60408201525f60608201525f60808201528160a082015201906200419f565b604051906200fa266040836200ed75565b600482527fdeadbeef000000000000000000000000000000000000000000000000000000006020830152565b604051906200fa636040836200ed75565b600382527f656f6100000000000000000000000000000000000000000000000000000000006020830152565b604051815480825290929183906200faae60208301915f5260205f2090565b925f905b8060078301106200fcce576200ede39454918181106200fc90575b8181106200fc58575b8181106200fc20575b8181106200fbe8575b8181106200fbb0575b8181106200fb78575b8181106200fb41575b106200fb13575b5003836200ed75565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f6200fb0a565b602083811b7fffffffff0000000000000000000000000000000000000000000000000000000016855290936001910193016200fb03565b604083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200fafa565b606083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200faf1565b608083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200fae8565b60a083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200fadf565b60c083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016200fad6565b926020816200fcc56001938660e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b0193016200facd565b9160089193506101006001916200fe4087546200fd0f838260e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b60c081901b7fffffffff0000000000000000000000000000000000000000000000000000000016602084015260a081901b7fffffffff00000000000000000000000000000000000000000000000000000000166040840152608081901b7fffffffff00000000000000000000000000000000000000000000000000000000166060840152606081901b7fffffffff00000000000000000000000000000000000000000000000000000000166080840152604081901b7fffffffff000000000000000000000000000000000000000000000000000000001660a0840152602081901b7fffffffff000000000000000000000000000000000000000000000000000000001660c08401527fffffffff000000000000000000000000000000000000000000000000000000001660e0830152565b0194019201859293916200fab2565b93926200fe8c9073ffffffffffffffffffffffffffffffffffffffff5f948160809516885216602087015260a0604087015260a08601906200419f565b938260608201520152565b93926200f4289073ffffffffffffffffffffffffffffffffffffffff63deadbeef948160809516885216602087015260a0604087015260a08601906200419f565b90816020910312620005d1575173ffffffffffffffffffffffffffffffffffffffff81168103620005d15790565b60085460ff16156200ff1757600190565b6040517f667f9d7000000000000000000000000000000000000000000000000000000000815260208180600481017f6661696c65640000000000000000000000000000000000000000000000000000846040830192737109709ecfa91a80626ff3989d68f67f5b1dd12d815201520381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811562000a1b575f916200ffb4575b50151590565b6200ffd1915060203d60201162000a8d5762000a7c81836200ed75565b5f6200ffae565b919091604081840312620005d1576200fff1816200f0d0565b92602082015167ffffffffffffffff8111620005d1576200f0cd92016200f119565b9392620100769073ffffffffffffffffffffffffffffffffffffffff7fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef948160a0951688525f602089015216604087015260c0606087015260c08601906200419f565b93600460808201520152565b60405190620100936040836200ed75565b601b82527f44656c656761746563616c6c2073686f756c64207375636365656400000000006020830152565b60405190620100d06060836200ed75565b602a82527f54482062616c616e6365000000000000000000000000000000000000000000006040837f5461726765742073686f756c6420726563656976652077616c6c65742773204560208201520152565b60405190620101336040836200ed75565b601c82527f57616c6c65742073686f756c6420626520737765707420656d707479000000006020830152565b80620101685750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c5400000000000000000000000000000000000000000000000000000000825260048201525f60248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b5f6200ede3916200ed75565b670de0b6b3a76400008103620102005750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152670de0b6b3a764000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b68068155a43676e000008103620102955750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c54000000000000000000000000000000000000000000000000000000008252600482015268068155a43676e0000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b683635c9adc5dea0000081036201032b5750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152683635c9adc5dea0000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b6729a2241af62c00008103620103c05750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c5400000000000000000000000000000000000000000000000000000000825260048201526729a2241af62c000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b681043561a88293000008103620104555750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152681043561a882930000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b60018103620104e35750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152600160248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b671bc16d674ec800008103620105705750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152671bc16d674ec8000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b68056bc75e2d631000008103620106055750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f98296c54000000000000000000000000000000000000000000000000000000008252600482015268056bc75e2d6310000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b81810362010693575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f98296c54000000000000000000000000000000000000000000000000000000008152600481019190915260248101919091525f8180604481015b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b81810362010721575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1576040517f7c84c69b000000000000000000000000000000000000000000000000000000008152600481019190915260248101919091525f818060448101620106ed565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15773ffffffffffffffffffffffffffffffffffffffff604051917f70ca10bb0000000000000000000000000000000000000000000000000000000083521660048201525f6024820152600160448201525f8160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b57620101e15750565b158062010822575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157620106ed915f9160405193849283927fa34edc030000000000000000000000000000000000000000000000000000000084521560048401526040602484015260448301906200419f565b1580620108925750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157604051907f0c9fd5810000000000000000000000000000000000000000000000000000000082521560048201525f81602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b57620101e15750565b156201090e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f746c6f6164206661696c656400000000000000000000000000000000000000006044820152fd5b156201097457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f746c6f61642072657475726e656420696e73756666696369656e7420646174616044820152fd5b620109dd816200f4e1565b91609590620109ef602083016200edf6565b91808352620173736020840139737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d1575f62010a5392604051809481927fb4d6c78200000000000000000000000000000000000000000000000000000000835287600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b575f92839262010b9b575b5060405162010ac28162000e6b60208201947f8eaa6ac0000000000000000000000000000000000000000000000000000000008652602483019190602083019252565b5190845afa62010ad16200f73b565b91737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762010b2a935f9160405195869283927fb4d6c782000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811562000a1b576200f0cd9362010b639262010b83575b5062010906565b62010b736020825110156201096c565b602080825183010191016200edb7565b8062000a325f62010b94936200ed75565b5f62010b5c565b8062000a328462010bac936200ed75565b5f62010a7f565b671bc16d674ec80000810362010bc7575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762010c3a915f9160405193849283927f88b44c850000000000000000000000000000000000000000000000000000000084526004840152671bc16d674ec8000060248401526060604484015260648301906200419f565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801562000a1b5762010c625750565b8062010c705f80936200ed75565b800312620005d157565b8062010c84575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d157620106ed915f9160405193849283927f88b44c8500000000000000000000000000000000000000000000000000000000845260048401528460248401526060604484015260648301906200419f565b805191908290602001825e015f815290565b90604051602081019062010d1b8162000e6b848762010cef565b51902090604051927fffa186490000000000000000000000000000000000000000000000000000000084526020848062010d5d86600483019190602083019252565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa93841562000a1b575f9462010e1a575b5083737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15620005d15762010de0915f9160405193849283927fc657c718000000000000000000000000000000000000000000000000000000008452600484016200f2be565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801562000a1b5762010e095750565b8062000a325f6200ede3936200ed75565b62010e3891945060203d6020116200a5a5576200a59581836200ed75565b925f62010d8656fe60806040523461033057610e0d8038038061001981610334565b9283398101906060818303126103305780516001600160401b0381116103305782610045918301610359565b60208201519092906001600160401b03811161033057604091610069918401610359565b91015160ff81168091036103305782516001600160401b03811161024157600354600181811c91168015610326575b602082101461022357601f81116102c3575b506020601f821160011461026057819293945f92610255575b50508160011b915f199060031b1c1916176003555b81516001600160401b03811161024157600454600181811c91168015610237575b602082101461022357601f81116101c0575b50602092601f821160011461015f57928192935f92610154575b50508160011b915f199060031b1c1916176004555b60ff196005541617600555604051610a6290816103ab8239f35b015190505f80610125565b601f1982169360045f52805f20915f5b8681106101a85750836001959610610190575b505050811b0160045561013a565b01515f1960f88460031b161c191690555f8080610182565b9192602060018192868501518155019401920161016f565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c81019160208410610219575b601f0160051c01905b81811061020e575061010b565b5f8155600101610201565b90915081906101f8565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100f9565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100c3565b601f1982169060035f52805f20915f5b8181106102ab57509583600195969710610293575b505050811b016003556100d8565b01515f1960f88460031b161c191690555f8080610285565b9192602060018192868b015181550194019201610270565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c8101916020841061031c575b601f0160051c01905b81811061031157506100aa565b5f8155600101610304565b90915081906102fb565b90607f1690610098565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761024157604052565b81601f82011215610330578051906001600160401b03821161024157610388601f8301601f1916602001610334565b928284526020838301011161033057815f9260208093018386015e830101529056fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461077757508063095ea7b3146106ca57806318160ddd1461068f57806323b872dd146104fb578063313ce567146104bd57806340c10f19146103be57806370a082311461035c57806395d89b4114610169578063a9059cbb1461011a5763dd62ed3e1461008a575f80fd5b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576100c16108f0565b73ffffffffffffffffffffffffffffffffffffffff6100de610913565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101165761015e6101546108f0565b6024359033610936565b602060405160018152f35b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576040515f600454908160011c60018316928315610352575b6020821084146103255781855284939081156102c5575060011461024b575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761021e5761021a829182604052826108a8565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106102a957505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101ce565b6020919350806001915483858801015201910190918392610275565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090506101ce565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f16906101af565b346101165760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101165773ffffffffffffffffffffffffffffffffffffffff6103a86108f0565b165f525f602052602060405f2054604051908152f35b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576103f56108f0565b73ffffffffffffffffffffffffffffffffffffffff16602435811561049157600254908082018092116104645760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011657602060ff60055416604051908152f35b346101165760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576105326108f0565b61053a610913565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106105b6575b5061015e9350610936565b83811061065b57841561062f5733156106035761015e945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f2091039055846105ab565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576020600254604051908152f35b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576107016108f0565b60243590331561062f5773ffffffffffffffffffffffffffffffffffffffff1690811561060357335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116575f600354908160011c6001831692831561089e575b6020821084146103255781855284939081156102c55750600114610824575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761021e5761021a829182604052826108a8565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061088257505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101ce565b602091935080600191548385880101520191019091839261084e565b90607f16906107ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011657565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011657565b73ffffffffffffffffffffffffffffffffffffffff16908115610a005773ffffffffffffffffffffffffffffffffffffffff1691821561049157815f525f60205260405f20548181106109ce57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffdfea2646970667358221220cebe9d271f663eb56aba81c7274ebae25e1a809741756e03a398137806df3e1964736f6c634300081e0033608034607f57601f6104a038819003918201601f19168301916001600160401b03831184841017608357808492602094604052833981010312607f57516001600160a01b0381168103607f5760018054610100600160a81b03191660089290921b610100600160a81b031691909117905560405161040890816100988239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f3560e01c9081636813d787146103655781636e553f651461012557508063829a86d9146100eb578063d3072d82146100ab5763fc0c546a14610053575f80fd5b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a757602073ffffffffffffffffffffffffffffffffffffffff60015460081c16604051908152f35b5f80fd5b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a757602060ff600154166040519015158152f35b346100a7575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a75760205f54604051908152f35b346100a75760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a7576004359060243573ffffffffffffffffffffffffffffffffffffffff8116036100a7576001549060ff8216610309575073ffffffffffffffffffffffffffffffffffffffff90825f5560081c1690816101a957005b5f91606460209260405194859384927f23b872dd00000000000000000000000000000000000000000000000000000000845233600485015230602485015260448401525af19081156102fe575f91610262575b501561020457005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433230207472616e7366657246726f6d206661696c6564000000000000006044820152fd5b905060203d6020116102f7575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f820116820182811067ffffffffffffffff8211176102ca576020918391604052810103126100a7575180151581036100a757816101fc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b503d61026f565b6040513d5f823e3d90fd5b807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152600f60248201527f54617267657420726576657274656400000000000000000000000000000000006044820152fd5b346100a75760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100a7576004358015158091036100a75760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600154169116176001555f80f3fea2646970667358221220743a172d6fb225dce39c03b6fc94b2006c3c5313ca5971aef4fd0a39b136f4e464736f6c634300081e0033608080604052346015576107a7908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163174dea71146102ee57508063678d2204146102af57806382ad56cb146100b75763a5aa5c1214610048575f80fd5b346100b35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b3576004358015158091036100b35760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f54169116175f555f80f35b5f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b35760043567ffffffffffffffff81116100b357610101903690600401610449565b60ff5f54166102505790610114826105e8565b905f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301915b8481101561023e578060051b820135838112156100b35782016101c260205f8061016785610658565b816101756040880188610679565b9190826040519384928337810182815203925af1926101926106ca565b9361019b61053f565b90159485158252838201526101b0868a610723565b526101bb8589610723565b5001610764565b159081610236575b506101d75760010161013e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606490fd5b9050866101ca565b6040518061024c868261047a565b0390f35b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152606490fd5b346100b3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b357602060ff5f54166040519015158152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b35760043567ffffffffffffffff81116100b357610338903690600401610449565b909160ff5f54166103ed57509061034e826105e8565b905f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8181360301915b8481101561023e578060051b820135838112156100b35782016103d060205f806103a185610658565b6103ae6060870187610679565b90816040519283928337810184815203916040880135905af1926101926106ca565b1590816103e5575b506101d757600101610378565b9050866103d8565b7f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152606490fd5b9181601f840112156100b35782359167ffffffffffffffff83116100b3576020808501948460051b0101116100b357565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106104ac57505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f858286010152011601019701930193019193929061049d565b604051906040820182811067ffffffffffffffff82111761055f57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761055f57604052565b67ffffffffffffffff811161055f5760051b60200190565b906105fa6105f5836105d0565b61058c565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061062882946105d0565b01905f5b82811061063857505050565b60209061064361053f565b5f81526060838201528282850101520161062c565b3573ffffffffffffffffffffffffffffffffffffffff811681036100b35790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100b3570180359067ffffffffffffffff82116100b3576020019181360383136100b357565b3d1561071e573d9067ffffffffffffffff821161055f5761071260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160161058c565b9182523d5f602084013e565b606090565b80518210156107375760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b3580151581036100b3579056fea2646970667358221220d15ba587833d285de2ae313b5bc0b60766daf63461a11d37ec63afc45d49b39d64736f6c634300081e0033610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033608080604052346013576091908160188239f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c635e01eb5a146023575f80fd5b346057575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605757602090338152f35b5f80fdfea26469706673582212205f55ad5e47296d566efef322f8f119c6af20cacbd4f659718157eeac617e410164736f6c634300081e003360806040523461032457604080519081016001600160401b03811182821017610237576040908152600d82526c2330b4b634b733902a37b5b2b760991b602083015280519081016001600160401b038111828210176102375760405260048152631190525360e21b602082015281516001600160401b03811161023757600354600181811c9116801561031a575b602082101461021957601f81116102b7575b50602092601f821160011461025657928192935f9261024b575b50508160011b915f199060031b1c1916176003555b80516001600160401b03811161023757600454600181811c9116801561022d575b602082101461021957601f81116101b6575b50602091601f8211600114610156579181925f9261014b575b50508160011b915f199060031b1c1916176004555b601260ff196005541617600555604051610b5c90816103298239f35b015190505f8061011a565b601f1982169260045f52805f20915f5b85811061019e57508360019510610186575b505050811b0160045561012f565b01515f1960f88460031b161c191690555f8080610178565b91926020600181928685015181550194019201610166565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c8101916020841061020f575b601f0160051c01905b8181106102045750610101565b5f81556001016101f7565b90915081906101ee565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100ef565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100b9565b601f1982169360035f52805f20915f5b86811061029f5750836001959610610287575b505050811b016003556100ce565b01515f1960f88460031b161c191690555f8080610279565b91926020600181928685015181550194019201610266565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c81019160208410610310575b601f0160051c01905b818110610305575061009f565b5f81556001016102f8565b90915081906102ef565b90607f169061008d565b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461075d57508063095ea7b31461065857806318160ddd1461061d57806323b872dd146105c6578063313ce5671461058857806340c10f1914610489578063678d22041461044657806370a08231146103e457806395d89b41146101f1578063a5aa5c121461017f578063a9059cbb146101305763dd62ed3e146100a0575f80fd5b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576100d76108d6565b73ffffffffffffffffffffffffffffffffffffffff6100f46108f9565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5761017461016a6108d6565b6024359033610a30565b602060405160018152f35b3461012c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5760043580151580910361012c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff006005549260081b169116176005555f80f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576040515f600454908160011c600183169283156103da575b6020821084146103ad57818552849390811561034d57506001146102d3575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff8211818310176102a6576102a28291826040528261088e565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b81831061033157505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610256565b60209193508060019154838588010152019101909183926102fd565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09050610256565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f1690610237565b3461012c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5773ffffffffffffffffffffffffffffffffffffffff6104306108d6565b165f525f602052602060405f2054604051908152f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c57602060ff60055460081c166040519015158152f35b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576104c06108d6565b73ffffffffffffffffffffffffffffffffffffffff16602435811561055c576002549080820180921161052f5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c57602060ff60055416604051908152f35b3461012c5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5760206106136106026108d6565b61060a6108f9565b6044359161091c565b6040519015158152f35b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c576020600254604051908152f35b3461012c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c5761068f6108d6565b6024359033156107315773ffffffffffffffffffffffffffffffffffffffff1690811561070557335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461012c575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012c575f600354908160011c60018316928315610884575b6020821084146103ad57818552849390811561034d575060011461080a575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff8211818310176102a6576102a28291826040528261088e565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061086857505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610256565b6020919350806001915483858801015201910190918392610834565b90607f16906107a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b919060ff60055460081c16610a295773ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106109a8575b506109a39350610a30565b600190565b8381106109f5578415610731573315610705576109a3945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f20910390555f610998565b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b5050505f90565b73ffffffffffffffffffffffffffffffffffffffff16908115610afa5773ffffffffffffffffffffffffffffffffffffffff1691821561055c57815f525f60205260405f2054818110610ac857817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffdfea2646970667358221220d7f1f600d0f138887292c901e64abf40dd2e578eb54d0d61232b738a9f4d9e8564736f6c634300081e003360806040523461031357604080519081016001600160401b03811182821017610226576040908152600982526845524332304d6f636b60b81b602083015280519081016001600160401b038111828210176102265760405260048152634532304d60e01b602082015281516001600160401b03811161022657600354600181811c91168015610309575b602082101461020857601f81116102a6575b50602092601f821160011461024557928192935f9261023a575b50508160011b915f199060031b1c1916176003555b80516001600160401b03811161022657600454600181811c9116801561021c575b602082101461020857601f81116101a5575b50602091601f8211600114610145579181925f9261013a575b50508160011b915f199060031b1c1916176004555b604051610b4890816103188239f35b015190505f80610116565b601f1982169260045f52805f20915f5b85811061018d57508360019510610175575b505050811b0160045561012b565b01515f1960f88460031b161c191690555f8080610167565b91926020600181928685015181550194019201610155565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c810191602084106101fe575b601f0160051c01905b8181106101f357506100fd565b5f81556001016101e6565b90915081906101dd565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100eb565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100b5565b601f1982169360035f52805f20915f5b86811061028e5750836001959610610276575b505050811b016003556100ca565b01515f1960f88460031b161c191690555f8080610268565b91926020600181928685015181550194019201610255565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c810191602084106102ff575b601f0160051c01905b8181106102f4575061009b565b5f81556001016102e7565b90915081906102de565b90607f1690610089565b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461088957508063095ea7b3146107dc57806318160ddd146107a157806323b872dd1461060d578063313ce567146105d457806340c10f19146104d557806370a082311461047357806395d89b41146102805780639dc29fac14610174578063a9059cbb146101255763dd62ed3e14610095575f80fd5b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576100cc610a02565b73ffffffffffffffffffffffffffffffffffffffff6100e9610a25565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215761016961015f610a02565b6024359033610a48565b602060405160018152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576101ab610a02565b73ffffffffffffffffffffffffffffffffffffffff6024359116801561025457805f525f60205260405f2054828110610222576020835f947fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef938587528684520360408620558060025403600255604051908152a3005b907fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576040515f600454908160011c60018316928315610469575b60208210841461043c5781855284939081156103dc5750600114610362575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761033557610331829182604052826109ba565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106103c057505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102e5565b602091935080600191548385880101520191019091839261038c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090506102e5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f16906102c6565b346101215760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215773ffffffffffffffffffffffffffffffffffffffff6104bf610a02565b165f525f602052602060405f2054604051908152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101215761050c610a02565b73ffffffffffffffffffffffffffffffffffffffff1660243581156105a8576002549080820180921161057b5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157602060405160128152f35b346101215760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157610644610a02565b61064c610a25565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106106c8575b506101699350610a48565b83811061076d57841561074157331561071557610169945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f2091039055846106bd565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121576020600254604051908152f35b346101215760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012157610813610a02565b6024359033156107415773ffffffffffffffffffffffffffffffffffffffff1690811561071557335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610121575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610121575f600354908160011c600183169283156109b0575b60208210841461043c5781855284939081156103dc5750600114610936575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761033557610331829182604052826109ba565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061099457505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102e5565b6020919350806001915483858801015201910190918392610960565b90607f16906108cc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012157565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012157565b73ffffffffffffffffffffffffffffffffffffffff169081156102545773ffffffffffffffffffffffffffffffffffffffff169182156105a857815f525f60205260405f2054818110610ae057817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffdfea264697066735822122016731caeee7fdd0b7f2f8e0381983d3089fc82963bcb4d2a37da85a078dfcb3064736f6c634300081e003360808060405234601557610275908161001a8239f35b5f80fdfe608080604052600436101561001c575b50361561001a575f80fd5b005b5f3560e01c90816346f6b4e114610185575080636813d78714610118578063829a86d9146100de578063d3072d821461009e5763f5632ab41461005f575f61000f565b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a576020600154604051908152f35b5f80fd5b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a57602060ff600254166040519015158152f35b3461009a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760205f54604051908152f35b3461009a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760043580151580910361009a5760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00600254169116176002555f80f35b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009a5760243573ffffffffffffffffffffffffffffffffffffffff81160361009a5760ff600254166101e3576004355f5534600155005b807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152600f60248201527f54617267657420726576657274656400000000000000000000000000000000006044820152fdfea264697066735822122042cb4c7788d7f1fd3d3695bef8c3a2fd1390f82e50a41ddf02c4e8b37123a46264736f6c634300081e0033608080604052346015576101ef908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163174dea71146100e057506382ad56cb14610032575f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100dc5760043567ffffffffffffffff81116100dc5761007c903690600401610188565b505060646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152fd5b5f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100dc576004359067ffffffffffffffff82116100dc5761012d6064923690600401610188565b50507f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152fd5b9181601f840112156100dc5782359167ffffffffffffffff83116100dc576020808501948460051b0101116100dc5756fea26469706673582212204d26cfde5cf533afcf5b242bdb62c0cf77307a2a708acad8504413957621ea4564736f6c634300081e00336080806040523460135760c5908160188239f35b5f80fdfe6080806040523615600e575f80fd5b807f08c379a00000000000000000000000000000000000000000000000000000000060849252602060048201526024808201527f526576657274696e6752656365697665723a20726576657274206f6e2072656360448201527f65697665000000000000000000000000000000000000000000000000000000006064820152fdfea2646970667358221220ca498d30cad9a909a47a4edbbee81be87963eac164101dcb5079346e9be9b95c64736f6c634300081e003360808060405234601357608d908160188239f35b5f80fdfe6004361015600b575f80fd5b5f3560e01c63f71f7a2514601d575f80fd5b3460535760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126053576024356004355d005b5f80fdfea26469706673582212205c3478906b70ed217cacaeb0f98254718dfc00d76a73c3f166ed1357b7f7af5364736f6c634300081e00336080806040523460155761043e908161001a8239f35b5f80fdfe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c80631827c8ae1461017d576344c3b4270361000e5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017957610066610269565b60243573ffffffffffffffffffffffffffffffffffffffff8116809103610179576044359173ffffffffffffffffffffffffffffffffffffffff8316809303610179576064359167ffffffffffffffff8311610179575f936101596100d086953690600401610334565b9161011d60405193849260208401967f5b5e65160000000000000000000000000000000000000000000000000000000088526024850152604484015260a0606484015260c483019061037a565b608435608483015260a43560a4830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261028c565b51915af46101656103d9565b90610175604051928392836103bd565b0390f35b5f80fd5b60e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610179576101af610269565b60c43567ffffffffffffffff8111610179575f916101d283923690600401610334565b6040516101598161023d60208201947f4c4e814c000000000000000000000000000000000000000000000000000000008652602435602484015260443560448401526064356064840152608435608484015260a43560a484015260c060c484015260e483019061037a565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261028c565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361017957565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176102cd57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116102cd57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b81601f820112156101795780359061034b826102fa565b92610359604051948561028c565b8284526020838301011161017957815f926020809301838601378301015290565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6040906103d6939215158152816020820152019061037a565b90565b3d15610403573d906103ea826102fa565b916103f8604051938461028c565b82523d5f602084013e565b60609056fea26469706673582212208f8cd33435e9ba924d0905f84e9acaebbe71d9215aac9cc72e2c9b7ffe3106c364736f6c634300081e003360808060405260043610156011575f80fd5b5f3560e01c638eaa6ac0146023575f80fd5b34605b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605b576020906004355c8152f35b5f80fdfea2646970667358221220d05f70bd2d38f77f8aa40d953a00d51886544072540289263de5b716fdf214eb64736f6c634300081e0033a2646970667358221220d12060e3f84111021a59b6013c49733e15c4b359a21944ac0cd504e3417e1ba464736f6c634300081e0033","sourceMap":"4886:54789:64:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;:::o;:::-;;;;;;;;;;;;;;;12349:19;4886:54789;12349:9;4886:54789;;;;;;;;;;12349:19;12369:4;4886:54789;;;;12349:25;;4886:54789;;;;;12349:25;;4886:54789;;;;;12349:25;;4886:54789;;;;;;12349:25;;;;;;;4886:54789;12349:25;;;4886:54789;12420:26;12639:68;12420:26;12639:68;12420:26;;:::i;:::-;12507:15;4886:54789;12349:25;4886:54789;;;;;12507:15;4886:54789;;12555:38;12349:25;12555:38;;;4886:54789;12555:38;;;;;;:::i;:::-;12467:137;4886:54789;;:::i;:::-;;;;;;;;12467:137;4886:54789;12349:25;12467:137;;4886:54789;;12467:137;;4886:54789;12456:148;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;12639:68;;;;12349:25;12639:68;;;12555:38;12639:68;;;:::i;:::-;;12555:38;12639:68;;;;;;:::i;:::-;336:42:2;12718:14:64;;;;4886:54789;;;12718:14;;4886:54789;;;;;;12718:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;12718:14:64;;;;;;;;4886:54789;2030:14:2;12771:105:64;12844:15;2030:14:2;12852:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;12844:15:64;4886:54789;;12794:48;12349:25;12771:105;;;4886:54789;;;;12555:38;12771:105;;4886:54789;-1:-1:-1;2030:14:2;;;;;;;;;;;4886:54789:64;2030:14:2;;;12771:105:64;2030:14:2;12771:105:64;336:42:2;12742:144:64;;;;4886:54789;12742:144;4886:54789;;;12742:144;;;;4886:54789;12742:144;;4886:54789;12742:144;;;:::i;:::-;;;;336:42:2;12742:144:64;;;;;;;12896:51;12742:144;4886:54789;12742:144;;;4886:54789;-1:-1:-1;12852:6:64;2030:14:2;12896:21:64;;2030:14:2;;4886:54789:64;;2030:14:2;;12896:21:64;12918:18;4886:54789;12349:9;4886:54789;;;;;12918:18;4886:54789;;;12896:51;;;;;;4886:54789;12896:51;;4886:54789;12896:51;;;:::i;:::-;;;;;;;;;;;4886:54789;12896:51;;;;;4886:54789;12896:51;;;;;;:::i;:::-;;;;;:::i;:::-;4886:54789;12896:51;;:::i;12742:144::-;;;;;;;:::i;:::-;;;:::i;:::-;;;;12718:14;;;4886:54789;12718:14;;;:::i;:::-;;;;12349:25;12639:68;12349:25;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;4886:54789;;;;;;;;;;;;;26542:32;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26571:2;4886:54789;;;;;;2030:14:2;4886:54789:64;26542:32;;;4886:54789;26542:32;;;;;26969:68;26751:26;26969:68;26751:26;;:::i;26969:68::-;336:42:2;27048:53:64;;;;4886:54789;;;27048:53;;27064:36;4886:54789;27048:53;;4886:54789;;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;27048:53:64;;;;;;;27111:38;27048:53;4886:54789;27048:53;;;4886:54789;2030:14:2;4886:54789:64;2030:14:2;27111:21:64;2030:14:2;27111:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;27111:21:64;4886:54789;;;27111:38;;;;;;;4886:54789;27111:38;;4886:54789;;27111:38;;;:::i;27048:53::-;;;;;;;:::i;:::-;;;;26542:32;;:::i;4886:54789::-;;;;;;;;;;;31833:4;4886:54789;;;336:42:2;31825:24:64;;;;4886:54789;;;31825:24;;4886:54789;;;;;;31825:24;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;31825:24:64;;;;;;;;4886:54789;31895:26;32114:68;;31895:26;;:::i;:::-;31982:15;4886:54789;31990:6;4886:54789;;;;;31982:15;4886:54789;;32030:38;31990:6;32030:38;;;4886:54789;32030:38;;;;;;:::i;:::-;31942:137;4886:54789;;:::i;31942:137::-;4886:54789;31990:6;31942:137;;4886:54789;;31942:137;;4886:54789;31931:148;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;32114:68;;;;31990:6;32114:68;;;32030:38;32114:68;;;:::i;:::-;;32030:38;32114:68;;;;;;:::i;:::-;31833:4;4886:54789;;;336:42:2;32193:14:64;;;;4886:54789;;;32193:14;;4886:54789;;;;;;32193:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;32193:14:64;;;;;;31808:7;32193:14;4886:54789;32193:14;32217:78;32193:14;;;4886:54789;-1:-1:-1;32217:6:64;2030:14:2;32217:27:64;;2030:14:2;;4886:54789:64;;2030:14:2;;32217:27:64;4886:54789;;;32217:78;;;;;;4886:54789;32217:78;;4886:54789;32217:78;;;:::i;:::-;;;;;;;;;;;4886:54789;32378:36;32387:15;2030:14:2;32217:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;32387:15:64;:23;32378:36;:::i;:::-;32517:9;4886:54789;31833:4;4886:54789;;;;;;32503:12;32517:9;:::i;32217:78::-;;;;;4886:54789;32217:78;;;;;;:::i;:::-;;;32193:14;;;;;;;:::i;:::-;;;;31825:24;;;4886:54789;31825:24;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;20397:10;4886:54789;20397:5;4886:54789;;;;;20397:10;20408:6;4886:54789;;;20397:26;;;;;;4886:54789;;;20397:26;;4886:54789;;;;20397:26;;4886:54789;20340:10;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;20397:26:64;;;;;;;;4886:54789;20434:39;336:42:2;20434:39:64;;;;4886:54789;;;20434:39;;4886:54789;20434:39;;;4886:54789;20434:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;20434:39;;;;336:42:2;20434:39:64;;;;;;;;4886:54789;;20257:5;4886:54789;20495:14;4886:54789;20397:5;4886:54789;;;;;20495:14;4886:54789;20488:47;4886:54789;;20488:47;;;4886:54789;20377:10;4886:54789;;;2030:14:2;;4886:54789:64;20488:47;;;;336:42:2;20545:39:64;;;;4886:54789;;;20545:39;;4886:54789;20545:39;;;4886:54789;20545:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;20545:39;;;;336:42:2;20545:39:64;;;;;;;;4886:54789;;20605:14;4886:54789;20397:5;4886:54789;;;;;20605:14;20306:5;4886:54789;;20599:54;4886:54789;;;;;20599:54;;;;;4886:54789;;;;;2030:14:2;;4886:54789:64;20599:54;;;;336:42:2;20663:39:64;;;;4886:54789;;;20663:39;;4886:54789;20663:39;;;4886:54789;20663:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;20663:39;;;;336:42:2;20663:39:64;;;;;;;;4886:54789;;20732:14;4886:54789;20397:5;4886:54789;;;;;20732:14;20306:5;20257;4886:54789;;20717:96;4886:54789;;;20717:96;;;;;4886:54789;;;;;;2030:14:2;20377:10:64;2030:14:2;;20377:10:64;4886:54789;;;2030:14:2;4886:54789:64;2030:14:2;4886:54789:64;20717:96;;;;20824:35;:20;4886:54789;20408:6;4886:54789;;;;;20824:35;:92;;;;;4886:54789;;;20824:92;;4886:54789;;;;;;20824:92;;4886:54789;;;;;;20377:10;4886:54789;;;2030:14:2;4886:54789:64;;;;;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;20824:92:64;;;;;;;;4886:54789;;20936:15;4886:54789;20397:5;4886:54789;;;;;20936:15;4886:54789;20936:23;;4886:54789;20408:6;4886:54789;;;;;;;;;20936:23;;4886:54789;;;;;20936:23;;4886:54789;;;;;;;;;;;20936:23;;;;;;;;;;20927:36;20936:23;4886:54789;20936:23;;;4886:54789;20927:36;;:::i;:::-;4886:54789;;;20982:32;;4886:54789;;20982:32;;4886:54789;20936:23;4886:54789;;;20982:32;;;;;;;21016:6;20982:32;4886:54789;20982:32;;;4886:54789;21016:6;;:::i;:::-;20936:23;4886:54789;;21042:31;;4886:54789;21042:31;;;;;4886:54789;21042:31;;4886:54789;;;;;;;;21042:31;;;;;;;;;21075:15;21042:31;4886:54789;21042:31;;;4886:54789;21075:15;;:::i;21042:31::-;;;;20936:23;21042:31;20936:23;21042:31;;;;;;;:::i;:::-;;;;20982:32;;;;20936:23;20982:32;20936:23;20982:32;;;;;;;:::i;:::-;;;;20936:23;;;;;;;;;;;;;;:::i;:::-;;;;20824:92;;;4886:54789;20824:92;;;:::i;:::-;;;;20663:39;;;4886:54789;20663:39;;;:::i;:::-;;;;20545;;;4886:54789;20545:39;;;:::i;:::-;;;;20434;;;4886:54789;20434:39;;;:::i;:::-;;;;20397:26;;;4886:54789;20397:26;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;13670:32;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26571:2;4886:54789;;;;;;2030:14:2;4886:54789:64;13670:32;;;4886:54789;13670:32;;;;;4886:54789;;;;13736:34;;;;;;;13670:32;13736:34;;;;;;;;;;;;;4886:54789;;;;;;;;;;13736:34;;;4886:54789;13736:34;;;;;;13821:43;;;;;4886:54789;;;13821:43;;13844:4;4886:54789;13821:43;;4886:54789;13804:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;13821:43:64;;;;;;;;;4886:54789;2030:14:2;13874:48:64;;13892:15;2030:14:2;13900:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;13892:15:64;4886:54789;;;13874:48;;4886:54789;;;;;13874:48;;4886:54789;13804:7;4886:54789;;;2030:14:2;4886:54789:64;;;;;;;;;;13874:48;;;4886:54789;13874:48;;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;13957:80;13874:48;13957:80;;;5515:66;13957:80;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;13957:80;4886:54789;5515:66;;;13957:80;5515:66;13957:80;4886:54789;14048:25;2030:14:2;13900:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;14048:25:64;4886:54789;;14048:92;;;;;;;4886:54789;;;;;;;14048:92;;;;;;4886:54789;14048:92;;;;4886:54789;14048:92;;;:::i;:::-;;;;;;;;;;;4886:54789;;;;;14160:23;;13874:48;14160:23;4886:54789;14160:23;;;;;;;;14185:12;14160:23;4886:54789;14160:23;;;4886:54789;14185:12;;:::i;:::-;4886:54789;;;14217:34;;13844:4;4886:54789;14217:34;;4886:54789;;13874:48;4886:54789;;;;;14217:34;;;;;;;;;;;14208:47;13874:48;14217:34;14274:40;14217:34;4886:54789;14217:34;;;14208:47;;:::i;:::-;4886:54789;;14274:40;;;;;4886:54789;14274:40;;4886:54789;14274:40;;4886:54789;;;;;;;;;;;;14274:40;;;;;;;;;14316:12;14274:40;4886:54789;14274:40;;;14316:12;;:::i;14274:40::-;;;;13874:48;14274:40;13874:48;14274:40;;;;;;;:::i;:::-;;;;14217:34;;;;;;;;;;;;;;:::i;:::-;;;;14048:92;;;4886:54789;14048:92;;;:::i;:::-;;;;13874:48;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;13821:43;;;4886:54789;13821:43;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;6983:20;;;;;;;;;;;;;;;;;;;;4886:54789;6983:20;;;;;4886:54789;7065:28;4886:54789;;7065:28;:::i;:::-;336:42:2;7013:81:64;;;;4886:54789;7013:81;4886:54789;;;7013:81;;;;4886:54789;7013:81;;4886:54789;7013:81;;;:::i;:::-;;;;336:42:2;7013:81:64;;;;;;;;4886:54789;;;;7114:60;;;;;;;;6983:20;7114:60;;;;;;;;;;;;7021:42;4886:54789;;;;;;7114:60;;;4886:54789;7114:60;;;;;7105:69;;4886:54789;;7105:69;4886:54789;;;;;;;;7105:69;4886:54789;;7105:69;4886:54789;;7193:22;;;;;;;6983:20;7193:22;;;;;;;;;;;;4886:54789;7193:22;;;;;7184:31;;4886:54789;;;7184:31;4886:54789;;;7184:31;4886:54789;;7184:31;4886:54789;;7237:37;;;;;;;;6983:20;7237:37;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7271:2;4886:54789;;;;;;2030:14:2;4886:54789:64;7237:37;;;4886:54789;7237:37;;;;;7225:49;;4886:54789;;;7225:49;4886:54789;;;7225:49;4886:54789;;7225:49;4886:54789;;7299:18;;;;;;;6983:20;7299:18;;;;;;;;;;;;4886:54789;7299:18;;;;;7284:33;;4886:54789;;;7284:33;4886:54789;;;7284:33;4886:54789;;7284:33;4886:54789;;7335:15;;;;;;;6983:20;7335:15;;;;;;;;;;;;4886:54789;7335:15;;;;;7327:23;;4886:54789;;;7327:23;4886:54789;;;7327:23;4886:54789;;7327:23;4886:54789;;7431:34;;;;;;;6983:20;7431:34;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7271:2;4886:54789;;;;;;2030:14:2;4886:54789:64;7431:34;;;4886:54789;7431:34;;;;;4886:54789;;7484:36;;;;;;;;;6983:20;7484:36;;;;;4886:54789;7484:36;;;;;;;4886:54789;;;;;;;;;7484:36;;;4886:54789;7484:36;;;;;7475:45;;4886:54789;;;7475:45;4886:54789;;;7475:45;4886:54789;;7475:45;4886:54789;;7542:19;;;;;;;6983:20;7542:19;;;;;;;;;;;;4886:54789;7542:19;;;;;7530:31;;4886:54789;;;7530:31;4886:54789;;;7530:31;4886:54789;;7530:31;7572:33;4886:54789;;7572:33;4886:54789;;;7572:33;4886:54789;;7572:33;7615;4886:54789;;7615:33;4886:54789;;;7615:33;4886:54789;;7615:33;7572;4886:54789;;;7769:20;:15;2030:14:2;7105:69:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;7769:15:64;:20;:::i;:::-;7753:37;336:42:2;7753:37:64;;;;;4886:54789;;;;;7753:37;;;;;4886:54789;7753:37;;4886:54789;7753:37;;;:::i;:::-;;;;336:42:2;7753:37:64;;;;;;;;4886:54789;-1:-1:-1;7809:4:64;4886:54789;;;336:42:2;7801:23:64;;;;4886:54789;;;7801:23;;4886:54789;;;;;;7801:23;;4886:54789;7815:8;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;7801:23:64;;;;;;;;4886:54789;;7834:14;4886:54789;7225:49;4886:54789;;;;;7834:14;7809:4;4886:54789;;;7834:29;;;;;;4886:54789;;;7834:29;;4886:54789;;;;7834:29;;4886:54789;13804:7;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;7834:29:64;;;;;;;;4886:54789;;7873:17;4886:54789;7284:33;4886:54789;;;;;7873:17;7809:4;4886:54789;;;7873:32;;;;;;4886:54789;;;7873:32;;4886:54789;;;;7873:32;;4886:54789;13804:7;4886:54789;;;2030:14:2;4886:54789:64;;;;;;;;;;;7873:32;;;;;;;;;;;4886:54789;7873:32;;;4886:54789;7873:32;;;:::i;7834:29::-;;;4886:54789;7834:29;;;:::i;:::-;;;;7801:23;;;4886:54789;7801:23;;;:::i;:::-;;;;7753:37;;;4886:54789;7753:37;;;:::i;:::-;;;;7013:81;;;4886:54789;7013:81;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;42896:6;4886:54789;;;336:42:2;42888:23:64;;;;4886:54789;;;42888:23;;4886:54789;;;;;;42888:23;;4886:54789;42834:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;42888:23:64;;;;;;;;4886:54789;42922:39;336:42:2;42922:39:64;;;;4886:54789;;;42922:39;;4886:54789;42922:39;;;4886:54789;42922:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;42922:39;;;;336:42:2;42922:39:64;;;;;;;;4886:54789;;42800:5;4886:54789;42976:41;4886:54789;;42976:41;;;4886:54789;42834:7;4886:54789;;;2030:14:2;;4886:54789:64;42976:41;;;;336:42:2;43027:39:64;;;;4886:54789;;;43027:39;;4886:54789;43027:39;;;4886:54789;43027:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;43027:39;;;;336:42:2;43027:39:64;;;;;;;;4886:54789;;42800:5;42751;4886:54789;43081:87;4886:54789;;43081:87;;;4886:54789;42834:7;4886:54789;;;;2030:14:2;4886:54789:64;2030:14:2;;4886:54789:64;;;;2030:14:2;4886:54789:64;2030:14:2;4886:54789:64;43081:87;;;;43179:35;:20;4886:54789;42896:6;4886:54789;;;;;43179:35;:97;;;;;4886:54789;;;43179:97;;4886:54789;43179:97;;;;;;4886:54789;43179:97;;4886:54789;;;;;;;;;;;;;;;;;;;2030:14:2;4886:54789:64;;;43179:97;;;;;;;;;;;4886:54789;43287:27;43296:14;4886:54789;42896:6;4886:54789;;;;;43287:27;43324:36;42751:5;43333:23;43324:36;:::i;:::-;43403:6;42800:5;43379:22;43403:6;:::i;43179:97::-;;;4886:54789;43179:97;;;:::i;:::-;;;;43027:39;;;4886:54789;43027:39;;;:::i;:::-;;;;42922;;;4886:54789;42922:39;;;:::i;:::-;;;;42888:23;;;4886:54789;42888:23;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;52219:10;4886:54789;52219:5;4886:54789;;;;;52219:10;52230:4;4886:54789;;;52219:27;;;;;;4886:54789;;;52219:27;;4886:54789;;;;52219:27;;4886:54789;36509:6;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;52219:27:64;;;;;;;;4886:54789;-1:-1:-1;52230:4:64;4886:54789;;;336:42:2;52256:19:64;;;;4886:54789;;;52256:19;;4886:54789;;;;;;52256:19;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;52256:19:64;;;;;;;;4886:54789;;;52285:41;;:13;4886:54789;52219:5;4886:54789;;;;;52285:13;52307:6;2030:14:2;52299:15:64;;2030:14:2;;4886:54789:64;;2030:14:2;;52299:15:64;4886:54789;;52285:41;;;;;;4886:54789;52285:41;;4886:54789;52285:41;;4886:54789;36509:6;4886:54789;;;;;;;;;;;;;2030:14:2;4886:54789:64;52285:41;;;;;;;;;;;4886:54789;52447:26;53033:68;;52447:26;;:::i;:::-;52534:15;4886:54789;52285:41;4886:54789;;;;;52534:15;4886:54789;;52633:38;52285:41;52633:38;;;4886:54789;52633:38;;;;;;:::i;:::-;4886:54789;;:::i;:::-;;;;;;52494:188;52577:4;52285:41;52494:188;;4886:54789;;52494:188;;4886:54789;52483:199;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;52633:38;52285:41;52791:38;;;4886:54789;52791:38;;;52633;52791;;:::i;:::-;4886:54789;;:::i;:::-;;;;;;52703:137;4886:54789;52285:41;52703:137;;4886:54789;;52703:137;;4886:54789;52692:148;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;52633:38;52285:41;52949:38;;;4886:54789;52949:38;;;52633;52949;;:::i;:::-;52861:137;4886:54789;;:::i;52861:137::-;4886:54789;52285:41;52861:137;;4886:54789;;52861:137;;4886:54789;52850:148;;;:::i;:::-;;;;;:::i;53033:68::-;4886:54789;;53223:45;52285:41;53200:72;;;4886:54789;52633:38;53200:72;;2030:14:2;4886:54789:64;53200:72;4886:54789;;;;53200:72;4886:54789;53200:72;336:42:2;53184:89:64;;;;4886:54789;53184:89;4886:54789;;;53184:89;;;;4886:54789;53184:89;;4886:54789;53184:89;;;:::i;:::-;;;;336:42:2;53184:89:64;;;;;;;53283:63;53184:89;4886:54789;53184:89;;;4886:54789;-1:-1:-1;52307:6:64;2030:14:2;53283:27:64;;2030:14:2;;4886:54789:64;;2030:14:2;;53283:27:64;53311:14;4886:54789;52219:5;4886:54789;;;;;53311:14;4886:54789;;;53283:63;;;;;;4886:54789;53283:63;;4886:54789;53283:63;;;:::i;:::-;;;;;;;;;;;4886:54789;53357:14;336:42:2;53357:14:64;;;;4886:54789;;;53357:14;;4886:54789;53357:14;4886:54789;53357:14;;336:42:2;53357:14:64;;;;;;;;4886:54789;53283:63;;;;;4886:54789;53283:63;;;;;;:::i;:::-;;;53184:89;;;;;;;:::i;:::-;;;;52285:41;;;;;;;;;;;;;:::i;:::-;;;52256:19;;;4886:54789;52256:19;;;:::i;:::-;;;;52219:27;;;4886:54789;52219:27;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;35223:47;;:::i;:::-;4886:54789;;35414:29;;;;;;;;;;;;;;;;;;;;4886:54789;35414:29;;;;;4886:54789;;35505:30;;;:::i;:::-;35453:83;336:42:2;35453:83:64;;;;4886:54789;35453:83;4886:54789;;;35453:83;;;;4886:54789;35453:83;;4886:54789;35453:83;;;:::i;:::-;;;;336:42:2;35453:83:64;;;;;;;35650:41;35453:83;;;4886:54789;35600:47;35660:30;35600:47;;:::i;:::-;4886:54789;;;;;35590:58;35660:30;;:::i;:::-;4886:54789;;;;;35650:41;;;:::i;:::-;35957:68;;35738:26;;:::i;35957:68::-;36065:184;;4886:54789;;36161:74;4886:54789;36161:74;;;;;;35873:38;36161:74;;4886:54789;;;;;;;;;;;;;;;;;;36161:74;4886:54789;;36065:184;;;36105:38;4886:54789;36065:184;;;35873:38;36065:184;;;:::i;:::-;336:42:2;36036:223:64;;;;4886:54789;36036:223;4886:54789;;;36036:223;;;;4886:54789;36036:223;;4886:54789;36036:223;;;:::i;:::-;;;;336:42:2;36036:223:64;;;;;;4886:54789;36036:223;;;36269:24;36036:223;;;4886:54789;-1:-1:-1;36269:6:64;2030:14:2;36269::64;;2030::2;;4886:54789:64;;2030:14:2;;36269::64;4886:54789;;;36269:24;;;;;;4886:54789;36269:24;;4886:54789;36269:24;;;:::i;:::-;;;;;;;;;;;4886:54789;36337:65;336:42:2;36337:65:64;;;;4886:54789;36337:65;4886:54789;;;36337:65;;;;4886:54789;36337:65;;4886:54789;36337:65;;;:::i;:::-;;;;336:42:2;36337:65:64;;;;;;;;4886:54789;36269:24;;;;;4886:54789;36269:24;;;;;;:::i;:::-;;;36036:223;;;;;;;:::i;:::-;;;;35453:83;;;4886:54789;35453:83;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;53670:10;4886:54789;53670:5;4886:54789;;;;;53670:10;53681:4;4886:54789;;;53670:27;;;;;;4886:54789;;;53670:27;;4886:54789;;;;53670:27;;4886:54789;36509:6;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;53670:27:64;;;;;;;;4886:54789;-1:-1:-1;53681:4:64;4886:54789;;;336:42:2;53707:19:64;;;;4886:54789;;;53707:19;;4886:54789;;;;;;53707:19;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;53707:19:64;;;;;;;;4886:54789;;;53736:41;;:13;4886:54789;53670:5;4886:54789;;;;;53736:41;;;;;;;;;;;4886:54789;53899:26;54485:68;;53899:26;;:::i;:::-;53986:15;4886:54789;53736:41;4886:54789;;;;;53986:15;4886:54789;;54034:38;53736:41;54034:38;;;4886:54789;54034:38;;;;;;:::i;:::-;4886:54789;;:::i;:::-;;;;;;53946:137;4886:54789;53736:41;53946:137;;4886:54789;;53946:137;;4886:54789;53935:148;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;54034:38;53736:41;54243:38;;;4886:54789;54243:38;;;54034;54243;;:::i;:::-;4886:54789;;:::i;:::-;;;;;;54104:188;52577:4;53736:41;54104:188;;4886:54789;;54104:188;;4886:54789;54093:199;;;:::i;54485:68::-;4886:54789;;54675:45;53736:41;54652:72;;;39736:4;54034:38;54652:72;;4886:54789;;54652:72;4886:54789;;;;54652:72;4886:54789;53736:41;;;;;;;;;;;;;:::i;:::-;;;53707:19;;;4886:54789;53707:19;;;:::i;:::-;;;;53670:27;;;4886:54789;53670:27;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3018:16:9;4886:54789:64;;;;;;;3018:16:9;4886:54789:64;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36594:47;;:::i;:::-;4886:54789;;36785:29;;;;;;;;;;;;;;;;;;;;4886:54789;36785:29;;;;;4886:54789;36876:30;4886:54789;;36876:30;:::i;:::-;336:42:2;36824:83:64;;;;4886:54789;36824:83;4886:54789;;;36824:83;;;;4886:54789;36824:83;;4886:54789;36824:83;;;:::i;:::-;;;;336:42:2;36824:83:64;;;;;;;;4886:54789;36953:26;37172:68;;36953:26;;:::i;37172:68::-;37334:14;4886:54789;37334:9;4886:54789;;;;;37334:14;:45;;;;;;4886:54789;;;37334:45;;37357:4;4886:54789;37334:45;;4886:54789;36509:6;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;37334:45:64;;;;;;;4886:54789;37334:45;;;4886:54789;;37048:6;37389:50;:17;4886:54789;37334:9;4886:54789;;;;;37389:17;37415:6;2030:14:2;37407:15:64;;2030:14:2;;4886:54789:64;;2030:14:2;;37407:15:64;4886:54789;;37389:50;;;;;;4886:54789;37389:50;;4886:54789;37389:50;;4886:54789;36509:6;4886:54789;;;;;;;;;;;;;2030:14:2;4886:54789:64;37389:50;;;;;;;;;;37479:184;37389:50;;;4886:54789;;37479:184;4886:54789;;37575:74;37048:6;37575:74;;;;;;37088:38;37575:74;;4886:54789;;;;;;;;;;;;;;;;;;37575:74;4886:54789;;37479:184;;;37519:38;37048:6;37479:184;;;37088:38;37479:184;;;:::i;:::-;336:42:2;37450:223:64;;;;4886:54789;37450:223;4886:54789;;;37450:223;;;;4886:54789;37450:223;;4886:54789;37450:223;;;:::i;:::-;;;;336:42:2;37450:223:64;;;;;;;37683:51;37450:223;4886:54789;37450:223;;;-1:-1:-1;37415:6:64;2030:14:2;37683:21:64;;2030:14:2;;4886:54789:64;;2030:14:2;;37389:50:64;;;37048:6;37389:50;37048:6;37389:50;;;;;;;:::i;:::-;;;37334:45;;;;;;;:::i;:::-;;;;36824:83;;;4886:54789;36824:83;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;38311:33;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38341:2;4886:54789;;;;;;2030:14:2;4886:54789:64;38311:33;;;4886:54789;38311:33;;;;;4886:54789;;38378:76;;;;;5515:66;38378:76;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;;38378:76;4886:54789;5515:66;;;38378:76;5515:66;38378:76;336:42:2;38465:54:64;;;;4886:54789;;;38465:54;;38481:37;4886:54789;38465:54;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;38465:54:64;;;;;;;;4886:54789;-1:-1:-1;38529:6:64;2030:14:2;38529:25:64;;2030:14:2;;4886:54789:64;;2030:14:2;;38529:25:64;38575:15;4886:54789;38378:76;4886:54789;;;;;38575:15;38529:88;;;;;;4886:54789;;;;38529:88;4886:54789;;38529:88;;;;;;;4886:54789;38529:88;;4886:54789;;38529:88;;;:::i;38465:54::-;;;4886:54789;38465:54;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;16233:83;;;;;5515:66;16233:83;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;16233:83;4886:54789;5515:66;;;16233:83;5515:66;16233:83;16336:4;4886:54789;;;336:42:2;16327:14:64;;;;4886:54789;;;16327:14;;4886:54789;;;;;;16327:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;16327:14:64;;;;;;;;4886:54789;16351:55;336:42:2;16351:55:64;;;;4886:54789;;;16351:55;;16367:38;4886:54789;16351:55;;4886:54789;;;;;;;16351:55;;;;336:42:2;16351:55:64;;;;;;;;4886:54789;-1:-1:-1;16416:6:64;2030:14:2;16416:25:64;;2030:14:2;;4886:54789:64;;2030:14:2;;16416:25:64;4886:54789;16464:18;4886:54789;16472:9;4886:54789;;;;;16464:18;16416:93;;;;;;;4886:54789;;;;;;16416:93;;;;;;4886:54789;16416:93;;4886:54789;16416:93;;;:::i;16351:55::-;;;4886:54789;16351:55;;;:::i;:::-;;;;16327:14;;;4886:54789;16327:14;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4886:54789:64;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;3948:19:9;4886:54789:64;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;3948:19:9;4886:54789:64;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;27902:18;4886:54789;27910:9;4886:54789;;;;;27902:18;4886:54789;;27887:34;;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;27887:34;;;4886:54789;27887:34;;;;;4886:54789;;:::i;:::-;28193:62;336:42:2;28193:62:64;;;;4886:54789;;;28193:62;;28209:45;4886:54789;28193:62;;4886:54789;;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;28193:62:64;;;;;;;4886:54789;28193:62;;;;;4886:54789;;;28347:11;4886:54789;28347:6;4886:54789;;;;;28347:11;4886:54789;28372:258;28459:18;4886:54789;27910:9;4886:54789;;;;;28459:18;28372:258;4886:54789;;28372:258;;;4886:54789;28372:258;;;;4886:54789;28372:258;;4886:54789;28372:258;28121:2;28372:258;;;:::i;:::-;28347:293;;;;;;;:::i;28193:62::-;;;;;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;39586:83;;;;;5515:66;39586:83;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;39586:83;4886:54789;5515:66;;;39586:83;5515:66;39586:83;39710:25;4886:54789;39710:9;4886:54789;;;;;39710:25;:31;;;;;4886:54789;;;39710:31;;4886:54789;39710:31;;;;;;4886:54789;39710:31;;4886:54789;39736:4;4886:54789;;;;;;39710:31;;;;;;;;;;;4886:54789;;39781:153;;4886:54789;;39861:59;39586:83;39861:59;;;;;;39586:83;39861:59;;4886:54789;;;;;;;;;;;;;;;;;;39781:153;336:42:2;39752:192:64;;;;4886:54789;39752:192;4886:54789;;;39752:192;;;;4886:54789;39752:192;;4886:54789;39752:192;;;:::i;:::-;;;;336:42:2;39752:192:64;;;;;;;;4886:54789;-1:-1:-1;39954:6:64;2030:14:2;39954:25:64;;2030:14:2;;4886:54789:64;;2030:14:2;;39954:25:64;4886:54789;40010:18;4886:54789;39710:9;4886:54789;;;;;40010:18;39954:101;;;;;;;4886:54789;;;39544:7;4886:54789;;39954:101;;;;;;4886:54789;39954:101;;4886:54789;39954:101;;;:::i;39752:192::-;;;4886:54789;39752:192;;;:::i;:::-;;;;39710:31;;;4886:54789;39710:31;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;46858:32;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26571:2;4886:54789;;;;;;2030:14:2;4886:54789:64;46858:32;;;4886:54789;46858:32;;;;;4886:54789;;;;46924:34;;;;;;;46858:32;46924:34;;;;;;;;;;;;;4886:54789;;;;;;;;;;46924:34;;;4886:54789;46924:34;;;;;;47024:6;4886:54789;;;47009:36;;;;;4886:54789;;;47009:36;;4886:54789;;;;;;47009:36;;4886:54789;13804:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;47009:36:64;;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;47147:80;;;;;5515:66;47147:80;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;47147:80;4886:54789;5515:66;;;47147:80;5515:66;47147:80;4886:54789;47395:34;:20;4886:54789;47024:6;4886:54789;;;;;47395:34;4886:54789;;47395:112;;;;;;;4886:54789;;;;;;;47395:112;;;;;;4886:54789;47395:112;;;;4886:54789;47395:112;;;:::i;:::-;;;;;;;;;;;4886:54789;;;;47527:23;4886:54789;47527:23;;47147:80;47527:23;4886:54789;47527:23;;;;;;;;;47617:27;47527:23;47552:12;47527:23;4886:54789;47527:23;;;47552:12;;:::i;:::-;47147:80;4886:54789;47024:6;4886:54789;;;;;;;;;47617:27;;4886:54789;;;;;47617:27;;4886:54789;;;;;;;;;;;47395:112;;;4886:54789;47395:112;;;:::i;:::-;;;;47009:36;;;4886:54789;47009:36;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;38716:83;;;;;5515:66;38716:83;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;38716:83;4886:54789;5515:66;;;38716:83;5515:66;38716:83;38819:6;4886:54789;;;336:42:2;38810:16:64;;;;4886:54789;;;38810:16;;4886:54789;;;;;;38810:16;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;38810:16:64;;;;;;;;4886:54789;38836:55;336:42:2;38836:55:64;;;;4886:54789;;;38836:55;;16367:38;4886:54789;38836:55;;4886:54789;;;;;;;38836:55;;;;336:42:2;38836:55:64;;;;;;;;4886:54789;;38901:34;:20;4886:54789;38819:6;4886:54789;;;;;38901:34;4886:54789;38948:18;4886:54789;38956:9;4886:54789;;;;;38948:18;38901:92;;;;;;;4886:54789;;;;;;38901:92;;;;;;4886:54789;38901:92;;4886:54789;38901:92;;;:::i;38836:55::-;;;4886:54789;38836:55;;;:::i;:::-;;;;38810:16;;;4886:54789;38810:16;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;30998:4;4886:54789;;;336:42:2;30989:14:64;;;;4886:54789;;;30989:14;;4886:54789;;;;;;30989:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;30989:14:64;;;;;;;;4886:54789;;;31013:50;;:17;4886:54789;31013:9;4886:54789;;;;;31013:50;;;;;;;;;;;4886:54789;31114:31;31353:81;;31114:31;;:::i;:::-;31211:15;4886:54789;31013:50;4886:54789;;;;;31211:15;4886:54789;;31269:38;31013:50;31269:38;;;4886:54789;31269:38;;;;;;:::i;:::-;31166:152;4886:54789;;:::i;31166:152::-;4886:54789;31013:50;31166:152;;4886:54789;;;31166:152;;4886:54789;31166:152;;;4886:54789;31155:163;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;31353:81;;;;31013:50;31353:81;;;31269:38;31353:81;;;:::i;:::-;30998:4;4886:54789;;;336:42:2;31445:29:64;;;;4886:54789;;;31445:29;;4886:54789;;;;;;31445:29;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;31445:29:64;;;;;;;;4886:54789;-1:-1:-1;30998:4:64;4886:54789;;;336:42:2;31484:14:64;;;;4886:54789;;;31484:14;;4886:54789;;;;;;31484:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;31484:14:64;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;31547:36;31013:50;31524:79;;;4886:54789;31269:38;31524:79;;2030:14:2;30971:7:64;4886:54789;;;2030:14:2;4886:54789:64;31524:79;4886:54789;;;;31524:79;4886:54789;31524:79;336:42:2;31508:96:64;;;;4886:54789;31508:96;4886:54789;;;31508:96;;;;4886:54789;31508:96;;4886:54789;31508:96;;;:::i;:::-;;;;336:42:2;31508:96:64;;;;;;;31614:74;31508:96;4886:54789;31508:96;;;4886:54789;-1:-1:-1;31039:6:64;2030:14:2;31614:21:64;;2030:14:2;;4886:54789:64;;2030:14:2;;31614:21:64;31659:18;4886:54789;31013:9;4886:54789;;;;;31659:18;30971:7;4886:54789;;31614:74;;;;;;4886:54789;31614:74;;4886:54789;31614:74;;;:::i;31508:96::-;;;;;;;:::i;:::-;;;;31484:14;;;4886:54789;31484:14;;;:::i;:::-;;;;31445:29;;;4886:54789;31445:29;;;:::i;:::-;;;;31013:50;;;;;;;;;;;;;:::i;:::-;;;30989:14;;;4886:54789;30989:14;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;15715:14;4886:54789;15715:9;4886:54789;;;;;15715:14;:38;;;;;4886:54789;;;15715:38;;15738:4;4886:54789;15715:38;;4886:54789;31808:7;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;15715:38:64;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;15788:80;;;;;5515:66;15788:80;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;15788:80;4886:54789;5515:66;;;15788:80;5515:66;15788:80;15908:101;;15981:15;2030:14:2;15989:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;15981:15:64;4886:54789;;15931:48;15788:80;15908:101;;;4886:54789;;;;15788:80;15908:101;;4886:54789;-1:-1:-1;2030:14:2;;;;15701:4:64;2030:14:2;;;;4886:54789:64;;;2030:14:2;;;;;15908:101:64;336:42:2;15879:140:64;;;;4886:54789;15879:140;4886:54789;;;15879:140;;;;4886:54789;15879:140;;4886:54789;15879:140;;;:::i;:::-;;;;336:42:2;15879:140:64;;;;;;;;4886:54789;-1:-1:-1;15989:6:64;2030:14:2;16029:25:64;;2030:14:2;;4886:54789:64;;2030:14:2;;16029:25:64;4886:54789;16055:18;4886:54789;15715:9;4886:54789;;;;;16055:18;4886:54789;16075:15;4886:54789;15788:80;4886:54789;;;;;16075:15;16029:88;;;;;;;4886:54789;;;;;;16029:88;;;;;;;4886:54789;16029:88;;4886:54789;16029:88;;;:::i;15879:140::-;;;4886:54789;15879:140;;;:::i;:::-;;;;15715:38;;;4886:54789;15715:38;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;45878:28;;4886:54789;45899:6;4886:54789;;;;;45878:28;;:::i;:::-;45899:6;4886:54789;;;336:42:2;45979:24:64;;;;4886:54789;;;45979:24;;4886:54789;;;;;;45979:24;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;45979:24:64;;;;;;;;4886:54789;;46137:78;;4886:54789;;46063:34;;;;;;;;5621:48;45934:35;5621:48;;;;2030:14:2;5621:48:64;2030:14:2;;5621:48:64;2030:14:2;5621:48:64;46063:34;4886:54789;46053:45;;4886:54789;;46137:78;;;46063:34;46137:78;;5713:19;;;;;5729:1;5713:19;;;2030:14:2;5713:19:64;;;;;;;;2030:14:2;5713:19:64;;;;;-1:-1:-1;5713:19:64;;;;;;;46137:78;46252:20;:15;2030:14:2;46260:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;46252:20:64;4886:54789;;45899:6;4886:54789;;;;;;336:42:2;46282:30:64;;;;;4886:54789;;;;;46282:30;;;;;4886:54789;46282:30;;4886:54789;46282:30;;;:::i;:::-;;;;336:42:2;46282:30:64;;;;;;;;4886:54789;;46360:35;4886:54789;;;;;46335:11;4886:54789;45899:6;4886:54789;;;;;46335:11;:15;;;;:::i;:::-;;5713:19;;:::i;:::-;46360:35;;:::i;:::-;45899:6;4886:54789;;;336:42:2;46405:27:64;;;;;4886:54789;;;;;46405:27;;;;;4886:54789;46405:27;;4886:54789;46405:27;;;:::i;:::-;;;;336:42:2;46405:27:64;;;;;;;;4886:54789;;46480:97;;4886:54789;46567:9;4886:54789;;;;;;;;;46063:34;46480:97;;;4886:54789;46480:97;;;2030:14:2;;;5713:19:64;;;4886:54789;;;;;5713:19;;;4886:54789;;;;5713:19;;;;;46480:97;46588:54;:27;4886:54789;45899:6;4886:54789;;;;;46588:54;:85;;;;;4886:54789;;;46588:85;;4886:54789;;;;;;;;46588:85;4886:54789;;46588:85;;;:::i;:::-;;;;;;;;;;;4886:54789;46684:27;46693:14;4886:54789;45899:6;4886:54789;;;;;46684:27;46721:36;46730:17;4886:54789;46567:9;4886:54789;;;;;46588:85;;;4886:54789;46588:85;;;:::i;:::-;;;;46405:27;;;4886:54789;46405:27;;;:::i;:::-;;;;46282:30;;;4886:54789;46282:30;;;:::i;:::-;;;;45979:24;;;4886:54789;45979:24;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;55118:10;4886:54789;55118:5;4886:54789;;;;;55118:10;55129:4;4886:54789;;;55118:27;;;;;;4886:54789;;;55118:27;;4886:54789;;;;55118:27;;4886:54789;36509:6;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;55118:27:64;;;;;;;;4886:54789;-1:-1:-1;55129:4:64;4886:54789;;;336:42:2;55155:19:64;;;;4886:54789;;;55155:19;;4886:54789;;;;;;55155:19;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;55155:19:64;;;;;;;;4886:54789;;;55184:41;;:13;4886:54789;55118:5;4886:54789;;;;;55184:41;;;;;;;;;;;4886:54789;55345:26;55931:68;;55345:26;;:::i;:::-;55432:15;4886:54789;55184:41;4886:54789;;;;;55432:15;4886:54789;;55480:38;55184:41;55480:38;;;4886:54789;55480:38;;;;;;:::i;:::-;4886:54789;;:::i;:::-;;;;;;55392:137;4886:54789;55184:41;55392:137;;4886:54789;;55392:137;;4886:54789;55381:148;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;55480:38;55184:41;55638:38;;;4886:54789;55638:38;;;55480;55638;;:::i;:::-;4886:54789;;:::i;:::-;;;;;;55550:137;4886:54789;55184:41;55550:137;;4886:54789;;55550:137;;4886:54789;55539:148;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;55480:38;55184:41;55847:38;;;4886:54789;55847:38;;;55480;55847;;:::i;:::-;55708:188;4886:54789;;:::i;55708:188::-;52577:4;55184:41;55708:188;;4886:54789;;55708:188;;4886:54789;55697:199;;;:::i;55931:68::-;4886:54789;;56121:45;55184:41;56098:72;;;55703:1;55480:38;56098:72;;2030:14:2;4886:54789:64;56098:72;4886:54789;;;;56098:72;4886:54789;55184:41;;;;;;;;;;;;;:::i;:::-;;;55155:19;;;4886:54789;55155:19;;;:::i;:::-;;;;55118:27;;;4886:54789;55118:27;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;;;3794:16:9;4886:54789:64;;;;;;;3794:16:9;4886:54789:64;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:18:9;4886:54789:64;;;;;;;3501:18:9;4886:54789:64;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;25027:46;25004:90;;;;4886:54789;25004:90;;;4886:54789;25004:90;4886:54789;;;;25004:90;4886:54789;25004:90;336:42:2;24988:107:64;;;;4886:54789;24988:107;4886:54789;;;24988:107;;;;4886:54789;24988:107;;4886:54789;24988:107;;;:::i;:::-;;;;336:42:2;24988:107:64;;;;;;;;4886:54789;;25105:54;:27;4886:54789;25125:6;4886:54789;;;;;25105:54;:84;;;;;4886:54789;;;25105:84;;4886:54789;;;;;;;;25105:84;4886:54789;;25105:84;;;:::i;24988:107::-;;;4886:54789;24988:107;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;21245:28;;4886:54789;21266:6;4886:54789;;;;;21245:28;21266:6;4886:54789;;;336:42:2;21336:24:64;;;;4886:54789;;;21336:24;;4886:54789;;;;;;21336:24;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;21336:24:64;;;;;;;;4886:54789;21515:131;5621:48;4886:54789;21515:131;21301:25;21515:131;;21833:231;;4886:54789;;21515:131;4886:54789;;21833:231;;;21515:131;21833:231;;5713:19;;;;;5729:1;5713:19;;;2030:14:2;5713:19:64;;;;;;;;2030:14:2;5713:19:64;;;;;-1:-1:-1;5713:19:64;;;;;;;21833:231;22101:20;:15;2030:14:2;22109:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;22101:20:64;4886:54789;;21266:6;4886:54789;;;;;;336:42:2;22131:30:64;;;;;4886:54789;;;;;22131:30;;;;;4886:54789;22131:30;;4886:54789;22131:30;;;:::i;:::-;;;;336:42:2;22131:30:64;;;;;;;;4886:54789;;22209:35;4886:54789;;;;;22184:11;4886:54789;21266:6;4886:54789;;;;;22209:35;21266:6;4886:54789;;;336:42:2;22254:27:64;;;;;4886:54789;;;;;22254:27;;;;;4886:54789;22254:27;;4886:54789;22254:27;;;:::i;:::-;;;;336:42:2;22254:27:64;;;;;;;;4886:54789;;22324:103;;4886:54789;22417:9;4886:54789;;;;;22324:103;336:42:2;22437:39:64;;;;4886:54789;;;22437:39;;4886:54789;22437:39;;;4886:54789;22437:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;22437:39;;;;336:42:2;22437:39:64;;;;;;;;4886:54789;;;;22417:9;4886:54789;;;;;;;;22491:37;4886:54789;;22491:37;;;4886:54789;24422:7;4886:54789;;;2030:14:2;;4886:54789:64;22491:37;;;;22538:54;:27;4886:54789;21266:6;4886:54789;;;;;22538:54;:80;;;;;4886:54789;;;22538:80;;4886:54789;;;;;;;;22538:80;4886:54789;;22538:80;;;:::i;22437:39::-;;;4886:54789;22437:39;;;:::i;:::-;;;;22254:27;;;4886:54789;22254:27;;;:::i;:::-;;;;22131:30;;;4886:54789;22131:30;;;:::i;:::-;;;;21336:24;;;4886:54789;21336:24;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;8739:26;9036:24;8958:68;;8739:26;;:::i;:::-;8826:15;4886:54789;8834:6;4886:54789;;;;;8826:15;4886:54789;;8874:38;8834:6;8874:38;;;4886:54789;8874:38;;;;;;:::i;:::-;8786:137;4886:54789;;:::i;8786:137::-;;8834:6;8786:137;;4886:54789;;8786:137;;4886:54789;8775:148;;;:::i;8958:68::-;9036:6;2030:14:2;9036::64;;2030::2;;4886:54789:64;;2030:14:2;;4886:54789:64;;;;;;;;;;;;;17319:83;;;;;5515:66;17319:83;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;17319:83;4886:54789;5515:66;;;17319:83;5515:66;17319:83;17421:6;4886:54789;;;336:42:2;17413:24:64;;;;4886:54789;;;17413:24;;4886:54789;;;;;;17413:24;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;17413:24:64;;;;;;;;4886:54789;-1:-1:-1;17421:6:64;4886:54789;;;336:42:2;17447:16:64;;;;4886:54789;;;17447:16;;4886:54789;;;;;;17447:16;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;17447:16:64;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;17512:36;17319:83;17489:72;;;4886:54789;17319:83;17489:72;;2030:14:2;30971:7:64;4886:54789;;;2030:14:2;17489:72:64;4886:54789;;;;17489:72;4886:54789;17489:72;336:42:2;17473:89:64;;;;4886:54789;17473:89;4886:54789;;;17473:89;;;;4886:54789;17473:89;;4886:54789;17473:89;;;:::i;:::-;;;;336:42:2;17473:89:64;;;;;;;;4886:54789;;17572:34;:20;4886:54789;17421:6;4886:54789;;;;;17572:34;4886:54789;17635:18;4886:54789;17643:9;4886:54789;;;;;17635:18;17572:108;;;;;;;4886:54789;;;17429:7;4886:54789;;17572:108;;;;;;4886:54789;17572:108;;4886:54789;17572:108;;;:::i;17473:89::-;;;4886:54789;17473:89;;;:::i;:::-;;;;17447:16;;;4886:54789;17447:16;;;:::i;:::-;;;;17413:24;;;4886:54789;17413:24;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;14440:32;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26571:2;4886:54789;;;;;;2030:14:2;4886:54789:64;14440:32;;;4886:54789;14440:32;;;;;4886:54789;;;;14506:34;;;;;;;14440:32;14506:34;;;;;;;;;;;;;4886:54789;;;;;;;;;;14506:34;;;4886:54789;14506:34;;;;;14633:43;;;;;4886:54789;;;14633:43;;14656:4;4886:54789;14633:43;;4886:54789;13804:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;14633:43:64;;;;;;;;;4886:54789;2030:14:2;14686:48:64;;14704:15;2030:14:2;14712:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;14686:48:64;;;4886:54789;14686:48;;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;14769:80;14686:48;14769:80;;;5515:66;14769:80;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;;14769:80;4886:54789;5515:66;;;14769:80;;;;;;;;;:::i;:::-;4886:54789;;14899:36;14686:48;14876:79;;;4886:54789;14769:80;14876:79;;2030:14:2;30971:7:64;4886:54789;;;2030:14:2;14876:79:64;4886:54789;;;;14876:79;4886:54789;14876:79;336:42:2;14860:96:64;;;;4886:54789;14860:96;4886:54789;;;14860:96;;;;4886:54789;14860:96;;4886:54789;14860:96;;;:::i;:::-;;;;336:42:2;14860:96:64;;;;;;;;4886:54789;-1:-1:-1;14712:6:64;2030:14:2;14966:25:64;;2030:14:2;;4886:54789:64;;2030:14:2;;14966:25:64;:137;;;;;4886:54789;14616:7;4886:54789;;14966:137;4886:54789;;14966:137;;;;;;;4886:54789;14966:137;;4886:54789;14966:137;4886:54789;14966:137;;;:::i;14860:96::-;;;4886:54789;14860:96;;;:::i;:::-;;;;14686:48;;;;;;;;;;;;;:::i;:::-;;;14633:43;;;4886:54789;14633:43;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;49627:23;;;;;;;;;;;;;;;;;;;;4886:54789;49627:23;;;;;49669:6;4886:54789;;;336:42:2;49661:24:64;;;;4886:54789;;;49661:24;;4886:54789;;;;;;49661:24;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;49661:24:64;;;;;;;;4886:54789;49788:59;336:42:2;49788:59:64;;;;4886:54789;;;49788:59;;49804:42;4886:54789;49788:59;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;49788:59:64;;;;;;;;4886:54789;;49857:26;:20;4886:54789;49669:6;4886:54789;;;;;49857:26;:66;;;;;4886:54789;;;49857:66;;4886:54789;;49857:66;;4886:54789;;;;;;;;;;;;;;;;;;;;;;49857:66;4886:54789;49788:59;;;4886:54789;49788:59;;;:::i;:::-;;;;49661:24;;;4886:54789;49661:24;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;41908:10;4886:54789;41908:5;4886:54789;;;;;41908:10;41919:6;4886:54789;;;41908:26;;;;;;4886:54789;;;41908:26;;4886:54789;;;;41908:26;;4886:54789;20340:10;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;41908:26:64;;;;;;;;4886:54789;41945:39;336:42:2;41945:39:64;;;;4886:54789;;;41945:39;;4886:54789;41945:39;;;4886:54789;41945:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;41945:39;;;;336:42:2;41945:39:64;;;;;;;;4886:54789;;41736:5;4886:54789;42012:14;4886:54789;41908:5;4886:54789;;;;;42012:14;4886:54789;41999:70;4886:54789;;41999:70;;;4886:54789;41819:10;4886:54789;;;;2030:14:2;41865:10:64;2030:14:2;;4886:54789:64;2030:14:2;4886:54789:64;41999:70;;;;336:42:2;42079:39:64;;;;4886:54789;;;42079:39;;4886:54789;42079:39;;;4886:54789;42079:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;42079:39;;;;336:42:2;42079:39:64;;;;;;;;4886:54789;;41736:5;4886:54789;42140:14;4886:54789;41908:5;4886:54789;;;;;42140:14;4886:54789;42133:47;4886:54789;;42133:47;;;4886:54789;41819:10;4886:54789;;;2030:14:2;;4886:54789:64;42133:47;;;;336:42:2;42222:39:64;;;;4886:54789;;;42222:39;;4886:54789;42222:39;;;4886:54789;42222:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;42222:39;;;;336:42:2;42222:39:64;;;;;;;;4886:54789;;42291:14;4886:54789;41908:5;4886:54789;;;;;42291:14;41785:5;41736;4886:54789;;42276:91;4886:54789;;;42276:91;;;;4886:54789;;;;;;2030:14:2;41865:10:64;2030:14:2;;41819:10:64;4886:54789;;;2030:14:2;4886:54789:64;2030:14:2;4886:54789:64;42276:91;;;;42378:35;:20;4886:54789;41919:6;4886:54789;;;;;42378:35;:101;;;;;4886:54789;;;42378:101;;4886:54789;;;;42378:101;;4886:54789;;;;;;41865:10;4886:54789;;;2030:14:2;4886:54789:64;;;;;;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;42378:101:64;;;;;;;;4886:54789;;42499:15;4886:54789;41908:5;4886:54789;;;;;42499:15;:23;;4886:54789;41919:6;4886:54789;;;;;42499:23;;;;;;;;;;42490:36;42499:23;4886:54789;42499:23;;;42490:36;;:::i;:::-;4886:54789;;;42545:32;;4886:54789;;42545:32;;4886:54789;42499:23;4886:54789;;;42545:32;;;;;;;42579:6;42545:32;4886:54789;42545:32;;;4886:54789;42579:6;;:::i;:::-;42499:23;4886:54789;;42605:31;;4886:54789;42605:31;;;;;4886:54789;42605:31;;4886:54789;;;;;;;;42605:31;;;;;;;;;42596:44;42605:31;4886:54789;42605:31;;;42596:44;;:::i;42605:31::-;;;;42499:23;42605:31;42499:23;42605:31;;;;;;;:::i;:::-;;;;42545:32;;;;42499:23;42545:32;42499:23;42545:32;;;;;;;:::i;:::-;;;;42499:23;;;;;;;;;;;;;;:::i;:::-;;;;42378:101;;;4886:54789;42378:101;;;:::i;:::-;;;;42222:39;;;4886:54789;42222:39;;;:::i;:::-;;;;42079;;;4886:54789;42079:39;;;:::i;:::-;;;;41945;;;4886:54789;41945:39;;;:::i;:::-;;;;41908:26;;;4886:54789;41908:26;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;17791:83;;;;;5515:66;17791:83;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;17791:83;4886:54789;5515:66;;;17791:83;5515:66;17791:83;336:42:2;17885:55:64;;;;4886:54789;;;17885:55;;16367:38;4886:54789;17885:55;;4886:54789;;;;;;;17885:55;4886:54789;;;;;;;;;;;;20858:20:6;4886:54789:64;;:::i;:::-;20858:20:6;:::i;:::-;8262:26:64;;;:::i;:::-;8349:15;4886:54789;8357:6;4886:54789;;;;;8349:15;4886:54789;;8397:38;8357:6;8397:38;;;4886:54789;8397:38;;;;;;:::i;:::-;8309:137;4886:54789;;:::i;8309:137::-;4886:54789;8357:6;8309:137;;4886:54789;;8309:137;;4886:54789;8298:148;;;:::i;:::-;;;;;:::i;:::-;;336:42:2;8457:13:64;;;;4886:54789;;;8457:13;;4886:54789;;;;;;8457:13;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;8457:13:64;;;;;;;8504:68;;8582:24;8457:13;4886:54789;8457:13;;;;;4886:54789;;;8504:68;;;;8357:6;8504:68;;;8397:38;8504:68;;;:::i;8457:13::-;;;;;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;5445:32;4886:54789;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4886:54789:64;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3346:26:9;4886:54789:64;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;3346:26:9;4886:54789:64;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40167:32;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26571:2;4886:54789;;;;;;2030:14:2;4886:54789:64;40167:32;;;4886:54789;40167:32;;;;;4886:54789;;;;40233:34;;;;;;;40167:32;40233:34;;;;;;;;;;;;;4886:54789;;;;;;;;;;40233:34;;;4886:54789;40233:34;;;;;;40318:43;;;;;4886:54789;;;40318:43;;40341:4;4886:54789;40318:43;;4886:54789;13804:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;40318:43:64;;;;;;;;;4886:54789;2030:14:2;40371:48:64;;40389:15;2030:14:2;40397:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;40371:48:64;;;4886:54789;40371:48;;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;40454:80;40371:48;40454:80;;;5515:66;40454:80;;;2030:14:2;4886:54789:64;5515:66;;;;4886:54789;;;;40454:80;;4886:54789;;;40454:80;5515:66;4886:54789;40454:80;:::i;:::-;4886:54789;40575:32;;;;;;4886:54789;;;40575:32;;39736:4;4886:54789;40575:32;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;40575:32:64;;;;;;;;;4886:54789;;40647:153;;4886:54789;;40727:59;40371:48;40727:59;;;;;;40454:80;40727:59;;4886:54789;;;;;;;;;;;;;;;;;;40647:153;336:42:2;40618:192:64;;;;4886:54789;40618:192;4886:54789;;;40618:192;;;;4886:54789;40618:192;;4886:54789;40618:192;;;:::i;:::-;;;;336:42:2;40618:192:64;;;;;;;;4886:54789;-1:-1:-1;40397:6:64;2030:14:2;40820:25:64;;2030:14:2;;4886:54789:64;;2030:14:2;;40820:25:64;:92;;;;;;4886:54789;;;;;;40820:92;;;;;;;4886:54789;40820:92;;4886:54789;40820:92;;;:::i;40618:192::-;;;4886:54789;40618:192;;;:::i;:::-;;;;40575:32;;;4886:54789;40575:32;;;:::i;:::-;;;;40371:48;;;;;;;;;;;;;:::i;:::-;;;40318:43;;;4886:54789;40318:43;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;59342:68;;59072:26;;:::i;:::-;59159:15;4886:54789;59167:6;4886:54789;;;;;59159:15;4886:54789;;59258:38;59167:6;59258:38;;;4886:54789;59258:38;;;;;;:::i;:::-;59119:188;4886:54789;;:::i;59119:188::-;52577:4;59167:6;59119:188;;4886:54789;;59119:188;;4886:54789;59108:199;;;:::i;59342:68::-;4886:54789;;59532:45;59167:6;59509:72;;;4886:54789;59258:38;59509:72;;2030:14:2;59509:72:64;4886:54789;;;;59509:72;4886:54789;59509:72;336:42:2;59493:89:64;;;;4886:54789;59493:89;4886:54789;;;59493:89;;;;4886:54789;59493:89;;4886:54789;59493:89;;;:::i;:::-;;;;336:42:2;59493:89:64;;;;;;59627:7;59493:89;4886:54789;59493:89;59592:74;59493:89;;;-1:-1:-1;59592:6:64;2030:14:2;59592:27:64;;2030:14:2;;4886:54789:64;;2030:14:2;;4886:54789:64;;;;;;;;;;;;;27238:32;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26571:2;4886:54789;;;;;;2030:14:2;4886:54789:64;27238:32;;;4886:54789;27238:32;;;;;4886:54789;;;;27342:30;;;;;;;27238:32;27342:30;;;;;;;;;;;;;4886:54789;;;;;;;;;;27342:30;;;4886:54789;27342:30;;;;;4886:54789;;27406:68;4886:54789;27406:68;;;;;;;;;;4886:54789;;;;;;2030:14:2;27458:3:64;2030:14:2;;4886:54789:64;;;27406:68;336:42:2;27485:54:64;;;;4886:54789;;;27485:54;;38481:37;4886:54789;27485:54;;4886:54789;;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;27485:54:64;;;;;;4886:54789;27485:54;;;;;;;4886:54789;;27656:106;27631:11;4886:54789;27631:6;4886:54789;;;;;27631:11;4886:54789;27656:106;4886:54789;;27656:106;;;4886:54789;27406:68;27656:106;;;4886:54789;27656:106;;4886:54789;27656:106;27406:68;27656:106;;;:::i;27485:54::-;;;;;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;51092:10;4886:54789;51092:5;4886:54789;;;;;51092:10;51103:4;4886:54789;;;51092:27;;;;;;4886:54789;;;51092:27;;4886:54789;;;;51092:27;;4886:54789;36509:6;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;51092:27:64;;;;;;;;4886:54789;-1:-1:-1;51103:4:64;4886:54789;;;336:42:2;51129:19:64;;;;4886:54789;;;51129:19;;4886:54789;;;;;;51129:19;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;51129:19:64;;;;;;;;4886:54789;;;51158:41;;:13;4886:54789;51092:5;4886:54789;;;;;51158:41;;;;;;;;;;;4886:54789;51314:26;51584:68;;51314:26;;:::i;51158:41::-;;;;;;;;;;;;;:::i;:::-;;;51129:19;;;4886:54789;51129:19;;;:::i;:::-;;;;51092:27;;;4886:54789;51092:27;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;47819:32;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26571:2;4886:54789;;;;;;2030:14:2;4886:54789:64;47819:32;;;4886:54789;47819:32;;;;;4886:54789;;;;47885:34;;;;;;;47819:32;47885:34;;;;;;;;;;;;;4886:54789;;;;;;;;;;47885:34;;;4886:54789;47885:34;;;;;;47985:6;4886:54789;;;47970:36;;;;;4886:54789;;;47970:36;;4886:54789;;;;;;47970:36;;4886:54789;13804:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;47970:36:64;;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;48041:80;;;;;5515:66;48041:80;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;;48041:80;4886:54789;5515:66;;;48041:80;5515:66;48041:80;336:42:2;48209:39:64;;;;4886:54789;;48209:39;4886:54789;48209:39;;4886:54789;48209:39;;;4886:54789;48209:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;48209:39;;;;336:42:2;48209:39:64;;;;;;;4886:54789;48209:39;;;4886:54789;;;;;;48263:133;4886:54789;;48263:133;;;4886:54789;;5515:66;2030:14:2;;47953:7:64;4886:54789;;;2030:14:2;4886:54789:64;;;;2030:14:2;48223:4:64;4886:54789;;;;;;;;;;;;;;;;;48263:133;;;;48407:34;:20;4886:54789;47985:6;4886:54789;;;;;48407:34;:112;;;;;;4886:54789;;;;;;;48407:112;;;;;;4886:54789;48407:112;;;;4886:54789;48407:112;;;:::i;48209:39::-;;;4886:54789;48209:39;;;:::i;:::-;;;;47970:36;;;4886:54789;47970:36;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;24447:6;4886:54789;;;336:42:2;24439:23:64;;;;4886:54789;;;24439:23;;4886:54789;;;;;;24439:23;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;24439:23:64;;;;;;;;4886:54789;;24493:74;;4886:54789;24557:9;4886:54789;;;;;;;;24516:27;24493:74;;;;4886:54789;24493:74;;;4886:54789;;;;;;;;;;;;;;;;;24493:74;336:42:2;24578:39:64;;;;4886:54789;;;24578:39;;4886:54789;24578:39;;;4886:54789;24578:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;24578:39;;;;336:42:2;24578:39:64;;;;;;;;4886:54789;;;;24557:9;4886:54789;;;;;;;;24632:36;4886:54789;;24632:36;;;4886:54789;24422:7;4886:54789;;;2030:14:2;;4886:54789:64;24632:36;;;;24679:54;:27;4886:54789;24447:6;4886:54789;;;;;24679:54;:84;;;;;4886:54789;;;24679:84;;4886:54789;;;;;;;;24679:84;4886:54789;;24679:84;;;:::i;24578:39::-;;;4886:54789;24578:39;;;:::i;:::-;;;;24439:23;;;4886:54789;24439:23;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;26096:18;4886:54789;26104:9;4886:54789;;;;;26096:18;26124:33;4886:54789;26148:9;4886:54789;;;;;26124:33;26168:60;336:42:2;26168:60:64;;;;4886:54789;;;26168:60;;26184:43;4886:54789;26168:60;;4886:54789;;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;26168:60:64;;;;;;;4886:54789;26168:60;;;;;4886:54789;;;26344:92;;26332:11;4886:54789;26332:6;4886:54789;;;;;26332:11;4886:54789;;;26344:92;;;;;;26043:27;26344:92;;;2030:14:2;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;26168:60;;;;;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3162:18:9;4886:54789:64;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3162:18:9;4886:54789:64;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;34369:4;4886:54789;;;336:42:2;34360:14:64;;;;4886:54789;;;34360:14;;4886:54789;;;;;;34360:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;34360:14:64;;;;;;;;4886:54789;;;34384:50;;:17;4886:54789;34384:9;4886:54789;;;;;34384:50;;;;;;;;;;;4886:54789;34485:31;34724:81;;34485:31;;:::i;34724:81::-;34369:4;4886:54789;;;336:42:2;34816:29:64;;;;4886:54789;;;34816:29;;4886:54789;;;;;;34816:29;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;34816:29:64;;;;;;;;4886:54789;-1:-1:-1;34369:4:64;4886:54789;;;336:42:2;34855:14:64;;;;4886:54789;;;34855:14;;4886:54789;;;;;;34855:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;34855:14:64;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;34918:36;34384:50;34895:79;;;4886:54789;34640:38;34895:79;;2030:14:2;30971:7:64;4886:54789;;;2030:14:2;4886:54789:64;34895:79;4886:54789;;;;34895:79;4886:54789;34895:79;336:42:2;34879:96:64;;;;4886:54789;34879:96;4886:54789;;;34879:96;;;;4886:54789;34879:96;;4886:54789;34879:96;;;:::i;:::-;;;;336:42:2;34879:96:64;;;;;;;34985;34879;4886:54789;34879:96;;;4886:54789;-1:-1:-1;34410:6:64;2030:14:2;34985:27:64;;2030:14:2;;4886:54789:64;;2030:14:2;;34985:27:64;35036:18;4886:54789;34384:9;4886:54789;;;;;35036:18;34342:7;4886:54789;;34985:96;;;;;;4886:54789;34985:96;;4886:54789;34985:96;;;:::i;34879:::-;;;;;;;:::i;:::-;;;;34855:14;;;4886:54789;34855:14;;;:::i;:::-;;;;34816:29;;;4886:54789;34816:29;;;:::i;:::-;;;;34384:50;;;;;;;;;;;;;:::i;:::-;;;34360:14;;;4886:54789;34360:14;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;9804:4;4886:54789;;;336:42:2;9795:14:64;;;;4886:54789;;;9795:14;;4886:54789;;;;;9795:14;;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;9795:14:64;;;;;;;;4886:54789;;;9819:50;;:17;4886:54789;9819:9;4886:54789;;;;;9819:50;;;;;;;;;;;4886:54789;9915:26;10134:68;;9915:26;;:::i;10134:68::-;9804:4;4886:54789;;;10213:14;336:42:2;10213:14:64;;;;4886:54789;;;10213:14;;4886:54789;;;;;9795:14;10213;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;10213:14:64;;;;;;;10237:73;10213:14;4886:54789;10213:14;;;4886:54789;-1:-1:-1;9845:6:64;2030:14:2;10237:27:64;;2030:14:2;;4886:54789:64;;2030:14:2;;10237:27:64;10265:18;4886:54789;9819:9;4886:54789;;;;;10265:18;4886:54789;;;10237:73;;;;;;4886:54789;10237:73;;9795:14;10237:73;;;:::i;:::-;;;;;;;;;;;4886:54789;;10402:36;:19;4886:54789;9819:9;4886:54789;;;;;10402:19;9819:50;10422:15;2030:14:2;9845:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;10422:15:64;4886:54789;;;10402:36;;4886:54789;;;;9795:14;10402:36;;4886:54789;;;;;;;;;;;10402:36;;;;;;;;;;;10393:49;9819:50;10402:36;10536:25;10402:36;4886:54789;10402:36;;;10393:49;;:::i;:::-;9804:4;4886:54789;;;;;;;10536:25;;;;;4886:54789;10536:25;;9795:14;10536:25;;4886:54789;;;;;;;;;;;;10402:36;;;;;;;;;;;;;;:::i;10237:73::-;;;;;4886:54789;10237:73;;;;;;:::i;:::-;;;10213:14;;;;;;;:::i;:::-;;;;9819:50;;;;;;;;;;;;;:::i;:::-;;;9795:14;;;4886:54789;9795:14;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;28763:18;4886:54789;28771:9;4886:54789;;;;;28763:18;4886:54789;;28748:34;;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;28748:34;;;4886:54789;28748:34;;;;;4886:54789;;;28999:81;;;;28885:10;28999:81;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;;28999:81;4886:54789;5515:66;;;28999:81;5515:66;28999:81;336:42:2;29091:58:64;;;;4886:54789;;;29091:58;;29107:41;4886:54789;29091:58;;4886:54789;;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;29091:58:64;;;;;;;4886:54789;29091:58;;;;;4886:54789;;;29241:11;4886:54789;29241:6;4886:54789;;;;;29241:11;4886:54789;29266:158;29337:18;4886:54789;28771:9;4886:54789;;;;;29337:18;29266:158;4886:54789;;29266:158;;;4886:54789;28999:81;29266:158;;;4886:54789;29266:158;;4886:54789;29266:158;28999:81;29266:158;;;:::i;29091:58::-;;;;;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;13071:4;4886:54789;;;336:42:2;13062:14:64;;;;4886:54789;;;13062:14;;4886:54789;;;;;;13062:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;13062:14:64;;;;;;;;4886:54789;13171:7;4886:54789;2030:14:2;;;13044:7:64;13104:15;2030:14:2;13112:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;13104:15:64;:46;;;;:::i;:::-;;13171:7;:::i;:::-;13224:13;13199:15;2030:14:2;13112:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;13062::64;;;4886:54789;13062:14;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3653:18:9;4886:54789:64;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;3653:18:9;4886:54789:64;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;37951:83;;;;;5515:66;37951:83;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;37951:83;4886:54789;5515:66;;;37951:83;5515:66;37951:83;336:42:2;38045:55:64;;;;4886:54789;;;38045:55;;16367:38;4886:54789;38045:55;;4886:54789;;;;;;;38045:55;4886:54789;;;;;;;;;;;;;;13326:19;4886:54789;13326:6;2030:14:2;;;4886:54789:64;;;13326:19;;;;4886:54789;13326:19;;;;;;;;;4886:54789;13326:19;;;4886:54789;;13347:42;4886:54789;;;4103:13:4;4099:68;;4886:54789:64;;;4099:68:4;4886:54789:64;4132:24:4;;;;4886:54789:64;;;4132:24:4;;4886:54789:64;;;;;;4132:24:4;;4886:54789:64;13347:42;4886:54789;;;;-1:-1:-1;4886:54789:64;;;;4132:24:4;;;;;;;;4886:54789:64;;;4132:24:4;;;;4886:54789:64;4132:24:4;;:::i;13326:19:64:-;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;4886:54789;;;;;;;;;;;57953:10;4886:54789;57953:5;4886:54789;;;;;57953:10;57964:4;4886:54789;;;57953:27;;;;;;4886:54789;;;57953:27;;4886:54789;;;;57953:27;;4886:54789;36509:6;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;57953:27:64;;;;;;;;4886:54789;-1:-1:-1;57964:4:64;4886:54789;;;336:42:2;57990:19:64;;;;4886:54789;;;57990:19;;4886:54789;;;;;;57990:19;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;57990:19:64;;;;;;;;4886:54789;;;58019:41;;:13;4886:54789;57953:5;4886:54789;;;;;58019:41;;;;;;;;;;;4886:54789;58154:26;58424:68;;58154:26;;:::i;58424:68::-;4886:54789;;58614:45;58019:41;58591:72;;;4886:54789;58340:38;58591:72;;2030:14:2;4886:54789:64;58591:72;4886:54789;;;;58591:72;4886:54789;58591:72;336:42:2;58575:89:64;;;;4886:54789;58575:89;4886:54789;;;58575:89;;;;4886:54789;58575:89;;4886:54789;58575:89;;;:::i;:::-;;;;336:42:2;58575:89:64;;;;;;;58674:47;58575:89;4886:54789;58575:89;;;4886:54789;-1:-1:-1;58041:6:64;2030:14:2;58674:21:64;;2030:14:2;;4886:54789:64;;2030:14:2;;58674:21:64;58696:14;4886:54789;57953:5;4886:54789;;;;;58575:89;;;;;;;:::i;:::-;;;;58019:41;;;;;;;;;;;;;:::i;:::-;;;57990:19;;;4886:54789;57990:19;;;:::i;:::-;;;;57953:27;;;4886:54789;57953:27;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;50328:68;;50109:26;;:::i;50328:68::-;4886:54789;;50446:36;50204:6;50423:88;;;50018:7;50244:38;50423:88;;2030:14:2;50056:7:64;4886:54789;;;2030:14:2;50423:88:64;4886:54789;;;;50423:88;4886:54789;50423:88;336:42:2;50407:105:64;;;;4886:54789;50407:105;4886:54789;;;50407:105;;;;4886:54789;50407:105;;4886:54789;50407:105;;;:::i;:::-;;;;336:42:2;50407:105:64;;;;;;50056:7;50407:105;4886:54789;50407:105;50522:84;50407:105;;;4886:54789;-1:-1:-1;50522:6:64;2030:14:2;50522:27:64;;2030:14:2;;4886:54789:64;;2030:14:2;;50522:27:64;4886:54789;;;50522:84;;;;;;4886:54789;50522:84;;4886:54789;50522:84;;;:::i;50407:105::-;;;;;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;29590:4;4886:54789;;;336:42:2;29582:24:64;;;;4886:54789;;;29582:24;;4886:54789;;;;;;29582:24;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;29582:24:64;;;;;;;;4886:54789;29652:26;29871:68;;29652:26;;:::i;29871:68::-;29590:4;4886:54789;;;336:42:2;29950:14:64;;;;4886:54789;;;29950:14;;4886:54789;;;;;;29950:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;29950:14:64;;;;;;29565:7;29950:14;4886:54789;29950:14;29974:61;29950:14;;;4886:54789;-1:-1:-1;29974:6:64;2030:14:2;29974:21:64;;2030:14:2;;4886:54789:64;;2030:14:2;;29974:21:64;4886:54789;;;29974:61;;;;;;4886:54789;29974:61;;4886:54789;29974:61;;;:::i;29950:14::-;;;;;;;:::i;:::-;;;;29582:24;;;4886:54789;29582:24;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;44070:6;4886:54789;;;336:42:2;44062:26:64;;;;4886:54789;;;44062:26;;4886:54789;;;;;;44062:26;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;44062:26:64;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;44123:83;;;;;5515:66;44123:83;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;44123:83;4886:54789;5515:66;;;44123:83;5515:66;44123:83;44241:142;44320:18;4886:54789;44328:9;4886:54789;;;;;44320:18;44241:142;4886:54789;;44241:142;;;4886:54789;44123:83;44241:142;;;44123:83;44241:142;;;:::i;:::-;44394:54;:27;4886:54789;44070:6;4886:54789;;;;;44394:54;:89;;;;;4886:54789;;;44394:89;;4886:54789;;;;;;;;44394:89;4886:54789;;44394:89;;;:::i;:::-;;;;;;;;;;;4886:54789;;44494:27;44503:14;4886:54789;44070:6;4886:54789;;;;;44494:27;4886:54789;44123:83;44540:18;4886:54789;44328:9;4886:54789;;;;;44540:18;44568:9;44540:26;;44568:9;:::i;:::-;4886:54789;;44597:22;;;;4886:54789;44597:22;;;;;;;;44621:9;44597:22;4886:54789;44597:22;;;4886:54789;44621:9;;:::i;44597:22::-;;;;44123:83;44597:22;44123:83;44597:22;;;;;;;:::i;:::-;;;;44394:89;;;4886:54789;44394:89;;;:::i;:::-;;;;44062:26;;;4886:54789;44062:26;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;22863:28;;4886:54789;22884:6;4886:54789;;;;;22863:28;22884:6;4886:54789;;;336:42:2;22980:24:64;;;;4886:54789;;;22980:24;;4886:54789;;;;;;22980:24;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;22980:24:64;;;;;;;;4886:54789;;;;23129:34;;;;;;;;5621:48;22938:32;5621:48;;;;2030:14:2;5621:48:64;2030:14:2;;5621:48:64;2030:14:2;5621:48:64;23129:34;4886:54789;23119:45;;23200:20;:15;2030:14:2;23208:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;23200:20:64;22884:6;4886:54789;;;;;23254:18;;;;;;;;;;;;;;;;;;;;4886:54789;23254:18;;;;;4886:54789;23246:32;4886:54789;;23246:32;:::i;:::-;23230:49;336:42:2;23230:49:64;;;;;4886:54789;;;;;23230:49;;;;;4886:54789;23230:49;;4886:54789;23230:49;;;:::i;:::-;;;;336:42:2;23230:49:64;;;;;;;;4886:54789;;23400:35;4886:54789;;23302:11;4886:54789;22884:6;4886:54789;;;;;23302:11;4886:54789;;23337:25;23129:34;23314:75;;;;;;;;2030:14:2;;;5729:1:64;5621:48;;;2030:14:2;23314:75:64;;;;4886:54789;5621:48;;;23314:75;5621:48;23314:75;23302:88;;;;;;:::i;23400:35::-;22884:6;4886:54789;;;336:42:2;23445:27:64;;;;;4886:54789;;;;;23445:27;;;;;4886:54789;23445:27;;4886:54789;23445:27;;;:::i;:::-;;;;336:42:2;23445:27:64;;;;;;;;4886:54789;;23555:103;;4886:54789;23648:9;4886:54789;;;;;23555:103;336:42:2;23668:39:64;;;;4886:54789;;;23668:39;;4886:54789;23668:39;;;4886:54789;23668:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;23668:39;;;;336:42:2;23668:39:64;;;;;;;;4886:54789;;;;23648:9;4886:54789;;;;;;;;23722:37;4886:54789;;23722:37;;;4886:54789;24422:7;4886:54789;;;2030:14:2;;4886:54789:64;23722:37;;;;23769:54;:27;4886:54789;22884:6;4886:54789;;;;;23769:54;:80;;;;;;4886:54789;;;;;;;23769:80;;;;;;4886:54789;23769:80;;4886:54789;23769:80;;;:::i;:::-;;;;;;;;;;;4886:54789;;23960:21;23129:34;4886:54789;22884:6;4886:54789;;;;;;;;;23960:21;;4886:54789;;;;23960:21;;4886:54789;;;;2030:14:2;;;;4886:54789:64;;;;;;;;;;;23960:21;;;336:42:2;23960:21:64;;;;;;24273:31;23960:21;23992:20;24031:14;23960:21;24213:32;23960:21;4886:54789;23960:21;;;23992:20;;:::i;24031:14::-;24022:27;24031:14;;24022:27;:::i;:::-;24059:36;24068:17;4886:54789;23648:9;4886:54789;;;;;24059:36;5621:48;983:133:62;;22938:32:64;983:133:62;;;24213:32:64;;:::i;:::-;24273:31;:::i;23960:21::-;;;;23129:34;23960:21;23129:34;23960:21;;;;;;;:::i;23769:80::-;;;4886:54789;23769:80;;;:::i;:::-;;;;23668:39;;;4886:54789;23668:39;;;:::i;:::-;;;;23445:27;;;4886:54789;23445:27;;;:::i;:::-;;;;23230:49;;;4886:54789;23230:49;;;:::i;:::-;;;;22980:24;;;4886:54789;22980:24;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;2876:18:9;4886:54789:64;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;2876:18:9;4886:54789:64;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;11434:19;4886:54789;11434:9;4886:54789;;;;;11434:19;11454:4;4886:54789;;;;11434:25;;4886:54789;;;;;11434:25;;4886:54789;;;;11434:25;;4886:54789;;;;;;11434:25;;;;;;;4886:54789;11434:25;;;4886:54789;11470:14;336:42:2;11470:14:64;;;;4886:54789;;;11470:14;;4886:54789;;;;;;11470:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;11470:14:64;;;;;;;11494:47;11470:14;;;4886:54789;;11434:25;4886:54789;11494:17;4886:54789;11434:9;4886:54789;;;;;11494:17;11520:6;2030:14:2;11512:15:64;;2030:14:2;;4886:54789:64;;2030:14:2;;11512:15:64;4886:54789;;;11494:47;;;;;;4886:54789;11494:47;;4886:54789;11494:47;;4886:54789;;;;;;;;;;;;;;;2030:14:2;4886:54789:64;11494:47;;;;;;;;;;11806:68;11494:47;;;4886:54789;11587:26;11806:68;11587:26;;:::i;11806:68::-;11454:4;4886:54789;;;11885:14;336:42:2;11885:14:64;;;;4886:54789;;;11885:14;;4886:54789;;;;;;11885:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;11885:14:64;;;;;;;11909:51;11885:14;4886:54789;11885:14;;;4886:54789;-1:-1:-1;11520:6:64;2030:14:2;11909:21:64;;2030:14:2;;4886:54789:64;;2030:14:2;;11909:21:64;11931:18;4886:54789;11434:9;4886:54789;;;;;11931:18;4886:54789;;;11909:51;;;;;;4886:54789;11909:51;;4886:54789;11909:51;;;:::i;:::-;;;;;;;;;;12060:36;11909:51;;;4886:54789;;12060:19;4886:54789;11434:9;4886:54789;;;;;12060:19;11434:25;12080:15;2030:14:2;11520:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;12060:36:64;;;;;;;;;;;12051:49;11434:25;12060:36;12194:25;12060:36;4886:54789;12060:36;;;12051:49;;:::i;:::-;11454:4;4886:54789;;;;12194:25;;4886:54789;;;;;12194:25;;4886:54789;;;;;;;;;;;;;;12194:25;;;;;;;;;12221:11;12194:25;4886:54789;12194:25;;;12221:11;;:::i;12194:25::-;;;;11434;12194;11434;12194;;;;;;;:::i;:::-;;;;11909:51;;;;;4886:54789;11909:51;;;;;;:::i;:::-;;;11885:14;;;;;;;:::i;:::-;;;;11494:47;;;11434:25;11494:47;11434:25;11494:47;;;;;;;:::i;:::-;;;11470:14;;;4886:54789;11470:14;;;:::i;:::-;;;;11434:25;;;;;;;;;;;;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;30608:68;;30389:26;;:::i;30608:68::-;30696:4;4886:54789;;;336:42:2;30687:14:64;;;;4886:54789;;;30687:14;;4886:54789;;;;;;30687:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;30687:14:64;;;;;;;;4886:54789;30711:55;336:42:2;30711:55:64;;;;4886:54789;;;30711:55;;16367:38;4886:54789;30711:55;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;30711:55:64;;;;;;4886:54789;30711:55;;;30776:43;30711:55;;;-1:-1:-1;30776:6:64;2030:14:2;30776:21:64;;2030:14:2;;4886:54789:64;;2030:14:2;;30687::64;;;4886:54789;30687:14;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;2575:18:9;4886:54789:64;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2575:18:9;4886:54789:64;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;39095:33;;;;;;;;;;;;;;;;;;;;;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38341:2;4886:54789;;;;;;2030:14:2;4886:54789:64;39095:33;;;4886:54789;39095:33;;;;;4886:54789;;39162:76;;;;;5515:66;39162:76;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;;39162:76;4886:54789;5515:66;;;39162:76;5515:66;39162:76;39258:6;4886:54789;;;336:42:2;39249:16:64;;;;4886:54789;;;39249:16;;4886:54789;;;;;;39249:16;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;39249:16:64;;;;;;;;4886:54789;39275:54;336:42:2;39275:54:64;;;;4886:54789;;;39275:54;;38481:37;4886:54789;39275:54;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;39275:54:64;;;;;;;;4886:54789;;39339:34;:20;4886:54789;39258:6;4886:54789;;;;;39339:34;39394:15;4886:54789;39162:76;4886:54789;;;;;39394:15;39339:97;;;;;;4886:54789;;;;39339:97;4886:54789;;39339:97;;;;;;;4886:54789;39339:97;;4886:54789;;39339:97;;;:::i;39275:54::-;;;4886:54789;39275:54;;;:::i;:::-;;;;39249:16;;;4886:54789;39249:16;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;18338:6;4886:54789;;;336:42:2;18330:23:64;;;;4886:54789;;;18330:23;;4886:54789;;;;;;18330:23;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;18330:23:64;;;;;;;;4886:54789;;18397:17;4886:54789;18397:9;4886:54789;;;;;18397:17;;336:42:2;18425:39:64;;;;4886:54789;;;18425:39;;4886:54789;18425:39;;;4886:54789;18425:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;18425:39;;;;336:42:2;18425:39:64;;;;;;;;4886:54789;-1:-1:-1;18397:9:64;4886:54789;;;;;;;18479:36;4886:54789;;;18479:36;;;;4886:54789;24422:7;4886:54789;;;2030:14:2;;4886:54789:64;18479:36;;;;18525:26;:20;4886:54789;18338:6;4886:54789;;;;;18525:26;:49;;;;;4886:54789;;;18525:49;;4886:54789;;18525:49;;4886:54789;;;;;;;;;;;;;;;;;;;;;;18525:49;;;;;;;18738:6;18525:49;18690:46;18525:49;;;4886:54789;;18616:17;4886:54789;18397:9;4886:54789;;;;;18616:17;;18644:27;18653:14;4886:54789;18338:6;4886:54789;;;;;18644:27;18690:46;:::i;:::-;18738:6;:::i;18525:49::-;;;4886:54789;18525:49;;;:::i;:::-;;;;18425:39;;;4886:54789;18425:39;;;:::i;:::-;;;;18330:23;;;4886:54789;18330:23;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;336:42:2;25273:59:64;;;;4886:54789;;;25273:59;;25289:42;4886:54789;25273:59;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;25273:59:64;;;;;;;;4886:54789;-1:-1:-1;25342:6:64;2030:14:2;25342:12:64;;2030:14:2;;4886:54789:64;;2030:14:2;;25342:12:64;25367:9;4886:54789;;;25342:35;;;;;;4886:54789;;;25342:35;;4886:54789;;25342:35;;4886:54789;;;;;;;;;;;;;;;;;;;;25342:35;4886:54789;25273:59;;;4886:54789;25273:59;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;10967:68;;10748:26;;:::i;10967:68::-;11055:4;4886:54789;;;11046:14;336:42:2;11046:14:64;;;;4886:54789;;;11046:14;;4886:54789;;;;;;11046:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;11046:14:64;;;;;;;11099:108;11046:14;;;4886:54789;2030:14:2;11099:108:64;11172:15;2030:14:2;11180:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;11172:15:64;4886:54789;;11122:48;10843:6;11099:108;;;4886:54789;;;;10883:38;11099:108;;4886:54789;-1:-1:-1;2030:14:2;;;;10696:6:64;2030:14:2;;;;4886:54789:64;;;2030:14:2;;;;;11099:108:64;336:42:2;11070:147:64;;;;4886:54789;11070:147;4886:54789;;;11070:147;;;;4886:54789;11070:147;;4886:54789;11070:147;;;:::i;:::-;;;;336:42:2;11070:147:64;;;;;;;11227:73;11070:147;4886:54789;11070:147;;;-1:-1:-1;11180:6:64;2030:14:2;11227:27:64;;2030:14:2;;4886:54789:64;;2030:14:2;;11046::64;;;4886:54789;11046:14;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;45282:6;4886:54789;;;336:42:2;45274:23:64;;;;4886:54789;;;45274:23;;4886:54789;;;;;;45274:23;;4886:54789;42834:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;45274:23:64;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;;45333:139;;;;4886:54789;45333:139;;;4886:54789;;;;;;45438:7;4886:54789;;;2030:14:2;4886:54789:64;;;;;45333:139;4886:54789;;;;45333:139;4886:54789;45333:139;45483:54;:27;4886:54789;45282:6;4886:54789;;;;;45483:54;:89;;;;;4886:54789;;;45483:89;;4886:54789;;;;;;;;45483:89;4886:54789;;45483:89;;;:::i;:::-;;;;;;;;;;;4886:54789;45583:27;45592:14;4886:54789;45282:6;4886:54789;;;;;45583:27;45620:42;45174:5;45629:23;45620:42;:::i;:::-;45672:41;45223:5;45681:22;45672:41;:::i;45483:89::-;;;4886:54789;45483:89;;;:::i;:::-;;;;45274:23;;;4886:54789;45274:23;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;18845:10;4886:54789;18845:5;4886:54789;;;;;18845:10;18856:6;4886:54789;;;18845:26;;;;;;4886:54789;;;18845:26;;4886:54789;;;;18845:26;;4886:54789;36509:6;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;18845:26:64;;;;;;;;4886:54789;;18914:26;;:15;4886:54789;18845:5;4886:54789;;;;;18914:15;18930:9;4886:54789;;;;;18914:26;;;;;;;;;;4886:54789;18914:26;;;4886:54789;18951:39;336:42:2;18951:39:64;;;;4886:54789;;;18951:39;;4886:54789;18951:39;;;4886:54789;18951:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;18951:39;;;;336:42:2;18951:39:64;;;;;;;;4886:54789;;19011:14;4886:54789;18845:5;4886:54789;;;;;19011:14;4886:54789;;18930:9;4886:54789;;;;;;;;;;;;;19005:40;4886:54789;;;19005:40;;;;4886:54789;18825:10;4886:54789;;;2030:14:2;;4886:54789:64;19005:40;;;;19055:26;:20;4886:54789;18856:6;4886:54789;;;;;19055:26;:53;;;;;;4886:54789;;;19055:53;;4886:54789;;;;;19055:53;;4886:54789;;;;;;;;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;19055:53:64;;;;;;;19150:26;19055:53;;;4886:54789;;19150:15;4886:54789;18845:5;4886:54789;;;;;19150:15;4886:54789;18914:26;4886:54789;18930:9;4886:54789;;;;;19150:26;;;;;;;;;;;19196:23;19150:26;4886:54789;19150:26;;;4886:54789;;18914:26;4886:54789;;18856:6;4886:54789;;;;;;;;;19196:23;;;;;4886:54789;19196:23;;4886:54789;19196:23;;4886:54789;;;;;;;;;;;;19196:23;;;;;;;;;;19187:36;19242:46;19196:23;19290:6;19196:23;4886:54789;19196:23;;;19187:36;;:::i;19242:46::-;19290:6;:::i;19196:23::-;;;;18914:26;19196:23;18914:26;19196:23;;;;;;;:::i;:::-;;;;19150:26;18914;19150;;;;;;;;;;;;;;;:::i;:::-;;;;;19055:53;;;4886:54789;19055:53;;;:::i;:::-;;;;18951:39;;;4886:54789;18951:39;;;:::i;:::-;;;;18914:26;;;;;;;;;;;;;;:::i;:::-;;;;18845;;;4886:54789;18845:26;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;9167:26;9622:24;9544:68;;9167:26;;:::i;:::-;9254:15;4886:54789;9262:6;4886:54789;;;;;9254:15;4886:54789;;9302:38;9262:6;9302:38;;;4886:54789;9302:38;;;;;;:::i;:::-;4886:54789;;:::i;:::-;;;;;;9214:137;;9262:6;9214:137;;4886:54789;;9214:137;;4886:54789;9203:148;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;9302:38;9262:6;9460:38;;;4886:54789;9460:38;;;9302;9460;;:::i;:::-;9372:137;4886:54789;;:::i;9372:137::-;;9262:6;9372:137;;4886:54789;;9372:137;;4886:54789;9361:148;;;:::i;:::-;;;;;:::i;4886:54789::-;;;;;;;;;;;;;;;2723:18:9;4886:54789:64;;;;;;;2723:18:9;4886:54789:64;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5410:29;4886:54789;;;;;;;;;;;;;;;;;;;;;16594:16;;;;;;;;;;;;;;;;;;;;4886:54789;16594:16;;;;;4886:54789;;336:42:2;16658:35:64;;;;4886:54789;;;16658:35;;4886:54789;;;;16658:35;;4886:54789;16641:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;16658:35:64;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;16728:83;;;;;5515:66;16728:83;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;;16728:83;4886:54789;5515:66;;;16728:83;5515:66;16728:83;4886:54789;16888:15;2030:14:2;16896:6:64;2030:14:2;4886:54789:64;2030:14:2;;;4886:54789:64;2030:14:2;;16888:15:64;16917:18;4886:54789;16925:9;4886:54789;;;;;16917:18;4886:54789;16840:131;4886:54789;;16840:131;;;;;4886:54789;16840:131;;4886:54789;16840:131;;;:::i;:::-;;;;;;;;;;;;4886:54789;16840:131;16982:50;16840:131;4886:54789;16840:131;;;4886:54789;;;;:::i;16982:50::-;16728:83;17051:20;4886:54789;16925:9;4886:54789;;;;;17051:20;4886:54789;;17051:22;;;;4886:54789;17051:22;;;;;;;;;17141:68;17051:22;17042:89;17051:22;4886:54789;17051:22;;;4886:54789;;;;:::i;:::-;17042:89;;:::i;:::-;17150:23;4886:54789;;:::i;:::-;17141:68;;:::i;17051:22::-;;;;16728:83;17051:22;16728:83;17051:22;;;;;;;:::i;:::-;;;;16840:131;;;;;;4886:54789;16840:131;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;16658:35;;;4886:54789;16658:35;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;44751:6;4886:54789;;;336:42:2;44743:23:64;;;;4886:54789;;;44743:23;;4886:54789;;;;;;44743:23;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;44743:23:64;;;;;;;;4886:54789;;44802:68;;4886:54789;44860:9;4886:54789;;;;;44802:68;44881:54;:27;4886:54789;44751:6;4886:54789;;;;;44743:23;;;4886:54789;44743:23;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;43581:18;4886:54789;43589:9;4886:54789;;;;;43581:18;43609:33;4886:54789;43633:9;4886:54789;;;;;43609:33;43653:60;336:42:2;43653:60:64;;;;4886:54789;;;43653:60;;26184:43;4886:54789;43653:60;;4886:54789;;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;43653:60:64;;;;;;;4886:54789;43653:60;;;;;4886:54789;;;43829:92;;43817:11;4886:54789;43817:6;4886:54789;;;;;43817:11;4886:54789;;;43829:92;;;;;;43511:44;43829:92;;;2030:14:2;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;43653:60;;;;;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;19521:6;4886:54789;;;336:42:2;19513:23:64;;;;4886:54789;;;19513:23;;4886:54789;;;;;;19513:23;;4886:54789;42834:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;19513:23:64;;;;;;;;4886:54789;19547:39;336:42:2;19547:39:64;;;;4886:54789;;;19547:39;;4886:54789;19547:39;;;4886:54789;19547:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;19547:39;;;;336:42:2;19547:39:64;;;;;;;;4886:54789;;19413:5;4886:54789;19601:44;4886:54789;;19601:44;;;4886:54789;24422:7;4886:54789;;;2030:14:2;;4886:54789:64;19601:44;;;;336:42:2;19655:39:64;;;;4886:54789;;;19655:39;;4886:54789;19655:39;;;4886:54789;19655:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;19655:39;;;;336:42:2;19655:39:64;;;;;;;;4886:54789;;19462:5;4886:54789;19709:42;4886:54789;;19709:42;;;4886:54789;19743:7;4886:54789;;;2030:14:2;;4886:54789:64;19709:42;;;;336::2;19761:39:64;;;;4886:54789;;;19761:39;;4886:54789;19761:39;;;4886:54789;19761:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;19761:39;;;;336:42:2;19761:39:64;;;;;;;;4886:54789;;19462:5;19413;4886:54789;19815:86;4886:54789;;19815:86;;;4886:54789;19743:7;4886:54789;;;;2030:14:2;19637:7:64;2030:14:2;;19637:7:64;4886:54789;;;2030:14:2;4886:54789:64;2030:14:2;4886:54789:64;19815:86;;;;19912:35;:20;4886:54789;19521:6;4886:54789;;;;;19912:35;:89;;;;;4886:54789;;;19912:89;;4886:54789;19912:89;;;;;;4886:54789;19912:89;;4886:54789;;;;;;;;;;;;;;;19637:7;4886:54789;;;2030:14:2;4886:54789:64;;;19912:89;;;;;;;;;;;4886:54789;20012:27;20021:14;4886:54789;19521:6;4886:54789;;;;;20012:27;20049:42;19413:5;20058:23;20049:42;:::i;:::-;20101:41;19462:5;20110:22;20101:41;:::i;19912:89::-;;;4886:54789;19912:89;;;:::i;:::-;;;;19761:39;;;4886:54789;19761:39;;;:::i;:::-;;;;19655;;;4886:54789;19655:39;;;:::i;:::-;;;;19547;;;4886:54789;19547:39;;;:::i;:::-;;;;19513:23;;;4886:54789;19513:23;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;32954:68;;32735:26;;:::i;32954:68::-;33042:4;4886:54789;;;336:42:2;33033:14:64;;;;4886:54789;;;33033:14;;4886:54789;;;;;;33033:14;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;33033:14:64;;;;;;;;4886:54789;-1:-1:-1;4886:54789:64;;33096:36;32830:6;33073:88;;;32642:7;32870:38;33073:88;;2030:14:2;32680:9:64;4886:54789;;;2030:14:2;33073:88:64;4886:54789;;;;33073:88;4886:54789;33073:88;336:42:2;33057:105:64;;;;4886:54789;33057:105;4886:54789;;;33057:105;;;;4886:54789;33057:105;;4886:54789;33057:105;;;:::i;:::-;;;;336:42:2;33057:105:64;;;;;;32680:9;33057:105;4886:54789;33057:105;33172:84;33057:105;;;-1:-1:-1;33172:6:64;2030:14:2;33172:27:64;;2030:14:2;;4886:54789:64;;2030:14:2;;33033::64;;;4886:54789;33033:14;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;41125:6;4886:54789;;;336:42:2;41117:23:64;;;;4886:54789;;;41117:23;;4886:54789;;;;;;41117:23;;4886:54789;42834:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;41117:23:64;;;;;;;;4886:54789;41151:39;336:42:2;41151:39:64;;;;4886:54789;;;41151:39;;4886:54789;41151:39;;;4886:54789;41151:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;41151:39;;;;336:42:2;41151:39:64;;;;;;;;4886:54789;;41017:5;4886:54789;41205:43;4886:54789;;41205:43;;;4886:54789;42834:7;4886:54789;;;2030:14:2;;4886:54789:64;41205:43;;;;336:42:2;41258:39:64;;;;4886:54789;;;41258:39;;4886:54789;41258:39;;;4886:54789;41258:39;;4886:54789;;;;;;;20448:4;4886:54789;;20448:4;4886:54789;;;;;;;;;;;;41258:39;;;;336:42:2;41258:39:64;;;;;;;;4886:54789;;41066:5;41017;4886:54789;41312:78;4886:54789;;41312:78;;;4886:54789;;;;;;2030:14:2;41100:7:64;2030:14:2;;41100:7:64;4886:54789;;;2030:14:2;4886:54789:64;2030:14:2;4886:54789:64;41312:78;;;;41401:35;:20;4886:54789;41125:6;4886:54789;;;;;41401:35;:88;;;;;4886:54789;;;41401:88;;4886:54789;41401:88;;;;;;4886:54789;41401:88;;4886:54789;;;;;;;;;;;;;;;41100:7;4886:54789;;;2030:14:2;4886:54789:64;;;41401:88;;;;;;;;;;;4886:54789;41500:27;41509:14;4886:54789;41125:6;4886:54789;;;;;41500:27;41571:6;41017:5;41546:23;41571:6;:::i;:::-;41588:35;41066:5;41597:22;41588:35;:::i;41401:88::-;;;4886:54789;41401:88;;;:::i;:::-;;;;41258:39;;;4886:54789;41258:39;;;:::i;:::-;;;;41151;;;4886:54789;41151:39;;;:::i;:::-;;;;41117:23;;;4886:54789;41117:23;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;25484:23;;;;;;;;;;;;;;;;;;;;4886:54789;25484:23;;;;;25567:6;4886:54789;;;336:42:2;25559:24:64;;;;4886:54789;;;25559:24;;4886:54789;;;;;;25559:24;;4886:54789;31808:7;4886:54789;;;2030:14:2;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;25559:24:64;;;;;;;;4886:54789;;25627:33;25636:14;4886:54789;25567:6;4886:54789;;;;;25627:33;336:42:2;25671:59:64;;;;4886:54789;;;25671:59;;49804:42;4886:54789;25671:59;;4886:54789;;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;25671:59:64;;;;;;;4886:54789;25671:59;;;;;4886:54789;;25840:11;4886:54789;25567:6;4886:54789;;;;;25840:11;4886:54789;;;25852:85;;;;;;4886:54789;25852:85;;;4886:54789;;;;;;;;;;;25852:85;4886:54789;;25852:85;4886:54789;;;;25852:85;4886:54789;25671:59;;;;;;;:::i;:::-;;;;25559:24;;;4886:54789;25559:24;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;56545:10;4886:54789;56545:5;4886:54789;;;;;56545:10;56556:4;4886:54789;;;56545:27;;;;;;4886:54789;;;56545:27;;4886:54789;;;;56545:27;;4886:54789;36509:6;4886:54789;;;2030:14:2;4886:54789:64;-1:-1:-1;;4886:54789:64;;;;;;-1:-1:-1;;56545:27:64;;;;;;;;4886:54789;-1:-1:-1;56556:4:64;4886:54789;;;336:42:2;56582:19:64;;;;4886:54789;;;56582:19;;4886:54789;;;;;;56582:19;;4886:54789;-1:-1:-1;4886:54789:64;;;-1:-1:-1;336:42:2;56582:19:64;;;;;;;;4886:54789;;;56611:41;;:13;4886:54789;56545:5;4886:54789;;;;;56611:41;;;;;;;;;;;4886:54789;56764:26;57348:68;;56764:26;;:::i;:::-;56851:15;4886:54789;56611:41;4886:54789;;;;;56851:15;4886:54789;;56950:38;56611:41;56950:38;;;4886:54789;56950:38;;;;;;:::i;:::-;4886:54789;;:::i;:::-;;;;;;56811:188;52577:4;56611:41;56811:188;;4886:54789;;56811:188;;4886:54789;56800:199;;;:::i;:::-;;;;;:::i;:::-;;4886:54789;;56950:38;56611:41;57107:38;;;4886:54789;57107:38;;;56950;57107;;:::i;:::-;4886:54789;;:::i;:::-;;;;;;57020:136;52577:4;56611:41;57020:136;;4886:54789;;57020:136;;4886:54789;57009:147;;;:::i;56611:41::-;;;;;;;;;;;;;:::i;:::-;;;56582:19;;;4886:54789;56582:19;;;:::i;:::-;;;;56545:27;;;4886:54789;56545:27;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;15226:83;;;;;5515:66;15226:83;;;2030:14:2;4886:54789:64;5515:66;;;4886:54789;15226:83;4886:54789;5515:66;;;15226:83;5515:66;15226:83;15320:6;2030:14:2;15320:25:64;;2030:14:2;;4886:54789:64;;2030:14:2;;15320:25:64;4886:54789;15376:18;4886:54789;15384:9;4886:54789;;;;;15376:18;15320:101;;;;;;;4886:54789;;;15184:7;4886:54789;;15320:101;;;;;;4886:54789;15320:101;;4886:54789;15320:101;;;:::i;:::-;;;;;;;;;;;4886:54789;;15441:20;4886:54789;15384:9;4886:54789;;;;;15441:20;4886:54789;;;15441:22;;15226:83;15441:22;4886:54789;15441:22;;;;;;;;15465:9;15441:22;4886:54789;15441:22;;;15465:9;;:::i;:::-;4886:54789;;15494:23;4886:54789;15494:23;;15226:83;15494:23;4886:54789;15494:23;;;;;;;;;15576:9;15494:23;15519:9;15494:23;4886:54789;15494:23;;;15519:9;;:::i;15494:23::-;;;;15226:83;15494:23;15226:83;15494:23;;;;;;;:::i;:::-;;;;15320:101;;;4886:54789;15320:101;;;:::i;:::-;;;;4886:54789;;;;;;;;;;;;;1065:26:16;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;12444:1;4886:54789;;;;;12444:1;4886:54789;:::i;:::-;;;-1:-1:-1;4886:54789:64;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;-1:-1:-1;4886:54789:64;;-1:-1:-1;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;52471:1;4886:54789;;;;;52471:1;4886:54789;:::i;:::-;;;-1:-1:-1;4886:54789:64;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;-1:-1:-1;4886:54789:64;;-1:-1:-1;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9191:1;4886:54789;;;;;9191:1;4886:54789;:::i;:::-;;;-1:-1:-1;4886:54789:64;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;-1:-1:-1;4886:54789:64;;-1:-1:-1;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;52577:4;4886:54789;;;;;;;:::o;:::-;;;52856:1;4886:54789;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2030:14:2;;;;;;;;;;;:::i;:::-;;:::o;:::-;;4886:54789:64;;;;2030:14:2;;;;:::o;:::-;;;;;;4886:54789:64;;;;2030:14:2;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;4886:54789:64;;;;;;;:::i;:::-;2030:14:2;;;;;;;;;;;;-1:-1:-1;2030:14:2;;;;;;;;4886:54789:64;;;;;2030:14:2;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4886:54789:64;;;;;;;:::i;:::-;2030:14:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;4886:54789:64;2030:14:2;;;;;;;;4886:54789:64;;;;;;:::i;:::-;2030:14:2;;;;;:::i;:::-;;;4886:54789:64;2030:14:2;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;7021:42:64;4886:54789;;2030:14:2;;;;;;;;:::i;:::-;;;;;4886:54789:64;;;2030:14:2;;;;;;;;:::i;:::-;;;4886:54789:64;2030:14:2;;;4886:54789:64;;;2030:14:2;;;;;;;;:::i;4886:54789:64:-;;;;;;;;31808:7;4886:54789;;;2030:14:2;4886:54789:64;;;;;;;;:::i;:::-;;;;;;;;;;34301:6;4886:54789;;;2030:14:2;4886:54789:64;;;;;;;;:::i;:::-;;;;;;;;50018:7;4886:54789;;;2030:14:2;4886:54789:64;;;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;2030:14:2;;;:::i;5515:66:64:-;;;;;4886:54789;5515:66;;;;;4886:54789;;;;5515:66;;;4886:54789;5515:66;;;;;;;;;;:::i;:::-;;4886:54789;5515:66;;;2030:14:2;5515:66:64;2030:14:2;5515:66:64:o;:::-;;;;;;4886:54789;5515:66;;4886:54789;;;;5515:66;;;4886:54789;5515:66;;;;;;;;;;:::i;4886:54789::-;35223:42;4886:54789;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;4886:54789:64;;;35223:42;4886:54789;:::o;:::-;;;;-1:-1:-1;4886:54789:64;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;53327:8;4886:54789;;;2030:14:2;4886:54789:64;;;;;;;;:::i;:::-;;;;;-1:-1:-1;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4886:54789:64;;;;;-1:-1:-1;4886:54789:64;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;4886:54789:64;;-1:-1:-1;4886:54789:64;-1:-1:-1;4886:54789:64;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;2030:14:2;4886:54789:64;;;2030:14:2;4886:54789:64;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;28604:10;4886:54789;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;28121:2;4886:54789;;;2030:14:2;4886:54789:64;2030:14:2;4886:54789:64:o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;4886:54789:64;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;:::i;:::-;31143:1;4886:54789;;;;;31143:1;4886:54789;:::i;:::-;;;-1:-1:-1;4886:54789:64;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;-1:-1:-1;4886:54789:64;;-1:-1:-1;4886:54789:64;;;;-1:-1:-1;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;4886:54789:64;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5713:19;2030:14:2;4886:54789:64;;;2030:14:2;4886:54789:64;;:::i;:::-;5713:19;4886:54789;;5713:19;4886:54789;5713:19;;;:::o;:::-;;;;;45934:35;2030:14:2;;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;5713:19:64;;;;;;;;:::i;:::-;;;;;4886:54789;2030:14:2;;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;5713:19:64;;;;;;;;:::i;:::-;;;;;21301:25;2030:14:2;;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;5713:19:64;;;;;;;;:::i;:::-;;;;;22938:32;2030:14:2;;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;4886:54789:64;5713:19;;;2030:14:2;5713:19:64;;;;;;;;:::i;4886:54789::-;2030:14:2;4886:54789:64;;;2030:14:2;4886:54789:64;;:::i;:::-;;;;;;;;;:::o;:::-;2030:14:2;4886:54789:64;;;2030:14:2;4886:54789:64;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4886:54789:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;2030:14:2;4886:54789:64;2030:14:2;4886:54789:64:o;:::-;;;;;;28953:10;4886:54789;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::o;1306:195:4:-;1365:7;4886:54789:64;;;;;;1395:4:4;1388:11;:::o;1361:134::-;4886:54789:64;;;1437:33:4;;;;;;;;192:59;1255:17;;;;4886:54789:64;;;;1255:17:4;2030:14:2;1437:33:4;;4886:54789:64;1437:33:4;;;;;;;4886:54789:64;1437:33:4;;;1361:134;1437:47;;;1430:54;:::o;1437:33::-;;;;;;;;;;;;;;:::i;:::-;;;;4886:54789:64;;;;;;;;;;;2030:14:2;;;:::i;:::-;4886:54789:64;;;;;;;;;;;;;;:::i;:::-;;;;;;5515:66;4886:54789;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;2030:14:2;4886:54789:64;2030:14:2;4886:54789:64:o;:::-;2030:14:2;4886:54789:64;;;2030:14:2;4886:54789:64;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;2030:14:2;4886:54789:64;;:::i;:::-;;;;;;;;2030:14:2;4886:54789:64;;;;;:::o;:::-;2030:14:2;4886:54789:64;;;2030:14:2;4886:54789:64;;:::i;:::-;;;;;;;;;:::o;2664:153:4:-;2747:13;2743:68;;2664:153;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;2776:24:4;4886:54789:64;2776:24:4;;;;;2030:14:2;4886:54789:64;5621:48;;;2030:14:2;4886:54789:64;2776:24:4;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;2776:24::-;4886:54789:64;2776:24:4;;;:::i;2664:153::-;31808:7:64;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;2776:24:4;4886:54789:64;2776:24:4;;;;;2030:14:2;31808:7:64;5621:48;;;2030:14:2;2776:24:4;;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;:::-;20377:10:64;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;2776:24:4;4886:54789:64;2776:24:4;;;;;2030:14:2;20377:10:64;5621:48;;;2030:14:2;2776:24:4;;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;:::-;13804:7:64;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;2776:24:4;4886:54789:64;2776:24:4;;;;;2030:14:2;13804:7:64;5621:48;;;2030:14:2;2776:24:4;;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;:::-;42834:7:64;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;2776:24:4;4886:54789:64;2776:24:4;;;;;2030:14:2;42834:7:64;5621:48;;;2030:14:2;2776:24:4;;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;:::-;41819:10:64;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;2776:24:4;4886:54789:64;2776:24:4;;;;;2030:14:2;41819:10:64;5621:48;;;2030:14:2;2776:24:4;;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;:::-;5729:1:64;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;2776:24:4;4886:54789:64;2776:24:4;;;;;2030:14:2;5729:1:64;5621:48;;;2030:14:2;2776:24:4;;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;:::-;45705:7:64;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;2776:24:4;4886:54789:64;2776:24:4;;;;;2030:14:2;45705:7:64;5621:48;;;2030:14:2;2776:24:4;;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;:::-;18825:10:64;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;2776:24:4;4886:54789:64;2776:24:4;;;;;2030:14:2;18825:10:64;5621:48;;;2030:14:2;2776:24:4;;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;:::-;2747:13;;;2743:68;;2664:153;;:::o;2743:68::-;4886:54789:64;2776:24:4;;;;4886:54789:64;;;2776:24:4;;;;;2030:14:2;;;;5621:48:64;;;2030:14:2;;;;2776:24:4;4886:54789:64;;5621:48;;;2776:24:4;;;4886:54789:64;2776:24:4;;;;;;;;2664:153;:::o;4362:::-;4445:13;;;4441:68;;4362:153;;:::o;4441:68::-;4886:54789:64;4474:24:4;;;;4886:54789:64;;;4474:24:4;;;;;2030:14:2;;;;5621:48:64;;;2030:14:2;;;;4474:24:4;4886:54789:64;;5621:48;;;4474:24:4;5621:48:64;1480:121:76;4886:54789:64;1534:60:76;;;;4886:54789:64;;;1534:60:76;4886:54789:64;1534:60:76;;4886:54789:64;1534:60:76;;;4886:54789:64;1374:1:76;1358:19;;;2030:14:2;1590:1:76;1358:19;;;2030:14:2;1374:1:76;1534:60;;;;4886:54789:64;1534:60:76;;;;;;;;1480:121;:::o;1894:148:4:-;1980:5;1976:60;;;1894:148;;:::o;1976:60::-;4886:54789:64;2001:24:4;;;;4886:54789:64;;-1:-1:-1;4886:54789:64;;;2001:24:4;;;;;4886:54789:64;2001:24:4;;4886:54789:64;2001:24:4;;;4886:54789:64;;;;;;;;;;;:::i;1764:124:4:-;1831:5;1827:55;;;1764:124;:::o;1827:55::-;4886:54789:64;1852:19:4;;;;4886:54789:64;;1852:19:4;4886:54789:64;1852:19:4;;4886:54789:64;1852:19:4;;;4886:54789:64;-1:-1:-1;1852:19:4;;;4886:54789:64;1852:19:4;;;;;;;;1764:124;:::o;4886:54789:64:-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;2659:655:76;2777:11;;;:::i;:::-;2906:30;;;;;;;;:::i;:::-;;;;;;;;;;4886:54789:64;2888:49:76;;;;;;4886:54789:64;;;2888:49:76;;;;4886:54789:64;2888:49:76;;;;;;;:::i;:::-;;;;4886:54789:64;2888:49:76;;;;;;;;;;;;;2659:655;4886:54789:64;;;2996:55:76;;;2906:30;2996:55;;;3019:25;2996:55;;;;;4886:54789:64;;;;;2030:14:2;;4886:54789:64;2996:55:76;2978:74;;;;;;;:::i;:::-;3123:31;4886:54789:64;3123:31:76;;;;;4886:54789:64;2888:49:76;4886:54789:64;;;3123:31:76;;;;;4886:54789:64;3123:31:76;;2888:49;3123:31;;;:::i;:::-;;;;4886:54789:64;3123:31:76;;;;;;;3281:26;3123:31;3165:27;3123:31;;;2659:655;3165:27;;:::i;:::-;3202:61;2906:30;4886:54789:64;;3210:16:76;;3202:61;:::i;:::-;2906:30;4886:54789:64;;;3281:26:76;;;;;;:::i;3123:31::-;;;2888:49;3123:31;;;:::i;:::-;;;;2888:49;;;;;;;:::i;:::-;;;;2823:177:4;16641:7:64;2925:13:4;;2921:73;;2823:177;;:::o;2921:73::-;4886:54789:64;2954:29:4;;;;4886:54789:64;;-1:-1:-1;4886:54789:64;;;2954:29:4;;;;;4886:54789:64;2954:29:4;;;;;2030:14:2;16641:7:64;4886:54789;;;2030:14:2;4886:54789:64;;;;;;;;;;:::i;:::-;2954:29:4;;4886:54789:64;2954:29:4;;;;;;;;2823:177;:::o;2954:29::-;;;-1:-1:-1;2954:29:4;;;:::i;:::-;4886:54789:64;;;;;2664:153:4:o;2823:177::-;2925:13;2921:73;;2823:177;;:::o;2921:73::-;4886:54789:64;2954:29:4;;;;4886:54789:64;;;;;;2954:29:4;;;;;4886:54789:64;2954:29:4;;;;;2030:14:2;4886:54789:64;;;;2030:14:2;4886:54789:64;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;20479:242:6:-;;4886:54789:64;;20624:22:6;;;4886:54789:64;20624:22:6;4886:54789:64;;;;;:::i;20624:22:6:-;4886:54789:64;20614:33:6;;4886:54789:64;;;20665:19:6;4886:54789:64;20665:19:6;;20624:22;20665:19;;;;;;;4886:54789:64;;;;;2030:14:2;;4886:54789:64;20665:19:6;;;4886:54789:64;20665:19:6;;;;;;;-1:-1:-1;20665:19:6;;;20479:242;20658:26;;4886:54789:64;20694:20:6;;;;;4886:54789:64;-1:-1:-1;4886:54789:64;;;20694:20:6;;;;;4886:54789:64;20694:20:6;;20665:19;20694:20;;;:::i;:::-;;;;4886:54789:64;20694:20:6;;;;;;;;20479:242;:::o;20694:20::-;;;-1:-1:-1;20694:20:6;;;:::i;20665:19::-;;;;;20624:22;20665:19;20624:22;20665:19;;;;;;;:::i;:::-;;;;","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","holder()":"e534155d","recipient()":"66d003ac","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testDelegateCallWithETH()":"e702a118","testExecute_WithFailingMulticall()":"17adc5c4","testHandleSequenceDelegateCall_InjectAndCall()":"ad2b6d46","testHandleSequenceDelegateCall_RefundAndSweep()":"d372fdb4","testHandleSequenceDelegateCall_Sweep()":"e78db620","testHandleSequenceDelegateCall_ValidateOpHashAndSweep()":"3a0beca9","testIncorrectValueValidation()":"a4f48230","testInjectAndCall_NoReplacementNeeded()":"30410d2a","testInjectAndCall_WithReplacement()":"7ab42cd3","testInjectAndCall_WithTokenZeroBalance()":"bcb51278","testInjectAndCall_WithZeroBalance()":"374d67c3","testInjectSweepAndCall()":"08659073","testInjectSweepAndCall_WithETH_TargetCallFails()":"2d13f423","testInjectSweepAndCall_WithETH_ZeroBalance()":"924f1c32","testInjectSweepAndCall_WithToken_IncorrectValue()":"50bbb7a1","testInjectSweepAndCall_WithToken_TargetCallFails()":"6dda3c05","testInjectSweepAndCall_WithToken_ZeroBalance()":"23e58c8f","testNativeTransferFailure()":"53485062","testRefundAndSweep_FullRefund()":"f0ce4064","testRefundAndSweep_PartialRefundERC20()":"5415a4b0","testRefundAndSweep_ZeroRefundAmount()":"13f8beab","testRevertWhen_injectAndCall_NoValueAvailable()":"5457e5bb","testRevertWhen_injectAndCall_UnexpectedValue()":"50486ba7","testRevertWhen_injectSweepAndCall_InsufficientAllowance()":"383a9259","testRevertWhen_injectSweepAndCall_NoValueAvailable()":"28c75721","testSweepAndCallETH()":"f7ccd7e4","testValidateOpHashAndSweep_WithoutSentinel()":"ed90149e","test_Execute_FromContract_ShouldPreserveContractAsSender()":"46ee204d","test_Execute_FromEOA_ShouldPreserveEOAAsSender()":"6349dbdb","test_Execute_WithMultipleCalls()":"dc41cc0d","test_Multicall3Address_IsCorrect()":"a3b85699","test_ReceiveETH_ShouldAcceptETH()":"904745ef","test_RevertWhen_allowFailure_true_allCalls()":"f7aa752d","test_RevertWhen_allowFailure_true_firstOfMultipleCalls()":"1535e0ce","test_RevertWhen_allowFailure_true_lastOfMultipleCalls()":"3e1637cf","test_RevertWhen_allowFailure_true_middleOfMultipleCalls()":"1857a380","test_RevertWhen_allowFailure_true_singleCall()":"75f50bfe","test_RevertWhen_execute_withETH_allowFailure_true()":"6ddcc7c5","test_RevertWhen_pullAmountAndExecute_InsufficientAllowance()":"ce6a2472","test_RevertWhen_pullAndExecute_InsufficientAllowance()":"02b69a37","test_RevertWhen_pullAndExecute_allowFailure_true()":"a4cacf38","test_amount_offset_out_of_bounds()":"2b463e8e","test_direct_sweep_reverts_not_delegatecall()":"c3815945","test_handleSequenceDelegateCall_dispatches_to_sweep_native()":"7b936a84","test_handleSequenceDelegateCall_invalid_selector_reverts()":"41fe9ff4","test_native_transfer_failed()":"f1b7f01f","test_no_tokens_to_pull()":"04731fb9","test_no_tokens_to_sweep()":"73fda24c","test_placeholder_mismatch()":"8c4978ed","test_pullAmountAndExecute_WithETH_IncorrectValue()":"ee6afeda","test_pullAmountAndExecute_WithETH_ShouldTransferAndExecute()":"04cb3024","test_pullAmountAndExecute_WithToken_IncorrectValue()":"870d7693","test_pullAmountAndExecute_WithToken_ShouldTransferAndExecute()":"bdb9d980","test_pullAmountAndExecute_WithValidToken_ShouldTransferAndExecute()":"879c6403","test_pullAndExecute_WithETH_NoEthSent()":"b3a1bcc3","test_pullAndExecute_WithETH_ShouldTransferAndExecute()":"a92b31ce","test_pullAndExecute_WithFailingMulticall()":"2091fcb0","test_pullAndExecute_WithToken_IncorrectValue()":"37688a55","test_pullAndExecute_WithValidToken_ShouldTransferFullBalanceAndExecute()":"b07e1637","test_refundAndSweep_erc20_partialRefund()":"0604a0cb","test_refundAndSweep_native_partialRefund()":"ee40d604","test_success_sentinel_not_set()":"7fc4fcce","test_sweep_erc20Token()":"d7bf1410","test_sweep_nativeToken()":"bf627174","test_validateOpHashAndSweep_native_success()":"46798b95","test_validateOpHashAndSweep_native_success_tstore()":"aebb1844"}}}},"test/TrailsRouterShim.t.sol":{"CustomErrorRouter":{"abi":[{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"triggerCustomError","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"error","name":"CustomRouterError","inputs":[{"name":"message","type":"string","internalType":"string"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"message\",\"type\":\"string\"}],\"name\":\"CustomRouterError\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"triggerCustomError\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouterShim.t.sol\":\"CustomErrorRouter\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouterShim.t.sol\":{\"keccak256\":\"0xe8fabaf60137c1ff13a05fe8ac0f9bb07fcdfe3843697c818d70854889a77801\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6be5c01bbf3ab032f40aad6e968854eefc11cc057c3e4e985e8db1cda1186292\",\"dweb:/ipfs/QmZLAqp3f9yDT1ue5da58hiBsBZRZZdfx8WrUa54LRwkDV\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460155761056e908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063174dea71146100345763f9ab70b91461002f575f80fd5b610244565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017b5760043567ffffffffffffffff811161017b573660238201121561017b57806004013567ffffffffffffffff811161017b576024820191602436918360051b01011161017b576100ac8161037e565b915f5b8281106100c857604051806100c4868261017f565b0390f35b5f8060406100d784878761041b565b01356100f16100e785888861041b565b6060810190610460565b90610101604051809381936104b1565b0391305af161010e6104be565b906101176102fd565b811515815282602082015261012c8488610517565b526101378387610517565b50610155610151602061014b86898961041b565b0161052b565b1590565b9081610172575b5061016a57506001016100af565b602081519101fd5b9050158661015c565b5f80fd5b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106101b157505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f85828601015201160101970193019301919392906101a2565b3461017b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017b5760646040517f4b54191000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f637573746f6d206572726f72206d6573736167650000000000000000000000006044820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906040820182811067ffffffffffffffff82111761031d57604052565b6102d0565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761031d57604052565b67ffffffffffffffff811161031d5760051b60200190565b9061039061038b83610366565b610322565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06103be8294610366565b01905f5b8281106103ce57505050565b6020906103d96102fd565b5f8152606083820152828285010152016103c2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b919081101561045b5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818136030182121561017b570190565b6103ee565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561017b570180359067ffffffffffffffff821161017b5760200191813603831361017b57565b908092918237015f815290565b3d15610512573d9067ffffffffffffffff821161031d5761050660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601610322565b9182523d5f602084013e565b606090565b805182101561045b5760209160051b010190565b35801515810361017b579056fea26469706673582212200d1a5716e82c4abc099a979292b9647389cf2959a98a4fd8cdf7d0d750d237e264736f6c634300081e0033","sourceMap":"4167:978:65:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c8063174dea71146100345763f9ab70b91461002f575f80fd5b610244565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017b5760043567ffffffffffffffff811161017b573660238201121561017b57806004013567ffffffffffffffff811161017b576024820191602436918360051b01011161017b576100ac8161037e565b915f5b8281106100c857604051806100c4868261017f565b0390f35b5f8060406100d784878761041b565b01356100f16100e785888861041b565b6060810190610460565b90610101604051809381936104b1565b0391305af161010e6104be565b906101176102fd565b811515815282602082015261012c8488610517565b526101378387610517565b50610155610151602061014b86898961041b565b0161052b565b1590565b9081610172575b5061016a57506001016100af565b602081519101fd5b9050158661015c565b5f80fd5b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106101b157505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f85828601015201160101970193019301919392906101a2565b3461017b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017b5760646040517f4b54191000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f637573746f6d206572726f72206d6573736167650000000000000000000000006044820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906040820182811067ffffffffffffffff82111761031d57604052565b6102d0565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761031d57604052565b67ffffffffffffffff811161031d5760051b60200190565b9061039061038b83610366565b610322565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06103be8294610366565b01905f5b8281106103ce57505050565b6020906103d96102fd565b5f8152606083820152828285010152016103c2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b919081101561045b5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818136030182121561017b570190565b6103ee565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561017b570180359067ffffffffffffffff821161017b5760200191813603831361017b57565b908092918237015f815290565b3d15610512573d9067ffffffffffffffff821161031d5761050660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601610322565b9182523d5f602084013e565b606090565b805182101561045b5760209160051b010190565b35801515810361017b579056fea26469706673582212200d1a5716e82c4abc099a979292b9647389cf2959a98a4fd8cdf7d0d750d237e264736f6c634300081e0033","sourceMap":"4167:978:65:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4443:38;;;:::i;:::-;4497:13;4167:978;4512:16;;;;;;4167:978;;;;;;;:::i;:::-;;;;4530:3;4167:978;4610:8;4167:978;4610:8;;;;;:::i;:::-;:14;4167:978;4626:17;:8;;;;;:::i;:::-;:17;;;;;:::i;:::-;4167:978;;;;;;;;;:::i;:::-;4584:60;4592:4;;4584:60;;;;:::i;:::-;4167:978;;;:::i;:::-;;;;;;4671:32;4167:978;4671:32;;4167:978;4658:45;;;;:::i;:::-;;;;;;:::i;:::-;;4790:22;4791:21;4167:978;4791:8;;;;;:::i;:::-;:21;;:::i;:::-;4790:22;;4167:978;4790:22;:34;;;;4530:3;4786:201;;;4530:3;4167:978;;4497:13;;4786:201;4167:978;4892:81;;;;;4790:34;4816:8;;;4790:34;;;4167:978;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5095:41;4167:978;;5095:41;;;4167:978;;5095:41;;4167:978;;;;;;;;;;;5095:41;4167:978;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;4167:978:65;;;;;;;;;:::o;:::-;;;;;:::i;:::-;-1:-1:-1;4167:978:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;4167:978:65;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"aggregate3Value((address,bool,uint256,bytes)[])":"174dea71","triggerCustomError()":"f9ab70b9"}}},"IMockDelegatedExtension":{"abi":[{"type":"function","name":"handleSequenceDelegateCall","inputs":[{"name":"opHash","type":"bytes32","internalType":"bytes32"},{"name":"startingGas","type":"uint256","internalType":"uint256"},{"name":"index","type":"uint256","internalType":"uint256"},{"name":"numCalls","type":"uint256","internalType":"uint256"},{"name":"space","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"opHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"startingGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"numCalls\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"space\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"handleSequenceDelegateCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Minimal interface for delegated entrypoint used by tests\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouterShim.t.sol\":\"IMockDelegatedExtension\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouterShim.t.sol\":{\"keccak256\":\"0xe8fabaf60137c1ff13a05fe8ac0f9bb07fcdfe3843697c818d70854889a77801\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6be5c01bbf3ab032f40aad6e968854eefc11cc057c3e4e985e8db1cda1186292\",\"dweb:/ipfs/QmZLAqp3f9yDT1ue5da58hiBsBZRZZdfx8WrUa54LRwkDV\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"handleSequenceDelegateCall(bytes32,uint256,uint256,uint256,uint256,bytes)":"4c4e814c"}}},"MockAggregate3Router":{"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"event","name":"Forwarded","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Forwarded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"Mock router that implements aggregate3Value and forwards calls to targets\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouterShim.t.sol\":\"MockAggregate3Router\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouterShim.t.sol\":{\"keccak256\":\"0xe8fabaf60137c1ff13a05fe8ac0f9bb07fcdfe3843697c818d70854889a77801\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6be5c01bbf3ab032f40aad6e968854eefc11cc057c3e4e985e8db1cda1186292\",\"dweb:/ipfs/QmZLAqp3f9yDT1ue5da58hiBsBZRZZdfx8WrUa54LRwkDV\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346015576105c8908161001a8239f35b5f80fdfe6080604052600436101561001e575b361561001c5761001c61055b565b005b5f3560e01c63174dea710361000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101be5760043567ffffffffffffffff81116101be57366023820112156101be57806004013567ffffffffffffffff81116101be576024820191602436918360051b0101116101be576100a581610335565b915f5b8281106100f8576100f4846040517fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c413391806100e5363483610510565b0390a2604051918291826101c2565b0390f35b5f8061010d6101088487876103d2565b610417565b604061011a8588886103d2565b013561013461012a8689896103d2565b6060810190610438565b919061014560405180948193610489565b03925af1610151610496565b9061015a6102b4565b811515815282602082015261016f84886104ef565b5261017a83876104ef565b50610198610194602061018e8689896103d2565b01610503565b1590565b90816101b5575b506101ad57506001016100a8565b602081519101fd5b9050155f61019f565b5f80fd5b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106101f457505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f85828601015201160101970193019301919392906101e5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906040820182811067ffffffffffffffff8211176102d457604052565b610287565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff8211176102d457604052565b67ffffffffffffffff81116102d45760051b60200190565b906103476103428361031d565b6102d9565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610375829461031d565b01905f5b82811061038557505050565b6020906103906102b4565b5f815260608382015282828501015201610379565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b91908110156104125760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81813603018212156101be570190565b6103a5565b3573ffffffffffffffffffffffffffffffffffffffff811681036101be5790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101be570180359067ffffffffffffffff82116101be576020019181360383136101be57565b908092918237015f815290565b3d156104ea573d9067ffffffffffffffff82116102d4576104de60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f850116016102d9565b9182523d5f602084013e565b606090565b80518210156104125760209160051b010190565b3580151581036101be5790565b90601f6060937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092845260406020850152806040850152805f868601375f8582860101520116010190565b6040517fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4133918061058d363483610510565b0390a256fea2646970667358221220d523db1de27e64b0527069ded5375b764da9b81933e31adb6a59815680bde21364736f6c634300081e0033","sourceMap":"1603:1223:65:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080604052600436101561001e575b361561001c5761001c61055b565b005b5f3560e01c63174dea710361000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101be5760043567ffffffffffffffff81116101be57366023820112156101be57806004013567ffffffffffffffff81116101be576024820191602436918360051b0101116101be576100a581610335565b915f5b8281106100f8576100f4846040517fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c413391806100e5363483610510565b0390a2604051918291826101c2565b0390f35b5f8061010d6101088487876103d2565b610417565b604061011a8588886103d2565b013561013461012a8689896103d2565b6060810190610438565b919061014560405180948193610489565b03925af1610151610496565b9061015a6102b4565b811515815282602082015261016f84886104ef565b5261017a83876104ef565b50610198610194602061018e8689896103d2565b01610503565b1590565b90816101b5575b506101ad57506001016100a8565b602081519101fd5b9050155f61019f565b5f80fd5b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106101f457505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f85828601015201160101970193019301919392906101e5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906040820182811067ffffffffffffffff8211176102d457604052565b610287565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff8211176102d457604052565b67ffffffffffffffff81116102d45760051b60200190565b906103476103428361031d565b6102d9565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610375829461031d565b01905f5b82811061038557505050565b6020906103906102b4565b5f815260608382015282828501015201610379565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b91908110156104125760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81813603018212156101be570190565b6103a5565b3573ffffffffffffffffffffffffffffffffffffffff811681036101be5790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101be570180359067ffffffffffffffff82116101be576020019181360383136101be57565b908092918237015f815290565b3d156104ea573d9067ffffffffffffffff82116102d4576104de60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f850116016102d9565b9182523d5f602084013e565b606090565b80518210156104125760209160051b010190565b3580151581036101be5790565b90601f6060937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092845260406020850152806040850152805f868601375f8582860101520116010190565b6040517fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4133918061058d363483610510565b0390a256fea2646970667358221220d523db1de27e64b0527069ded5375b764da9b81933e31adb6a59815680bde21364736f6c634300081e0033","sourceMap":"1603:1223:65:-:0;;;;;;;;;-1:-1:-1;1603:1223:65;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2088:38;;;:::i;:::-;2142:13;1603:1223;2157:16;;;;;;1603:1223;;;;2750:42;2760:10;1603:1223;;2750:42;1603:1223;2772:9;2750:42;;:::i;:::-;;;;1603:1223;;;;;;;:::i;:::-;;;;2175:3;1603:1223;2229:8;:15;:8;;;;;:::i;:::-;:15;:::i;:::-;1603:1223;2257:8;;;;;:::i;:::-;:14;1603:1223;2273:17;:8;;;;;:::i;:::-;:17;;;;;:::i;:::-;1603:1223;;;;;;;;;;:::i;:::-;2229:62;;;;;;:::i;:::-;1603:1223;;;:::i;:::-;;;;;;2318:32;1603:1223;2318:32;;1603:1223;2305:45;;;;:::i;:::-;;;;;;:::i;:::-;;2437:22;2438:21;1603:1223;2438:8;;;;;:::i;:::-;:21;;:::i;:::-;2437:22;;1603:1223;2437:22;:34;;;;2175:3;2433:201;;;2175:3;1603:1223;;2142:13;;2433:201;1603:1223;2539:81;;;;;2437:34;2463:8;;;2437:34;;;1603:1223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;1603:1223:65;;;;;;;;;:::o;:::-;;;;;:::i;:::-;-1:-1:-1;1603:1223:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;1603:1223:65;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1745:140::-;1603:1223;;1836:42;1846:10;1869:8;;1836:42;1869:8;1858:9;1836:42;;:::i;:::-;;;;1745:140::o","linkReferences":{}},"methodIdentifiers":{"aggregate3Value((address,bool,uint256,bytes)[])":"174dea71"}}},"MockRouter":{"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"Forwarded","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Forwarded\",\"type\":\"event\"},{\"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\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"Mock router that emits events and supports receiving value\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouterShim.t.sol\":\"MockRouter\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouterShim.t.sol\":{\"keccak256\":\"0xe8fabaf60137c1ff13a05fe8ac0f9bb07fcdfe3843697c818d70854889a77801\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6be5c01bbf3ab032f40aad6e968854eefc11cc057c3e4e985e8db1cda1186292\",\"dweb:/ipfs/QmZLAqp3f9yDT1ue5da58hiBsBZRZZdfx8WrUa54LRwkDV\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f5561127d90816100348239f35b5f80fdfe60808060405260043610156100c7575b50361561008c5760405134815260406020820152366040820152365f60608301375f606036830101527fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4133916060817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3601168101030190a2005b604051348152604060208201525f60408201527fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4160603392a2005b5f3560e01c9081631ed7831c14610a6e575080632ade3880146108405780633e5e3c23146107985780633f7286f4146106f057806366d9a9a01461059357806385226c81146104ea578063916a17c614610414578063b0464fdc1461033e578063b5508aa914610295578063ba414fa614610253578063e20c9f711461019b5763fa7626d414610157575f61000f565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757602060ff601f54166040519015158152f35b5f80fd5b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b818110610227576102238561021781870382610d63565b60405191829182610b12565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610200565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757602061028b611163565b6040519015158152f35b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610197576019546102cf81610da4565b906102dd6040519283610d63565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b83831061032157604051806102238782610bf9565b60016020819261033085610dbc565b81520192019201919061030c565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601c5461037881610da4565b906103866040519283610d63565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106103ca57604051806102238782610c76565b600260206001926040516103dd81610d1a565b73ffffffffffffffffffffffffffffffffffffffff8654168152610402858701610ebf565b838201528152019201920191906103b5565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601d5461044e81610da4565b9061045c6040519283610d63565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b8383106104a057604051806102238782610c76565b600260206001926040516104b381610d1a565b73ffffffffffffffffffffffffffffffffffffffff86541681526104d8858701610ebf565b8382015281520192019201919061048b565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601a5461052481610da4565b906105326040519283610d63565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b83831061057657604051806102238782610bf9565b60016020819261058585610dbc565b815201920192019190610561565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601b546105cd81610da4565b906105db6040519283610d63565b808252602082019081601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b8383106106b557848660405191829160208301906020845251809152604083019060408160051b85010192915f905b82821061064a57505050500390f35b919360206106a5827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc06001959799849503018652885190836106958351604084526040840190610b61565b9201519084818403910152610ba4565b960192019201859493919261063b565b600260206001926040516106c881610d1a565b6106d186610dbc565b81526106de858701610ebf565b8382015281520192019201919061060c565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b81811061076c576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610755565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b818110610814576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016107fd565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601e5461087a81610da4565b906108886040519283610d63565b808252602082019081601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b8383106109d657848660405191829160208301906020845251809152604083019060408160051b85010192915f905b8282106108f757505050500390f35b91939092947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09082030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b82811061098d57505050505060208060019296019201920185949391926108e8565b90919293946020806109c9837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951610b61565b970195019392910161096b565b6040516109e281610d1a565b73ffffffffffffffffffffffffffffffffffffffff8354168152600183018054610a0b81610da4565b91610a196040519384610d63565b81835260208301905f5260205f20905f905b838210610a515750505050600192826020928360029501528152019201920191906108b9565b600160208192610a6086610dbc565b815201930191019091610a2b565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601654808252602082019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b818110610ae6576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610acf565b60206040818301928281528451809452019201905f5b818110610b355750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101610b28565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110610bc15750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101610bb4565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610c2b57505050505090565b9091929394602080610c67837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951610b61565b97019301930191939290610c1c565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610ca857505050505090565b9091929394602080610d0b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190610ba4565b97019301930191939290610c99565b6040810190811067ffffffffffffffff821117610d3657604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610d3657604052565b67ffffffffffffffff8111610d365760051b60200190565b90604051915f8154908160011c9260018316928315610eb5575b602085108414610e88578487528693908115610e485750600114610e04575b50610e0292500383610d63565b565b90505f9291925260205f20905f915b818310610e2c575050906020610e02928201015f610df5565b6020919350806001915483858901015201910190918492610e13565b60209350610e029592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f610df5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f1693610dd6565b90604051918281549182825260208201905f5260205f20925f905b8060078301106110d657610e029454918181106110a0575b81811061106a575b818110611034575b818110610ffe575b818110610fc8575b818110610f92575b818110610f5d575b10610f30575b500383610d63565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f610f28565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301610f22565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301610f1a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301610f12565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301610f0a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301610f02565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301610efa565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301610ef2565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391610eda565b60085460ff161561117357600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811561123c575f9161120a575b50151590565b90506020813d602011611234575b8161122560209383610d63565b8101031261019757515f611204565b3d9150611218565b6040513d5f823e3d90fdfea26469706673582212206e9642ec453e986d63884812fd70441be020e85e83d9366b4f5b108bab7b726264736f6c634300081e0033","sourceMap":"1225:293:65:-:0;;;;;;;3200:4:5;1225:293:65;;3200:4:5;1225:293:65;;;3200:4:5;1225:293:65;3200:4:5;1225:293:65;;1087:4:16;1225:293:65;;;1087:4:16;1225:293:65;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60808060405260043610156100c7575b50361561008c5760405134815260406020820152366040820152365f60608301375f606036830101527fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4133916060817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3601168101030190a2005b604051348152604060208201525f60408201527fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4160603392a2005b5f3560e01c9081631ed7831c14610a6e575080632ade3880146108405780633e5e3c23146107985780633f7286f4146106f057806366d9a9a01461059357806385226c81146104ea578063916a17c614610414578063b0464fdc1461033e578063b5508aa914610295578063ba414fa614610253578063e20c9f711461019b5763fa7626d414610157575f61000f565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757602060ff601f54166040519015158152f35b5f80fd5b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b818110610227576102238561021781870382610d63565b60405191829182610b12565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610200565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757602061028b611163565b6040519015158152f35b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610197576019546102cf81610da4565b906102dd6040519283610d63565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b83831061032157604051806102238782610bf9565b60016020819261033085610dbc565b81520192019201919061030c565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601c5461037881610da4565b906103866040519283610d63565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106103ca57604051806102238782610c76565b600260206001926040516103dd81610d1a565b73ffffffffffffffffffffffffffffffffffffffff8654168152610402858701610ebf565b838201528152019201920191906103b5565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601d5461044e81610da4565b9061045c6040519283610d63565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b8383106104a057604051806102238782610c76565b600260206001926040516104b381610d1a565b73ffffffffffffffffffffffffffffffffffffffff86541681526104d8858701610ebf565b8382015281520192019201919061048b565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601a5461052481610da4565b906105326040519283610d63565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b83831061057657604051806102238782610bf9565b60016020819261058585610dbc565b815201920192019190610561565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601b546105cd81610da4565b906105db6040519283610d63565b808252602082019081601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b8383106106b557848660405191829160208301906020845251809152604083019060408160051b85010192915f905b82821061064a57505050500390f35b919360206106a5827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc06001959799849503018652885190836106958351604084526040840190610b61565b9201519084818403910152610ba4565b960192019201859493919261063b565b600260206001926040516106c881610d1a565b6106d186610dbc565b81526106de858701610ebf565b8382015281520192019201919061060c565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b81811061076c576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610755565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b818110610814576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016107fd565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601e5461087a81610da4565b906108886040519283610d63565b808252602082019081601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b8383106109d657848660405191829160208301906020845251809152604083019060408160051b85010192915f905b8282106108f757505050500390f35b91939092947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09082030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b82811061098d57505050505060208060019296019201920185949391926108e8565b90919293946020806109c9837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951610b61565b970195019392910161096b565b6040516109e281610d1a565b73ffffffffffffffffffffffffffffffffffffffff8354168152600183018054610a0b81610da4565b91610a196040519384610d63565b81835260208301905f5260205f20905f905b838210610a515750505050600192826020928360029501528152019201920191906108b9565b600160208192610a6086610dbc565b815201930191019091610a2b565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601654808252602082019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b818110610ae6576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610acf565b60206040818301928281528451809452019201905f5b818110610b355750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101610b28565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110610bc15750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101610bb4565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610c2b57505050505090565b9091929394602080610c67837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951610b61565b97019301930191939290610c1c565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610ca857505050505090565b9091929394602080610d0b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190610ba4565b97019301930191939290610c99565b6040810190811067ffffffffffffffff821117610d3657604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610d3657604052565b67ffffffffffffffff8111610d365760051b60200190565b90604051915f8154908160011c9260018316928315610eb5575b602085108414610e88578487528693908115610e485750600114610e04575b50610e0292500383610d63565b565b90505f9291925260205f20905f915b818310610e2c575050906020610e02928201015f610df5565b6020919350806001915483858901015201910190918492610e13565b60209350610e029592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f610df5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f1693610dd6565b90604051918281549182825260208201905f5260205f20925f905b8060078301106110d657610e029454918181106110a0575b81811061106a575b818110611034575b818110610ffe575b818110610fc8575b818110610f92575b818110610f5d575b10610f30575b500383610d63565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f610f28565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301610f22565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301610f1a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301610f12565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301610f0a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301610f02565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301610efa565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301610ef2565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391610eda565b60085460ff161561117357600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811561123c575f9161120a575b50151590565b90506020813d602011611234575b8161122560209383610d63565b8101031261019757515f611204565b3d9150611218565b6040513d5f823e3d90fdfea26469706673582212206e9642ec453e986d63884812fd70441be020e85e83d9366b4f5b108bab7b726264736f6c634300081e0033","sourceMap":"1225:293:65:-:0;;;;;;;;;;-1:-1:-1;1225:293:65;;;;;;;1395:9;1255:17:4;;1225:293:65;;;;;;;;;;;1406:8;1225:293;;;;1406:8;1225:293;;;;;;1373:42;1383:10;1225:293;;;;;;;;;;1373:42;;;;1225:293;;;;1492:9;1255:17:4;;1225:293:65;;;;;-1:-1:-1;1225:293:65;;;;1470:39;;1480:10;1470:39;;1225:293;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1065:26:16;1225:293:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2723:18:9;1225:293:65;;;;;;;2723:18:9;1225:293:65;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;2575:18:9;1225:293:65;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2575:18:9;1225:293:65;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2876:18:9;1225:293:65;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;2876:18:9;1225:293:65;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;3653:18:9;1225:293:65;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;3653:18:9;1225:293:65;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;3162:18:9;1225:293:65;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3162:18:9;1225:293:65;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3346:26:9;1225:293:65;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;3346:26:9;1225:293:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:18:9;1225:293:65;;;;;;;3501:18:9;1225:293:65;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3794:16:9;1225:293:65;;;;;;;3794:16:9;1225:293:65;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3948:19:9;1225:293:65;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;3948:19:9;1225:293:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3018:16:9;1225:293:65;;;;;;;;3018:16:9;1225:293:65;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1225:293:65;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;1225:293:65;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;1225:293:65;;;;;-1:-1:-1;1225:293:65;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;1225:293:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;-1:-1:-1;1225:293:65;;;;;-1:-1:-1;1225:293:65;;-1:-1:-1;1225:293:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1225:293:65;;;;;-1:-1:-1;1225:293:65;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1225:293:65;;-1:-1:-1;1225:293:65;;-1:-1:-1;1225:293:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1306:195:4;1365:7;1225:293:65;;;;;;1395:4:4;1388:11;:::o;1361:134::-;1225:293:65;;;1437:33:4;;1225:293:65;1437:33:4;;;1225:293:65;192:59:4;1255:17;;;;;1437:33;;;1225:293:65;1437:33:4;;;;;;;1225:293:65;1437:33:4;;;1361:134;1437:47;;;1430:54;:::o;1437:33::-;;;1255:17;1437:33;;1255:17;1437:33;;;;;;1255:17;1437:33;;;:::i;:::-;;;1255:17;;;;;1437:33;;;;;;-1:-1:-1;1437:33:4;;;1225:293:65;;1255:17:4;1225:293:65;1255:17:4;;;;","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"}}},"MockRouterReturningData":{"abi":[{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"returnTestData","inputs":[],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"event","name":"Forwarded","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Forwarded\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"returnTestData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouterShim.t.sol\":\"MockRouterReturningData\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouterShim.t.sol\":{\"keccak256\":\"0xe8fabaf60137c1ff13a05fe8ac0f9bb07fcdfe3843697c818d70854889a77801\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6be5c01bbf3ab032f40aad6e968854eefc11cc057c3e4e985e8db1cda1186292\",\"dweb:/ipfs/QmZLAqp3f9yDT1ue5da58hiBsBZRZZdfx8WrUa54LRwkDV\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234601557610610908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063174dea71146100345763ad1cd6531461002f575f80fd5b610289565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b25760043567ffffffffffffffff81116101b257366023820112156101b257806004013567ffffffffffffffff81116101b2576024820191602436918360051b0101116101b2576100ac816103b6565b915f5b8281106100ff576100fb846040517fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c413391806100ec36348361058f565b0390a2604051918291826101f9565b0390f35b5f80604061010e84878761046e565b013561012861011e85888861046e565b60608101906104b3565b9061013860405180938193610504565b0391305af1610145610511565b9061014e61038d565b8115158152826020820152610163848861056e565b5261016e838761056e565b5061018c610188602061018286898961046e565b01610582565b1590565b90816101a9575b506101a157506001016100af565b602081519101fd5b90501586610193565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061022b57505050505090565b909192939460208061027a837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b51805115158452015191818582015201906101b6565b9701930193019193929061021c565b346101b2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b2576100fb604051602a6020820152604080820152600960608201527f746573742064617461000000000000000000000000000000000000000000000060808201526080815261030660a082610347565b6040519182916020835260208301906101b6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761038857604052565b61031a565b6040519061039c604083610347565b565b67ffffffffffffffff81116103885760051b60200190565b906103c08261039e565b6103cd6040519182610347565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06103fb829461039e565b015f5b81811061040a57505050565b60405190604082019180831067ffffffffffffffff841117610388576020926040525f8152606083820152828286010152016103fe565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b91908110156104ae5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81813603018212156101b2570190565b610441565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101b2570180359067ffffffffffffffff82116101b2576020019181360383136101b257565b908092918237015f815290565b3d15610569573d9067ffffffffffffffff8211610388576040519161055e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610347565b82523d5f602084013e565b606090565b80518210156104ae5760209160051b010190565b3580151581036101b25790565b90601f6060937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092845260406020850152806040850152805f868601375f858286010152011601019056fea2646970667358221220c59aa3424424cfeec0bf827ec6d7e662b84755b5519b5b538c16de4ef8d4521564736f6c634300081e0033","sourceMap":"3033:1132:65:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c8063174dea71146100345763ad1cd6531461002f575f80fd5b610289565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b25760043567ffffffffffffffff81116101b257366023820112156101b257806004013567ffffffffffffffff81116101b2576024820191602436918360051b0101116101b2576100ac816103b6565b915f5b8281106100ff576100fb846040517fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c413391806100ec36348361058f565b0390a2604051918291826101f9565b0390f35b5f80604061010e84878761046e565b013561012861011e85888861046e565b60608101906104b3565b9061013860405180938193610504565b0391305af1610145610511565b9061014e61038d565b8115158152826020820152610163848861056e565b5261016e838761056e565b5061018c610188602061018286898961046e565b01610582565b1590565b90816101a9575b506101a157506001016100af565b602081519101fd5b90501586610193565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061022b57505050505090565b909192939460208061027a837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b51805115158452015191818582015201906101b6565b9701930193019193929061021c565b346101b2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b2576100fb604051602a6020820152604080820152600960608201527f746573742064617461000000000000000000000000000000000000000000000060808201526080815261030660a082610347565b6040519182916020835260208301906101b6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761038857604052565b61031a565b6040519061039c604083610347565b565b67ffffffffffffffff81116103885760051b60200190565b906103c08261039e565b6103cd6040519182610347565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06103fb829461039e565b015f5b81811061040a57505050565b60405190604082019180831067ffffffffffffffff841117610388576020926040525f8152606083820152828286010152016103fe565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b91908110156104ae5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81813603018212156101b2570190565b610441565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101b2570180359067ffffffffffffffff82116101b2576020019181360383136101b257565b908092918237015f815290565b3d15610569573d9067ffffffffffffffff8211610388576040519161055e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610347565b82523d5f602084013e565b606090565b80518210156104ae5760209160051b010190565b3580151581036101b25790565b90601f6060937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092845260406020850152806040850152805f868601375f858286010152011601019056fea2646970667358221220c59aa3424424cfeec0bf827ec6d7e662b84755b5519b5b538c16de4ef8d4521564736f6c634300081e0033","sourceMap":"3033:1132:65:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3340:38;;;:::i;:::-;3394:13;3033:1132;3409:16;;;;;;3033:1132;;;;3960:42;3970:10;3033:1132;;3960:42;3033:1132;3982:9;3960:42;;:::i;:::-;;;;3033:1132;;;;;;;:::i;:::-;;;;3427:3;3033:1132;3507:8;3033:1132;3507:8;;;;;:::i;:::-;:14;3033:1132;3523:17;:8;;;;;:::i;:::-;:17;;;;;:::i;:::-;3033:1132;;;;;;;;;:::i;:::-;3481:60;3489:4;;3481:60;;;;:::i;:::-;3033:1132;;;:::i;:::-;;;;;;3568:32;3033:1132;3568:32;;3033:1132;3555:45;;;;:::i;:::-;;;;;;:::i;:::-;;3687:22;3688:21;3033:1132;3688:8;;;;;:::i;:::-;:21;;:::i;:::-;3687:22;;3033:1132;3687:22;:34;;;;3427:3;3683:201;;;3427:3;3033:1132;;3394:13;;3683:201;3033:1132;3789:81;;;;;3687:34;3713:8;;;3687:34;;;3033:1132;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3033:1132:65;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;4139:2;4120:36;;;3033:1132;;;;;;;;;;;;;;;;;4120:36;;;;;;:::i;:::-;3033:1132;;;;;4120:36;3033:1132;;4120:36;3033:1132;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;-1:-1:-1;3033:1132:65;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3033:1132:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;3033:1132:65;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"aggregate3Value((address,bool,uint256,bytes)[])":"174dea71","returnTestData()":"ad1cd653"}}},"RevertingRouter":{"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"error","name":"AlwaysRevert","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"AlwaysRevert\",\"type\":\"error\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"details\":\"Mock router that always reverts with encoded data\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouterShim.t.sol\":\"RevertingRouter\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouterShim.t.sol\":{\"keccak256\":\"0xe8fabaf60137c1ff13a05fe8ac0f9bb07fcdfe3843697c818d70854889a77801\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6be5c01bbf3ab032f40aad6e968854eefc11cc057c3e4e985e8db1cda1186292\",\"dweb:/ipfs/QmZLAqp3f9yDT1ue5da58hiBsBZRZZdfx8WrUa54LRwkDV\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460135760a6908160188239f35b5f80fdfe608060408190527feac126da00000000000000000000000000000000000000000000000000000000815260206084523660a48190525f60c4375f604436830101526044817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3601168101030190fdfea2646970667358221220273dfcfb923236d3aa32365e85451abad55691092551dc6ede6009157e09daa764736f6c634300081e0033","sourceMap":"2887:144:65:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"608060408190527feac126da00000000000000000000000000000000000000000000000000000000815260206084523660a48190525f60c4375f604436830101526044817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3601168101030190fdfea2646970667358221220273dfcfb923236d3aa32365e85451abad55691092551dc6ede6009157e09daa764736f6c634300081e0033","sourceMap":"2887:144:65:-:0;;;;;3000:22;;;2887:144;3000:22;2887:144;3013:8;2887:144;;;;3013:8;2887:144;;3013:8;2887:144;3013:8;2887:144;;;;;3013:8;2887:144;;3013:8;2887:144;;;;3000:22;;;","linkReferences":{}}}},"TrailsRouterShimTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testConstructorValidation","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testForwardToRouterReturnValue","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRouterAddressImmutable","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_constructor_revert_zeroRouter","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_delegatecall_forwards_and_sets_sentinel_sstore_inactive","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_delegatecall_forwards_and_sets_sentinel_tstore_active","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_delegatecall_router_revert_bubbles_as_RouterCallFailed","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_delegatecall_sets_sentinel_with_sstore_when_no_tstore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_delegatecall_sets_sentinel_with_tstore_when_supported","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_direct_handleSequenceDelegateCall_reverts_not_delegatecall","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_forwardToRouter_return_data_handling","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_forwardToRouter_revert_with_custom_error","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_handleSequenceDelegateCall_allows_arbitrary_selector","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_handleSequenceDelegateCall_empty_calldata","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_handleSequenceDelegateCall_large_calldata","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_handleSequenceDelegateCall_max_call_value","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_handleSequenceDelegateCall_with_eth_value","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_handleSequenceDelegateCall_zero_call_value","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_sentinel_setting_with_different_op_hashes","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Forwarded","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Forwarded\",\"type\":\"event\"},{\"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\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testConstructorValidation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testForwardToRouterReturnValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRouterAddressImmutable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_constructor_revert_zeroRouter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_delegatecall_forwards_and_sets_sentinel_sstore_inactive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_delegatecall_forwards_and_sets_sentinel_tstore_active\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_delegatecall_router_revert_bubbles_as_RouterCallFailed\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_delegatecall_sets_sentinel_with_sstore_when_no_tstore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_delegatecall_sets_sentinel_with_tstore_when_supported\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_direct_handleSequenceDelegateCall_reverts_not_delegatecall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_forwardToRouter_return_data_handling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_forwardToRouter_revert_with_custom_error\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_handleSequenceDelegateCall_allows_arbitrary_selector\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_handleSequenceDelegateCall_empty_calldata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_handleSequenceDelegateCall_large_calldata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_handleSequenceDelegateCall_max_call_value\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_handleSequenceDelegateCall_with_eth_value\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_handleSequenceDelegateCall_zero_call_value\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_sentinel_setting_with_different_op_hashes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/TrailsRouterShim.t.sol\":\"TrailsRouterShimTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/TrailsRouterShim.t.sol\":{\"keccak256\":\"0xe8fabaf60137c1ff13a05fe8ac0f9bb07fcdfe3843697c818d70854889a77801\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6be5c01bbf3ab032f40aad6e968854eefc11cc057c3e4e985e8db1cda1186292\",\"dweb:/ipfs/QmZLAqp3f9yDT1ue5da58hiBsBZRZZdfx8WrUa54LRwkDV\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f5561a10090816100348239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806306b133691461020f5780630a9254e41461020a5780630f59cebe1461020557806313b0f5cd146101b55780631ed7831c146102005780632ade3880146101fb5780633403533a146101f65780633e5e3c23146101f15780633f7286f4146101ec57806346c5bb8b146101e75780634c57e12e146101e2578063568ec6fd146101dd578063610b4369146101d85780636450514c146101d357806366d9a9a0146101ce5780636f2afb84146101c95780637ee2aaa5146101c457806385226c81146101bf578063916a17c6146101ba57806396bfd8de146101b5578063a009a77a146101b0578063b0464fdc146101ab578063b5508aa9146101a6578063b953254e146101a1578063ba414fa61461019c578063cf7e694714610197578063d2d18ff514610192578063dc420e101461018d578063dfab5b2014610188578063e20c9f7114610183578063f679951d1461017e5763fa7626d414610179575f80fd5b613cd8565b613ca2565b613bfa565b61399d565b613829565b61358d565b613280565b61323e565b613109565b613060565b612f8a565b612f23565b610d06565b612e4d565b612d00565b612a63565b612799565b6126d2565b612483565b612158565b611f2b565b611b78565b6114e3565b61143b565b611393565b611148565b611072565b610e63565b6107bb565b610540565b610222565b5f91031261021e57565b5f80fd5b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405161058880820182811067ffffffffffffffff82111761053b5782916156bd833903905ff080156105365773ffffffffffffffffffffffffffffffffffffffff1660405161079480820182811067ffffffffffffffff82111761053b57836102db918493615c45853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff080156105365773ffffffffffffffffffffffffffffffffffffffff6103049116613e22565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f61035791604051809381927fb4d6c78200000000000000000000000000000000000000000000000000000000835260048301613e48565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610536575f806104736104ad61047361049f61051a987fffffffff000000000000000000000000000000000000000000000000000000009860209861051c575b506103bc613ea9565b906040517ff9ab70b9000000000000000000000000000000000000000000000000000000008a820152600481526103f4602482613d88565b61041b6103ff613dc9565b73ffffffffffffffffffffffffffffffffffffffff9093168352565b878a830152876040830152606082015261043482613fd1565b5261043e81613fd1565b506040519283917f174dea71000000000000000000000000000000000000000000000000000000008a84015260248301613fe3565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282613d88565b60405192839187830161409d565b6040516104e781610473878201947f4c4e814c0000000000000000000000000000000000000000000000000000000086526024830161412e565b51908261beef5af16105096104fa6141fb565b9161050361422a565b90614d41565b015116610514614265565b90614dcf565b005b8061052a8861053093613d88565b80610214565b5f6103b3565b613d45565b613d18565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576040516112b180820182811067ffffffffffffffff82111761053b5782916163d9833903905ff08015610536576105e09073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055565b61061b61060260205473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b604051906107948083019183831067ffffffffffffffff84111761053b57839261066492615c45853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff08015610536576106b9907fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f55565b6106ea61beef7fffffffffffffffffffffffff00000000000000000000000000000000000000006021541617602155565b60215473ffffffffffffffffffffffffffffffffffffffff1661073161072c610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57610787915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610536576107ad57005b8061052a5f61051a93613d88565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5761081361080e61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b614ebd565b60215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f602482018190528160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657610cf2575b506109925f806104736109186104736109096108d4613f28565b6040519283917f174dea7100000000000000000000000000000000000000000000000000000000602084015260248301613fe3565b6040519283916020830161409d565b61093a61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b90826040516109778161047360208201957f4c4e814c0000000000000000000000000000000000000000000000000000000087526024830161415d565b51925af16109836141fb565b5061098c6142c6565b90614f50565b6109bb61072c610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60215473ffffffffffffffffffffffffffffffffffffffff166040516122c48082019082821067ffffffffffffffff83111761053b578291610a199161768a843973ca11bde05977b3631167028862be2a173976ca11815260200190565b03905ff080156105365773ffffffffffffffffffffffffffffffffffffffff610a429116613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57610a98915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657610cde575b5060215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657610cca575b506040517f2a3ee1260000000000000000000000000000000000000000000000000000000060208201525f6024820181905260448201526101126064820152610bb88160848101610473565b610bdd61060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e57610c215f929183926040519485809481937f4c4e814c0000000000000000000000000000000000000000000000000000000083526004830161415d565b03925af1801561053657610cb6575b5060215473ffffffffffffffffffffffffffffffffffffffff16610c55815b31614faf565b610c616101123161502d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57610787915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b8061052a5f610cc493613d88565b5f610c30565b8061052a5f610cd893613d88565b5f610b6c565b8061052a5f610cec93613d88565b5f610abd565b8061052a5f610d0093613d88565b5f6108ba565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f1df13ab50000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657610e00575b506040516107948082019082821067ffffffffffffffff83111761053b578291610df591615c4584395f815260200190565b03905ff01561053657005b8061052a5f610e0e93613d88565b5f610dc3565b60206040818301928281528451809452019201905f5b818110610e375750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101610e2a565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405180602060165491828152019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b818110610eef57610eeb85610edf81870382613d88565b60405191829182610e14565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610ec8565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820190602060408260051b8501019401915f905b828210610f9057505050505090565b9091929395947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08782030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b82811061102957505050505060208060019296019201920190929195939495610f81565b9091929394602080611065837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951610f1b565b9701950193929101611005565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601e546110ac81613e91565b906110ba6040519283613d88565b80825260208201601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b8383106110fe5760405180610eeb8782610f5e565b6002602060019260405161111181613d50565b73ffffffffffffffffffffffffffffffffffffffff86541681526111368587016145d9565b838201528152019201920191906110e9565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576040517fe13a7716000000000000000000000000000000000000000000000000000000006020820152600481526111ae602482613d88565b60405161062a80820182811067ffffffffffffffff82111761053b57829161994e833903905ff0801561053657604051906107949081830183811067ffffffffffffffff82111761053b5773ffffffffffffffffffffffffffffffffffffffff611238928594615c4586391673ffffffffffffffffffffffffffffffffffffffff16815260200190565b03905ff0801561053657611284611258926040519384916020830161409d565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283613d88565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d2000000000000000000000000000000000000000000000000000000006004820152905f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af19182156105365773ffffffffffffffffffffffffffffffffffffffff9261137f575b5016803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838161136f8860048301614301565b03925af18015610536576107ad57005b8061052a5f61138d93613d88565b5f61132b565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b81811061140f57610eeb85610edf81870382613d88565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016113f8565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b8181106114b757610eeb85610edf81870382613d88565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016114a0565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5761153661080e61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b60215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657611b64575b506104736116b76115f3613ea9565b61161561060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fdce1d5ba000000000000000000000000000000000000000000000000000000006020820152607b60248201526116528160448101610473565b61165d6103ff613dc9565b5f60208301525f6040830152606082015261167782613fd1565b5261168181613fd1565b506040519283917f174dea7100000000000000000000000000000000000000000000000000000000602084015260248301613fe3565b604051906116cc8261125883602083016140b9565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061173560048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536576117e19261060292611b50575b5060215473ffffffffffffffffffffffffffffffffffffffff165b907fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41604051806117c573ffffffffffffffffffffffffffffffffffffffff8616948261462e565b0390a273ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816118238860048301614350565b03925af1801561053657611b3c575b5061185c61072c610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60215473ffffffffffffffffffffffffffffffffffffffff166040516122c48082019082821067ffffffffffffffff83111761053b5782916118ba9161768a843973ca11bde05977b3631167028862be2a173976ca11815260200190565b03905ff080156105365773ffffffffffffffffffffffffffffffffffffffff6118e39116613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57611939915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657611b28575b5060215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657611b14575b506040517f2a3ee1260000000000000000000000000000000000000000000000000000000060208201525f6024820181905260448201526101116064820152611a598160848101610473565b611a7e61060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e57611ac25f929183926040519485809481937f4c4e814c00000000000000000000000000000000000000000000000000000000835260048301614350565b03925af1801561053657611b00575b5060215473ffffffffffffffffffffffffffffffffffffffff16611af481610c4f565b610c616101113161502d565b8061052a5f611b0e93613d88565b81611ad1565b8061052a5f611b2293613d88565b81611a0d565b8061052a5f611b3693613d88565b8161195e565b8061052a5f611b4a93613d88565b80611832565b8061052a5f611b5e93613d88565b5f611763565b8061052a5f611b7293613d88565b5f6115e4565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57611bd0611bcb61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b61513f565b610473611c3e610473610909611be4613ea9565b611c0661060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fe236188c00000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b611c6361060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f908290818381611ca5886004830161439f565b03925af1801561053657611f17575b50610473611d23610473610909611cc9613ea9565b611ceb61060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f1599887400000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b611d4861060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f908290818381611d8a88600483016143ee565b03925af1801561053657611f03575b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f7b16557ff4531e10659a080d13905c75834812f11439553cbb960ecf2dddab3c60205261051a7f015c485266916cf8070d38a17c9ebdfb2a224c35c6fe95b4cb7c4faa018b1caf7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f4b4f3f73c0d0a465ce08530b3a346a3588f8e6cfc44abb264d082d2b9b5bd1036020527f92ea692a4df4dade52fc9401b46f0d63f071ce87fd5d1c4a0bd89cb15dae49cc611ef3611ead8373ffffffffffffffffffffffffffffffffffffffff611ea760215473ffffffffffffffffffffffffffffffffffffffff1690565b16615464565b611eee611ee88473ffffffffffffffffffffffffffffffffffffffff611ea760215473ffffffffffffffffffffffffffffffffffffffff1690565b916150bd565b6150bd565b611efb6146a3565b911415614f50565b8061052a5f611f1193613d88565b80611d99565b8061052a5f611f2593613d88565b80611cb4565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57611f82611bcb610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f602482018190528160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657612144575b6120a15f806104736120426104736109096108d4613f28565b61206461060260215473ffffffffffffffffffffffffffffffffffffffff1690565b90826040516109778161047360208201957f4c4e814c000000000000000000000000000000000000000000000000000000008752602483016141ac565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f954124d6dcb3c3e80833816fcdc92da2b788dcbcca76aeed58624886a6cc48f760205261051a611eee7f098d22cf1afe6c7889c69864d8d32660017deb034f638ca10a0bf30b2ede9f615b73ffffffffffffffffffffffffffffffffffffffff611ea760215473ffffffffffffffffffffffffffffffffffffffff1690565b8061052a5f61215293613d88565b5f612029565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105365761246f575b506104736122b561225b613ea9565b61227d61060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f1942bbba00000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b604051906122ca8261125883602083016140d8565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061233360048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536576123c2926106029261245b575b5060215473ffffffffffffffffffffffffffffffffffffffff16907fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41604051806117c573ffffffffffffffffffffffffffffffffffffffff8616948261464d565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f908290818381612404886004830161412e565b03925af1801561053657612447575b61051a61243861060260215473ffffffffffffffffffffffffffffffffffffffff1690565b316124416146de565b906155bf565b8061052a5f61245593613d88565b80612413565b8061052a5f61246993613d88565b5f612361565b8061052a5f61247d93613d88565b5f61224c565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576040516112b180820182811067ffffffffffffffff82111761053b5782916163d9833903905ff080156105365773ffffffffffffffffffffffffffffffffffffffff1660405161079480820182811067ffffffffffffffff82111761053b578361253c918493615c45853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811561053657602073ffffffffffffffffffffffffffffffffffffffff926004604051809581937f32fe7b26000000000000000000000000000000000000000000000000000000008352165afa9081156105365761051a925f926125af575b506125a9614745565b91615630565b6125d291925060203d6020116125d9575b6125ca8183613d88565b810190614719565b905f6125a0565b503d6125c0565b90602080835192838152019201905f5b8181106125fd5750505090565b82517fffffffff00000000000000000000000000000000000000000000000000000000168452602093840193909201916001016125f0565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061266757505050505090565b90919293946020806126c3837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752895190836126b38351604084526040840190610f1b565b92015190848184039101526125e0565b97019301930191939290612658565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601b5461270c81613e91565b9061271a6040519283613d88565b80825260208201601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b83831061275e5760405180610eeb8782612635565b6002602060019260405161277181613d50565b61277a866144db565b8152612787858701614780565b83820152815201920192019190612749565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576127f0611bcb610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657612a4f575b506104736128ad6115f3613ea9565b604051906128c28261125883602083016140b9565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061292b60048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536576129779261060292611b50575060215473ffffffffffffffffffffffffffffffffffffffff1661177e565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816129b9886004830161443d565b03925af1801561053657612a3b575b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fb9717e7c25f377269073ad9f681f5580bd478599c37b7209b5111b3d8be5864d60205261051a611eee7f3e6f172d815bc63b7199b0e0fb78ef6420d6c89bd5f83a9cfe3b0aad0ccb9c8e612110565b8061052a5f612a4993613d88565b806129c8565b8061052a5f612a5d93613d88565b5f61289e565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57612a99614b28565b5f5b8151811015612ae1576001907fff0000000000000000000000000000000000000000000000000000000000000060f882901b165f1a612ada8285614b7b565b5301612a9b565b610473612b1f83612af0613ea9565b90612b1361060260205473ffffffffffffffffffffffffffffffffffffffff1690565b9061165d6103ff613dc9565b60405190612b3482611258836020830161409d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f8280612b9d60048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561053657612c2d9261060292612c6f575b5060215473ffffffffffffffffffffffffffffffffffffffff165b907fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41604051806117c573ffffffffffffffffffffffffffffffffffffffff86169482614b8c565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838161136f886004830161412e565b8061052a5f612c7d93613d88565b84612bcb565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310612cb557505050505090565b9091929394602080612cf1837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951610f1b565b97019301930191939290612ca6565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601a54612d3a81613e91565b90612d486040519283613d88565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310612d8c5760405180610eeb8782612c83565b600160208192612d9b856144db565b815201920192019190612d77565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310612ddb57505050505090565b9091929394602080612e3e837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff8151168452015191818582015201906125e0565b97019301930191939290612dcc565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601d54612e8781613e91565b90612e956040519283613d88565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b838310612ed95760405180610eeb8782612da9565b60026020600192604051612eec81613d50565b73ffffffffffffffffffffffffffffffffffffffff8654168152612f11858701614780565b83820152815201920192019190612ec4565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57610473612f656104736109096108d4613f28565b612c2d61060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601c54612fc481613e91565b90612fd26040519283613d88565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106130165760405180610eeb8782612da9565b6002602060019260405161302981613d50565b73ffffffffffffffffffffffffffffffffffffffff865416815261304e858701614780565b83820152815201920192019190613001565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760195461309a81613e91565b906130a86040519283613d88565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b8383106130ec5760405180610eeb8782612c83565b6001602081926130fb856144db565b8152019201920191906130d7565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576104736131756040517f7ddeef2400000000000000000000000000000000000000000000000000000000602082015260048152610909602482613d88565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d20000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105365761322a575b50601f54612c2d9060081c73ffffffffffffffffffffffffffffffffffffffff16610602565b8061052a5f61323893613d88565b5f613204565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576020613276614bb2565b6040519015158152f35b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152671bc16d674ec8000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657613579575b506104736133c561336b613ea9565b61338d61060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f4185f8eb00000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b604051906133da82611258836020830161410f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061344360048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536576134d29261060292613565575b5060215473ffffffffffffffffffffffffffffffffffffffff16907fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41604051806117c573ffffffffffffffffffffffffffffffffffffffff86169482614684565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f908290818381613514886004830161412e565b03925af1801561053657613551575b61051a61354861060260215473ffffffffffffffffffffffffffffffffffffffff1690565b31612441614c8c565b8061052a5f61355f93613d88565b80613523565b8061052a5f61357393613d88565b5f613471565b8061052a5f61358793613d88565b5f61335c565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405161062a80820182811067ffffffffffffffff82111761053b57829161994e833903905ff080156105365773ffffffffffffffffffffffffffffffffffffffff1660405161079480820182811067ffffffffffffffff82111761053b5783613646918493615c45853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff080156105365773ffffffffffffffffffffffffffffffffffffffff61366f9116613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f6136c392604051809481927fb4d6c78200000000000000000000000000000000000000000000000000000000835260048301613e48565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af19182156105365761090961373a926104739261047395613815575b50613701613ea9565b906040517fad1cd65300000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b61beef3b1561021e575f61377b91604051809381927f4c4e814c0000000000000000000000000000000000000000000000000000000083526004830161448c565b03818361beef5af1801561053657613801575b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f940feddedb4231cbe3b5e99d6da0f72e1cdedc7e21a4a8d093cb21a282923a9d60205261051a611eee7f9f55752416deca12a403f03a26e5f135cd3a3d9b0b7df67d93199e0e309fece661529d565b8061052a5f61380f93613d88565b5f61378e565b8061052a5f61382393613d88565b5f6136f8565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576104736138bf613865613ea9565b61388761060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f8269267900000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b604051906138d482611258836020830161409d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061393d60048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561053657612c2d9261060292613989575060215473ffffffffffffffffffffffffffffffffffffffff16612be6565b8061052a5f61399793613d88565b5f612bcb565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405160be80820182811067ffffffffffffffff82111761053b578291619f78833903905ff0801561053657613a3873ffffffffffffffffffffffffffffffffffffffff613a3161060260205473ffffffffffffffffffffffffffffffffffffffff1690565b9216613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57613a8e915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657613be6575b61051a7fffffffff0000000000000000000000000000000000000000000000000000000060205f80610473613b7961047361049f613aef613ea9565b613b10610602895473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f73ee93b3000000000000000000000000000000000000000000000000000000008a82015260206024820152600160448201527f780000000000000000000000000000000000000000000000000000000000000060648201526103f48160848101610473565b613b9b61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b9082604051613bd781610473898201957f4c4e814c0000000000000000000000000000000000000000000000000000000087526024830161412e565b51925af16105096104fa6141fb565b8061052a5f613bf493613d88565b5f613ab3565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b818110613c7657610eeb85610edf81870382613d88565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201613c5f565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576138bf614ced565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57602060ff601f54166040519015158152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040513d5f823e3d90fd5b6040810190811067ffffffffffffffff82111761053b57604052565b6080810190811067ffffffffffffffff82111761053b57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761053b57604052565b60405190613dd8608083613d88565b565b90613dd86040519283613d88565b67ffffffffffffffff811161053b57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b90813b5f613e2f82613de8565b93613e3d6040519586613d88565b82855260208501903c565b906040613e619261beef81528160208201520190610f1b565b90565b60409073ffffffffffffffffffffffffffffffffffffffff613e6194931681528160208201520190610f1b565b67ffffffffffffffff811161053b5760051b60200190565b604080519190613eb99083613d88565b60018252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0613ee96001613e91565b01905f5b828110613ef957505050565b602090604051613f0881613d6c565b5f81525f838201525f604082015260608082015282828501015201613eed565b60405190613f37602083613d88565b5f8252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0613f655f613e91565b01905f5b828110613f7557505050565b602090604051613f8481613d6c565b5f81525f838201525f604082015260608082015282828501015201613f69565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b805115613fde5760200190565b613fa4565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061401557505050505090565b909192939460208061408e837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752608060608b5173ffffffffffffffffffffffffffffffffffffffff815116845285810151151586850152604081015160408501520151918160608201520190610f1b565b97019301930191939290614006565b919060206140b45f92604086526040860190610f1b565b930152565b919060206140b4670de0b6b3a764000092604086526040860190610f1b565b919060206140b47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92604086526040860190610f1b565b919060206140b4671bc16d674ec8000092604086526040860190610f1b565b9060c0613e61925f81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927fad78c51bb2447e821ec2d2adfffc8040ced904f32aa00b704dfd691b63ac3cbb81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f954124d6dcb3c3e80833816fcdc92da2b788dcbcca76aeed58624886a6cc48f781525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b3d15614225573d9061420c82613de8565b9161421a6040519384613d88565b82523d5f602084013e565b606090565b60405190614239604083613d88565b601282527f63616c6c2073686f756c642072657665727400000000000000000000000000006020830152565b60405190614274606083613d88565b602282527f6f720000000000000000000000000000000000000000000000000000000000006040837f657870656374656420526f7574657243616c6c4661696c65642073656c65637460208201520152565b604051906142d5604083613d88565b601b82527f64656c656761746563616c6c2073686f756c64207375636365656400000000006020830152565b9060c0613e61927f76a5b9f52c8775bdd3d429e8900b377fb7fbc9190926d09c38b15b4c5fcb9cf881525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f86b84c7be296d7d45c6ea729bf036c2608390b8e70d7112a057ec2351d2d790f81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f7b16557ff4531e10659a080d13905c75834812f11439553cbb960ecf2dddab3c81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f4b4f3f73c0d0a465ce08530b3a346a3588f8e6cfc44abb264d082d2b9b5bd10381525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927fb9717e7c25f377269073ad9f681f5580bd478599c37b7209b5111b3d8be5864d81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f940feddedb4231cbe3b5e99d6da0f72e1cdedc7e21a4a8d093cb21a282923a9d81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b90604051915f8154908160011c92600183169081156145cf575b6020851082146145a257848752869360208501929081156145665750600114614527575b5050613dd892500383613d88565b6145369192505f5260205f2090565b905f915b84831061454f5750613dd89350015f80614519565b80548284015286935060209092019160010161453a565b9050613dd8959293507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009150168252151560051b015f80614519565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f16936144f5565b9081546145e581613e91565b926145f36040519485613d88565b81845260208401905f5260205f205f915b8383106146115750505050565b600160208192614620856144db565b815201920192019190614604565b906040613e6192670de0b6b3a764000081528160208201520190610f1b565b906040613e61927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81528160208201520190610f1b565b906040613e6192671bc16d674ec8000081528160208201520190610f1b565b604051906146b2604083613d88565b601982527f736c6f74732073686f756c6420626520646966666572656e74000000000000006020830152565b604051906146ed604083613d88565b601f82527f686f6c6465722073686f756c6420686176652073656e7420616c6c20455448006020830152565b9081602091031261021e575173ffffffffffffffffffffffffffffffffffffffff8116810361021e5790565b60405190614754604083613d88565b601e82527f524f555445522073686f756c642062652073657420636f72726563746c7900006020830152565b6040518154808252909291839061479e60208301915f5260205f2090565b925f905b8060078301106149aa57613dd894549181811061496e575b818110614937575b818110614900575b8181106148c9575b818110614892575b81811061485b575b818110614825575b106147f8575b500383613d88565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f6147f0565b602083811b7fffffffff0000000000000000000000000000000000000000000000000000000016855290936001910193016147ea565b604083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147e2565b606083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147da565b608083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147d2565b60a083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147ca565b60c083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147c2565b926020816149a26001938660e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b0193016147ba565b916008919350610100600191614b1a87546149e9838260e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b60c081901b7fffffffff0000000000000000000000000000000000000000000000000000000016602084015260a081901b7fffffffff00000000000000000000000000000000000000000000000000000000166040840152608081901b7fffffffff00000000000000000000000000000000000000000000000000000000166060840152606081901b7fffffffff00000000000000000000000000000000000000000000000000000000166080840152604081901b7fffffffff000000000000000000000000000000000000000000000000000000001660a0840152602081901b7fffffffff000000000000000000000000000000000000000000000000000000001660c08401527fffffffff000000000000000000000000000000000000000000000000000000001660e0830152565b0194019201859293916147a2565b6040516127109190612740614b3d8183613d88565b83825267ffffffffffffffff82941161053b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00190369060200137565b908151811015613fde570160200190565b906040613e61925f81528160208201520190610f1b565b9081602091031261021e575190565b60085460ff1615614bc257600190565b6040517f667f9d7000000000000000000000000000000000000000000000000000000000815260208180600481017f6661696c65640000000000000000000000000000000000000000000000000000846040830192737109709ecfa91a80626ff3989d68f67f5b1dd12d815201520381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610536575f91614c5d575b50151590565b614c7f915060203d602011614c85575b614c778183613d88565b810190614ba3565b5f614c57565b503d614c6d565b60405190614c9b606083613d88565b602582527f6f757465720000000000000000000000000000000000000000000000000000006040837f686f6c6465722073686f756c6420686176652073656e742045544820746f207260208201520152565b60405190614cfc604083613d88565b600482527fdeadbeef000000000000000000000000000000000000000000000000000000006020830152565b604090613e619392151581528160208201520190610f1b565b80614d4a575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57614d9f915f9160405193849283927f7ba0480900000000000000000000000000000000000000000000000000000000845260048401614d28565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614dc55750565b5f613dd891613d88565b7f0ef439b9000000000000000000000000000000000000000000000000000000008103614dfa575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57614e82915f9160405193849283927fc1fa1ed000000000000000000000000000000000000000000000000000000000845260048401527f0ef439b9000000000000000000000000000000000000000000000000000000006024840152606060448401526064830190610f1b565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614ea85750565b80614eb45f8093613d88565b80031261021e57565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e5773ffffffffffffffffffffffffffffffffffffffff604051917f70ca10bb0000000000000000000000000000000000000000000000000000000083521660048201525f60248201525f60448201525f8160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657614dc55750565b8015614f5a575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57614d9f915f9160405193849283927fa34edc0300000000000000000000000000000000000000000000000000000000845260048401614d28565b80614fb75750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f98296c5400000000000000000000000000000000000000000000000000000000825260048201525f60248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614dc55750565b670de0b6b3a7640000810361503f5750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152670de0b6b3a764000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614dc55750565b600181036150c85750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152600160248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614dc55750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e5773ffffffffffffffffffffffffffffffffffffffff604051917f70ca10bb0000000000000000000000000000000000000000000000000000000083521660048201525f6024820152600160448201525f8160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657614dc55750565b156151da57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f746c6f6164206661696c656400000000000000000000000000000000000000006044820152fd5b1561523f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f746c6f61642072657475726e656420696e73756666696369656e7420646174616044820152fd5b6152a861beef613e22565b906095906152b860208301613dda565b9180835261a0366020840139737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f61531a92604051809481927fb4d6c78200000000000000000000000000000000000000000000000000000000835261beef60048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536575f928392615450575b506040516153858161047360208201947f8eaa6ac0000000000000000000000000000000000000000000000000000000008652602483019190602083019252565b519061beef5afa6153946141fb565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f6153eb93604051809581927fb4d6c78200000000000000000000000000000000000000000000000000000000835261beef60048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561053657613e619361541f9261543c575b506151d3565b61542d602082511015615238565b60208082518301019101614ba3565b8061052a5f61544a93613d88565b5f615419565b8061052a8461545e93613d88565b5f615344565b61546d81613e22565b9160959061547d60208301613dda565b9180835261a0366020840139737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f6154dd92604051809481927fb4d6c7820000000000000000000000000000000000000000000000000000000083528760048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536575f9283926155ab575b506040516155488161047360208201947f8eaa6ac0000000000000000000000000000000000000000000000000000000008652602483019190602083019252565b5190845afa6155556141fb565b91737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576153eb935f9160405195869283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b8061052a846155b993613d88565b5f615507565b806155c8575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57614d9f915f9160405193849283927f88b44c850000000000000000000000000000000000000000000000000000000084526004840152846024840152606060448401526064830190610f1b565b73ffffffffffffffffffffffffffffffffffffffff908116911680820361565657505050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f91614e8260405194859384937f2f2769d100000000000000000000000000000000000000000000000000000000855260048501526024840152606060448401526064830190610f1b56fe6080806040523460155761056e908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063174dea71146100345763f9ab70b91461002f575f80fd5b610244565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017b5760043567ffffffffffffffff811161017b573660238201121561017b57806004013567ffffffffffffffff811161017b576024820191602436918360051b01011161017b576100ac8161037e565b915f5b8281106100c857604051806100c4868261017f565b0390f35b5f8060406100d784878761041b565b01356100f16100e785888861041b565b6060810190610460565b90610101604051809381936104b1565b0391305af161010e6104be565b906101176102fd565b811515815282602082015261012c8488610517565b526101378387610517565b50610155610151602061014b86898961041b565b0161052b565b1590565b9081610172575b5061016a57506001016100af565b602081519101fd5b9050158661015c565b5f80fd5b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106101b157505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f85828601015201160101970193019301919392906101a2565b3461017b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017b5760646040517f4b54191000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f637573746f6d206572726f72206d6573736167650000000000000000000000006044820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906040820182811067ffffffffffffffff82111761031d57604052565b6102d0565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761031d57604052565b67ffffffffffffffff811161031d5760051b60200190565b9061039061038b83610366565b610322565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06103be8294610366565b01905f5b8281106103ce57505050565b6020906103d96102fd565b5f8152606083820152828285010152016103c2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b919081101561045b5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818136030182121561017b570190565b6103ee565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561017b570180359067ffffffffffffffff821161017b5760200191813603831361017b57565b908092918237015f815290565b3d15610512573d9067ffffffffffffffff821161031d5761050660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601610322565b9182523d5f602084013e565b606090565b805182101561045b5760209160051b010190565b35801515810361017b579056fea26469706673582212200d1a5716e82c4abc099a979292b9647389cf2959a98a4fd8cdf7d0d750d237e264736f6c634300081e003361016060405234610096576107946020813803918261001d816100ae565b93849283398101031261009657516001600160a01b038116810361009657610044906100d8565b6040516105d890816101bc8239608051816102a5015260a051816101a0015260c0518161016d015260e0518161036d015261010051815050610120518150506101405181818161010d01526104a20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100d357604052565b61009a565b306080526100e4610163565b6001600160a01b03811615610154576100fc81610179565b801561013e57600160e0526003610100526005610120525b60c05260a0526001600160a01b0381161561012f5761014052565b631df13ab560e01b5f5260045ffd5b600260e052600461010052600661012052610114565b632aea588760e01b5f5260045ffd5b696002601e613d5c3d52f35f52600a60165ff090565b5f80808093600a5a04fa3d156101b8573d6001600160401b0381116100d3576101ab601f8201601f19166020016100ae565b9081525f60203d92013e90565b9056fe60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e003360808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f5561127d90816100348239f35b5f80fdfe60808060405260043610156100c7575b50361561008c5760405134815260406020820152366040820152365f60608301375f606036830101527fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4133916060817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3601168101030190a2005b604051348152604060208201525f60408201527fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4160603392a2005b5f3560e01c9081631ed7831c14610a6e575080632ade3880146108405780633e5e3c23146107985780633f7286f4146106f057806366d9a9a01461059357806385226c81146104ea578063916a17c614610414578063b0464fdc1461033e578063b5508aa914610295578063ba414fa614610253578063e20c9f711461019b5763fa7626d414610157575f61000f565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757602060ff601f54166040519015158152f35b5f80fd5b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b818110610227576102238561021781870382610d63565b60405191829182610b12565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610200565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757602061028b611163565b6040519015158152f35b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610197576019546102cf81610da4565b906102dd6040519283610d63565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b83831061032157604051806102238782610bf9565b60016020819261033085610dbc565b81520192019201919061030c565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601c5461037881610da4565b906103866040519283610d63565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106103ca57604051806102238782610c76565b600260206001926040516103dd81610d1a565b73ffffffffffffffffffffffffffffffffffffffff8654168152610402858701610ebf565b838201528152019201920191906103b5565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601d5461044e81610da4565b9061045c6040519283610d63565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b8383106104a057604051806102238782610c76565b600260206001926040516104b381610d1a565b73ffffffffffffffffffffffffffffffffffffffff86541681526104d8858701610ebf565b8382015281520192019201919061048b565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601a5461052481610da4565b906105326040519283610d63565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b83831061057657604051806102238782610bf9565b60016020819261058585610dbc565b815201920192019190610561565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601b546105cd81610da4565b906105db6040519283610d63565b808252602082019081601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b8383106106b557848660405191829160208301906020845251809152604083019060408160051b85010192915f905b82821061064a57505050500390f35b919360206106a5827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc06001959799849503018652885190836106958351604084526040840190610b61565b9201519084818403910152610ba4565b960192019201859493919261063b565b600260206001926040516106c881610d1a565b6106d186610dbc565b81526106de858701610ebf565b8382015281520192019201919061060c565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b81811061076c576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610755565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b818110610814576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016107fd565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601e5461087a81610da4565b906108886040519283610d63565b808252602082019081601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b8383106109d657848660405191829160208301906020845251809152604083019060408160051b85010192915f905b8282106108f757505050500390f35b91939092947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09082030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b82811061098d57505050505060208060019296019201920185949391926108e8565b90919293946020806109c9837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951610b61565b970195019392910161096b565b6040516109e281610d1a565b73ffffffffffffffffffffffffffffffffffffffff8354168152600183018054610a0b81610da4565b91610a196040519384610d63565b81835260208301905f5260205f20905f905b838210610a515750505050600192826020928360029501528152019201920191906108b9565b600160208192610a6086610dbc565b815201930191019091610a2b565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601654808252602082019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b818110610ae6576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610acf565b60206040818301928281528451809452019201905f5b818110610b355750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101610b28565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110610bc15750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101610bb4565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610c2b57505050505090565b9091929394602080610c67837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951610b61565b97019301930191939290610c1c565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610ca857505050505090565b9091929394602080610d0b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190610ba4565b97019301930191939290610c99565b6040810190811067ffffffffffffffff821117610d3657604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610d3657604052565b67ffffffffffffffff8111610d365760051b60200190565b90604051915f8154908160011c9260018316928315610eb5575b602085108414610e88578487528693908115610e485750600114610e04575b50610e0292500383610d63565b565b90505f9291925260205f20905f915b818310610e2c575050906020610e02928201015f610df5565b6020919350806001915483858901015201910190918492610e13565b60209350610e029592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f610df5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f1693610dd6565b90604051918281549182825260208201905f5260205f20925f905b8060078301106110d657610e029454918181106110a0575b81811061106a575b818110611034575b818110610ffe575b818110610fc8575b818110610f92575b818110610f5d575b10610f30575b500383610d63565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f610f28565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301610f22565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301610f1a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301610f12565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301610f0a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301610f02565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301610efa565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301610ef2565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391610eda565b60085460ff161561117357600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811561123c575f9161120a575b50151590565b90506020813d602011611234575b8161122560209383610d63565b8101031261019757515f611204565b3d9150611218565b6040513d5f823e3d90fdfea26469706673582212206e9642ec453e986d63884812fd70441be020e85e83d9366b4f5b108bab7b726264736f6c634300081e0033610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e003360808060405234601557610610908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063174dea71146100345763ad1cd6531461002f575f80fd5b610289565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b25760043567ffffffffffffffff81116101b257366023820112156101b257806004013567ffffffffffffffff81116101b2576024820191602436918360051b0101116101b2576100ac816103b6565b915f5b8281106100ff576100fb846040517fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c413391806100ec36348361058f565b0390a2604051918291826101f9565b0390f35b5f80604061010e84878761046e565b013561012861011e85888861046e565b60608101906104b3565b9061013860405180938193610504565b0391305af1610145610511565b9061014e61038d565b8115158152826020820152610163848861056e565b5261016e838761056e565b5061018c610188602061018286898961046e565b01610582565b1590565b90816101a9575b506101a157506001016100af565b602081519101fd5b90501586610193565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061022b57505050505090565b909192939460208061027a837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b51805115158452015191818582015201906101b6565b9701930193019193929061021c565b346101b2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b2576100fb604051602a6020820152604080820152600960608201527f746573742064617461000000000000000000000000000000000000000000000060808201526080815261030660a082610347565b6040519182916020835260208301906101b6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761038857604052565b61031a565b6040519061039c604083610347565b565b67ffffffffffffffff81116103885760051b60200190565b906103c08261039e565b6103cd6040519182610347565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06103fb829461039e565b015f5b81811061040a57505050565b60405190604082019180831067ffffffffffffffff841117610388576020926040525f8152606083820152828286010152016103fe565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b91908110156104ae5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81813603018212156101b2570190565b610441565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101b2570180359067ffffffffffffffff82116101b2576020019181360383136101b257565b908092918237015f815290565b3d15610569573d9067ffffffffffffffff8211610388576040519161055e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610347565b82523d5f602084013e565b606090565b80518210156104ae5760209160051b010190565b3580151581036101b25790565b90601f6060937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092845260406020850152806040850152805f868601375f858286010152011601019056fea2646970667358221220c59aa3424424cfeec0bf827ec6d7e662b84755b5519b5b538c16de4ef8d4521564736f6c634300081e00336080806040523460135760a6908160188239f35b5f80fdfe608060408190527feac126da00000000000000000000000000000000000000000000000000000000815260206084523660a48190525f60c4375f604436830101526044817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3601168101030190fdfea2646970667358221220273dfcfb923236d3aa32365e85451abad55691092551dc6ede6009157e09daa764736f6c634300081e003360808060405260043610156011575f80fd5b5f3560e01c638eaa6ac0146023575f80fd5b34605b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605b576020906004355c8152f35b5f80fdfea2646970667358221220d05f70bd2d38f77f8aa40d953a00d51886544072540289263de5b716fdf214eb64736f6c634300081e0033a26469706673582212209c9711046c29a7dd2af18db40e4ea1be3cd6a16b0a569e405202fc5f417515d664736f6c634300081e0033","sourceMap":"5326:19666:65:-:0;;;;;;;3200:4:5;5326:19666:65;;3200:4:5;5326:19666:65;;;3200:4:5;5326:19666:65;3200:4:5;5326:19666:65;;1087:4:16;5326:19666:65;;;1087:4:16;5326:19666:65;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c806306b133691461020f5780630a9254e41461020a5780630f59cebe1461020557806313b0f5cd146101b55780631ed7831c146102005780632ade3880146101fb5780633403533a146101f65780633e5e3c23146101f15780633f7286f4146101ec57806346c5bb8b146101e75780634c57e12e146101e2578063568ec6fd146101dd578063610b4369146101d85780636450514c146101d357806366d9a9a0146101ce5780636f2afb84146101c95780637ee2aaa5146101c457806385226c81146101bf578063916a17c6146101ba57806396bfd8de146101b5578063a009a77a146101b0578063b0464fdc146101ab578063b5508aa9146101a6578063b953254e146101a1578063ba414fa61461019c578063cf7e694714610197578063d2d18ff514610192578063dc420e101461018d578063dfab5b2014610188578063e20c9f7114610183578063f679951d1461017e5763fa7626d414610179575f80fd5b613cd8565b613ca2565b613bfa565b61399d565b613829565b61358d565b613280565b61323e565b613109565b613060565b612f8a565b612f23565b610d06565b612e4d565b612d00565b612a63565b612799565b6126d2565b612483565b612158565b611f2b565b611b78565b6114e3565b61143b565b611393565b611148565b611072565b610e63565b6107bb565b610540565b610222565b5f91031261021e57565b5f80fd5b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405161058880820182811067ffffffffffffffff82111761053b5782916156bd833903905ff080156105365773ffffffffffffffffffffffffffffffffffffffff1660405161079480820182811067ffffffffffffffff82111761053b57836102db918493615c45853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff080156105365773ffffffffffffffffffffffffffffffffffffffff6103049116613e22565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f61035791604051809381927fb4d6c78200000000000000000000000000000000000000000000000000000000835260048301613e48565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610536575f806104736104ad61047361049f61051a987fffffffff000000000000000000000000000000000000000000000000000000009860209861051c575b506103bc613ea9565b906040517ff9ab70b9000000000000000000000000000000000000000000000000000000008a820152600481526103f4602482613d88565b61041b6103ff613dc9565b73ffffffffffffffffffffffffffffffffffffffff9093168352565b878a830152876040830152606082015261043482613fd1565b5261043e81613fd1565b506040519283917f174dea71000000000000000000000000000000000000000000000000000000008a84015260248301613fe3565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282613d88565b60405192839187830161409d565b6040516104e781610473878201947f4c4e814c0000000000000000000000000000000000000000000000000000000086526024830161412e565b51908261beef5af16105096104fa6141fb565b9161050361422a565b90614d41565b015116610514614265565b90614dcf565b005b8061052a8861053093613d88565b80610214565b5f6103b3565b613d45565b613d18565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576040516112b180820182811067ffffffffffffffff82111761053b5782916163d9833903905ff08015610536576105e09073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055565b61061b61060260205473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b604051906107948083019183831067ffffffffffffffff84111761053b57839261066492615c45853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff08015610536576106b9907fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f55565b6106ea61beef7fffffffffffffffffffffffff00000000000000000000000000000000000000006021541617602155565b60215473ffffffffffffffffffffffffffffffffffffffff1661073161072c610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57610787915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610536576107ad57005b8061052a5f61051a93613d88565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5761081361080e61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b614ebd565b60215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f602482018190528160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657610cf2575b506109925f806104736109186104736109096108d4613f28565b6040519283917f174dea7100000000000000000000000000000000000000000000000000000000602084015260248301613fe3565b6040519283916020830161409d565b61093a61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b90826040516109778161047360208201957f4c4e814c0000000000000000000000000000000000000000000000000000000087526024830161415d565b51925af16109836141fb565b5061098c6142c6565b90614f50565b6109bb61072c610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60215473ffffffffffffffffffffffffffffffffffffffff166040516122c48082019082821067ffffffffffffffff83111761053b578291610a199161768a843973ca11bde05977b3631167028862be2a173976ca11815260200190565b03905ff080156105365773ffffffffffffffffffffffffffffffffffffffff610a429116613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57610a98915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657610cde575b5060215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657610cca575b506040517f2a3ee1260000000000000000000000000000000000000000000000000000000060208201525f6024820181905260448201526101126064820152610bb88160848101610473565b610bdd61060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e57610c215f929183926040519485809481937f4c4e814c0000000000000000000000000000000000000000000000000000000083526004830161415d565b03925af1801561053657610cb6575b5060215473ffffffffffffffffffffffffffffffffffffffff16610c55815b31614faf565b610c616101123161502d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57610787915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b8061052a5f610cc493613d88565b5f610c30565b8061052a5f610cd893613d88565b5f610b6c565b8061052a5f610cec93613d88565b5f610abd565b8061052a5f610d0093613d88565b5f6108ba565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f1df13ab50000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657610e00575b506040516107948082019082821067ffffffffffffffff83111761053b578291610df591615c4584395f815260200190565b03905ff01561053657005b8061052a5f610e0e93613d88565b5f610dc3565b60206040818301928281528451809452019201905f5b818110610e375750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101610e2a565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405180602060165491828152019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b818110610eef57610eeb85610edf81870382613d88565b60405191829182610e14565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610ec8565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820190602060408260051b8501019401915f905b828210610f9057505050505090565b9091929395947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08782030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b82811061102957505050505060208060019296019201920190929195939495610f81565b9091929394602080611065837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951610f1b565b9701950193929101611005565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601e546110ac81613e91565b906110ba6040519283613d88565b80825260208201601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b8383106110fe5760405180610eeb8782610f5e565b6002602060019260405161111181613d50565b73ffffffffffffffffffffffffffffffffffffffff86541681526111368587016145d9565b838201528152019201920191906110e9565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576040517fe13a7716000000000000000000000000000000000000000000000000000000006020820152600481526111ae602482613d88565b60405161062a80820182811067ffffffffffffffff82111761053b57829161994e833903905ff0801561053657604051906107949081830183811067ffffffffffffffff82111761053b5773ffffffffffffffffffffffffffffffffffffffff611238928594615c4586391673ffffffffffffffffffffffffffffffffffffffff16815260200190565b03905ff0801561053657611284611258926040519384916020830161409d565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283613d88565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d2000000000000000000000000000000000000000000000000000000006004820152905f8260248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af19182156105365773ffffffffffffffffffffffffffffffffffffffff9261137f575b5016803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838161136f8860048301614301565b03925af18015610536576107ad57005b8061052a5f61138d93613d88565b5f61132b565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b81811061140f57610eeb85610edf81870382613d88565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016113f8565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b8181106114b757610eeb85610edf81870382613d88565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016114a0565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5761153661080e61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b60215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657611b64575b506104736116b76115f3613ea9565b61161561060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fdce1d5ba000000000000000000000000000000000000000000000000000000006020820152607b60248201526116528160448101610473565b61165d6103ff613dc9565b5f60208301525f6040830152606082015261167782613fd1565b5261168181613fd1565b506040519283917f174dea7100000000000000000000000000000000000000000000000000000000602084015260248301613fe3565b604051906116cc8261125883602083016140b9565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061173560048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536576117e19261060292611b50575b5060215473ffffffffffffffffffffffffffffffffffffffff165b907fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41604051806117c573ffffffffffffffffffffffffffffffffffffffff8616948261462e565b0390a273ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816118238860048301614350565b03925af1801561053657611b3c575b5061185c61072c610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60215473ffffffffffffffffffffffffffffffffffffffff166040516122c48082019082821067ffffffffffffffff83111761053b5782916118ba9161768a843973ca11bde05977b3631167028862be2a173976ca11815260200190565b03905ff080156105365773ffffffffffffffffffffffffffffffffffffffff6118e39116613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57611939915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657611b28575b5060215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657611b14575b506040517f2a3ee1260000000000000000000000000000000000000000000000000000000060208201525f6024820181905260448201526101116064820152611a598160848101610473565b611a7e61060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e57611ac25f929183926040519485809481937f4c4e814c00000000000000000000000000000000000000000000000000000000835260048301614350565b03925af1801561053657611b00575b5060215473ffffffffffffffffffffffffffffffffffffffff16611af481610c4f565b610c616101113161502d565b8061052a5f611b0e93613d88565b81611ad1565b8061052a5f611b2293613d88565b81611a0d565b8061052a5f611b3693613d88565b8161195e565b8061052a5f611b4a93613d88565b80611832565b8061052a5f611b5e93613d88565b5f611763565b8061052a5f611b7293613d88565b5f6115e4565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57611bd0611bcb61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b61513f565b610473611c3e610473610909611be4613ea9565b611c0661060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517fe236188c00000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b611c6361060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f908290818381611ca5886004830161439f565b03925af1801561053657611f17575b50610473611d23610473610909611cc9613ea9565b611ceb61060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f1599887400000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b611d4861060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f908290818381611d8a88600483016143ee565b03925af1801561053657611f03575b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f7b16557ff4531e10659a080d13905c75834812f11439553cbb960ecf2dddab3c60205261051a7f015c485266916cf8070d38a17c9ebdfb2a224c35c6fe95b4cb7c4faa018b1caf7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f4b4f3f73c0d0a465ce08530b3a346a3588f8e6cfc44abb264d082d2b9b5bd1036020527f92ea692a4df4dade52fc9401b46f0d63f071ce87fd5d1c4a0bd89cb15dae49cc611ef3611ead8373ffffffffffffffffffffffffffffffffffffffff611ea760215473ffffffffffffffffffffffffffffffffffffffff1690565b16615464565b611eee611ee88473ffffffffffffffffffffffffffffffffffffffff611ea760215473ffffffffffffffffffffffffffffffffffffffff1690565b916150bd565b6150bd565b611efb6146a3565b911415614f50565b8061052a5f611f1193613d88565b80611d99565b8061052a5f611f2593613d88565b80611cb4565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57611f82611bcb610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201525f602482018190528160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657612144575b6120a15f806104736120426104736109096108d4613f28565b61206461060260215473ffffffffffffffffffffffffffffffffffffffff1690565b90826040516109778161047360208201957f4c4e814c000000000000000000000000000000000000000000000000000000008752602483016141ac565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f954124d6dcb3c3e80833816fcdc92da2b788dcbcca76aeed58624886a6cc48f760205261051a611eee7f098d22cf1afe6c7889c69864d8d32660017deb034f638ca10a0bf30b2ede9f615b73ffffffffffffffffffffffffffffffffffffffff611ea760215473ffffffffffffffffffffffffffffffffffffffff1690565b8061052a5f61215293613d88565b5f612029565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105365761246f575b506104736122b561225b613ea9565b61227d61060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f1942bbba00000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b604051906122ca8261125883602083016140d8565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061233360048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536576123c2926106029261245b575b5060215473ffffffffffffffffffffffffffffffffffffffff16907fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41604051806117c573ffffffffffffffffffffffffffffffffffffffff8616948261464d565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f908290818381612404886004830161412e565b03925af1801561053657612447575b61051a61243861060260215473ffffffffffffffffffffffffffffffffffffffff1690565b316124416146de565b906155bf565b8061052a5f61245593613d88565b80612413565b8061052a5f61246993613d88565b5f612361565b8061052a5f61247d93613d88565b5f61224c565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576040516112b180820182811067ffffffffffffffff82111761053b5782916163d9833903905ff080156105365773ffffffffffffffffffffffffffffffffffffffff1660405161079480820182811067ffffffffffffffff82111761053b578361253c918493615c45853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff090811561053657602073ffffffffffffffffffffffffffffffffffffffff926004604051809581937f32fe7b26000000000000000000000000000000000000000000000000000000008352165afa9081156105365761051a925f926125af575b506125a9614745565b91615630565b6125d291925060203d6020116125d9575b6125ca8183613d88565b810190614719565b905f6125a0565b503d6125c0565b90602080835192838152019201905f5b8181106125fd5750505090565b82517fffffffff00000000000000000000000000000000000000000000000000000000168452602093840193909201916001016125f0565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061266757505050505090565b90919293946020806126c3837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752895190836126b38351604084526040840190610f1b565b92015190848184039101526125e0565b97019301930191939290612658565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601b5461270c81613e91565b9061271a6040519283613d88565b80825260208201601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b83831061275e5760405180610eeb8782612635565b6002602060019260405161277181613d50565b61277a866144db565b8152612787858701614780565b83820152815201920192019190612749565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576127f0611bcb610602601f5473ffffffffffffffffffffffffffffffffffffffff9060081c1690565b60215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152670de0b6b3a764000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657612a4f575b506104736128ad6115f3613ea9565b604051906128c28261125883602083016140b9565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061292b60048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536576129779261060292611b50575060215473ffffffffffffffffffffffffffffffffffffffff1661177e565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f9082908183816129b9886004830161443d565b03925af1801561053657612a3b575b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fb9717e7c25f377269073ad9f681f5580bd478599c37b7209b5111b3d8be5864d60205261051a611eee7f3e6f172d815bc63b7199b0e0fb78ef6420d6c89bd5f83a9cfe3b0aad0ccb9c8e612110565b8061052a5f612a4993613d88565b806129c8565b8061052a5f612a5d93613d88565b5f61289e565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57612a99614b28565b5f5b8151811015612ae1576001907fff0000000000000000000000000000000000000000000000000000000000000060f882901b165f1a612ada8285614b7b565b5301612a9b565b610473612b1f83612af0613ea9565b90612b1361060260205473ffffffffffffffffffffffffffffffffffffffff1690565b9061165d6103ff613dc9565b60405190612b3482611258836020830161409d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f8280612b9d60048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561053657612c2d9261060292612c6f575b5060215473ffffffffffffffffffffffffffffffffffffffff165b907fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41604051806117c573ffffffffffffffffffffffffffffffffffffffff86169482614b8c565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f90829081838161136f886004830161412e565b8061052a5f612c7d93613d88565b84612bcb565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310612cb557505050505090565b9091929394602080612cf1837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951610f1b565b97019301930191939290612ca6565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601a54612d3a81613e91565b90612d486040519283613d88565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310612d8c5760405180610eeb8782612c83565b600160208192612d9b856144db565b815201920192019190612d77565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310612ddb57505050505090565b9091929394602080612e3e837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff8151168452015191818582015201906125e0565b97019301930191939290612dcc565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601d54612e8781613e91565b90612e956040519283613d88565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b838310612ed95760405180610eeb8782612da9565b60026020600192604051612eec81613d50565b73ffffffffffffffffffffffffffffffffffffffff8654168152612f11858701614780565b83820152815201920192019190612ec4565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57610473612f656104736109096108d4613f28565b612c2d61060261060260215473ffffffffffffffffffffffffffffffffffffffff1690565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57601c54612fc481613e91565b90612fd26040519283613d88565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106130165760405180610eeb8782612da9565b6002602060019260405161302981613d50565b73ffffffffffffffffffffffffffffffffffffffff865416815261304e858701614780565b83820152815201920192019190613001565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760195461309a81613e91565b906130a86040519283613d88565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b8383106130ec5760405180610eeb8782612c83565b6001602081926130fb856144db565b8152019201920191906130d7565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576104736131756040517f7ddeef2400000000000000000000000000000000000000000000000000000000602082015260048152610909602482613d88565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d20000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105365761322a575b50601f54612c2d9060081c73ffffffffffffffffffffffffffffffffffffffff16610602565b8061052a5f61323893613d88565b5f613204565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576020613276614bb2565b6040519015158152f35b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760215473ffffffffffffffffffffffffffffffffffffffff16737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576040517fc88a5e6d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152671bc16d674ec8000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657613579575b506104736133c561336b613ea9565b61338d61060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f4185f8eb00000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b604051906133da82611258836020830161410f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061344360048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536576134d29261060292613565575b5060215473ffffffffffffffffffffffffffffffffffffffff16907fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c41604051806117c573ffffffffffffffffffffffffffffffffffffffff86169482614684565b803b1561021e576040517f4c4e814c000000000000000000000000000000000000000000000000000000008152905f908290818381613514886004830161412e565b03925af1801561053657613551575b61051a61354861060260215473ffffffffffffffffffffffffffffffffffffffff1690565b31612441614c8c565b8061052a5f61355f93613d88565b80613523565b8061052a5f61357393613d88565b5f613471565b8061052a5f61358793613d88565b5f61335c565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405161062a80820182811067ffffffffffffffff82111761053b57829161994e833903905ff080156105365773ffffffffffffffffffffffffffffffffffffffff1660405161079480820182811067ffffffffffffffff82111761053b5783613646918493615c45853973ffffffffffffffffffffffffffffffffffffffff909116815260200190565b03905ff080156105365773ffffffffffffffffffffffffffffffffffffffff61366f9116613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f6136c392604051809481927fb4d6c78200000000000000000000000000000000000000000000000000000000835260048301613e48565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af19182156105365761090961373a926104739261047395613815575b50613701613ea9565b906040517fad1cd65300000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b61beef3b1561021e575f61377b91604051809381927f4c4e814c0000000000000000000000000000000000000000000000000000000083526004830161448c565b03818361beef5af1801561053657613801575b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f940feddedb4231cbe3b5e99d6da0f72e1cdedc7e21a4a8d093cb21a282923a9d60205261051a611eee7f9f55752416deca12a403f03a26e5f135cd3a3d9b0b7df67d93199e0e309fece661529d565b8061052a5f61380f93613d88565b5f61378e565b8061052a5f61382393613d88565b5f6136f8565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576104736138bf613865613ea9565b61388761060260205473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f8269267900000000000000000000000000000000000000000000000000000000602082015260048152611652602482613d88565b604051906138d482611258836020830161409d565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f491cc7c20000000000000000000000000000000000000000000000000000000082525f828061393d60048201906001606060808401938281528260208201528260408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561053657612c2d9261060292613989575060215473ffffffffffffffffffffffffffffffffffffffff16612be6565b8061052a5f61399793613d88565b5f612bcb565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405160be80820182811067ffffffffffffffff82111761053b578291619f78833903905ff0801561053657613a3873ffffffffffffffffffffffffffffffffffffffff613a3161060260205473ffffffffffffffffffffffffffffffffffffffff1690565b9216613e22565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57613a8e915f9160405193849283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657613be6575b61051a7fffffffff0000000000000000000000000000000000000000000000000000000060205f80610473613b7961047361049f613aef613ea9565b613b10610602895473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f73ee93b3000000000000000000000000000000000000000000000000000000008a82015260206024820152600160448201527f780000000000000000000000000000000000000000000000000000000000000060648201526103f48160848101610473565b613b9b61060260215473ffffffffffffffffffffffffffffffffffffffff1690565b9082604051613bd781610473898201957f4c4e814c0000000000000000000000000000000000000000000000000000000087526024830161412e565b51925af16105096104fa6141fb565b8061052a5f613bf493613d88565b5f613ab3565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e5760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b818110613c7657610eeb85610edf81870382613d88565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201613c5f565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e576138bf614ced565b3461021e575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021e57602060ff601f54166040519015158152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040513d5f823e3d90fd5b6040810190811067ffffffffffffffff82111761053b57604052565b6080810190811067ffffffffffffffff82111761053b57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761053b57604052565b60405190613dd8608083613d88565b565b90613dd86040519283613d88565b67ffffffffffffffff811161053b57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b90813b5f613e2f82613de8565b93613e3d6040519586613d88565b82855260208501903c565b906040613e619261beef81528160208201520190610f1b565b90565b60409073ffffffffffffffffffffffffffffffffffffffff613e6194931681528160208201520190610f1b565b67ffffffffffffffff811161053b5760051b60200190565b604080519190613eb99083613d88565b60018252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0613ee96001613e91565b01905f5b828110613ef957505050565b602090604051613f0881613d6c565b5f81525f838201525f604082015260608082015282828501015201613eed565b60405190613f37602083613d88565b5f8252817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0613f655f613e91565b01905f5b828110613f7557505050565b602090604051613f8481613d6c565b5f81525f838201525f604082015260608082015282828501015201613f69565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b805115613fde5760200190565b613fa4565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061401557505050505090565b909192939460208061408e837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08660019603018752608060608b5173ffffffffffffffffffffffffffffffffffffffff815116845285810151151586850152604081015160408501520151918160608201520190610f1b565b97019301930191939290614006565b919060206140b45f92604086526040860190610f1b565b930152565b919060206140b4670de0b6b3a764000092604086526040860190610f1b565b919060206140b47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92604086526040860190610f1b565b919060206140b4671bc16d674ec8000092604086526040860190610f1b565b9060c0613e61925f81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927fad78c51bb2447e821ec2d2adfffc8040ced904f32aa00b704dfd691b63ac3cbb81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f954124d6dcb3c3e80833816fcdc92da2b788dcbcca76aeed58624886a6cc48f781525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b3d15614225573d9061420c82613de8565b9161421a6040519384613d88565b82523d5f602084013e565b606090565b60405190614239604083613d88565b601282527f63616c6c2073686f756c642072657665727400000000000000000000000000006020830152565b60405190614274606083613d88565b602282527f6f720000000000000000000000000000000000000000000000000000000000006040837f657870656374656420526f7574657243616c6c4661696c65642073656c65637460208201520152565b604051906142d5604083613d88565b601b82527f64656c656761746563616c6c2073686f756c64207375636365656400000000006020830152565b9060c0613e61927f76a5b9f52c8775bdd3d429e8900b377fb7fbc9190926d09c38b15b4c5fcb9cf881525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f86b84c7be296d7d45c6ea729bf036c2608390b8e70d7112a057ec2351d2d790f81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f7b16557ff4531e10659a080d13905c75834812f11439553cbb960ecf2dddab3c81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f4b4f3f73c0d0a465ce08530b3a346a3588f8e6cfc44abb264d082d2b9b5bd10381525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927fb9717e7c25f377269073ad9f681f5580bd478599c37b7209b5111b3d8be5864d81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b9060c0613e61927f940feddedb4231cbe3b5e99d6da0f72e1cdedc7e21a4a8d093cb21a282923a9d81525f60208201525f60408201525f60608201525f60808201528160a08201520190610f1b565b90604051915f8154908160011c92600183169081156145cf575b6020851082146145a257848752869360208501929081156145665750600114614527575b5050613dd892500383613d88565b6145369192505f5260205f2090565b905f915b84831061454f5750613dd89350015f80614519565b80548284015286935060209092019160010161453a565b9050613dd8959293507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009150168252151560051b015f80614519565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f16936144f5565b9081546145e581613e91565b926145f36040519485613d88565b81845260208401905f5260205f205f915b8383106146115750505050565b600160208192614620856144db565b815201920192019190614604565b906040613e6192670de0b6b3a764000081528160208201520190610f1b565b906040613e61927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81528160208201520190610f1b565b906040613e6192671bc16d674ec8000081528160208201520190610f1b565b604051906146b2604083613d88565b601982527f736c6f74732073686f756c6420626520646966666572656e74000000000000006020830152565b604051906146ed604083613d88565b601f82527f686f6c6465722073686f756c6420686176652073656e7420616c6c20455448006020830152565b9081602091031261021e575173ffffffffffffffffffffffffffffffffffffffff8116810361021e5790565b60405190614754604083613d88565b601e82527f524f555445522073686f756c642062652073657420636f72726563746c7900006020830152565b6040518154808252909291839061479e60208301915f5260205f2090565b925f905b8060078301106149aa57613dd894549181811061496e575b818110614937575b818110614900575b8181106148c9575b818110614892575b81811061485b575b818110614825575b106147f8575b500383613d88565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f6147f0565b602083811b7fffffffff0000000000000000000000000000000000000000000000000000000016855290936001910193016147ea565b604083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147e2565b606083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147da565b608083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147d2565b60a083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147ca565b60c083901b7fffffffff000000000000000000000000000000000000000000000000000000001684529260019060200193016147c2565b926020816149a26001938660e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b0193016147ba565b916008919350610100600191614b1a87546149e9838260e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b60c081901b7fffffffff0000000000000000000000000000000000000000000000000000000016602084015260a081901b7fffffffff00000000000000000000000000000000000000000000000000000000166040840152608081901b7fffffffff00000000000000000000000000000000000000000000000000000000166060840152606081901b7fffffffff00000000000000000000000000000000000000000000000000000000166080840152604081901b7fffffffff000000000000000000000000000000000000000000000000000000001660a0840152602081901b7fffffffff000000000000000000000000000000000000000000000000000000001660c08401527fffffffff000000000000000000000000000000000000000000000000000000001660e0830152565b0194019201859293916147a2565b6040516127109190612740614b3d8183613d88565b83825267ffffffffffffffff82941161053b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00190369060200137565b908151811015613fde570160200190565b906040613e61925f81528160208201520190610f1b565b9081602091031261021e575190565b60085460ff1615614bc257600190565b6040517f667f9d7000000000000000000000000000000000000000000000000000000000815260208180600481017f6661696c65640000000000000000000000000000000000000000000000000000846040830192737109709ecfa91a80626ff3989d68f67f5b1dd12d815201520381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610536575f91614c5d575b50151590565b614c7f915060203d602011614c85575b614c778183613d88565b810190614ba3565b5f614c57565b503d614c6d565b60405190614c9b606083613d88565b602582527f6f757465720000000000000000000000000000000000000000000000000000006040837f686f6c6465722073686f756c6420686176652073656e742045544820746f207260208201520152565b60405190614cfc604083613d88565b600482527fdeadbeef000000000000000000000000000000000000000000000000000000006020830152565b604090613e619392151581528160208201520190610f1b565b80614d4a575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57614d9f915f9160405193849283927f7ba0480900000000000000000000000000000000000000000000000000000000845260048401614d28565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614dc55750565b5f613dd891613d88565b7f0ef439b9000000000000000000000000000000000000000000000000000000008103614dfa575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57614e82915f9160405193849283927fc1fa1ed000000000000000000000000000000000000000000000000000000000845260048401527f0ef439b9000000000000000000000000000000000000000000000000000000006024840152606060448401526064830190610f1b565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614ea85750565b80614eb45f8093613d88565b80031261021e57565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e5773ffffffffffffffffffffffffffffffffffffffff604051917f70ca10bb0000000000000000000000000000000000000000000000000000000083521660048201525f60248201525f60448201525f8160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657614dc55750565b8015614f5a575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57614d9f915f9160405193849283927fa34edc0300000000000000000000000000000000000000000000000000000000845260048401614d28565b80614fb75750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f98296c5400000000000000000000000000000000000000000000000000000000825260048201525f60248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614dc55750565b670de0b6b3a7640000810361503f5750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152670de0b6b3a764000060248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614dc55750565b600181036150c85750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57604051907f98296c540000000000000000000000000000000000000000000000000000000082526004820152600160248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561053657614dc55750565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e5773ffffffffffffffffffffffffffffffffffffffff604051917f70ca10bb0000000000000000000000000000000000000000000000000000000083521660048201525f6024820152600160448201525f8160648183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561053657614dc55750565b156151da57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f746c6f6164206661696c656400000000000000000000000000000000000000006044820152fd5b1561523f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f746c6f61642072657475726e656420696e73756666696369656e7420646174616044820152fd5b6152a861beef613e22565b906095906152b860208301613dda565b9180835261a0366020840139737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f61531a92604051809481927fb4d6c78200000000000000000000000000000000000000000000000000000000835261beef60048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536575f928392615450575b506040516153858161047360208201947f8eaa6ac0000000000000000000000000000000000000000000000000000000008652602483019190602083019252565b519061beef5afa6153946141fb565b90737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f6153eb93604051809581927fb4d6c78200000000000000000000000000000000000000000000000000000000835261beef60048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561053657613e619361541f9261543c575b506151d3565b61542d602082511015615238565b60208082518301019101614ba3565b8061052a5f61544a93613d88565b5f615419565b8061052a8461545e93613d88565b5f615344565b61546d81613e22565b9160959061547d60208301613dda565b9180835261a0366020840139737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f6154dd92604051809481927fb4d6c7820000000000000000000000000000000000000000000000000000000083528760048401613e64565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610536575f9283926155ab575b506040516155488161047360208201947f8eaa6ac0000000000000000000000000000000000000000000000000000000008652602483019190602083019252565b5190845afa6155556141fb565b91737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e576153eb935f9160405195869283927fb4d6c78200000000000000000000000000000000000000000000000000000000845260048401613e64565b8061052a846155b993613d88565b5f615507565b806155c8575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e57614d9f915f9160405193849283927f88b44c850000000000000000000000000000000000000000000000000000000084526004840152846024840152606060448401526064830190610f1b565b73ffffffffffffffffffffffffffffffffffffffff908116911680820361565657505050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561021e575f91614e8260405194859384937f2f2769d100000000000000000000000000000000000000000000000000000000855260048501526024840152606060448401526064830190610f1b56fe6080806040523460155761056e908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063174dea71146100345763f9ab70b91461002f575f80fd5b610244565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017b5760043567ffffffffffffffff811161017b573660238201121561017b57806004013567ffffffffffffffff811161017b576024820191602436918360051b01011161017b576100ac8161037e565b915f5b8281106100c857604051806100c4868261017f565b0390f35b5f8060406100d784878761041b565b01356100f16100e785888861041b565b6060810190610460565b90610101604051809381936104b1565b0391305af161010e6104be565b906101176102fd565b811515815282602082015261012c8488610517565b526101378387610517565b50610155610151602061014b86898961041b565b0161052b565b1590565b9081610172575b5061016a57506001016100af565b602081519101fd5b9050158661015c565b5f80fd5b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106101b157505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f85828601015201160101970193019301919392906101a2565b3461017b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017b5760646040517f4b54191000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f637573746f6d206572726f72206d6573736167650000000000000000000000006044820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906040820182811067ffffffffffffffff82111761031d57604052565b6102d0565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761031d57604052565b67ffffffffffffffff811161031d5760051b60200190565b9061039061038b83610366565b610322565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06103be8294610366565b01905f5b8281106103ce57505050565b6020906103d96102fd565b5f8152606083820152828285010152016103c2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b919081101561045b5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818136030182121561017b570190565b6103ee565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561017b570180359067ffffffffffffffff821161017b5760200191813603831361017b57565b908092918237015f815290565b3d15610512573d9067ffffffffffffffff821161031d5761050660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601610322565b9182523d5f602084013e565b606090565b805182101561045b5760209160051b010190565b35801515810361017b579056fea26469706673582212200d1a5716e82c4abc099a979292b9647389cf2959a98a4fd8cdf7d0d750d237e264736f6c634300081e003361016060405234610096576107946020813803918261001d816100ae565b93849283398101031261009657516001600160a01b038116810361009657610044906100d8565b6040516105d890816101bc8239608051816102a5015260a051816101a0015260c0518161016d015260e0518161036d015261010051815050610120518150506101405181818161010d01526104a20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100d357604052565b61009a565b306080526100e4610163565b6001600160a01b03811615610154576100fc81610179565b801561013e57600160e0526003610100526005610120525b60c05260a0526001600160a01b0381161561012f5761014052565b631df13ab560e01b5f5260045ffd5b600260e052600461010052600661012052610114565b632aea588760e01b5f5260045ffd5b696002601e613d5c3d52f35f52600a60165ff090565b5f80808093600a5a04fa3d156101b8573d6001600160401b0381116100d3576101ab601f8201601f19166020016100ae565b9081525f60203d92013e90565b9056fe60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e003360808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f5561127d90816100348239f35b5f80fdfe60808060405260043610156100c7575b50361561008c5760405134815260406020820152366040820152365f60608301375f606036830101527fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4133916060817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3601168101030190a2005b604051348152604060208201525f60408201527fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c4160603392a2005b5f3560e01c9081631ed7831c14610a6e575080632ade3880146108405780633e5e3c23146107985780633f7286f4146106f057806366d9a9a01461059357806385226c81146104ea578063916a17c614610414578063b0464fdc1461033e578063b5508aa914610295578063ba414fa614610253578063e20c9f711461019b5763fa7626d414610157575f61000f565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757602060ff601f54166040519015158152f35b5f80fd5b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b818110610227576102238561021781870382610d63565b60405191829182610b12565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610200565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757602061028b611163565b6040519015158152f35b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610197576019546102cf81610da4565b906102dd6040519283610d63565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b83831061032157604051806102238782610bf9565b60016020819261033085610dbc565b81520192019201919061030c565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601c5461037881610da4565b906103866040519283610d63565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106103ca57604051806102238782610c76565b600260206001926040516103dd81610d1a565b73ffffffffffffffffffffffffffffffffffffffff8654168152610402858701610ebf565b838201528152019201920191906103b5565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601d5461044e81610da4565b9061045c6040519283610d63565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b8383106104a057604051806102238782610c76565b600260206001926040516104b381610d1a565b73ffffffffffffffffffffffffffffffffffffffff86541681526104d8858701610ebf565b8382015281520192019201919061048b565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601a5461052481610da4565b906105326040519283610d63565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b83831061057657604051806102238782610bf9565b60016020819261058585610dbc565b815201920192019190610561565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601b546105cd81610da4565b906105db6040519283610d63565b808252602082019081601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b8383106106b557848660405191829160208301906020845251809152604083019060408160051b85010192915f905b82821061064a57505050500390f35b919360206106a5827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc06001959799849503018652885190836106958351604084526040840190610b61565b9201519084818403910152610ba4565b960192019201859493919261063b565b600260206001926040516106c881610d1a565b6106d186610dbc565b81526106de858701610ebf565b8382015281520192019201919061060c565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b81811061076c576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610755565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101975760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b818110610814576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016107fd565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601e5461087a81610da4565b906108886040519283610d63565b808252602082019081601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b8383106109d657848660405191829160208301906020845251809152604083019060408160051b85010192915f905b8282106108f757505050500390f35b91939092947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09082030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b82811061098d57505050505060208060019296019201920185949391926108e8565b90919293946020806109c9837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951610b61565b970195019392910161096b565b6040516109e281610d1a565b73ffffffffffffffffffffffffffffffffffffffff8354168152600183018054610a0b81610da4565b91610a196040519384610d63565b81835260208301905f5260205f20905f905b838210610a515750505050600192826020928360029501528152019201920191906108b9565b600160208192610a6086610dbc565b815201930191019091610a2b565b34610197575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019757601654808252602082019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b818110610ae6576102238561021781870382610d63565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610acf565b60206040818301928281528451809452019201905f5b818110610b355750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101610b28565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110610bc15750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101610bb4565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610c2b57505050505090565b9091929394602080610c67837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951610b61565b97019301930191939290610c1c565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610ca857505050505090565b9091929394602080610d0b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190610ba4565b97019301930191939290610c99565b6040810190811067ffffffffffffffff821117610d3657604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610d3657604052565b67ffffffffffffffff8111610d365760051b60200190565b90604051915f8154908160011c9260018316928315610eb5575b602085108414610e88578487528693908115610e485750600114610e04575b50610e0292500383610d63565b565b90505f9291925260205f20905f915b818310610e2c575050906020610e02928201015f610df5565b6020919350806001915483858901015201910190918492610e13565b60209350610e029592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f610df5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f1693610dd6565b90604051918281549182825260208201905f5260205f20925f905b8060078301106110d657610e029454918181106110a0575b81811061106a575b818110611034575b818110610ffe575b818110610fc8575b818110610f92575b818110610f5d575b10610f30575b500383610d63565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f610f28565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301610f22565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301610f1a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301610f12565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301610f0a565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301610f02565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301610efa565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301610ef2565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391610eda565b60085460ff161561117357600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811561123c575f9161120a575b50151590565b90506020813d602011611234575b8161122560209383610d63565b8101031261019757515f611204565b3d9150611218565b6040513d5f823e3d90fdfea26469706673582212206e9642ec453e986d63884812fd70441be020e85e83d9366b4f5b108bab7b726264736f6c634300081e0033610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e003360808060405234601557610610908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063174dea71146100345763ad1cd6531461002f575f80fd5b610289565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b25760043567ffffffffffffffff81116101b257366023820112156101b257806004013567ffffffffffffffff81116101b2576024820191602436918360051b0101116101b2576100ac816103b6565b915f5b8281106100ff576100fb846040517fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c413391806100ec36348361058f565b0390a2604051918291826101f9565b0390f35b5f80604061010e84878761046e565b013561012861011e85888861046e565b60608101906104b3565b9061013860405180938193610504565b0391305af1610145610511565b9061014e61038d565b8115158152826020820152610163848861056e565b5261016e838761056e565b5061018c610188602061018286898961046e565b01610582565b1590565b90816101a9575b506101a157506001016100af565b602081519101fd5b90501586610193565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061022b57505050505090565b909192939460208061027a837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b51805115158452015191818582015201906101b6565b9701930193019193929061021c565b346101b2575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b2576100fb604051602a6020820152604080820152600960608201527f746573742064617461000000000000000000000000000000000000000000000060808201526080815261030660a082610347565b6040519182916020835260208301906101b6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761038857604052565b61031a565b6040519061039c604083610347565b565b67ffffffffffffffff81116103885760051b60200190565b906103c08261039e565b6103cd6040519182610347565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06103fb829461039e565b015f5b81811061040a57505050565b60405190604082019180831067ffffffffffffffff841117610388576020926040525f8152606083820152828286010152016103fe565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b91908110156104ae5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81813603018212156101b2570190565b610441565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101b2570180359067ffffffffffffffff82116101b2576020019181360383136101b257565b908092918237015f815290565b3d15610569573d9067ffffffffffffffff8211610388576040519161055e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610347565b82523d5f602084013e565b606090565b80518210156104ae5760209160051b010190565b3580151581036101b25790565b90601f6060937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092845260406020850152806040850152805f868601375f858286010152011601019056fea2646970667358221220c59aa3424424cfeec0bf827ec6d7e662b84755b5519b5b538c16de4ef8d4521564736f6c634300081e00336080806040523460135760a6908160188239f35b5f80fdfe608060408190527feac126da00000000000000000000000000000000000000000000000000000000815260206084523660a48190525f60c4375f604436830101526044817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3601168101030190fdfea2646970667358221220273dfcfb923236d3aa32365e85451abad55691092551dc6ede6009157e09daa764736f6c634300081e003360808060405260043610156011575f80fd5b5f3560e01c638eaa6ac0146023575f80fd5b34605b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605b576020906004355c8152f35b5f80fdfea2646970667358221220d05f70bd2d38f77f8aa40d953a00d51886544072540289263de5b716fdf214eb64736f6c634300081e0033a26469706673582212209c9711046c29a7dd2af18db40e4ea1be3cd6a16b0a569e405202fc5f417515d664736f6c634300081e0033","sourceMap":"5326:19666:65:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;20643:23;;;;;;;;;;;;;;;;;;;;5326:19666;20643:23;;;;;5326:19666;;;;20715:48;;;;;;;20643:23;20715:48;;;;;;;;;;;;;5326:19666;;;;;;;;;;20715:48;;;5326:19666;20715:48;;;;;5326:19666;20857:33;5326:19666;;20857:33;:::i;:::-;336:42:2;20837:54:65;;;;5326:19666;20837:54;5326:19666;;;20837:54;;;;2030:14:2;20837:54:65;;5326:19666;20837:54;;;:::i;:::-;;;;336:42:2;20837:54:65;;;;;;5326:19666;20837:54;21346:38;;21242:67;;21798:95;20837:54;5326:19666;20837:54;21144:47;20837:54;;;5326:19666;20942:31;;;:::i;:::-;5326:19666;;;21144:47;;;;;5326:19666;21144:47;;;;;;:::i;:::-;20994:208;2030:14:2;;:::i;:::-;5326:19666:65;;;;2030:14:2;;;20994:208:65;;;;;2030:14:2;20994:208:65;5326:19666;20994:208;;2030:14:2;20994:208:65;;;2030:14:2;20983:219:65;;;:::i;:::-;;;;;:::i;:::-;;5326:19666;;21242:67;;;21265:36;21242:67;;;;21144:47;21242:67;;;:::i;:::-;;21144:47;21242:67;;;;;;:::i;:::-;5326:19666;;21346:38;;;;;;;:::i;:::-;5326:19666;;21480:158;;;;;;;21524:59;21480:158;;21144:47;21480:158;;;:::i;:::-;21425:227;;;20819:6;21425:227;;21663:37;21425:227;;:::i;:::-;2030:14:2;;;:::i;:::-;21663:37:65;;:::i;:::-;21730:59;;5326:19666;2030:14:2;;:::i;:::-;21798:95:65;;:::i;:::-;5326:19666;20837:54;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;:::i;20715:48::-;;:::i;5326:19666::-;;;;;;;;;;;;;5976:16;;;;;;;;;;;;;;;;;;;;5326:19666;5976:16;;;;;5967:25;;5326:19666;;;5967:25;5326:19666;;;5967:25;5326:19666;;5967:25;6034:15;5326:19666;5967:25;5326:19666;;;;;;;;;;6034:15;5326:19666;;6013:37;;;;;;;;;5976:16;6013:37;;;;;;;;;;;;5326:19666;;;;;;;;;;6013:37;;;5326:19666;6013:37;;;;;6002:48;;5326:19666;;6002:48;5326:19666;;;;;;;;6002:48;5326:19666;;6002:48;6060:33;5326:19666;;6060:33;5326:19666;;;6060:33;5326:19666;;6060:33;;5326:19666;;;6203:22;:17;5326:19666;6002:48;5326:19666;;;;;;;;6203:17;:22;:::i;:::-;6187:39;336:42:2;6187:39:65;;;;;5326:19666;;;;;6187:39;;;;;2030:14:2;6187:39:65;;5326:19666;6187:39;;;:::i;:::-;;;;336:42:2;6187:39:65;;;;;;;;5326:19666;6187:39;;;5326:19666;6187:39;;;:::i;5326:19666::-;;;;;;;;;;;11623:30;;5326:19666;11646:6;5326:19666;;;;;11623:30;;:::i;:::-;11646:6;5326:19666;;;336:42:2;11714:18:65;;;;5326:19666;;2030:14:2;11714:18:65;;5326:19666;;;;;;11714:18;;2030:14:2;-1:-1:-1;5326:19666:65;;;2030:14:2;;;5326:19666:65;;;-1:-1:-1;336:42:2;11714:18:65;;;;;;;;5326:19666;11869:31;12346:45;5326:19666;11869:31;12065:29;;11961:67;;11869:31;;:::i;:::-;5326:19666;;11961:67;;;11984:36;11961:67;;;;;;;;:::i;:::-;5326:19666;;12065:29;;;11961:67;12065:29;;;:::i;:::-;12117:15;5326:19666;11646:6;5326:19666;;;;;12117:15;5326:19666;;;;12168:154;;;11961:67;12168:154;;;12212:59;12168:154;;11961:67;12168:154;;;:::i;:::-;12117:219;;;;;;:::i;:::-;;5326:19666;;:::i;:::-;12346:45;;:::i;:::-;12482:22;:17;5326:19666;12490:8;5326:19666;;;;;;;;12482:22;11646:6;5326:19666;;;;;12538:60;;;;;;;;;;;;;;;;;;;;;12555:42;5326:19666;;;;;;12538:60;;;5326:19666;12538:60;;;;;5326:19666;12530:74;5326:19666;;12530:74;:::i;:::-;12514:91;336:42:2;12514:91:65;;;;;5326:19666;;;;;12514:91;;;;;2030:14:2;12514:91:65;;5326:19666;12514:91;;;:::i;:::-;;;;336:42:2;12514:91:65;;;;;;;;5326:19666;-1:-1:-1;11646:6:65;5326:19666;;;336:42:2;12676:24:65;;;;5326:19666;;2030:14:2;12676:24:65;;5326:19666;;;;;;12676:24;;2030:14:2;12692:7:65;5326:19666;;;2030:14:2;-1:-1:-1;5326:19666:65;;;-1:-1:-1;336:42:2;12676:24:65;;;;;;;;5326:19666;-1:-1:-1;5326:19666:65;;12765:44;11961:67;12742:103;;;5326:19666;11961:67;12742:103;;2030:14:2;;;5326:19666:65;;;;;;;;;12742:103;5326:19666;;;;12742:103;5326:19666;12742:103;12855:58;:31;5326:19666;11646:6;5326:19666;;;;;12855:58;:84;;;;;;5326:19666;;;;;;;12855:84;;;;;;12212:59;12855:84;;5326:19666;12855:84;;;:::i;:::-;;;;;;;;;;;5326:19666;-1:-1:-1;11646:6:65;5326:19666;;;12949:27;5326:19666;12958:14;;12949:27;:::i;:::-;12986:36;12659:5;12995:17;12986:36;:::i;:::-;336:42:2;13032:25:65;;;;;5326:19666;;;;;13032:25;;;;;2030:14:2;13032:25:65;;5326:19666;13032:25;;;:::i;12855:84::-;;;5326:19666;12855:84;;;:::i;:::-;;;;12676:24;;;5326:19666;12676:24;;;:::i;:::-;;;;12514:91;;;5326:19666;12514:91;;;:::i;:::-;;;;11714:18;;;5326:19666;11714:18;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;336:42:2;6486:60:65;;;;5326:19666;;2030:14:2;6486:60:65;;6502:43;6486:60;;;5326:19666;-1:-1:-1;5326:19666:65;;;-1:-1:-1;336:42:2;6486:60:65;;;;;;;;5326:19666;;;;6556:32;;;;;;;;;;;;;;;;;;;;;5326:19666;;;;;;;6556:32;;;5326:19666;6556:32;;;;5326:19666;6486:60;;;5326:19666;6486:60;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3018:16:9;5326:19666:65;;;;;;;3018:16:9;5326:19666:65;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5326:19666:65;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;3948:19:9;5326:19666:65;2030:14:2;;;:::i;:::-;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;5326:19666:65;;;3948:19:9;5326:19666:65;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2030:14:2;;;:::i;:::-;5326:19666:65;;;;2030:14:2;;5326:19666:65;;;;;:::i;:::-;;;;2030:14:2;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;;;24390:39;;;;;5326:19666;24390:39;;;;;;:::i;:::-;5326:19666;;24523:29;;;;;;;;;;;;;;;;;;;;5326:19666;24523:29;;;;;5326:19666;;24586:46;;;;;;;;;24523:29;24586:46;;;;;5326:19666;24586:46;;;;;;;5326:19666;;;;;;;;;24586:46;;;5326:19666;24586:46;;;;;24752:32;;5326:19666;;;24752:32;;;24390:39;24752:32;;;:::i;:::-;;24390:39;24752:32;;;;;;:::i;:::-;336:42:2;24852:59:65;;;;5326:19666;;2030:14:2;24852:59:65;;24868:42;5326:19666;24852:59;;5326:19666;;-1:-1:-1;5326:19666:65;;;-1:-1:-1;336:42:2;24852:59:65;;;;;;;5326:19666;24852:59;;;5326:19666;;;24921:62;;;;;5326:19666;;2030:14:2;24921:62:65;;5326:19666;;;;;;;;24921:62;5326:19666;;24921:62;;;:::i;:::-;;;;;;;;;;;5326:19666;24852:59;;;5326:19666;24852:59;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;;;;;3794:16:9;5326:19666:65;;;;;;;3794:16:9;5326:19666:65;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:18:9;5326:19666:65;;;;;;;3501:18:9;5326:19666:65;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8550:30;;5326:19666;8573:6;5326:19666;;;;;8550:30;8573:6;5326:19666;;;336:42:2;8719:26:65;;;;5326:19666;;2030:14:2;8719:26:65;;5326:19666;;;;;;8719:26;;2030:14:2;12692:7:65;5326:19666;;;2030:14:2;-1:-1:-1;5326:19666:65;;;-1:-1:-1;336:42:2;8719:26:65;;;;;;;;5326:19666;8875:31;9176:67;;8875:31;;:::i;:::-;8972:15;5326:19666;8980:6;5326:19666;;;;;8972:15;5326:19666;;9066:59;8980:6;9066:59;;;9120:3;9066:59;;;2030:14:2;9066:59:65;5326:19666;;;;9066:59;5326:19666;9066:59;8927:209;2030:14:2;;:::i;8927:209:65:-;5326:19666;8980:6;8927:209;;2030:14:2;5326:19666:65;;8927:209;;2030:14:2;8927:209:65;;;2030:14:2;8916:220:65;;;:::i;:::-;;;;;:::i;:::-;;5326:19666;;9176:67;;;9199:36;8980:6;9176:67;;;9066:59;9176:67;;;:::i;:::-;5326:19666;;9280:37;;;;;8980:6;9280:37;;;:::i;:::-;336:42:2;9328:37:65;;;;5326:19666;;9328:37;2030:14:2;9328:37:65;;5326:19666;9328:37;;;5326:19666;9328:37;;5326:19666;8904:1;5326:19666;;;;;;;;;;;;;;;;;;;;;9328:37;;;;336:42:2;9328:37:65;;;;;;;9492:58;9328:37;9492:31;9328:37;;;5326:19666;-1:-1:-1;8573:6:65;5326:19666;;;;;9380:65;5326:19666;;;9380:65;5326:19666;;;9380:65;;;:::i;:::-;;;;5326:19666;;;;9492:58;:91;;;;;5326:19666;;2030:14:2;9492:91:65;;5326:19666;;;;;;;;9492:91;5326:19666;;9492:91;;;:::i;:::-;;;;;;;;;;;5326:19666;;9712:22;:17;5326:19666;9720:8;5326:19666;;;;;;;;9712:22;8573:6;5326:19666;;;;;9768:60;;;;;;;;;;;;;;;;;;;;;12555:42;5326:19666;;;;;;9768:60;;;5326:19666;9768:60;;;;;5326:19666;9760:74;5326:19666;;9760:74;:::i;:::-;9744:91;336:42:2;9744:91:65;;;;;5326:19666;;;;;9744:91;;;;;2030:14:2;9744:91:65;;5326:19666;9744:91;;;:::i;:::-;;;;336:42:2;9744:91:65;;;;;;;;5326:19666;-1:-1:-1;8573:6:65;5326:19666;;;336:42:2;9907:26:65;;;;5326:19666;;2030:14:2;9907:26:65;;5326:19666;;;;;;9907:26;;2030:14:2;12692:7:65;5326:19666;;;2030:14:2;-1:-1:-1;5326:19666:65;;;-1:-1:-1;336:42:2;9907:26:65;;;;;;;;5326:19666;-1:-1:-1;5326:19666:65;;9998:44;8980:6;9975:103;;;5326:19666;9066:59;9975:103;;2030:14:2;;;5326:19666:65;;;;;;;;;9975:103;5326:19666;;;;9975:103;5326:19666;9975:103;10088:58;:31;5326:19666;8573:6;5326:19666;;;;;10088:58;:84;;;;;;5326:19666;;;;;;;10088:84;;;;;;2030:14:2;10088:84:65;;5326:19666;10088:84;;;:::i;:::-;;;;;;;;;;;5326:19666;-1:-1:-1;8573:6:65;5326:19666;;;10182:27;5326:19666;10191:14;5326:19666;10182:27;10247:9;9890:5;10228:17;10247:9;:::i;10088:84::-;;;5326:19666;10088:84;;;:::i;:::-;;;;9907:26;;;5326:19666;9907:26;;;:::i;:::-;;;;9744:91;;;5326:19666;9744:91;;;:::i;:::-;;;;9492;;;5326:19666;9492:91;;;:::i;:::-;;;;9328:37;;;5326:19666;9328:37;;;:::i;:::-;;;;8719:26;;;5326:19666;8719:26;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;21981:28;;5326:19666;22002:6;5326:19666;;;;;21981:28;;:::i;:::-;22520:39;;22414:68;;22172:31;;:::i;:::-;22270:15;5326:19666;22278:6;5326:19666;;;;;22270:15;5326:19666;;22328:34;22278:6;22328:34;;;5326:19666;22328:34;;;;;;:::i;22520:39::-;22569:58;:31;5326:19666;22002:6;5326:19666;;;;;22569:58;:93;;;;;5326:19666;;2030:14:2;22569:93:65;;5326:19666;;;;;;;;22569:93;5326:19666;;22569:93;;;:::i;:::-;;;;;;;;;;;5326:19666;22737:31;23085:39;;22979:68;;22737:31;;:::i;:::-;22835:15;5326:19666;22278:6;5326:19666;;;;;22835:15;5326:19666;;22893:34;22278:6;22893:34;;;5326:19666;22893:34;;;22328;22893;;:::i;23085:39::-;23134:58;:31;5326:19666;22002:6;5326:19666;;;;;23134:58;:93;;;;;5326:19666;;2030:14:2;23134:93:65;;5326:19666;;;;;;;;23134:93;5326:19666;;23134:93;;;:::i;:::-;;;;;;;;;;;5326:19666;479:48:62;983:133;;22038:16:65;983:133:62;;23672:55:65;983:133:62;479:48;983:133;;22082:16:65;983:133:62;;;23630:31:65;23426:42;5326:19666;;;22002:6;5326:19666;;;;;;;23426:42;:::i;:::-;23569:31;23497:42;5326:19666;;;22002:6;5326:19666;;;;;23497:42;23569:31;;:::i;:::-;23630;:::i;:::-;573:10:62;;:::i;:::-;23683:14:65;;;23672:55;:::i;23134:93::-;;;5326:19666;23134:93;;;:::i;:::-;;;;22569;;;5326:19666;22569:93;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;10494:17;;5326:19666;10502:8;5326:19666;;;;;;;;10494:17;10581:6;5326:19666;;;336:42:2;10573:18:65;;;;5326:19666;;2030:14:2;10573:18:65;;5326:19666;;;;;;10573:18;;2030:14:2;-1:-1:-1;5326:19666:65;;;2030:14:2;;;5326:19666:65;;;-1:-1:-1;336:42:2;10573:18:65;;;;;;;;5326:19666;11205:45;5326:19666;10728:31;10924:29;;10820:67;;10728:31;;:::i;10924:29::-;10976:15;5326:19666;10581:6;5326:19666;;;;;10976:15;5326:19666;;;;11027:154;;;10820:67;11027:154;;;11071:59;11027:154;;10820:67;11027:154;;;:::i;11205:45::-;479:48:62;983:133;;10539:24:65;983:133:62;;11436:31:65;11367:41;983:133:62;11302:37:65;5326:19666;;10581:6;5326:19666;;;;;10573:18;;;5326:19666;10573:18;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;18389:6;5326:19666;;;336:42:2;18381:25:65;;;;5326:19666;;2030:14:2;18381:25:65;;5326:19666;;;;;;18381:25;;2030:14:2;18354:17:65;5326:19666;;;2030:14:2;-1:-1:-1;5326:19666:65;;;-1:-1:-1;336:42:2;18381:25:65;;;;;;;;5326:19666;18457:31;18742:67;;18457:31;;:::i;:::-;18554:15;5326:19666;18562:6;5326:19666;;;;;18554:15;5326:19666;;18648:43;18562:6;18648:43;;;5326:19666;18648:43;;;;;;:::i;18742:67::-;5326:19666;;18846:36;;;;;18562:6;18846:36;;;:::i;:::-;336:42:2;18893:37:65;;;;5326:19666;;18893:37;2030:14:2;18893:37:65;;5326:19666;18893:37;;;5326:19666;18893:37;;5326:19666;8904:1;5326:19666;;;;;;;;;;;;;;;;;;;;;18893:37;;;;336:42:2;18893:37:65;;;;;;;19020:58;18893:37;19020:31;18893:37;;;5326:19666;-1:-1:-1;18389:6:65;5326:19666;;;;18945:64;5326:19666;;;18945:64;5326:19666;;;18945:64;;;:::i;19020:58::-;:95;;;;;5326:19666;;2030:14:2;19020:95:65;;5326:19666;;;;;;;;19020:95;5326:19666;;19020:95;;;:::i;:::-;;;;;;;;;;;5326:19666;19126:62;19135:14;5326:19666;18389:6;5326:19666;;;;;19135:14;;5326:19666;;:::i;:::-;19126:62;;:::i;19020:95::-;;;5326:19666;19020:95;;;:::i;:::-;;;;18893:37;;;5326:19666;18893:37;;;:::i;:::-;;;;18381:25;;;5326:19666;18381:25;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;;;23824:16;;;;;;;;;;;;;;;;;;;;5326:19666;23824:16;;;;;5326:19666;;;;23875:32;;;;;;;23824:16;23875:32;;;;;;;;;;;;;5326:19666;;;;;;;;;;23875:32;;;5326:19666;23875:32;;;;;;23927:13;5326:19666;;;;;23927:13;;;;2030:14:2;23927:13:65;;5326:19666;23927:13;;;;;;;23918:69;23927:13;5326:19666;23927:13;;;5326:19666;;;;:::i;:::-;23918:69;;:::i;23927:13::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;5326:19666;;;;;;;;;;;;;;-1:-1:-1;5326:19666:65;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3346:26:9;5326:19666:65;2030:14:2;;;:::i;:::-;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;5326:19666:65;;;3346:26:9;5326:19666:65;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2030:14:2;;;:::i;:::-;5326:19666:65;;;:::i;:::-;2030:14:2;;5326:19666:65;;;;;:::i;:::-;;;;2030:14:2;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;7137:17;;5326:19666;7145:8;5326:19666;;;;;;;;7137:17;7302:6;5326:19666;;;336:42:2;7294:26:65;;;;5326:19666;;2030:14:2;7294:26:65;;5326:19666;;;;;;7294:26;;2030:14:2;12692:7:65;5326:19666;;;2030:14:2;-1:-1:-1;5326:19666:65;;;-1:-1:-1;336:42:2;7294:26:65;;;;;;;;5326:19666;7450:31;7751:67;;7450:31;;:::i;7751:67::-;5326:19666;;7855:37;;;;;7555:6;7855:37;;;:::i;:::-;336:42:2;7903:37:65;;;;5326:19666;;7903:37;2030:14:2;7903:37:65;;5326:19666;7903:37;;;5326:19666;7903:37;;5326:19666;8904:1;5326:19666;;;;;;;;;;;;;;;;;;;;;7903:37;;;;336:42:2;7903:37:65;;;;;;;8067:58;7903:37;8067:31;7903:37;;;-1:-1:-1;7302:6:65;5326:19666;;;;;8067:58;:91;;;;;5326:19666;;2030:14:2;8067:91:65;;5326:19666;;;;;;;;8067:91;5326:19666;;8067:91;;;:::i;:::-;;;;;;;;;;;5326:19666;479:48:62;983:133;;7220:27:65;983:133:62;;8346:31:65;8277:41;983:133:62;8212:37:65;780:342:62;8067:91:65;;;5326:19666;8067:91;;;:::i;:::-;;;;7294:26;;;5326:19666;7294:26;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;16063:16;;:::i;:::-;5326:19666;16131:3;5326:19666;;16109:20;;;;;5326:19666;;;;;;;;;16295:37;;;;;:::i;:::-;;5326:19666;16094:13;;16109:20;16586:67;;16109:20;16393:31;;:::i;:::-;5326:19666;16477:15;5326:19666;16485:6;5326:19666;;;;;16477:15;2030:14:2;16445:101:65;2030:14:2;;:::i;16586:67:65:-;16445:101;5326:19666;16690:38;;;;;16485:6;16690:38;;;:::i;:::-;336:42:2;16739:37:65;;;;16445:101;5326:19666;16739:37;2030:14:2;16739:37:65;;5326:19666;16739:37;;;5326:19666;16739:37;;5326:19666;8904:1;5326:19666;;;;;;;;;;;;;;;;;;;;;16739:37;;;;336:42:2;16739:37:65;;;;;;;16859:58;16739:37;16859:31;16739:37;;;16089:254;-1:-1:-1;16822:6:65;5326:19666;;;;;16791:57;16445:101;5326:19666;;16791:57;5326:19666;;;16791:57;;;:::i;16859:58::-;:95;;;;;16445:101;5326:19666;2030:14:2;16859:95:65;;5326:19666;;;;;;;;16859:95;5326:19666;;16859:95;;;:::i;16739:37::-;;;5326:19666;16739:37;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3162:18:9;5326:19666:65;2030:14:2;;;:::i;:::-;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;3162:18:9;5326:19666:65;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3653:18:9;5326:19666:65;2030:14:2;;;:::i;:::-;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;5326:19666:65;;;3653:18:9;5326:19666:65;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2030:14:2;;;:::i;:::-;5326:19666:65;;;;2030:14:2;;5326:19666:65;;;;;:::i;:::-;;;;2030:14:2;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;15728:38;;15624:67;;15553:31;;:::i;15728:38::-;15777:58;:31;5326:19666;15801:6;5326:19666;;;;;;;;;;;;;;;;2876:18:9;5326:19666:65;2030:14:2;;;:::i;:::-;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;5326:19666:65;;;2876:18:9;5326:19666:65;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2030:14:2;;;:::i;:::-;5326:19666:65;;;;2030:14:2;;5326:19666:65;;;;;:::i;:::-;;;;2030:14:2;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;2575:18:9;5326:19666:65;2030:14:2;;;:::i;:::-;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;2575:18:9;5326:19666:65;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6781:20;;5326:19666;;6714:37;;;;;5326:19666;6714:37;;;;;;:::i;6781:20::-;336:42:2;6811:59:65;;;;5326:19666;;2030:14:2;6811:59:65;;24868:42;5326:19666;6811:59;;5326:19666;-1:-1:-1;5326:19666:65;;;-1:-1:-1;336:42:2;6811:59:65;;;;;;;;5326:19666;-1:-1:-1;6880:8:65;5326:19666;6880:35;;5326:19666;;;;;;6811:59;;;5326:19666;6811:59;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;14596:6;5326:19666;;;336:42:2;14588:26:65;;;;5326:19666;;2030:14:2;14588:26:65;;5326:19666;;;;;;14588:26;;2030:14:2;14571:7:65;5326:19666;;;2030:14:2;-1:-1:-1;5326:19666:65;;;-1:-1:-1;336:42:2;14588:26:65;;;;;;;;5326:19666;14665:31;14910:67;;14665:31;;:::i;:::-;14762:15;5326:19666;14770:6;5326:19666;;;;;14762:15;5326:19666;;14820:39;14770:6;14820:39;;;5326:19666;14820:39;;;;;;:::i;14910:67::-;5326:19666;;15014:37;;;;;14770:6;15014:37;;;:::i;:::-;336:42:2;15062:37:65;;;;5326:19666;;15062:37;2030:14:2;15062:37:65;;5326:19666;15062:37;;;5326:19666;15062:37;;5326:19666;8904:1;5326:19666;;;;;;;;;;;;;;;;;;;;;15062:37;;;;336:42:2;15062:37:65;;;;;;;15190:58;15062:37;15190:31;15062:37;;;5326:19666;-1:-1:-1;14596:6:65;5326:19666;;;;15114:65;5326:19666;;;15114:65;5326:19666;;;15114:65;;;:::i;15190:58::-;:95;;;;;5326:19666;;2030:14:2;15190:95:65;;5326:19666;;;;;;;;15190:95;5326:19666;;15190:95;;;:::i;:::-;;;;;;;;;;;5326:19666;15296:68;15305:14;5326:19666;14596:6;5326:19666;;;;;15305:14;;5326:19666;;:::i;15190:95::-;;;5326:19666;15190:95;;;:::i;:::-;;;;15062:37;;;5326:19666;15062:37;;;:::i;:::-;;;;14588:26;;;5326:19666;14588:26;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;;;19366:29;;;;;;;;;;;;;;;;;;;;5326:19666;19366:29;;;;;5326:19666;;;;19448:46;;;;;;;19366:29;19448:46;;;;;;;;;;;;;5326:19666;;;;;;;;;;19448:46;;;5326:19666;19448:46;;;;;5326:19666;19588:37;5326:19666;;19588:37;:::i;:::-;19568:58;336:42:2;19568:58:65;;;;5326:19666;19568:58;5326:19666;;;19568:58;;;;2030:14:2;19568:58:65;;5326:19666;19568:58;;;:::i;:::-;;;;336:42:2;19568:58:65;;;;;;;19971:67;20075:38;19568:58;19971:67;19568:58;20075:38;19568:58;;;5326:19666;19677:31;;;:::i;:::-;5326:19666;;;19877:43;;;;;5326:19666;19877:43;;;;;;:::i;20075:38::-;19550:6;20184:99;;;;5326:19666;20184:99;5326:19666;;;20184:99;;;;2030:14:2;20184:99:65;;5326:19666;20184:99;;;:::i;:::-;;;;19550:6;20184:99;;;;;;;;5326:19666;479:48:62;983:133;;20145:29:65;983:133:62;;20486:31:65;20413:45;983:133:62;20413:45:65;:::i;20184:99::-;;;5326:19666;20184:99;;;:::i;:::-;;;;19568:58;;;5326:19666;19568:58;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;17329:67;;17083:31;;:::i;:::-;17180:15;5326:19666;17188:6;5326:19666;;;;;17180:15;5326:19666;;17238:40;17188:6;17238:40;;;5326:19666;17238:40;;;;;;:::i;17329:67::-;5326:19666;;17433:38;;;;;17188:6;17433:38;;;:::i;:::-;336:42:2;17482:37:65;;;;5326:19666;;17482:37;2030:14:2;17482:37:65;;5326:19666;17482:37;;;5326:19666;17482:37;;5326:19666;8904:1;5326:19666;;;;;;;;;;;;;;;;;;;;;17482:37;;;;336:42:2;17482:37:65;;;;;;;17602:58;17482:37;17602:31;17482:37;;;-1:-1:-1;17565:6:65;5326:19666;;;;;17482:37;;;5326:19666;17482:37;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;;;13266:21;;;;;;;;;;;;;;;;;;;;5326:19666;13266:21;;;;;13322:23;5326:19666;13305:15;5326:19666;13313:6;5326:19666;;;;;13305:15;5326:19666;;13322:23;:::i;:::-;13297:49;336:42:2;13297:49:65;;;;;5326:19666;;;;;13297:49;;;;;2030:14:2;13297:49:65;;5326:19666;13297:49;;;:::i;:::-;;;;336:42:2;13297:49:65;;;;;;;;5326:19666;14368:95;5326:19666;13313:6;5326:19666;13465:31;13855:29;;13751:67;;13465:31;;:::i;:::-;13562:15;5326:19666;;;;;;;13562:15;5326:19666;;13656:44;;;;;5326:19666;13656:44;;;5326:19666;;;;;;;;;;;13656:44;5326:19666;;;;13656:44;5326:19666;13855:29;14000:15;5326:19666;14008:6;5326:19666;;;;;14000:15;5326:19666;;;;14051:158;;;;;;;14095:59;14051:158;;13656:44;14051:158;;;:::i;:::-;14000:223;;;;14233:37;14000:223;;:::i;13297:49::-;;;5326:19666;13297:49;;;:::i;:::-;;;;5326:19666;;;;;;;;;;;;;;;2723:18:9;5326:19666:65;;;;;;;2723:18:9;5326:19666:65;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1065:26:16;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;5326:19666:65;2030:14:2;;;;;;;;;;;5326:19666:65;2030:14:2;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;5326:19666:65;;2030:14:2;5326:19666:65;;2030:14:2;;;;;;;;;;;;;:::o;:::-;5326:19666:65;;2030:14:2;;;;;:::i;:::-;:::o;:::-;;;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;;;5326:19666:65;;;;2030:14:2;;;:::o;:::-;;;;-1:-1:-1;2030:14:2;;;:::i;:::-;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;5326:19666:65;2030:14:2;;;;;;;;;;:::i;:::-;;:::o;:::-;;;5326:19666:65;2030:14:2;;;5326:19666:65;2030:14:2;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;5326:19666:65;;;;2030:14:2;;5326:19666:65;2030:14:2;:::i;:::-;20971:1:65;2030:14:2;;;;;20971:1:65;2030:14:2;:::i;:::-;;;-1:-1:-1;2030:14:2;;;;;;;;;:::o;:::-;;5326:19666:65;;;2030:14:2;;;:::i;:::-;-1:-1:-1;2030:14:2;;-1:-1:-1;2030:14:2;;;;-1:-1:-1;5326:19666:65;2030:14:2;;;;;;;;;;;;;;;;;;5326:19666:65;;;2030:14:2;;5326:19666:65;2030:14:2;:::i;:::-;5326:19666:65;2030:14:2;;;;;5326:19666:65;2030:14:2;:::i;:::-;;;5326:19666:65;2030:14:2;;;;;;;;;:::o;:::-;;5326:19666:65;;;2030:14:2;;;:::i;:::-;5326:19666:65;2030:14:2;;5326:19666:65;2030:14:2;;;;5326:19666:65;;2030:14:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;5326:19666:65;;2030:14:2;;;;;;:::o;:::-;;:::i;:::-;;;;;;;5326:19666:65;;;;;;;;2030:14:2;;5326:19666:65;2030:14:2;;;;;;5326:19666:65;;2030:14:2;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;5326:19666:65;2030:14:2;;5326:19666:65;;;2030:14:2;;;;5326:19666:65;;2030:14:2;;;5326:19666:65;;2030:14:2;;;5326:19666:65;2030:14:2;;;;;;;;;;;;;;:::i;:::-;5326:19666:65;;2030:14:2;;;;;;;;;;;;;;;5326:19666:65;2030:14:2;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;8702:7:65;2030:14:2;;;;;;;;;:::i;:::-;;;;;18354:17:65;2030:14:2;;;;;;;;;:::i;:::-;;;;;14571:7:65;2030:14:2;;;;;;;;;:::i;:::-;;;;;5326:19666:65;2030:14:2;;5326:19666:65;2030:14:2;;;;5326:19666:65;2030:14:2;;;;5326:19666:65;2030:14:2;;;;5326:19666:65;2030:14:2;;;;;;;;;;;;:::i;:::-;;;;;11680:24:65;2030:14:2;;5326:19666:65;2030:14:2;;;;5326:19666:65;2030:14:2;;;;5326:19666:65;2030:14:2;;;;5326:19666:65;2030:14:2;;;;;;;;;;;;:::i;:::-;;;;;10539:24:65;2030:14:2;;5326:19666:65;2030:14:2;;;;5326:19666:65;2030:14:2;;;;5326:19666:65;2030:14:2;;;;5326:19666:65;2030:14:2;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;-1:-1:-1;2030:14:2;;;;:::o;:::-;;;:::o;:::-;;5326:19666:65;2030:14:2;;;;;:::i;:::-;;;;;5326:19666:65;2030:14:2;;;:::o;:::-;5326:19666:65;;2030:14:2;;;;;:::i;:::-;;;;;5326:19666:65;2030:14:2;;;;;;;;:::o;5326:19666:65:-;2030:14:2;5326:19666:65;2030:14:2;;;;;:::i;:::-;5326:19666:65;2030:14:2;;5326:19666:65;;;;;:::o;:::-;;;;;24811:30;2030:14:2;;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;;;;;:::i;:::-;;;;;8645:27;2030:14:2;;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;;;;;:::i;:::-;;;;;22038:16;2030:14:2;;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;;;;;:::i;:::-;;;;;22082:16;2030:14:2;;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;;;;;:::i;:::-;;;;;7220:27;2030:14:2;;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;;;;;:::i;:::-;;;;;20145:29;2030:14:2;;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;;;;;:::i;:::-;;;;;-1:-1:-1;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5326:19666:65;;;;;-1:-1:-1;5326:19666:65;;;;;;;;;;;;2030:14:2;;;:::i;:::-;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;:::i;:::-;;;;5326:19666:65;;;;-1:-1:-1;5326:19666:65;;-1:-1:-1;5326:19666:65;-1:-1:-1;5326:19666:65;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;8702:7;2030:14:2;;5326:19666:65;;;;;;;;:::i;:::-;;;;;18354:17;2030:14:2;;5326:19666:65;;;;;;;;:::i;:::-;;;;;14571:7;2030:14:2;;5326:19666:65;;;;;;;;:::i;573:10:62:-;2030:14:2;5326:19666:65;2030:14:2;;;;;:::i;:::-;573:10:62;2030:14:2;;573:10:62;5326:19666:65;573:10:62;;;:::o;5326:19666:65:-;2030:14:2;5326:19666:65;2030:14:2;;;;;:::i;:::-;5326:19666:65;2030:14:2;;5326:19666:65;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;2030:14:2;5326:19666:65;2030:14:2;;;;;:::i;:::-;5326:19666:65;2030:14:2;;5326:19666:65;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2030:14:2;;5326:19666:65;;;;;;;;;2030:14:2;;;;;5326:19666:65;;2030:14:2;;5326:19666:65;;;;;;;;;2030:14:2;;;;;5326:19666:65;;2030:14:2;5326:19666:65;;;;;;;;;;2030:14:2;;;;;5326:19666:65;;2030:14:2;5326:19666:65;;;;;;;;;;2030:14:2;;;;;5326:19666:65;;2030:14:2;5326:19666:65;;;;;;;;;;2030:14:2;;;;;5326:19666:65;;2030:14:2;5326:19666:65;;;;;;;;;;2030:14:2;;;;;5326:19666:65;;2030:14:2;5326:19666:65;;;;;;;;;2030:14:2;5326:19666:65;2030:14:2;5326:19666:65;;2030:14:2;;;;5326:19666:65;;;;;;;;;;;;;;;;;;;;;;;;2030:14:2;;;;5326:19666:65;;;;;;;2030:14:2;;;;;5326:19666:65;;;;;2030:14:2;;;;;5326:19666:65;;;;;2030:14:2;;;;;5326:19666:65;;;;;2030:14:2;;;;;5326:19666:65;;;;;2030:14:2;;;;;5326:19666:65;;;;;2030:14:2;;;;;5326:19666:65;;;;2030:14:2;;;5326:19666:65;;;;;;;;;;;;;;;;;;;16073:5;;;2030:14:2;;;5326:19666:65;2030:14:2;:::i;:::-;;;;;5326:19666:65;;2030:14:2;;;5326:19666:65;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;2030:14:2;;5326:19666:65;;;;;;;;:::i;1255:17:4:-;;;;;;;;;;;:::o;1306:195::-;1365:7;5326:19666:65;;;;;;1395:4:4;1388:11;:::o;1361:134::-;5326:19666:65;;2030:14:2;1437:33:4;;;;;;;;192:59;1255:17;;;;5326:19666:65;;;;1255:17:4;2030:14:2;1437:33:4;;5326:19666:65;1437:33:4;;;;;;;2030:14:2;1437:33:4;;;1361:134;1437:47;;;1430:54;:::o;1437:33::-;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;5326:19666:65;;;2030:14:2;;;;;:::i;:::-;5326:19666:65;2030:14:2;;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;;:::o;:::-;2030:14:2;5326:19666:65;2030:14:2;;;;;:::i;:::-;5326:19666:65;2030:14:2;;5326:19666:65;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;2179:149:4:-;;2262:60;;2179:149;;:::o;2262:60::-;5326:19666:65;2286:25:4;;;;;5326:19666:65;2286:25:4;5326:19666:65;;;2286:25:4;;;;;2030:14:2;2286:25:4;;;;;;:::i;:::-;;;5326:19666:65;2286:25:4;;;;;;;;2179:149;:::o;2286:25::-;;;;;:::i;4521:177::-;5326:19666:65;4623:13:4;;4619:73;;4521:177;;:::o;4619:73::-;5326:19666:65;4652:29:4;;;;5326:19666:65;;-1:-1:-1;5326:19666:65;;;4652:29:4;;;;;2030:14:2;4652:29:4;;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;;;;;;;:::i;:::-;4652:29:4;;5326:19666:65;4652:29:4;;;;;;;;4521:177;:::o;4652:29::-;;;-1:-1:-1;4652:29:4;;;:::i;:::-;5326:19666:65;;;;;2179:149:4:o;1705:123:76:-;5326:19666:65;1761:60:76;;;;5326:19666:65;;;1761:60:76;2030:14:2;1761:60:76;;5326:19666:65;1761:60:76;;;5326:19666:65;1374:1:76;1358:19;;;2030:14:2;1374:1:76;1358:19;;;2030:14:2;1374:1:76;1761:60;;;;5326:19666:65;1761:60:76;;;;;;;;1705:123;:::o;1894:148:4:-;1980:5;;1976:60;;1894:148;;:::o;1976:60::-;5326:19666:65;2001:24:4;;;;;5326:19666:65;2001:24:4;5326:19666:65;;;2001:24:4;;;;;2030:14:2;2001:24:4;;;;;;:::i;2664:153::-;2747:13;2743:68;;2664:153;:::o;2743:68::-;5326:19666:65;2776:24:4;;;;5326:19666:65;;2776:24:4;2030:14:2;2776:24:4;;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;2776:24:4;;;5326:19666:65;2776:24:4;;;;;;;;2664:153;:::o;:::-;12692:7:65;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;5326:19666:65;2776:24:4;;;;5326:19666:65;;2776:24:4;2030:14:2;2776:24:4;;;;;2030:14:2;12692:7:65;5326:19666;;;2030:14:2;-1:-1:-1;2776:24:4;;;5326:19666:65;2776:24:4;;;;;;;;2664:153;:::o;:::-;22201:1:65;2747:13:4;;2743:68;;2664:153;:::o;2743:68::-;5326:19666:65;2776:24:4;;;;5326:19666:65;;2776:24:4;2030:14:2;2776:24:4;;;;;2030:14:2;22201:1:65;5326:19666;;;2030:14:2;-1:-1:-1;2776:24:4;;;5326:19666:65;2776:24:4;;;;;;;;2664:153;:::o;1480:121:76:-;5326:19666:65;1534:60:76;;;;5326:19666:65;;;1534:60:76;2030:14:2;1534:60:76;;5326:19666:65;1534:60:76;;;5326:19666:65;1374:1:76;1358:19;;;2030:14:2;1590:1:76;1358:19;;;2030:14:2;1374:1:76;1534:60;;;;5326:19666:65;1534:60:76;;;;;;;;1480:121;:::o;5326:19666:65:-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;2659:655:76;2777:11;5326:19666:65;2777:11:76;:::i;:::-;2906:30;;;;;;;;:::i;:::-;;;;;;;;;;5326:19666:65;2888:49:76;;;;;;5326:19666:65;;;2888:49:76;;;;2030:14:2;2888:49:76;;5326:19666:65;2888:49:76;;;;:::i;:::-;;;;5326:19666:65;2888:49:76;;;;;;;;;;;;;2659:655;5326:19666:65;;;2996:55:76;;;2906:30;2996:55;;;3019:25;2996:55;;;;;5326:19666:65;;;;;2030:14:2;;5326:19666:65;2996:55:76;2978:74;;5326:19666:65;2978:74:76;;;;:::i;:::-;3123:31;5326:19666:65;3123:31:76;;;;2888:49;3123:31;5326:19666:65;;;3123:31:76;;;;2030:14:2;3123:31:76;;5326:19666:65;2888:49:76;3123:31;;;:::i;:::-;;;;5326:19666:65;3123:31:76;;;;;;;3281:26;3123:31;3165:27;3123:31;;;2659:655;3165:27;;:::i;:::-;3202:61;2906:30;5326:19666:65;;3210:16:76;;3202:61;:::i;:::-;2906:30;5326:19666:65;;;3281:26:76;;;;;;:::i;3123:31::-;;;2888:49;3123:31;;;:::i;:::-;;;;2888:49;;;;;;;:::i;:::-;;;;2659:655;2777:11;;;:::i;:::-;2906:30;;;;;;;;:::i;:::-;;;;;;;;;;5326:19666:65;2888:49:76;;;;;;5326:19666:65;;;2888:49:76;;;;2030:14:2;2888:49:76;;;;;;;:::i;:::-;;;;5326:19666:65;2888:49:76;;;;;;;;;;;;;2659:655;5326:19666:65;;;2996:55:76;;;2906:30;2996:55;;;3019:25;2996:55;;;;;5326:19666:65;;;;;2030:14:2;;5326:19666:65;2996:55:76;2978:74;;;;;;;:::i;:::-;3123:31;5326:19666:65;3123:31:76;;;;;5326:19666:65;2888:49:76;5326:19666:65;;;3123:31:76;;;;;2030:14:2;3123:31:76;;2888:49;3123:31;;;:::i;2888:49::-;;;;;;;:::i;:::-;;;;2823:177:4;2925:13;2921:73;;2823:177;;:::o;2921:73::-;5326:19666:65;2954:29:4;;;;5326:19666:65;;;;;;2954:29:4;;;;;2030:14:2;2954:29:4;;;;;2030:14:2;5326:19666:65;;;;2030:14:2;5326:19666:65;;;;;;;;;;:::i;4179:177:4:-;5326:19666:65;;;;;;4281:13:4;;;4277:73;;4179:177;;;:::o;4277:73::-;5326:19666:65;4310:29:4;;;;-1:-1:-1;5326:19666:65;;;;4310:29:4;;;;;2030:14:2;4310:29:4;;;;;5326:19666:65;;;;;;;;;;;;;;;:::i","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testConstructorValidation()":"96bfd8de","testForwardToRouterReturnValue()":"3403533a","testRouterAddressImmutable()":"6450514c","test_constructor_revert_zeroRouter()":"13b0f5cd","test_delegatecall_forwards_and_sets_sentinel_sstore_inactive()":"46c5bb8b","test_delegatecall_forwards_and_sets_sentinel_tstore_active()":"6f2afb84","test_delegatecall_router_revert_bubbles_as_RouterCallFailed()":"dfab5b20","test_delegatecall_sets_sentinel_with_sstore_when_no_tstore()":"0f59cebe","test_delegatecall_sets_sentinel_with_tstore_when_supported()":"568ec6fd","test_direct_handleSequenceDelegateCall_reverts_not_delegatecall()":"b953254e","test_forwardToRouter_return_data_handling()":"d2d18ff5","test_forwardToRouter_revert_with_custom_error()":"06b13369","test_handleSequenceDelegateCall_allows_arbitrary_selector()":"f679951d","test_handleSequenceDelegateCall_empty_calldata()":"a009a77a","test_handleSequenceDelegateCall_large_calldata()":"7ee2aaa5","test_handleSequenceDelegateCall_max_call_value()":"610b4369","test_handleSequenceDelegateCall_with_eth_value()":"cf7e6947","test_handleSequenceDelegateCall_zero_call_value()":"dc420e10","test_sentinel_setting_with_different_op_hashes()":"4c57e12e"}}}},"test/guards/DelegatecallGuard.t.sol":{"DelegatecallGuardTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testOnlyDelegatecallInternalFunction","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testSelfImmutableVariable","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_delegatecall_context_succeeds","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_delegatecall_nested_context","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_direct_call_reverts_NotDelegateCall","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_multiple_delegatecall_guards","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_onlyDelegatecall_modifier_usage","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_self_address_immutable","inputs":[],"outputs":[],"stateMutability":"view"},{"type":"event","name":"Ping","inputs":[{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"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}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Ping\",\"type\":\"event\"},{\"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\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyDelegatecallInternalFunction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSelfImmutableVariable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_delegatecall_context_succeeds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_delegatecall_nested_context\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_direct_call_reverts_NotDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_multiple_delegatecall_guards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_onlyDelegatecall_modifier_usage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_self_address_immutable\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/guards/DelegatecallGuard.t.sol\":\"DelegatecallGuardTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"test/guards/DelegatecallGuard.t.sol\":{\"keccak256\":\"0x4f76a8a904f8a46944cb3a7b807e87900eeeaa9eb1918a52ebe616db8f405367\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c16f3ace9ee3ec90f88cecf23060a015646378a0b18151e0680942c2da73d679\",\"dweb:/ipfs/QmQ87Vm9bZwfSHoJD7RHoGaFvRE46NwiquPsE2L9zSAip9\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f55612e6490816100348239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c90816308a9ea2714611915575080630a9254e4146118015780631ed7831c146117585780632ade38801461152c5780633e5e3c23146114835780633f7286f4146113da57806366d9a9a01461127f5780637a12a470146111495780637cb7b5b514610d3c5780638445e79f14610b4257806385226c8114610a9a578063916a17c6146109c5578063b0464fdc146108f0578063b5508aa914610848578063b786767b146106a2578063ba414fa61461065f578063ba75552914610581578063d617152b146102b8578063e20c9f71146101ff578063eff34a17146101485763fa7626d414610105575f80fd5b3461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557602060ff601f54166040519015158152f35b80fd5b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576101fc73ffffffffffffffffffffffffffffffffffffffff601f5460081c161515604051906101a7606083611dea565b602382527f6775617264656420636f6e74726163742073686f756c64206265206465706c6f60208301527f79656400000000000000000000000000000000000000000000000000000000006040830152612371565b80f35b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b81811061028c576102888561027c81870382611dea565b60405191829182611bc6565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610265565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405161024b8082019082821067ffffffffffffffff831117610554579082916129b68339039082f0801561051a5760405161022e8082019082821067ffffffffffffffff831117610527579180918593612c018339039082f091821561051a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561050b576040517f491cc7c20000000000000000000000000000000000000000000000000000000081528281806103b060048201906001606060808401938281525f60208201525f60408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561050f5783916104f6575b5050602473ffffffffffffffffffffffffffffffffffffffff917ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051308152a1838360405196879586947fc06d936d000000000000000000000000000000000000000000000000000000008652166004850152165af180156104eb576101fc9183916104c8575b5060405190610473606083611dea565b602282527f6e65737465642064656c656761746563616c6c2073686f756c6420737563636560208301527f65640000000000000000000000000000000000000000000000000000000000006040830152612371565b6104e491503d8085833e6104dc8183611dea565b810190612224565b505f610463565b6040513d84823e3d90fd5b8161050091611dea565b61050b57815f6103d8565b5080fd5b6040513d85823e3d90fd5b50604051903d90823e3d90fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576040516101908082019082821067ffffffffffffffff8311176105545790829161254c8339039082f0801561051a576101fc9073ffffffffffffffffffffffffffffffffffffffff60405191610607606084611dea565b602f83527f5f53454c462073686f756c6420626520696e697469616c697a656420746f206360208401527f6f6e7472616374206164647265737300000000000000000000000000000000006040840152161515612371565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576020610698612298565b6040519015158152f35b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405190610190918281019281841067ffffffffffffffff85111761081b578293829161254c8339039082f0801561051a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610803576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d2000000000000000000000000000000000000000000000000000000006004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561050f578391610806575b505073ffffffffffffffffffffffffffffffffffffffff16803b15610803578180916004604051809481937fd35ec4200000000000000000000000000000000000000000000000000000000083525af180156104eb576107f25750f35b816107fc91611dea565b6101455780f35b50fd5b8161081091611dea565b61080357815f610795565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760195461088381611e65565b916108916040519384611dea565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b8383106108d357604051806102888782611cad565b6001602081926108e285611e7d565b8152019201920191906108be565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601c5461092b81611e65565b916109396040519384611dea565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b83831061097b57604051806102888782611d2a565b6002602060019260405161098e81611dce565b73ffffffffffffffffffffffffffffffffffffffff86541681526109b3858701611f80565b83820152815201920192019190610966565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601d54610a0081611e65565b91610a0e6040519384611dea565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b838310610a5057604051806102888782611d2a565b60026020600192604051610a6381611dce565b73ffffffffffffffffffffffffffffffffffffffff8654168152610a88858701611f80565b83820152815201920192019190610a3b565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601a54610ad581611e65565b91610ae36040519384611dea565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310610b2557604051806102888782611cad565b600160208192610b3485611e7d565b815201920192019190610b10565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561014557806040517f491cc7c2000000000000000000000000000000000000000000000000000000008152818180610bda60048201906001606060808401938281525f60208201525f60408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156104eb57610d27575b50507ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051308152a1808073ffffffffffffffffffffffffffffffffffffffff60205416602473ffffffffffffffffffffffffffffffffffffffff601f5460081c1660405194859384927fe8d1bd0a00000000000000000000000000000000000000000000000000000000845260048401525af180156104eb576101fc918391610d0c575b5060405190610cb7606083611dea565b602882527f64656c656761746563616c6c2d636f6e746578742070696e672073686f756c6460208301527f20737563636565640000000000000000000000000000000000000000000000006040830152612371565b610d2091503d8085833e6104dc8183611dea565b505f610ca7565b81610d3191611dea565b61014557805f610bff565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576040516101908082019082821067ffffffffffffffff8311176105545790829161254c8339039082f0801561051a576040516102da8082019082821067ffffffffffffffff8311176105275791809185936126dc8339039082f091821561051a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561050b576040517f491cc7c2000000000000000000000000000000000000000000000000000000008152828180610e3460048201906001606060808401938281525f60208201525f60408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561050f578391611134575b50507ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051308152a1818073ffffffffffffffffffffffffffffffffffffffff60205416602473ffffffffffffffffffffffffffffffffffffffff601f5460081c1660405194859384927fe8d1bd0a00000000000000000000000000000000000000000000000000000000845260048401525af1801561050f57610f69918491611119575b5060405190610f14606083611dea565b603282527f6669727374206775617264656420636f6e74726163742064656c65676174656360208301527f616c6c2073686f756c64207375636365656400000000000000000000000000006040830152612371565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561050b576040517f491cc7c2000000000000000000000000000000000000000000000000000000008152828180610fd160048201906001606060808401938281525f60208201525f60408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561050f578391611104575b5050602473ffffffffffffffffffffffffffffffffffffffff917ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051308152a1838360405196879586947fe8d1bd0a000000000000000000000000000000000000000000000000000000008652166004850152165af180156104eb576101fc9183916110e9575b5060405190611094606083611dea565b603382527f7365636f6e64206775617264656420636f6e74726163742064656c656761746560208301527f63616c6c2073686f756c642073756363656564000000000000000000000000006040830152612371565b6110fd91503d8085833e6104dc8183611dea565b505f611084565b8161110e91611dea565b61050b57815f610ff9565b61112d91503d8086833e6104dc8183611dea565b505f610f04565b8161113e91611dea565b61050b57815f610e5c565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561014557806040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d2000000000000000000000000000000000000000000000000000000006004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156104eb5761126a575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610803578180916004604051809481937f5c36b1860000000000000000000000000000000000000000000000000000000083525af180156104eb576107f25750f35b8161127491611dea565b61014557805f611208565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601b546112ba81611e65565b6112c76040519182611dea565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b83831061139f57868587604051928392602084019060208552518091526040840160408260051b8601019392905b82821061133457505050500390f35b9193602061138f827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060019597998495030186528851908361137f8351604084526040840190611c15565b9201519084818403910152611c58565b9601920192018594939192611325565b600260206001926040516113b281611dce565b6113bb86611e7d565b81526113c8858701611f80565b838201528152019201920191906112f7565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405180916020601754928381520191601782527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15915b818110611457576102888561027c81870382611dea565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201611440565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405180916020601854928381520191601882527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e915b818110611500576102888561027c81870382611dea565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016114e9565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601e5461156781611e65565b6115746040519182611dea565b818152601e83526020810191837f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350845b8383106116c25786858760405192839260208401906020855251809152604084019160408260051b8601019392815b8383106115e05786860387f35b9193957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09086929496030183528551906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b850101940192855b828110611679575050505050602080600192970193019301909286959492936115d3565b90919293946020806116b5837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951611c15565b9701950193929101611655565b6040516116ce81611dce565b73ffffffffffffffffffffffffffffffffffffffff83541681526001830180546116f781611e65565b916117056040519384611dea565b8183528a526020808b20908b9084015b83821061173b5750505050600192826020928360029501528152019201920191906115a4565b60016020819261174a86611e7d565b815201930191019091611715565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405180916020601654928381520191601682527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289915b8181106117d5576102888561027c81870382611dea565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016117be565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576040516101908082019082821067ffffffffffffffff8311176105545790829161254c8339039082f0801561051a577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f556040516102da8082019082821067ffffffffffffffff831117610554579082916126dc8339039082f0801561051a5773ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000602054161760205580f35b905034611b95575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611b955761013d80820182811067ffffffffffffffff821117611b9957829161240f833903905ff08015611b8a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611b95576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d20000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015611b8a57611b61575b5073ffffffffffffffffffffffffffffffffffffffff16803b1561050b57816040517fd35ec420000000000000000000000000000000000000000000000000000000008152818160048183875af180156104eb57611b4c575b50806101fc9273ffffffffffffffffffffffffffffffffffffffff60205416908260405160208101927f69583088000000000000000000000000000000000000000000000000000000008452602482015260248152611ab7604482611dea565b51925af13d15611b47573d611acb81611e2b565b90611ad96040519283611dea565b81528360203d92013e5b60405190611af2606083611dea565b602982527f64656c656761746563616c6c2077697468206d6f6469666965722073686f756c60208301527f64207375636365656400000000000000000000000000000000000000000000006040830152612371565b611ae3565b611b57828092611dea565b610145575f611a57565b611b6e9192505f90611dea565b5f9073ffffffffffffffffffffffffffffffffffffffff6119fe565b6040513d5f823e3d90fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60206040818301928281528451809452019201905f5b818110611be95750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611bdc565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110611c755750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101611c68565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611cdf57505050505090565b9091929394602080611d1b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951611c15565b97019301930191939290611cd0565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611d5c57505050505090565b9091929394602080611dbf837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190611c58565b97019301930191939290611d4d565b6040810190811067ffffffffffffffff821117611b9957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611b9957604052565b67ffffffffffffffff8111611b9957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b67ffffffffffffffff8111611b995760051b60200190565b90604051915f8154908160011c9260018316928315611f76575b602085108414611f49578487528693908115611f095750600114611ec5575b50611ec392500383611dea565b565b90505f9291925260205f20905f915b818310611eed575050906020611ec3928201015f611eb6565b6020919350806001915483858901015201910190918492611ed4565b60209350611ec39592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f611eb6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f1693611e97565b90604051918281549182825260208201905f5260205f20925f905b80600783011061219757611ec3945491818110612161575b81811061212b575b8181106120f5575b8181106120bf575b818110612089575b818110612053575b81811061201e575b10611ff1575b500383611dea565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611fe9565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301611fe3565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301611fdb565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301611fd3565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301611fcb565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301611fc3565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301611fbb565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301611fb3565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391611f9b565b9190604083820312611b955782518015158103611b95579260208101519067ffffffffffffffff8211611b95570181601f82011215611b955780519061226982611e2b565b926122776040519485611dea565b82845260208383010111611b9557815f9260208093018386015e8301015290565b60085460ff16156122a857600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115611b8a575f9161233f575b50151590565b90506020813d602011612369575b8161235a60209383611dea565b81010312611b9557515f612339565b3d915061234d565b158061237b575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611b95576123de915f9160405193849283927fa34edc03000000000000000000000000000000000000000000000000000000008452156004840152604060248401526044830190611c15565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015611b8a576124045750565b5f611ec391611dea56fe60a0806040523460215730608052610117908161002682396080518160660152f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c63d35ec420146023575f80fd5b3460dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011260dd5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301460b55760207f92c92f88c68fad537bf0d0ade54b81ea40eff183b4669adc1dde382843528a8291338152a1005b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f80fdfea264697066735822122093902daa4a7192805599432e9259ea96623a01b9007364f0e00f74e6b5648c2664736f6c634300081e003360a080604052346021573060805261016a908161002682396080518160e40152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80635c36b1861461006b5763d35ec4201461002f575f80fd5b34610067575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610067576100656100cd565b005b5f80fd5b34610067575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610067576100a16100cd565b7ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051338152a1005b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301461010c57565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212203ae5728baaef18dacb923881e9025972d6dbb6f8719559d85f5dbff74fe053bd64736f6c634300081e0033608080604052346015576102c0908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816369583088146100e2575063e8d1bd0a14610032575f80fd5b346100de5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100de5760043573ffffffffffffffffffffffffffffffffffffffff811681036100de575f809160405160208101907f5c36b186000000000000000000000000000000000000000000000000000000008252600481526100be6024826101bf565b51915af46100ca61022d565b906100da6040519283928361016d565b0390f35b5f80fd5b346100de5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100de576004359073ffffffffffffffffffffffffffffffffffffffff821682036100de575f91816020849301907fd35ec420000000000000000000000000000000000000000000000000000000008252600481526100be6024826101bf565b90601f60206060947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093151585526040828601528051918291826040880152018686015e5f8582860101520116010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761020057604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b3d15610285573d9067ffffffffffffffff8211610200576040519161027a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846101bf565b82523d5f602084013e565b60609056fea26469706673582212207a1d3e24d2c760615416d9a38d707e1084fe8ae0a0ce1d06e2997a2e761093ba64736f6c634300081e003360a0806040523460225730608052610224908161002782396080518161019e0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c806338e6876a1461009657635c36b18614610030575f80fd5b3461009357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009357610066610187565b7ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051338152a180f35b80fd5b50346101835760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101835760043573ffffffffffffffffffffffffffffffffffffffff8116809103610183576100ef610187565b803b15610183575f80916004604051809481937f5c36b1860000000000000000000000000000000000000000000000000000000083525af1801561017857610135575080f35b905067ffffffffffffffff811161014b57604052005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040513d5f823e3d90fd5b5f80fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630146101c657565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212204edfba9cc5572eda4370e6b05e1522ff46d012c7cf13c804fb44abff5df9637264736f6c634300081e003360808060405234601557610214908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c63c06d936d14610025575f80fd5b346101995760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610199576004359073ffffffffffffffffffffffffffffffffffffffff82168203610199575f91816020849301907f5c36b186000000000000000000000000000000000000000000000000000000008252600481526100b060248261019d565b51915af43d15610190573d9067ffffffffffffffff8211610163576060906040519261010460207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116018561019d565b83523d5f602085013e5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020604051958694151585526040828601528051918291826040880152018686015e5f85828601015201168101030190f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6060809161010e565b5f80fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176101635760405256fea264697066735822122005ed76b9c4137267389d7214b641e6f01b5406c3fc2dc2385c5b8d15d0e5f12764736f6c634300081e0033a2646970667358221220a0c146c31c97b1c8b1afe150c60515f1c2954e53951aa488e1965c83487cc3f164736f6c634300081e0033","sourceMap":"2305:4272:66:-:0;;;;;;;3200:4:5;2305:4272:66;;3200:4:5;2305:4272:66;;;3200:4:5;2305:4272:66;3200:4:5;2305:4272:66;;1087:4:16;2305:4272:66;;;1087:4:16;2305:4272:66;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f905f3560e01c90816308a9ea2714611915575080630a9254e4146118015780631ed7831c146117585780632ade38801461152c5780633e5e3c23146114835780633f7286f4146113da57806366d9a9a01461127f5780637a12a470146111495780637cb7b5b514610d3c5780638445e79f14610b4257806385226c8114610a9a578063916a17c6146109c5578063b0464fdc146108f0578063b5508aa914610848578063b786767b146106a2578063ba414fa61461065f578063ba75552914610581578063d617152b146102b8578063e20c9f71146101ff578063eff34a17146101485763fa7626d414610105575f80fd5b3461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557602060ff601f54166040519015158152f35b80fd5b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576101fc73ffffffffffffffffffffffffffffffffffffffff601f5460081c161515604051906101a7606083611dea565b602382527f6775617264656420636f6e74726163742073686f756c64206265206465706c6f60208301527f79656400000000000000000000000000000000000000000000000000000000006040830152612371565b80f35b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b81811061028c576102888561027c81870382611dea565b60405191829182611bc6565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610265565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405161024b8082019082821067ffffffffffffffff831117610554579082916129b68339039082f0801561051a5760405161022e8082019082821067ffffffffffffffff831117610527579180918593612c018339039082f091821561051a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561050b576040517f491cc7c20000000000000000000000000000000000000000000000000000000081528281806103b060048201906001606060808401938281525f60208201525f60408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561050f5783916104f6575b5050602473ffffffffffffffffffffffffffffffffffffffff917ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051308152a1838360405196879586947fc06d936d000000000000000000000000000000000000000000000000000000008652166004850152165af180156104eb576101fc9183916104c8575b5060405190610473606083611dea565b602282527f6e65737465642064656c656761746563616c6c2073686f756c6420737563636560208301527f65640000000000000000000000000000000000000000000000000000000000006040830152612371565b6104e491503d8085833e6104dc8183611dea565b810190612224565b505f610463565b6040513d84823e3d90fd5b8161050091611dea565b61050b57815f6103d8565b5080fd5b6040513d85823e3d90fd5b50604051903d90823e3d90fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576040516101908082019082821067ffffffffffffffff8311176105545790829161254c8339039082f0801561051a576101fc9073ffffffffffffffffffffffffffffffffffffffff60405191610607606084611dea565b602f83527f5f53454c462073686f756c6420626520696e697469616c697a656420746f206360208401527f6f6e7472616374206164647265737300000000000000000000000000000000006040840152161515612371565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576020610698612298565b6040519015158152f35b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405190610190918281019281841067ffffffffffffffff85111761081b578293829161254c8339039082f0801561051a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610803576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d2000000000000000000000000000000000000000000000000000000006004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561050f578391610806575b505073ffffffffffffffffffffffffffffffffffffffff16803b15610803578180916004604051809481937fd35ec4200000000000000000000000000000000000000000000000000000000083525af180156104eb576107f25750f35b816107fc91611dea565b6101455780f35b50fd5b8161081091611dea565b61080357815f610795565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760195461088381611e65565b916108916040519384611dea565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b8383106108d357604051806102888782611cad565b6001602081926108e285611e7d565b8152019201920191906108be565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601c5461092b81611e65565b916109396040519384611dea565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b83831061097b57604051806102888782611d2a565b6002602060019260405161098e81611dce565b73ffffffffffffffffffffffffffffffffffffffff86541681526109b3858701611f80565b83820152815201920192019190610966565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601d54610a0081611e65565b91610a0e6040519384611dea565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b838310610a5057604051806102888782611d2a565b60026020600192604051610a6381611dce565b73ffffffffffffffffffffffffffffffffffffffff8654168152610a88858701611f80565b83820152815201920192019190610a3b565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601a54610ad581611e65565b91610ae36040519384611dea565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310610b2557604051806102888782611cad565b600160208192610b3485611e7d565b815201920192019190610b10565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561014557806040517f491cc7c2000000000000000000000000000000000000000000000000000000008152818180610bda60048201906001606060808401938281525f60208201525f60408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156104eb57610d27575b50507ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051308152a1808073ffffffffffffffffffffffffffffffffffffffff60205416602473ffffffffffffffffffffffffffffffffffffffff601f5460081c1660405194859384927fe8d1bd0a00000000000000000000000000000000000000000000000000000000845260048401525af180156104eb576101fc918391610d0c575b5060405190610cb7606083611dea565b602882527f64656c656761746563616c6c2d636f6e746578742070696e672073686f756c6460208301527f20737563636565640000000000000000000000000000000000000000000000006040830152612371565b610d2091503d8085833e6104dc8183611dea565b505f610ca7565b81610d3191611dea565b61014557805f610bff565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576040516101908082019082821067ffffffffffffffff8311176105545790829161254c8339039082f0801561051a576040516102da8082019082821067ffffffffffffffff8311176105275791809185936126dc8339039082f091821561051a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561050b576040517f491cc7c2000000000000000000000000000000000000000000000000000000008152828180610e3460048201906001606060808401938281525f60208201525f60408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561050f578391611134575b50507ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051308152a1818073ffffffffffffffffffffffffffffffffffffffff60205416602473ffffffffffffffffffffffffffffffffffffffff601f5460081c1660405194859384927fe8d1bd0a00000000000000000000000000000000000000000000000000000000845260048401525af1801561050f57610f69918491611119575b5060405190610f14606083611dea565b603282527f6669727374206775617264656420636f6e74726163742064656c65676174656360208301527f616c6c2073686f756c64207375636365656400000000000000000000000000006040830152612371565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561050b576040517f491cc7c2000000000000000000000000000000000000000000000000000000008152828180610fd160048201906001606060808401938281525f60208201525f60408201520152565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af190811561050f578391611104575b5050602473ffffffffffffffffffffffffffffffffffffffff917ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051308152a1838360405196879586947fe8d1bd0a000000000000000000000000000000000000000000000000000000008652166004850152165af180156104eb576101fc9183916110e9575b5060405190611094606083611dea565b603382527f7365636f6e64206775617264656420636f6e74726163742064656c656761746560208301527f63616c6c2073686f756c642073756363656564000000000000000000000000006040830152612371565b6110fd91503d8085833e6104dc8183611dea565b505f611084565b8161110e91611dea565b61050b57815f610ff9565b61112d91503d8086833e6104dc8183611dea565b505f610f04565b8161113e91611dea565b61050b57815f610e5c565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561014557806040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d2000000000000000000000000000000000000000000000000000000006004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156104eb5761126a575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610803578180916004604051809481937f5c36b1860000000000000000000000000000000000000000000000000000000083525af180156104eb576107f25750f35b8161127491611dea565b61014557805f611208565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601b546112ba81611e65565b6112c76040519182611dea565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b83831061139f57868587604051928392602084019060208552518091526040840160408260051b8601019392905b82821061133457505050500390f35b9193602061138f827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060019597998495030186528851908361137f8351604084526040840190611c15565b9201519084818403910152611c58565b9601920192018594939192611325565b600260206001926040516113b281611dce565b6113bb86611e7d565b81526113c8858701611f80565b838201528152019201920191906112f7565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405180916020601754928381520191601782527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15915b818110611457576102888561027c81870382611dea565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201611440565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405180916020601854928381520191601882527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e915b818110611500576102888561027c81870382611dea565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016114e9565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014557601e5461156781611e65565b6115746040519182611dea565b818152601e83526020810191837f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350845b8383106116c25786858760405192839260208401906020855251809152604084019160408260051b8601019392815b8383106115e05786860387f35b9193957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09086929496030183528551906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b850101940192855b828110611679575050505050602080600192970193019301909286959492936115d3565b90919293946020806116b5837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951611c15565b9701950193929101611655565b6040516116ce81611dce565b73ffffffffffffffffffffffffffffffffffffffff83541681526001830180546116f781611e65565b916117056040519384611dea565b8183528a526020808b20908b9084015b83821061173b5750505050600192826020928360029501528152019201920191906115a4565b60016020819261174a86611e7d565b815201930191019091611715565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101455760405180916020601654928381520191601682527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289915b8181106117d5576102888561027c81870382611dea565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016117be565b503461014557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610145576040516101908082019082821067ffffffffffffffff8311176105545790829161254c8339039082f0801561051a577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f556040516102da8082019082821067ffffffffffffffff831117610554579082916126dc8339039082f0801561051a5773ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff0000000000000000000000000000000000000000602054161760205580f35b905034611b95575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611b955761013d80820182811067ffffffffffffffff821117611b9957829161240f833903905ff08015611b8a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611b95576040517fc31eb0e00000000000000000000000000000000000000000000000000000000081527f4f0898d20000000000000000000000000000000000000000000000000000000060048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015611b8a57611b61575b5073ffffffffffffffffffffffffffffffffffffffff16803b1561050b57816040517fd35ec420000000000000000000000000000000000000000000000000000000008152818160048183875af180156104eb57611b4c575b50806101fc9273ffffffffffffffffffffffffffffffffffffffff60205416908260405160208101927f69583088000000000000000000000000000000000000000000000000000000008452602482015260248152611ab7604482611dea565b51925af13d15611b47573d611acb81611e2b565b90611ad96040519283611dea565b81528360203d92013e5b60405190611af2606083611dea565b602982527f64656c656761746563616c6c2077697468206d6f6469666965722073686f756c60208301527f64207375636365656400000000000000000000000000000000000000000000006040830152612371565b611ae3565b611b57828092611dea565b610145575f611a57565b611b6e9192505f90611dea565b5f9073ffffffffffffffffffffffffffffffffffffffff6119fe565b6040513d5f823e3d90fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60206040818301928281528451809452019201905f5b818110611be95750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611bdc565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110611c755750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101611c68565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611cdf57505050505090565b9091929394602080611d1b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951611c15565b97019301930191939290611cd0565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611d5c57505050505090565b9091929394602080611dbf837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190611c58565b97019301930191939290611d4d565b6040810190811067ffffffffffffffff821117611b9957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611b9957604052565b67ffffffffffffffff8111611b9957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b67ffffffffffffffff8111611b995760051b60200190565b90604051915f8154908160011c9260018316928315611f76575b602085108414611f49578487528693908115611f095750600114611ec5575b50611ec392500383611dea565b565b90505f9291925260205f20905f915b818310611eed575050906020611ec3928201015f611eb6565b6020919350806001915483858901015201910190918492611ed4565b60209350611ec39592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f611eb6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f1693611e97565b90604051918281549182825260208201905f5260205f20925f905b80600783011061219757611ec3945491818110612161575b81811061212b575b8181106120f5575b8181106120bf575b818110612089575b818110612053575b81811061201e575b10611ff1575b500383611dea565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611fe9565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301611fe3565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301611fdb565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301611fd3565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301611fcb565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301611fc3565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301611fbb565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301611fb3565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391611f9b565b9190604083820312611b955782518015158103611b95579260208101519067ffffffffffffffff8211611b95570181601f82011215611b955780519061226982611e2b565b926122776040519485611dea565b82845260208383010111611b9557815f9260208093018386015e8301015290565b60085460ff16156122a857600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115611b8a575f9161233f575b50151590565b90506020813d602011612369575b8161235a60209383611dea565b81010312611b9557515f612339565b3d915061234d565b158061237b575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611b95576123de915f9160405193849283927fa34edc03000000000000000000000000000000000000000000000000000000008452156004840152604060248401526044830190611c15565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015611b8a576124045750565b5f611ec391611dea56fe60a0806040523460215730608052610117908161002682396080518160660152f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c63d35ec420146023575f80fd5b3460dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011260dd5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301460b55760207f92c92f88c68fad537bf0d0ade54b81ea40eff183b4669adc1dde382843528a8291338152a1005b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f80fdfea264697066735822122093902daa4a7192805599432e9259ea96623a01b9007364f0e00f74e6b5648c2664736f6c634300081e003360a080604052346021573060805261016a908161002682396080518160e40152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80635c36b1861461006b5763d35ec4201461002f575f80fd5b34610067575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610067576100656100cd565b005b5f80fd5b34610067575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610067576100a16100cd565b7ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051338152a1005b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301461010c57565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212203ae5728baaef18dacb923881e9025972d6dbb6f8719559d85f5dbff74fe053bd64736f6c634300081e0033608080604052346015576102c0908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816369583088146100e2575063e8d1bd0a14610032575f80fd5b346100de5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100de5760043573ffffffffffffffffffffffffffffffffffffffff811681036100de575f809160405160208101907f5c36b186000000000000000000000000000000000000000000000000000000008252600481526100be6024826101bf565b51915af46100ca61022d565b906100da6040519283928361016d565b0390f35b5f80fd5b346100de5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100de576004359073ffffffffffffffffffffffffffffffffffffffff821682036100de575f91816020849301907fd35ec420000000000000000000000000000000000000000000000000000000008252600481526100be6024826101bf565b90601f60206060947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093151585526040828601528051918291826040880152018686015e5f8582860101520116010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761020057604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b3d15610285573d9067ffffffffffffffff8211610200576040519161027a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846101bf565b82523d5f602084013e565b60609056fea26469706673582212207a1d3e24d2c760615416d9a38d707e1084fe8ae0a0ce1d06e2997a2e761093ba64736f6c634300081e003360a0806040523460225730608052610224908161002782396080518161019e0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c806338e6876a1461009657635c36b18614610030575f80fd5b3461009357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009357610066610187565b7ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051338152a180f35b80fd5b50346101835760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101835760043573ffffffffffffffffffffffffffffffffffffffff8116809103610183576100ef610187565b803b15610183575f80916004604051809481937f5c36b1860000000000000000000000000000000000000000000000000000000083525af1801561017857610135575080f35b905067ffffffffffffffff811161014b57604052005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040513d5f823e3d90fd5b5f80fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630146101c657565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212204edfba9cc5572eda4370e6b05e1522ff46d012c7cf13c804fb44abff5df9637264736f6c634300081e003360808060405234601557610214908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c63c06d936d14610025575f80fd5b346101995760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610199576004359073ffffffffffffffffffffffffffffffffffffffff82168203610199575f91816020849301907f5c36b186000000000000000000000000000000000000000000000000000000008252600481526100b060248261019d565b51915af43d15610190573d9067ffffffffffffffff8211610163576060906040519261010460207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116018561019d565b83523d5f602085013e5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020604051958694151585526040828601528051918291826040880152018686015e5f85828601015201168101030190f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6060809161010e565b5f80fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176101635760405256fea264697066735822122005ed76b9c4137267389d7214b641e6f01b5406c3fc2dc2385c5b8d15d0e5f12764736f6c634300081e0033a2646970667358221220a0c146c31c97b1c8b1afe150c60515f1c2954e53951aa488e1965c83487cc3f164736f6c634300081e0033","sourceMap":"2305:4272:66:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1065:26:16;2305:4272:66;;;;;;;;;;;;;;;;;;;;;;;;;3722:81;2305:4272;3741:7;2305:4272;;;;3733:30;;2305:4272;;2030:14:2;;;;;:::i;:::-;2305:4272:66;2030:14:2;;2305:4272:66;2030:14:2;2305:4272:66;;;;;;;;3722:81;:::i;:::-;2305:4272;;;;;;;;;;;;;;;;;;;2723:18:9;2305:4272:66;;;;;;;2723:18:9;2305:4272:66;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5286:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;2305:4272;;5347:20;;;;;;;;5286:23;5347:20;;;;;;;;;;;;;;;;;;;;;;336:42:2;5378:39:66;;;;2305:4272;;2030:14:2;5378:39:66;;;;;;2305:4272;5378:39;;2305:4272;4698:4;2305:4272;;;;;;;;;;;;;;;;;;;;;5378:39;;;;336:42:2;5378:39:66;;;;;;;;;;;2305:4272;;;5486:42;2305:4272;;5432:31;2030:14:2;2305:4272:66;;5457:4;2305:4272;;5432:31;2305:4272;;;;5486:42;;;;;2030:14:2;5486:42:66;;2305:4272;;5486:42;;2305:4272;;5486:42;;;;;;5538:52;5486:42;;;;;2305:4272;2030:14:2;2305:4272:66;;2030:14:2;;;;;:::i;:::-;2305:4272:66;2030:14:2;;2305:4272:66;2030:14:2;2305:4272:66;;;;;;;;5538:52;:::i;5486:42::-;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;2305:4272;;;;;;;;;5378:39;;;;;:::i;:::-;2305:4272;;5378:39;;;;2305:4272;;;;5378:39;2305:4272;;;;;;;;;5347:20;2305:4272;;;;;;;;;;;5347:20;2305:4272;;;;;;;;;5286:23;2305:4272;;;;;;;;;;;;;;;;;;;;;;;5831:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;6037:95;2030:14:2;2305:4272:66;;;2030:14:2;;;;;:::i;:::-;2305:4272:66;2030:14:2;;2305:4272:66;2030:14:2;2305:4272:66;;;;;;;;;6048:32;;6037:95;:::i;2305:4272::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6234:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:2;6344:59:66;;;;2305:4272;;2030:14:2;6344:59:66;;6360:42;2305:4272;6344:59;;2305:4272;6344:59;;;;;336:42:2;6344:59:66;;;;;;;;;;;2305:4272;;;;;6413:27;;;;;2305:4272;;;;;;6413:27;;;;2030:14:2;6413:27:66;;;;;;;;;;2305:4272;;6413:27;;;;;:::i;:::-;2305:4272;;6413:27;2305:4272;6413:27;2305:4272;;6344:59;;;;;:::i;:::-;2305:4272;;6344:59;;;;6234:17;2305:4272;;;;;;;;;;;;;;;;;;;;;2575:18:9;2305:4272:66;;;;:::i;:::-;;2030:14:2;2305:4272:66;;2030:14:2;;;:::i;:::-;2305:4272:66;;;2575:18:9;2305:4272:66;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2876:18:9;2305:4272:66;;;;:::i;:::-;;2030:14:2;2305:4272:66;;2030:14:2;;;:::i;:::-;2305:4272:66;;;2876:18:9;2305:4272:66;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2030:14:2;;;:::i;:::-;2305:4272:66;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3653:18:9;2305:4272:66;;;;:::i;:::-;;2030:14:2;2305:4272:66;;2030:14:2;;;:::i;:::-;2305:4272:66;;;3653:18:9;2305:4272:66;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2030:14:2;;;:::i;:::-;2305:4272:66;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3162:18:9;2305:4272:66;;;;:::i;:::-;;2030:14:2;2305:4272:66;;2030:14:2;;;:::i;:::-;2305:4272:66;;;3162:18:9;2305:4272:66;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;336:42:2;3305:39:66;;;;2305:4272;;;2030:14:2;3305:39:66;;;;;;2305:4272;3305:39;;2305:4272;4698:4;2305:4272;;;;;;;;;;;;;;;;;;;;;3305:39;;;;336:42:2;3305:39:66;;;;;;;;2305:4272;;;3359:31;2030:14:2;2305:4272:66;;3384:4;2305:4272;;3359:31;2030:14:2;;2305:4272:66;2030:14:2;;2305:4272:66;3413:31;2305:4272;3435:7;2305:4272;;;;;;3413:31;;;;;2030:14:2;3413:31:66;;2305:4272;3413:31;;2305:4272;3413:31;;;;;;3454:58;3413:31;;;;;2305:4272;2030:14:2;2305:4272:66;;2030:14:2;;;;;:::i;:::-;2305:4272:66;2030:14:2;;2305:4272:66;2030:14:2;2305:4272:66;;;;;;;;3454:58;:::i;3413:31::-;;;;;;;;;;;;;:::i;:::-;;;;;3305:39;;;;;:::i;:::-;2305:4272;;3305:39;;;;2305:4272;;;;;;;;;;;;;;4573:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;2305:4272;;4617:14;;;;;;;;4573:17;4617:14;;;;;;;;;;;;;;;;;;;;;;336:42:2;4684:39:66;;;;2305:4272;;2030:14:2;4684:39:66;;;;;;2305:4272;4684:39;;2305:4272;4698:4;2305:4272;;;;;;;;;;;;;;;;;;;;;4684:39;;;;336:42:2;4684:39:66;;;;;;;;;;;2305:4272;;;4738:31;2030:14:2;2305:4272:66;;4763:4;2305:4272;;4738:31;2030:14:2;;2305:4272:66;2030:14:2;;2305:4272:66;4793:31;2305:4272;4815:7;2305:4272;;;;;;4793:31;;;;;2030:14:2;4793:31:66;;2305:4272;4793:31;;2305:4272;4793:31;;;;;;4834:69;4793:31;;;;;2305:4272;2030:14:2;2305:4272:66;;2030:14:2;;;;;:::i;:::-;2305:4272:66;2030:14:2;;2305:4272:66;2030:14:2;2305:4272:66;;;;;;;;4834:69;:::i;:::-;336:42:2;4914:39:66;;;;2305:4272;;2030:14:2;4914:39:66;;;;;;2305:4272;4914:39;;2305:4272;4698:4;2305:4272;;;;;;;;;;;;;;;;;;;;;4914:39;;;;336:42:2;4914:39:66;;;;;;;;;;;2305:4272;;;4793:31;2305:4272;;4738:31;2030:14:2;2305:4272:66;;4763:4;2305:4272;;4968:31;2305:4272;;;;5023:33;;;;;2030:14:2;5023:33:66;;2305:4272;;5023:33;;2305:4272;;5023:33;;;;;;5066:70;5023:33;;;;;2305:4272;2030:14:2;2305:4272:66;;2030:14:2;;;;;:::i;:::-;2305:4272:66;2030:14:2;;2305:4272:66;2030:14:2;2305:4272:66;;;;;;;;5066:70;:::i;5023:33::-;;;;;;;;;;;;;:::i;:::-;;;;;4914:39;;;;;:::i;:::-;2305:4272;;4914:39;;;;4793:31;;;;;;;;;;;;;:::i;:::-;;;;;4684:39;;;;;:::i;:::-;2305:4272;;4684:39;;;;2305:4272;;;;;;;;;;;;336:42:2;3146:59:66;;;;2305:4272;;;2030:14:2;3146:59:66;;3162:42;2305:4272;3146:59;;2305:4272;3146:59;;;;;336:42:2;3146:59:66;;;;;;;;2305:4272;;;3215:7;2305:4272;;;;3215:14;;;;;2305:4272;;;;;;3215:14;;;;2030::2;3215::66;;;;;;;;;;2305:4272;;3146:59;;;;;:::i;:::-;2305:4272;;3146:59;;;;2305:4272;;;;;;;;;;;;3346:26:9;2305:4272:66;;;;:::i;:::-;2030:14:2;2305:4272:66;;2030:14:2;;;:::i;:::-;2305:4272:66;;;3346:26:9;2305:4272:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2030:14:2;;;:::i;:::-;2305:4272:66;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:18:9;2305:4272:66;;;;;;;3501:18:9;2305:4272:66;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3794:16:9;2305:4272:66;;;;;;;3794:16:9;2305:4272:66;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3948:19:9;2305:4272:66;;;;:::i;:::-;2030:14:2;2305:4272:66;;2030:14:2;;;:::i;:::-;2305:4272:66;;;3948:19:9;2305:4272:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;2030:14:2;;;:::i;:::-;2305:4272:66;;;;;;;;;;;;;;:::i;:::-;;2030:14:2;2305:4272:66;;2030:14:2;;;:::i;:::-;2305:4272:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3018:16:9;2305:4272:66;;;;;;;3018:16:9;2305:4272:66;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2832:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;2305:4272;;2822:27;2305:4272;;;;;;;;2822:27;2305:4272;;;2866:14;;;;;;;;2832:17;2866:14;;;;;;;;;;;;;;;;;;;2305:4272;;;2859:21;2305:4272;;;2859:21;2305:4272;;;;;;;;;;;;;;;;3991:29;;;;;;;;;;;;;;;;;;;;2305:4272;3991:29;;;;;336:42:2;4068:59:66;;;;2305:4272;;2030:14:2;4068:59:66;;4084:42;2305:4272;4068:59;;2305:4272;;4068:59;;;;336:42:2;4068:59:66;;;;;;;;2305:4272;;;;4137:30;;;;;2305:4272;;;2030:14:2;4137:30:66;;;;2305:4272;4137:30;;;;;;;;;;;2305:4272;2030:14:2;;4357:59:66;2030:14:2;2305:4272:66;2030:14:2;;2305:4272:66;;;;;2030:14:2;4262:84:66;;;4285:37;4262:84;;4068:59;4262:84;;2305:4272;4068:59;4262:84;;;;;;:::i;:::-;4243:104;;;;2030:14:2;;;;;;;;:::i;:::-;2305:4272:66;2030:14:2;2305:4272:66;;2030:14:2;;;:::i;:::-;;;;;;;;;;2305:4272:66;;2030:14:2;;;;;:::i;:::-;;;;;;;;;;2305:4272:66;2030:14:2;;;4357:59:66;:::i;2030:14:2:-;;;4137:30:66;;;;;;:::i;:::-;2305:4272;;4137:30;;;4068:59;;;;;2305:4272;4068:59;;:::i;:::-;2305:4272;;;4068:59;;;2305:4272;;;;;;;;;4068:59;2305:4272;;;3991:29;2305:4272;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2305:4272:66;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;2305:4272:66;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2030:14:2;2305:4272:66;2030:14:2;;;;;;;;;;;2305:4272:66;2030:14:2;:::o;:::-;;2305:4272:66;;2030:14:2;2305:4272:66;;2030:14:2;;;;;;;;;;;;;:::o;:::-;;;;;;2305:4272:66;;;;2030:14:2;;;:::o;2305:4272:66:-;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;2305:4272:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;-1:-1:-1;2305:4272:66;;;;;-1:-1:-1;2305:4272:66;;-1:-1:-1;2305:4272:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2305:4272:66;;;;;-1:-1:-1;2305:4272:66;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2305:4272:66;;-1:-1:-1;2305:4272:66;;-1:-1:-1;2305:4272:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2030:14:2;2305:4272:66;;;;;;;;2030:14:2;2305:4272:66;;2030:14:2;2305:4272:66;2030:14:2;;;;2305:4272:66;;;;;;;;2030:14:2;2305:4272:66;;2030:14:2;2305:4272:66;2030:14:2;2305:4272:66;2030:14:2;;2305:4272:66;;;;;;;;2030:14:2;2305:4272:66;;2030:14:2;2305:4272:66;2030:14:2;2305:4272:66;2030:14:2;;2305:4272:66;;;;;;;;2030:14:2;2305:4272:66;;2030:14:2;2305:4272:66;2030:14:2;2305:4272:66;2030:14:2;;2305:4272:66;;;;;;;;2030:14:2;2305:4272:66;;2030:14:2;2305:4272:66;2030:14:2;2305:4272:66;2030:14:2;;2305:4272:66;;;;;;;;2030:14:2;2305:4272:66;;2030:14:2;2305:4272:66;2030:14:2;2305:4272:66;2030:14:2;;2305:4272:66;;;;;;;;2030:14:2;2305:4272:66;;2030:14:2;2305:4272:66;2030:14:2;;;2305:4272:66;;;;;;;;;;;;;;;;;;;;2030:14:2;;;;2305:4272:66;;;2030:14:2;;2305:4272:66;2030:14:2;;2305:4272:66;;;;2030:14:2;;2305:4272:66;2030:14:2;;2305:4272:66;;;;2030:14:2;;2305:4272:66;2030:14:2;;2305:4272:66;;;;2030:14:2;;2305:4272:66;2030:14:2;;2305:4272:66;;;;2030:14:2;;2305:4272:66;2030:14:2;;2305:4272:66;;;;2030:14:2;;2305:4272:66;2030:14:2;;2305:4272:66;;;;2030:14:2;;2305:4272:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2030:14:2;2305:4272:66;;2030:14:2;;;:::i;:::-;2305:4272:66;;;;;;;;;;;;-1:-1:-1;2305:4272:66;;;;;;;;;;;;;;:::o;1306:195:4:-;1365:7;2305:4272:66;;;;;;1395:4:4;1388:11;:::o;1361:134::-;2305:4272:66;;2030:14:2;1437:33:4;;2305:4272:66;1437:33:4;;;2305:4272:66;192:59:4;1255:17;;;;;1437:33;;;2305:4272:66;1437:33:4;;;;;;;2305:4272:66;1437:33:4;;;1361:134;1437:47;;;1430:54;:::o;1437:33::-;;;1255:17;1437:33;;1255:17;1437:33;;;;;;1255:17;1437:33;;;:::i;:::-;;;1255:17;;;;;1437:33;;;;;;-1:-1:-1;1437:33:4;;1894:148;1980:5;1976:60;;;1894:148;;:::o;1976:60::-;2305:4272:66;2001:24:4;;;;2305:4272:66;;-1:-1:-1;2305:4272:66;;;2001:24:4;;;;;2030:14:2;2001:24:4;;2305:4272:66;2001:24:4;;;2305:4272:66;;;;;;;;;;;:::i;:::-;2001:24:4;;2305:4272:66;2001:24:4;;;;;;;;1894:148;:::o;2001:24::-;-1:-1:-1;2001:24:4;;;:::i","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testOnlyDelegatecallInternalFunction()":"b786767b","testSelfImmutableVariable()":"ba755529","test_delegatecall_context_succeeds()":"8445e79f","test_delegatecall_nested_context()":"d617152b","test_direct_call_reverts_NotDelegateCall()":"7a12a470","test_multiple_delegatecall_guards()":"7cb7b5b5","test_onlyDelegatecall_modifier_usage()":"08a9ea27","test_self_address_immutable()":"eff34a17"}}},"MockGuarded":{"abi":[{"type":"function","name":"guardedFunction","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ping","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Ping","inputs":[{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"NotDelegateCall","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"NotDelegateCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Ping\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"guardedFunction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ping\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Minimal contract using DelegatecallGuard\",\"errors\":{\"NotDelegateCall()\":[{\"details\":\"Error thrown when a function expected to be delegatecalled is invoked directly\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/guards/DelegatecallGuard.t.sol\":\"MockGuarded\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"test/guards/DelegatecallGuard.t.sol\":{\"keccak256\":\"0x4f76a8a904f8a46944cb3a7b807e87900eeeaa9eb1918a52ebe616db8f405367\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c16f3ace9ee3ec90f88cecf23060a015646378a0b18151e0680942c2da73d679\",\"dweb:/ipfs/QmQ87Vm9bZwfSHoJD7RHoGaFvRE46NwiquPsE2L9zSAip9\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60a080604052346021573060805261016a908161002682396080518160e40152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80635c36b1861461006b5763d35ec4201461002f575f80fd5b34610067575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610067576100656100cd565b005b5f80fd5b34610067575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610067576100a16100cd565b7ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051338152a1005b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301461010c57565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212203ae5728baaef18dacb923881e9025972d6dbb6f8719559d85f5dbff74fe053bd64736f6c634300081e0033","sourceMap":"399:287:66:-:0;;;;;;;784:4:57;776:13;;399:287:66;;;;;;776:13:57;399:287:66;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c80635c36b1861461006b5763d35ec4201461002f575f80fd5b34610067575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610067576100656100cd565b005b5f80fd5b34610067575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610067576100a16100cd565b7ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051338152a1005b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301461010c57565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212203ae5728baaef18dacb923881e9025972d6dbb6f8719559d85f5dbff74fe053bd64736f6c634300081e0033","sourceMap":"399:287:66:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1057:75:57;;:::i;:::-;399:287:66;;;;;;;;;;;;;;;;1057:75:57;;:::i;:::-;537:16:66;399:287;;;542:10;399:287;;537:16;399:287;1386:112:57;399:287:66;1460:5:57;399:287:66;1451:4:57;1443:22;1439:52;;1386:112::o;1439:52::-;1474:17;;;;;","linkReferences":{},"immutableReferences":{"51119":[{"start":228,"length":32}]}},"methodIdentifiers":{"guardedFunction()":"d35ec420","ping()":"5c36b186"}}},"MockGuardedModifierTest":{"abi":[{"type":"function","name":"guardedFunction","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ModifierTest","inputs":[{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"NotDelegateCall","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"NotDelegateCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ModifierTest\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"guardedFunction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract that tests the onlyDelegatecall modifier\",\"errors\":{\"NotDelegateCall()\":[{\"details\":\"Error thrown when a function expected to be delegatecalled is invoked directly\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/guards/DelegatecallGuard.t.sol\":\"MockGuardedModifierTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"test/guards/DelegatecallGuard.t.sol\":{\"keccak256\":\"0x4f76a8a904f8a46944cb3a7b807e87900eeeaa9eb1918a52ebe616db8f405367\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c16f3ace9ee3ec90f88cecf23060a015646378a0b18151e0680942c2da73d679\",\"dweb:/ipfs/QmQ87Vm9bZwfSHoJD7RHoGaFvRE46NwiquPsE2L9zSAip9\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60a0806040523460215730608052610117908161002682396080518160660152f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c63d35ec420146023575f80fd5b3460dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011260dd5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301460b55760207f92c92f88c68fad537bf0d0ade54b81ea40eff183b4669adc1dde382843528a8291338152a1005b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f80fdfea264697066735822122093902daa4a7192805599432e9259ea96623a01b9007364f0e00f74e6b5648c2664736f6c634300081e0033","sourceMap":"1211:202:66:-:0;;;;;;;784:4:57;776:13;;1211:202:66;;;;;;776:13:57;1211:202:66;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60808060405260043610156011575f80fd5b5f3560e01c63d35ec420146023575f80fd5b3460dd575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011260dd5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301460b55760207f92c92f88c68fad537bf0d0ade54b81ea40eff183b4669adc1dde382843528a8291338152a1005b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f80fdfea264697066735822122093902daa4a7192805599432e9259ea96623a01b9007364f0e00f74e6b5648c2664736f6c634300081e0033","sourceMap":"1211:202:66:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1460:5:57;1211:202:66;1451:4:57;1443:22;1439:52;;1211:202:66;1380:24;1393:10;;1211:202;;1380:24;1211:202;1439:52:57;1474:17;1211:202:66;1474:17:57;1211:202:66;;1474:17:57;1211:202:66;;;","linkReferences":{},"immutableReferences":{"51119":[{"start":102,"length":32}]}},"methodIdentifiers":{"guardedFunction()":"d35ec420"}}},"MockHost":{"abi":[{"type":"function","name":"callGuardedFunction","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"ok","type":"bool","internalType":"bool"},{"name":"ret","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"callPing","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"ok","type":"bool","internalType":"bool"},{"name":"ret","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"callGuardedFunction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"ok\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"ret\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"callPing\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"ok\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"ret\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Host that can delegatecall into a target\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/guards/DelegatecallGuard.t.sol\":\"MockHost\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"test/guards/DelegatecallGuard.t.sol\":{\"keccak256\":\"0x4f76a8a904f8a46944cb3a7b807e87900eeeaa9eb1918a52ebe616db8f405367\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c16f3ace9ee3ec90f88cecf23060a015646378a0b18151e0680942c2da73d679\",\"dweb:/ipfs/QmQ87Vm9bZwfSHoJD7RHoGaFvRE46NwiquPsE2L9zSAip9\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346015576102c0908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816369583088146100e2575063e8d1bd0a14610032575f80fd5b346100de5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100de5760043573ffffffffffffffffffffffffffffffffffffffff811681036100de575f809160405160208101907f5c36b186000000000000000000000000000000000000000000000000000000008252600481526100be6024826101bf565b51915af46100ca61022d565b906100da6040519283928361016d565b0390f35b5f80fd5b346100de5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100de576004359073ffffffffffffffffffffffffffffffffffffffff821682036100de575f91816020849301907fd35ec420000000000000000000000000000000000000000000000000000000008252600481526100be6024826101bf565b90601f60206060947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093151585526040828601528051918291826040880152018686015e5f8582860101520116010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761020057604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b3d15610285573d9067ffffffffffffffff8211610200576040519161027a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846101bf565b82523d5f602084013e565b60609056fea26469706673582212207a1d3e24d2c760615416d9a38d707e1084fe8ae0a0ce1d06e2997a2e761093ba64736f6c634300081e0033","sourceMap":"738:412:66:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c90816369583088146100e2575063e8d1bd0a14610032575f80fd5b346100de5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100de5760043573ffffffffffffffffffffffffffffffffffffffff811681036100de575f809160405160208101907f5c36b186000000000000000000000000000000000000000000000000000000008252600481526100be6024826101bf565b51915af46100ca61022d565b906100da6040519283928361016d565b0390f35b5f80fd5b346100de5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100de576004359073ffffffffffffffffffffffffffffffffffffffff821682036100de575f91816020849301907fd35ec420000000000000000000000000000000000000000000000000000000008252600481526100be6024826101bf565b90601f60206060947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093151585526040828601528051918291826040880152018686015e5f8582860101520116010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761020057604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b3d15610285573d9067ffffffffffffffff8211610200576040519161027a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846101bf565b82523d5f602084013e565b60609056fea26469706673582212207a1d3e24d2c760615416d9a38d707e1084fe8ae0a0ce1d06e2997a2e761093ba64736f6c634300081e0033","sourceMap":"738:412:66:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;878:49;;;901:25;878:49;;738:412;878:49;;;;;;:::i;:::-;858:70;;;;;;:::i;:::-;738:412;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1068:72;;738:412;1068:72;;;;1091:48;1068:72;;738:412;1068:72;;;;;;:::i;738:412::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;738:412:66;;;;;-1:-1:-1;738:412:66;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;738:412:66;;;;:::o;:::-;;;:::o","linkReferences":{}},"methodIdentifiers":{"callGuardedFunction(address)":"69583088","callPing(address)":"e8d1bd0a"}}},"MockNestedGuarded":{"abi":[{"type":"function","name":"callOther","inputs":[{"name":"other","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ping","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Ping","inputs":[{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"NotDelegateCall","inputs":[]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"NotDelegateCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Ping\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"other\",\"type\":\"address\"}],\"name\":\"callOther\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ping\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract that tests the nested delegatecall context\",\"errors\":{\"NotDelegateCall()\":[{\"details\":\"Error thrown when a function expected to be delegatecalled is invoked directly\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/guards/DelegatecallGuard.t.sol\":\"MockNestedGuarded\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"test/guards/DelegatecallGuard.t.sol\":{\"keccak256\":\"0x4f76a8a904f8a46944cb3a7b807e87900eeeaa9eb1918a52ebe616db8f405367\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c16f3ace9ee3ec90f88cecf23060a015646378a0b18151e0680942c2da73d679\",\"dweb:/ipfs/QmQ87Vm9bZwfSHoJD7RHoGaFvRE46NwiquPsE2L9zSAip9\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60a0806040523460225730608052610224908161002782396080518161019e0152f35b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c806338e6876a1461009657635c36b18614610030575f80fd5b3461009357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009357610066610187565b7ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051338152a180f35b80fd5b50346101835760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101835760043573ffffffffffffffffffffffffffffffffffffffff8116809103610183576100ef610187565b803b15610183575f80916004604051809481937f5c36b1860000000000000000000000000000000000000000000000000000000083525af1801561017857610135575080f35b905067ffffffffffffffff811161014b57604052005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040513d5f823e3d90fd5b5f80fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630146101c657565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212204edfba9cc5572eda4370e6b05e1522ff46d012c7cf13c804fb44abff5df9637264736f6c634300081e0033","sourceMap":"1476:277:66:-:0;;;;;;;784:4:57;776:13;;1476:277:66;;;;;;776:13:57;1476:277:66;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f5f3560e01c806338e6876a1461009657635c36b18614610030575f80fd5b3461009357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009357610066610187565b7ffee8775ba9b0f00b87db291c081d99de518bdebb6ccfa2482cc5882fe69307e56020604051338152a180f35b80fd5b50346101835760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101835760043573ffffffffffffffffffffffffffffffffffffffff8116809103610183576100ef610187565b803b15610183575f80916004604051809481937f5c36b1860000000000000000000000000000000000000000000000000000000083525af1801561017857610135575080f35b905067ffffffffffffffff811161014b57604052005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040513d5f823e3d90fd5b5f80fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630146101c657565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212204edfba9cc5572eda4370e6b05e1522ff46d012c7cf13c804fb44abff5df9637264736f6c634300081e0033","sourceMap":"1476:277:66:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1057:75:57;;:::i;:::-;1620:16:66;1476:277;;;1625:10;1476:277;;1620:16;1476:277;;;;;;;;;;;;;;;;;;;;;;;;;;;1057:75:57;;:::i;:::-;1719:25:66;;;;;1476:277;;;;;;1719:25;;;;1476:277;1719:25;;;;;;;;;;1476:277;;;1719:25;1476:277;;;;;;;;;;;;;;;;;;;;1719:25;1476:277;;;;;;;;;1719:25;1476:277;;;1386:112:57;1476:277:66;1460:5:57;1476:277:66;1451:4:57;1443:22;1439:52;;1386:112::o;1439:52::-;1474:17;;;;;","linkReferences":{},"immutableReferences":{"51119":[{"start":414,"length":32}]}},"methodIdentifiers":{"callOther(address)":"38e6876a","ping()":"5c36b186"}}},"MockNestedHost":{"abi":[{"type":"function","name":"callNestedPing","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"ok","type":"bool","internalType":"bool"},{"name":"ret","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"callNestedPing\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"ok\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"ret\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Host that can delegatecall into a target\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/guards/DelegatecallGuard.t.sol\":\"MockNestedHost\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"test/guards/DelegatecallGuard.t.sol\":{\"keccak256\":\"0x4f76a8a904f8a46944cb3a7b807e87900eeeaa9eb1918a52ebe616db8f405367\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c16f3ace9ee3ec90f88cecf23060a015646378a0b18151e0680942c2da73d679\",\"dweb:/ipfs/QmQ87Vm9bZwfSHoJD7RHoGaFvRE46NwiquPsE2L9zSAip9\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234601557610214908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c63c06d936d14610025575f80fd5b346101995760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610199576004359073ffffffffffffffffffffffffffffffffffffffff82168203610199575f91816020849301907f5c36b186000000000000000000000000000000000000000000000000000000008252600481526100b060248261019d565b51915af43d15610190573d9067ffffffffffffffff8211610163576060906040519261010460207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116018561019d565b83523d5f602085013e5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020604051958694151585526040828601528051918291826040880152018686015e5f85828601015201168101030190f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6060809161010e565b5f80fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176101635760405256fea264697066735822122005ed76b9c4137267389d7214b641e6f01b5406c3fc2dc2385c5b8d15d0e5f12764736f6c634300081e0033","sourceMap":"1805:318:66:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c63c06d936d14610025575f80fd5b346101995760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610199576004359073ffffffffffffffffffffffffffffffffffffffff82168203610199575f91816020849301907f5c36b186000000000000000000000000000000000000000000000000000000008252600481526100b060248261019d565b51915af43d15610190573d9067ffffffffffffffff8211610163576060906040519261010460207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116018561019d565b83523d5f602085013e5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020604051958694151585526040828601528051918291826040880152018686015e5f85828601015201168101030190f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6060809161010e565b5f80fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176101635760405256fea264697066735822122005ed76b9c4137267389d7214b641e6f01b5406c3fc2dc2385c5b8d15d0e5f12764736f6c634300081e0033","sourceMap":"1805:318:66:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2058:55;;1805:318;2058:55;;;;2081:31;2058:55;;1805:318;2058:55;;;;;;:::i;:::-;2038:76;;;;1805:318;;;;;;;;;;;;;;;;;;2058:55;1805:318;;;;;;;:::i;:::-;;;;;;;;;;2058:55;1805:318;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2058:55;1805:318;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"callNestedPing(address)":"c06d936d"}}}},"test/libraries/TrailsSentinelLib.t.sol":{"TrailsSentinelLibTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_Constants_DoNotChange","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SentinelNamespace_Computation","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SentinelNamespace_Constant","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessSlot_AssemblyCorrectness","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessSlot_Computation","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessSlot_Deterministic","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessSlot_DifferentOpHashes","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessSlot_MaxOpHash","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessSlot_UsesCorrectNamespace","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessSlot_VariousOpHashes","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessSlot_ZeroOpHash","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessValue_Constant","inputs":[],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"test_SuccessValue_IsOne","inputs":[],"outputs":[],"stateMutability":"pure"},{"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}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"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\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_Constants_DoNotChange\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SentinelNamespace_Computation\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SentinelNamespace_Constant\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessSlot_AssemblyCorrectness\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessSlot_Computation\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessSlot_Deterministic\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessSlot_DifferentOpHashes\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessSlot_MaxOpHash\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessSlot_UsesCorrectNamespace\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessSlot_VariousOpHashes\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessSlot_ZeroOpHash\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessValue_Constant\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_SuccessValue_IsOne\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/libraries/TrailsSentinelLib.t.sol\":\"TrailsSentinelLibTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/libraries/TrailsSentinelLib.t.sol\":{\"keccak256\":\"0xeebe67a974f2619cf9d42905aa75b4bf5ea44b96131b0cbfacc94d692545ca78\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://054e7967e47fec7a5772693d062648248e43edd1fe07ff6a65a5614eddeee1c7\",\"dweb:/ipfs/QmSbDFkjydm1hzy451jg6g84zjwXBywSgWTZ4rF8hgkhCf\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f556120eb90816100348239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063164459b3146101955780631d89301f146101905780631ed7831c1461018b5780632ade3880146101865780633517e09c1461018157806339ec829a1461017c5780633e5e3c23146101775780633f7286f4146101725780634b3ce4b11461016d57806362e0bb511461013657806366d9a9a0146101685780637bb3227b14610163578063842374491461013657806385226c811461015e578063916a17c614610159578063ac67dd2714610154578063b0464fdc1461014f578063b5508aa91461014a578063ba414fa614610145578063d12f554714610136578063e03e2e4914610140578063e20c9f711461013b578063e8b7545314610136578063fa35c5cf146101315763fa7626d41461012c575f80fd5b611784565b611686565b610c00565b6115de565b61149b565b611459565b6113b0565b6112da565b611217565b611141565b610ff4565b610de9565b610d22565b610b21565b610a79565b6109d1565b6108d3565b6107f5565b61071f565b610510565b6103c3565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf576101cb61186b565b7f7b16557ff4531e10659a080d13905c75834812f11439553cbb960ecf2dddab3c6101f5826118d8565b527f4b4f3f73c0d0a465ce08530b3a346a3588f8e6cfc44abb264d082d2b9b5bd103610220826118ea565b526040517f636f6d706c65780000000000000000000000000000000000000000000000000060208201908152607b60278301526d012300000000000000000000000060478301529061029d81605b81015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611812565b5190206102a9826118fa565b5260405160208101906102dc816102718460349063499602d281526d012300000000000000000000000060208201520190565b5190206102e88261190a565b52670123456789abcdef6102fb8261191a565b5261030461186b565b905f5b815181101561035f578061034e6103206001938561192a565b517f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b610358828661192a565b5201610307565b825f5b81518110156103bd576103748161193e565b82518110156103b45791600180936103ab61038f858561192a565b5161039a838661192a565b5114156103a5611979565b90611fa5565b01909250610374565b50600101610362565b005b5f80fd5b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f1cdce19456de24d02b98e3fdcf912be874a55d99273cc83e9279f237f08e3dbe6020526040516103bd907f3c3fbb410133fa4d98ca71d05836ed722d170618762bad48b95f7e00d876db6d8061046c606084611812565b602b83527f53616d65206f70486173682073686f756c6420616c776179732070726f64756360208401527f652073616d6520736c6f740000000000000000000000000000000000000000006040840152612042565b60206040818301928281528451809452019201905f5b8181106104e45750505090565b825173ffffffffffffffffffffffffffffffffffffffff168452602093840193909201916001016104d7565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405180602060165491828152019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b81811061059c576105988561058c81870382611812565b604051918291826104c1565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610575565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820190602060408260051b8501019401915f905b82821061063d57505050505090565b9091929395947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08782030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b8281106106d65750505050506020806001929601920192019092919593949561062e565b9091929394602080610712837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0876001960301895289516105c8565b97019501939291016106b2565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601e5461075981611853565b906107676040519283611812565b80825260208201601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b8383106107ab5760405180610598878261060b565b600260206001926040516107be816117f1565b73ffffffffffffffffffffffffffffffffffffffff86541681526107e3858701611ab4565b83820152815201920192019190610796565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f9bf2e3460a05ef93fa9a9fc761aece816d1ce5b763c93d6103711b2702685abb6020526040516103bd90600161087e606083611812565b603182527f446966666572656e74206f704861736865732073686f756c642070726f64756360208301527f6520646966666572656e7420736c6f74730000000000000000000000000000006040830152611fa5565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6020526040516103bd907f28558a6497a11f1c22f9e573c4f39e19660cb659670a636a30670215569de03a8061097c606084611812565b602483527f4d6178206f70486173682073686f756c642070726f647563652076616c69642060208401527f736c6f74000000000000000000000000000000000000000000000000000000006040840152612042565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b818110610a4d576105988561058c81870382611812565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610a36565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b818110610af5576105988561058c81870382611812565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610ade565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f9081526020526040516103bd907f8c482a5ad7a80c50455462b3e40e5897d37c766668921d4567acbeeed989fdce80610bab606084611812565b602583527f5a65726f206f70486173682073686f756c642070726f647563652076616c696460208401527f20736c6f740000000000000000000000000000000000000000000000000000006040840152612042565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57005b90602080835192838152019201905f5b818110610c4d5750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101610c40565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610cb757505050505090565b9091929394602080610d13837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0866001960301875289519083610d0383516040845260408401906105c8565b9201519084818403910152610c30565b97019301930191939290610ca8565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601b54610d5c81611853565b90610d6a6040519283611812565b80825260208201601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b838310610dae57604051806105988782610c85565b60026020600192604051610dc1816117f1565b610dca866119b4565b8152610dd7858701611b09565b83820152815201920192019190610d99565b346103bf575f5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405160208101907f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e282527f9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb658604082015260408152610e78606082611812565b5190207f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb6586020527f8bc4560a80f52e027bfb8305f87a4f3e9ac19a53014e75884aa4a9eaa79b843f90808203610eef578280f35b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156103bf57604051917f98296c54000000000000000000000000000000000000000000000000000000008352600483015260248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610f7257610f6657808280f35b6103bd91505f90611812565b611ec0565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610fa957505050505090565b9091929394602080610fe5837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0866001960301875289516105c8565b97019301930191939290610f9a565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601a5461102e81611853565b9061103c6040519283611812565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b83831061108057604051806105988782610f77565b60016020819261108f856119b4565b81520192019201919061106b565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106110cf57505050505090565b9091929394602080611132837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190610c30565b970193019301919392906110c0565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601d5461117b81611853565b906111896040519283611812565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b8383106111cd5760405180610598878261109d565b600260206001926040516111e0816117f1565b73ffffffffffffffffffffffffffffffffffffffff8654168152611205858701611b09565b838201528152019201920191906111b8565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f535543434553535f56414c55452073686f756c642062652031000000000000006020604051611276604082611812565b6019815201527f65787065637465642076616c7565000000000000000000000000000000000000604080516112ac606082611812565b602e81527f53454e54494e454c5f4e414d4553504143452073686f756c64206d617463682060208201520152005b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601c5461131481611853565b906113226040519283611812565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106113665760405180610598878261109d565b60026020600192604051611379816117f1565b73ffffffffffffffffffffffffffffffffffffffff865416815261139e858701611b09565b83820152815201920192019190611351565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf576019546113ea81611853565b906113f86040519283611812565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b83831061143c57604051806105988782610f77565b60016020819261144b856119b4565b815201920192019190611427565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf576020611491611ecb565b6040519015158152f35b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fe24108cbb030d515bd5f634d6e2aff53b8c93cf07ff0f5ea94cba179a58841d86020526103bd60405f2060405160208101907f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e282527fe24108cbb030d515bd5f634d6e2aff53b8c93cf07ff0f5ea94cba179a58841d8604082015260408152611577606082611812565b51902060405191611589606084611812565b603983527f417373656d626c792073686f756c64206d6174636820536f6c6964697479206b60208401527f656363616b323536286162692e656e636f6465282e2e2e2929000000000000006040840152612042565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b81811061165a576105988561058c81870382611812565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201611643565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fa320a816c8d42d84af520a292270c2e7a5b618f471a2d9e4a8d944dd7269a32d6020526040516103bd907f04fd39a599b345dbca5f46dcc9bd6edba4983aea9ffad23913be839be421fc2e8061172f606084611812565b603083527f536c6f7420636f6d7075746174696f6e2073686f756c64206d61746368206d6160208401527f6e75616c2063616c63756c6174696f6e000000000000000000000000000000006040840152612042565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57602060ff601f54166040519015158152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff82111761180d57604052565b6117c4565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761180d57604052565b67ffffffffffffffff811161180d5760051b60200190565b60405160c0919061187c8382611812565b60058152917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001366020840137565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8051156118e55760200190565b6118ab565b8051600110156118e55760400190565b8051600210156118e55760600190565b8051600310156118e55760800190565b8051600410156118e55760a00190565b80518210156118e55760209160051b010190565b906001820180921161194c57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60405190611988604083611812565b601a82527f416c6c20736c6f74732073686f756c6420626520756e697175650000000000006020830152565b90604051915f8154908160011c9260018316908115611aaa575b602085108214611a7d5784875286936020850192908115611a415750600114611a02575b5050611a0092500383611812565b565b611a119192505f5260205f2090565b905f915b848310611a2a5750611a009350015f806119f2565b805482840152869350602090920191600101611a15565b9050611a00959293507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009150168252151560051b015f806119f2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f16936119ce565b908154611ac081611853565b92611ace6040519485611812565b81845260208401905f5260205f205f915b838310611aec5750505050565b600160208192611afb856119b4565b815201920192019190611adf565b60405181548082529092918390611b2760208301915f5260205f2090565b925f905b806007830110611d3357611a00945491818110611cf7575b818110611cc0575b818110611c89575b818110611c52575b818110611c1b575b818110611be4575b818110611bae575b10611b81575b500383611812565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611b79565b602083811b7fffffffff000000000000000000000000000000000000000000000000000000001685529093600191019301611b73565b604083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b6b565b606083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b63565b608083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b5b565b60a083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b53565b60c083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b4b565b92602081611d2b6001938660e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b019301611b43565b916008919350610100600191611ea38754611d72838260e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b60c081901b7fffffffff0000000000000000000000000000000000000000000000000000000016602084015260a081901b7fffffffff00000000000000000000000000000000000000000000000000000000166040840152608081901b7fffffffff00000000000000000000000000000000000000000000000000000000166060840152606081901b7fffffffff00000000000000000000000000000000000000000000000000000000166080840152604081901b7fffffffff000000000000000000000000000000000000000000000000000000001660a0840152602081901b7fffffffff000000000000000000000000000000000000000000000000000000001660c08401527fffffffff000000000000000000000000000000000000000000000000000000001660e0830152565b019401920185929391611b2b565b908160209103126103bf575190565b6040513d5f823e3d90fd5b60085460ff1615611edb57600190565b6040517f667f9d7000000000000000000000000000000000000000000000000000000000815260208180600481017f6661696c65640000000000000000000000000000000000000000000000000000846040830192737109709ecfa91a80626ff3989d68f67f5b1dd12d815201520381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610f72575f91611f76575b50151590565b611f98915060203d602011611f9e575b611f908183611812565b810190611eb1565b5f611f70565b503d611f86565b1580611faf575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156103bf57612012915f9160405193849283927fa34edc030000000000000000000000000000000000000000000000000000000084521560048401526040602484015260448301906105c8565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610f72576120385750565b5f611a0091611812565b9080820361204f57505050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156103bf575f9161201260405194859384937f88b44c85000000000000000000000000000000000000000000000000000000008552600485015260248401526060604484015260648301906105c856fea26469706673582212203cb6db1b44ce4c6459205b2a2c6aa7b731d09e3c83618482108796e37f157dda64736f6c634300081e0033","sourceMap":"350:6119:67:-:0;;;;;;;3200:4:5;350:6119:67;;3200:4:5;350:6119:67;;;3200:4:5;350:6119:67;3200:4:5;350:6119:67;;1087:4:16;350:6119:67;;;1087:4:16;350:6119:67;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c8063164459b3146101955780631d89301f146101905780631ed7831c1461018b5780632ade3880146101865780633517e09c1461018157806339ec829a1461017c5780633e5e3c23146101775780633f7286f4146101725780634b3ce4b11461016d57806362e0bb511461013657806366d9a9a0146101685780637bb3227b14610163578063842374491461013657806385226c811461015e578063916a17c614610159578063ac67dd2714610154578063b0464fdc1461014f578063b5508aa91461014a578063ba414fa614610145578063d12f554714610136578063e03e2e4914610140578063e20c9f711461013b578063e8b7545314610136578063fa35c5cf146101315763fa7626d41461012c575f80fd5b611784565b611686565b610c00565b6115de565b61149b565b611459565b6113b0565b6112da565b611217565b611141565b610ff4565b610de9565b610d22565b610b21565b610a79565b6109d1565b6108d3565b6107f5565b61071f565b610510565b6103c3565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf576101cb61186b565b7f7b16557ff4531e10659a080d13905c75834812f11439553cbb960ecf2dddab3c6101f5826118d8565b527f4b4f3f73c0d0a465ce08530b3a346a3588f8e6cfc44abb264d082d2b9b5bd103610220826118ea565b526040517f636f6d706c65780000000000000000000000000000000000000000000000000060208201908152607b60278301526d012300000000000000000000000060478301529061029d81605b81015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611812565b5190206102a9826118fa565b5260405160208101906102dc816102718460349063499602d281526d012300000000000000000000000060208201520190565b5190206102e88261190a565b52670123456789abcdef6102fb8261191a565b5261030461186b565b905f5b815181101561035f578061034e6103206001938561192a565b517f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b610358828661192a565b5201610307565b825f5b81518110156103bd576103748161193e565b82518110156103b45791600180936103ab61038f858561192a565b5161039a838661192a565b5114156103a5611979565b90611fa5565b01909250610374565b50600101610362565b005b5f80fd5b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f1cdce19456de24d02b98e3fdcf912be874a55d99273cc83e9279f237f08e3dbe6020526040516103bd907f3c3fbb410133fa4d98ca71d05836ed722d170618762bad48b95f7e00d876db6d8061046c606084611812565b602b83527f53616d65206f70486173682073686f756c6420616c776179732070726f64756360208401527f652073616d6520736c6f740000000000000000000000000000000000000000006040840152612042565b60206040818301928281528451809452019201905f5b8181106104e45750505090565b825173ffffffffffffffffffffffffffffffffffffffff168452602093840193909201916001016104d7565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405180602060165491828152019060165f527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289905f5b81811061059c576105988561058c81870382611812565b604051918291826104c1565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610575565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820190602060408260051b8501019401915f905b82821061063d57505050505090565b9091929395947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08782030182528451906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b8501019401925f5b8281106106d65750505050506020806001929601920192019092919593949561062e565b9091929394602080610712837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0876001960301895289516105c8565b97019501939291016106b2565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601e5461075981611853565b906107676040519283611812565b80825260208201601e5f527f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505f915b8383106107ab5760405180610598878261060b565b600260206001926040516107be816117f1565b73ffffffffffffffffffffffffffffffffffffffff86541681526107e3858701611ab4565b83820152815201920192019190610796565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f9bf2e3460a05ef93fa9a9fc761aece816d1ce5b763c93d6103711b2702685abb6020526040516103bd90600161087e606083611812565b603182527f446966666572656e74206f704861736865732073686f756c642070726f64756360208301527f6520646966666572656e7420736c6f74730000000000000000000000000000006040830152611fa5565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6020526040516103bd907f28558a6497a11f1c22f9e573c4f39e19660cb659670a636a30670215569de03a8061097c606084611812565b602483527f4d6178206f70486173682073686f756c642070726f647563652076616c69642060208401527f736c6f74000000000000000000000000000000000000000000000000000000006040840152612042565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405180602060185491828152019060185f527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e905f5b818110610a4d576105988561058c81870382611812565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610a36565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405180602060175491828152019060175f527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15905f5b818110610af5576105988561058c81870382611812565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610ade565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f9081526020526040516103bd907f8c482a5ad7a80c50455462b3e40e5897d37c766668921d4567acbeeed989fdce80610bab606084611812565b602583527f5a65726f206f70486173682073686f756c642070726f647563652076616c696460208401527f20736c6f740000000000000000000000000000000000000000000000000000006040840152612042565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57005b90602080835192838152019201905f5b818110610c4d5750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101610c40565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610cb757505050505090565b9091929394602080610d13837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0866001960301875289519083610d0383516040845260408401906105c8565b9201519084818403910152610c30565b97019301930191939290610ca8565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601b54610d5c81611853565b90610d6a6040519283611812565b80825260208201601b5f527f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc15f915b838310610dae57604051806105988782610c85565b60026020600192604051610dc1816117f1565b610dca866119b4565b8152610dd7858701611b09565b83820152815201920192019190610d99565b346103bf575f5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405160208101907f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e282527f9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb658604082015260408152610e78606082611812565b5190207f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527f9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb6586020527f8bc4560a80f52e027bfb8305f87a4f3e9ac19a53014e75884aa4a9eaa79b843f90808203610eef578280f35b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156103bf57604051917f98296c54000000000000000000000000000000000000000000000000000000008352600483015260248201525f81604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610f7257610f6657808280f35b6103bd91505f90611812565b611ec0565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610fa957505050505090565b9091929394602080610fe5837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0866001960301875289516105c8565b97019301930191939290610f9a565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601a5461102e81611853565b9061103c6040519283611812565b808252601a5f9081527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b83831061108057604051806105988782610f77565b60016020819261108f856119b4565b81520192019201919061106b565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106110cf57505050505090565b9091929394602080611132837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190610c30565b970193019301919392906110c0565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601d5461117b81611853565b906111896040519283611812565b80825260208201601d5f527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f5f915b8383106111cd5760405180610598878261109d565b600260206001926040516111e0816117f1565b73ffffffffffffffffffffffffffffffffffffffff8654168152611205858701611b09565b838201528152019201920191906111b8565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f535543434553535f56414c55452073686f756c642062652031000000000000006020604051611276604082611812565b6019815201527f65787065637465642076616c7565000000000000000000000000000000000000604080516112ac606082611812565b602e81527f53454e54494e454c5f4e414d4553504143452073686f756c64206d617463682060208201520152005b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57601c5461131481611853565b906113226040519283611812565b80825260208201601c5f527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2115f915b8383106113665760405180610598878261109d565b60026020600192604051611379816117f1565b73ffffffffffffffffffffffffffffffffffffffff865416815261139e858701611b09565b83820152815201920192019190611351565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf576019546113ea81611853565b906113f86040519283611812565b80825260195f9081527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b83831061143c57604051806105988782610f77565b60016020819261144b856119b4565b815201920192019190611427565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf576020611491611ecb565b6040519015158152f35b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fe24108cbb030d515bd5f634d6e2aff53b8c93cf07ff0f5ea94cba179a58841d86020526103bd60405f2060405160208101907f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e282527fe24108cbb030d515bd5f634d6e2aff53b8c93cf07ff0f5ea94cba179a58841d8604082015260408152611577606082611812565b51902060405191611589606084611812565b603983527f417373656d626c792073686f756c64206d6174636820536f6c6964697479206b60208401527f656363616b323536286162692e656e636f6465282e2e2e2929000000000000006040840152612042565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf5760405180602060155491828152019060155f527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475905f5b81811061165a576105988561058c81870382611812565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201611643565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf577f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f527fa320a816c8d42d84af520a292270c2e7a5b618f471a2d9e4a8d944dd7269a32d6020526040516103bd907f04fd39a599b345dbca5f46dcc9bd6edba4983aea9ffad23913be839be421fc2e8061172f606084611812565b603083527f536c6f7420636f6d7075746174696f6e2073686f756c64206d61746368206d6160208401527f6e75616c2063616c63756c6174696f6e000000000000000000000000000000006040840152612042565b346103bf575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103bf57602060ff601f54166040519015158152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff82111761180d57604052565b6117c4565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761180d57604052565b67ffffffffffffffff811161180d5760051b60200190565b60405160c0919061187c8382611812565b60058152917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001366020840137565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8051156118e55760200190565b6118ab565b8051600110156118e55760400190565b8051600210156118e55760600190565b8051600310156118e55760800190565b8051600410156118e55760a00190565b80518210156118e55760209160051b010190565b906001820180921161194c57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60405190611988604083611812565b601a82527f416c6c20736c6f74732073686f756c6420626520756e697175650000000000006020830152565b90604051915f8154908160011c9260018316908115611aaa575b602085108214611a7d5784875286936020850192908115611a415750600114611a02575b5050611a0092500383611812565b565b611a119192505f5260205f2090565b905f915b848310611a2a5750611a009350015f806119f2565b805482840152869350602090920191600101611a15565b9050611a00959293507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009150168252151560051b015f806119f2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b93607f16936119ce565b908154611ac081611853565b92611ace6040519485611812565b81845260208401905f5260205f205f915b838310611aec5750505050565b600160208192611afb856119b4565b815201920192019190611adf565b60405181548082529092918390611b2760208301915f5260205f2090565b925f905b806007830110611d3357611a00945491818110611cf7575b818110611cc0575b818110611c89575b818110611c52575b818110611c1b575b818110611be4575b818110611bae575b10611b81575b500383611812565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611b79565b602083811b7fffffffff000000000000000000000000000000000000000000000000000000001685529093600191019301611b73565b604083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b6b565b606083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b63565b608083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b5b565b60a083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b53565b60c083901b7fffffffff00000000000000000000000000000000000000000000000000000000168452926001906020019301611b4b565b92602081611d2b6001938660e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b019301611b43565b916008919350610100600191611ea38754611d72838260e01b7fffffffff00000000000000000000000000000000000000000000000000000000169052565b60c081901b7fffffffff0000000000000000000000000000000000000000000000000000000016602084015260a081901b7fffffffff00000000000000000000000000000000000000000000000000000000166040840152608081901b7fffffffff00000000000000000000000000000000000000000000000000000000166060840152606081901b7fffffffff00000000000000000000000000000000000000000000000000000000166080840152604081901b7fffffffff000000000000000000000000000000000000000000000000000000001660a0840152602081901b7fffffffff000000000000000000000000000000000000000000000000000000001660c08401527fffffffff000000000000000000000000000000000000000000000000000000001660e0830152565b019401920185929391611b2b565b908160209103126103bf575190565b6040513d5f823e3d90fd5b60085460ff1615611edb57600190565b6040517f667f9d7000000000000000000000000000000000000000000000000000000000815260208180600481017f6661696c65640000000000000000000000000000000000000000000000000000846040830192737109709ecfa91a80626ff3989d68f67f5b1dd12d815201520381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610f72575f91611f76575b50151590565b611f98915060203d602011611f9e575b611f908183611812565b810190611eb1565b5f611f70565b503d611f86565b1580611faf575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156103bf57612012915f9160405193849283927fa34edc030000000000000000000000000000000000000000000000000000000084521560048401526040602484015260448301906105c8565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610f72576120385750565b5f611a0091611812565b9080820361204f57505050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156103bf575f9161201260405194859384937f88b44c85000000000000000000000000000000000000000000000000000000008552600485015260248401526060604484015260648301906105c856fea26469706673582212203cb6db1b44ce4c6459205b2a2c6aa7b731d09e3c83618482108796e37f157dda64736f6c634300081e0033","sourceMap":"350:6119:67:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;;;;;3428:16;;:::i;:::-;3468;3454:30;;;:::i;:::-;350:6119;3508:16;3494:30;;;:::i;:::-;350:6119;;;;3558:57;;;350:6119;;;3594:3;350:6119;;;;;;;;;3558:57;;350:6119;;;;3558:57;;;;;;;;;:::i;:::-;350:6119;3548:68;;3534:82;;;:::i;:::-;350:6119;;;3558:57;3650:53;;;;;;;350:6119;;3675:10;350:6119;;;;;;;;;;3650:53;350:6119;3640:64;;3626:78;;;:::i;:::-;350:6119;3744:17;3714:49;;;:::i;:::-;350:6119;3799:16;;:::i;:::-;3830:13;350:6119;3866:3;350:6119;;3845:19;;;;;3926:11;3896:42;3926:11;3503:1;3926:11;;;:::i;:::-;350:6119;479:48:62;983:133;;;;;;;780:342;;3896:42:67;3885:53;;;;:::i;:::-;350:6119;;3830:13;;3845:19;;350:6119;4038:3;350:6119;;4020:16;;;;;4074:5;;;:::i;:::-;350:6119;;4081:16;;;;;4133:8;3503:1;4133:8;;4122:62;4133:8;;;;:::i;:::-;350:6119;4145:8;;;;:::i;:::-;350:6119;4133:20;;350:6119;;:::i;:::-;4122:62;;:::i;:::-;350:6119;4062:17;;;;;4081:16;;3503:1;350:6119;4005:13;;4020:16;350:6119;;;;;;;;;;;;;;;;479:48:62;350:6119:67;983:133:62;1381:27:67;983:133:62;;;350:6119:67;1545:69;;983:133:62;;350:6119:67;;;;:::i;:::-;;;;;983:133:62;350:6119:67;;;;983:133:62;350:6119:67;;;1545:69;:::i;350:6119::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3018:16:9;350:6119:67;;;;;;;3018:16:9;350:6119:67;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;350:6119:67;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;3948:19:9;350:6119:67;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;3948:19:9;350:6119:67;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;479:48:62;350:6119:67;983:133:62;1045:23:67;983:133:62;;;350:6119:67;1208:79;;1219:14;350:6119;;;;:::i;:::-;;;;;983:133:62;350:6119:67;;;;983:133:62;350:6119:67;;;1208:79;:::i;350:6119::-;;;;;;;;;;;479:48:62;350:6119:67;983:133:62;2866:17:67;983:133:62;;;350:6119:67;3253:68;;983:133:62;;350:6119:67;;;;:::i;:::-;479:48:62;350:6119:67;;479:48:62;983:133;479:48;;;;983:133;479:48;;;3253:68:67;:::i;350:6119::-;;;;;;;;;;;;;;;3794:16:9;350:6119:67;;;;;;;3794:16:9;350:6119:67;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:18:9;350:6119:67;;;;;;;3501:18:9;350:6119:67;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;479:48:62;350:6119:67;983:133:62;;;;;;350:6119:67;2699:69;;983:133:62;;350:6119:67;;;;:::i;:::-;;;;;983:133:62;350:6119:67;;;;983:133:62;350:6119:67;;;2699:69;:::i;350:6119::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;350:6119:67;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3346:26:9;350:6119:67;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;3346:26:9;350:6119:67;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6211:56;;;350:6119;479:48:62;350:6119:67;;6098:17;350:6119;;;;;6211:56;;;;;;:::i;:::-;350:6119;6201:67;;479:48:62;350:6119:67;983:133:62;6098:17:67;6211:56;983:133:62;;;2747:13:4;;;2743:68;;350:6119:67;;;2743:68:4;350:6119:67;2776:24:4;;;;350:6119:67;;2776:24:4;350:6119:67;2776:24:4;;;;;350:6119:67;;;;;;2776:24:4;;;350:6119:67;2776:24:4;;;;;;;;2743:68;350:6119:67;;;2776:24:4;;;;350:6119:67;2776:24:4;;:::i;:::-;;:::i;350:6119:67:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3162:18:9;350:6119:67;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3162:18:9;350:6119:67;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3653:18:9;350:6119:67;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;3653:18:9;350:6119:67;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2876:18:9;350:6119:67;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;2876:18:9;350:6119:67;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;2575:18:9;350:6119:67;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2575:18:9;350:6119:67;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;479:48:62;350:6119:67;983:133:62;4406:26:67;983:133:62;;4738:97:67;983:133:62;350:6119:67;983:133:62;;350:6119:67;983:133:62;4696:29:67;;350:6119;479:48:62;350:6119:67;;4406:26;983:133:62;350:6119:67;;;983:133:62;4696:29:67;;;;;;:::i;:::-;350:6119;4686:40;;350:6119;;;;;;;:::i;:::-;;;;;983:133:62;350:6119:67;;;;983:133:62;350:6119:67;;;4738:97;:::i;350:6119::-;;;;;;;;;;;;;;;2723:18:9;350:6119:67;;;;;;;2723:18:9;350:6119:67;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;479:48:62;350:6119:67;1874:138;1706:20;1874:138;;;350:6119;2143:86;;1874:138;;350:6119;;;;:::i;:::-;;;;;1874:138;350:6119;;;;1874:138;350:6119;;;2143:86;:::i;350:6119::-;;;;;;;;;;;;;1065:26:16;350:6119:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;3442:1;350:6119;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;3503:1;350:6119;;;;;;;:::o;:::-;;;3543:1;350:6119;;;;;;;:::o;:::-;;;3635:1;350:6119;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;3503:1;350:6119;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;350:6119:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;350:6119:67;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;350:6119:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;350:6119:67;;;;;-1:-1:-1;350:6119:67;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;350:6119:67;;-1:-1:-1;350:6119:67;-1:-1:-1;350:6119:67;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;350:6119:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1255:17:4;;;;;;;;;;;:::o;:::-;350:6119:67;;1255:17:4;;;;;;;1306:195;1365:7;350:6119:67;;;;;;1395:4:4;1388:11;:::o;1361:134::-;350:6119:67;;;1437:33:4;;;;;;;;192:59;1255:17;;;;350:6119:67;;;;1255:17:4;350:6119:67;1437:33:4;;350:6119:67;1437:33:4;;;;;;;479:48:62;1437:33:4;;;1361:134;1437:47;;;1430:54;:::o;1437:33::-;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;1894:148;1980:5;1976:60;;;1894:148;;:::o;1976:60::-;350:6119:67;2001:24:4;;;;350:6119:67;;-1:-1:-1;350:6119:67;;;2001:24:4;;;;;350:6119:67;2001:24:4;;350:6119:67;2001:24:4;;;350:6119:67;;;;;;;;;;;:::i;:::-;2001:24:4;;350:6119:67;2001:24:4;;;;;;;;1894:148;:::o;2001:24::-;-1:-1:-1;2001:24:4;;;:::i;2823:177::-;;2925:13;;;2921:73;;2823:177;;;:::o;2921:73::-;350:6119:67;2954:29:4;;;;-1:-1:-1;350:6119:67;;;;2954:29:4;;;;;350:6119:67;2954:29:4;;;;;350:6119:67;;;;;;;;;;;;;;;:::i","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","test_Constants_DoNotChange()":"ac67dd27","test_SentinelNamespace_Computation()":"62e0bb51","test_SentinelNamespace_Constant()":"d12f5547","test_SuccessSlot_AssemblyCorrectness()":"e03e2e49","test_SuccessSlot_Computation()":"fa35c5cf","test_SuccessSlot_Deterministic()":"1d89301f","test_SuccessSlot_DifferentOpHashes()":"3517e09c","test_SuccessSlot_MaxOpHash()":"39ec829a","test_SuccessSlot_UsesCorrectNamespace()":"7bb3227b","test_SuccessSlot_VariousOpHashes()":"164459b3","test_SuccessSlot_ZeroOpHash()":"4b3ce4b1","test_SuccessValue_Constant()":"84237449","test_SuccessValue_IsOne()":"e8b75453"}}}},"test/mocks/MockERC20.sol":{"MockERC20":{"abi":[{"type":"constructor","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/MockERC20.sol\":\"MockERC20\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x981460d505328349eed07798a87d2cb432da70633e45ac3c60b1081b3d7a8e86\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04330ec0b36ce165f97fac5d37a1e463e1735caca291d8b18d1249e4a6523cd\",\"dweb:/ipfs/Qma3R3iRhfz3pZuSnriZrmJsSJ5mexyYZVTNXEfDqczRhz\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x3ce148ed98f31ec9c463b32ee66f96194f0de89e41d7da3ef9e084f0effce06e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3939cd40f5bf5ea382e5af5c5011c1b998bb88b4872774aa0de0071cb0c0d49e\",\"dweb:/ipfs/QmWtEDNECUaeYYAQoP6epe4TGYphAbbfG7aEmKVhLHq451\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"test/mocks/MockERC20.sol\":{\"keccak256\":\"0xfe57a5664094cd157e9dd1505e789da218e5ed1f5082fd4711e82421079ee1f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2b7dbe4dd3fc068f21e9d8578fdc39f302adb284a1cfd8acb115677305e703b\",\"dweb:/ipfs/QmWWuMbm889BMHgyehHHDfXRV2uu1fZgBnRa8vLUWZmtB8\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60806040523461033057610e0d8038038061001981610334565b9283398101906060818303126103305780516001600160401b0381116103305782610045918301610359565b60208201519092906001600160401b03811161033057604091610069918401610359565b91015160ff81168091036103305782516001600160401b03811161024157600354600181811c91168015610326575b602082101461022357601f81116102c3575b506020601f821160011461026057819293945f92610255575b50508160011b915f199060031b1c1916176003555b81516001600160401b03811161024157600454600181811c91168015610237575b602082101461022357601f81116101c0575b50602092601f821160011461015f57928192935f92610154575b50508160011b915f199060031b1c1916176004555b60ff196005541617600555604051610a6290816103ab8239f35b015190505f80610125565b601f1982169360045f52805f20915f5b8681106101a85750836001959610610190575b505050811b0160045561013a565b01515f1960f88460031b161c191690555f8080610182565b9192602060018192868501518155019401920161016f565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c81019160208410610219575b601f0160051c01905b81811061020e575061010b565b5f8155600101610201565b90915081906101f8565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100f9565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100c3565b601f1982169060035f52805f20915f5b8181106102ab57509583600195969710610293575b505050811b016003556100d8565b01515f1960f88460031b161c191690555f8080610285565b9192602060018192868b015181550194019201610270565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c8101916020841061031c575b601f0160051c01905b81811061031157506100aa565b5f8155600101610304565b90915081906102fb565b90607f1690610098565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761024157604052565b81601f82011215610330578051906001600160401b03821161024157610388601f8301601f1916602001610334565b928284526020838301011161033057815f9260208093018386015e830101529056fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461077757508063095ea7b3146106ca57806318160ddd1461068f57806323b872dd146104fb578063313ce567146104bd57806340c10f19146103be57806370a082311461035c57806395d89b4114610169578063a9059cbb1461011a5763dd62ed3e1461008a575f80fd5b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576100c16108f0565b73ffffffffffffffffffffffffffffffffffffffff6100de610913565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101165761015e6101546108f0565b6024359033610936565b602060405160018152f35b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576040515f600454908160011c60018316928315610352575b6020821084146103255781855284939081156102c5575060011461024b575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761021e5761021a829182604052826108a8565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106102a957505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101ce565b6020919350806001915483858801015201910190918392610275565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090506101ce565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f16906101af565b346101165760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101165773ffffffffffffffffffffffffffffffffffffffff6103a86108f0565b165f525f602052602060405f2054604051908152f35b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576103f56108f0565b73ffffffffffffffffffffffffffffffffffffffff16602435811561049157600254908082018092116104645760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011657602060ff60055416604051908152f35b346101165760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576105326108f0565b61053a610913565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106105b6575b5061015e9350610936565b83811061065b57841561062f5733156106035761015e945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f2091039055846105ab565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576020600254604051908152f35b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576107016108f0565b60243590331561062f5773ffffffffffffffffffffffffffffffffffffffff1690811561060357335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116575f600354908160011c6001831692831561089e575b6020821084146103255781855284939081156102c55750600114610824575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761021e5761021a829182604052826108a8565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061088257505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101ce565b602091935080600191548385880101520191019091839261084e565b90607f16906107ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011657565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011657565b73ffffffffffffffffffffffffffffffffffffffff16908115610a005773ffffffffffffffffffffffffffffffffffffffff1691821561049157815f525f60205260405f20548181106109ce57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffdfea2646970667358221220cebe9d271f663eb56aba81c7274ebae25e1a809741756e03a398137806df3e1964736f6c634300081e0033","sourceMap":"308:380:68:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;308:380:68;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;308:380:68;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;308:380:68;;;;1648:13:28;308:380:68;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;;;;;1648:13:28;308:380:68;;;;;1648:13:28;308:380:68;;;;-1:-1:-1;;;;;308:380:68;;;;1671:17:28;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;;;;;1648:13:28;308:380:68;;;;;1671:17:28;308:380:68;;;;473:21;308:380;;;473:21;308:380;;;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;;1671:17:28;-1:-1:-1;308:380:68;;-1:-1:-1;308:380:68;;-1:-1:-1;308:380:68;;;;;;;;;;;;;;;;;;;;;1671:17:28;308:380:68;;;;;;;;;;1648:13:28;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:17:28;-1:-1:-1;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;-1:-1:-1;308:380:68;;1671:17:28;308:380:68;;-1:-1:-1;308:380:68;;;;;;;;;;;;-1:-1:-1;308:380:68;;1671:17:28;308:380:68;;-1:-1:-1;308:380:68;;;;;-1:-1:-1;308:380:68;;;;;;;;;;1648:13:28;-1:-1:-1;308:380:68;;-1:-1:-1;308:380:68;;-1:-1:-1;308:380:68;;;;;;;;;;;;;;;;;;;;;;;1648:13:28;308:380:68;;;;;;;;;;1648:13:28;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:28;-1:-1:-1;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;-1:-1:-1;;308:380:68;;;-1:-1:-1;;;;;308:380:68;;;;;;;;;;:::o;:::-;;;;;;;;;;;;-1:-1:-1;;;;;308:380:68;;;;;;;;-1:-1:-1;;308:380:68;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde031461077757508063095ea7b3146106ca57806318160ddd1461068f57806323b872dd146104fb578063313ce567146104bd57806340c10f19146103be57806370a082311461035c57806395d89b4114610169578063a9059cbb1461011a5763dd62ed3e1461008a575f80fd5b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576100c16108f0565b73ffffffffffffffffffffffffffffffffffffffff6100de610913565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101165761015e6101546108f0565b6024359033610936565b602060405160018152f35b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576040515f600454908160011c60018316928315610352575b6020821084146103255781855284939081156102c5575060011461024b575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761021e5761021a829182604052826108a8565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106102a957505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101ce565b6020919350806001915483858801015201910190918392610275565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090506101ce565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f16906101af565b346101165760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101165773ffffffffffffffffffffffffffffffffffffffff6103a86108f0565b165f525f602052602060405f2054604051908152f35b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576103f56108f0565b73ffffffffffffffffffffffffffffffffffffffff16602435811561049157600254908082018092116104645760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011657602060ff60055416604051908152f35b346101165760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576105326108f0565b61053a610913565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81106105b6575b5061015e9350610936565b83811061065b57841561062f5733156106035761015e945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f2091039055846105ab565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576020600254604051908152f35b346101165760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116576107016108f0565b60243590331561062f5773ffffffffffffffffffffffffffffffffffffffff1690811561060357335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610116575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610116575f600354908160011c6001831692831561089e575b6020821084146103255781855284939081156102c55750600114610824575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff82118183101761021e5761021a829182604052826108a8565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061088257505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06101ce565b602091935080600191548385880101520191019091839261084e565b90607f16906107ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011657565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011657565b73ffffffffffffffffffffffffffffffffffffffff16908115610a005773ffffffffffffffffffffffffffffffffffffffff1691821561049157815f525f60205260405f20548181106109ce57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffdfea2646970667358221220cebe9d271f663eb56aba81c7274ebae25e1a809741756e03a398137806df3e1964736f6c634300081e0033","sourceMap":"308:380:68:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;3561:11:28;308:380:68;;;;;;3561:27:28;308:380:68;-1:-1:-1;308:380:68;;;;;-1:-1:-1;308:380:68;;;;;;;;;;;;;;;;;;;;;;;3388:5:28;308:380:68;;:::i;:::-;;;735:10:35;;3388:5:28;:::i;:::-;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;-1:-1:-1;;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;308:380:68;;-1:-1:-1;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;7432:21:28;;7428:91;;6137:21;308:380:68;;;;;;;;;;;6987:25:28;308:380:68;;;6137:21:28;308:380:68;;;;;;;;;;;;;;;;;;;;;6987:25:28;308:380:68;;;;;;;;;;;7428:91:28;7476:32;308:380:68;7476:32:28;308:380:68;;;;;7476:32:28;308:380:68;;;;;;;;;;;;;581:9;308:380;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;735:10:35;308:380:68;-1:-1:-1;308:380:68;;;;-1:-1:-1;308:380:68;;10505:17:28;10486:36;;10482:309;;308:380:68;4890:5:28;;;;;:::i;10482:309::-;10542:24;;;10538:130;;9719:19;;9715:89;;735:10:35;9817:21:28;9813:90;;4890:5;308:380:68;;;;;;;;;;735:10:35;308:380:68;-1:-1:-1;308:380:68;;;;;-1:-1:-1;308:380:68;;;;;10482:309:28;;;9813:90;9861:31;308:380:68;9861:31:28;308:380:68;;;;;9861:31:28;9715:89;9761:32;308:380:68;9761:32:28;308:380:68;;;;;9761:32:28;10538:130;10593:60;;;308:380:68;10593:60:28;735:10:35;308:380:68;;;;;;;;10593:60:28;308:380:68;;;;;;;;;;;;2881:12:28;308:380:68;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;735:10:35;;9719:19:28;9715:89;;308:380:68;;9817:21:28;;;9813:90;;735:10:35;308:380:68;;;;;;;;;-1:-1:-1;308:380:68;;;;;-1:-1:-1;308:380:68;;;;;;;9991:31:28;308:380:68;735:10:35;9991:31:28;;308:380:68;;;;;;;;;;;;;;;;;;;1837:5:28;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1837:5:28;308:380:68;;;;;-1:-1:-1;308:380:68;;;;;;;-1:-1:-1;;308:380:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;5297:300:28:-;308:380:68;;5380:18:28;;;5376:86;;308:380:68;;5475:16:28;;;5471:86;;308:380:68;5396:1:28;308:380:68;5396:1:28;308:380:68;;;5396:1:28;308:380:68;;6244:19:28;;;6240:115;;308:380:68;6987:25:28;308:380:68;;;;5396:1:28;308:380:68;5396:1:28;308:380:68;;;;5396:1:28;308:380:68;;;5396:1:28;308:380:68;5396:1:28;308:380:68;;;5396:1:28;308:380:68;;;;;;;;;;;;6987:25:28;5297:300::o;6240:115::-;6290:50;;5396:1;6290:50;;308:380:68;;;;;;5396:1:28;6290:50;5376:86;5421:30;5396:1;5421:30;5396:1;5421:30;308:380:68;;5396:1:28;5421:30","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","mint(address,uint256)":"40c10f19","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}}},"test/mocks/MockMulticall3.sol":{"MockMulticall3":{"abi":[{"type":"function","name":"aggregate3","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnResults","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"aggregate3Value","inputs":[{"name":"calls","type":"tuple[]","internalType":"struct IMulticall3.Call3Value[]","components":[{"name":"target","type":"address","internalType":"address"},{"name":"allowFailure","type":"bool","internalType":"bool"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"callData","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"returnResults","type":"tuple[]","internalType":"struct IMulticall3.Result[]","components":[{"name":"success","type":"bool","internalType":"bool"},{"name":"returnData","type":"bytes","internalType":"bytes"}]}],"stateMutability":"payable"},{"type":"function","name":"setShouldFail","inputs":[{"name":"_shouldFail","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"shouldFail","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnResults\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnResults\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_shouldFail\",\"type\":\"bool\"}],\"name\":\"setShouldFail\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"shouldFail\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/MockMulticall3.sol\":\"MockMulticall3\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"test/mocks/MockMulticall3.sol\":{\"keccak256\":\"0xfc0df2b8951b2e3fd6724eddbed29eaea4ed7be82ee2b40248de03c204443406\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75d0cd7b939afbf80c763b0c4980b6a69e36a274954fd25f5bf124fac0491b95\",\"dweb:/ipfs/QmZbpq8cqHyemB8CZdXnWbkbyTgCvwwT5nMZ69wE9QWNH5\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346015576107a7908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163174dea71146102ee57508063678d2204146102af57806382ad56cb146100b75763a5aa5c1214610048575f80fd5b346100b35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b3576004358015158091036100b35760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f54169116175f555f80f35b5f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b35760043567ffffffffffffffff81116100b357610101903690600401610449565b60ff5f54166102505790610114826105e8565b905f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301915b8481101561023e578060051b820135838112156100b35782016101c260205f8061016785610658565b816101756040880188610679565b9190826040519384928337810182815203925af1926101926106ca565b9361019b61053f565b90159485158252838201526101b0868a610723565b526101bb8589610723565b5001610764565b159081610236575b506101d75760010161013e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606490fd5b9050866101ca565b6040518061024c868261047a565b0390f35b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152606490fd5b346100b3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b357602060ff5f54166040519015158152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b35760043567ffffffffffffffff81116100b357610338903690600401610449565b909160ff5f54166103ed57509061034e826105e8565b905f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8181360301915b8481101561023e578060051b820135838112156100b35782016103d060205f806103a185610658565b6103ae6060870187610679565b90816040519283928337810184815203916040880135905af1926101926106ca565b1590816103e5575b506101d757600101610378565b9050866103d8565b7f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152606490fd5b9181601f840112156100b35782359167ffffffffffffffff83116100b3576020808501948460051b0101116100b357565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106104ac57505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f858286010152011601019701930193019193929061049d565b604051906040820182811067ffffffffffffffff82111761055f57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761055f57604052565b67ffffffffffffffff811161055f5760051b60200190565b906105fa6105f5836105d0565b61058c565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061062882946105d0565b01905f5b82811061063857505050565b60209061064361053f565b5f81526060838201528282850101520161062c565b3573ffffffffffffffffffffffffffffffffffffffff811681036100b35790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100b3570180359067ffffffffffffffff82116100b3576020019181360383136100b357565b3d1561071e573d9067ffffffffffffffff821161055f5761071260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160161058c565b9182523d5f602084013e565b606090565b80518210156107375760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b3580151581036100b3579056fea2646970667358221220d15ba587833d285de2ae313b5bc0b60766daf63461a11d37ec63afc45d49b39d64736f6c634300081e0033","sourceMap":"299:1660:69:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f3560e01c908163174dea71146102ee57508063678d2204146102af57806382ad56cb146100b75763a5aa5c1214610048575f80fd5b346100b35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b3576004358015158091036100b35760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f54169116175f555f80f35b5f80fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b35760043567ffffffffffffffff81116100b357610101903690600401610449565b60ff5f54166102505790610114826105e8565b905f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301915b8481101561023e578060051b820135838112156100b35782016101c260205f8061016785610658565b816101756040880188610679565b9190826040519384928337810182815203925af1926101926106ca565b9361019b61053f565b90159485158252838201526101b0868a610723565b526101bb8589610723565b5001610764565b159081610236575b506101d75760010161013e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606490fd5b9050866101ca565b6040518061024c868261047a565b0390f35b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152606490fd5b346100b3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b357602060ff5f54166040519015158152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100b35760043567ffffffffffffffff81116100b357610338903690600401610449565b909160ff5f54166103ed57509061034e826105e8565b905f907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8181360301915b8481101561023e578060051b820135838112156100b35782016103d060205f806103a185610658565b6103ae6060870187610679565b90816040519283928337810184815203916040880135905af1926101926106ca565b1590816103e5575b506101d757600101610378565b9050866103d8565b7f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4d6f636b4d756c746963616c6c333a20666f72636564206661696c75726500006044820152606490fd5b9181601f840112156100b35782359167ffffffffffffffff83116100b3576020808501948460051b0101116100b357565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106104ac57505050505090565b90919293946020806060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84808d5180511515865201516040828601528051918291826040880152018686015e5f858286010152011601019701930193019193929061049d565b604051906040820182811067ffffffffffffffff82111761055f57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761055f57604052565b67ffffffffffffffff811161055f5760051b60200190565b906105fa6105f5836105d0565b61058c565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061062882946105d0565b01905f5b82811061063857505050565b60209061064361053f565b5f81526060838201528282850101520161062c565b3573ffffffffffffffffffffffffffffffffffffffff811681036100b35790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100b3570180359067ffffffffffffffff82116100b3576020019181360383136100b357565b3d1561071e573d9067ffffffffffffffff821161055f5761071260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160161058c565b9182523d5f602084013e565b606090565b80518210156107375760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b3580151581036100b3579056fea2646970667358221220d15ba587833d285de2ae313b5bc0b60766daf63461a11d37ec63afc45d49b39d64736f6c634300081e0033","sourceMap":"299:1660:69:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;618:81;;725:38;;;;:::i;:::-;778:13;299:1660;;;;;;;773:407;811:3;793:16;;;;;;299:1660;;;;;;;;;;;;;;1073:17;299:1660;;928:11;;;;:::i;:::-;945:13;;299:1660;945:13;;;;:::i;:::-;299:1660;;;;;;;;;;;;;;;928:31;;;;;;;:::i;:::-;299:1660;;;:::i;:::-;;;;;;;;992:62;;;299:1660;973:81;;;;:::i;:::-;;;;;;:::i;:::-;;1073:17;;:::i;:::-;1072:18;:30;;;;811:3;1068:102;;;299:1660;;778:13;;1068:102;299:1660;;1122:33;;;299:1660;;1122:33;;299:1660;;;;;;;;;;;;;1122:33;1072:30;;;;;;793:16;299:1660;;;;793:16;299:1660;;:::i;:::-;;;;618:81;299:1660;;648:40;;;299:1660;;648:40;;299:1660;;;;;;;;;;;;;1122:33;299:1660;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;1365:81;;1472:38;;;;;:::i;:::-;1525:13;299:1660;;;;;;;1520:431;1558:3;1540:16;;;;;;299:1660;;;;;;;;;;;;;;1844:17;299:1660;;1680:11;;;;:::i;:::-;1716:13;;;;;;:::i;:::-;299:1660;;;;;;;;;;;;;;1680:50;1704:10;299:1660;1704:10;;299:1660;1680:50;;;;;;:::i;1844:17::-;1843:18;:30;;;;1558:3;1839:102;;;299:1660;;1525:13;;1843:30;;;;;;1365:81;1395:40;;;299:1660;;1395:40;;299:1660;;;;;;;;;;;;;1122:33;299:1660;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;299:1660:69;;;;;-1:-1:-1;299:1660:69;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;299:1660:69;;;;;;;;;:::o;:::-;;;;;:::i;:::-;-1:-1:-1;299:1660:69;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;299:1660:69;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"aggregate3((address,bool,bytes)[])":"82ad56cb","aggregate3Value((address,bool,uint256,bytes)[])":"174dea71","setShouldFail(bool)":"a5aa5c12","shouldFail()":"678d2204"}}}},"test/mocks/MockNonStandardERC20.sol":{"MockNonStandardERC20":{"abi":[{"type":"constructor","inputs":[{"name":"initialSupply","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"initialSupply\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Mimics tokens like USDT that don't follow the ERC20 standard strictly\",\"kind\":\"dev\",\"methods\":{\"transfer(address,uint256)\":{\"details\":\"This mimics USDT's behavior where transfer doesn't return a value\"},\"transferFrom(address,address,uint256)\":{\"details\":\"This mimics USDT's behavior where transferFrom doesn't return a value\"}},\"title\":\"MockNonStandardERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"approve(address,uint256)\":{\"notice\":\"Approve spender to spend tokens - DOES return a boolean (standard)\"},\"mint(address,uint256)\":{\"notice\":\"Mint tokens for testing\"},\"transfer(address,uint256)\":{\"notice\":\"Transfer tokens - DOES NOT RETURN A BOOLEAN (non-standard)\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Transfer tokens from one address to another - DOES NOT RETURN A BOOLEAN (non-standard)\"}},\"notice\":\"Mock ERC20 token that doesn't return boolean from transfer/transferFrom\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/MockNonStandardERC20.sol\":\"MockNonStandardERC20\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"test/mocks/MockNonStandardERC20.sol\":{\"keccak256\":\"0xb6c02a6add0f642cd85c550be6ed86305a09cb9d01bd0b15070e50112e943fd9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e438e16d33b914174ab53a8317d45ccbaa009496f9349e219c522cb82dfe3987\",\"dweb:/ipfs/QmQQKgZhq7TFBirdYq7zRjo6KpWoS7DE6fgqqaugbsTnu8\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60803461018357601f610c1538819003918201601f19168301916001600160401b038311848410176101875780849260209460405283398101031261018357516100495f5461019b565b601f811161013c575b507f4e6f6e2d5374616e6461726420546f6b656e00000000000000000000000000245f556001546100829061019b565b601f81116100f4575b506006621394d560ea1b01600155600660ff19600254161760025580600355335f5260046020528060405f20556040519081525f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a3604051610a4190816101d48239f35b60015f52601f0160051c7fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6908101905b818110610131575061008b565b5f8155600101610124565b5f8052601f0160051c7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563908101905b8181106101785750610052565b5f815560010161016b565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b90600182811c921680156101c9575b60208310146101b557565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101aa56fe60806040526004361015610011575f80fd5b5f3560e01c806306fdde031461079e578063095ea7b3146106fb57806318160ddd146106c057806323b872dd1461051d578063313ce567146104df57806340c10f191461043957806370a08231146103d657806395d89b41146101e1578063a9059cbb146101175763dd62ed3e14610087575f80fd5b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576100be610919565b73ffffffffffffffffffffffffffffffffffffffff6100db61093c565b91165f52600560205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101135761014e610919565b73ffffffffffffffffffffffffffffffffffffffff60243591335f52600460205261017f8360405f2054101561095f565b335f52600460205260405f206101968482546109c4565b90551690815f52600460205260405f206101b18282546109fe565b90556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3005b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576040515f600154908160011c600183169283156103cc575b60208210841461039f57818552849390811561033f57506001146102c5575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff821181831017610298576040829052819061029490826108d1565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60015f90815291507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b81831061032357505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610246565b60209193508060019154838588010152019101909183926102ef565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09050610246565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f1690610227565b346101135760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101135773ffffffffffffffffffffffffffffffffffffffff610422610919565b165f526004602052602060405f2054604051908152f35b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610470610919565b5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602073ffffffffffffffffffffffffffffffffffffffff602435946104b9866003546109fe565b600355169384845260048252604084206104d48282546109fe565b9055604051908152a3005b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357602060ff60025416604051908152f35b346101135760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610554610919565b61055c61093c565b73ffffffffffffffffffffffffffffffffffffffff604435921690815f52600460205261058f8360405f2054101561095f565b815f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528260405f20541061066257602073ffffffffffffffffffffffffffffffffffffffff7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92845f526004835260405f206106118782546109c4565b90551693845f526004825260405f2061062b8282546109fe565b9055835f526005825260405f2073ffffffffffffffffffffffffffffffffffffffff33165f52825260405f206104d48282546109c4565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e73756666696369656e7420616c6c6f77616e6365000000000000000000006044820152fd5b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576020600354604051908152f35b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610732610919565b73ffffffffffffffffffffffffffffffffffffffff60243591335f52600560205260405f208282165f526020528260405f205560405192835216907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576040515f5f54908160011c600183169283156108c7575b60208210841461039f57818552849390811561033f575060011461084f575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff821181831017610298576040829052819061029490826108d1565b5f80805291507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8183106108ab57505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610246565b6020919350806001915483858801015201910190918392610877565b90607f16906107e3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011357565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011357565b1561096657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e742062616c616e63650000000000000000000000006044820152fd5b919082039182116109d157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919082018092116109d15756fea2646970667358221220bc55045891b519b0b5f8315ee228d5b1d217d0df546e371d3a4b30023541a0b764736f6c634300081e0033","sourceMap":"258:2288:70:-:0;;;;;;;;;;;;;-1:-1:-1;;258:2288:70;;;;-1:-1:-1;;;;;258:2288:70;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;258:2288:70;;:::i;:::-;;;;;;-1:-1:-1;;258:2288:70;-1:-1:-1;258:2288:70;;;;;;:::i;:::-;;;;;;-1:-1:-1;258:2288:70;;-1:-1:-1;;;258:2288:70;;;;;;399:1;258:2288;;;399:1;258:2288;;;;813:10;-1:-1:-1;258:2288:70;803:9;258:2288;;;;-1:-1:-1;258:2288:70;;;;;;;-1:-1:-1;855:47:70;258:2288;813:10;855:47;;258:2288;;;;;;;;;;;-1:-1:-1;258:2288:70;;;;;;;;;;;;;;;;;;;;-1:-1:-1;258:2288:70;;;;;;;-1:-1:-1;258:2288:70;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;258:2288:70;;;;;;;-1:-1:-1;258:2288:70;;;;;;-1:-1:-1;258:2288:70;;;;;-1:-1:-1;258:2288:70;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60806040526004361015610011575f80fd5b5f3560e01c806306fdde031461079e578063095ea7b3146106fb57806318160ddd146106c057806323b872dd1461051d578063313ce567146104df57806340c10f191461043957806370a08231146103d657806395d89b41146101e1578063a9059cbb146101175763dd62ed3e14610087575f80fd5b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576100be610919565b73ffffffffffffffffffffffffffffffffffffffff6100db61093c565b91165f52600560205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101135761014e610919565b73ffffffffffffffffffffffffffffffffffffffff60243591335f52600460205261017f8360405f2054101561095f565b335f52600460205260405f206101968482546109c4565b90551690815f52600460205260405f206101b18282546109fe565b90556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3005b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576040515f600154908160011c600183169283156103cc575b60208210841461039f57818552849390811561033f57506001146102c5575b5003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff821181831017610298576040829052819061029490826108d1565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60015f90815291507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b81831061032357505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610246565b60209193508060019154838588010152019101909183926102ef565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b840190910191507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09050610246565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f1690610227565b346101135760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101135773ffffffffffffffffffffffffffffffffffffffff610422610919565b165f526004602052602060405f2054604051908152f35b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610470610919565b5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602073ffffffffffffffffffffffffffffffffffffffff602435946104b9866003546109fe565b600355169384845260048252604084206104d48282546109fe565b9055604051908152a3005b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357602060ff60025416604051908152f35b346101135760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610554610919565b61055c61093c565b73ffffffffffffffffffffffffffffffffffffffff604435921690815f52600460205261058f8360405f2054101561095f565b815f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528260405f20541061066257602073ffffffffffffffffffffffffffffffffffffffff7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92845f526004835260405f206106118782546109c4565b90551693845f526004825260405f2061062b8282546109fe565b9055835f526005825260405f2073ffffffffffffffffffffffffffffffffffffffff33165f52825260405f206104d48282546109c4565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e73756666696369656e7420616c6c6f77616e6365000000000000000000006044820152fd5b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576020600354604051908152f35b346101135760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011357610732610919565b73ffffffffffffffffffffffffffffffffffffffff60243591335f52600560205260405f208282165f526020528260405f205560405192835216907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b34610113575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610113576040515f5f54908160011c600183169283156108c7575b60208210841461039f57818552849390811561033f575060011461084f575003601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01681019067ffffffffffffffff821181831017610298576040829052819061029490826108d1565b5f80805291507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8183106108ab57505081016020017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610246565b6020919350806001915483858801015201910190918392610877565b90607f16906107e3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011357565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011357565b1561096657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e73756666696369656e742062616c616e63650000000000000000000000006044820152fd5b919082039182116109d157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919082018092116109d15756fea2646970667358221220bc55045891b519b0b5f8315ee228d5b1d217d0df546e371d3a4b30023541a0b764736f6c634300081e0033","sourceMap":"258:2288:70:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;489:64;258:2288;;;;;;489:64;258:2288;-1:-1:-1;258:2288:70;;;;;-1:-1:-1;258:2288:70;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;1163:10;;258:2288;;;;;1145:63;258:2288;;;;;1153:30;;1145:63;:::i;:::-;1163:10;258:2288;;;;;;;;1218:30;258:2288;;;1218:30;:::i;:::-;258:2288;;;;;;;;;;;;;1258:22;258:2288;;;1258:22;:::i;:::-;258:2288;;;;;;;1295:31;258:2288;1163:10;1295:31;;258:2288;;;;;;;;;;;;;;;341:28;258:2288;;;341:28;258:2288;341:28;258:2288;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;258:2288:70;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;341:28;258:2288;;;;;-1:-1:-1;258:2288:70;;;;;;;-1:-1:-1;;258:2288:70;;;;;;;;;;;;;341:28;258:2288;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;258:2288:70;;-1:-1:-1;258:2288:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2505:32;258:2288;;;;;2436:21;258:2288;2436:21;258:2288;2436:21;:::i;:::-;;258:2288;;;;;;;;;;;;2467:23;258:2288;;;2467:23;:::i;:::-;258:2288;;;;;;;2505:32;258:2288;;;;;;;;;;;;;;375:25;258:2288;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;1667:57;258:2288;;;;;1675:24;;1667:57;:::i;:::-;258:2288;;;1742:9;258:2288;;;;;;1758:10;258:2288;-1:-1:-1;258:2288:70;;;;;-1:-1:-1;258:2288:70;;1742:36;258:2288;;;;1934:25;258:2288;;;;;;;;;;1816:24;258:2288;;;1816:24;:::i;:::-;258:2288;;;;;;;;;;;;;1850:22;258:2288;;;1850:22;:::i;:::-;258:2288;;;;;1742:9;258:2288;;;;;;1758:10;258:2288;-1:-1:-1;258:2288:70;;;;-1:-1:-1;258:2288:70;1882:36;258:2288;;;1882:36;:::i;258:2288::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;406:26;258:2288;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;2209:10;;258:2288;;2199:9;258:2288;;;;;;;;-1:-1:-1;258:2288:70;;;;;-1:-1:-1;258:2288:70;;;;;;;;2209:10;2252:36;258:2288;2209:10;2252:36;;258:2288;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;258:2288:70;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;258:2288:70;;;;;;;-1:-1:-1;;258:2288:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","mint(address,uint256)":"40c10f19","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}}}},"test/mocks/MockSenderGetter.sol":{"MockSenderGetter":{"abi":[{"type":"function","name":"getSender","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/mocks/MockSenderGetter.sol\":\"MockSenderGetter\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"test/mocks/MockSenderGetter.sol\":{\"keccak256\":\"0x2e3186f5cfceae7d964e5638d61da8cdbf7b51d30ad4b44c2f7f4c2477e326ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://134491c33d481d8628feab0f2c533d560458119c66ee95a99367ba834efb8f00\",\"dweb:/ipfs/QmP5C93TNdJehXs2XkdQkD7AXgZ9EeJ2FcqagwkP73kLVb\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346013576091908160188239f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c635e01eb5a146023575f80fd5b346057575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605757602090338152f35b5f80fdfea26469706673582212205f55ad5e47296d566efef322f8f119c6af20cacbd4f659718157eeac617e410164736f6c634300081e0033","sourceMap":"238:121:71:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60808060405260043610156011575f80fd5b5f3560e01c635e01eb5a146023575f80fd5b346057575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605757602090338152f35b5f80fdfea26469706673582212205f55ad5e47296d566efef322f8f119c6af20cacbd4f659718157eeac617e410164736f6c634300081e0033","sourceMap":"238:121:71:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;340:10;;238:121;;;;;;","linkReferences":{}},"methodIdentifiers":{"getSender()":"5e01eb5a"}}}},"test/script/TrailsIntentEntrypoint.s.t.sol":{"TrailsIntentEntrypointDeploymentTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_DeployIntentEntrypoint_SameAddress","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_DeployIntentEntrypoint_Success","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_DeployedIntentEntrypoint_HasCorrectConfiguration","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"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\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_DeployIntentEntrypoint_SameAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_DeployIntentEntrypoint_Success\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_DeployedIntentEntrypoint_HasCorrectConfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/script/TrailsIntentEntrypoint.s.t.sol\":\"TrailsIntentEntrypointDeploymentTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/erc2470-libs/script/SingletonDeployer.s.sol\":{\"keccak256\":\"0x3fdec03d51d77fcda6d6c681e26e7c8d4b85f1457eac91e0ec15411a7ab1e1f6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a690bf4481a37f3f77acdeecac089462db83f0437307610981b24c04b5202f6e\",\"dweb:/ipfs/QmUA9TSjAkqefNBW8BiRqg8XDJiJxJPxSsZHQwJJAbrYQg\"]},\"lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x69f55097613b5f799fc433819715bdf3c5cbf785c68552512f0a0f5382fd7d04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c87c85b779707e85e58e79c3ae3394f3a024fd4d831b94ce4eb411ee20de48b6\",\"dweb:/ipfs/QmdDsm82edRT28MfhgCEAiXH5WTdtrH5MAppRup5RmbzH5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x6f9ed073e3dab12233a79cd85153f72c9e0f99c1f5512f6d5b1ef09fb46abbb0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://093d2a804b792a0000883c2215585963ed98ec4341b45bc4224844623387d161\",\"dweb:/ipfs/QmR5shjVosAoxdmY3EfkUWgFNV4CVUcbRNS7tkvbipssPX\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x4f7de0846587a28ea3623077dd809d53f08ad6176738ce1cedf272cb7bc2a107\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a189921ec61afa7c7348a1699b2550dcba5fb449ae8966e91ef3acd2dc60a4a\",\"dweb:/ipfs/Qma7cmxAGYyMPiEtH2Bv5QNHFmob88ZE6qYfZKFzuW8A4U\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"script/TrailsIntentEntrypoint.s.sol\":{\"keccak256\":\"0xab27ee8becdd50cf88ba1cf04e68cb6d80d49e380c6bed7a7eddcfec1c6b0a26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd629911a8a7ea1aba0c76f68fee808efeaf974d4e22963282656fdfb18ef4bb\",\"dweb:/ipfs/QmTn9Ldirnur8J79zp8ZUZNZJFgcPHHN8reqHpyMoSvqBh\"]},\"src/TrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x095a96c9100409f00dff1193b1f7489763e3a2b3d3a73a4e684a5b8d5384219c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75826e1d2f658a3edfeea2251ffd6128c563a2989382743def54f911be1d5c34\",\"dweb:/ipfs/QmNQZxaq6Tbm7XGC9jNvhCfZU3d1b3adkot38sCFze7yeR\"]},\"src/interfaces/ITrailsIntentEntrypoint.sol\":{\"keccak256\":\"0x78527a499f07b4dd729a294f2616d727f2d25d505b29f0d2758af6958d157ef4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5955cc80d7c662efb07420a6e43fe9d5d0111ff5d5bcd059ca8727f99a6fe9d3\",\"dweb:/ipfs/Qmd47ZRVEMgzUDFXXc3UvVNpeEbrs2pte4vsFy5bPsRPVf\"]},\"test/script/TrailsIntentEntrypoint.s.t.sol\":{\"keccak256\":\"0x617e672bbae4ae701fcc519e08c9ea3bb00b971a47cdf2fe35d61eafec42fe6d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d66fe06d184db131a0134b1a7dd413058e91c3917f13e353937894e746cea032\",\"dweb:/ipfs/QmTpDfHPDLxg2K6DUCU7YSVPG7PFgJa7BBuU8X2p9pyCdB\"]},\"test/utils/Create2Utils.sol\":{\"keccak256\":\"0xe5b36a1cdb5827185a7948737c4f61eca071f949c6d7f57339ebaaaee948bbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63655eac25e4f37b069b136660b1585c8be05e749f6dd513ed9a763be83fcb9e\",\"dweb:/ipfs/QmdjR1QrAPUYN8LvsrGk2f1ZvVVfQ2aqPdKqmuSf8H1DpV\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f5561503e90816100348239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630a9254e414611724575080631ed7831c1461167b578063207ed43d146113e65780632ade3880146111b25780633e5e3c23146111095780633f7286f41461106057806366d9a9a014610efd5780637ae061051461095857806385226c81146108a85780638cca1cf91461046e578063916a17c614610399578063b0464fdc146102c4578063b5508aa91461020d578063ba414fa6146101ca578063e20c9f71146101115763fa7626d4146100ce575f80fd5b3461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602060ff601f54166040519015158152f35b80fd5b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b81811061019e5761019a8561018e81870382611d6a565b60405191829182611af5565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610177565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602061020361218c565b6040519015158152f35b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760195461024881611ece565b916102566040519384611d6a565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b838310610298576040518061019a8782611bdc565b6001602081926040516102b6816102af8189611dab565b0382611d6a565b815201920192019190610283565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601c546102ff81611ece565b9161030d6040519384611d6a565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b83831061034f576040518061019a8782611c59565b6002602060019260405161036281611d4e565b73ffffffffffffffffffffffffffffffffffffffff8654168152610387858701611ee6565b8382015281520192019201919061033a565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601d546103d481611ece565b916103e26040519384611d6a565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b838310610424576040518061019a8782611c59565b6002602060019260405161043781611d4e565b73ffffffffffffffffffffffffffffffffffffffff865416815261045c858701611ee6565b8382015281520192019201919061040f565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee0000000000000000000000000000000000000000000000000000000081528181806104ee60048201611e4b565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457610893575b505061051d612265565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561083057816040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156108345761087e575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610830578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af1801561083457610869575b505073ffffffffffffffffffffffffffffffffffffffff1661066a813b151560405190610615606083611d6a565b603182527f4669727374206465706c6f796d656e743a20547261696c73496e74656e74456e60208301527f747279706f696e74206465706c6f796564000000000000000000000000000000604083015261230f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561083057816040517f3d5923ee0000000000000000000000000000000000000000000000000000000081528181806106bb60048201611e4b565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457610854575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561083057816040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156108345761083f575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610830578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156108345761081b575b50610818823b1515604051906107c3606083611d6a565b603882527f5365636f6e64206465706c6f796d656e743a20547261696c73496e74656e744560208301527f6e747279706f696e74207374696c6c206465706c6f7965640000000000000000604083015261230f565b80f35b8161082591611d6a565b61083057815f6107ac565b5080fd5b6040513d84823e3d90fd5b8161084991611d6a565b61083057815f61074c565b8161085e91611d6a565b61083057815f6106e0565b8161087391611d6a565b61083057815f6105e7565b8161088891611d6a565b61083057815f610587565b8161089d91611d6a565b61010e57805f610513565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601a546108e381611ece565b916108f16040519384611d6a565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310610933576040518061019a8782611bdc565b60016020819260405161094a816102af8189611dab565b81520192019201919061091e565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee0000000000000000000000000000000000000000000000000000000081528181806109d860048201611e4b565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457610ee8575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610ee5578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af1801561083457610ed0575b505073ffffffffffffffffffffffffffffffffffffffff610a7c612265565b16610a92813b1515610a8c611e93565b9061230f565b6040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481855afa8015610e91578390610e9c575b610b39915060405190610ae2606083611d6a565b602682527f446f6d61696e20736570617261746f722073686f756c6420626520696e69746960208301527f616c697a65640000000000000000000000000000000000000000000000000000604083015215156123b6565b6040517fffa1ad740000000000000000000000000000000000000000000000000000000081528281600481855afa908115610e91578391610db7575b5082604091825190610b878483611d6a565b600182527f310000000000000000000000000000000000000000000000000000000000000060208301528351610bbd8582611d6a565b601381527f56657273696f6e2073686f756c642062652031000000000000000000000000006020820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610db3578391610ca9610c4992610c79885196879586957f36f656d8000000000000000000000000000000000000000000000000000000008752606060048801526064870190611b44565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc868303016024870152611b44565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc848303016044850152611b44565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610da957610d90575b505060206004928251938480927ff39610400000000000000000000000000000000000000000000000000000000082525afa8015610d86578390610d4e575b6108189250610d1d82519283611d6a565b601d82527f496e74656e742074797065686173682073686f756c6420626520736574000000602083015215156123b6565b506020823d602011610d7e575b81610d6860209383611d6a565b81010312610d7a576108189151610d0c565b5f80fd5b3d9150610d5b565b81513d85823e3d90fd5b81610d9a91611d6a565b610da557825f610ccd565b8280fd5b83513d84823e3d90fd5b8380fd5b90503d8084833e610dc88183611d6a565b810190602081830312610db35780519067ffffffffffffffff8211610e8d570181601f82011215610db357805167ffffffffffffffff8111610e6057908160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f889501160193610e3e6040519586611d6a565b81855260208284010111610da5578060208093018386015e830101525f610b75565b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8480fd5b6040513d85823e3d90fd5b506020813d602011610ec8575b81610eb660209383611d6a565b81010312610d7a57610b399051610ace565b3d9150610ea9565b81610eda91611d6a565b61010e57805f610a5d565b50fd5b81610ef291611d6a565b61010e57805f6109fd565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601b54610f3881611ece565b610f456040519182611d6a565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b83831061101d57868587604051928392602084019060208552518091526040840160408260051b8601019392905b828210610fb257505050500390f35b9193602061100d827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288519083610ffd8351604084526040840190611b44565b9201519084818403910152611b87565b9601920192018594939192610fa3565b6002602060019260405161103081611d4e565b604051611041816102af818a611dab565b815261104e858701611ee6565b83820152815201920192019190610f75565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601754928381520191601782527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15915b8181106110dd5761019a8561018e81870382611d6a565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016110c6565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601854928381520191601882527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e915b8181106111865761019a8561018e81870382611d6a565b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920161116f565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601e546111ed81611ece565b6111fa6040519182611d6a565b818152601e83526020810191837f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350845b8383106113485786858760405192839260208401906020855251809152604084019160408260051b8601019392815b8383106112665786860387f35b9193957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09086929496030183528551906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b850101940192855b8281106112ff57505050505060208060019297019301930190928695949293611259565b909192939460208061133b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951611b44565b97019501939291016112db565b60405161135481611d4e565b73ffffffffffffffffffffffffffffffffffffffff835416815260018301805461137d81611ece565b9161138b6040519384611d6a565b8183528a526020808b20908b9084015b8382106113c157505050506001928260209283600295015281520192019201919061122a565b6001602081926040516113d8816102af818a611dab565b81520193019101909161139b565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061146660048201611e4b565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457611666575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457611651575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610ee5578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156108345761163c575b50506004602073ffffffffffffffffffffffffffffffffffffffff61157a612265565b1661158a813b1515610a8c611e93565b604051928380927f3644e5150000000000000000000000000000000000000000000000000000000082525afa8015610834578290611608575b6108189150604051906115d7604083611d6a565b601e82527f446f6d61696e20736570617261746f722073686f756c64206265207365740000602083015215156123b6565b506020813d602011611634575b8161162260209383611d6a565b81010312610d7a5761081890516115c3565b3d9150611615565b8161164691611d6a565b61010e57805f611557565b8161165b91611d6a565b61010e57805f6114f7565b8161167091611d6a565b61010e57805f61148b565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601654928381520191601682527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289915b8181106116f85761019a8561018e81870382611d6a565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016116e1565b905034610d7a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d7a57611dbc80820182811067ffffffffffffffff821117611ac8578291612424833903905ff080156119f8577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f557fac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff806021556117f2602254611cfd565b601f8111611a66575b50608560225560225f527f30786163303937346265633339613137653336626134613662346432333866667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510557f39343462616362343738636265643565666361653738346437626634663266667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e511557f38300000000000000000000000000000000000000000000000000000000000007f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e51255602154604051907fffa186490000000000000000000000000000000000000000000000000000000082526004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156119f8575f90611a03575b73ffffffffffffffffffffffffffffffffffffffff915016807fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d7a57604051907fc88a5e6d000000000000000000000000000000000000000000000000000000008252600482015268056bc75e2d6310000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156119f8576119ea575080f35b6119f691505f90611d6a565b005b6040513d5f823e3d90fd5b506020813d602011611a5e575b81611a1d60209383611d6a565b81010312610d7a575173ffffffffffffffffffffffffffffffffffffffff81168103610d7a5773ffffffffffffffffffffffffffffffffffffffff90611927565b3d9150611a10565b601f0160051c7f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510017f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5135b818110611abd57506117fb565b5f8155600101611ab0565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60206040818301928281528451809452019201905f5b818110611b185750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611b0b565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110611ba45750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101611b97565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611c0e57505050505090565b9091929394602080611c4a837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951611b44565b97019301930191939290611bff565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611c8b57505050505090565b9091929394602080611cee837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190611b87565b97019301930191939290611c7c565b90600182811c92168015611d44575b6020831014611d1757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691611d0c565b6040810190811067ffffffffffffffff821117611ac857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611ac857604052565b5f9291815491611dba83611cfd565b8083529260018116908115611e0f5750600114611dd657505050565b5f9081526020812093945091925b838310611df5575060209250010190565b600181602092949394548385870101520191019190611de4565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b6080611e909160408152600b60408201527f505249564154455f4b45590000000000000000000000000000000000000000006060820152816020820152016022611dab565b90565b60405190611ea2604083611d6a565b601b82527f456e747279706f696e742073686f756c64206861766520636f646500000000006020830152565b67ffffffffffffffff8111611ac85760051b60200190565b90604051918281549182825260208201905f5260205f20925f905b8060078301106120ff57611f579454918181106120c9575b818110612093575b81811061205d575b818110612027575b818110611ff1575b818110611fbb575b818110611f86575b10611f59575b500383611d6a565b565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611f4f565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301611f49565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301611f41565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301611f39565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301611f31565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301611f29565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301611f21565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301611f19565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391611f01565b60085460ff161561219c57600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156119f8575f91612233575b50151590565b90506020813d60201161225d575b8161224e60209383611d6a565b81010312610d7a57515f61222d565b3d9150612241565b73ffffffffffffffffffffffffffffffffffffffff610e2960405161228d6020830182611d6a565b81815260208101916141e0833951902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301525f6035830152605582015260558152612308607582611d6a565b5190201690565b15156001810361231d575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d7a57612386915f9160405193849283927f4db19e7e000000000000000000000000000000000000000000000000000000008452600484015260016024840152606060448401526064830190611b44565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156119f8576123ac5750565b5f611f5791611d6a565b15806123c0575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d7a57612386915f9160405193849283927fa34edc03000000000000000000000000000000000000000000000000000000008452156004840152604060248401526044830190611b4456fe608080604052346026576201000162ff00ff19600c541617600c55611d91908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c908163c04062261461007a575063f8ccbf4714610034575f80fd5b3461007757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261007757602060ff600c5460101c166040519015158152f35b80fd5b905034610c90575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c90577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610c85575f91610ce5575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610c85575f90610c94575b6101c59150604051610196604082610d17565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610dc8565b610e299082604051916101db6020850184610d17565b8383526020830193610f338539604051936101f7604086610d17565b601685527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610698575b73ffffffffffffffffffffffffffffffffffffffff908451902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528560358301526055820152605581526102c5607582610d17565b51902016936002853b11610647578461031691604051906102e7604083610d17565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610e6f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561064357604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105c95761062e575b505060206103c891604051809381927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610d85565b86602483015203818673ce0042b868300000d44a59004da54a005ffdcf9f5af19081156106235783916105d4575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156105c557826040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105c9576105b0575b505073ffffffffffffffffffffffffffffffffffffffff168103610552576002813b11156104f4576104f1905b60405161049c606082610d17565b602381527f547261696c73496e74656e74456e747279706f696e74206465706c6f7965642060208201527f61743a00000000000000000000000000000000000000000000000000000000006040820152610dc8565b80f35b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b816105ba91610d17565b6105c557825f610461565b8280fd5b6040513d84823e3d90fd5b90506020813d60201161061b575b816105ef60209383610d17565b810103126105c5575173ffffffffffffffffffffffffffffffffffffffff811681036105c5575f6103f6565b3d91506105e2565b6040513d85823e3d90fd5b8161063891610d17565b6105c557825f610385565b5080fd5b8493506104f1949150610693925060405190610664604083610d17565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610e6f565b61048e565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610a1d575b5f8061073961077f6040516106d2604082610d17565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610d85565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa506040516107a36101a082610d17565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610a1957836109ca91604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610d85565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610a0e5784916109f9575b5050610240565b81610a0391610d17565b6105c557825f6109f2565b6040513d86823e3d90fd5b8380fd5b9091505f80610a9d610ac9604051610a36604082610d17565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610d85565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610c90576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610c8557610c70575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610c435786808080969594819482906657c084e5f3c00014610c3a575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f1156105c957737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156105c5576040517f76eadd36000000000000000000000000000000000000000000000000000000008152838160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610a0e578491610c25575b50506106bc565b81610c2f91610d17565b6105c557825f610c1e565b506108fc610b96565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610c7d9195505f90610d17565b5f935f610b4d565b6040513d5f823e3d90fd5b5f80fd5b506020813d602011610cdd575b81610cae60209383610d17565b81010312610c90575173ffffffffffffffffffffffffffffffffffffffff81168103610c90576101c590610183565b3d9150610ca1565b90506020813d602011610d0f575b81610d0060209383610d17565b81010312610c9057515f61012c565b3d9150610cf3565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610d5857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610e25610e585f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610d85565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa50565b610e58610ecf915f9473ffffffffffffffffffffffffffffffffffffffff610eff87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610d85565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610d85565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d1756fe6080806040523460395760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055610deb908161003e8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033a2646970667358221220fb54faff40f8d444e27e4a7c939db219bfaa3a95982c1885e28c7e9f1e0081bf64736f6c634300081e00336080806040523460395760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055610deb908161003e8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033a2646970667358221220093e8103c2a4097405bd859edba44a72145e604052ddfc57a1cc8c8d883769b764736f6c634300081e0033","sourceMap":"499:4261:72:-:0;;;;;;;3200:4:5;499:4261:72;;3200:4:5;499:4261:72;;;3200:4:5;499:4261:72;3200:4:5;499:4261:72;;1087:4:16;499:4261:72;;;1087:4:16;499:4261:72;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f905f3560e01c9081630a9254e414611724575080631ed7831c1461167b578063207ed43d146113e65780632ade3880146111b25780633e5e3c23146111095780633f7286f41461106057806366d9a9a014610efd5780637ae061051461095857806385226c81146108a85780638cca1cf91461046e578063916a17c614610399578063b0464fdc146102c4578063b5508aa91461020d578063ba414fa6146101ca578063e20c9f71146101115763fa7626d4146100ce575f80fd5b3461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602060ff601f54166040519015158152f35b80fd5b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b81811061019e5761019a8561018e81870382611d6a565b60405191829182611af5565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610177565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602061020361218c565b6040519015158152f35b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760195461024881611ece565b916102566040519384611d6a565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b838310610298576040518061019a8782611bdc565b6001602081926040516102b6816102af8189611dab565b0382611d6a565b815201920192019190610283565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601c546102ff81611ece565b9161030d6040519384611d6a565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b83831061034f576040518061019a8782611c59565b6002602060019260405161036281611d4e565b73ffffffffffffffffffffffffffffffffffffffff8654168152610387858701611ee6565b8382015281520192019201919061033a565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601d546103d481611ece565b916103e26040519384611d6a565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b838310610424576040518061019a8782611c59565b6002602060019260405161043781611d4e565b73ffffffffffffffffffffffffffffffffffffffff865416815261045c858701611ee6565b8382015281520192019201919061040f565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee0000000000000000000000000000000000000000000000000000000081528181806104ee60048201611e4b565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457610893575b505061051d612265565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561083057816040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156108345761087e575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610830578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af1801561083457610869575b505073ffffffffffffffffffffffffffffffffffffffff1661066a813b151560405190610615606083611d6a565b603182527f4669727374206465706c6f796d656e743a20547261696c73496e74656e74456e60208301527f747279706f696e74206465706c6f796564000000000000000000000000000000604083015261230f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561083057816040517f3d5923ee0000000000000000000000000000000000000000000000000000000081528181806106bb60048201611e4b565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457610854575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561083057816040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156108345761083f575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610830578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156108345761081b575b50610818823b1515604051906107c3606083611d6a565b603882527f5365636f6e64206465706c6f796d656e743a20547261696c73496e74656e744560208301527f6e747279706f696e74207374696c6c206465706c6f7965640000000000000000604083015261230f565b80f35b8161082591611d6a565b61083057815f6107ac565b5080fd5b6040513d84823e3d90fd5b8161084991611d6a565b61083057815f61074c565b8161085e91611d6a565b61083057815f6106e0565b8161087391611d6a565b61083057815f6105e7565b8161088891611d6a565b61083057815f610587565b8161089d91611d6a565b61010e57805f610513565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601a546108e381611ece565b916108f16040519384611d6a565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310610933576040518061019a8782611bdc565b60016020819260405161094a816102af8189611dab565b81520192019201919061091e565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee0000000000000000000000000000000000000000000000000000000081528181806109d860048201611e4b565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457610ee8575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610ee5578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af1801561083457610ed0575b505073ffffffffffffffffffffffffffffffffffffffff610a7c612265565b16610a92813b1515610a8c611e93565b9061230f565b6040517f3644e515000000000000000000000000000000000000000000000000000000008152602081600481855afa8015610e91578390610e9c575b610b39915060405190610ae2606083611d6a565b602682527f446f6d61696e20736570617261746f722073686f756c6420626520696e69746960208301527f616c697a65640000000000000000000000000000000000000000000000000000604083015215156123b6565b6040517fffa1ad740000000000000000000000000000000000000000000000000000000081528281600481855afa908115610e91578391610db7575b5082604091825190610b878483611d6a565b600182527f310000000000000000000000000000000000000000000000000000000000000060208301528351610bbd8582611d6a565b601381527f56657273696f6e2073686f756c642062652031000000000000000000000000006020820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610db3578391610ca9610c4992610c79885196879586957f36f656d8000000000000000000000000000000000000000000000000000000008752606060048801526064870190611b44565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc868303016024870152611b44565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc848303016044850152611b44565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610da957610d90575b505060206004928251938480927ff39610400000000000000000000000000000000000000000000000000000000082525afa8015610d86578390610d4e575b6108189250610d1d82519283611d6a565b601d82527f496e74656e742074797065686173682073686f756c6420626520736574000000602083015215156123b6565b506020823d602011610d7e575b81610d6860209383611d6a565b81010312610d7a576108189151610d0c565b5f80fd5b3d9150610d5b565b81513d85823e3d90fd5b81610d9a91611d6a565b610da557825f610ccd565b8280fd5b83513d84823e3d90fd5b8380fd5b90503d8084833e610dc88183611d6a565b810190602081830312610db35780519067ffffffffffffffff8211610e8d570181601f82011215610db357805167ffffffffffffffff8111610e6057908160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f889501160193610e3e6040519586611d6a565b81855260208284010111610da5578060208093018386015e830101525f610b75565b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8480fd5b6040513d85823e3d90fd5b506020813d602011610ec8575b81610eb660209383611d6a565b81010312610d7a57610b399051610ace565b3d9150610ea9565b81610eda91611d6a565b61010e57805f610a5d565b50fd5b81610ef291611d6a565b61010e57805f6109fd565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601b54610f3881611ece565b610f456040519182611d6a565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b83831061101d57868587604051928392602084019060208552518091526040840160408260051b8601019392905b828210610fb257505050500390f35b9193602061100d827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288519083610ffd8351604084526040840190611b44565b9201519084818403910152611b87565b9601920192018594939192610fa3565b6002602060019260405161103081611d4e565b604051611041816102af818a611dab565b815261104e858701611ee6565b83820152815201920192019190610f75565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601754928381520191601782527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15915b8181106110dd5761019a8561018e81870382611d6a565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016110c6565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601854928381520191601882527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e915b8181106111865761019a8561018e81870382611d6a565b825473ffffffffffffffffffffffffffffffffffffffff1684526020909301926001928301920161116f565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601e546111ed81611ece565b6111fa6040519182611d6a565b818152601e83526020810191837f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350845b8383106113485786858760405192839260208401906020855251809152604084019160408260051b8601019392815b8383106112665786860387f35b9193957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09086929496030183528551906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b850101940192855b8281106112ff57505050505060208060019297019301930190928695949293611259565b909192939460208061133b837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951611b44565b97019501939291016112db565b60405161135481611d4e565b73ffffffffffffffffffffffffffffffffffffffff835416815260018301805461137d81611ece565b9161138b6040519384611d6a565b8183528a526020808b20908b9084015b8382106113c157505050506001928260209283600295015281520192019201919061122a565b6001602081926040516113d8816102af818a611dab565b81520193019101909161139b565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061146660048201611e4b565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457611666575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561083457611651575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610ee5578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156108345761163c575b50506004602073ffffffffffffffffffffffffffffffffffffffff61157a612265565b1661158a813b1515610a8c611e93565b604051928380927f3644e5150000000000000000000000000000000000000000000000000000000082525afa8015610834578290611608575b6108189150604051906115d7604083611d6a565b601e82527f446f6d61696e20736570617261746f722073686f756c64206265207365740000602083015215156123b6565b506020813d602011611634575b8161162260209383611d6a565b81010312610d7a5761081890516115c3565b3d9150611615565b8161164691611d6a565b61010e57805f611557565b8161165b91611d6a565b61010e57805f6114f7565b8161167091611d6a565b61010e57805f61148b565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601654928381520191601682527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289915b8181106116f85761019a8561018e81870382611d6a565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016116e1565b905034610d7a575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d7a57611dbc80820182811067ffffffffffffffff821117611ac8578291612424833903905ff080156119f8577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f557fac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff806021556117f2602254611cfd565b601f8111611a66575b50608560225560225f527f30786163303937346265633339613137653336626134613662346432333866667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510557f39343462616362343738636265643565666361653738346437626634663266667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e511557f38300000000000000000000000000000000000000000000000000000000000007f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e51255602154604051907fffa186490000000000000000000000000000000000000000000000000000000082526004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156119f8575f90611a03575b73ffffffffffffffffffffffffffffffffffffffff915016807fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d7a57604051907fc88a5e6d000000000000000000000000000000000000000000000000000000008252600482015268056bc75e2d6310000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156119f8576119ea575080f35b6119f691505f90611d6a565b005b6040513d5f823e3d90fd5b506020813d602011611a5e575b81611a1d60209383611d6a565b81010312610d7a575173ffffffffffffffffffffffffffffffffffffffff81168103610d7a5773ffffffffffffffffffffffffffffffffffffffff90611927565b3d9150611a10565b601f0160051c7f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510017f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5135b818110611abd57506117fb565b5f8155600101611ab0565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60206040818301928281528451809452019201905f5b818110611b185750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611b0b565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110611ba45750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101611b97565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611c0e57505050505090565b9091929394602080611c4a837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951611b44565b97019301930191939290611bff565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611c8b57505050505090565b9091929394602080611cee837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190611b87565b97019301930191939290611c7c565b90600182811c92168015611d44575b6020831014611d1757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691611d0c565b6040810190811067ffffffffffffffff821117611ac857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611ac857604052565b5f9291815491611dba83611cfd565b8083529260018116908115611e0f5750600114611dd657505050565b5f9081526020812093945091925b838310611df5575060209250010190565b600181602092949394548385870101520191019190611de4565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b6080611e909160408152600b60408201527f505249564154455f4b45590000000000000000000000000000000000000000006060820152816020820152016022611dab565b90565b60405190611ea2604083611d6a565b601b82527f456e747279706f696e742073686f756c64206861766520636f646500000000006020830152565b67ffffffffffffffff8111611ac85760051b60200190565b90604051918281549182825260208201905f5260205f20925f905b8060078301106120ff57611f579454918181106120c9575b818110612093575b81811061205d575b818110612027575b818110611ff1575b818110611fbb575b818110611f86575b10611f59575b500383611d6a565b565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611f4f565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301611f49565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301611f41565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301611f39565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301611f31565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301611f29565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301611f21565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301611f19565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391611f01565b60085460ff161561219c57600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156119f8575f91612233575b50151590565b90506020813d60201161225d575b8161224e60209383611d6a565b81010312610d7a57515f61222d565b3d9150612241565b73ffffffffffffffffffffffffffffffffffffffff610e2960405161228d6020830182611d6a565b81815260208101916141e0833951902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301525f6035830152605582015260558152612308607582611d6a565b5190201690565b15156001810361231d575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d7a57612386915f9160405193849283927f4db19e7e000000000000000000000000000000000000000000000000000000008452600484015260016024840152606060448401526064830190611b44565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156119f8576123ac5750565b5f611f5791611d6a565b15806123c0575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610d7a57612386915f9160405193849283927fa34edc03000000000000000000000000000000000000000000000000000000008452156004840152604060248401526044830190611b4456fe608080604052346026576201000162ff00ff19600c541617600c55611d91908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c908163c04062261461007a575063f8ccbf4714610034575f80fd5b3461007757807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261007757602060ff600c5460101c166040519015158152f35b80fd5b905034610c90575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610c90577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610c85575f91610ce5575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610c85575f90610c94575b6101c59150604051610196604082610d17565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610dc8565b610e299082604051916101db6020850184610d17565b8383526020830193610f338539604051936101f7604086610d17565b601685527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610698575b73ffffffffffffffffffffffffffffffffffffffff908451902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528560358301526055820152605581526102c5607582610d17565b51902016936002853b11610647578461031691604051906102e7604083610d17565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610e6f565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561064357604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105c95761062e575b505060206103c891604051809381927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610d85565b86602483015203818673ce0042b868300000d44a59004da54a005ffdcf9f5af19081156106235783916105d4575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156105c557826040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156105c9576105b0575b505073ffffffffffffffffffffffffffffffffffffffff168103610552576002813b11156104f4576104f1905b60405161049c606082610d17565b602381527f547261696c73496e74656e74456e747279706f696e74206465706c6f7965642060208201527f61743a00000000000000000000000000000000000000000000000000000000006040820152610dc8565b80f35b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b816105ba91610d17565b6105c557825f610461565b8280fd5b6040513d84823e3d90fd5b90506020813d60201161061b575b816105ef60209383610d17565b810103126105c5575173ffffffffffffffffffffffffffffffffffffffff811681036105c5575f6103f6565b3d91506105e2565b6040513d85823e3d90fd5b8161063891610d17565b6105c557825f610385565b5080fd5b8493506104f1949150610693925060405190610664604083610d17565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610e6f565b61048e565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610a1d575b5f8061073961077f6040516106d2604082610d17565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610d85565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa506040516107a36101a082610d17565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610a1957836109ca91604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610d85565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610a0e5784916109f9575b5050610240565b81610a0391610d17565b6105c557825f6109f2565b6040513d86823e3d90fd5b8380fd5b9091505f80610a9d610ac9604051610a36604082610d17565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610d85565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610c90576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610c8557610c70575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610c435786808080969594819482906657c084e5f3c00014610c3a575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f1156105c957737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156105c5576040517f76eadd36000000000000000000000000000000000000000000000000000000008152838160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610a0e578491610c25575b50506106bc565b81610c2f91610d17565b6105c557825f610c1e565b506108fc610b96565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610c7d9195505f90610d17565b5f935f610b4d565b6040513d5f823e3d90fd5b5f80fd5b506020813d602011610cdd575b81610cae60209383610d17565b81010312610c90575173ffffffffffffffffffffffffffffffffffffffff81168103610c90576101c590610183565b3d9150610ca1565b90506020813d602011610d0f575b81610d0060209383610d17565b81010312610c9057515f61012c565b3d9150610cf3565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610d5857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610e25610e585f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610d85565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d17565b6020815191016a636f6e736f6c652e6c6f675afa50565b610e58610ecf915f9473ffffffffffffffffffffffffffffffffffffffff610eff87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610d85565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610d85565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610d1756fe6080806040523460395760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055610deb908161003e8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033a2646970667358221220fb54faff40f8d444e27e4a7c939db219bfaa3a95982c1885e28c7e9f1e0081bf64736f6c634300081e00336080806040523460395760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055610deb908161003e8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633525916f14610074578063358a8f481461006f5780633644e5151461006a5780637ecebe0014610065578063f3961040146100605763ffa1ad741461005b575f80fd5b610420565b61031f565b6102bd565b61027d565b6101b1565b346100ee576101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576100ec6100af6100f2565b6100b7610115565b6044356100c2610138565b60c43560a4356084356100d361015b565b936100dc61017e565b95610124359761014435996104a4565b005b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b6064359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b60e4359073ffffffffffffffffffffffffffffffffffffffff821682036100ee57565b610104359060ff821682036100ee57565b610124359060ff821682036100ee57565b610184359060ff821682036100ee57565b346100ee576101e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576101e96100f2565b6101f1610115565b608435919060443560643573ffffffffffffffffffffffffffffffffffffffff851685036100ee5760c4359460a4356101043560e43573ffffffffffffffffffffffffffffffffffffffff821682036100ee576100ec9861025061018f565b93610144359561016435976102636101a0565b996101a4359b6101c4359d6104f3565b5f9103126100ee57565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206102b5610632565b604051908152f35b346100ee5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5773ffffffffffffffffffffffffffffffffffffffff6103096100f2565b165f525f602052602060405f2054604051908152f35b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee5760206040517f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103b857604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051906103f4604083610377565b600182527f31000000000000000000000000000000000000000000000000000000000000006020830152565b346100ee575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ee576020604061045a6103e5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f835194859381855280519182918282880152018686015e5f85828601015201168101030190f35b939787876104c895999b93976104cd9d95999b6104bf6106f2565b8b8b8b8b6107c3565b610a10565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b979c9098959b8d839b9f9398809e88889f9861051a989a9c8f8f6105156106f2565b6107c3565b888701820361060a5773ffffffffffffffffffffffffffffffffffffffff861690813b156100ee576105c59b60ff5f956040519788967fd505accf00000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff8b1660048901523060248901526044880152606487015216608485015260a484015260c4830152818360e482800301925af16105f0575b50610a10565b6105ee60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b565b806105fe5f61060493610377565b80610273565b5f6105bf565b7f7719991e000000000000000000000000000000000000000000000000000000005f5260045ffd5b604051610640604082610377565b601681527f547261696c73496e74656e74456e747279706f696e74000000000000000000006020909101527f6d66439415b4e6fbc13d1e366d159073c6bce31c472118b8f7d71febfdee95f56106946103e5565b602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526106ec60c082610377565b51902090565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146107415760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107965760010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b999795989690919293949883156109e85773ffffffffffffffffffffffffffffffffffffffff8316156109c05773ffffffffffffffffffffffffffffffffffffffff851615610998578542116109705761083a8b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548a03610948576108cc99604296601e96610140968e96604051977f928d05dfc235f9ab56a3d92e3d976b031d20778b777a2ffaab5c831b3de982c98952602089015260408801526060870152608086015260a08501524660c085015260e0840152610100830152610120820152206108b1610632565b90604051916119018352602083015260408201520120610b2d565b73ffffffffffffffffffffffffffffffffffffffff808316911603610920576109129073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b61091c8154610769565b9055565b7febe05229000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f408b2234000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb6a75fc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc1ab6dc1000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b949193929073ffffffffffffffffffffffffffffffffffffffff1692610a3885838887610b48565b8015159373ffffffffffffffffffffffffffffffffffffffff84169182151594858703610b05577f09f4cd16d9914abc5d9360254d3fc994fbf62966b22dc73ef9be9412ab8cf1579673ffffffffffffffffffffffffffffffffffffffff9681610afd575b50610ab8575b505060405195865250508116931691602090a3565b81610ac4918a85610b48565b604051908152878516907ff9bd21d06c2809553dc957f943aead09741297cdd60122e21cd1f1ffeff93b0f90602090a45f808080610aa3565b90505f610a9d565b7f4db7e851000000000000000000000000000000000000000000000000000000005f5260045ffd5b91610b459391610b3c93610c1d565b90929192610cee565b90565b92909173ffffffffffffffffffffffffffffffffffffffff9081604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615610bfe575b6040919091525f60605215610bbd5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516610c14573d15833b15151616610bab565b503d5f823e3d90fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610cac579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610ca1575f5173ffffffffffffffffffffffffffffffffffffffff811615610c9757905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115610cc157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b610cf781610cb7565b80610d00575050565b610d0981610cb7565b60018103610d39577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b610d4281610cb7565b60028103610d7657507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80610d82600392610cb7565b14610d8a5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffdfea26469706673582212202ec1b878756280615ecf5015f3a020b4222b675b3489819769bf607d12a5e37564736f6c634300081e0033a2646970667358221220093e8103c2a4097405bd859edba44a72145e604052ddfc57a1cc8c8d883769b764736f6c634300081e0033","sourceMap":"499:4261:72:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1065:26:16;499:4261:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2723:18:9;499:4261:72;;;;;;;2723:18:9;499:4261:72;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;2030:14:2;;499:4261:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2575:18:9;499:4261:72;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2575:18:9;499:4261:72;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2876:18:9;499:4261:72;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2876:18:9;499:4261:72;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;2030:14:2;;499:4261:72;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3653:18:9;499:4261:72;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3653:18:9;499:4261:72;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;2030:14:2;;499:4261:72;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:2;2935:40:72;;;;499:4261;;;2030:14:2;2935:40:72;;;;;;499:4261;2935:40;;;:::i;:::-;;;;336:42:2;2935:40:72;;;;;;;;499:4261;3056:33;;;;:::i;:::-;336:42:2;3128:15:72;;;;499:4261;;;2030:14:2;3128:15:72;;;;499:4261;3128:15;;336:42:2;3128:15:72;;;;;;;;499:4261;;;3153:13;499:4261;;;;3153:19;;;;;499:4261;;;;;;3153:19;;;;2030:14:2;3153:19:72;;;;;;;;;;499:4261;;;;;3226:100;3235:27;;:31;;499:4261;;;;;;;:::i;:::-;;;;;;;;;;;;;;3226:100;:::i;:::-;336:42:2;3393:40:72;;;;499:4261;;;2030:14:2;3393:40:72;;;;;;499:4261;3393:40;;;:::i;:::-;;;;336:42:2;3393:40:72;;;;;;;;499:4261;3523:15;;336:42:2;3523:15:72;;;;499:4261;;;2030:14:2;3523:15:72;;;;499:4261;3523:15;;336:42:2;3523:15:72;;;;;;;;499:4261;;;3153:13;499:4261;;;;3548:19;;;;;499:4261;;;;;;3548:19;;;;2030:14:2;3548:19:72;;;;;;;;;;499:4261;3658:27;3649:107;3658:27;;:31;;499:4261;;;;;;;:::i;:::-;;;;;;;;;;;;;;3649:107;:::i;:::-;499:4261;;3548:19;;;;;:::i;:::-;499:4261;;3548:19;;;;499:4261;;;;3548:19;499:4261;;;;;;;;;3523:15;;;;;:::i;:::-;499:4261;;3523:15;;;;3393:40;;;;;:::i;:::-;499:4261;;3393:40;;;;3153:19;;;;;:::i;:::-;499:4261;;3153:19;;;;3128:15;;;;;:::i;:::-;499:4261;;3128:15;;;;2935:40;;;;;:::i;:::-;499:4261;;2935:40;;;;499:4261;;;;;;;;;;;;3162:18:9;499:4261:72;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3162:18:9;499:4261:72;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;336:42:2;3851:40:72;;;;499:4261;;;2030:14:2;3851:40:72;;;;;;499:4261;3851:40;;;:::i;:::-;;;;336:42:2;3851:40:72;;;;;;;;499:4261;;;3931:13;499:4261;;;;3931:19;;;;;499:4261;;;;;;3931:19;;;;2030:14:2;3931:19:72;;;;;;;;;;499:4261;4041:33;;499:4261;4041:33;;:::i;:::-;499:4261;4224:82;4233:31;;:35;;499:4261;;:::i;:::-;4224:82;;:::i;:::-;499:4261;;2030:14:2;4410:29:72;;;;499:4261;4410:29;;;;;;;;;;;;499:4261;4449:83;499:4261;;;;;;;;;:::i;:::-;;;;;4410:29;499:4261;;;;;;;;4460:29;;4449:83;:::i;:::-;499:4261;;2030:14:2;4598:20:72;;;;499:4261;4598:20;;;;;;;;;;;;;499:4261;;;;;;;;;;;;:::i;:::-;4270:4;499:4261;;;4410:29;499:4261;;;;;;;;;:::i;:::-;;;;;4410:29;499:4261;;;336:42:2;5288:29:4;;;;499:4261:72;;;;;;;;5288:29:4;;;;;2030:14:2;5288:29:4;;499:4261:72;;5288:29:4;;499:4261:72;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;5288:29:4;;336:42:2;5288:29:4;;;;;;;;499:4261:72;;;4410:29;499:4261;;;;4668:35;;;;2030:14:2;4668:35:72;;;;;;;;;;;;499:4261;4657:94;499:4261;;;;;;;;:::i;:::-;;;;;4410:29;499:4261;;;4668:49;;4657:94;:::i;4668:35::-;;4410:29;4668:35;;4410:29;4668:35;;;;;;499:4261;4668:35;;;:::i;:::-;;;499:4261;;;;4657:94;499:4261;;4668:35;;499:4261;-1:-1:-1;499:4261:72;;4668:35;;;-1:-1:-1;4668:35:72;;;499:4261;;;;;;;;;5288:29:4;;;;;:::i;:::-;499:4261:72;;5288:29:4;;;;499:4261:72;;;;5288:29:4;499:4261:72;;;;;;;;;5288:29:4;499:4261:72;;;4598:20;;;;;;;;;;;;:::i;:::-;;;499:4261;4410:29;499:4261;;;;;;;;;;;;;;;;3931:13;499:4261;;;;;;;;;;;;;;;4410:29;499:4261;3931:13;499:4261;;;;;;;;;;;;:::i;:::-;;;;4410:29;499:4261;;;;;;;;4410:29;499:4261;;;;;;;;;;;4598:20;;;499:4261;;;;;;;;;;;;;;4598:20;499:4261;;;;;;;;;4410:29;;;;;;;;;;;;499:4261;4410:29;;;:::i;:::-;;;499:4261;;;;4449:83;499:4261;;4410:29;;;;;-1:-1:-1;4410:29:72;;3931:19;;;;;:::i;:::-;499:4261;;3931:19;;;;;499:4261;;3851:40;;;;;:::i;:::-;499:4261;;3851:40;;;;499:4261;;;;;;;;;;;;3346:26:9;499:4261:72;;;;:::i;:::-;;;;;;;:::i;:::-;;;;3346:26:9;499:4261:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:18:9;499:4261:72;;;;;;;3501:18:9;499:4261:72;;;;;;;;;;;;;;;;;;:::i;:::-;2030:14:2;;499:4261:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3794:16:9;499:4261:72;;;;;;;3794:16:9;499:4261:72;;;;;;;;;;;;;;;;;;:::i;:::-;2030:14:2;;499:4261:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3948:19:9;499:4261:72;;;;:::i;:::-;;;;;;;:::i;:::-;;;;3948:19:9;499:4261:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;2030:14:2;;499:4261:72;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;336:42:2;2193:40:72;;;;499:4261;;;2030:14:2;2193:40:72;;;;;;499:4261;2193:40;;;:::i;:::-;;;;336:42:2;2193:40:72;;;;;;;;499:4261;2244:15;;336:42:2;2244:15:72;;;;499:4261;;;2030:14:2;2244:15:72;;;;499:4261;2244:15;;336:42:2;2244:15:72;;;;;;;;499:4261;;;2269:13;499:4261;;;;2269:19;;;;;499:4261;;;;;;2269:19;;;;2030:14:2;2269:19:72;;;;;;;;;;499:4261;2369:33;;499:4261;2740:29;499:4261;2369:33;;:::i;:::-;499:4261;2552:82;2561:31;;:35;;499:4261;;:::i;2552:82::-;499:4261;;2740:29;;;;2030:14:2;2740:29:72;;;;;;;;;;;;499:4261;2779:75;499:4261;;;;;;;;;:::i;:::-;;;;;2740:29;499:4261;;;2790:29;;2779:75;:::i;2740:29::-;;;;;;;;;;;;499:4261;2740:29;;;:::i;:::-;;;499:4261;;;;2779:75;499:4261;;2740:29;;;;;-1:-1:-1;2740:29:72;;2269:19;;;;;:::i;:::-;499:4261;;2269:19;;;;2244:15;;;;;:::i;:::-;499:4261;;2244:15;;;;2193:40;;;;;:::i;:::-;499:4261;;2193:40;;;;499:4261;;;;;;;;;;;;;;;;;3018:16:9;499:4261:72;;;;;;;3018:16:9;499:4261:72;;;;;;;;;;;;;;;;;;:::i;:::-;2030:14:2;;499:4261:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1619:34;;;;;;;;;;;;;;;;;;;;499:4261;1619:34;;;;;499:4261;;1603:50;499:4261;;;;;;;;1603:50;499:4261;1677:66;1663:80;499:4261;;1774:85;499:4261;;:::i;:::-;1603:50;499:4261;;;;;;;1774:85;499:4261;1774:85;499:4261;;;;;;;;;;;1663:80;2030:14:2;499:4261:72;;1881:20;2030:14:2;1881:20:72;;499:4261;1881:20;;2030:14:2;499:4261:72;1881:20;;;336:42:2;1881:20:72;;;;;;499:4261;1881:20;;;499:4261;;;;;2030:14:2;;499:4261:72;2030:14:2;;;499:4261:72;2030:14:2;336:42;1911:29:72;;;;499:4261;;1911:29;2030:14:2;1911:29:72;;499:4261;1911:29;;499:4261;1930:9;1881:20;2030:14:2;;;499:4261:72;1911:29;;;;336:42:2;1911:29:72;;;;;;;;499:4261;;;1911:29;;;;499:4261;1911:29;;:::i;:::-;499:4261;1911:29;499:4261;;;;;;;;;1881:20;;499:4261;1881:20;;499:4261;1881:20;;;;;;499:4261;1881:20;;;:::i;:::-;;;2030:14:2;;;;;499:4261:72;;;2030:14:2;;;;499:4261:72;1881:20;;;;;;-1:-1:-1;1881:20:72;;499:4261;1603:50;499:4261;;;;;;;;;;;;;;;;;;;;;;;1619:34;499:4261;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;499:4261:72;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;499:4261:72;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;2030:14:2;499:4261:72;2030:14:2;;;;;;;;;;;499:4261:72;2030:14:2;:::o;:::-;;499:4261:72;;2030:14:2;499:4261:72;;2030:14:2;;;;;;;;;;;;;:::o;499:4261:72:-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;499:4261:72;;;;;;;;-1:-1:-1;499:4261:72;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;2218:14;499:4261;:::i;:::-;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;-1:-1:-1;499:4261:72;;-1:-1:-1;499:4261:72;;-1:-1:-1;499:4261:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;2030:14:2;499:4261:72;;;;;;;;2030:14:2;499:4261:72;;2030:14:2;499:4261:72;2030:14:2;;;;499:4261:72;;;;;;;;2030:14:2;499:4261:72;;2030:14:2;499:4261:72;2030:14:2;499:4261:72;2030:14:2;;499:4261:72;;;;;;;;2030:14:2;499:4261:72;;2030:14:2;499:4261:72;2030:14:2;499:4261:72;2030:14:2;;499:4261:72;;;;;;;;2030:14:2;499:4261:72;;2030:14:2;499:4261:72;2030:14:2;499:4261:72;2030:14:2;;499:4261:72;;;;;;;;2030:14:2;499:4261:72;;2030:14:2;499:4261:72;2030:14:2;499:4261:72;2030:14:2;;499:4261:72;;;;;;;;2030:14:2;499:4261:72;;2030:14:2;499:4261:72;2030:14:2;499:4261:72;2030:14:2;;499:4261:72;;;;;;;;2030:14:2;499:4261:72;;2030:14:2;499:4261:72;2030:14:2;;;499:4261:72;;;;;;;;;;;;;;;;;;;;2030:14:2;;;;499:4261:72;;;2030:14:2;;499:4261:72;2030:14:2;;499:4261:72;;;;2030:14:2;;499:4261:72;2030:14:2;;499:4261:72;;;;2030:14:2;;499:4261:72;2030:14:2;;499:4261:72;;;;2030:14:2;;499:4261:72;2030:14:2;;499:4261:72;;;;2030:14:2;;499:4261:72;2030:14:2;;499:4261:72;;;;2030:14:2;;499:4261:72;2030:14:2;;499:4261:72;;;;2030:14:2;;499:4261:72;;;;;;;;;;;;;;1306:195:4;1365:7;499:4261:72;;;;;;1395:4:4;1388:11;:::o;1361:134::-;499:4261:72;;2030:14:2;1437:33:4;;499:4261:72;1437:33:4;;;499:4261:72;192:59:4;1255:17;;;2030:14:2;1255:17:4;1437:33;;;499:4261:72;1437:33:4;;;;;;;499:4261:72;1437:33:4;;;1361:134;1437:47;;;1430:54;:::o;1437:33::-;;;1255:17;1437:33;;1255:17;1437:33;;;;;;499:4261:72;1437:33:4;;;:::i;:::-;;;499:4261:72;;;;;1437:33:4;;;;;;-1:-1:-1;1437:33:4;;1160:227:72;499:4261;1309:41;499:4261;;;1309:41;;;499:4261;;:::i;:::-;1309:41;;;;;;;;;;499:4261;1143:19:75;;499:4261:72;;1309:41;1082:81:75;;107:42:1;499:4261:72;107:42:1;;;;;;;-1:-1:-1;107:42:1;;;2030:14:2;107:42:1;;;2030:14:2;107:42:1;1082:81:75;;;;;;:::i;:::-;499:4261:72;1072:92:75;;499:4261:72;1160:227;:::o;2487:171:4:-;499:4261:72;;2598:4;2583:13:4;;2579:73;;2487:171;;:::o;2579:73::-;499:4261:72;2612:29:4;;;;499:4261:72;;;;;;2612:29:4;;;;;2030:14:2;2612:29:4;;;;;499:4261:72;2598:4;499:4261;;;;;;;;;;;;;;:::i;:::-;2612:29:4;;499:4261:72;2612:29:4;;;;;;;;2487:171;:::o;2612:29::-;499:4261:72;2612:29:4;;;:::i;1894:148::-;1980:5;1976:60;;;1894:148;;:::o;1976:60::-;499:4261:72;2001:24:4;;;;499:4261:72;;-1:-1:-1;499:4261:72;;;2001:24:4;;;;;2030:14:2;2001:24:4;;499:4261:72;2001:24:4;;;499:4261:72;;;;;;;;;;;:::i","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","test_DeployIntentEntrypoint_SameAddress()":"8cca1cf9","test_DeployIntentEntrypoint_Success()":"207ed43d","test_DeployedIntentEntrypoint_HasCorrectConfiguration()":"7ae06105"}}}},"test/script/TrailsRouter.s.t.sol":{"TrailsRouterDeploymentTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_DeployTrailsRouter_SameAddress","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_DeployTrailsRouter_Success","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_DeployedRouter_HasCorrectConfiguration","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"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\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_DeployTrailsRouter_SameAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_DeployTrailsRouter_Success\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_DeployedRouter_HasCorrectConfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/script/TrailsRouter.s.t.sol\":\"TrailsRouterDeploymentTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/erc2470-libs/script/SingletonDeployer.s.sol\":{\"keccak256\":\"0x3fdec03d51d77fcda6d6c681e26e7c8d4b85f1457eac91e0ec15411a7ab1e1f6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a690bf4481a37f3f77acdeecac089462db83f0437307610981b24c04b5202f6e\",\"dweb:/ipfs/QmUA9TSjAkqefNBW8BiRqg8XDJiJxJPxSsZHQwJJAbrYQg\"]},\"lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"script/TrailsRouter.s.sol\":{\"keccak256\":\"0x7606dd601cd7f10ab9c9a94a1ff6d6bc7ae2d4edd220bb161d89adc07eff6d75\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10bf0dfa40196e494e9f8cdbb795bdc6c9bda421e7938ff0ef90aa62f571525e\",\"dweb:/ipfs/QmaoLXskfyE4A27SkckeNG4Z2AVyEvn6g63XT91UDSQHUo\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/script/TrailsRouter.s.t.sol\":{\"keccak256\":\"0xa3f910d7388a6be567524cfba71f3166670dcfe0e47704c0f948a447592f89e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0750f7079ad4ccf0f9c5ba237810b45179ed58e51e936e76f1028bc603a4b26a\",\"dweb:/ipfs/QmVuvjtY4dFXxCicrbd1jTT8258Jp39syoBeChwWdc63Fb\"]},\"test/utils/Create2Utils.sol\":{\"keccak256\":\"0xe5b36a1cdb5827185a7948737c4f61eca071f949c6d7f57339ebaaaee948bbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63655eac25e4f37b069b136660b1585c8be05e749f6dd513ed9a763be83fcb9e\",\"dweb:/ipfs/QmdjR1QrAPUYN8LvsrGk2f1ZvVVfQ2aqPdKqmuSf8H1DpV\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f556176b590816100348239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c90816306fe3285146112f4575080630a9254e414610f1a5780631ed7831c14610e715780632ade388014610c3d5780633e5e3c2314610b945780633f7286f414610aeb57806366d9a9a01461098857806385226c81146108d85780638d211eee146106b6578063916a17c6146105e1578063b0464fdc1461050c578063b5508aa914610455578063ba414fa614610412578063dd79c8ae146101ca578063e20c9f71146101115763fa7626d4146100ce575f80fd5b3461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602060ff601f54166040519015158152f35b80fd5b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b81811061019e5761019a8561018e8187038261197a565b60405191829182611729565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610177565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061024a60048201611aac565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576103fd575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b156103fa578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156103ef576103da575b508080808073ffffffffffffffffffffffffffffffffffffffff6102f1611ec6565b16610307813b1515610301611db2565b90611ff1565b5af13d156103d1573d67ffffffffffffffff81116103a4576040516103a19291610359601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020018361197a565b81528360203d92013e5b6040519061037260408361197a565b602082527f526f757465722073686f756c64206163636570742062617369632063616c6c736020830152611ff1565b80f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6103a190610363565b816103e49161197a565b61010e57805f6102cf565b6040513d84823e3d90fd5b50fd5b816104079161197a565b61010e57805f61026f565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602061044b611ded565b6040519015158152f35b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760195461049081611af4565b9161049e604051938461197a565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b8383106104e0576040518061019a8782611810565b6001602081926040516104fe816104f78189611a0c565b038261197a565b8152019201920191906104cb565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601c5461054781611af4565b91610555604051938461197a565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b838310610597576040518061019a878261188d565b600260206001926040516105aa81611931565b73ffffffffffffffffffffffffffffffffffffffff86541681526105cf858701611b0c565b83820152815201920192019190610582565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601d5461061c81611af4565b9161062a604051938461197a565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b83831061066c576040518061019a878261188d565b6002602060019260405161067f81611931565b73ffffffffffffffffffffffffffffffffffffffff86541681526106a4858701611b0c565b83820152815201920192019190610657565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061073660048201611aac565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576108c3575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576108ae575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b156103fa578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156103ef57610899575b506103a173ffffffffffffffffffffffffffffffffffffffff610848611ec6565b1661088e813b15156040519061085f60408361197a565b601f82527f547261696c73526f757465722073686f756c64206265206465706c6f796564006020830152611ff1565b3b1515610301611db2565b816108a39161197a565b61010e57805f610827565b816108b89161197a565b61010e57805f6107c7565b816108cd9161197a565b61010e57805f61075b565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601a5461091381611af4565b91610921604051938461197a565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310610963576040518061019a8782611810565b60016020819260405161097a816104f78189611a0c565b81520192019201919061094e565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601b546109c381611af4565b6109d0604051918261197a565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b838310610aa857868587604051928392602084019060208552518091526040840160408260051b8601019392905b828210610a3d57505050500390f35b91936020610a98827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288519083610a888351604084526040840190611778565b92015190848184039101526117bb565b9601920192018594939192610a2e565b60026020600192604051610abb81611931565b604051610acc816104f7818a611a0c565b8152610ad9858701611b0c565b83820152815201920192019190610a00565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601754928381520191601782527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15915b818110610b685761019a8561018e8187038261197a565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610b51565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601854928381520191601882527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e915b818110610c115761019a8561018e8187038261197a565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610bfa565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601e54610c7881611af4565b610c85604051918261197a565b818152601e83526020810191837f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350845b838310610dd35786858760405192839260208401906020855251809152604084019160408260051b8601019392815b838310610cf15786860387f35b9193957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09086929496030183528551906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b850101940192855b828110610d8a57505050505060208060019297019301930190928695949293610ce4565b9091929394602080610dc6837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951611778565b9701950193929101610d66565b604051610ddf81611931565b73ffffffffffffffffffffffffffffffffffffffff8354168152600183018054610e0881611af4565b91610e16604051938461197a565b8183528a526020808b20908b9084015b838210610e4c575050505060019282602092836002950152815201920192019190610cb5565b600160208192604051610e63816104f7818a611a0c565b815201930191019091610e26565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601654928381520191601682527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289915b818110610eee5761019a8561018e8187038261197a565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610ed7565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e576040516133238082019082821067ffffffffffffffff8311176112c7579082916120998339039082f080156112ba577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f557fac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80602155610fec6022546119bb565b601f8111611258575b506085602255602281527f30786163303937346265633339613137653336626134613662346432333866667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510557f39343462616362343738636265643565666361653738346437626634663266667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e511557f38300000000000000000000000000000000000000000000000000000000000007f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5125580602154604051907fffa186490000000000000000000000000000000000000000000000000000000082526004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156103ef5782906111f5575b73ffffffffffffffffffffffffffffffffffffffff915016807fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156103fa57604051907fc88a5e6d000000000000000000000000000000000000000000000000000000008252600482015268056bc75e2d631000006024820152818160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576111e45750f35b816111ee9161197a565b61010e5780f35b506020813d602011611250575b8161120f6020938361197a565b810103126103fa575173ffffffffffffffffffffffffffffffffffffffff811681036103fa5773ffffffffffffffffffffffffffffffffffffffff90611122565b3d9150611202565b601f0160051c7f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510017f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5135b8181106112af5750610ff5565b8281556001016112a2565b50604051903d90823e3d90fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b905034611725575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261172557737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611725577f3d5923ee0000000000000000000000000000000000000000000000000000000081525f818061137160048201611aac565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561171a57611707575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576116f2575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b156103fa578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156103ef576116dd575b505073ffffffffffffffffffffffffffffffffffffffff611480611ec6565b166114ec813b15156040519061149760608361197a565b602782527f4669727374206465706c6f796d656e743a20547261696c73526f75746572206460208301527f65706c6f796564000000000000000000000000000000000000000000000000006040830152611ff1565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156116af57816040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061153d60048201611aac565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576116c8575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156116af57816040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576116b3575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b156116af578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156103ef5761169a575b506103a1823b15156040519061164560608361197a565b602e82527f5365636f6e64206465706c6f796d656e743a20547261696c73526f757465722060208301527f7374696c6c206465706c6f7965640000000000000000000000000000000000006040830152611ff1565b816116a49161197a565b6116af57815f61162e565b5080fd5b816116bd9161197a565b6116af57815f6115ce565b816116d29161197a565b6116af57815f611562565b816116e79161197a565b61010e57805f611461565b816116fc9161197a565b61010e57805f611401565b61171391505f9061197a565b5f5f611396565b6040513d5f823e3d90fd5b5f80fd5b60206040818301928281528451809452019201905f5b81811061174c5750505090565b825173ffffffffffffffffffffffffffffffffffffffff1684526020938401939092019160010161173f565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b8181106117d85750505090565b82517fffffffff00000000000000000000000000000000000000000000000000000000168452602093840193909201916001016117cb565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061184257505050505090565b909192939460208061187e837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951611778565b97019301930191939290611833565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106118bf57505050505090565b9091929394602080611922837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff8151168452015191818582015201906117bb565b970193019301919392906118b0565b6040810190811067ffffffffffffffff82111761194d57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761194d57604052565b90600182811c92168015611a02575b60208310146119d557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f16916119ca565b5f9291815491611a1b836119bb565b8083529260018116908115611a705750600114611a3757505050565b5f9081526020812093945091925b838310611a56575060209250010190565b600181602092949394548385870101520191019190611a45565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b6080611af19160408152600b60408201527f505249564154455f4b45590000000000000000000000000000000000000000006060820152816020820152016022611a0c565b90565b67ffffffffffffffff811161194d5760051b60200190565b90604051918281549182825260208201905f5260205f20925f905b806007830110611d2557611b7d945491818110611cef575b818110611cb9575b818110611c83575b818110611c4d575b818110611c17575b818110611be1575b818110611bac575b10611b7f575b50038361197a565b565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611b75565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301611b6f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301611b67565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301611b5f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301611b57565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301611b4f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301611b47565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301611b3f565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391611b27565b60405190611dc160408361197a565b601782527f526f757465722073686f756c64206861766520636f64650000000000000000006020830152565b60085460ff1615611dfd57600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811561171a575f91611e94575b50151590565b90506020813d602011611ebe575b81611eaf6020938361197a565b8101031261172557515f611e8e565b3d9150611ea2565b73ffffffffffffffffffffffffffffffffffffffff6122c460405190611eef602082018361197a565b80825260208201906153bc8239611f7c60405191602080840173ca11bde05977b3631167028862be2a173976ca118152818552611f2d60408661197a565b60405194859383850197518091895e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261197a565b51902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301525f6035830152605582015260558152611fea60758261197a565b5190201690565b151560018103611fff575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561172557612068915f9160405193849283927f4db19e7e000000000000000000000000000000000000000000000000000000008452600484015260016024840152606060448401526064830190611778565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561171a5761208e5750565b5f611b7d9161197a56fe608080604052346026576201000162ff00ff19600c541617600c556132f8908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163c0406226146100de57508063f0c9a429146100845763f8ccbf471461003d575f80fd5b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008057602060ff600c5460101c166040519015158152f35b5f80fd5b346100805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100805760206100c060043561036e565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610080577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f916102ce575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f91610272575b6102706102338461022e856040516101ff604082610300565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610e94565b61036e565b604051610241604082610300565b601981527f547261696c73526f75746572206465706c6f7965642061743a000000000000006020820152610e94565b005b90506020813d6020116102bb575b8161028d60209383610300565b81010312610080575173ffffffffffffffffffffffffffffffffffffffff81168103610080576102706101e6565b3d9150610280565b6040513d5f823e3d90fd5b90506020813d6020116102f8575b816102e960209383610300565b8101031261008057518161018e565b3d91506102dc565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6122c4604051926103836020830185610300565b8184526020840191610fff833961041060405192602080850173ca11bde05977b3631167028862be2a173976ca1181528186526103c1604087610300565b604051958693838501995180918b5e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610300565b6040519361041f604086610300565b600c85527f547261696c73526f7574657200000000000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610866575b73ffffffffffffffffffffffffffffffffffffffff908351902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528660358301526055820152605581526104ed607582610300565b519020169384906002823b1161081a57906105409160405190610511604083610300565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610f3b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561081657604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561080b576107f6575b509060206105f292604051809481927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610e51565b84602483015203818473ce0042b868300000d44a59004da54a005ffdcf9f5af19182156107e9578192610794575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078957610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b55790565b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b61077c828092610300565b610786578061068a565b80fd5b6040513d84823e3d90fd5b9091506020813d6020116107e1575b816107b060209383610300565b810103126107dd575173ffffffffffffffffffffffffffffffffffffffff811681036107dd57905f610620565b5080fd5b3d91506107a3565b50604051903d90823e3d90fd5b610801838092610300565b6107dd575f6105af565b6040513d85823e3d90fd5b8280fd5b915091508261086393505060405190610834604083610300565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610f3b565b90565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bef575b5f8061090761094d6040516108a0604082610300565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610e51565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa506040516109716101a082610300565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610beb5784610b9891604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610e51565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610bc7575b5050610468565b81610bd191610300565b610bdc57835f610bc0565b8380fd5b6040513d87823e3d90fd5b8480fd5b5f80610c6c610c98604051610c05604082610300565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610e51565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610080576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102c357610e3c575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e0f5785808093819382906657c084e5f3c00014610e06575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561080b57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bdc576040517f76eadd36000000000000000000000000000000000000000000000000000000008152848160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610df1575b505061088a565b81610dfb91610300565b610bdc57835f610dea565b506108fc610d62565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610e499194505f90610300565b5f925f610d1c565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610ef1610f245f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610e51565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50565b610f24610f9b915f9473ffffffffffffffffffffffffffffffffffffffff610fcb87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610e51565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610e51565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261030056fe610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220251b377e7cc5dd80ba7afd969ede0bd9fcdd8b9282e76cc5e674ad849a56b6f264736f6c634300081e0033610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220d47ad8b09bfdf5822b67454b1b50c969851c637cbb2b87ec469d3db05f1899e064736f6c634300081e0033","sourceMap":"459:3906:73:-:0;;;;;;;3200:4:5;459:3906:73;;3200:4:5;459:3906:73;;;3200:4:5;459:3906:73;3200:4:5;459:3906:73;;1087:4:16;459:3906:73;;;1087:4:16;459:3906:73;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f905f3560e01c90816306fe3285146112f4575080630a9254e414610f1a5780631ed7831c14610e715780632ade388014610c3d5780633e5e3c2314610b945780633f7286f414610aeb57806366d9a9a01461098857806385226c81146108d85780638d211eee146106b6578063916a17c6146105e1578063b0464fdc1461050c578063b5508aa914610455578063ba414fa614610412578063dd79c8ae146101ca578063e20c9f71146101115763fa7626d4146100ce575f80fd5b3461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602060ff601f54166040519015158152f35b80fd5b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b81811061019e5761019a8561018e8187038261197a565b60405191829182611729565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610177565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061024a60048201611aac565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576103fd575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b156103fa578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156103ef576103da575b508080808073ffffffffffffffffffffffffffffffffffffffff6102f1611ec6565b16610307813b1515610301611db2565b90611ff1565b5af13d156103d1573d67ffffffffffffffff81116103a4576040516103a19291610359601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020018361197a565b81528360203d92013e5b6040519061037260408361197a565b602082527f526f757465722073686f756c64206163636570742062617369632063616c6c736020830152611ff1565b80f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6103a190610363565b816103e49161197a565b61010e57805f6102cf565b6040513d84823e3d90fd5b50fd5b816104079161197a565b61010e57805f61026f565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602061044b611ded565b6040519015158152f35b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760195461049081611af4565b9161049e604051938461197a565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b8383106104e0576040518061019a8782611810565b6001602081926040516104fe816104f78189611a0c565b038261197a565b8152019201920191906104cb565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601c5461054781611af4565b91610555604051938461197a565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b838310610597576040518061019a878261188d565b600260206001926040516105aa81611931565b73ffffffffffffffffffffffffffffffffffffffff86541681526105cf858701611b0c565b83820152815201920192019190610582565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601d5461061c81611af4565b9161062a604051938461197a565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b83831061066c576040518061019a878261188d565b6002602060019260405161067f81611931565b73ffffffffffffffffffffffffffffffffffffffff86541681526106a4858701611b0c565b83820152815201920192019190610657565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061073660048201611aac565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576108c3575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576108ae575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b156103fa578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156103ef57610899575b506103a173ffffffffffffffffffffffffffffffffffffffff610848611ec6565b1661088e813b15156040519061085f60408361197a565b601f82527f547261696c73526f757465722073686f756c64206265206465706c6f796564006020830152611ff1565b3b1515610301611db2565b816108a39161197a565b61010e57805f610827565b816108b89161197a565b61010e57805f6107c7565b816108cd9161197a565b61010e57805f61075b565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601a5461091381611af4565b91610921604051938461197a565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310610963576040518061019a8782611810565b60016020819260405161097a816104f78189611a0c565b81520192019201919061094e565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601b546109c381611af4565b6109d0604051918261197a565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b838310610aa857868587604051928392602084019060208552518091526040840160408260051b8601019392905b828210610a3d57505050500390f35b91936020610a98827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288519083610a888351604084526040840190611778565b92015190848184039101526117bb565b9601920192018594939192610a2e565b60026020600192604051610abb81611931565b604051610acc816104f7818a611a0c565b8152610ad9858701611b0c565b83820152815201920192019190610a00565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601754928381520191601782527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15915b818110610b685761019a8561018e8187038261197a565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610b51565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601854928381520191601882527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e915b818110610c115761019a8561018e8187038261197a565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610bfa565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601e54610c7881611af4565b610c85604051918261197a565b818152601e83526020810191837f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350845b838310610dd35786858760405192839260208401906020855251809152604084019160408260051b8601019392815b838310610cf15786860387f35b9193957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09086929496030183528551906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b850101940192855b828110610d8a57505050505060208060019297019301930190928695949293610ce4565b9091929394602080610dc6837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951611778565b9701950193929101610d66565b604051610ddf81611931565b73ffffffffffffffffffffffffffffffffffffffff8354168152600183018054610e0881611af4565b91610e16604051938461197a565b8183528a526020808b20908b9084015b838210610e4c575050505060019282602092836002950152815201920192019190610cb5565b600160208192604051610e63816104f7818a611a0c565b815201930191019091610e26565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601654928381520191601682527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289915b818110610eee5761019a8561018e8187038261197a565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610ed7565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e576040516133238082019082821067ffffffffffffffff8311176112c7579082916120998339039082f080156112ba577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f557fac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80602155610fec6022546119bb565b601f8111611258575b506085602255602281527f30786163303937346265633339613137653336626134613662346432333866667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510557f39343462616362343738636265643565666361653738346437626634663266667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e511557f38300000000000000000000000000000000000000000000000000000000000007f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5125580602154604051907fffa186490000000000000000000000000000000000000000000000000000000082526004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa80156103ef5782906111f5575b73ffffffffffffffffffffffffffffffffffffffff915016807fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156103fa57604051907fc88a5e6d000000000000000000000000000000000000000000000000000000008252600482015268056bc75e2d631000006024820152818160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576111e45750f35b816111ee9161197a565b61010e5780f35b506020813d602011611250575b8161120f6020938361197a565b810103126103fa575173ffffffffffffffffffffffffffffffffffffffff811681036103fa5773ffffffffffffffffffffffffffffffffffffffff90611122565b3d9150611202565b601f0160051c7f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510017f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5135b8181106112af5750610ff5565b8281556001016112a2565b50604051903d90823e3d90fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b905034611725575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261172557737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611725577f3d5923ee0000000000000000000000000000000000000000000000000000000081525f818061137160048201611aac565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561171a57611707575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576116f2575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b156103fa578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156103ef576116dd575b505073ffffffffffffffffffffffffffffffffffffffff611480611ec6565b166114ec813b15156040519061149760608361197a565b602782527f4669727374206465706c6f796d656e743a20547261696c73526f75746572206460208301527f65706c6f796564000000000000000000000000000000000000000000000000006040830152611ff1565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156116af57816040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061153d60048201611aac565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576116c8575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156116af57816040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156103ef576116b3575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b156116af578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156103ef5761169a575b506103a1823b15156040519061164560608361197a565b602e82527f5365636f6e64206465706c6f796d656e743a20547261696c73526f757465722060208301527f7374696c6c206465706c6f7965640000000000000000000000000000000000006040830152611ff1565b816116a49161197a565b6116af57815f61162e565b5080fd5b816116bd9161197a565b6116af57815f6115ce565b816116d29161197a565b6116af57815f611562565b816116e79161197a565b61010e57805f611461565b816116fc9161197a565b61010e57805f611401565b61171391505f9061197a565b5f5f611396565b6040513d5f823e3d90fd5b5f80fd5b60206040818301928281528451809452019201905f5b81811061174c5750505090565b825173ffffffffffffffffffffffffffffffffffffffff1684526020938401939092019160010161173f565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b8181106117d85750505090565b82517fffffffff00000000000000000000000000000000000000000000000000000000168452602093840193909201916001016117cb565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061184257505050505090565b909192939460208061187e837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951611778565b97019301930191939290611833565b602081016020825282518091526040820191602060408360051b8301019401925f915b8383106118bf57505050505090565b9091929394602080611922837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff8151168452015191818582015201906117bb565b970193019301919392906118b0565b6040810190811067ffffffffffffffff82111761194d57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761194d57604052565b90600182811c92168015611a02575b60208310146119d557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f16916119ca565b5f9291815491611a1b836119bb565b8083529260018116908115611a705750600114611a3757505050565b5f9081526020812093945091925b838310611a56575060209250010190565b600181602092949394548385870101520191019190611a45565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b6080611af19160408152600b60408201527f505249564154455f4b45590000000000000000000000000000000000000000006060820152816020820152016022611a0c565b90565b67ffffffffffffffff811161194d5760051b60200190565b90604051918281549182825260208201905f5260205f20925f905b806007830110611d2557611b7d945491818110611cef575b818110611cb9575b818110611c83575b818110611c4d575b818110611c17575b818110611be1575b818110611bac575b10611b7f575b50038361197a565b565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611b75565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301611b6f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301611b67565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301611b5f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301611b57565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301611b4f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301611b47565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301611b3f565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391611b27565b60405190611dc160408361197a565b601782527f526f757465722073686f756c64206861766520636f64650000000000000000006020830152565b60085460ff1615611dfd57600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa90811561171a575f91611e94575b50151590565b90506020813d602011611ebe575b81611eaf6020938361197a565b8101031261172557515f611e8e565b3d9150611ea2565b73ffffffffffffffffffffffffffffffffffffffff6122c460405190611eef602082018361197a565b80825260208201906153bc8239611f7c60405191602080840173ca11bde05977b3631167028862be2a173976ca118152818552611f2d60408661197a565b60405194859383850197518091895e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261197a565b51902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301525f6035830152605582015260558152611fea60758261197a565b5190201690565b151560018103611fff575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561172557612068915f9160405193849283927f4db19e7e000000000000000000000000000000000000000000000000000000008452600484015260016024840152606060448401526064830190611778565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa801561171a5761208e5750565b5f611b7d9161197a56fe608080604052346026576201000162ff00ff19600c541617600c556132f8908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163c0406226146100de57508063f0c9a429146100845763f8ccbf471461003d575f80fd5b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008057602060ff600c5460101c166040519015158152f35b5f80fd5b346100805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100805760206100c060043561036e565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610080577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f916102ce575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f91610272575b6102706102338461022e856040516101ff604082610300565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610e94565b61036e565b604051610241604082610300565b601981527f547261696c73526f75746572206465706c6f7965642061743a000000000000006020820152610e94565b005b90506020813d6020116102bb575b8161028d60209383610300565b81010312610080575173ffffffffffffffffffffffffffffffffffffffff81168103610080576102706101e6565b3d9150610280565b6040513d5f823e3d90fd5b90506020813d6020116102f8575b816102e960209383610300565b8101031261008057518161018e565b3d91506102dc565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6122c4604051926103836020830185610300565b8184526020840191610fff833961041060405192602080850173ca11bde05977b3631167028862be2a173976ca1181528186526103c1604087610300565b604051958693838501995180918b5e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610300565b6040519361041f604086610300565b600c85527f547261696c73526f7574657200000000000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610866575b73ffffffffffffffffffffffffffffffffffffffff908351902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528660358301526055820152605581526104ed607582610300565b519020169384906002823b1161081a57906105409160405190610511604083610300565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610f3b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561081657604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561080b576107f6575b509060206105f292604051809481927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610e51565b84602483015203818473ce0042b868300000d44a59004da54a005ffdcf9f5af19182156107e9578192610794575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078957610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b55790565b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b61077c828092610300565b610786578061068a565b80fd5b6040513d84823e3d90fd5b9091506020813d6020116107e1575b816107b060209383610300565b810103126107dd575173ffffffffffffffffffffffffffffffffffffffff811681036107dd57905f610620565b5080fd5b3d91506107a3565b50604051903d90823e3d90fd5b610801838092610300565b6107dd575f6105af565b6040513d85823e3d90fd5b8280fd5b915091508261086393505060405190610834604083610300565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610f3b565b90565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bef575b5f8061090761094d6040516108a0604082610300565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610e51565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa506040516109716101a082610300565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610beb5784610b9891604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610e51565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610bc7575b5050610468565b81610bd191610300565b610bdc57835f610bc0565b8380fd5b6040513d87823e3d90fd5b8480fd5b5f80610c6c610c98604051610c05604082610300565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610e51565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610080576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102c357610e3c575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e0f5785808093819382906657c084e5f3c00014610e06575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561080b57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bdc576040517f76eadd36000000000000000000000000000000000000000000000000000000008152848160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610df1575b505061088a565b81610dfb91610300565b610bdc57835f610dea565b506108fc610d62565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610e499194505f90610300565b5f925f610d1c565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610ef1610f245f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610e51565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50565b610f24610f9b915f9473ffffffffffffffffffffffffffffffffffffffff610fcb87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610e51565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610e51565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261030056fe610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220251b377e7cc5dd80ba7afd969ede0bd9fcdd8b9282e76cc5e674ad849a56b6f264736f6c634300081e0033610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220d47ad8b09bfdf5822b67454b1b50c969851c637cbb2b87ec469d3db05f1899e064736f6c634300081e0033","sourceMap":"459:3906:73:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1065:26:16;459:3906:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2723:18:9;459:3906:73;;;;;;2030:14:2;2723:18:9;2030:14:2;;;459:3906:73;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:2;3674:40:73;;;;459:3906;;;2030:14:2;3674:40:73;;;;;;459:3906;3674:40;;;:::i;:::-;;;;336:42:2;3674:40:73;;;;;;;;459:3906;2030:14:2;459:3906:73;3754:13;2030:14:2;;;459:3906:73;3754:19;;;;;459:3906;;;;;;3754:19;;;;2030:14:2;3754:19:73;;;;;;;;;;459:3906;3861:23;;;;;459:3906;3861:23;;:::i;:::-;459:3906;4007:74;4016:27;;:31;;459:3906;;:::i;:::-;4007:74;;:::i;:::-;4263:24;;459:3906;;;;;2030:14:2;;;;;459:3906:73;;4297:59;;459:3906;2030:14:2;3754:13:73;459:3906;;;;2030:14:2;;459:3906:73;2030:14:2;:::i;:::-;;;459:3906:73;2030:14:2;459:3906:73;;;;;;;2030:14:2;;459:3906:73;2030:14:2;;:::i;:::-;459:3906:73;2030:14:2;;459:3906:73;;;;;4297:59;:::i;:::-;459:3906;;2030:14:2;;;;;;;459:3906:73;2030:14:2;;459:3906:73;4297:59;459:3906;;;3754:19;;;;;:::i;:::-;459:3906;;3754:19;;;;;459:3906;;2030:14:2;459:3906:73;;2030:14:2;;;;3754:19:73;459:3906;;3674:40;;;;;:::i;:::-;459:3906;;3674:40;;;;459:3906;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2575:18:9;459:3906:73;;;;:::i;:::-;;2030:14:2;459:3906:73;;2030:14:2;;;:::i;:::-;459:3906:73;;;2575:18:9;2030:14:2;;;459:3906:73;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2876:18:9;459:3906:73;;;;:::i;:::-;;2030:14:2;459:3906:73;;2030:14:2;;;:::i;:::-;459:3906:73;;;2876:18:9;2030:14:2;;;459:3906:73;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2030:14:2;;;:::i;:::-;459:3906:73;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3653:18:9;459:3906:73;;;;:::i;:::-;;2030:14:2;459:3906:73;;2030:14:2;;;:::i;:::-;459:3906:73;;;3653:18:9;2030:14:2;;;459:3906:73;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2030:14:2;;;:::i;:::-;459:3906:73;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:2;2253:40:73;;;;459:3906;;;2030:14:2;2253:40:73;;;;;;459:3906;2253:40;;;:::i;:::-;;;;336:42:2;2253:40:73;;;;;;;;459:3906;2304:15;;336:42:2;2304:15:73;;;;459:3906;;;2030:14:2;2304:15:73;;;;459:3906;2304:15;;336:42:2;2304:15:73;;;;;;;;459:3906;2030:14:2;459:3906:73;2329:13;2030:14:2;;;459:3906:73;2329:19;;;;;459:3906;;;;;;2329:19;;;;2030:14:2;2329:19:73;;;;;;;;;;459:3906;2458:23;2693:74;459:3906;2458:23;;:::i;:::-;459:3906;2491:79;2500:24;;:28;;459:3906;;2030:14:2;;459:3906:73;2030:14:2;;:::i;:::-;2329:13:73;2030:14:2;;459:3906:73;;;;;2491:79;:::i;:::-;2702:27;:31;;459:3906;;:::i;2329:19::-;;;;;:::i;:::-;459:3906;;2329:19;;;;2304:15;;;;;:::i;:::-;459:3906;;2304:15;;;;2253:40;;;;;:::i;:::-;459:3906;;2253:40;;;;459:3906;;;;;;;;;;;;3162:18:9;459:3906:73;;;;:::i;:::-;;2030:14:2;459:3906:73;;2030:14:2;;;:::i;:::-;459:3906:73;;;3162:18:9;2030:14:2;;;459:3906:73;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3346:26:9;459:3906:73;;;;:::i;:::-;2030:14:2;459:3906:73;;2030:14:2;;;:::i;:::-;459:3906:73;;;3346:26:9;2030:14:2;;459:3906:73;;;;2030:14:2;;459:3906:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2030:14:2;;;:::i;:::-;459:3906:73;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:18:9;459:3906:73;;;;;;2030:14:2;3501:18:9;2030:14:2;;;459:3906:73;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3794:16:9;459:3906:73;;;;;;2030:14:2;3794:16:9;2030:14:2;;;459:3906:73;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3948:19:9;459:3906:73;;;;:::i;:::-;2030:14:2;459:3906:73;;2030:14:2;;;:::i;:::-;459:3906:73;;;3948:19:9;2030:14:2;;459:3906:73;;;;2030:14:2;;459:3906:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;2030:14:2;;;:::i;:::-;459:3906:73;;;;;;;;;;;;;;:::i;:::-;;2030:14:2;459:3906:73;;2030:14:2;;;:::i;:::-;459:3906:73;;;2030:14:2;;459:3906:73;2030:14:2;;;;;;459:3906:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3018:16:9;459:3906:73;;;;;;2030:14:2;3018:16:9;2030:14:2;;;459:3906:73;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1684:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;459:3906;;1668:40;459:3906;;;;;;;;1668:40;459:3906;1732:66;1718:80;459:3906;;1829:85;459:3906;;:::i;:::-;1668:40;459:3906;;;;;;;1829:85;459:3906;1829:85;2030:14:2;;459:3906:73;2030:14:2;459:3906:73;;;;;;;;1718:80;459:3906;;;1936:20;2030:14:2;1936:20:73;;459:3906;1936:20;;459:3906;2030:14:2;1936:20:73;;;336:42:2;1936:20:73;;;;;;;;;;459:3906;;;;;;;2030:14:2;459:3906:73;;;2030:14:2;459:3906:73;336:42:2;1966:29:73;;;;459:3906;;1966:29;2030:14:2;1966:29:73;;459:3906;1966:29;;459:3906;1985:9;1936:20;459:3906;;;1966:29;;;;;336:42:2;1966:29:73;;;;;;;;459:3906;;1966:29;;;;;:::i;:::-;459:3906;;1966:29;459:3906;1936:20;;2030:14:2;1936:20:73;;2030:14:2;1936:20:73;;;;;;2030:14:2;1936:20:73;;;:::i;:::-;;;459:3906;;;;;;;;;;;;;1936:20;;;;;;-1:-1:-1;1936:20:73;;459:3906;1668:40;459:3906;;;2030:14:2;459:3906:73;;;;;;;;;;;;;;;;;;;1684:24;459:3906;;;2030:14:2;;;;;;;;1684:24:73;2030:14:2;;;;;;459:3906:73;2030:14:2;;459:3906:73;;;;;;;;;;;;;336:42:2;2844:40:73;;;;2030:14:2;2844:40:73;;459:3906;2844:40;;;459:3906;2844:40;;;:::i;:::-;;;;336:42:2;2844:40:73;;;;;;;;459:3906;2923:15;336:42:2;2923:15:73;;;;459:3906;;;2030:14:2;2923:15:73;;;;459:3906;2923:15;;336:42:2;2923:15:73;;;;;;;;459:3906;2030:14:2;459:3906:73;2948:13;2030:14:2;;;459:3906:73;2948:19;;;;;459:3906;;;;;;2948:19;;;;2030:14:2;2948:19:73;;;;;;;;;;459:3906;3052:23;;459:3906;3052:23;;:::i;:::-;459:3906;3085:87;3094:24;;:28;;459:3906;;2030:14:2;;;;;:::i;:::-;;;;;;;;;;459:3906:73;2030:14:2;;;3085:87:73;:::i;:::-;336:42:2;3239:40:73;;;;459:3906;;;2030:14:2;3239:40:73;;;;;;459:3906;3239:40;;;:::i;:::-;;;;336:42:2;3239:40:73;;;;;;;;459:3906;3369:15;;336:42:2;3369:15:73;;;;459:3906;;;2030:14:2;3369:15:73;;;;459:3906;3369:15;;336:42:2;3369:15:73;;;;;;;;459:3906;2030:14:2;459:3906:73;2948:13;2030:14:2;;;459:3906:73;3394:19;;;;;459:3906;;;;;;3394:19;;;;2030:14:2;3394:19:73;;;;;;;;;;459:3906;3504:24;3495:94;3504:24;;:28;;459:3906;;2030:14:2;;;;;:::i;:::-;;;;;;;;;;459:3906:73;2030:14:2;;;3495:94:73;:::i;3394:19::-;;;;;:::i;:::-;459:3906;;3394:19;;;;459:3906;;;;3369:15;;;;;:::i;:::-;459:3906;;3369:15;;;;3239:40;;;;;:::i;:::-;459:3906;;3239:40;;;;2948:19;;;;;:::i;:::-;459:3906;;2948:19;;;;2923:15;;;;;:::i;:::-;459:3906;;2923:15;;;;2844:40;;;;459:3906;2844:40;;:::i;:::-;459:3906;2844:40;;;;459:3906;;2030:14:2;459:3906:73;2030:14:2;;;;;2844:40:73;459:3906;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;459:3906:73;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;459:3906:73;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2030:14:2;459:3906:73;2030:14:2;;;;;;;;;;;459:3906:73;2030:14:2;:::o;:::-;;-1:-1:-1;2030:14:2;;;;;-1:-1:-1;2030:14:2;;;459:3906:73;;2030:14:2;459:3906:73;;2030:14:2;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;459:3906:73;;;;2030:14:2;;;;;;;;459:3906:73;2030:14:2;459:3906:73;;;2030:14:2;;;:::o;:::-;-1:-1:-1;2030:14:2;;;459:3906:73;2030:14:2;;;;-1:-1:-1;2030:14:2;;;;;;;;;459:3906:73;2030:14:2;;;;;:::o;:::-;;;459:3906:73;2030:14:2;;;;;;;;;;;;;;;;;;;;;459:3906:73;2030:14:2;;;;;;;;;;459:3906:73;;;2030:14:2;;;;;;;;:::o;:::-;;;;;;;;;;;459:3906:73;2030:14:2;459:3906:73;;;2030:14:2;;459:3906:73;2030:14:2;;;;2869::73;2030::2;:::i;:::-;;:::o;459:3906:73:-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;2030:14:2;-1:-1:-1;2030:14:2;459:3906:73;-1:-1:-1;2030:14:2;459:3906:73;-1:-1:-1;459:3906:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;2030:14:2;459:3906:73;;;;;;;;2030:14:2;459:3906:73;;2030:14:2;459:3906:73;2030:14:2;;;;459:3906:73;;;;;;;;2030:14:2;459:3906:73;;2030:14:2;459:3906:73;2030:14:2;459:3906:73;2030:14:2;;459:3906:73;;;;;;;;2030:14:2;459:3906:73;;2030:14:2;459:3906:73;2030:14:2;459:3906:73;2030:14:2;;459:3906:73;;;;;;;;2030:14:2;459:3906:73;;2030:14:2;459:3906:73;2030:14:2;459:3906:73;2030:14:2;;459:3906:73;;;;;;;;2030:14:2;459:3906:73;;2030:14:2;459:3906:73;2030:14:2;459:3906:73;2030:14:2;;459:3906:73;;;;;;;;2030:14:2;459:3906:73;;2030:14:2;459:3906:73;2030:14:2;459:3906:73;2030:14:2;;459:3906:73;;;;;;;;2030:14:2;459:3906:73;;2030:14:2;459:3906:73;2030:14:2;;;459:3906:73;;;;;;;;;;;;;;;;;;;;2030:14:2;;;;459:3906:73;;;2030:14:2;;459:3906:73;2030:14:2;;459:3906:73;;;;2030:14:2;;459:3906:73;2030:14:2;;459:3906:73;;;;2030:14:2;;459:3906:73;2030:14:2;;459:3906:73;;;;2030:14:2;;459:3906:73;2030:14:2;;459:3906:73;;;;2030:14:2;;459:3906:73;2030:14:2;;459:3906:73;;;;2030:14:2;;459:3906:73;2030:14:2;;459:3906:73;;;;2030:14:2;;459:3906:73;;;;;;;;;;;;;;;2030:14:2;459:3906:73;2030:14:2;;;;;:::i;:::-;459:3906:73;2030:14:2;;459:3906:73;;;;;:::o;1306:195:4:-;1365:7;459:3906:73;;;;;;1395:4:4;1388:11;:::o;1361:134::-;459:3906:73;;2030:14:2;1437:33:4;;459:3906:73;1437:33:4;;;459:3906:73;192:59:4;1255:17;;;459:3906:73;1255:17:4;1437:33;;;459:3906:73;1437:33:4;;;;;;;459:3906:73;1437:33:4;;;1361:134;1437:47;;;1430:54;:::o;1437:33::-;;;1255:17;1437:33;;1255:17;1437:33;;;;;;1255:17;1437:33;;;:::i;:::-;;;1255:17;;;;;1437:33;;;;;;-1:-1:-1;1437:33:4;;1100:352:73;459:3906;1297:31;459:3906;;1297:31;2030:14:2;1297:31:73;;;2030:14:2;;:::i;:::-;1297:31:73;;;;;;;;;;1280:73;459:3906;;1330:22;1297:31;1330:22;;;1204:42;459:3906;;1330:22;;;;459:3906;1330:22;;:::i;:::-;459:3906;;1280:73;;;;;;459:3906;;;;;;;;;;;;;-1:-1:-1;459:3906:73;;;;;;;;;-1:-1:-1;459:3906:73;;1280:73;1330:22;1280:73;;;;;;:::i;:::-;459:3906;1143:19:75;;459:3906:73;;1297:31;1082:81:75;;107:42:1;459:3906:73;107:42:1;;;;;;;-1:-1:-1;107:42:1;;;459:3906:73;107:42:1;;;459:3906:73;107:42:1;1082:81:75;;;;;;:::i;:::-;459:3906:73;1072:92:75;;459:3906:73;1100:352;:::o;2487:171:4:-;459:3906:73;;3124:4;2583:13:4;;2579:73;;2487:171;;:::o;2579:73::-;459:3906:73;2612:29:4;;;;459:3906:73;;;;;;2612:29:4;;;;;2030:14:2;2612:29:4;;;;;459:3906:73;3124:4;459:3906;;;;;;;;;;;;;;:::i;:::-;2612:29:4;;459:3906:73;2612:29:4;;;;;;;;2487:171;:::o;2612:29::-;459:3906:73;2612:29:4;;;:::i","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","test_DeployTrailsRouter_SameAddress()":"06fe3285","test_DeployTrailsRouter_Success()":"8d211eee","test_DeployedRouter_HasCorrectConfiguration()":"dd79c8ae"}}}},"test/script/TrailsRouterShim.s.t.sol":{"TrailsRouterShimDeploymentTest":{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_DeployRouterShim_SameAddress","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_DeployRouterShim_Success","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_DeployedContract_HasCorrectConfiguration","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"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\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_DeployRouterShim_SameAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_DeployRouterShim_Success\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_DeployedContract_HasCorrectConfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/script/TrailsRouterShim.s.t.sol\":\"TrailsRouterShimDeploymentTest\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/erc2470-libs/script/SingletonDeployer.s.sol\":{\"keccak256\":\"0x3fdec03d51d77fcda6d6c681e26e7c8d4b85f1457eac91e0ec15411a7ab1e1f6\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a690bf4481a37f3f77acdeecac089462db83f0437307610981b24c04b5202f6e\",\"dweb:/ipfs/QmUA9TSjAkqefNBW8BiRqg8XDJiJxJPxSsZHQwJJAbrYQg\"]},\"lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4b2a5a85e045dcf6a082700c7252e43854c2eed88f860aaa18ec1e85218ae2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98d060ed5be569a92d908fc358149039dc8f833d61973aa1b9d1d8235676bf6d\",\"dweb:/ipfs/QmaWQpn5dJmbMS5skwmPPMeUWZG35BLkignPpcA3zyagEs\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0xc942e27c7baae499beb01afbbae99f24d42af9a6e4aae675bc6901b704aa8e9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0456008adf68947247f358b62863af4a8e349549d2260f2ff9569ff0e3cf5c98\",\"dweb:/ipfs/QmdviSUj2i7o3TPN5vd2xocqGMFVqjUzaiJTZRYyPxyHPx\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xd8eec16034b53b52c90a3d720e121ce7d30d64cc57d854db7d817d5b382dda43\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://612780755e32668c7e3b747d94d16c7291101144e084dd9ee563f071711e99e3\",\"dweb:/ipfs/QmQgtFJXEmDtSHT7tZQTMbb6PCDpq5UDYFvrBnWk1Xo2SY\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xae394f477769a38276d98d4854bc865fc8d281edbd4e72167507adb8236812aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34a0e609a4ec617b5c349f5e89a3352810cc5e4d3adaf939b32a27e4a5e46de2\",\"dweb:/ipfs/QmPfjimWAGGb6rzDjNMtLeZ93JJbCJJMov5gaNKyTy1doe\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41\",\"dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK\"]},\"lib/forge-std/src/StdConstants.sol\":{\"keccak256\":\"0x319ccdabfa2c0b2428301445873270ffea20f0e039d4fd5e6eeba65158e4e534\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b633f9d3a719e1d035ce7daa6cc051ddf89a72d34200d14cec37728e245cdabc\",\"dweb:/ipfs/QmRP7HQJpHMx1CsFrY8tXVVx1DQmi2dcb2BoGfiWaA923r\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391\",\"dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974\",\"dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xcb876f5421e5aae334f9a6c5d549131c18ad347f1035d2a1e920f2623f346c85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28076e06b01be4095f860fa9b142c284bac34c0813948e0a52d11acc15502db6\",\"dweb:/ipfs/QmVR6XFTmBatJAVvYgkZxN21R5zvYTU4ard4Aow8TmXjy9\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x04102de0a79398e4bdea57b7a4818655b4cc66d6f81d1cff08bf428cd0b384cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53edc6c8f7f67cafc0129f039637c77d979880f7f1947defea31e8f0c05095bc\",\"dweb:/ipfs/QmUKXJd1vFCkxxrkXNLURdXrx2apoyWQFrFb5UqNkjdHVi\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3\",\"dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0xb2469a902a326074034c4f7081d868113db0edbb7cf48b86528af2d6b07295f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1430a81c4978be875e2a3b31a8bfa4e1438fecd327f23771b690d64db63c020a\",\"dweb:/ipfs/QmW6aB2u1LNaRgGQFwjV7L7UbxsRg63iJ7AuujPouEa4cT\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3dda6083a83dfa3e8526e97bcc28e862ee2442dd58fe94d5c426d65b8e38f73c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33f8c02e4dabdab86a6825125856446a8657eacd712318b51b7818e4a6f6e3f4\",\"dweb:/ipfs/QmRKSjVnrk54yr8wTK2e6QxRjiuba2H8HJSKunHAkdo7RG\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d\",\"dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab\",\"dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x869c06fcfd4e33df584f63c033467c3d4f5e51bdf78bc69d0eeef5c07e395ad9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://436721c3801101a789b998f14f161de63edb64229ff307b0951a97a964f07168\",\"dweb:/ipfs/QmaFWLRmVXFL629AyThz8Nc8W7RakZBVGo14AWB2WLyKcP\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/tstorish/src/Tstorish.sol\":{\"keccak256\":\"0xad3697d9fd6e7c1fb6faa8d474af00bb2a7afd51e8818165fd30bcc7ead53973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8b62000145be27440c913238fbe9b97ecfc709eacac14b498f18980418d6ab6\",\"dweb:/ipfs/QmRMXHdYUDmajWzwUjs7CQZ5i1T739MhiMmimd3do8qJNk\"]},\"lib/wallet-contracts-v3/src/modules/interfaces/IDelegatedExtension.sol\":{\"keccak256\":\"0xa2ae897e90fd70dd4a9e172bc04d019ba9c512e72c2df65fcb6daf87dd5ceb90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cdf4b7c3dfb0aef6c9dbe8b2a0542018dc756ef2252d7101bcb3186192da0a11\",\"dweb:/ipfs/QmPHCVu1DJ7fBrPBYA5y3hoF3a3XFEBwYCZ1ErGaxPhcYL\"]},\"script/TrailsRouter.s.sol\":{\"keccak256\":\"0x7606dd601cd7f10ab9c9a94a1ff6d6bc7ae2d4edd220bb161d89adc07eff6d75\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10bf0dfa40196e494e9f8cdbb795bdc6c9bda421e7938ff0ef90aa62f571525e\",\"dweb:/ipfs/QmaoLXskfyE4A27SkckeNG4Z2AVyEvn6g63XT91UDSQHUo\"]},\"script/TrailsRouterShim.s.sol\":{\"keccak256\":\"0x5fddb7fcbf18d9170ab378e72f0cee0309a45d11312f2a4dc596c02f63946cb6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://114e9024098a8e773d843992f307884fa97b7d989ca3e0bc7d422f9e34274132\",\"dweb:/ipfs/QmWbJ2MhG5Gvx5DybvMmJJHpxLU5nXXTwsxxmhewqPs26u\"]},\"src/TrailsRouter.sol\":{\"keccak256\":\"0x3765b9a333a9b3208d78f749a9cf60683a35922fe89742c9871b64f0f5d94a80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://521bf95f73436cf9a69dadaded52246ccca9131a21697079509de51e248b012e\",\"dweb:/ipfs/QmRz4SdbLz7Lu9YcocaEvpyRQgzzuRDU67sUBVNgQF9BXw\"]},\"src/TrailsRouterShim.sol\":{\"keccak256\":\"0x4634333e390620f169649a47bdb3e841a2c86611143aee92563c3aca3832b586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1b44a15093aa0b281135e34d67ddfcb7400ca459f54b1144e1b6d6e26506f32\",\"dweb:/ipfs/QmNwCbFE1n64MyrHJJedGp33CMuJt416eSQynMNM64kfAE\"]},\"src/guards/DelegatecallGuard.sol\":{\"keccak256\":\"0x976fccea434df38375cd872897186fce88cc276afd9a14d4e2b423a2065223a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59d4cb4e13dfdcdc1717c8247686ab5f493dc9c6e32054c2715f00e20914c37c\",\"dweb:/ipfs/QmSYknnthUM24GS3cpVfdruQ1Z4ubQ1uSeqwcpmSA6fG4S\"]},\"src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x2af659e8c6e557990ed69d2bfc66325d9ec6e772369c3b4b58e893f606f1c661\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://845d9a68b15842426a000349e12fe61e1575911aea3531465a596fd5529f1b25\",\"dweb:/ipfs/QmUGYKM7b4tFP2G9GWwHg95MZ4ckXNyp6fF8XmLEohSGze\"]},\"src/interfaces/ITrailsRouter.sol\":{\"keccak256\":\"0xfa38a06d4fbbd73f87265423e5dea14c9c4e8685560e51ea2be057a64d6edafc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66b55deefb499ae328f0e0773d2bf9f9eb77248d57348fcc7b33b261cf19f6f0\",\"dweb:/ipfs/QmWzBTXJQggsxKHvSHWQZDDDwAoKMQaHksgC5DK6ykYJDh\"]},\"src/interfaces/ITrailsRouterShim.sol\":{\"keccak256\":\"0xfc80960476942fdbfe1da428b91bae5b7500c786496c6d966ea7802af14e05e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87f592b6932575594bbf895ecc7c179a4179d2393afb990ffff8da0c48794948\",\"dweb:/ipfs/QmNesnkeYwYMTLEbU8PBG5zWXE81m1Q9ptrFZ4Hs6MeqRF\"]},\"src/libraries/TrailsSentinelLib.sol\":{\"keccak256\":\"0x56b026049dd90c8b515905ffa19afa6f28e6a490c55aa684db43d0a8ff0a8299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2083a22b57349ba3afed04bc8f168995aec5c0f62f08b6c6f686e356feba4f36\",\"dweb:/ipfs/QmdYaFbeumCEQdCWTyMk8gjtj8oW6gawyPkm6sMMCUdznz\"]},\"test/script/TrailsRouterShim.s.t.sol\":{\"keccak256\":\"0xbe30db1ec8856679c7b8ce4883c3b4bc538d2f1b65e3f1d34200bd3df5a080c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://558c50ea9a2eb48a423ac3256ed7475ab25ed9cbfa36cf9123812410aeb37162\",\"dweb:/ipfs/QmWn1oXEnEvJNFmVwCyzFDyVrYoWxRws4GknExg6JXvWV2\"]},\"test/utils/Create2Utils.sol\":{\"keccak256\":\"0xe5b36a1cdb5827185a7948737c4f61eca071f949c6d7f57339ebaaaee948bbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63655eac25e4f37b069b136660b1585c8be05e749f6dd513ed9a763be83fcb9e\",\"dweb:/ipfs/QmdjR1QrAPUYN8LvsrGk2f1ZvVVfQ2aqPdKqmuSf8H1DpV\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234602f57600160ff19600c541617600c55600160ff19601f541617601f55619cb690816100348239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630a9254e4146117d9575080631ed7831c146117305780632ade3880146114fc5780633e5e3c23146114535780633f7286f4146113aa5780634f16fadf14610e2a57806366d9a9a014610cc757806385226c8114610c17578063916a17c614610b42578063b0464fdc14610a6d578063b4092f6f146106b1578063b4ce81b5146102c4578063b5508aa91461020d578063ba414fa6146101ca578063e20c9f71146101115763fa7626d4146100ce575f80fd5b3461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602060ff601f54166040519015158152f35b80fd5b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b81811061019e5761019a8561018e81870382611ddf565b60405191829182611b6a565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610177565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760206102036121f2565b6040519015158152f35b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760195461024881611e4c565b916102566040519384611ddf565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b838310610298576040518061019a8782611c51565b6001602081926040516102b6816102af8189611e64565b0382611ddf565b815201920192019190610283565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061034460048201611f04565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156106645761069c575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457610687575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610684578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156106645761066f575b50506004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927f3268cc560000000000000000000000000000000000000000000000000000000082525afa8015610664576004918391610645575b506104d9813b1515604051906104aa604083611ddf565b601f82527f547261696c73526f757465722073686f756c64206265206465706c6f7965640060208301526122cb565b602073ffffffffffffffffffffffffffffffffffffffff6104f8612372565b16610563813b15156040519061050f606083611ddf565b603782527f547261696c73526f757465725368696d2073686f756c64206265206465706c6f858301527f796564206174206578706563746564206164647265737300000000000000000060408301526122cb565b604051938480927f32fe7b260000000000000000000000000000000000000000000000000000000082525afa90811561063a57610606928492610609575b50604051916105b1606084611ddf565b602783527f5368696d2073686f756c64206861766520636f727265637420726f757465722060208401527f6164647265737300000000000000000000000000000000000000000000000000604084015261246d565b80f35b61062c91925060203d602011610633575b6106248183611ddf565b810190611e20565b905f6105a1565b503d61061a565b6040513d85823e3d90fd5b61065e915060203d602011610633576106248183611ddf565b5f610493565b6040513d84823e3d90fd5b8161067991611ddf565b61010e57805f610435565b50fd5b8161069191611ddf565b61010e57805f6103d5565b816106a691611ddf565b61010e57805f610369565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061073160048201611f04565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457610a58575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610684578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af1801561066457610a43575b50506004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927f3268cc560000000000000000000000000000000000000000000000000000000082525afa908115610664578291610a24575b5073ffffffffffffffffffffffffffffffffffffffff610830612372565b1690604051917f32fe7b26000000000000000000000000000000000000000000000000000000008352602083600481845afa908115610a19576108de60209260049587916109fc575b50846040519161088a606084611ddf565b602b83527f5368696d2073686f756c64206861766520636f727265637420726f7574657220868401527f6164647265737320736574000000000000000000000000000000000000000000604084015261246d565b61093873ffffffffffffffffffffffffffffffffffffffff84163b15156040519061090a604083611ddf565b601782527f526f757465722073686f756c64206861766520636f6465000000000000000000858301526122cb565b604051938480927f32fe7b260000000000000000000000000000000000000000000000000000000082525afa90811561063a576106069284926109db575b5060405191610986606084611ddf565b603083527f5368696d2073686f756c642062652061626c6520746f2061636365737320697460208401527f7320726f75746572206164647265737300000000000000000000000000000000604084015261246d565b6109f591925060203d602011610633576106248183611ddf565b905f610976565b610a139150843d8611610633576106248183611ddf565b5f610879565b6040513d86823e3d90fd5b610a3d915060203d602011610633576106248183611ddf565b5f610812565b81610a4d91611ddf565b61010e57805f6107b6565b81610a6291611ddf565b61010e57805f610756565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601c54610aa881611e4c565b91610ab66040519384611ddf565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b838310610af8576040518061019a8782611cce565b60026020600192604051610b0b81611dc3565b73ffffffffffffffffffffffffffffffffffffffff8654168152610b30858701611f4c565b83820152815201920192019190610ae3565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601d54610b7d81611e4c565b91610b8b6040519384611ddf565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b838310610bcd576040518061019a8782611cce565b60026020600192604051610be081611dc3565b73ffffffffffffffffffffffffffffffffffffffff8654168152610c05858701611f4c565b83820152815201920192019190610bb8565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601a54610c5281611e4c565b91610c606040519384611ddf565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310610ca2576040518061019a8782611c51565b600160208192604051610cb9816102af8189611e64565b815201920192019190610c8d565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601b54610d0281611e4c565b610d0f6040519182611ddf565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b838310610de757868587604051928392602084019060208552518091526040840160408260051b8601019392905b828210610d7c57505050500390f35b91936020610dd7827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288519083610dc78351604084526040840190611bb9565b9201519084818403910152611bfc565b9601920192018594939192610d6d565b60026020600192604051610dfa81611dc3565b604051610e0b816102af818a611e64565b8152610e18858701611f4c565b83820152815201920192019190610d3f565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee000000000000000000000000000000000000000000000000000000008152818180610eaa60048201611f04565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457611395575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457611380575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610684578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156106645761136b575b50506004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927f3268cc560000000000000000000000000000000000000000000000000000000082525afa90811561066457829161134c575b50611063813b15156040519061100e606083611ddf565b602782527f4669727374206465706c6f796d656e743a20547261696c73526f75746572206460208301527f65706c6f7965640000000000000000000000000000000000000000000000000060408301526122cb565b73ffffffffffffffffffffffffffffffffffffffff611080612372565b166110ec813b151560405190611097606083611ddf565b602b82527f4669727374206465706c6f796d656e743a20547261696c73526f75746572536860208301527f696d206465706c6f79656400000000000000000000000000000000000000000060408301526122cb565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561131a57826040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061113d60048201611f04565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457611337575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561131a57826040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457611322575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b1561131e578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af1801561066457611305575b505061129e610606923b151560405190611249606083611ddf565b602e82527f5365636f6e64206465706c6f796d656e743a20547261696c73526f757465722060208301527f7374696c6c206465706c6f79656400000000000000000000000000000000000060408301526122cb565b3b1515604051906112b0606083611ddf565b603282527f5365636f6e64206465706c6f796d656e743a20547261696c73526f757465725360208301527f68696d207374696c6c206465706c6f796564000000000000000000000000000060408301526122cb565b8161130f91611ddf565b61131a57825f61122e565b8280fd5b5080fd5b8161132c91611ddf565b61131a57825f6111ce565b8161134191611ddf565b61131a57825f611162565b611365915060203d602011610633576106248183611ddf565b5f610ff7565b8161137591611ddf565b61010e57805f610f9b565b8161138a91611ddf565b61010e57805f610f3b565b8161139f91611ddf565b61010e57805f610ecf565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601754928381520191601782527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15915b8181106114275761019a8561018e81870382611ddf565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201611410565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601854928381520191601882527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e915b8181106114d05761019a8561018e81870382611ddf565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016114b9565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601e5461153781611e4c565b6115446040519182611ddf565b818152601e83526020810191837f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350845b8383106116925786858760405192839260208401906020855251809152604084019160408260051b8601019392815b8383106115b05786860387f35b9193957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09086929496030183528551906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b850101940192855b828110611649575050505050602080600192970193019301909286959492936115a3565b9091929394602080611685837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951611bb9565b9701950193929101611625565b60405161169e81611dc3565b73ffffffffffffffffffffffffffffffffffffffff83541681526001830180546116c781611e4c565b916116d56040519384611ddf565b8183528a526020808b20908b9084015b83821061170b575050505060019282602092836002950152815201920192019190611574565b600160208192604051611722816102af818a611e64565b8152019301910190916116e5565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601654928381520191601682527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289915b8181106117ad5761019a8561018e81870382611ddf565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201611796565b905034611ab8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611ab857614ca080820182811067ffffffffffffffff821117611b3d578291612589833903905ff08015611aad577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f557fac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff806021556118a7602254611d72565b601f8111611adb575b50608560225560225f527f30786163303937346265633339613137653336626134613662346432333866667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510557f39343462616362343738636265643565666361653738346437626634663266667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e511557f38300000000000000000000000000000000000000000000000000000000000007f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e51255602154604051907fffa186490000000000000000000000000000000000000000000000000000000082526004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015611aad5773ffffffffffffffffffffffffffffffffffffffff915f91611abc575b5016807fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611ab857604051907fc88a5e6d000000000000000000000000000000000000000000000000000000008252600482015268056bc75e2d6310000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015611aad57611a9f575080f35b611aab91505f90611ddf565b005b6040513d5f823e3d90fd5b5f80fd5b611ad5915060203d602011610633576106248183611ddf565b5f6119f2565b601f0160051c7f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510017f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5135b818110611b3257506118b0565b5f8155600101611b25565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60206040818301928281528451809452019201905f5b818110611b8d5750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611b80565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110611c195750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101611c0c565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611c8357505050505090565b9091929394602080611cbf837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951611bb9565b97019301930191939290611c74565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611d0057505050505090565b9091929394602080611d63837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190611bfc565b97019301930191939290611cf1565b90600182811c92168015611db9575b6020831014611d8c57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691611d81565b6040810190811067ffffffffffffffff821117611b3d57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611b3d57604052565b90816020910312611ab8575173ffffffffffffffffffffffffffffffffffffffff81168103611ab85790565b67ffffffffffffffff8111611b3d5760051b60200190565b5f9291815491611e7383611d72565b8083529260018116908115611ec85750600114611e8f57505050565b5f9081526020812093945091925b838310611eae575060209250010190565b600181602092949394548385870101520191019190611e9d565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b6080611f499160408152600b60408201527f505249564154455f4b45590000000000000000000000000000000000000000006060820152816020820152016022611e64565b90565b90604051918281549182825260208201905f5260205f20925f905b80600783011061216557611fbd94549181811061212f575b8181106120f9575b8181106120c3575b81811061208d575b818110612057575b818110612021575b818110611fec575b10611fbf575b500383611ddf565b565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611fb5565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301611faf565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301611fa7565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301611f9f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301611f97565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301611f8f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301611f87565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301611f7f565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391611f67565b60085460ff161561220257600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115611aad575f91612299575b50151590565b90506020813d6020116122c3575b816122b460209383611ddf565b81010312611ab857515f612293565b3d91506122a7565b1515600181036122d9575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611ab857612342915f9160405193849283927f4db19e7e000000000000000000000000000000000000000000000000000000008452600484015260016024840152606060448401526064830190611bb9565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015611aad576123685750565b5f611fbd91611ddf565b611f4973ffffffffffffffffffffffffffffffffffffffff6124306122c461242b6040516123a36020840182611ddf565b82815260208101926179bd843960206040518181019073ca11bde05977b3631167028862be2a173976ca1182528281526123de604082611ddf565b6040519586945180918587015e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611ddf565b6124f9565b1661242b6107949160206040519161244a82860184611ddf565b8483528183019461722986396040518281019182528281526123de604082611ddf565b73ffffffffffffffffffffffffffffffffffffffff908116911680820361249357505050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611ab8575f9161234260405194859384937f2f2769d100000000000000000000000000000000000000000000000000000000855260048501526024840152606060448401526064830190611bb9565b73ffffffffffffffffffffffffffffffffffffffff906020815191012060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301525f6035830152605582015260558152612581607582611ddf565b519020169056fe608080604052346026576201000162ff00ff19600c541617600c55614c75908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081633268cc5614610f1d57508063c0406226146100855763f8ccbf471461003f575f80fd5b3461008257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008257602060ff600c5460101c166040519015158152f35b80fd5b5034610e9b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e9b576040517fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610e90575f91610eeb575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610e90576101d2915f91610ecc575b506040516101a3604082610f6e565b601181527f4465706c6f79657220416464726573733a000000000000000000000000000000602082015261101e565b60405161332380820182811067ffffffffffffffff821117610e9f578291611189833903905ff08015610e905773ffffffffffffffffffffffffffffffffffffffff16803b15610e9b576040517fc04062260000000000000000000000000000000000000000000000000000000081525f8160048183865af18015610e9057610e7b575b50602083916024604051809481937ff0c9a4290000000000000000000000000000000000000000000000000000000083528760048401525af180156107e45773ffffffffffffffffffffffffffffffffffffffff918491610e4c575b507fffffffffffffffffff0000000000000000000000000000000000000000ffffff76ffffffffffffffffffffffffffffffffffffffff000000600c549260181b1691161780600c5560181c1661034081604051610311604082610f6e565b601981527f547261696c73526f75746572206465706c6f7965642061743a00000000000000602082015261101e565b82610794926103cf604051946103596020820187610f6e565b80865260208601906144ac8239602060405195818701908152818752610380604088610f6e565b604051968793838501995180918b5e84019083820190888252519283915e0101848152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101855284610f6e565b604051936103de604086610f6e565b601085527f547261696c73526f757465725368696d000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610859575b73ffffffffffffffffffffffffffffffffffffffff908451902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528560358301526055820152605581526104ac607582610f6e565b51902016936002853b1161080857846104fd91604051906104ce604083610f6e565b600c82527f6465706c6f79696e6720746f000000000000000000000000000000000000000060208301526110c5565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561080457604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a576107ef575b505060206105af91604051809381927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610fdb565b86602483015203818673ce0042b868300000d44a59004da54a005ffdcf9f5af19081156107e4578391610795575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561078657826040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a57610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b5576106b2905b604051610683604082610f6e565b601d81527f547261696c73526f757465725368696d206465706c6f7965642061743a000000602082015261101e565b80f35b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b8161077b91610f6e565b61078657825f610648565b8280fd5b6040513d84823e3d90fd5b90506020813d6020116107dc575b816107b060209383610f6e565b81010312610786575173ffffffffffffffffffffffffffffffffffffffff81168103610786575f6105dd565b3d91506107a3565b6040513d85823e3d90fd5b816107f991610f6e565b61078657825f61056c565b5080fd5b8493506106b2949150610854925060405190610825604083610f6e565b601382527f616c7265616479206465706c6f79656420746f0000000000000000000000000060208301526110c5565b610675565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bde575b5f806108fa610940604051610893604082610f6e565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610fdb565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa506040516109646101a082610f6e565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bda5783610b8b91604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610fdb565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610bcf578491610bba575b5050610427565b81610bc491610f6e565b61078657825f610bb3565b6040513d86823e3d90fd5b8380fd5b9091505f80610c5e610c8a604051610bf7604082610f6e565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610fdb565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610e4857846040517fce817d47000000000000000000000000000000000000000000000000000000008152836004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a57610e33575b505073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e065786808080969594819482906657c084e5f3c00014610dfd575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561078a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152838160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610bcf578491610de8575b505061087d565b81610df291610f6e565b61078657825f610de1565b506108fc610d59565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b81610e3d91610f6e565b610e4857845f610d0f565b8480fd5b610e6e915060203d602011610e74575b610e668183610f6e565b810190610faf565b5f6102b2565b503d610e5c565b602093505f610e8991610f6e565b5f92610256565b6040513d5f823e3d90fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610ee5915060203d602011610e7457610e668183610f6e565b5f610194565b90506020813d602011610f15575b81610f0660209383610f6e565b81010312610e9b57515f610139565b3d9150610ef9565b34610e9b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e9b5760209073ffffffffffffffffffffffffffffffffffffffff600c5460181c168152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e9f57604052565b90816020910312610e9b575173ffffffffffffffffffffffffffffffffffffffff81168103610e9b5790565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b61107b6110ae5f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610fdb565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa50565b6110ae611125915f9473ffffffffffffffffffffffffffffffffffffffff61115587966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610fdb565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610fdb565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e56fe608080604052346026576201000162ff00ff19600c541617600c556132f8908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163c0406226146100de57508063f0c9a429146100845763f8ccbf471461003d575f80fd5b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008057602060ff600c5460101c166040519015158152f35b5f80fd5b346100805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100805760206100c060043561036e565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610080577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f916102ce575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f91610272575b6102706102338461022e856040516101ff604082610300565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610e94565b61036e565b604051610241604082610300565b601981527f547261696c73526f75746572206465706c6f7965642061743a000000000000006020820152610e94565b005b90506020813d6020116102bb575b8161028d60209383610300565b81010312610080575173ffffffffffffffffffffffffffffffffffffffff81168103610080576102706101e6565b3d9150610280565b6040513d5f823e3d90fd5b90506020813d6020116102f8575b816102e960209383610300565b8101031261008057518161018e565b3d91506102dc565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6122c4604051926103836020830185610300565b8184526020840191610fff833961041060405192602080850173ca11bde05977b3631167028862be2a173976ca1181528186526103c1604087610300565b604051958693838501995180918b5e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610300565b6040519361041f604086610300565b600c85527f547261696c73526f7574657200000000000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610866575b73ffffffffffffffffffffffffffffffffffffffff908351902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528660358301526055820152605581526104ed607582610300565b519020169384906002823b1161081a57906105409160405190610511604083610300565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610f3b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561081657604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561080b576107f6575b509060206105f292604051809481927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610e51565b84602483015203818473ce0042b868300000d44a59004da54a005ffdcf9f5af19182156107e9578192610794575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078957610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b55790565b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b61077c828092610300565b610786578061068a565b80fd5b6040513d84823e3d90fd5b9091506020813d6020116107e1575b816107b060209383610300565b810103126107dd575173ffffffffffffffffffffffffffffffffffffffff811681036107dd57905f610620565b5080fd5b3d91506107a3565b50604051903d90823e3d90fd5b610801838092610300565b6107dd575f6105af565b6040513d85823e3d90fd5b8280fd5b915091508261086393505060405190610834604083610300565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610f3b565b90565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bef575b5f8061090761094d6040516108a0604082610300565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610e51565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa506040516109716101a082610300565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610beb5784610b9891604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610e51565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610bc7575b5050610468565b81610bd191610300565b610bdc57835f610bc0565b8380fd5b6040513d87823e3d90fd5b8480fd5b5f80610c6c610c98604051610c05604082610300565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610e51565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610080576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102c357610e3c575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e0f5785808093819382906657c084e5f3c00014610e06575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561080b57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bdc576040517f76eadd36000000000000000000000000000000000000000000000000000000008152848160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610df1575b505061088a565b81610dfb91610300565b610bdc57835f610dea565b506108fc610d62565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610e499194505f90610300565b5f925f610d1c565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610ef1610f245f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610e51565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50565b610f24610f9b915f9473ffffffffffffffffffffffffffffffffffffffff610fcb87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610e51565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610e51565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261030056fe610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220251b377e7cc5dd80ba7afd969ede0bd9fcdd8b9282e76cc5e674ad849a56b6f264736f6c634300081e003361016060405234610096576107946020813803918261001d816100ae565b93849283398101031261009657516001600160a01b038116810361009657610044906100d8565b6040516105d890816101bc8239608051816102a5015260a051816101a0015260c0518161016d015260e0518161036d015261010051815050610120518150506101405181818161010d01526104a20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100d357604052565b61009a565b306080526100e4610163565b6001600160a01b03811615610154576100fc81610179565b801561013e57600160e0526003610100526005610120525b60c05260a0526001600160a01b0381161561012f5761014052565b631df13ab560e01b5f5260045ffd5b600260e052600461010052600661012052610114565b632aea588760e01b5f5260045ffd5b696002601e613d5c3d52f35f52600a60165ff090565b5f80808093600a5a04fa3d156101b8573d6001600160401b0381116100d3576101ab601f8201601f19166020016100ae565b9081525f60203d92013e90565b9056fe60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e0033a2646970667358221220911eb483696e66e4f4dbedb88971aa357ffdabd80a1819f2dec507042ee7b3ef64736f6c634300081e003361016060405234610096576107946020813803918261001d816100ae565b93849283398101031261009657516001600160a01b038116810361009657610044906100d8565b6040516105d890816101bc8239608051816102a5015260a051816101a0015260c0518161016d015260e0518161036d015261010051815050610120518150506101405181818161010d01526104a20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100d357604052565b61009a565b306080526100e4610163565b6001600160a01b03811615610154576100fc81610179565b801561013e57600160e0526003610100526005610120525b60c05260a0526001600160a01b0381161561012f5761014052565b631df13ab560e01b5f5260045ffd5b600260e052600461010052600661012052610114565b632aea588760e01b5f5260045ffd5b696002601e613d5c3d52f35f52600a60165ff090565b5f80808093600a5a04fa3d156101b8573d6001600160401b0381116100d3576101ab601f8201601f19166020016100ae565b9081525f60203d92013e90565b9056fe60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e0033610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220484ae9e1d259f23b3cec0bad634f6b64569c30900d14b413f9eb170c22372ca564736f6c634300081e0033","sourceMap":"526:5437:74:-:0;;;;;;;3200:4:5;526:5437:74;;3200:4:5;526:5437:74;;;3200:4:5;526:5437:74;3200:4:5;526:5437:74;;1087:4:16;526:5437:74;;;1087:4:16;526:5437:74;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6080806040526004361015610012575f80fd5b5f905f3560e01c9081630a9254e4146117d9575080631ed7831c146117305780632ade3880146114fc5780633e5e3c23146114535780633f7286f4146113aa5780634f16fadf14610e2a57806366d9a9a014610cc757806385226c8114610c17578063916a17c614610b42578063b0464fdc14610a6d578063b4092f6f146106b1578063b4ce81b5146102c4578063b5508aa91461020d578063ba414fa6146101ca578063e20c9f71146101115763fa7626d4146100ce575f80fd5b3461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57602060ff601f54166040519015158152f35b80fd5b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601554928381520191601582527f55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475915b81811061019e5761019a8561018e81870382611ddf565b60405191829182611b6a565b0390f35b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201610177565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760206102036121f2565b6040519015158152f35b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760195461024881611e4c565b916102566040519384611ddf565b818352601981527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695602084015b838310610298576040518061019a8782611c51565b6001602081926040516102b6816102af8189611e64565b0382611ddf565b815201920192019190610283565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061034460048201611f04565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156106645761069c575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457610687575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610684578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156106645761066f575b50506004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927f3268cc560000000000000000000000000000000000000000000000000000000082525afa8015610664576004918391610645575b506104d9813b1515604051906104aa604083611ddf565b601f82527f547261696c73526f757465722073686f756c64206265206465706c6f7965640060208301526122cb565b602073ffffffffffffffffffffffffffffffffffffffff6104f8612372565b16610563813b15156040519061050f606083611ddf565b603782527f547261696c73526f757465725368696d2073686f756c64206265206465706c6f858301527f796564206174206578706563746564206164647265737300000000000000000060408301526122cb565b604051938480927f32fe7b260000000000000000000000000000000000000000000000000000000082525afa90811561063a57610606928492610609575b50604051916105b1606084611ddf565b602783527f5368696d2073686f756c64206861766520636f727265637420726f757465722060208401527f6164647265737300000000000000000000000000000000000000000000000000604084015261246d565b80f35b61062c91925060203d602011610633575b6106248183611ddf565b810190611e20565b905f6105a1565b503d61061a565b6040513d85823e3d90fd5b61065e915060203d602011610633576106248183611ddf565b5f610493565b6040513d84823e3d90fd5b8161067991611ddf565b61010e57805f610435565b50fd5b8161069191611ddf565b61010e57805f6103d5565b816106a691611ddf565b61010e57805f610369565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061073160048201611f04565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457610a58575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610684578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af1801561066457610a43575b50506004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927f3268cc560000000000000000000000000000000000000000000000000000000082525afa908115610664578291610a24575b5073ffffffffffffffffffffffffffffffffffffffff610830612372565b1690604051917f32fe7b26000000000000000000000000000000000000000000000000000000008352602083600481845afa908115610a19576108de60209260049587916109fc575b50846040519161088a606084611ddf565b602b83527f5368696d2073686f756c64206861766520636f727265637420726f7574657220868401527f6164647265737320736574000000000000000000000000000000000000000000604084015261246d565b61093873ffffffffffffffffffffffffffffffffffffffff84163b15156040519061090a604083611ddf565b601782527f526f757465722073686f756c64206861766520636f6465000000000000000000858301526122cb565b604051938480927f32fe7b260000000000000000000000000000000000000000000000000000000082525afa90811561063a576106069284926109db575b5060405191610986606084611ddf565b603083527f5368696d2073686f756c642062652061626c6520746f2061636365737320697460208401527f7320726f75746572206164647265737300000000000000000000000000000000604084015261246d565b6109f591925060203d602011610633576106248183611ddf565b905f610976565b610a139150843d8611610633576106248183611ddf565b5f610879565b6040513d86823e3d90fd5b610a3d915060203d602011610633576106248183611ddf565b5f610812565b81610a4d91611ddf565b61010e57805f6107b6565b81610a6291611ddf565b61010e57805f610756565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601c54610aa881611e4c565b91610ab66040519384611ddf565b818352601c81527f0e4562a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a211602084015b838310610af8576040518061019a8782611cce565b60026020600192604051610b0b81611dc3565b73ffffffffffffffffffffffffffffffffffffffff8654168152610b30858701611f4c565b83820152815201920192019190610ae3565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601d54610b7d81611e4c565b91610b8b6040519384611ddf565b818352601d81527f6d4407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f602084015b838310610bcd576040518061019a8782611cce565b60026020600192604051610be081611dc3565b73ffffffffffffffffffffffffffffffffffffffff8654168152610c05858701611f4c565b83820152815201920192019190610bb8565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601a54610c5281611e4c565b91610c606040519384611ddf565b818352601a81527f057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e602084015b838310610ca2576040518061019a8782611c51565b600160208192604051610cb9816102af8189611e64565b815201920192019190610c8d565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601b54610d0281611e4c565b610d0f6040519182611ddf565b818152601b83526020810191837f3ad8aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1845b838310610de757868587604051928392602084019060208552518091526040840160408260051b8601019392905b828210610d7c57505050500390f35b91936020610dd7827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288519083610dc78351604084526040840190611bb9565b9201519084818403910152611bfc565b9601920192018594939192610d6d565b60026020600192604051610dfa81611dc3565b604051610e0b816102af818a611e64565b8152610e18858701611f4c565b83820152815201920192019190610d3f565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f3d5923ee000000000000000000000000000000000000000000000000000000008152818180610eaa60048201611f04565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457611395575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561010e57806040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457611380575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b15610684578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af180156106645761136b575b50506004602073ffffffffffffffffffffffffffffffffffffffff601f5460081c16604051928380927f3268cc560000000000000000000000000000000000000000000000000000000082525afa90811561066457829161134c575b50611063813b15156040519061100e606083611ddf565b602782527f4669727374206465706c6f796d656e743a20547261696c73526f75746572206460208301527f65706c6f7965640000000000000000000000000000000000000000000000000060408301526122cb565b73ffffffffffffffffffffffffffffffffffffffff611080612372565b166110ec813b151560405190611097606083611ddf565b602b82527f4669727374206465706c6f796d656e743a20547261696c73526f75746572536860208301527f696d206465706c6f79656400000000000000000000000000000000000000000060408301526122cb565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561131a57826040517f3d5923ee00000000000000000000000000000000000000000000000000000000815281818061113d60048201611f04565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457611337575b5050737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561131a57826040517f41af2f52000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561066457611322575b5073ffffffffffffffffffffffffffffffffffffffff601f5460081c16803b1561131e578180916004604051809481937fc04062260000000000000000000000000000000000000000000000000000000083525af1801561066457611305575b505061129e610606923b151560405190611249606083611ddf565b602e82527f5365636f6e64206465706c6f796d656e743a20547261696c73526f757465722060208301527f7374696c6c206465706c6f79656400000000000000000000000000000000000060408301526122cb565b3b1515604051906112b0606083611ddf565b603282527f5365636f6e64206465706c6f796d656e743a20547261696c73526f757465725360208301527f68696d207374696c6c206465706c6f796564000000000000000000000000000060408301526122cb565b8161130f91611ddf565b61131a57825f61122e565b8280fd5b5080fd5b8161132c91611ddf565b61131a57825f6111ce565b8161134191611ddf565b61131a57825f611162565b611365915060203d602011610633576106248183611ddf565b5f610ff7565b8161137591611ddf565b61010e57805f610f9b565b8161138a91611ddf565b61010e57805f610f3b565b8161139f91611ddf565b61010e57805f610ecf565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601754928381520191601782527fc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15915b8181106114275761019a8561018e81870382611ddf565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201611410565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601854928381520191601882527fb13d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e915b8181106114d05761019a8561018e81870382611ddf565b825473ffffffffffffffffffffffffffffffffffffffff168452602090930192600192830192016114b9565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e57601e5461153781611e4c565b6115446040519182611ddf565b818152601e83526020810191837f50bb669a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e350845b8383106116925786858760405192839260208401906020855251809152604084019160408260051b8601019392815b8383106115b05786860387f35b9193957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09086929496030183528551906020604082019273ffffffffffffffffffffffffffffffffffffffff81511683520151916040602083015282518091526060820190602060608260051b850101940192855b828110611649575050505050602080600192970193019301909286959492936115a3565b9091929394602080611685837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa087600196030189528951611bb9565b9701950193929101611625565b60405161169e81611dc3565b73ffffffffffffffffffffffffffffffffffffffff83541681526001830180546116c781611e4c565b916116d56040519384611ddf565b8183528a526020808b20908b9084015b83821061170b575050505060019282602092836002950152815201920192019190611574565b600160208192604051611722816102af818a611e64565b8152019301910190916116e5565b503461010e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010e5760405180916020601654928381520191601682527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289915b8181106117ad5761019a8561018e81870382611ddf565b825473ffffffffffffffffffffffffffffffffffffffff16845260209093019260019283019201611796565b905034611ab8575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112611ab857614ca080820182811067ffffffffffffffff821117611b3d578291612589833903905ff08015611aad577fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00601f549260081b16911617601f557fac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff806021556118a7602254611d72565b601f8111611adb575b50608560225560225f527f30786163303937346265633339613137653336626134613662346432333866667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510557f39343462616362343738636265643565666361653738346437626634663266667f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e511557f38300000000000000000000000000000000000000000000000000000000000007f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e51255602154604051907fffa186490000000000000000000000000000000000000000000000000000000082526004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015611aad5773ffffffffffffffffffffffffffffffffffffffff915f91611abc575b5016807fffffffffffffffffffffffff00000000000000000000000000000000000000006020541617602055737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611ab857604051907fc88a5e6d000000000000000000000000000000000000000000000000000000008252600482015268056bc75e2d6310000060248201525f8160448183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015611aad57611a9f575080f35b611aab91505f90611ddf565b005b6040513d5f823e3d90fd5b5f80fd5b611ad5915060203d602011610633576106248183611ddf565b5f6119f2565b601f0160051c7f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e510017f61035b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e5135b818110611b3257506118b0565b5f8155600101611b25565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60206040818301928281528451809452019201905f5b818110611b8d5750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611b80565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90602080835192838152019201905f5b818110611c195750505090565b82517fffffffff0000000000000000000000000000000000000000000000000000000016845260209384019390920191600101611c0c565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611c8357505050505090565b9091929394602080611cbf837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951611bb9565b97019301930191939290611c74565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310611d0057505050505090565b9091929394602080611d63837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5173ffffffffffffffffffffffffffffffffffffffff815116845201519181858201520190611bfc565b97019301930191939290611cf1565b90600182811c92168015611db9575b6020831014611d8c57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691611d81565b6040810190811067ffffffffffffffff821117611b3d57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611b3d57604052565b90816020910312611ab8575173ffffffffffffffffffffffffffffffffffffffff81168103611ab85790565b67ffffffffffffffff8111611b3d5760051b60200190565b5f9291815491611e7383611d72565b8083529260018116908115611ec85750600114611e8f57505050565b5f9081526020812093945091925b838310611eae575060209250010190565b600181602092949394548385870101520191019190611e9d565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b6080611f499160408152600b60408201527f505249564154455f4b45590000000000000000000000000000000000000000006060820152816020820152016022611e64565b90565b90604051918281549182825260208201905f5260205f20925f905b80600783011061216557611fbd94549181811061212f575b8181106120f9575b8181106120c3575b81811061208d575b818110612057575b818110612021575b818110611fec575b10611fbf575b500383611ddf565b565b7fffffffff000000000000000000000000000000000000000000000000000000001681526020015f611fb5565b9260206001917fffffffff0000000000000000000000000000000000000000000000000000000085831b168152019301611faf565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560401b168152019301611fa7565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560601b168152019301611f9f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560801b168152019301611f97565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560a01b168152019301611f8f565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560c01b168152019301611f87565b9260206001917fffffffff000000000000000000000000000000000000000000000000000000008560e01b168152019301611f7f565b9160089193506101006001917fffffffff000000000000000000000000000000000000000000000000000000008754818160e01b168352818160c01b166020840152818160a01b166040840152818160801b166060840152818160601b166080840152818160401b1660a0840152818160201b1660c08401521660e0820152019401920185929391611f67565b60085460ff161561220257600190565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d60048201527f6661696c656400000000000000000000000000000000000000000000000000006024820152602081604481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115611aad575f91612299575b50151590565b90506020813d6020116122c3575b816122b460209383611ddf565b81010312611ab857515f612293565b3d91506122a7565b1515600181036122d9575050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611ab857612342915f9160405193849283927f4db19e7e000000000000000000000000000000000000000000000000000000008452600484015260016024840152606060448401526064830190611bb9565b0381737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015611aad576123685750565b5f611fbd91611ddf565b611f4973ffffffffffffffffffffffffffffffffffffffff6124306122c461242b6040516123a36020840182611ddf565b82815260208101926179bd843960206040518181019073ca11bde05977b3631167028862be2a173976ca1182528281526123de604082611ddf565b6040519586945180918587015e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611ddf565b6124f9565b1661242b6107949160206040519161244a82860184611ddf565b8483528183019461722986396040518281019182528281526123de604082611ddf565b73ffffffffffffffffffffffffffffffffffffffff908116911680820361249357505050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611ab8575f9161234260405194859384937f2f2769d100000000000000000000000000000000000000000000000000000000855260048501526024840152606060448401526064830190611bb9565b73ffffffffffffffffffffffffffffffffffffffff906020815191012060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301525f6035830152605582015260558152612581607582611ddf565b519020169056fe608080604052346026576201000162ff00ff19600c541617600c55614c75908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081633268cc5614610f1d57508063c0406226146100855763f8ccbf471461003f575f80fd5b3461008257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008257602060ff600c5460101c166040519015158152f35b80fd5b5034610e9b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e9b576040517fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa908115610e90575f91610eeb575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa8015610e90576101d2915f91610ecc575b506040516101a3604082610f6e565b601181527f4465706c6f79657220416464726573733a000000000000000000000000000000602082015261101e565b60405161332380820182811067ffffffffffffffff821117610e9f578291611189833903905ff08015610e905773ffffffffffffffffffffffffffffffffffffffff16803b15610e9b576040517fc04062260000000000000000000000000000000000000000000000000000000081525f8160048183865af18015610e9057610e7b575b50602083916024604051809481937ff0c9a4290000000000000000000000000000000000000000000000000000000083528760048401525af180156107e45773ffffffffffffffffffffffffffffffffffffffff918491610e4c575b507fffffffffffffffffff0000000000000000000000000000000000000000ffffff76ffffffffffffffffffffffffffffffffffffffff000000600c549260181b1691161780600c5560181c1661034081604051610311604082610f6e565b601981527f547261696c73526f75746572206465706c6f7965642061743a00000000000000602082015261101e565b82610794926103cf604051946103596020820187610f6e565b80865260208601906144ac8239602060405195818701908152818752610380604088610f6e565b604051968793838501995180918b5e84019083820190888252519283915e0101848152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101855284610f6e565b604051936103de604086610f6e565b601085527f547261696c73526f757465725368696d000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610859575b73ffffffffffffffffffffffffffffffffffffffff908451902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528560358301526055820152605581526104ac607582610f6e565b51902016936002853b1161080857846104fd91604051906104ce604083610f6e565b600c82527f6465706c6f79696e6720746f000000000000000000000000000000000000000060208301526110c5565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561080457604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a576107ef575b505060206105af91604051809381927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610fdb565b86602483015203818673ce0042b868300000d44a59004da54a005ffdcf9f5af19081156107e4578391610795575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561078657826040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a57610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b5576106b2905b604051610683604082610f6e565b601d81527f547261696c73526f757465725368696d206465706c6f7965642061743a000000602082015261101e565b80f35b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b8161077b91610f6e565b61078657825f610648565b8280fd5b6040513d84823e3d90fd5b90506020813d6020116107dc575b816107b060209383610f6e565b81010312610786575173ffffffffffffffffffffffffffffffffffffffff81168103610786575f6105dd565b3d91506107a3565b6040513d85823e3d90fd5b816107f991610f6e565b61078657825f61056c565b5080fd5b8493506106b2949150610854925060405190610825604083610f6e565b601382527f616c7265616479206465706c6f79656420746f0000000000000000000000000060208301526110c5565b610675565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bde575b5f806108fa610940604051610893604082610f6e565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610fdb565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa506040516109646101a082610f6e565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bda5783610b8b91604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610fdb565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610bcf578491610bba575b5050610427565b81610bc491610f6e565b61078657825f610bb3565b6040513d86823e3d90fd5b8380fd5b9091505f80610c5e610c8a604051610bf7604082610f6e565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610fdb565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610e4857846040517fce817d47000000000000000000000000000000000000000000000000000000008152836004820152818160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078a57610e33575b505073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e065786808080969594819482906657c084e5f3c00014610dfd575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561078a57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152838160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1908115610bcf578491610de8575b505061087d565b81610df291610f6e565b61078657825f610de1565b506108fc610d59565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b81610e3d91610f6e565b610e4857845f610d0f565b8480fd5b610e6e915060203d602011610e74575b610e668183610f6e565b810190610faf565b5f6102b2565b503d610e5c565b602093505f610e8991610f6e565b5f92610256565b6040513d5f823e3d90fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610ee5915060203d602011610e7457610e668183610f6e565b5f610194565b90506020813d602011610f15575b81610f0660209383610f6e565b81010312610e9b57515f610139565b3d9150610ef9565b34610e9b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e9b5760209073ffffffffffffffffffffffffffffffffffffffff600c5460181c168152f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e9f57604052565b90816020910312610e9b575173ffffffffffffffffffffffffffffffffffffffff81168103610e9b5790565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b61107b6110ae5f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610fdb565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e565b6020815191016a636f6e736f6c652e6c6f675afa50565b6110ae611125915f9473ffffffffffffffffffffffffffffffffffffffff61115587966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610fdb565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610fdb565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f6e56fe608080604052346026576201000162ff00ff19600c541617600c556132f8908161002b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c908163c0406226146100de57508063f0c9a429146100845763f8ccbf471461003d575f80fd5b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261008057602060ff600c5460101c166040519015158152f35b5f80fd5b346100805760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100805760206100c060043561036e565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b34610080575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610080577fc1978d1f00000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f505249564154455f4b45590000000000000000000000000000000000000000006044820152602081606481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f916102ce575b506040517fffa18649000000000000000000000000000000000000000000000000000000008152816004820152602081602481737109709ecfa91a80626ff3989d68f67f5b1dd12d5afa9081156102c3575f91610272575b6102706102338461022e856040516101ff604082610300565b601181527f4465706c6f79657220416464726573733a0000000000000000000000000000006020820152610e94565b61036e565b604051610241604082610300565b601981527f547261696c73526f75746572206465706c6f7965642061743a000000000000006020820152610e94565b005b90506020813d6020116102bb575b8161028d60209383610300565b81010312610080575173ffffffffffffffffffffffffffffffffffffffff81168103610080576102706101e6565b3d9150610280565b6040513d5f823e3d90fd5b90506020813d6020116102f8575b816102e960209383610300565b8101031261008057518161018e565b3d91506102dc565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6122c4604051926103836020830185610300565b8184526020840191610fff833961041060405192602080850173ca11bde05977b3631167028862be2a173976ca1181528186526103c1604087610300565b604051958693838501995180918b5e840190838201905f8252519283915e01015f8152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610300565b6040519361041f604086610300565b600c85527f547261696c73526f7574657200000000000000000000000000000000000000006020860152600273ce0042b868300000d44a59004da54a005ffdcf9f3b1115610866575b73ffffffffffffffffffffffffffffffffffffffff908351902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527fce0042b868300000d44a59004da54a005ffdcf9f00000000000000000000000060218301528660358301526055820152605581526104ed607582610300565b519020169384906002823b1161081a57906105409160405190610511604083610300565b600c82527f6465706c6f79696e6720746f00000000000000000000000000000000000000006020830152610f3b565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561081657604051907fce817d470000000000000000000000000000000000000000000000000000000082526004820152828160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561080b576107f6575b509060206105f292604051809481927f4af63f02000000000000000000000000000000000000000000000000000000008352604060048401526044830190610e51565b84602483015203818473ce0042b868300000d44a59004da54a005ffdcf9f5af19182156107e9578192610794575b50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610786576040517f76eadd36000000000000000000000000000000000000000000000000000000008152818160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af1801561078957610771575b505073ffffffffffffffffffffffffffffffffffffffff168103610713576002813b11156106b55790565b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4465706c6f796d656e74206661696c65640000000000000000000000000000006044820152fd5b60646040517f20631f9100000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4465706c6f7965642061646472657373206d69736d61746368000000000000006044820152fd5b61077c828092610300565b610786578061068a565b80fd5b6040513d84823e3d90fd5b9091506020813d6020116107e1575b816107b060209383610300565b810103126107dd575173ffffffffffffffffffffffffffffffffffffffff811681036107dd57905f610620565b5080fd5b3d91506107a3565b50604051903d90823e3d90fd5b610801838092610300565b6107dd575f6105af565b6040513d85823e3d90fd5b8280fd5b915091508261086393505060405190610834604083610300565b601382527f616c7265616479206465706c6f79656420746f000000000000000000000000006020830152610f3b565b90565b6657c084e5f3c00073bb6e024b9cffacb947a71991e386681b1cd1477d3110610bef575b5f8061090761094d6040516108a0604082610300565b601e81527f4465706c6f79696e672053696e676c65746f6e20466163746f727920746f000060208201526040519283917f319af333000000000000000000000000000000000000000000000000000000006020840152604060248401526064830190610e51565b73ce0042b868300000d44a59004da54a005ffdcf9f6044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa506040516109716101a082610300565b61016f81527ff9016c8085174876e8008303c4d88080b901546080604052348015610010576060208201527e80fd5b50610134806100206000396000f3fe6080604052348015600f57600060408201527f80fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd60608201527f5b60cf60048036036040811015604157600080fd5b810190602081018135640160808201527b811115605b57600080fd5b820183602082011115606c57600080fd5b60a08201527f80359060200191846001830284011164010000000083111715608d57600080fd60c08201527f5b91908080601f0160208091040260200160405190810160405280939291908160e08201527f8152602001838380828437600092019190915250929550509135925060eb91506101008201527f50565b604080516001600160a01b039092168252519081900360200190f35b606101208201527e818351602085016000f5939250505056fea26469706673582212206b44f8a86101408201527f2cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c6101608201527f634300060200331b832470008224700000000000000000000000000000000000610180820152737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610beb5784610b9891604051809381927f8c0c72e0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610e51565b038183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610bc7575b5050610468565b81610bd191610300565b610bdc57835f610bc0565b8380fd5b6040513d87823e3d90fd5b8480fd5b5f80610c6c610c98604051610c05604082610300565b601d81527f46756e64696e672053696e676c65746f6e20466163746f727920454f4100000060208201526040519283917f41304fac000000000000000000000000000000000000000000000000000000006020840152602060248401526044830190610e51565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610080576040517fce817d470000000000000000000000000000000000000000000000000000000081528260048201525f8160248183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af180156102c357610e3c575b5073bb6e024b9cffacb947a71991e386681b1cd1477d31806657c084e5f3c00003906657c084e5f3c0008211610e0f5785808093819382906657c084e5f3c00014610e06575b73bb6e024b9cffacb947a71991e386681b1cd1477d90f11561080b57737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bdc576040517f76eadd36000000000000000000000000000000000000000000000000000000008152848160048183737109709ecfa91a80626ff3989d68f67f5b1dd12d5af18015610be057908591610df1575b505061088a565b81610dfb91610300565b610bdc57835f610dea565b506108fc610d62565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b610e499194505f90610300565b5f925f610d1c565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b610ef1610f245f9392849373ffffffffffffffffffffffffffffffffffffffff6040519485937f319af333000000000000000000000000000000000000000000000000000000006020860152604060248601526064850190610e51565b91166044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610300565b6020815191016a636f6e736f6c652e6c6f675afa50565b610f24610f9b915f9473ffffffffffffffffffffffffffffffffffffffff610fcb87966040519687957f95ed0195000000000000000000000000000000000000000000000000000000006020880152606060248801526084870190610e51565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc868303016044870152610e51565b91166064830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261030056fe610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220251b377e7cc5dd80ba7afd969ede0bd9fcdd8b9282e76cc5e674ad849a56b6f264736f6c634300081e003361016060405234610096576107946020813803918261001d816100ae565b93849283398101031261009657516001600160a01b038116810361009657610044906100d8565b6040516105d890816101bc8239608051816102a5015260a051816101a0015260c0518161016d015260e0518161036d015261010051815050610120518150506101405181818161010d01526104a20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100d357604052565b61009a565b306080526100e4610163565b6001600160a01b03811615610154576100fc81610179565b801561013e57600160e0526003610100526005610120525b60c05260a0526001600160a01b0381161561012f5761014052565b631df13ab560e01b5f5260045ffd5b600260e052600461010052600661012052610114565b632aea588760e01b5f5260045ffd5b696002601e613d5c3d52f35f52600a60165ff090565b5f80808093600a5a04fa3d156101b8573d6001600160401b0381116100d3576101ab601f8201601f19166020016100ae565b9081525f60203d92013e90565b9056fe60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e0033a2646970667358221220911eb483696e66e4f4dbedb88971aa357ffdabd80a1819f2dec507042ee7b3ef64736f6c634300081e003361016060405234610096576107946020813803918261001d816100ae565b93849283398101031261009657516001600160a01b038116810361009657610044906100d8565b6040516105d890816101bc8239608051816102a5015260a051816101a0015260c0518161016d015260e0518161036d015261010051815050610120518150506101405181818161010d01526104a20152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100d357604052565b61009a565b306080526100e4610163565b6001600160a01b03811615610154576100fc81610179565b801561013e57600160e0526003610100526005610120525b60c05260a0526001600160a01b0381161561012f5761014052565b631df13ab560e01b5f5260045ffd5b600260e052600461010052600661012052610114565b632aea588760e01b5f5260045ffd5b696002601e613d5c3d52f35f52600a60165ff090565b5f80808093600a5a04fa3d156101b8573d6001600160401b0381116100d3576101ab601f8201601f19166020016100ae565b9081525f60203d92013e90565b9056fe60806040526004361015610011575f80fd5b5f3560e01c806332fe7b26146100c85780634c4e814c1461003f57637423eb3c1461003a575f80fd5b610136565b346100c45760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45760a43560243560843560643560443567ffffffffffffffff85116100c457366023860112156100c45784600401359467ffffffffffffffff86116100c45736602487830101116100c45760240193600435610288565b5f80fd5b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c45773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660805260206080f35b346100c4575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100c457323303610260577f00000000000000000000000000000000000000000000000000000000000000008015610255575b61022d576101d15f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6101cc610471565b501590565b6102055761020360017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b005b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610193565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b95935050505073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014610399578101906040818303126100c457803567ffffffffffffffff81116100c45781019180601f840112156100c45782359061030b61030683610437565b6103ee565b90828252602083860101116100c457602061036b935f828561033d96826103919a018388013785010152013590610496565b927f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f2090565b7f000000000000000000000000000000000000000000000000000000000000000061054b565b602081519101f35b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761043257604052565b6103c1565b67ffffffffffffffff811161043257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610491573d9061048561030683610437565b9182523d5f602084013e565b606090565b80515f928392602001907f00000000000000000000000000000000000000000000000000000000000000005af16104cb610471565b90156104d45790565b60446020917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f0ef439b90000000000000000000000000000000000000000000000000000000085528160048601528051918291826024880152018686015e5f85828601015201168101030190fd5b8060021461058d57600114610587577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905d565b5060019060ff5f54165f1461059f575d565b5556fea26469706673582212205baf2827c40ce9932964dcf8660a76d38b244747728b4bc12d88d8620b0f137a64736f6c634300081e0033610160604052346100a4576122c46020813803918261001d816100bc565b9384928339810103126100a457516001600160a01b03811681036100a457610044906100e6565b60405161212390816101a1823960805181611a1d015260a0518161089f015260c0518161086c015260e051815050610100518181816103630152610ef10152610120518150506101405181818161023c01528181610b7901526114a60152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f191682016001600160401b038111838210176100e157604052565b6100a8565b30608052696002601e613d5c3d52f35f52600a60165ff06001600160a01b0381161561014f576101158161015e565b801561013957600160e0526003610100526005610120525b60c05260a05261014052565b600260e05260046101005260066101205261012d565b632aea588760e01b5f5260045ffd5b5f80808093600a5a04fa3d1561019d573d6001600160401b0381116100e157610190601f8201601f19166020016100bc565b9081525f60203d92013e90565b9056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806309c5eabe146100c95780632a3ee126146100c45780634784226e146100bf5780634c4e814c146100ba5780635b5e6516146100b55780637423eb3c146100b05780637a7eeb4f146100ab578063a9baaaf5146100a6578063b8dc491b146100a1578063c2add59d1461009c5763c5e5153b0361000e57610b9d565b610b2f565b610ae4565b610a7c565b610985565b610835565b61074d565b61067b565b61048f565b6102e9565b6101d3565b9181601f840112156100fc5782359167ffffffffffffffff83116100fc57602083818601950101116100fc57565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820191602060408360051b8301019401925f915b83831061017557505050505090565b90919293946020806101c4837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187526040838b5180511515845201519181858201520190610100565b97019301930191939290610166565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760043567ffffffffffffffff81116100fc575f61021f819236906004016100ce565b9061022a8282611853565b816040519283928337810183815203907f00000000000000000000000000000000000000000000000000000000000000005af4610265610d1e565b9015610291576102818160208061028d94518301019101610d83565b60405191829182610143565b0390f35b6102c7906040519182917fa932c97a00000000000000000000000000000000000000000000000000000000835260048301610d4d565b0390fd5b73ffffffffffffffffffffffffffffffffffffffff8116036100fc57565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435602435610322816102cb565b6044359161032f836102cb565b610337611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610474576003146103be577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c576103d0611a06565b6103da3082611d9f565b91826103e257005b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f1461043e576104339250611b4d565b6040519586521693a3005b61044792611a6d565b610433565b7f43f7ed76000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060019060ff5f54165f14610489575c6103c3565b546103c3565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356104c5816102cb565b602435906104d2826102cb565b6044357fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea73ffffffffffffffffffffffffffffffffffffffff606435610517816102cb565b61051f611a06565b61057c305b61052e8188611d9f565b808711156106705761055090915b878303610631575b826105d9575b88611d9f565b9081610581575b8480604051968796169a16981696846040919493926060820195825260208201520152565b0390a4005b878516806105c9576105938386611b4d565b60405183815286861691907fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a3610557565b6105d483868b611a6d565b610593565b88861680610621576105eb848c611b4d565b604051848152878c1691907ff40cc8c1a1d17359049ba500cfc894596a692cffc9d03943cd92ec2e159cf6ae90602090a361054a565b61062c848c8c611a6d565b6105eb565b6040805189815260208101859052878c16918b8916917fbc530e98937a005fa590a15899ce2e21e1bfa93730e6dfe36bcd7a041d6abf859190a3610544565b50610550869161053c565b346100fc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5760a43560043567ffffffffffffffff82116100fc576106d06100189236906004016100ce565b916106d9611a06565b611219565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100fc57600435610714816102cb565b91602435610721816102cb565b916044359067ffffffffffffffff82116100fc57610741916004016100ce565b90916064359060843590565b610756366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216159485809661082c575b6107fc5761078a3084611d9f565b9586156107a75750610018966107a19136916110f7565b91611c6d565b156107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f22fbbd6a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fb25102da000000000000000000000000000000000000000000000000000000005f525f6004523460245260445ffd5b5034151561077c565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc5732330361095d577f00000000000000000000000000000000000000000000000000000000000000008015610952575b61092a576108d05f8080807f0000000000000000000000000000000000000000000000000000000000000000600a5a04fa6108cb610d1e565b501590565b6109025761001860017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b7f70a4078f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff45b98b0000000000000000000000000000000000000000000000000000000005f5260045ffd5b5060ff5f5416610892565b7f25994314000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc576004356109bb816102cb565b60243567ffffffffffffffff81116100fc576109db9036906004016100ce565b90919073ffffffffffffffffffffffffffffffffffffffff8216610a36573415610a0e5761028d92610281923490611455565b7f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b610a403383611d9f565b928315610a545761028d9361028193611455565b7f6920aa0f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610ab2816102cb565b60443560243567ffffffffffffffff82116100fc5761028d92610adc6102819336906004016100ce565b929091611455565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57600435610b1a816102cb565b60243590610b27826102cb565b6103d0611a06565b346100fc575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b610ba6366106de565b929490919373ffffffffffffffffffffffffffffffffffffffff8216155f14610be15734943415610a0e57610018966107a1915b36916110f7565b346107fc57610bf03383611d9f565b9485156107d457610018966107a191610c0b88303388611e58565b610bda565b908092918237015f815290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610c6657604052565b610c1d565b6060810190811067ffffffffffffffff821117610c6657604052565b6080810190811067ffffffffffffffff821117610c6657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c6657604052565b67ffffffffffffffff8111610c6657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d15610d48573d90610d2f82610ce4565b91610d3d6040519384610ca3565b82523d5f602084013e565b606090565b906020610d5e928181520190610100565b90565b67ffffffffffffffff8111610c665760051b60200190565b801515036100fc57565b6020818303126100fc5780519067ffffffffffffffff82116100fc57019080601f830112156100fc57815191610db883610d61565b92610dc66040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b838310610df257505050505090565b825167ffffffffffffffff81116100fc5782019060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc5760405191610e3f83610c4a565b6020810151610e4d81610d79565b8352604081015167ffffffffffffffff81116100fc5760209101019086601f830112156100fc57815192610e8084610ce4565b610e8d6040519182610ca3565b84815288602086860101116100fc575f6020868197828098018386015e8301015283820152815201920191610de3565b610ec5611a06565b7f280d4be14fa09378750d86c933a0bbaa72f861b3ecaac50fb28add64cd1a66e25f5260205260405f207f000000000000000000000000000000000000000000000000000000000000000080600414610fdd57600314610f4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffd5b6001905c5b0361044c57610f5e611a06565b610f683082611d9f565b9182610f7357505050565b602073ffffffffffffffffffffffffffffffffffffffff7fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab79281851694868287155f14610fcf57610fc49250611b4d565b6040519586521693a3565b610fd892611a6d565b610fc4565b5060019060ff5f54165f14610ff2575c610f51565b54610f51565b91909273ffffffffffffffffffffffffffffffffffffffff7fe8d24fc0ab3b12d83ce3d7bb06e74e2a423de5d1fa0d5414435460ede32ea6ea9161103a611a06565b61104330610524565b0390a4565b906004116100fc5790600490565b90929192836004116100fc5783116100fc57600401917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0190565b919091357fffffffff00000000000000000000000000000000000000000000000000000000811692600481106110c5575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b92919261110382610ce4565b916111116040519384610ca3565b8294818452818301116100fc578281602093845f960137010152565b9080601f830112156100fc57816020610d5e933591016110f7565b9160a0838303126100fc57823561115e816102cb565b92602081013561116d816102cb565b9260408201359067ffffffffffffffff82116100fc5761118e91830161112d565b916080606083013592013590565b91908260409103126100fc57602082356111b5816102cb565b920135610d5e816102cb565b91908260809103126100fc5781356111d8816102cb565b9160208101356111e7816102cb565b9160606040830135920135610d5e816102cb565b908160609103126100fc57803591604060208301356111b5816102cb565b90915f92600482101561143a575b7fffffffff0000000000000000000000000000000000000000000000000000000084167f5b5e65160000000000000000000000000000000000000000000000000000000081146113f7577fb8dc491b0000000000000000000000000000000000000000000000000000000081146113b8577f4784226e000000000000000000000000000000000000000000000000000000008114611375577f2a3ee1260000000000000000000000000000000000000000000000000000000014611334577ffbdc7301000000000000000000000000000000000000000000000000000000005f527fffffffff00000000000000000000000000000000000000000000000000000000841660045260245b5ffd5b611373935061136661135e8373ffffffffffffffffffffffffffffffffffffffff95948694611056565b8101906111fb565b9094915016921690610ebd565b565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113aa6113a28385948594611056565b8101906111c1565b949094169492169116610ff8565b50611373935073ffffffffffffffffffffffffffffffffffffffff92506113e48284936113ec93611056565b81019061119c565b9290921691166115d4565b50611373935073ffffffffffffffffffffffffffffffffffffffff925061142382849361142b93611056565b810190611148565b95919392949094169116611ba3565b925061144f6114498285611048565b90611091565b92611227565b93929190916114648183611853565b73ffffffffffffffffffffffffffffffffffffffff851691821593845f146115885780340361155957505f9182915b6114a260405180938193610c10565b03907f00000000000000000000000000000000000000000000000000000000000000005af46114cf610d1e565b901561029157806020806114e893518301019101610d83565b936114f33082611d9f565b9283611500575b50505050565b83901561154957611512915033611b4d565b60405191825233917fed679328aebf74ede77ae09efcf36e90244f83643dadac1c2d9f0b21a46f6ab790602090a35f8080806114fa565b611554913390611a6d565b611512565b7fb25102da000000000000000000000000000000000000000000000000000000005f526004523460245260445ffd5b9091346115a3575f9261159e849330338b611e58565b611493565b7fb25102da000000000000000000000000000000000000000000000000000000005f9081526004523460245260445ffd5b610f5e611a06565b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161161183610d61565b9261161f6040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b83831061164b57505050505090565b823567ffffffffffffffff81116100fc5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc576040519061169882610c6b565b60208301356116a6816102cb565b825260408301356116b681610d79565b602083015260608301359167ffffffffffffffff83116100fc576116e28860208096958196010161112d565b604082015281520192019161163c565b80518210156117065760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6020818303126100fc5780359067ffffffffffffffff82116100fc57019080601f830112156100fc5781359161176883610d61565b926117766040519485610ca3565b80845260208085019160051b830101918383116100fc5760208101915b8383106117a257505050505090565b823567ffffffffffffffff81116100fc5782019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083880301126100fc57604051906117ef82610c87565b60208301356117fd816102cb565b8252604083013561180d81610d79565b60208301526060830135604083015260808301359167ffffffffffffffff83116100fc576118438860208096958196010161112d565b6060820152815201920191611793565b600482106119d7576118686114498383611048565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f174dea71000000000000000000000000000000000000000000000000000000008103611927575050816118ca926118c292611056565b810190611733565b5f5b8151811015611923576118ec60206118e483856116f2565b510151151590565b6118f8576001016118cc565b7fae701fc4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b5050565b7f82ad56cb000000000000000000000000000000000000000000000000000000000361198a5750816119649261195c92611056565b8101906115dc565b5f5b81518110156119235761197e60206118e483856116f2565b6118f857600101611966565b7f432df3c4000000000000000000000000000000000000000000000000000000005f527fffffffff000000000000000000000000000000000000000000000000000000001660045260245ffd5b7f432df3c4000000000000000000000000000000000000000000000000000000005f526113316024905f600452565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014611a4557565b7f4f0898d2000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af160015f5114811615611b2e575b604091909152155b611aed5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff1660045260245ffd5b6001811516611b44573d15833b15151616611ade565b503d5f823e3d90fd5b5f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b73610d1e565b5015611b7b57565b7ff4b3b1bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b949391929092611bb33087611d9f565b938415611bc4576113739596611c6d565b73ffffffffffffffffffffffffffffffffffffffff87166107d4577f891a31ae000000000000000000000000000000000000000000000000000000005f5260045ffd5b9060208201809211611c1557565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b919260a093610d5e969592845260208401526040830152151560608201528160808201520190610100565b949392948515801590611d96575b611d1e575b7f5a760595a6da847ff93bc1dfe0ee241c4edc8985ae7eeedc4e0a9255bc453d919173ffffffffffffffffffffffffffffffffffffffff8092169384155f14611cf9575f80826020611cee945191018a865af19687611cdd610d1e565b998a92604051968796169986611c42565b0390a3156102915750565b5f80611cee92611d0a8a868a611ee5565b60208151910182865af19687611cdd610d1e565b8251611d2987611c07565b11611d6e576020868401019184835103611d465791859052611c80565b7fcc00c48a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4daf251f000000000000000000000000000000000000000000000000000000005f5260045ffd5b50831515611c7b565b73ffffffffffffffffffffffffffffffffffffffff1680611dbf57503190565b9073ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611e4d575f91611e1e575090565b90506020813d602011611e45575b81611e3960209383610ca3565b810103126100fc575190565b3d9150611e2c565b6040513d5f823e3d90fd5b73ffffffffffffffffffffffffffffffffffffffff809194929394169381604051947f23b872dd000000000000000000000000000000000000000000000000000000005f52166004521660245260445260205f60648180865af160015f5114811615611ecf575b6040919091525f60605215611ae6565b6001811516611b44573d15833b15151616611ebf565b91906040517f095ea7b3000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff82166004528260245260205f60448180885af19060015f5114821615611ff6575b60405215611f5057505050565b611f5a8184612005565b15611fb45790611f6a918361208b565b15611f725750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff837f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b90843b15153d15161690611f43565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f5114841615612069575b50604052565b60018492941516612082573b15153d151616915f612063565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f5114841615612069575060405256fea26469706673582212202133dedcd1d74250c0c6faa3b7d4757868fb717c2721ea2ae1b4fcad17a49ef564736f6c634300081e0033a2646970667358221220484ae9e1d259f23b3cec0bad634f6b64569c30900d14b413f9eb170c22372ca564736f6c634300081e0033","sourceMap":"526:5437:74:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1065:26:16;526:5437:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2723:18:9;526:5437:74;;;;;;;2723:18:9;526:5437:74;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;2030:14:2;;526:5437:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2575:18:9;526:5437:74;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2575:18:9;526:5437:74;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;336:42:2;2681:40:74;;;;526:5437;;;2030:14:2;2681:40:74;;;;;;526:5437;2681:40;;;:::i;:::-;;;;336:42:2;2681:40:74;;;;;;;;526:5437;2732:15;;336:42:2;2732:15:74;;;;526:5437;;;2030:14:2;2732:15:74;;;;526:5437;2732:15;;336:42:2;2732:15:74;;;;;;;;526:5437;;;2757:13;526:5437;;;;2757:19;;;;;526:5437;;;;;;2757:19;;;;2030:14:2;2757:19:74;;;;;;;;;;526:5437;;;;2884:29;526:5437;2757:13;526:5437;;;;;;2884:29;;;;2030:14:2;2884:29:74;;;;;;;;526:5437;2884:29;;;;;526:5437;2977:30;2968:85;2977:30;;:34;;526:5437;;;;;;;:::i;:::-;2757:13;526:5437;;;2884:29;526:5437;;;2968:85;:::i;:::-;2884:29;526:5437;3171:21;;:::i;:::-;526:5437;3202:107;3211:28;;:32;;526:5437;;;;;;;:::i;:::-;;;;;;;;;;;;;;3202:107;:::i;:::-;526:5437;;3466:13;;;;2030:14:2;3466:13:74;;;;;;;;;3449:95;3466:13;;;;;526:5437;;;;;;;;;:::i;:::-;;;;;2884:29;526:5437;;;;;;;;3449:95;:::i;:::-;526:5437;;3466:13;;;;;2884:29;3466:13;2884:29;3466:13;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;526:5437;;;;;;;;;2884:29;;;;;;;;;;;;;;:::i;:::-;;;;;526:5437;;;;;;;;;2757:19;;;;;:::i;:::-;526:5437;;2757:19;;;;;526:5437;;2732:15;;;;;:::i;:::-;526:5437;;2732:15;;;;2681:40;;;;;:::i;:::-;526:5437;;2681:40;;;;526:5437;;;;;;;;;;;;336:42:2;4886:40:74;;;;526:5437;;;2030:14:2;4886:40:74;;;;;;526:5437;4886:40;;;:::i;:::-;;;;336:42:2;4886:40:74;;;;;;;;526:5437;;;4966:13;526:5437;;;;4966:19;;;;;526:5437;;;;;;4966:19;;;;2030:14:2;4966:19:74;;;;;;;;;;526:5437;;;;5073:29;526:5437;4966:13;526:5437;;;;;;5073:29;;;;2030:14:2;5073:29:74;;;;;;;;;;;;;526:5437;5147:21;526:5437;5147:21;;:::i;:::-;526:5437;;;;5403:13;2030:14:2;5403:13:74;;5073:29;5403:13;526:5437;5403:13;;;;;;;;;5386:99;5073:29;5403:13;526:5437;5403:13;;;;;526:5437;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;5386:99;:::i;:::-;5564:74;526:5437;;;5573:27;:31;;526:5437;;;;;;;:::i;:::-;;;;;;;;;5564:74;:::i;:::-;526:5437;;5834:13;;;;2030:14:2;5834:13:74;;;;;;;;;5858:96;5834:13;;;;;526:5437;;;;;;;;;:::i;:::-;;;;;5073:29;526:5437;;;;;;;;5858:96;:::i;5834:13::-;;;;;5073:29;5834:13;5073:29;5834:13;;;;;;;:::i;:::-;;;;;5403;;;;;;;;;;;;;;:::i;:::-;;;;;526:5437;;;;;;;;;5073:29;;;;;;;;;;;;;;:::i;:::-;;;;4966:19;;;;;:::i;:::-;526:5437;;4966:19;;;;4886:40;;;;;:::i;:::-;526:5437;;4886:40;;;;526:5437;;;;;;;;;;;;2876:18:9;526:5437:74;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;2876:18:9;526:5437:74;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;2030:14:2;;526:5437:74;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3653:18:9;526:5437:74;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3653:18:9;526:5437:74;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;2030:14:2;;526:5437:74;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3162:18:9;526:5437:74;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;3162:18:9;526:5437:74;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3346:26:9;526:5437:74;;;;:::i;:::-;;;;;;;:::i;:::-;;;;3346:26:9;526:5437:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;336:42:2;3619:40:74;;;;526:5437;;;2030:14:2;3619:40:74;;;;;;526:5437;3619:40;;;:::i;:::-;;;;336:42:2;3619:40:74;;;;;;;;526:5437;3698:15;;336:42:2;3698:15:74;;;;526:5437;;;2030:14:2;3698:15:74;;;;526:5437;3698:15;;336:42:2;3698:15:74;;;;;;;;526:5437;;;3723:13;526:5437;;;;3723:19;;;;;526:5437;;;;;;3723:19;;;;2030:14:2;3723:19:74;;;;;;;;;;526:5437;;;;3850:29;526:5437;3723:13;526:5437;;;;;;3850:29;;;;2030:14:2;3850:29:74;;;;;;;;;;;;;526:5437;3944:30;3935:93;3944:30;;:34;;526:5437;;;;;;;:::i;:::-;;;;;3850:29;526:5437;;;;;;;;3935:93;:::i;:::-;526:5437;4073:21;;:::i;:::-;526:5437;4104:95;4113:28;;:32;;526:5437;;;;;;;:::i;:::-;;;;;3850:29;526:5437;;;;;;;;4104:95;:::i;:::-;336:42:2;4266:40:74;;;;526:5437;;;2030:14:2;4266:40:74;;;;;;526:5437;4266:40;;;:::i;:::-;;;;336:42:2;4266:40:74;;;;;;;;526:5437;4396:15;;336:42:2;4396:15:74;;;;526:5437;;;2030:14:2;4396:15:74;;;;526:5437;4396:15;;336:42:2;4396:15:74;;;;;;;;526:5437;;;3723:13;526:5437;;;;4421:19;;;;;526:5437;;;;;;4421:19;;;;2030:14:2;4421:19:74;;;;;;;;;;526:5437;4534:30;;4525:100;4635:102;4534:30;;:34;;526:5437;;;;;;;:::i;:::-;;;;;3850:29;526:5437;;;;;;;;4525:100;:::i;:::-;4644:28;:32;;526:5437;;;;;;;:::i;:::-;;;;;3850:29;526:5437;;;;;;;;4635:102;:::i;4421:19::-;;;;;:::i;:::-;526:5437;;4421:19;;;;526:5437;;;;4421:19;526:5437;;;4396:15;;;;;:::i;:::-;526:5437;;4396:15;;;;4266:40;;;;;:::i;:::-;526:5437;;4266:40;;;;3850:29;;;;;;;;;;;;;;:::i;:::-;;;;3723:19;;;;;:::i;:::-;526:5437;;3723:19;;;;3698:15;;;;;:::i;:::-;526:5437;;3698:15;;;;3619:40;;;;;:::i;:::-;526:5437;;3619:40;;;;526:5437;;;;;;;;;;;;;;;;;3501:18:9;526:5437:74;;;;;;;3501:18:9;526:5437:74;;;;;;;;;;;;;;;;;;:::i;:::-;2030:14:2;;526:5437:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3794:16:9;526:5437:74;;;;;;;3794:16:9;526:5437:74;;;;;;;;;;;;;;;;;;:::i;:::-;2030:14:2;;526:5437:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3948:19:9;526:5437:74;;;;:::i;:::-;;;;;;;:::i;:::-;;;;3948:19:9;526:5437:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;2030:14:2;;526:5437:74;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3018:16:9;526:5437:74;;;;;;;3018:16:9;526:5437:74;;;;;;;;;;;;;;;;;;:::i;:::-;2030:14:2;;526:5437:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2110:28;;;;;;;;;;;;;;;;;;;;526:5437;2110:28;;;;;526:5437;;2094:44;526:5437;;;;;;;;2094:44;526:5437;2162:66;2148:80;526:5437;;2259:85;526:5437;;:::i;:::-;2094:44;526:5437;;;;;;;2259:85;526:5437;2259:85;526:5437;;;;;;;;;;;2148:80;2030:14:2;526:5437:74;;2366:20;2030:14:2;2366:20:74;;526:5437;2366:20;;2030:14:2;526:5437:74;2366:20;;;336:42:2;2366:20:74;;;;;;526:5437;2366:20;526:5437;2366:20;;;526:5437;;;2030:14:2;;526:5437:74;2030:14:2;;;526:5437:74;2030:14:2;336:42;2396:29:74;;;;526:5437;;2396:29;2030:14:2;2396:29:74;;526:5437;2396:29;;526:5437;2415:9;2366:20;2030:14:2;;;526:5437:74;2396:29;;;;336:42:2;2396:29:74;;;;;;;;526:5437;;;2396:29;;;;526:5437;2396:29;;:::i;:::-;526:5437;2396:29;526:5437;;;;;;;;;2396:29;526:5437;;;2366:20;;;;526:5437;2366:20;526:5437;2366:20;;;;;;;:::i;:::-;;;;526:5437;2094:44;526:5437;;;;;;;;;;;;;;;;;;;;;;;2110:28;526:5437;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;526:5437:74;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;526:5437:74;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;2030:14:2;526:5437:74;2030:14:2;;;;;;;;;;;526:5437:74;2030:14:2;:::o;:::-;;526:5437:74;;2030:14:2;526:5437:74;;2030:14:2;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;526:5437:74;;;2030:14:2;;;;;:::o;526:5437:74:-;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;526:5437:74;;;;;;;;-1:-1:-1;526:5437:74;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;3644:14;526:5437;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;-1:-1:-1;526:5437:74;;-1:-1:-1;526:5437:74;;-1:-1:-1;526:5437:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;;2030:14:2;526:5437:74;;;;;;;;2030:14:2;526:5437:74;;2030:14:2;526:5437:74;2030:14:2;;;;526:5437:74;;;;;;;;2030:14:2;526:5437:74;;2030:14:2;526:5437:74;2030:14:2;526:5437:74;2030:14:2;;526:5437:74;;;;;;;;2030:14:2;526:5437:74;;2030:14:2;526:5437:74;2030:14:2;526:5437:74;2030:14:2;;526:5437:74;;;;;;;;2030:14:2;526:5437:74;;2030:14:2;526:5437:74;2030:14:2;526:5437:74;2030:14:2;;526:5437:74;;;;;;;;2030:14:2;526:5437:74;;2030:14:2;526:5437:74;2030:14:2;526:5437:74;2030:14:2;;526:5437:74;;;;;;;;2030:14:2;526:5437:74;;2030:14:2;526:5437:74;2030:14:2;526:5437:74;2030:14:2;;526:5437:74;;;;;;;;2030:14:2;526:5437:74;;2030:14:2;526:5437:74;2030:14:2;;;526:5437:74;;;;;;;;;;;;;;;;;;;;2030:14:2;;;;526:5437:74;;;2030:14:2;;526:5437:74;2030:14:2;;526:5437:74;;;;2030:14:2;;526:5437:74;2030:14:2;;526:5437:74;;;;2030:14:2;;526:5437:74;2030:14:2;;526:5437:74;;;;2030:14:2;;526:5437:74;2030:14:2;;526:5437:74;;;;2030:14:2;;526:5437:74;2030:14:2;;526:5437:74;;;;2030:14:2;;526:5437:74;2030:14:2;;526:5437:74;;;;2030:14:2;;526:5437:74;;;;;;;;;;;;;;1306:195:4;1365:7;526:5437:74;;;;;;1395:4:4;1388:11;:::o;1361:134::-;526:5437:74;;2030:14:2;1437:33:4;;526:5437:74;1437:33:4;;;526:5437:74;192:59:4;1255:17;;;2030:14:2;1255:17:4;1437:33;;;526:5437:74;1437:33:4;;;;;;;526:5437:74;1437:33:4;;;1361:134;1437:47;;;1430:54;:::o;1437:33::-;;;1255:17;1437:33;;1255:17;1437:33;;;;;;1255:17;1437:33;;;:::i;:::-;;;1255:17;;;;;1437:33;;;;;;-1:-1:-1;1437:33:4;;2487:171;526:5437:74;;3980:4;2583:13:4;;2579:73;;2487:171;;:::o;2579:73::-;526:5437:74;2612:29:4;;;;526:5437:74;;;;;;2612:29:4;;;;;2030:14:2;2612:29:4;;;;;526:5437:74;3980:4;526:5437;;;;;;;;;;;;;;:::i;:::-;2612:29:4;;526:5437:74;2612:29:4;;;;;;;;2487:171;:::o;2612:29::-;526:5437:74;2612:29:4;;;:::i;1535:343:74:-;1792:79;526:5437;1447:75;1374:31;1357:73;526:5437;;;1374:31;;;526:5437;;:::i;:::-;1374:31;;;;;;;;;;;526:5437;;1407:22;;;526:5437;1281:42;526:5437;;1407:22;;;;526:5437;1407:22;;:::i;:::-;526:5437;;;;;;1357:73;;;;;526:5437;;;;;;;;-1:-1:-1;526:5437:74;;;;;;;;;-1:-1:-1;526:5437:74;;1357:73;1407:22;1357:73;;;;;;:::i;:::-;1447:75;:::i;:::-;526:5437;1698:77;1715:35;526:5437;1374:31;526:5437;;1715:35;526:5437;1715:35;;;526:5437;;:::i;:::-;1715:35;;;;;;;;;;526:5437;;1752:22;;;526:5437;;;1752:22;;;;526:5437;1752:22;;:::i;4179:177:4:-;526:5437:74;;;;;;4281:13:4;;;4277:73;;4179:177;;;:::o;4277:73::-;526:5437:74;4310:29:4;;;;-1:-1:-1;526:5437:74;;;;4310:29:4;;;;;2030:14:2;4310:29:4;;;;;526:5437:74;;;;;;;;;;;;;;;:::i;801:425:75:-;526:5437:74;801:425:75;526:5437:74;;;;;1143:19:75;526:5437:74;;;1082:81:75;;107:42:1;526:5437:74;107:42:1;;;;;;;-1:-1:-1;107:42:1;;;2030:14:2;107:42:1;;;2030:14:2;107:42:1;1082:81:75;;;;;;:::i;:::-;526:5437:74;1072:92:75;;526:5437:74;801:425:75;:::o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSelectors()":"b0464fdc","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","test_DeployRouterShim_SameAddress()":"4f16fadf","test_DeployRouterShim_Success()":"b4ce81b5","test_DeployedContract_HasCorrectConfiguration()":"b4092f6f"}}}},"test/utils/Create2Utils.sol":{"Create2Utils":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Create2 Address Calculation Utilities\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Utility functions for calculating CREATE2 addresses used in deployment tests\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/utils/Create2Utils.sol\":\"Create2Utils\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/erc2470-libs/src/ISingletonFactory.sol\":{\"keccak256\":\"0x0a17871e1017f36a664b877f5b0db297dc998fdf8b0ab82d00ca50d5bdde88f7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://160bc0d890492792f85dfea939160290d90562b27154f64c39c2a615243518a6\",\"dweb:/ipfs/QmbxmqPpTAH7X45G75UjmLh3RSTDj7trMtmkGU6RXmRyEJ\"]},\"test/utils/Create2Utils.sol\":{\"keccak256\":\"0xe5b36a1cdb5827185a7948737c4f61eca071f949c6d7f57339ebaaaee948bbbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63655eac25e4f37b069b136660b1585c8be05e749f6dd513ed9a763be83fcb9e\",\"dweb:/ipfs/QmdjR1QrAPUYN8LvsrGk2f1ZvVVfQ2aqPdKqmuSf8H1DpV\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220da77ba0b21bc8fd09b57218bbd84020fb54a64c7a694c95527ea2a0af1ebd6e964736f6c634300081e0033","sourceMap":"454:1003:75:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220da77ba0b21bc8fd09b57218bbd84020fb54a64c7a694c95527ea2a0af1ebd6e964736f6c634300081e0033","sourceMap":"454:1003:75:-:0;;","linkReferences":{}}}}},"test/utils/TstoreUtils.sol":{"TstoreGetter":{"abi":[{"type":"function","name":"get","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"get\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Helper to probe tstore support by attempting a tload\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/utils/TstoreUtils.sol\":\"TstoreGetter\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"608080604052346013576095908160188239f35b5f80fdfe60808060405260043610156011575f80fd5b5f3560e01c638eaa6ac0146023575f80fd5b34605b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605b576020906004355c8152f35b5f80fdfea2646970667358221220d05f70bd2d38f77f8aa40d953a00d51886544072540289263de5b716fdf214eb64736f6c634300081e0033","sourceMap":"918:164:76:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"60808060405260043610156011575f80fd5b5f3560e01c638eaa6ac0146023575f80fd5b34605b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112605b576020906004355c8152f35b5f80fdfea2646970667358221220d05f70bd2d38f77f8aa40d953a00d51886544072540289263de5b716fdf214eb64736f6c634300081e0033","sourceMap":"918:164:76:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1021:53;918:164;;;;;;","linkReferences":{}},"methodIdentifiers":{"get(bytes32)":"8eaa6ac0"}}},"TstoreMode":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/utils/TstoreUtils.sol\":\"TstoreMode\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212204256c396b0785c6f167cc89310d2ff856d475c957cee8a87d67ebc6b791f972564736f6c634300081e0033","sourceMap":"1286:544:76:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea26469706673582212204256c396b0785c6f167cc89310d2ff856d475c957cee8a87d67ebc6b791f972564736f6c634300081e0033","sourceMap":"1286:544:76:-:0;;","linkReferences":{}}}},"TstoreRead":{"abi":[],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Utilities to read a transient storage slot from an arbitrary address by temporarily etching `TstoreGetter` bytecode at the target, performing a staticcall, and restoring the original code.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/utils/TstoreUtils.sol\":\"TstoreRead\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220e71dae46ae5c7b125587835f3a4e15dbc1b53c4b24f3927ca1cc3dbf28c0069b64736f6c634300081e0033","sourceMap":"2255:1061:76:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"5f80fdfea2646970667358221220e71dae46ae5c7b125587835f3a4e15dbc1b53c4b24f3927ca1cc3dbf28c0069b64736f6c634300081e0033","sourceMap":"2255:1061:76:-:0;;","linkReferences":{}}}},"TstoreSetter":{"abi":[{"type":"function","name":"set","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"}],"metadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"set\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Helper to write transient storage at a given slot\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/utils/TstoreUtils.sol\":\"TstoreSetter\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":4294967295},\"remappings\":[\":@/=src/\",\":@eth-optimism/=lib/contracts/node_modules/@hop-protocol/sdk/node_modules/@eth-optimism/\",\":@memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/=lib/contracts/node_modules/@uniswap/\",\":Permit2/=lib/contracts/lib/Permit2/\",\":account-abstraction/=lib/wallet-contracts-v3/lib/account-abstraction/contracts/\",\":celer-network/=lib/contracts/lib/sgn-v2-contracts/\",\":centre-tokens.git/=lib/evm-cctp-contracts/lib/centre-tokens.git/\",\":contracts/=lib/contracts/src/\",\":create3-factory/=lib/contracts/lib/create3-factory/\",\":ds-test/=lib/evm-cctp-contracts/lib/ds-test/src/\",\":erc2470-libs/=lib/erc2470-libs/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":eth-gas-reporter/=lib/contracts/node_modules/eth-gas-reporter/\",\":evm-cctp-contracts/=lib/evm-cctp-contracts/\",\":forge-gas-snapshot/=lib/contracts/lib/Permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":lifi-contracts/=lib/contracts/src/\",\":lifi/=lib/contracts/src/\",\":memview-sol/=lib/evm-cctp-contracts/lib/memview-sol/contracts/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/contracts/lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/contracts/lib/Permit2/src/\",\":sgn-v2-contracts/=lib/contracts/lib/sgn-v2-contracts/contracts/\",\":solady/=lib/contracts/lib/solady/src/\",\":solmate/=lib/contracts/lib/solmate/src/\",\":tstorish/=lib/tstorish/src/\",\":wallet-contracts-v3/=lib/wallet-contracts-v3/src/\"],\"viaIR\":true},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x9b4df44a3b748593a58be7ba64fa5f420e5dcd7927bfa5173186228bfe61782f\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b89fcf92ee1d14237cfb0dd949341053389d5b6a043ad77349b65bef80b1d59f\",\"dweb:/ipfs/QmPkia3aNHrqvE4tqxG2AyrdB4W91jTAvcbchgs2wAo6NL\"]},\"test/utils/TstoreUtils.sol\":{\"keccak256\":\"0xaf3b680ab598af493a9d7d0057520d36f0eb992c2bf8797dda35573207e4bd08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://86a64bdb79d95731c5f8c2774ea1e093667cbd259b7d6394db74cdf49aa5a9e3\",\"dweb:/ipfs/QmcsAR3eYiVT1DMZfBm3rWvmWP2S9hGLdvE4DvJqc7Wo43\"]}},\"version\":1}","userdoc":{},"devdoc":{},"evm":{"bytecode":{"object":"60808060405234601357608d908160188239f35b5f80fdfe6004361015600b575f80fd5b5f3560e01c63f71f7a2514601d575f80fd5b3460535760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126053576024356004355d005b5f80fdfea26469706673582212205c3478906b70ed217cacaeb0f98254718dfc00d76a73c3f166ed1357b7f7af5364736f6c634300081e0033","sourceMap":"702:149:76:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"6004361015600b575f80fd5b5f3560e01c63f71f7a2514601d575f80fd5b3460535760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126053576024356004355d005b5f80fdfea26469706673582212205c3478906b70ed217cacaeb0f98254718dfc00d76a73c3f166ed1357b7f7af5364736f6c634300081e0033","sourceMap":"702:149:76:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;791:52;702:149;;;;","linkReferences":{}},"methodIdentifiers":{"set(bytes32,bytes32)":"f71f7a25"}}}}},"sources":{"lib/erc2470-libs/script/SingletonDeployer.s.sol":{"id":0,"ast":{"absolutePath":"lib/erc2470-libs/script/SingletonDeployer.s.sol","id":211,"exportedSymbols":{"DeploymentFailed":[14],"ISingletonFactory":[234],"SINGLETON_DEPLOY_COST":[221],"SINGLETON_DEPLOY_TX":[224],"SINGLETON_EOA_ADDR":[218],"SINGLETON_FACTORY_ADDR":[215],"Script":[335],"SingletonDeployer":[210],"console":[26795]},"nodeType":"SourceUnit","src":"39:2348:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"39:24:0","nodes":[],"literals":["solidity","^","0.8",".18"]},{"id":4,"nodeType":"ImportDirective","src":"65:53:0","nodes":[],"absolutePath":"lib/forge-std/src/Script.sol","file":"forge-std/Script.sol","nameLocation":"-1:-1:-1","scope":211,"sourceUnit":336,"symbolAliases":[{"foreign":{"id":2,"name":"Script","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":335,"src":"73:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":3,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"81:7:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":10,"nodeType":"ImportDirective","src":"120:173:0","nodes":[],"absolutePath":"lib/erc2470-libs/src/ISingletonFactory.sol","file":"../src/ISingletonFactory.sol","nameLocation":"-1:-1:-1","scope":211,"sourceUnit":235,"symbolAliases":[{"foreign":{"id":5,"name":"ISingletonFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":234,"src":"133:17:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":6,"name":"SINGLETON_DEPLOY_COST","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":221,"src":"156:21:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":7,"name":"SINGLETON_DEPLOY_TX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":224,"src":"183:19:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":8,"name":"SINGLETON_EOA_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"208:18:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":9,"name":"SINGLETON_FACTORY_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":215,"src":"232:22:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":14,"nodeType":"ErrorDefinition","src":"295:38:0","nodes":[],"errorSelector":"20631f91","name":"DeploymentFailed","nameLocation":"301:16:0","parameters":{"id":13,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12,"mutability":"mutable","name":"reason","nameLocation":"325:6:0","nodeType":"VariableDeclaration","scope":14,"src":"318:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11,"name":"string","nodeType":"ElementaryTypeName","src":"318:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"317:15:0"}},{"id":210,"nodeType":"ContractDefinition","src":"335:2051:0","nodes":[{"id":22,"nodeType":"VariableDeclaration","src":"387:96:0","nodes":[],"constant":true,"mutability":"constant","name":"SINGLETON_FACTORY","nameLocation":"422:17:0","scope":210,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISingletonFactory_$234","typeString":"contract ISingletonFactory"},"typeName":{"id":18,"nodeType":"UserDefinedTypeName","pathNode":{"id":17,"name":"ISingletonFactory","nameLocations":["387:17:0"],"nodeType":"IdentifierPath","referencedDeclaration":234,"src":"387:17:0"},"referencedDeclaration":234,"src":"387:17:0","typeDescriptions":{"typeIdentifier":"t_contract$_ISingletonFactory_$234","typeString":"contract ISingletonFactory"}},"value":{"arguments":[{"id":20,"name":"SINGLETON_FACTORY_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":215,"src":"460:22:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":19,"name":"ISingletonFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":234,"src":"442:17:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISingletonFactory_$234_$","typeString":"type(contract ISingletonFactory)"}},"id":21,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"442:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISingletonFactory_$234","typeString":"contract ISingletonFactory"}},"visibility":"private"},{"id":82,"nodeType":"FunctionDefinition","src":"490:695:0","nodes":[],"body":{"id":81,"nodeType":"Block","src":"556:629:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":27,"name":"SINGLETON_FACTORY_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":215,"src":"570:22:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":28,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"593:4:0","memberName":"code","nodeType":"MemberAccess","src":"570:27:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":29,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"598:6:0","memberName":"length","nodeType":"MemberAccess","src":"570:34:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"32","id":30,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"608:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"570:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80,"nodeType":"IfStatement","src":"566:613:0","trueBody":{"id":79,"nodeType":"Block","src":"611:568:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":35,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":32,"name":"SINGLETON_EOA_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"629:18:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":33,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"648:7:0","memberName":"balance","nodeType":"MemberAccess","src":"629:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":34,"name":"SINGLETON_DEPLOY_COST","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":221,"src":"658:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"629:50:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":65,"nodeType":"IfStatement","src":"625:360:0","trueBody":{"id":64,"nodeType":"Block","src":"681:304:0","statements":[{"expression":{"arguments":[{"hexValue":"46756e64696e672053696e676c65746f6e20466163746f727920454f41","id":39,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"757:31:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_bab685f44a9af38ef54570f6591f5907cdb3ea466a926e53c1f55c515623eca7","typeString":"literal_string \"Funding Singleton Factory EOA\""},"value":"Funding Singleton Factory EOA"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bab685f44a9af38ef54570f6591f5907cdb3ea466a926e53c1f55c515623eca7","typeString":"literal_string \"Funding Singleton Factory EOA\""}],"expression":{"id":36,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"745:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26795_$","typeString":"type(library console)"}},"id":38,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"753:3:0","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":19309,"src":"745:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":40,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"745:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":41,"nodeType":"ExpressionStatement","src":"745:44:0"},{"expression":{"arguments":[{"id":45,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24,"src":"825:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":42,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"807:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":44,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"810:14:0","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":15618,"src":"807:17:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":46,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"807:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47,"nodeType":"ExpressionStatement","src":"807:21:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":53,"name":"SINGLETON_DEPLOY_COST","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":221,"src":"883:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":54,"name":"SINGLETON_EOA_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"907:18:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":55,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"926:7:0","memberName":"balance","nodeType":"MemberAccess","src":"907:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"883:50:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":50,"name":"SINGLETON_EOA_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":218,"src":"854:18:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"846:8:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":48,"name":"address","nodeType":"ElementaryTypeName","src":"846:8:0","stateMutability":"payable","typeDescriptions":{}}},"id":51,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"846:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":52,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"874:8:0","memberName":"transfer","nodeType":"MemberAccess","src":"846:36:0","typeDescriptions":{"typeIdentifier":"t_function_transfer_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":57,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"846:88:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58,"nodeType":"ExpressionStatement","src":"846:88:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":59,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"952:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":61,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"955:13:0","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":15622,"src":"952:16:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":62,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"952:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":63,"nodeType":"ExpressionStatement","src":"952:18:0"}]}},{"expression":{"arguments":[{"hexValue":"4465706c6f79696e672053696e676c65746f6e20466163746f727920746f","id":69,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1050:32:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1fa069dae5923b8d603fe3368c6aa9f0a5f752e09e5aa33318399c02fc37b5a","typeString":"literal_string \"Deploying Singleton Factory to\""},"value":"Deploying Singleton Factory to"},{"id":70,"name":"SINGLETON_FACTORY_ADDR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":215,"src":"1084:22:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d1fa069dae5923b8d603fe3368c6aa9f0a5f752e09e5aa33318399c02fc37b5a","typeString":"literal_string \"Deploying Singleton Factory to\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":66,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"1038:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26795_$","typeString":"type(library console)"}},"id":68,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1046:3:0","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":19490,"src":"1038:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) pure"}},"id":71,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1038:69:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":72,"nodeType":"ExpressionStatement","src":"1038:69:0"},{"expression":{"arguments":[{"id":76,"name":"SINGLETON_DEPLOY_TX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":224,"src":"1148:19:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":73,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"1121:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":75,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1124:23:0","memberName":"broadcastRawTransaction","nodeType":"MemberAccess","referencedDeclaration":15505,"src":"1121:26:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":77,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1121:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78,"nodeType":"ExpressionStatement","src":"1121:47:0"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deploySingletonFactoryIfNotAlready","nameLocation":"499:35:0","parameters":{"id":25,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24,"mutability":"mutable","name":"pk","nameLocation":"543:2:0","nodeType":"VariableDeclaration","scope":82,"src":"535:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":23,"name":"uint256","nodeType":"ElementaryTypeName","src":"535:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"534:12:0"},"returnParameters":{"id":26,"nodeType":"ParameterList","parameters":[],"src":"556:0:0"},"scope":210,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":172,"nodeType":"FunctionDefinition","src":"1191:843:0","nodes":[],"body":{"id":171,"nodeType":"Block","src":"1343:691:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":96,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90,"src":"1389:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95,"name":"_deploySingletonFactoryIfNotAlready","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82,"src":"1353:35:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":97,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1353:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98,"nodeType":"ExpressionStatement","src":"1353:39:0"},{"expression":{"id":104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93,"src":"1402:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":101,"name":"_initCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86,"src":"1429:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":102,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88,"src":"1440:5:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":100,"name":"_singletonAddressOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":209,"src":"1409:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes memory,bytes32) pure returns (address)"}},"id":103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1409:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1402:44:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":105,"nodeType":"ExpressionStatement","src":"1402:44:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":106,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93,"src":"1460:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1465:4:0","memberName":"code","nodeType":"MemberAccess","src":"1460:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1470:6:0","memberName":"length","nodeType":"MemberAccess","src":"1460:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"32","id":109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1480:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"1460:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":167,"nodeType":"Block","src":"1936:71:0","statements":[{"expression":{"arguments":[{"id":162,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84,"src":"1962:4:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"616c7265616479206465706c6f79656420746f","id":163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1968:21:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf9383d27791117ac53ec65b71d68f520e6b4afe89117612b4fd82c19cf7c39d","typeString":"literal_string \"already deployed to\""},"value":"already deployed to"},{"id":164,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93,"src":"1991:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_cf9383d27791117ac53ec65b71d68f520e6b4afe89117612b4fd82c19cf7c39d","typeString":"literal_string \"already deployed to\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":159,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"1950:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26795_$","typeString":"type(library console)"}},"id":161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1958:3:0","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":20106,"src":"1950:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,string memory,address) pure"}},"id":165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1950:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":166,"nodeType":"ExpressionStatement","src":"1950:46:0"}]},"id":168,"nodeType":"IfStatement","src":"1456:551:0","trueBody":{"id":158,"nodeType":"Block","src":"1483:447:0","statements":[{"expression":{"arguments":[{"id":114,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84,"src":"1509:4:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"6465706c6f79696e6720746f","id":115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1515:14:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_75fb35d838fd2cea2162f561cbb43d1008f49822fa50470e75249d4f39521453","typeString":"literal_string \"deploying to\""},"value":"deploying to"},{"id":116,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93,"src":"1531:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_75fb35d838fd2cea2162f561cbb43d1008f49822fa50470e75249d4f39521453","typeString":"literal_string \"deploying to\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":111,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"1497:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$26795_$","typeString":"type(library console)"}},"id":113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1505:3:0","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":20106,"src":"1497:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,string memory,address) pure"}},"id":117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1497:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":118,"nodeType":"ExpressionStatement","src":"1497:39:0"},{"expression":{"arguments":[{"id":122,"name":"pk","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90,"src":"1568:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":119,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"1550:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1553:14:0","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":15618,"src":"1550:17:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1550:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":124,"nodeType":"ExpressionStatement","src":"1550:21:0"},{"assignments":[126],"declarations":[{"constant":false,"id":126,"mutability":"mutable","name":"actualAddr","nameLocation":"1593:10:0","nodeType":"VariableDeclaration","scope":158,"src":"1585:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":125,"name":"address","nodeType":"ElementaryTypeName","src":"1585:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":132,"initialValue":{"arguments":[{"id":129,"name":"_initCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86,"src":"1631:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":130,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88,"src":"1642:5:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":127,"name":"SINGLETON_FACTORY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22,"src":"1606:17:0","typeDescriptions":{"typeIdentifier":"t_contract$_ISingletonFactory_$234","typeString":"contract ISingletonFactory"}},"id":128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1624:6:0","memberName":"deploy","nodeType":"MemberAccess","referencedDeclaration":233,"src":"1606:24:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$_t_bytes32_$returns$_t_address_payable_$","typeString":"function (bytes memory,bytes32) external returns (address payable)"}},"id":131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1606:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"1585:63:0"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":133,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":278,"src":"1662:2:0","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1665:13:0","memberName":"stopBroadcast","nodeType":"MemberAccess","referencedDeclaration":15622,"src":"1662:16:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1662:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":137,"nodeType":"ExpressionStatement","src":"1662:18:0"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":138,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93,"src":"1698:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":139,"name":"actualAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126,"src":"1706:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1698:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":146,"nodeType":"IfStatement","src":"1694:109:0","trueBody":{"id":145,"nodeType":"Block","src":"1718:85:0","statements":[{"errorCall":{"arguments":[{"hexValue":"4465706c6f7965642061646472657373206d69736d61746368","id":142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1760:27:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_3eefde99a1d8bd9619e5275745bdf066810b42815f24dca6fd1f93a642c7c3f6","typeString":"literal_string \"Deployed address mismatch\""},"value":"Deployed address mismatch"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3eefde99a1d8bd9619e5275745bdf066810b42815f24dca6fd1f93a642c7c3f6","typeString":"literal_string \"Deployed address mismatch\""}],"id":141,"name":"DeploymentFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14,"src":"1743:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$_t_error_$","typeString":"function (string memory) pure returns (error)"}},"id":143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1743:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":144,"nodeType":"RevertStatement","src":"1736:52:0"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":147,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93,"src":"1820:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1825:4:0","memberName":"code","nodeType":"MemberAccess","src":"1820:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1830:6:0","memberName":"length","nodeType":"MemberAccess","src":"1820:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"32","id":150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1840:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"1820:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":157,"nodeType":"IfStatement","src":"1816:104:0","trueBody":{"id":156,"nodeType":"Block","src":"1843:77:0","statements":[{"errorCall":{"arguments":[{"hexValue":"4465706c6f796d656e74206661696c6564","id":153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1885:19:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa2295279825fc5c1b0ee87bfb3d9f97e1f777c29c82f8d0a2e2fc2fa6c99dcb","typeString":"literal_string \"Deployment failed\""},"value":"Deployment failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fa2295279825fc5c1b0ee87bfb3d9f97e1f777c29c82f8d0a2e2fc2fa6c99dcb","typeString":"literal_string \"Deployment failed\""}],"id":152,"name":"DeploymentFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14,"src":"1868:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$_t_error_$","typeString":"function (string memory) pure returns (error)"}},"id":154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1868:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":155,"nodeType":"RevertStatement","src":"1861:44:0"}]}}]}},{"expression":{"id":169,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93,"src":"2023:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":94,"id":170,"nodeType":"Return","src":"2016:11:0"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deployIfNotAlready","nameLocation":"1200:19:0","parameters":{"id":91,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84,"mutability":"mutable","name":"name","nameLocation":"1234:4:0","nodeType":"VariableDeclaration","scope":172,"src":"1220:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":83,"name":"string","nodeType":"ElementaryTypeName","src":"1220:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":86,"mutability":"mutable","name":"_initCode","nameLocation":"1253:9:0","nodeType":"VariableDeclaration","scope":172,"src":"1240:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":85,"name":"bytes","nodeType":"ElementaryTypeName","src":"1240:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":88,"mutability":"mutable","name":"_salt","nameLocation":"1272:5:0","nodeType":"VariableDeclaration","scope":172,"src":"1264:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":87,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1264:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":90,"mutability":"mutable","name":"pk","nameLocation":"1287:2:0","nodeType":"VariableDeclaration","scope":172,"src":"1279:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89,"name":"uint256","nodeType":"ElementaryTypeName","src":"1279:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1219:71:0"},"returnParameters":{"id":94,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93,"mutability":"mutable","name":"addr","nameLocation":"1333:4:0","nodeType":"VariableDeclaration","scope":172,"src":"1325:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92,"name":"address","nodeType":"ElementaryTypeName","src":"1325:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1324:14:0"},"scope":210,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":209,"nodeType":"FunctionDefinition","src":"2040:344:0","nodes":[],"body":{"id":208,"nodeType":"Block","src":"2145:239:0","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786666","id":192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2271:4:0","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2264:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":190,"name":"bytes1","nodeType":"ElementaryTypeName","src":"2264:6:0","typeDescriptions":{}}},"id":193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2264:12:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":196,"name":"SINGLETON_FACTORY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22,"src":"2286:17:0","typeDescriptions":{"typeIdentifier":"t_contract$_ISingletonFactory_$234","typeString":"contract ISingletonFactory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISingletonFactory_$234","typeString":"contract ISingletonFactory"}],"id":195,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2278:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":194,"name":"address","nodeType":"ElementaryTypeName","src":"2278:7:0","typeDescriptions":{}}},"id":197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2278:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":198,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176,"src":"2306:5:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":200,"name":"_initCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"src":"2323:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":199,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2313:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2313:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":188,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2247:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2251:12:0","memberName":"encodePacked","nodeType":"MemberAccess","src":"2247:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2247:87:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":187,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2237:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2237:98:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2208:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":185,"name":"uint256","nodeType":"ElementaryTypeName","src":"2208:7:0","typeDescriptions":{}}},"id":204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2208:145:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2183:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":183,"name":"uint160","nodeType":"ElementaryTypeName","src":"2183:7:0","typeDescriptions":{}}},"id":205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2183:184:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2162:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":181,"name":"address","nodeType":"ElementaryTypeName","src":"2162:7:0","typeDescriptions":{}}},"id":206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2162:215:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":180,"id":207,"nodeType":"Return","src":"2155:222:0"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_singletonAddressOf","nameLocation":"2049:19:0","parameters":{"id":177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":174,"mutability":"mutable","name":"_initCode","nameLocation":"2082:9:0","nodeType":"VariableDeclaration","scope":209,"src":"2069:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":173,"name":"bytes","nodeType":"ElementaryTypeName","src":"2069:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":176,"mutability":"mutable","name":"_salt","nameLocation":"2101:5:0","nodeType":"VariableDeclaration","scope":209,"src":"2093:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":175,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2093:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2068:39:0"},"returnParameters":{"id":180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":179,"mutability":"mutable","name":"addr","nameLocation":"2139:4:0","nodeType":"VariableDeclaration","scope":209,"src":"2131:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":178,"name":"address","nodeType":"ElementaryTypeName","src":"2131:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2130:14:0"},"scope":210,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":15,"name":"Script","nameLocations":["374:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":335,"src":"374:6:0"},"id":16,"nodeType":"InheritanceSpecifier","src":"374:6:0"}],"canonicalName":"SingletonDeployer","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[210,335,13420,6247,4157,294,282],"name":"SingletonDeployer","nameLocation":"353:17:0","scope":211,"usedErrors":[],"usedEvents":[]}],"license":"UNLICENSED"}},"lib/erc2470-libs/src/ISingletonFactory.sol":{"id":1,"ast":{"absolutePath":"lib/erc2470-libs/src/ISingletonFactory.sol","id":235,"exportedSymbols":{"ISingletonFactory":[234],"SINGLETON_DEPLOY_COST":[221],"SINGLETON_DEPLOY_TX":[224],"SINGLETON_EOA_ADDR":[218],"SINGLETON_FACTORY_ADDR":[215]},"nodeType":"SourceUnit","src":"39:1177:1","nodes":[{"id":212,"nodeType":"PragmaDirective","src":"39:24:1","nodes":[],"literals":["solidity","^","0.8",".18"]},{"id":215,"nodeType":"VariableDeclaration","src":"65:84:1","nodes":[],"constant":true,"mutability":"constant","name":"SINGLETON_FACTORY_ADDR","nameLocation":"82:22:1","scope":235,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":213,"name":"address","nodeType":"ElementaryTypeName","src":"65:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307863653030343242383638333030303030643434413539303034446135344130303566666463663966","id":214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"107:42:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xce0042B868300000d44A59004Da54A005ffdcf9f"},"visibility":"internal"},{"id":218,"nodeType":"VariableDeclaration","src":"151:80:1","nodes":[],"constant":true,"mutability":"constant","name":"SINGLETON_EOA_ADDR","nameLocation":"168:18:1","scope":235,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":216,"name":"address","nodeType":"ElementaryTypeName","src":"151:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307842623665303234623963464641434239343741373139393145333836363831423143643134373744","id":217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"189:42:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xBb6e024b9cFFACB947A71991E386681B1Cd1477D"},"visibility":"internal"},{"id":221,"nodeType":"VariableDeclaration","src":"233:53:1","nodes":[],"constant":true,"mutability":"constant","name":"SINGLETON_DEPLOY_COST","nameLocation":"250:21:1","scope":235,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":219,"name":"uint256","nodeType":"ElementaryTypeName","src":"233:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"302e30323437","id":220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"274:12:1","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_24700000000000000_by_1","typeString":"int_const 24700000000000000"},"value":"0.0247"},"visibility":"internal"},{"id":224,"nodeType":"VariableDeclaration","src":"288:780:1","nodes":[],"constant":true,"mutability":"constant","name":"SINGLETON_DEPLOY_TX","nameLocation":"303:19:1","scope":235,"stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":222,"name":"bytes","nodeType":"ElementaryTypeName","src":"288:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"hexValue":"f9016c8085174876e8008303c4d88080b90154608060405234801561001057600080fd5b50610134806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd5b60cf60048036036040811015604157600080fd5b810190602081018135640100000000811115605b57600080fd5b820183602082011115606c57600080fd5b80359060200191846001830284011164010000000083111715608d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925060eb915050565b604080516001600160a01b039092168252519081900360200190f35b6000818351602085016000f5939250505056fea26469706673582212206b44f8a82cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c634300060200331b83247000822470","id":223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"hexString","lValueRequested":false,"nodeType":"Literal","src":"329:739:1","typeDescriptions":{"typeIdentifier":"t_stringliteral_803351deb6d745e91545a6a3e1c0ea3e9a6a02a1a4193b70edfcd2f40f71a01c","typeString":"literal_string hex\"f9016c8085174876e8008303c4d88080b90154608060405234801561001057600080fd5b50610134806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd5b60cf60048036036040811015604157600080fd5b810190602081018135640100000000811115605b57600080fd5b820183602082011115606c57600080fd5b80359060200191846001830284011164010000000083111715608d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925060eb915050565b604080516001600160a01b039092168252519081900360200190f35b6000818351602085016000f5939250505056fea26469706673582212206b44f8a82cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c634300060200331b83247000822470\""}},"visibility":"internal"},{"id":234,"nodeType":"ContractDefinition","src":"1071:144:1","nodes":[{"id":233,"nodeType":"FunctionDefinition","src":"1105:108:1","nodes":[],"functionSelector":"4af63f02","implemented":false,"kind":"function","modifiers":[],"name":"deploy","nameLocation":"1114:6:1","parameters":{"id":229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":226,"mutability":"mutable","name":"_initCode","nameLocation":"1136:9:1","nodeType":"VariableDeclaration","scope":233,"src":"1121:24:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":225,"name":"bytes","nodeType":"ElementaryTypeName","src":"1121:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":228,"mutability":"mutable","name":"_salt","nameLocation":"1155:5:1","nodeType":"VariableDeclaration","scope":233,"src":"1147:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1147:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1120:41:1"},"returnParameters":{"id":232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":231,"mutability":"mutable","name":"createdContract","nameLocation":"1196:15:1","nodeType":"VariableDeclaration","scope":233,"src":"1180:31:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":230,"name":"address","nodeType":"ElementaryTypeName","src":"1180:15:1","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"1179:33:1"},"scope":234,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISingletonFactory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[234],"name":"ISingletonFactory","nameLocation":"1081:17:1","scope":235,"usedErrors":[],"usedEvents":[]}],"license":"UNLICENSED"}},"lib/forge-std/src/Base.sol":{"id":2,"ast":{"absolutePath":"lib/forge-std/src/Base.sol","id":295,"exportedSymbols":{"CommonBase":[282],"ScriptBase":[294],"StdStorage":[8581],"TestBase":[285],"Vm":[18679],"VmSafe":[17608]},"nodeType":"SourceUnit","src":"32:2201:2","nodes":[{"id":236,"nodeType":"PragmaDirective","src":"32:31:2","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":238,"nodeType":"ImportDirective","src":"65:44:2","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":295,"sourceUnit":10539,"symbolAliases":[{"foreign":{"id":237,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8581,"src":"73:10:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":241,"nodeType":"ImportDirective","src":"110:36:2","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":295,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":239,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"118:2:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":240,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"122:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":282,"nodeType":"ContractDefinition","src":"148:1933:2","nodes":[{"id":245,"nodeType":"VariableDeclaration","src":"297:81:2","nodes":[],"constant":true,"documentation":{"id":242,"nodeType":"StructuredDocumentation","src":"183:109:2","text":"@dev Cheat code address.\n Calculated as `address(uint160(uint256(keccak256(\"hevm cheat code\"))))`."},"mutability":"constant","name":"VM_ADDRESS","nameLocation":"323:10:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":243,"name":"address","nodeType":"ElementaryTypeName","src":"297:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307837313039373039454366613931613830363236664633393839443638663637463562314444313244","id":244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"336:42:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x7109709ECfa91a80626fF3989D68f67F5b1DD12D"},"visibility":"internal"},{"id":249,"nodeType":"VariableDeclaration","src":"549:78:2","nodes":[],"constant":true,"documentation":{"id":246,"nodeType":"StructuredDocumentation","src":"385:159:2","text":"@dev console.sol and console2.sol work by executing a staticcall to this address.\n Calculated as `address(uint160(uint88(bytes11(\"console.log\"))))`."},"mutability":"constant","name":"CONSOLE","nameLocation":"575:7:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":247,"name":"address","nodeType":"ElementaryTypeName","src":"549:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"585:42:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"id":253,"nodeType":"VariableDeclaration","src":"760:86:2","nodes":[],"constant":true,"documentation":{"id":250,"nodeType":"StructuredDocumentation","src":"634:121:2","text":"@dev Used when deploying with create2.\n Taken from https://github.com/Arachnid/deterministic-deployment-proxy."},"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"786:15:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":251,"name":"address","nodeType":"ElementaryTypeName","src":"760:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"804:42:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"internal"},{"id":257,"nodeType":"VariableDeclaration","src":"1004:85:2","nodes":[],"constant":true,"documentation":{"id":254,"nodeType":"StructuredDocumentation","src":"853:146:2","text":"@dev The default address for tx.origin and msg.sender.\n Calculated as `address(uint160(uint256(keccak256(\"foundry default caller\"))))`."},"mutability":"constant","name":"DEFAULT_SENDER","nameLocation":"1030:14:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":255,"name":"address","nodeType":"ElementaryTypeName","src":"1004:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307831383034633841423146313245366262663338393464343038336633336530373330396431663338","id":256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1047:42:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38"},"visibility":"internal"},{"id":261,"nodeType":"VariableDeclaration","src":"1371:92:2","nodes":[],"constant":true,"documentation":{"id":258,"nodeType":"StructuredDocumentation","src":"1096:270:2","text":"@dev The address of the first contract `CREATE`d by a running test contract.\n When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1.\n Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`."},"mutability":"constant","name":"DEFAULT_TEST_CONTRACT","nameLocation":"1397:21:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":259,"name":"address","nodeType":"ElementaryTypeName","src":"1371:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307835363135644542373938424233453464466130313339644661316233443433334363323362373266","id":260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1421:42:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f"},"visibility":"internal"},{"id":265,"nodeType":"VariableDeclaration","src":"1591:89:2","nodes":[],"constant":true,"documentation":{"id":262,"nodeType":"StructuredDocumentation","src":"1470:116:2","text":"@dev Deterministic deployment address of the Multicall3 contract.\n Taken from https://www.multicall3.com."},"mutability":"constant","name":"MULTICALL3_ADDRESS","nameLocation":"1617:18:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":263,"name":"address","nodeType":"ElementaryTypeName","src":"1591:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1638:42:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"},"visibility":"internal"},{"id":269,"nodeType":"VariableDeclaration","src":"1734:130:2","nodes":[],"constant":true,"documentation":{"id":266,"nodeType":"StructuredDocumentation","src":"1687:42:2","text":"@dev The order of the secp256k1 curve."},"mutability":"constant","name":"SECP256K1_ORDER","nameLocation":"1760:15:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":267,"name":"uint256","nodeType":"ElementaryTypeName","src":"1734:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383532383337353634323739303734393034333832363035313633313431353138313631343934333337","id":268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1786:78:2","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907852837564279074904382605163141518161494337_by_1","typeString":"int_const 1157...(70 digits omitted)...4337"},"value":"115792089237316195423570985008687907852837564279074904382605163141518161494337"},"visibility":"internal"},{"id":272,"nodeType":"VariableDeclaration","src":"1871:126:2","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"1897:11:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":270,"name":"uint256","nodeType":"ElementaryTypeName","src":"1871:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1919:78:2","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"internal"},{"id":278,"nodeType":"VariableDeclaration","src":"2004:40:2","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"2025:2:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"},"typeName":{"id":274,"nodeType":"UserDefinedTypeName","pathNode":{"id":273,"name":"Vm","nameLocations":["2004:2:2"],"nodeType":"IdentifierPath","referencedDeclaration":18679,"src":"2004:2:2"},"referencedDeclaration":18679,"src":"2004:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"value":{"arguments":[{"id":276,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":245,"src":"2033:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":275,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"2030:2:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18679_$","typeString":"type(contract Vm)"}},"id":277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2030:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"visibility":"internal"},{"id":281,"nodeType":"VariableDeclaration","src":"2050:28:2","nodes":[],"constant":false,"mutability":"mutable","name":"stdstore","nameLocation":"2070:8:2","scope":282,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage","typeString":"struct StdStorage"},"typeName":{"id":280,"nodeType":"UserDefinedTypeName","pathNode":{"id":279,"name":"StdStorage","nameLocations":["2050:10:2"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"2050:10:2"},"referencedDeclaration":8581,"src":"2050:10:2","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"CommonBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[282],"name":"CommonBase","nameLocation":"166:10:2","scope":295,"usedErrors":[],"usedEvents":[]},{"id":285,"nodeType":"ContractDefinition","src":"2083:43:2","nodes":[],"abstract":true,"baseContracts":[{"baseName":{"id":283,"name":"CommonBase","nameLocations":["2113:10:2"],"nodeType":"IdentifierPath","referencedDeclaration":282,"src":"2113:10:2"},"id":284,"nodeType":"InheritanceSpecifier","src":"2113:10:2"}],"canonicalName":"TestBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[285,282],"name":"TestBase","nameLocation":"2101:8:2","scope":295,"usedErrors":[],"usedEvents":[]},{"id":294,"nodeType":"ContractDefinition","src":"2128:104:2","nodes":[{"id":293,"nodeType":"VariableDeclaration","src":"2177:52:2","nodes":[],"constant":true,"mutability":"constant","name":"vmSafe","nameLocation":"2202:6:2","scope":294,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"},"typeName":{"id":289,"nodeType":"UserDefinedTypeName","pathNode":{"id":288,"name":"VmSafe","nameLocations":["2177:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":17608,"src":"2177:6:2"},"referencedDeclaration":17608,"src":"2177:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"value":{"arguments":[{"id":291,"name":"VM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":245,"src":"2218:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":290,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"2211:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$17608_$","typeString":"type(contract VmSafe)"}},"id":292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2211:18:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":286,"name":"CommonBase","nameLocations":["2160:10:2"],"nodeType":"IdentifierPath","referencedDeclaration":282,"src":"2160:10:2"},"id":287,"nodeType":"InheritanceSpecifier","src":"2160:10:2"}],"canonicalName":"ScriptBase","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[294,282],"name":"ScriptBase","nameLocation":"2146:10:2","scope":295,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/Script.sol":{"id":3,"ast":{"absolutePath":"lib/forge-std/src/Script.sol","id":336,"exportedSymbols":{"Script":[335],"ScriptBase":[294],"StdChains":[4157],"StdCheatsSafe":[6247],"StdConstants":[7083],"StdStorage":[8581],"StdStyle":[11749],"StdUtils":[13420],"VmSafe":[17608],"console":[26795],"console2":[26795],"safeconsole":[40037],"stdJson":[8387],"stdMath":[8543],"stdStorageSafe":[9933]},"nodeType":"SourceUnit","src":"32:849:3","nodes":[{"id":296,"nodeType":"PragmaDirective","src":"32:31:3","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":298,"nodeType":"ImportDirective","src":"127:38:3","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"./console.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":26796,"symbolAliases":[{"foreign":{"id":297,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"135:7:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":300,"nodeType":"ImportDirective","src":"166:40:3","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"./console2.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":26800,"symbolAliases":[{"foreign":{"id":299,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"174:8:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":302,"nodeType":"ImportDirective","src":"207:46:3","nodes":[],"absolutePath":"lib/forge-std/src/safeconsole.sol","file":"./safeconsole.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":40038,"symbolAliases":[{"foreign":{"id":301,"name":"safeconsole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40037,"src":"215:11:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":304,"nodeType":"ImportDirective","src":"254:42:3","nodes":[],"absolutePath":"lib/forge-std/src/StdChains.sol","file":"./StdChains.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":4158,"symbolAliases":[{"foreign":{"id":303,"name":"StdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4157,"src":"262:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":306,"nodeType":"ImportDirective","src":"297:46:3","nodes":[],"absolutePath":"lib/forge-std/src/StdCheats.sol","file":"./StdCheats.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":7043,"symbolAliases":[{"foreign":{"id":305,"name":"StdCheatsSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6247,"src":"305:13:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":308,"nodeType":"ImportDirective","src":"344:48:3","nodes":[],"absolutePath":"lib/forge-std/src/StdConstants.sol","file":"./StdConstants.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":7084,"symbolAliases":[{"foreign":{"id":307,"name":"StdConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7083,"src":"352:12:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":310,"nodeType":"ImportDirective","src":"393:38:3","nodes":[],"absolutePath":"lib/forge-std/src/StdJson.sol","file":"./StdJson.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":8388,"symbolAliases":[{"foreign":{"id":309,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8387,"src":"401:7:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":312,"nodeType":"ImportDirective","src":"432:38:3","nodes":[],"absolutePath":"lib/forge-std/src/StdMath.sol","file":"./StdMath.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":8544,"symbolAliases":[{"foreign":{"id":311,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8543,"src":"440:7:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":315,"nodeType":"ImportDirective","src":"471:60:3","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":10539,"symbolAliases":[{"foreign":{"id":313,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8581,"src":"479:10:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":314,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"491:14:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":317,"nodeType":"ImportDirective","src":"532:40:3","nodes":[],"absolutePath":"lib/forge-std/src/StdStyle.sol","file":"./StdStyle.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":11750,"symbolAliases":[{"foreign":{"id":316,"name":"StdStyle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11749,"src":"540:8:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":319,"nodeType":"ImportDirective","src":"573:40:3","nodes":[],"absolutePath":"lib/forge-std/src/StdUtils.sol","file":"./StdUtils.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":13421,"symbolAliases":[{"foreign":{"id":318,"name":"StdUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13420,"src":"581:8:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":321,"nodeType":"ImportDirective","src":"614:32:3","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":320,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"622:6:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":323,"nodeType":"ImportDirective","src":"668:38:3","nodes":[],"absolutePath":"lib/forge-std/src/Base.sol","file":"./Base.sol","nameLocation":"-1:-1:-1","scope":336,"sourceUnit":295,"symbolAliases":[{"foreign":{"id":322,"name":"ScriptBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":294,"src":"676:10:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":335,"nodeType":"ContractDefinition","src":"725:155:3","nodes":[{"id":334,"nodeType":"VariableDeclaration","src":"849:28:3","nodes":[],"constant":false,"functionSelector":"f8ccbf47","mutability":"mutable","name":"IS_SCRIPT","nameLocation":"861:9:3","scope":335,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":332,"name":"bool","nodeType":"ElementaryTypeName","src":"849:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"873:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"public"}],"abstract":true,"baseContracts":[{"baseName":{"id":324,"name":"ScriptBase","nameLocations":["753:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":294,"src":"753:10:3"},"id":325,"nodeType":"InheritanceSpecifier","src":"753:10:3"},{"baseName":{"id":326,"name":"StdChains","nameLocations":["765:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":4157,"src":"765:9:3"},"id":327,"nodeType":"InheritanceSpecifier","src":"765:9:3"},{"baseName":{"id":328,"name":"StdCheatsSafe","nameLocations":["776:13:3"],"nodeType":"IdentifierPath","referencedDeclaration":6247,"src":"776:13:3"},"id":329,"nodeType":"InheritanceSpecifier","src":"776:13:3"},{"baseName":{"id":330,"name":"StdUtils","nameLocations":["791:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":13420,"src":"791:8:3"},"id":331,"nodeType":"InheritanceSpecifier","src":"791:8:3"}],"canonicalName":"Script","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[335,13420,6247,4157,294,282],"name":"Script","nameLocation":"743:6:3","scope":336,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdAssertions.sol":{"id":4,"ast":{"absolutePath":"lib/forge-std/src/StdAssertions.sol","id":3195,"exportedSymbols":{"StdAssertions":[3194],"Vm":[18679]},"nodeType":"SourceUnit","src":"32:25360:4","nodes":[{"id":337,"nodeType":"PragmaDirective","src":"32:31:4","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":338,"nodeType":"PragmaDirective","src":"64:33:4","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":340,"nodeType":"ImportDirective","src":"99:28:4","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":3195,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":339,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"107:2:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":3194,"nodeType":"ContractDefinition","src":"129:25262:4","nodes":[{"id":357,"nodeType":"VariableDeclaration","src":"167:84:4","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"187:2:4","scope":3194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"},"typeName":{"id":342,"nodeType":"UserDefinedTypeName","pathNode":{"id":341,"name":"Vm","nameLocations":["167:2:4"],"nodeType":"IdentifierPath","referencedDeclaration":18679,"src":"167:2:4"},"referencedDeclaration":18679,"src":"167:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"229:17:4","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":350,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"219:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"219:28:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":349,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"211:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":348,"name":"uint256","nodeType":"ElementaryTypeName","src":"211:7:4","typeDescriptions":{}}},"id":353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"211:37:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"203:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":346,"name":"uint160","nodeType":"ElementaryTypeName","src":"203:7:4","typeDescriptions":{}}},"id":354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"203:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"195:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":344,"name":"address","nodeType":"ElementaryTypeName","src":"195:7:4","typeDescriptions":{}}},"id":355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"195:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":343,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"192:2:4","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18679_$","typeString":"type(contract Vm)"}},"id":356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"192:59:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"visibility":"private"},{"id":361,"nodeType":"EventDefinition","src":"258:18:4","nodes":[],"anonymous":false,"eventSelector":"41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","name":"log","nameLocation":"264:3:4","parameters":{"id":360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":359,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":361,"src":"268:6:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":358,"name":"string","nodeType":"ElementaryTypeName","src":"268:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"267:8:4"}},{"id":365,"nodeType":"EventDefinition","src":"281:18:4","nodes":[],"anonymous":false,"eventSelector":"e7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4","name":"logs","nameLocation":"287:4:4","parameters":{"id":364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":363,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":365,"src":"292:5:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":362,"name":"bytes","nodeType":"ElementaryTypeName","src":"292:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"291:7:4"}},{"id":369,"nodeType":"EventDefinition","src":"305:27:4","nodes":[],"anonymous":false,"eventSelector":"7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3","name":"log_address","nameLocation":"311:11:4","parameters":{"id":368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":367,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":369,"src":"323:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":366,"name":"address","nodeType":"ElementaryTypeName","src":"323:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"322:9:4"}},{"id":373,"nodeType":"EventDefinition","src":"337:27:4","nodes":[],"anonymous":false,"eventSelector":"e81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3","name":"log_bytes32","nameLocation":"343:11:4","parameters":{"id":372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":371,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":373,"src":"355:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":370,"name":"bytes32","nodeType":"ElementaryTypeName","src":"355:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"354:9:4"}},{"id":377,"nodeType":"EventDefinition","src":"369:22:4","nodes":[],"anonymous":false,"eventSelector":"0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8","name":"log_int","nameLocation":"375:7:4","parameters":{"id":376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":375,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":377,"src":"383:6:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":374,"name":"int256","nodeType":"ElementaryTypeName","src":"383:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"382:8:4"}},{"id":381,"nodeType":"EventDefinition","src":"396:24:4","nodes":[],"anonymous":false,"eventSelector":"2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755","name":"log_uint","nameLocation":"402:8:4","parameters":{"id":380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":379,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":381,"src":"411:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":378,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"410:9:4"}},{"id":385,"nodeType":"EventDefinition","src":"425:23:4","nodes":[],"anonymous":false,"eventSelector":"23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20","name":"log_bytes","nameLocation":"431:9:4","parameters":{"id":384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":383,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":385,"src":"441:5:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":382,"name":"bytes","nodeType":"ElementaryTypeName","src":"441:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"440:7:4"}},{"id":389,"nodeType":"EventDefinition","src":"453:25:4","nodes":[],"anonymous":false,"eventSelector":"0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b","name":"log_string","nameLocation":"459:10:4","parameters":{"id":388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":387,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":389,"src":"470:6:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":386,"name":"string","nodeType":"ElementaryTypeName","src":"470:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"469:8:4"}},{"id":395,"nodeType":"EventDefinition","src":"484:49:4","nodes":[],"anonymous":false,"eventSelector":"9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f","name":"log_named_address","nameLocation":"490:17:4","parameters":{"id":394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":391,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"515:3:4","nodeType":"VariableDeclaration","scope":395,"src":"508:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":390,"name":"string","nodeType":"ElementaryTypeName","src":"508:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":393,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"528:3:4","nodeType":"VariableDeclaration","scope":395,"src":"520:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":392,"name":"address","nodeType":"ElementaryTypeName","src":"520:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"507:25:4"}},{"id":401,"nodeType":"EventDefinition","src":"538:49:4","nodes":[],"anonymous":false,"eventSelector":"afb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99","name":"log_named_bytes32","nameLocation":"544:17:4","parameters":{"id":400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":397,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"569:3:4","nodeType":"VariableDeclaration","scope":401,"src":"562:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":396,"name":"string","nodeType":"ElementaryTypeName","src":"562:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":399,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"582:3:4","nodeType":"VariableDeclaration","scope":401,"src":"574:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":398,"name":"bytes32","nodeType":"ElementaryTypeName","src":"574:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"561:25:4"}},{"id":409,"nodeType":"EventDefinition","src":"592:70:4","nodes":[],"anonymous":false,"eventSelector":"5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95","name":"log_named_decimal_int","nameLocation":"598:21:4","parameters":{"id":408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":403,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"627:3:4","nodeType":"VariableDeclaration","scope":409,"src":"620:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":402,"name":"string","nodeType":"ElementaryTypeName","src":"620:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":405,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"639:3:4","nodeType":"VariableDeclaration","scope":409,"src":"632:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":404,"name":"int256","nodeType":"ElementaryTypeName","src":"632:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":407,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"652:8:4","nodeType":"VariableDeclaration","scope":409,"src":"644:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":406,"name":"uint256","nodeType":"ElementaryTypeName","src":"644:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"619:42:4"}},{"id":417,"nodeType":"EventDefinition","src":"667:72:4","nodes":[],"anonymous":false,"eventSelector":"eb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b","name":"log_named_decimal_uint","nameLocation":"673:22:4","parameters":{"id":416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":411,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"703:3:4","nodeType":"VariableDeclaration","scope":417,"src":"696:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":410,"name":"string","nodeType":"ElementaryTypeName","src":"696:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":413,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"716:3:4","nodeType":"VariableDeclaration","scope":417,"src":"708:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":412,"name":"uint256","nodeType":"ElementaryTypeName","src":"708:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":415,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"729:8:4","nodeType":"VariableDeclaration","scope":417,"src":"721:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":414,"name":"uint256","nodeType":"ElementaryTypeName","src":"721:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"695:43:4"}},{"id":423,"nodeType":"EventDefinition","src":"744:44:4","nodes":[],"anonymous":false,"eventSelector":"2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168","name":"log_named_int","nameLocation":"750:13:4","parameters":{"id":422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":419,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"771:3:4","nodeType":"VariableDeclaration","scope":423,"src":"764:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":418,"name":"string","nodeType":"ElementaryTypeName","src":"764:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":421,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"783:3:4","nodeType":"VariableDeclaration","scope":423,"src":"776:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":420,"name":"int256","nodeType":"ElementaryTypeName","src":"776:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"763:24:4"}},{"id":429,"nodeType":"EventDefinition","src":"793:46:4","nodes":[],"anonymous":false,"eventSelector":"b2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8","name":"log_named_uint","nameLocation":"799:14:4","parameters":{"id":428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":425,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"821:3:4","nodeType":"VariableDeclaration","scope":429,"src":"814:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":424,"name":"string","nodeType":"ElementaryTypeName","src":"814:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":427,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"834:3:4","nodeType":"VariableDeclaration","scope":429,"src":"826:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":426,"name":"uint256","nodeType":"ElementaryTypeName","src":"826:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"813:25:4"}},{"id":435,"nodeType":"EventDefinition","src":"844:45:4","nodes":[],"anonymous":false,"eventSelector":"d26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18","name":"log_named_bytes","nameLocation":"850:15:4","parameters":{"id":434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":431,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"873:3:4","nodeType":"VariableDeclaration","scope":435,"src":"866:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":430,"name":"string","nodeType":"ElementaryTypeName","src":"866:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":433,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"884:3:4","nodeType":"VariableDeclaration","scope":435,"src":"878:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":432,"name":"bytes","nodeType":"ElementaryTypeName","src":"878:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"865:23:4"}},{"id":441,"nodeType":"EventDefinition","src":"894:47:4","nodes":[],"anonymous":false,"eventSelector":"280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583","name":"log_named_string","nameLocation":"900:16:4","parameters":{"id":440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":437,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"924:3:4","nodeType":"VariableDeclaration","scope":441,"src":"917:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":436,"name":"string","nodeType":"ElementaryTypeName","src":"917:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":439,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"936:3:4","nodeType":"VariableDeclaration","scope":441,"src":"929:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":438,"name":"string","nodeType":"ElementaryTypeName","src":"929:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"916:24:4"}},{"id":446,"nodeType":"EventDefinition","src":"947:31:4","nodes":[],"anonymous":false,"eventSelector":"fb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1","name":"log_array","nameLocation":"953:9:4","parameters":{"id":445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":444,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"973:3:4","nodeType":"VariableDeclaration","scope":446,"src":"963:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":442,"name":"uint256","nodeType":"ElementaryTypeName","src":"963:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":443,"nodeType":"ArrayTypeName","src":"963:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"962:15:4"}},{"id":451,"nodeType":"EventDefinition","src":"983:30:4","nodes":[],"anonymous":false,"eventSelector":"890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5","name":"log_array","nameLocation":"989:9:4","parameters":{"id":450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":449,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1008:3:4","nodeType":"VariableDeclaration","scope":451,"src":"999:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":447,"name":"int256","nodeType":"ElementaryTypeName","src":"999:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":448,"nodeType":"ArrayTypeName","src":"999:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"998:14:4"}},{"id":456,"nodeType":"EventDefinition","src":"1018:31:4","nodes":[],"anonymous":false,"eventSelector":"40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2","name":"log_array","nameLocation":"1024:9:4","parameters":{"id":455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":454,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1044:3:4","nodeType":"VariableDeclaration","scope":456,"src":"1034:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":452,"name":"address","nodeType":"ElementaryTypeName","src":"1034:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":453,"nodeType":"ArrayTypeName","src":"1034:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1033:15:4"}},{"id":463,"nodeType":"EventDefinition","src":"1054:49:4","nodes":[],"anonymous":false,"eventSelector":"00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb","name":"log_named_array","nameLocation":"1060:15:4","parameters":{"id":462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":458,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1083:3:4","nodeType":"VariableDeclaration","scope":463,"src":"1076:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":457,"name":"string","nodeType":"ElementaryTypeName","src":"1076:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":461,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1098:3:4","nodeType":"VariableDeclaration","scope":463,"src":"1088:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":459,"name":"uint256","nodeType":"ElementaryTypeName","src":"1088:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":460,"nodeType":"ArrayTypeName","src":"1088:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1075:27:4"}},{"id":470,"nodeType":"EventDefinition","src":"1108:48:4","nodes":[],"anonymous":false,"eventSelector":"a73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57","name":"log_named_array","nameLocation":"1114:15:4","parameters":{"id":469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":465,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1137:3:4","nodeType":"VariableDeclaration","scope":470,"src":"1130:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":464,"name":"string","nodeType":"ElementaryTypeName","src":"1130:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":468,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1151:3:4","nodeType":"VariableDeclaration","scope":470,"src":"1142:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":466,"name":"int256","nodeType":"ElementaryTypeName","src":"1142:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":467,"nodeType":"ArrayTypeName","src":"1142:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1129:26:4"}},{"id":477,"nodeType":"EventDefinition","src":"1161:49:4","nodes":[],"anonymous":false,"eventSelector":"3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd","name":"log_named_array","nameLocation":"1167:15:4","parameters":{"id":476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":472,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1190:3:4","nodeType":"VariableDeclaration","scope":477,"src":"1183:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":471,"name":"string","nodeType":"ElementaryTypeName","src":"1183:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":475,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1205:3:4","nodeType":"VariableDeclaration","scope":477,"src":"1195:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":473,"name":"address","nodeType":"ElementaryTypeName","src":"1195:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":474,"nodeType":"ArrayTypeName","src":"1195:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1182:27:4"}},{"id":483,"nodeType":"VariableDeclaration","src":"1216:56:4","nodes":[],"constant":true,"mutability":"constant","name":"FAILED_SLOT","nameLocation":"1241:11:4","scope":3194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":478,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1216:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"6661696c6564","id":481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1263:8:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""},"value":"failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""}],"id":480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1255:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":479,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1255:7:4","typeDescriptions":{}}},"id":482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1255:17:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"id":485,"nodeType":"VariableDeclaration","src":"1279:20:4","nodes":[],"constant":false,"mutability":"mutable","name":"_failed","nameLocation":"1292:7:4","scope":3194,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":484,"name":"bool","nodeType":"ElementaryTypeName","src":"1279:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":511,"nodeType":"FunctionDefinition","src":"1306:195:4","nodes":[],"body":{"id":510,"nodeType":"Block","src":"1351:150:4","nodes":[],"statements":[{"condition":{"id":490,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":485,"src":"1365:7:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":508,"nodeType":"Block","src":"1416:79:4","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":498,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"1453:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}],"id":497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1445:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":496,"name":"address","nodeType":"ElementaryTypeName","src":"1445:7:4","typeDescriptions":{}}},"id":499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1445:11:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":500,"name":"FAILED_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":483,"src":"1458:11:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":494,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"1437:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1440:4:4","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":14500,"src":"1437:7:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1437:33:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1482:1:4","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":503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1474:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":502,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1474:7:4","typeDescriptions":{}}},"id":505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1474:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1437:47:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":489,"id":507,"nodeType":"Return","src":"1430:54:4"}]},"id":509,"nodeType":"IfStatement","src":"1361:134:4","trueBody":{"id":493,"nodeType":"Block","src":"1374:36:4","statements":[{"expression":{"hexValue":"74727565","id":491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1395:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":489,"id":492,"nodeType":"Return","src":"1388:11:4"}]}}]},"functionSelector":"ba414fa6","implemented":true,"kind":"function","modifiers":[],"name":"failed","nameLocation":"1315:6:4","parameters":{"id":486,"nodeType":"ParameterList","parameters":[],"src":"1321:2:4"},"returnParameters":{"id":489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":488,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":511,"src":"1345:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":487,"name":"bool","nodeType":"ElementaryTypeName","src":"1345:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1344:6:4"},"scope":3194,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":536,"nodeType":"FunctionDefinition","src":"1507:129:4","nodes":[],"body":{"id":535,"nodeType":"Block","src":"1540:96:4","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":519,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"1567:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}],"id":518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1559:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":517,"name":"address","nodeType":"ElementaryTypeName","src":"1559:7:4","typeDescriptions":{}}},"id":520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1559:11:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":521,"name":"FAILED_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":483,"src":"1572:11:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"hexValue":"31","id":526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1601:1:4","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":525,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1593:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":524,"name":"uint256","nodeType":"ElementaryTypeName","src":"1593:7:4","typeDescriptions":{}}},"id":527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1593:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1585:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":522,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1585:7:4","typeDescriptions":{}}},"id":528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1585:19:4","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":514,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"1550:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1553:5:4","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":18242,"src":"1550:8:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1550:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":530,"nodeType":"ExpressionStatement","src":"1550:55:4"},{"expression":{"id":533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":531,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":485,"src":"1615:7:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1625:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1615:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":534,"nodeType":"ExpressionStatement","src":"1615:14:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"fail","nameLocation":"1516:4:4","parameters":{"id":512,"nodeType":"ParameterList","parameters":[],"src":"1520:2:4"},"returnParameters":{"id":513,"nodeType":"ParameterList","parameters":[],"src":"1540:0:4"},"scope":3194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":552,"nodeType":"FunctionDefinition","src":"1642:116:4","nodes":[],"body":{"id":551,"nodeType":"Block","src":"1696:62:4","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":541,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[536,552],"referencedDeclaration":536,"src":"1706:4:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1706:6:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":543,"nodeType":"ExpressionStatement","src":"1706:6:4"},{"expression":{"arguments":[{"hexValue":"66616c7365","id":547,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1736:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":548,"name":"message","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":538,"src":"1743:7:4","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":544,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"1722:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1725:10:4","memberName":"assertTrue","nodeType":"MemberAccess","referencedDeclaration":16973,"src":"1722:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure external"}},"id":549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1722:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":550,"nodeType":"ExpressionStatement","src":"1722:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"fail","nameLocation":"1651:4:4","parameters":{"id":539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":538,"mutability":"mutable","name":"message","nameLocation":"1670:7:4","nodeType":"VariableDeclaration","scope":552,"src":"1656:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":537,"name":"string","nodeType":"ElementaryTypeName","src":"1656:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1655:23:4"},"returnParameters":{"id":540,"nodeType":"ParameterList","parameters":[],"src":"1696:0:4"},"scope":3194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":568,"nodeType":"FunctionDefinition","src":"1764:124:4","nodes":[],"body":{"id":567,"nodeType":"Block","src":"1817:71:4","nodes":[],"statements":[{"condition":{"id":558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1831:5:4","subExpression":{"id":557,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":554,"src":"1832:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":566,"nodeType":"IfStatement","src":"1827:55:4","trueBody":{"id":565,"nodeType":"Block","src":"1838:44:4","statements":[{"expression":{"arguments":[{"id":562,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":554,"src":"1866:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":559,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"1852:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1855:10:4","memberName":"assertTrue","nodeType":"MemberAccess","referencedDeclaration":16965,"src":"1852:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1852:19:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":564,"nodeType":"ExpressionStatement","src":"1852:19:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"1773:10:4","parameters":{"id":555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":554,"mutability":"mutable","name":"data","nameLocation":"1789:4:4","nodeType":"VariableDeclaration","scope":568,"src":"1784:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":553,"name":"bool","nodeType":"ElementaryTypeName","src":"1784:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1783:11:4"},"returnParameters":{"id":556,"nodeType":"ParameterList","parameters":[],"src":"1817:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":587,"nodeType":"FunctionDefinition","src":"1894:148:4","nodes":[],"body":{"id":586,"nodeType":"Block","src":"1966:76:4","nodes":[],"statements":[{"condition":{"id":576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1980:5:4","subExpression":{"id":575,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":570,"src":"1981:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":585,"nodeType":"IfStatement","src":"1976:60:4","trueBody":{"id":584,"nodeType":"Block","src":"1987:49:4","statements":[{"expression":{"arguments":[{"id":580,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":570,"src":"2015:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":581,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":572,"src":"2021:3:4","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":577,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"2001:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2004:10:4","memberName":"assertTrue","nodeType":"MemberAccess","referencedDeclaration":16973,"src":"2001:13:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure external"}},"id":582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2001:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":583,"nodeType":"ExpressionStatement","src":"2001:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"1903:10:4","parameters":{"id":573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":570,"mutability":"mutable","name":"data","nameLocation":"1919:4:4","nodeType":"VariableDeclaration","scope":587,"src":"1914:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":569,"name":"bool","nodeType":"ElementaryTypeName","src":"1914:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":572,"mutability":"mutable","name":"err","nameLocation":"1939:3:4","nodeType":"VariableDeclaration","scope":587,"src":"1925:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":571,"name":"string","nodeType":"ElementaryTypeName","src":"1925:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1913:30:4"},"returnParameters":{"id":574,"nodeType":"ParameterList","parameters":[],"src":"1966:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":602,"nodeType":"FunctionDefinition","src":"2048:125:4","nodes":[],"body":{"id":601,"nodeType":"Block","src":"2102:71:4","nodes":[],"statements":[{"condition":{"id":592,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":589,"src":"2116:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":600,"nodeType":"IfStatement","src":"2112:55:4","trueBody":{"id":599,"nodeType":"Block","src":"2122:45:4","statements":[{"expression":{"arguments":[{"id":596,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":589,"src":"2151:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":593,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"2136:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2139:11:4","memberName":"assertFalse","nodeType":"MemberAccess","referencedDeclaration":16307,"src":"2136:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2136:20:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":598,"nodeType":"ExpressionStatement","src":"2136:20:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"2057:11:4","parameters":{"id":590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":589,"mutability":"mutable","name":"data","nameLocation":"2074:4:4","nodeType":"VariableDeclaration","scope":602,"src":"2069:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":588,"name":"bool","nodeType":"ElementaryTypeName","src":"2069:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2068:11:4"},"returnParameters":{"id":591,"nodeType":"ParameterList","parameters":[],"src":"2102:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":620,"nodeType":"FunctionDefinition","src":"2179:149:4","nodes":[],"body":{"id":619,"nodeType":"Block","src":"2252:76:4","nodes":[],"statements":[{"condition":{"id":609,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":604,"src":"2266:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":618,"nodeType":"IfStatement","src":"2262:60:4","trueBody":{"id":617,"nodeType":"Block","src":"2272:50:4","statements":[{"expression":{"arguments":[{"id":613,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":604,"src":"2301:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":614,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":606,"src":"2307:3:4","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":610,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"2286:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2289:11:4","memberName":"assertFalse","nodeType":"MemberAccess","referencedDeclaration":16315,"src":"2286:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure external"}},"id":615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2286:25:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":616,"nodeType":"ExpressionStatement","src":"2286:25:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"2188:11:4","parameters":{"id":607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":604,"mutability":"mutable","name":"data","nameLocation":"2205:4:4","nodeType":"VariableDeclaration","scope":620,"src":"2200:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":603,"name":"bool","nodeType":"ElementaryTypeName","src":"2200:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":606,"mutability":"mutable","name":"err","nameLocation":"2225:3:4","nodeType":"VariableDeclaration","scope":620,"src":"2211:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":605,"name":"string","nodeType":"ElementaryTypeName","src":"2211:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2199:30:4"},"returnParameters":{"id":608,"nodeType":"ParameterList","parameters":[],"src":"2252:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":640,"nodeType":"FunctionDefinition","src":"2334:147:4","nodes":[],"body":{"id":639,"nodeType":"Block","src":"2397:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":627,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":622,"src":"2411:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":628,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":624,"src":"2419:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2411:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":638,"nodeType":"IfStatement","src":"2407:68:4","trueBody":{"id":637,"nodeType":"Block","src":"2426:49:4","statements":[{"expression":{"arguments":[{"id":633,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":622,"src":"2452:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":634,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":624,"src":"2458:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":630,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"2440:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2443:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16029,"src":"2440:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure external"}},"id":635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2440:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":636,"nodeType":"ExpressionStatement","src":"2440:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2343:8:4","parameters":{"id":625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":622,"mutability":"mutable","name":"left","nameLocation":"2357:4:4","nodeType":"VariableDeclaration","scope":640,"src":"2352:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":621,"name":"bool","nodeType":"ElementaryTypeName","src":"2352:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":624,"mutability":"mutable","name":"right","nameLocation":"2368:5:4","nodeType":"VariableDeclaration","scope":640,"src":"2363:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":623,"name":"bool","nodeType":"ElementaryTypeName","src":"2363:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2351:23:4"},"returnParameters":{"id":626,"nodeType":"ParameterList","parameters":[],"src":"2397:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":663,"nodeType":"FunctionDefinition","src":"2487:171:4","nodes":[],"body":{"id":662,"nodeType":"Block","src":"2569:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":649,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":642,"src":"2583:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":650,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":644,"src":"2591:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2583:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":661,"nodeType":"IfStatement","src":"2579:73:4","trueBody":{"id":660,"nodeType":"Block","src":"2598:54:4","statements":[{"expression":{"arguments":[{"id":655,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":642,"src":"2624:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":656,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":644,"src":"2630:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":657,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":646,"src":"2637:3:4","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":652,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"2612:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2615:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16039,"src":"2612:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure external"}},"id":658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2612:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":659,"nodeType":"ExpressionStatement","src":"2612:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2496:8:4","parameters":{"id":647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":642,"mutability":"mutable","name":"left","nameLocation":"2510:4:4","nodeType":"VariableDeclaration","scope":663,"src":"2505:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":641,"name":"bool","nodeType":"ElementaryTypeName","src":"2505:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":644,"mutability":"mutable","name":"right","nameLocation":"2521:5:4","nodeType":"VariableDeclaration","scope":663,"src":"2516:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":643,"name":"bool","nodeType":"ElementaryTypeName","src":"2516:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":646,"mutability":"mutable","name":"err","nameLocation":"2542:3:4","nodeType":"VariableDeclaration","scope":663,"src":"2528:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":645,"name":"string","nodeType":"ElementaryTypeName","src":"2528:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2504:42:4"},"returnParameters":{"id":648,"nodeType":"ParameterList","parameters":[],"src":"2569:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":683,"nodeType":"FunctionDefinition","src":"2664:153:4","nodes":[],"body":{"id":682,"nodeType":"Block","src":"2733:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":670,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":665,"src":"2747:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":671,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":667,"src":"2755:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2747:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":681,"nodeType":"IfStatement","src":"2743:68:4","trueBody":{"id":680,"nodeType":"Block","src":"2762:49:4","statements":[{"expression":{"arguments":[{"id":676,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":665,"src":"2788:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":677,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":667,"src":"2794:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":673,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"2776:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2779:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16149,"src":"2776:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2776:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":679,"nodeType":"ExpressionStatement","src":"2776:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2673:8:4","parameters":{"id":668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":665,"mutability":"mutable","name":"left","nameLocation":"2690:4:4","nodeType":"VariableDeclaration","scope":683,"src":"2682:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":664,"name":"uint256","nodeType":"ElementaryTypeName","src":"2682:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":667,"mutability":"mutable","name":"right","nameLocation":"2704:5:4","nodeType":"VariableDeclaration","scope":683,"src":"2696:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":666,"name":"uint256","nodeType":"ElementaryTypeName","src":"2696:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2681:29:4"},"returnParameters":{"id":669,"nodeType":"ParameterList","parameters":[],"src":"2733:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":706,"nodeType":"FunctionDefinition","src":"2823:177:4","nodes":[],"body":{"id":705,"nodeType":"Block","src":"2911:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":692,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":685,"src":"2925:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":693,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":687,"src":"2933:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2925:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":704,"nodeType":"IfStatement","src":"2921:73:4","trueBody":{"id":703,"nodeType":"Block","src":"2940:54:4","statements":[{"expression":{"arguments":[{"id":698,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":685,"src":"2966:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":699,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":687,"src":"2972:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":700,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":689,"src":"2979:3:4","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":695,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"2954:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2957:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16247,"src":"2954:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2954:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":702,"nodeType":"ExpressionStatement","src":"2954:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"2832:8:4","parameters":{"id":690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":685,"mutability":"mutable","name":"left","nameLocation":"2849:4:4","nodeType":"VariableDeclaration","scope":706,"src":"2841:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":684,"name":"uint256","nodeType":"ElementaryTypeName","src":"2841:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":687,"mutability":"mutable","name":"right","nameLocation":"2863:5:4","nodeType":"VariableDeclaration","scope":706,"src":"2855:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":686,"name":"uint256","nodeType":"ElementaryTypeName","src":"2855:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":689,"mutability":"mutable","name":"err","nameLocation":"2884:3:4","nodeType":"VariableDeclaration","scope":706,"src":"2870:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":688,"name":"string","nodeType":"ElementaryTypeName","src":"2870:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2840:48:4"},"returnParameters":{"id":691,"nodeType":"ParameterList","parameters":[],"src":"2911:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":724,"nodeType":"FunctionDefinition","src":"3006:152:4","nodes":[],"body":{"id":723,"nodeType":"Block","src":"3100:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":718,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":708,"src":"3129:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":719,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":710,"src":"3135:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":720,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":712,"src":"3142:8:4","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":715,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"3110:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3113:15:4","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":15987,"src":"3110:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3110:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":722,"nodeType":"ExpressionStatement","src":"3110:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"3015:15:4","parameters":{"id":713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":708,"mutability":"mutable","name":"left","nameLocation":"3039:4:4","nodeType":"VariableDeclaration","scope":724,"src":"3031:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":707,"name":"uint256","nodeType":"ElementaryTypeName","src":"3031:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":710,"mutability":"mutable","name":"right","nameLocation":"3053:5:4","nodeType":"VariableDeclaration","scope":724,"src":"3045:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":709,"name":"uint256","nodeType":"ElementaryTypeName","src":"3045:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":712,"mutability":"mutable","name":"decimals","nameLocation":"3068:8:4","nodeType":"VariableDeclaration","scope":724,"src":"3060:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":711,"name":"uint256","nodeType":"ElementaryTypeName","src":"3060:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3030:47:4"},"returnParameters":{"id":714,"nodeType":"ParameterList","parameters":[],"src":"3100:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":745,"nodeType":"FunctionDefinition","src":"3164:176:4","nodes":[],"body":{"id":744,"nodeType":"Block","src":"3277:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":738,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":726,"src":"3306:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":739,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":728,"src":"3312:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":740,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":730,"src":"3319:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":741,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":732,"src":"3329:3:4","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":735,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"3287:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3290:15:4","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":15999,"src":"3287:18:4","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":742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3287:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":743,"nodeType":"ExpressionStatement","src":"3287:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"3173:15:4","parameters":{"id":733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":726,"mutability":"mutable","name":"left","nameLocation":"3197:4:4","nodeType":"VariableDeclaration","scope":745,"src":"3189:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":725,"name":"uint256","nodeType":"ElementaryTypeName","src":"3189:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":728,"mutability":"mutable","name":"right","nameLocation":"3211:5:4","nodeType":"VariableDeclaration","scope":745,"src":"3203:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":727,"name":"uint256","nodeType":"ElementaryTypeName","src":"3203:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":730,"mutability":"mutable","name":"decimals","nameLocation":"3226:8:4","nodeType":"VariableDeclaration","scope":745,"src":"3218:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":729,"name":"uint256","nodeType":"ElementaryTypeName","src":"3218:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":732,"mutability":"mutable","name":"err","nameLocation":"3250:3:4","nodeType":"VariableDeclaration","scope":745,"src":"3236:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":731,"name":"string","nodeType":"ElementaryTypeName","src":"3236:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3188:66:4"},"returnParameters":{"id":734,"nodeType":"ParameterList","parameters":[],"src":"3277:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":765,"nodeType":"FunctionDefinition","src":"3346:151:4","nodes":[],"body":{"id":764,"nodeType":"Block","src":"3413:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":752,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":747,"src":"3427:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":753,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":749,"src":"3435:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"3427:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":763,"nodeType":"IfStatement","src":"3423:68:4","trueBody":{"id":762,"nodeType":"Block","src":"3442:49:4","statements":[{"expression":{"arguments":[{"id":758,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":747,"src":"3468:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":759,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":749,"src":"3474:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":755,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"3456:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3459:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16255,"src":"3456:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3456:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":761,"nodeType":"ExpressionStatement","src":"3456:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3355:8:4","parameters":{"id":750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":747,"mutability":"mutable","name":"left","nameLocation":"3371:4:4","nodeType":"VariableDeclaration","scope":765,"src":"3364:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":746,"name":"int256","nodeType":"ElementaryTypeName","src":"3364:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":749,"mutability":"mutable","name":"right","nameLocation":"3384:5:4","nodeType":"VariableDeclaration","scope":765,"src":"3377:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":748,"name":"int256","nodeType":"ElementaryTypeName","src":"3377:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3363:27:4"},"returnParameters":{"id":751,"nodeType":"ParameterList","parameters":[],"src":"3413:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":788,"nodeType":"FunctionDefinition","src":"3503:175:4","nodes":[],"body":{"id":787,"nodeType":"Block","src":"3589:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":774,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":767,"src":"3603:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":775,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":769,"src":"3611:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"3603:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":786,"nodeType":"IfStatement","src":"3599:73:4","trueBody":{"id":785,"nodeType":"Block","src":"3618:54:4","statements":[{"expression":{"arguments":[{"id":780,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":767,"src":"3644:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":781,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":769,"src":"3650:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":782,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":771,"src":"3657:3:4","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":777,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"3632:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3635:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16265,"src":"3632:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3632:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":784,"nodeType":"ExpressionStatement","src":"3632:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3512:8:4","parameters":{"id":772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":767,"mutability":"mutable","name":"left","nameLocation":"3528:4:4","nodeType":"VariableDeclaration","scope":788,"src":"3521:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":766,"name":"int256","nodeType":"ElementaryTypeName","src":"3521:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":769,"mutability":"mutable","name":"right","nameLocation":"3541:5:4","nodeType":"VariableDeclaration","scope":788,"src":"3534:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":768,"name":"int256","nodeType":"ElementaryTypeName","src":"3534:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":771,"mutability":"mutable","name":"err","nameLocation":"3562:3:4","nodeType":"VariableDeclaration","scope":788,"src":"3548:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":770,"name":"string","nodeType":"ElementaryTypeName","src":"3548:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3520:46:4"},"returnParameters":{"id":773,"nodeType":"ParameterList","parameters":[],"src":"3589:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":806,"nodeType":"FunctionDefinition","src":"3684:150:4","nodes":[],"body":{"id":805,"nodeType":"Block","src":"3776:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":800,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":790,"src":"3805:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":801,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":792,"src":"3811:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":802,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":794,"src":"3818:8:4","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":797,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"3786:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3789:15:4","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":16009,"src":"3786:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3786:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":804,"nodeType":"ExpressionStatement","src":"3786:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"3693:15:4","parameters":{"id":795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":790,"mutability":"mutable","name":"left","nameLocation":"3716:4:4","nodeType":"VariableDeclaration","scope":806,"src":"3709:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":789,"name":"int256","nodeType":"ElementaryTypeName","src":"3709:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":792,"mutability":"mutable","name":"right","nameLocation":"3729:5:4","nodeType":"VariableDeclaration","scope":806,"src":"3722:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":791,"name":"int256","nodeType":"ElementaryTypeName","src":"3722:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":794,"mutability":"mutable","name":"decimals","nameLocation":"3744:8:4","nodeType":"VariableDeclaration","scope":806,"src":"3736:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":793,"name":"uint256","nodeType":"ElementaryTypeName","src":"3736:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3708:45:4"},"returnParameters":{"id":796,"nodeType":"ParameterList","parameters":[],"src":"3776:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":827,"nodeType":"FunctionDefinition","src":"3840:174:4","nodes":[],"body":{"id":826,"nodeType":"Block","src":"3951:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":820,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":808,"src":"3980:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":821,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":810,"src":"3986:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":822,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":812,"src":"3993:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":823,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":814,"src":"4003:3:4","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":817,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"3961:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3964:15:4","memberName":"assertEqDecimal","nodeType":"MemberAccess","referencedDeclaration":16021,"src":"3961:18:4","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":824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3961:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":825,"nodeType":"ExpressionStatement","src":"3961:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"3849:15:4","parameters":{"id":815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":808,"mutability":"mutable","name":"left","nameLocation":"3872:4:4","nodeType":"VariableDeclaration","scope":827,"src":"3865:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":807,"name":"int256","nodeType":"ElementaryTypeName","src":"3865:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":810,"mutability":"mutable","name":"right","nameLocation":"3885:5:4","nodeType":"VariableDeclaration","scope":827,"src":"3878:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":809,"name":"int256","nodeType":"ElementaryTypeName","src":"3878:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":812,"mutability":"mutable","name":"decimals","nameLocation":"3900:8:4","nodeType":"VariableDeclaration","scope":827,"src":"3892:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":811,"name":"uint256","nodeType":"ElementaryTypeName","src":"3892:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":814,"mutability":"mutable","name":"err","nameLocation":"3924:3:4","nodeType":"VariableDeclaration","scope":827,"src":"3910:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":813,"name":"string","nodeType":"ElementaryTypeName","src":"3910:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3864:64:4"},"returnParameters":{"id":816,"nodeType":"ParameterList","parameters":[],"src":"3951:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":847,"nodeType":"FunctionDefinition","src":"4020:153:4","nodes":[],"body":{"id":846,"nodeType":"Block","src":"4089:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":834,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"4103:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":835,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":831,"src":"4111:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4103:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":845,"nodeType":"IfStatement","src":"4099:68:4","trueBody":{"id":844,"nodeType":"Block","src":"4118:49:4","statements":[{"expression":{"arguments":[{"id":840,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"4144:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":841,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":831,"src":"4150:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":837,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"4132:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4135:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16273,"src":"4132:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure external"}},"id":842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4132:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":843,"nodeType":"ExpressionStatement","src":"4132:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4029:8:4","parameters":{"id":832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":829,"mutability":"mutable","name":"left","nameLocation":"4046:4:4","nodeType":"VariableDeclaration","scope":847,"src":"4038:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":828,"name":"address","nodeType":"ElementaryTypeName","src":"4038:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":831,"mutability":"mutable","name":"right","nameLocation":"4060:5:4","nodeType":"VariableDeclaration","scope":847,"src":"4052:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":830,"name":"address","nodeType":"ElementaryTypeName","src":"4052:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4037:29:4"},"returnParameters":{"id":833,"nodeType":"ParameterList","parameters":[],"src":"4089:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":870,"nodeType":"FunctionDefinition","src":"4179:177:4","nodes":[],"body":{"id":869,"nodeType":"Block","src":"4267:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":856,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":849,"src":"4281:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":857,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":851,"src":"4289:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4281:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":868,"nodeType":"IfStatement","src":"4277:73:4","trueBody":{"id":867,"nodeType":"Block","src":"4296:54:4","statements":[{"expression":{"arguments":[{"id":862,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":849,"src":"4322:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":863,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":851,"src":"4328:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":864,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":853,"src":"4335:3:4","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":859,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"4310:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4313:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16283,"src":"4310:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) pure external"}},"id":865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4310:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":866,"nodeType":"ExpressionStatement","src":"4310:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4188:8:4","parameters":{"id":854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":849,"mutability":"mutable","name":"left","nameLocation":"4205:4:4","nodeType":"VariableDeclaration","scope":870,"src":"4197:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":848,"name":"address","nodeType":"ElementaryTypeName","src":"4197:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":851,"mutability":"mutable","name":"right","nameLocation":"4219:5:4","nodeType":"VariableDeclaration","scope":870,"src":"4211:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":850,"name":"address","nodeType":"ElementaryTypeName","src":"4211:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":853,"mutability":"mutable","name":"err","nameLocation":"4240:3:4","nodeType":"VariableDeclaration","scope":870,"src":"4226:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":852,"name":"string","nodeType":"ElementaryTypeName","src":"4226:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4196:48:4"},"returnParameters":{"id":855,"nodeType":"ParameterList","parameters":[],"src":"4267:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":890,"nodeType":"FunctionDefinition","src":"4362:153:4","nodes":[],"body":{"id":889,"nodeType":"Block","src":"4431:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":877,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":872,"src":"4445:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":878,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":874,"src":"4453:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4445:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":888,"nodeType":"IfStatement","src":"4441:68:4","trueBody":{"id":887,"nodeType":"Block","src":"4460:49:4","statements":[{"expression":{"arguments":[{"id":883,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":872,"src":"4486:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":884,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":874,"src":"4492:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":880,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"4474:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4477:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16291,"src":"4474:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure external"}},"id":885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4474:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":886,"nodeType":"ExpressionStatement","src":"4474:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4371:8:4","parameters":{"id":875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":872,"mutability":"mutable","name":"left","nameLocation":"4388:4:4","nodeType":"VariableDeclaration","scope":890,"src":"4380:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":871,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4380:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":874,"mutability":"mutable","name":"right","nameLocation":"4402:5:4","nodeType":"VariableDeclaration","scope":890,"src":"4394:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":873,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4394:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4379:29:4"},"returnParameters":{"id":876,"nodeType":"ParameterList","parameters":[],"src":"4431:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":913,"nodeType":"FunctionDefinition","src":"4521:177:4","nodes":[],"body":{"id":912,"nodeType":"Block","src":"4609:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":899,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":892,"src":"4623:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":900,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":894,"src":"4631:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4623:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":911,"nodeType":"IfStatement","src":"4619:73:4","trueBody":{"id":910,"nodeType":"Block","src":"4638:54:4","statements":[{"expression":{"arguments":[{"id":905,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":892,"src":"4664:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":906,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":894,"src":"4670:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":907,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":896,"src":"4677:3:4","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":902,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"4652:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4655:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16301,"src":"4652:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure external"}},"id":908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4652:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":909,"nodeType":"ExpressionStatement","src":"4652:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4530:8:4","parameters":{"id":897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":892,"mutability":"mutable","name":"left","nameLocation":"4547:4:4","nodeType":"VariableDeclaration","scope":913,"src":"4539:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":891,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4539:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":894,"mutability":"mutable","name":"right","nameLocation":"4561:5:4","nodeType":"VariableDeclaration","scope":913,"src":"4553:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":893,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4553:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":896,"mutability":"mutable","name":"err","nameLocation":"4582:3:4","nodeType":"VariableDeclaration","scope":913,"src":"4568:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":895,"name":"string","nodeType":"ElementaryTypeName","src":"4568:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4538:48:4"},"returnParameters":{"id":898,"nodeType":"ParameterList","parameters":[],"src":"4609:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":933,"nodeType":"FunctionDefinition","src":"4704:155:4","nodes":[],"body":{"id":932,"nodeType":"Block","src":"4775:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":920,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":915,"src":"4789:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":921,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":917,"src":"4797:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4789:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":931,"nodeType":"IfStatement","src":"4785:68:4","trueBody":{"id":930,"nodeType":"Block","src":"4804:49:4","statements":[{"expression":{"arguments":[{"id":926,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":915,"src":"4830:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":927,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":917,"src":"4836:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":923,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"4818:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4821:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16291,"src":"4818:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure external"}},"id":928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4818:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":929,"nodeType":"ExpressionStatement","src":"4818:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"4713:10:4","parameters":{"id":918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":915,"mutability":"mutable","name":"left","nameLocation":"4732:4:4","nodeType":"VariableDeclaration","scope":933,"src":"4724:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":914,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4724:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":917,"mutability":"mutable","name":"right","nameLocation":"4746:5:4","nodeType":"VariableDeclaration","scope":933,"src":"4738:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":916,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4738:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4723:29:4"},"returnParameters":{"id":919,"nodeType":"ParameterList","parameters":[],"src":"4775:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":956,"nodeType":"FunctionDefinition","src":"4865:179:4","nodes":[],"body":{"id":955,"nodeType":"Block","src":"4955:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":942,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"4969:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":943,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":937,"src":"4977:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4969:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":954,"nodeType":"IfStatement","src":"4965:73:4","trueBody":{"id":953,"nodeType":"Block","src":"4984:54:4","statements":[{"expression":{"arguments":[{"id":948,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":935,"src":"5010:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":949,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":937,"src":"5016:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":950,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":939,"src":"5023:3:4","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":945,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"4998:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5001:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16301,"src":"4998:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure external"}},"id":951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4998:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":952,"nodeType":"ExpressionStatement","src":"4998:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"4874:10:4","parameters":{"id":940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":935,"mutability":"mutable","name":"left","nameLocation":"4893:4:4","nodeType":"VariableDeclaration","scope":956,"src":"4885:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":934,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4885:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":937,"mutability":"mutable","name":"right","nameLocation":"4907:5:4","nodeType":"VariableDeclaration","scope":956,"src":"4899:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":936,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4899:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":939,"mutability":"mutable","name":"err","nameLocation":"4928:3:4","nodeType":"VariableDeclaration","scope":956,"src":"4914:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":938,"name":"string","nodeType":"ElementaryTypeName","src":"4914:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4884:48:4"},"returnParameters":{"id":941,"nodeType":"ParameterList","parameters":[],"src":"4955:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":971,"nodeType":"FunctionDefinition","src":"5050:122:4","nodes":[],"body":{"id":970,"nodeType":"Block","src":"5131:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":966,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":958,"src":"5153:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":967,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":960,"src":"5159:5:4","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":963,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"5141:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5144:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16047,"src":"5141:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure external"}},"id":968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5141:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":969,"nodeType":"ExpressionStatement","src":"5141:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5059:8:4","parameters":{"id":961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":958,"mutability":"mutable","name":"left","nameLocation":"5082:4:4","nodeType":"VariableDeclaration","scope":971,"src":"5068:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":957,"name":"string","nodeType":"ElementaryTypeName","src":"5068:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":960,"mutability":"mutable","name":"right","nameLocation":"5102:5:4","nodeType":"VariableDeclaration","scope":971,"src":"5088:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":959,"name":"string","nodeType":"ElementaryTypeName","src":"5088:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5067:41:4"},"returnParameters":{"id":962,"nodeType":"ParameterList","parameters":[],"src":"5131:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":989,"nodeType":"FunctionDefinition","src":"5178:146:4","nodes":[],"body":{"id":988,"nodeType":"Block","src":"5278:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":983,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"5300:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":984,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":975,"src":"5306:5:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":985,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":977,"src":"5313:3:4","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":980,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"5288:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5291:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16057,"src":"5288:11:4","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":986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5288:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":987,"nodeType":"ExpressionStatement","src":"5288:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5187:8:4","parameters":{"id":978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":973,"mutability":"mutable","name":"left","nameLocation":"5210:4:4","nodeType":"VariableDeclaration","scope":989,"src":"5196:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":972,"name":"string","nodeType":"ElementaryTypeName","src":"5196:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":975,"mutability":"mutable","name":"right","nameLocation":"5230:5:4","nodeType":"VariableDeclaration","scope":989,"src":"5216:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":974,"name":"string","nodeType":"ElementaryTypeName","src":"5216:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":977,"mutability":"mutable","name":"err","nameLocation":"5251:3:4","nodeType":"VariableDeclaration","scope":989,"src":"5237:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":976,"name":"string","nodeType":"ElementaryTypeName","src":"5237:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5195:60:4"},"returnParameters":{"id":979,"nodeType":"ParameterList","parameters":[],"src":"5278:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1004,"nodeType":"FunctionDefinition","src":"5330:120:4","nodes":[],"body":{"id":1003,"nodeType":"Block","src":"5409:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":999,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":991,"src":"5431:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1000,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":993,"src":"5437:5:4","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":996,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"5419:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5422:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16065,"src":"5419:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure external"}},"id":1001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5419:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1002,"nodeType":"ExpressionStatement","src":"5419:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5339:8:4","parameters":{"id":994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":991,"mutability":"mutable","name":"left","nameLocation":"5361:4:4","nodeType":"VariableDeclaration","scope":1004,"src":"5348:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":990,"name":"bytes","nodeType":"ElementaryTypeName","src":"5348:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":993,"mutability":"mutable","name":"right","nameLocation":"5380:5:4","nodeType":"VariableDeclaration","scope":1004,"src":"5367:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":992,"name":"bytes","nodeType":"ElementaryTypeName","src":"5367:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5347:39:4"},"returnParameters":{"id":995,"nodeType":"ParameterList","parameters":[],"src":"5409:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1022,"nodeType":"FunctionDefinition","src":"5456:144:4","nodes":[],"body":{"id":1021,"nodeType":"Block","src":"5554:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1016,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1006,"src":"5576:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1017,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1008,"src":"5582:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1018,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1010,"src":"5589:3:4","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":1013,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"5564:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5567:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16075,"src":"5564:11:4","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":1019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5564:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1020,"nodeType":"ExpressionStatement","src":"5564:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5465:8:4","parameters":{"id":1011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1006,"mutability":"mutable","name":"left","nameLocation":"5487:4:4","nodeType":"VariableDeclaration","scope":1022,"src":"5474:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1005,"name":"bytes","nodeType":"ElementaryTypeName","src":"5474:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1008,"mutability":"mutable","name":"right","nameLocation":"5506:5:4","nodeType":"VariableDeclaration","scope":1022,"src":"5493:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1007,"name":"bytes","nodeType":"ElementaryTypeName","src":"5493:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1010,"mutability":"mutable","name":"err","nameLocation":"5527:3:4","nodeType":"VariableDeclaration","scope":1022,"src":"5513:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1009,"name":"string","nodeType":"ElementaryTypeName","src":"5513:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5473:58:4"},"returnParameters":{"id":1012,"nodeType":"ParameterList","parameters":[],"src":"5554:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1039,"nodeType":"FunctionDefinition","src":"5606:122:4","nodes":[],"body":{"id":1038,"nodeType":"Block","src":"5687:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1034,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1025,"src":"5709:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1035,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1028,"src":"5715:5:4","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":1031,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"5697:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5700:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16085,"src":"5697:11:4","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":1036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5697:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1037,"nodeType":"ExpressionStatement","src":"5697:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5615:8:4","parameters":{"id":1029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1025,"mutability":"mutable","name":"left","nameLocation":"5638:4:4","nodeType":"VariableDeclaration","scope":1039,"src":"5624:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1023,"name":"bool","nodeType":"ElementaryTypeName","src":"5624:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1024,"nodeType":"ArrayTypeName","src":"5624:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1028,"mutability":"mutable","name":"right","nameLocation":"5658:5:4","nodeType":"VariableDeclaration","scope":1039,"src":"5644:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1026,"name":"bool","nodeType":"ElementaryTypeName","src":"5644:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1027,"nodeType":"ArrayTypeName","src":"5644:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"5623:41:4"},"returnParameters":{"id":1030,"nodeType":"ParameterList","parameters":[],"src":"5687:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1059,"nodeType":"FunctionDefinition","src":"5734:146:4","nodes":[],"body":{"id":1058,"nodeType":"Block","src":"5834:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1053,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1042,"src":"5856:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1054,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1045,"src":"5862:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1055,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1047,"src":"5869:3:4","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":1050,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"5844:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5847:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16097,"src":"5844:11:4","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":1056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5844:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1057,"nodeType":"ExpressionStatement","src":"5844:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5743:8:4","parameters":{"id":1048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1042,"mutability":"mutable","name":"left","nameLocation":"5766:4:4","nodeType":"VariableDeclaration","scope":1059,"src":"5752:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1040,"name":"bool","nodeType":"ElementaryTypeName","src":"5752:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1041,"nodeType":"ArrayTypeName","src":"5752:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1045,"mutability":"mutable","name":"right","nameLocation":"5786:5:4","nodeType":"VariableDeclaration","scope":1059,"src":"5772:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1043,"name":"bool","nodeType":"ElementaryTypeName","src":"5772:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1044,"nodeType":"ArrayTypeName","src":"5772:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1047,"mutability":"mutable","name":"err","nameLocation":"5807:3:4","nodeType":"VariableDeclaration","scope":1059,"src":"5793:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1046,"name":"string","nodeType":"ElementaryTypeName","src":"5793:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5751:60:4"},"returnParameters":{"id":1049,"nodeType":"ParameterList","parameters":[],"src":"5834:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1076,"nodeType":"FunctionDefinition","src":"5886:128:4","nodes":[],"body":{"id":1075,"nodeType":"Block","src":"5973:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1071,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1062,"src":"5995:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1072,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1065,"src":"6001:5:4","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":1068,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"5983:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5986:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16107,"src":"5983:11:4","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":1073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5983:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1074,"nodeType":"ExpressionStatement","src":"5983:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5895:8:4","parameters":{"id":1066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1062,"mutability":"mutable","name":"left","nameLocation":"5921:4:4","nodeType":"VariableDeclaration","scope":1076,"src":"5904:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1060,"name":"uint256","nodeType":"ElementaryTypeName","src":"5904:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1061,"nodeType":"ArrayTypeName","src":"5904:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1065,"mutability":"mutable","name":"right","nameLocation":"5944:5:4","nodeType":"VariableDeclaration","scope":1076,"src":"5927:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1063,"name":"uint256","nodeType":"ElementaryTypeName","src":"5927:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1064,"nodeType":"ArrayTypeName","src":"5927:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"5903:47:4"},"returnParameters":{"id":1067,"nodeType":"ParameterList","parameters":[],"src":"5973:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1096,"nodeType":"FunctionDefinition","src":"6020:152:4","nodes":[],"body":{"id":1095,"nodeType":"Block","src":"6126:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1090,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1079,"src":"6148:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1091,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1082,"src":"6154:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1092,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1084,"src":"6161:3:4","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":1087,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"6136:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6139:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16119,"src":"6136:11:4","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":1093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6136:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1094,"nodeType":"ExpressionStatement","src":"6136:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6029:8:4","parameters":{"id":1085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1079,"mutability":"mutable","name":"left","nameLocation":"6055:4:4","nodeType":"VariableDeclaration","scope":1096,"src":"6038:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1077,"name":"uint256","nodeType":"ElementaryTypeName","src":"6038:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1078,"nodeType":"ArrayTypeName","src":"6038:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1082,"mutability":"mutable","name":"right","nameLocation":"6078:5:4","nodeType":"VariableDeclaration","scope":1096,"src":"6061:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1080,"name":"uint256","nodeType":"ElementaryTypeName","src":"6061:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1081,"nodeType":"ArrayTypeName","src":"6061:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1084,"mutability":"mutable","name":"err","nameLocation":"6099:3:4","nodeType":"VariableDeclaration","scope":1096,"src":"6085:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1083,"name":"string","nodeType":"ElementaryTypeName","src":"6085:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6037:66:4"},"returnParameters":{"id":1086,"nodeType":"ParameterList","parameters":[],"src":"6126:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1113,"nodeType":"FunctionDefinition","src":"6178:126:4","nodes":[],"body":{"id":1112,"nodeType":"Block","src":"6263:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1108,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1099,"src":"6285:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1109,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1102,"src":"6291:5:4","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":1105,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"6273:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6276:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16129,"src":"6273:11:4","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":1110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6273:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1111,"nodeType":"ExpressionStatement","src":"6273:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6187:8:4","parameters":{"id":1103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1099,"mutability":"mutable","name":"left","nameLocation":"6212:4:4","nodeType":"VariableDeclaration","scope":1113,"src":"6196:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1097,"name":"int256","nodeType":"ElementaryTypeName","src":"6196:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1098,"nodeType":"ArrayTypeName","src":"6196:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1102,"mutability":"mutable","name":"right","nameLocation":"6234:5:4","nodeType":"VariableDeclaration","scope":1113,"src":"6218:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1100,"name":"int256","nodeType":"ElementaryTypeName","src":"6218:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1101,"nodeType":"ArrayTypeName","src":"6218:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"6195:45:4"},"returnParameters":{"id":1104,"nodeType":"ParameterList","parameters":[],"src":"6263:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1133,"nodeType":"FunctionDefinition","src":"6310:150:4","nodes":[],"body":{"id":1132,"nodeType":"Block","src":"6414:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1127,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1116,"src":"6436:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1128,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1119,"src":"6442:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1129,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1121,"src":"6449:3:4","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":1124,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"6424:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6427:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16141,"src":"6424:11:4","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":1130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6424:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1131,"nodeType":"ExpressionStatement","src":"6424:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6319:8:4","parameters":{"id":1122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1116,"mutability":"mutable","name":"left","nameLocation":"6344:4:4","nodeType":"VariableDeclaration","scope":1133,"src":"6328:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1114,"name":"int256","nodeType":"ElementaryTypeName","src":"6328:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1115,"nodeType":"ArrayTypeName","src":"6328:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1119,"mutability":"mutable","name":"right","nameLocation":"6366:5:4","nodeType":"VariableDeclaration","scope":1133,"src":"6350:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1117,"name":"int256","nodeType":"ElementaryTypeName","src":"6350:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1118,"nodeType":"ArrayTypeName","src":"6350:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1121,"mutability":"mutable","name":"err","nameLocation":"6387:3:4","nodeType":"VariableDeclaration","scope":1133,"src":"6373:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1120,"name":"string","nodeType":"ElementaryTypeName","src":"6373:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6327:64:4"},"returnParameters":{"id":1123,"nodeType":"ParameterList","parameters":[],"src":"6414:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1150,"nodeType":"FunctionDefinition","src":"6466:128:4","nodes":[],"body":{"id":1149,"nodeType":"Block","src":"6553:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1145,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1136,"src":"6575:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1146,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1139,"src":"6581:5:4","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":1142,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"6563:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6566:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16159,"src":"6563:11:4","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":1147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6563:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1148,"nodeType":"ExpressionStatement","src":"6563:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6475:8:4","parameters":{"id":1140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1136,"mutability":"mutable","name":"left","nameLocation":"6501:4:4","nodeType":"VariableDeclaration","scope":1150,"src":"6484:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1134,"name":"address","nodeType":"ElementaryTypeName","src":"6484:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1135,"nodeType":"ArrayTypeName","src":"6484:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1139,"mutability":"mutable","name":"right","nameLocation":"6524:5:4","nodeType":"VariableDeclaration","scope":1150,"src":"6507:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1137,"name":"address","nodeType":"ElementaryTypeName","src":"6507:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1138,"nodeType":"ArrayTypeName","src":"6507:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"6483:47:4"},"returnParameters":{"id":1141,"nodeType":"ParameterList","parameters":[],"src":"6553:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1170,"nodeType":"FunctionDefinition","src":"6600:152:4","nodes":[],"body":{"id":1169,"nodeType":"Block","src":"6706:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1164,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1153,"src":"6728:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1165,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1156,"src":"6734:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1166,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1158,"src":"6741:3:4","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":1161,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"6716:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6719:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16171,"src":"6716:11:4","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":1167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6716:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1168,"nodeType":"ExpressionStatement","src":"6716:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6609:8:4","parameters":{"id":1159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1153,"mutability":"mutable","name":"left","nameLocation":"6635:4:4","nodeType":"VariableDeclaration","scope":1170,"src":"6618:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1151,"name":"address","nodeType":"ElementaryTypeName","src":"6618:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1152,"nodeType":"ArrayTypeName","src":"6618:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1156,"mutability":"mutable","name":"right","nameLocation":"6658:5:4","nodeType":"VariableDeclaration","scope":1170,"src":"6641:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1154,"name":"address","nodeType":"ElementaryTypeName","src":"6641:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1155,"nodeType":"ArrayTypeName","src":"6641:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1158,"mutability":"mutable","name":"err","nameLocation":"6679:3:4","nodeType":"VariableDeclaration","scope":1170,"src":"6665:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1157,"name":"string","nodeType":"ElementaryTypeName","src":"6665:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6617:66:4"},"returnParameters":{"id":1160,"nodeType":"ParameterList","parameters":[],"src":"6706:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1187,"nodeType":"FunctionDefinition","src":"6758:128:4","nodes":[],"body":{"id":1186,"nodeType":"Block","src":"6845:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1182,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1173,"src":"6867:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1183,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1176,"src":"6873:5:4","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":1179,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"6855:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6858:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16181,"src":"6855:11:4","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":1184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6855:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1185,"nodeType":"ExpressionStatement","src":"6855:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6767:8:4","parameters":{"id":1177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1173,"mutability":"mutable","name":"left","nameLocation":"6793:4:4","nodeType":"VariableDeclaration","scope":1187,"src":"6776:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1171,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6776:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1172,"nodeType":"ArrayTypeName","src":"6776:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1176,"mutability":"mutable","name":"right","nameLocation":"6816:5:4","nodeType":"VariableDeclaration","scope":1187,"src":"6799:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1174,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6799:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1175,"nodeType":"ArrayTypeName","src":"6799:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"6775:47:4"},"returnParameters":{"id":1178,"nodeType":"ParameterList","parameters":[],"src":"6845:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1207,"nodeType":"FunctionDefinition","src":"6892:152:4","nodes":[],"body":{"id":1206,"nodeType":"Block","src":"6998:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1201,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"7020:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1202,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1193,"src":"7026:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1203,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1195,"src":"7033:3:4","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":1198,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"7008:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7011:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16193,"src":"7008:11:4","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":1204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7008:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1205,"nodeType":"ExpressionStatement","src":"7008:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"6901:8:4","parameters":{"id":1196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1190,"mutability":"mutable","name":"left","nameLocation":"6927:4:4","nodeType":"VariableDeclaration","scope":1207,"src":"6910:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6910:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1189,"nodeType":"ArrayTypeName","src":"6910:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1193,"mutability":"mutable","name":"right","nameLocation":"6950:5:4","nodeType":"VariableDeclaration","scope":1207,"src":"6933:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1191,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6933:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1192,"nodeType":"ArrayTypeName","src":"6933:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1195,"mutability":"mutable","name":"err","nameLocation":"6971:3:4","nodeType":"VariableDeclaration","scope":1207,"src":"6957:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1194,"name":"string","nodeType":"ElementaryTypeName","src":"6957:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6909:66:4"},"returnParameters":{"id":1197,"nodeType":"ParameterList","parameters":[],"src":"6998:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1224,"nodeType":"FunctionDefinition","src":"7050:126:4","nodes":[],"body":{"id":1223,"nodeType":"Block","src":"7135:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1219,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1210,"src":"7157:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1220,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1213,"src":"7163:5:4","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":1216,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"7145:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7148:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16203,"src":"7145:11:4","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":1221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7145:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1222,"nodeType":"ExpressionStatement","src":"7145:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"7059:8:4","parameters":{"id":1214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1210,"mutability":"mutable","name":"left","nameLocation":"7084:4:4","nodeType":"VariableDeclaration","scope":1224,"src":"7068:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1208,"name":"string","nodeType":"ElementaryTypeName","src":"7068:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1209,"nodeType":"ArrayTypeName","src":"7068:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1213,"mutability":"mutable","name":"right","nameLocation":"7106:5:4","nodeType":"VariableDeclaration","scope":1224,"src":"7090:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1211,"name":"string","nodeType":"ElementaryTypeName","src":"7090:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1212,"nodeType":"ArrayTypeName","src":"7090:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"7067:45:4"},"returnParameters":{"id":1215,"nodeType":"ParameterList","parameters":[],"src":"7135:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1244,"nodeType":"FunctionDefinition","src":"7182:150:4","nodes":[],"body":{"id":1243,"nodeType":"Block","src":"7286:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1238,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1227,"src":"7308:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1239,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"7314:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1240,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1232,"src":"7321:3:4","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":1235,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"7296:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7299:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16215,"src":"7296:11:4","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":1241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7296:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1242,"nodeType":"ExpressionStatement","src":"7296:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"7191:8:4","parameters":{"id":1233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1227,"mutability":"mutable","name":"left","nameLocation":"7216:4:4","nodeType":"VariableDeclaration","scope":1244,"src":"7200:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1225,"name":"string","nodeType":"ElementaryTypeName","src":"7200:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1226,"nodeType":"ArrayTypeName","src":"7200:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1230,"mutability":"mutable","name":"right","nameLocation":"7238:5:4","nodeType":"VariableDeclaration","scope":1244,"src":"7222:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1228,"name":"string","nodeType":"ElementaryTypeName","src":"7222:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1229,"nodeType":"ArrayTypeName","src":"7222:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1232,"mutability":"mutable","name":"err","nameLocation":"7259:3:4","nodeType":"VariableDeclaration","scope":1244,"src":"7245:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1231,"name":"string","nodeType":"ElementaryTypeName","src":"7245:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7199:64:4"},"returnParameters":{"id":1234,"nodeType":"ParameterList","parameters":[],"src":"7286:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1261,"nodeType":"FunctionDefinition","src":"7338:124:4","nodes":[],"body":{"id":1260,"nodeType":"Block","src":"7421:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1256,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1247,"src":"7443:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1257,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1250,"src":"7449:5:4","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":1253,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"7431:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7434:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16225,"src":"7431:11:4","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":1258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7431:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1259,"nodeType":"ExpressionStatement","src":"7431:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"7347:8:4","parameters":{"id":1251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1247,"mutability":"mutable","name":"left","nameLocation":"7371:4:4","nodeType":"VariableDeclaration","scope":1261,"src":"7356:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1245,"name":"bytes","nodeType":"ElementaryTypeName","src":"7356:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1246,"nodeType":"ArrayTypeName","src":"7356:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1250,"mutability":"mutable","name":"right","nameLocation":"7392:5:4","nodeType":"VariableDeclaration","scope":1261,"src":"7377:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1248,"name":"bytes","nodeType":"ElementaryTypeName","src":"7377:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1249,"nodeType":"ArrayTypeName","src":"7377:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"7355:43:4"},"returnParameters":{"id":1252,"nodeType":"ParameterList","parameters":[],"src":"7421:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1281,"nodeType":"FunctionDefinition","src":"7468:148:4","nodes":[],"body":{"id":1280,"nodeType":"Block","src":"7570:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1275,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1264,"src":"7592:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1276,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"7598:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1277,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1269,"src":"7605:3:4","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":1272,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"7580:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7583:8:4","memberName":"assertEq","nodeType":"MemberAccess","referencedDeclaration":16237,"src":"7580:11:4","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":1278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7580:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1279,"nodeType":"ExpressionStatement","src":"7580:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"7477:8:4","parameters":{"id":1270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1264,"mutability":"mutable","name":"left","nameLocation":"7501:4:4","nodeType":"VariableDeclaration","scope":1281,"src":"7486:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1262,"name":"bytes","nodeType":"ElementaryTypeName","src":"7486:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1263,"nodeType":"ArrayTypeName","src":"7486:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1267,"mutability":"mutable","name":"right","nameLocation":"7522:5:4","nodeType":"VariableDeclaration","scope":1281,"src":"7507:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1265,"name":"bytes","nodeType":"ElementaryTypeName","src":"7507:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1266,"nodeType":"ArrayTypeName","src":"7507:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1269,"mutability":"mutable","name":"err","nameLocation":"7543:3:4","nodeType":"VariableDeclaration","scope":1281,"src":"7529:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1268,"name":"string","nodeType":"ElementaryTypeName","src":"7529:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7485:62:4"},"returnParameters":{"id":1271,"nodeType":"ParameterList","parameters":[],"src":"7570:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1294,"nodeType":"FunctionDefinition","src":"7643:111:4","nodes":[],"body":{"id":1293,"nodeType":"Block","src":"7716:38:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1289,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1283,"src":"7735:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1290,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1285,"src":"7741:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1288,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":683,"src":"7726:8:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":1291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7726:21:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1292,"nodeType":"ExpressionStatement","src":"7726:21:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqUint","nameLocation":"7652:12:4","parameters":{"id":1286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1283,"mutability":"mutable","name":"left","nameLocation":"7673:4:4","nodeType":"VariableDeclaration","scope":1294,"src":"7665:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1282,"name":"uint256","nodeType":"ElementaryTypeName","src":"7665:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1285,"mutability":"mutable","name":"right","nameLocation":"7687:5:4","nodeType":"VariableDeclaration","scope":1294,"src":"7679:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1284,"name":"uint256","nodeType":"ElementaryTypeName","src":"7679:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7664:29:4"},"returnParameters":{"id":1287,"nodeType":"ParameterList","parameters":[],"src":"7716:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1314,"nodeType":"FunctionDefinition","src":"7760:153:4","nodes":[],"body":{"id":1313,"nodeType":"Block","src":"7826:87:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1301,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1296,"src":"7840:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1302,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1298,"src":"7848:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7840:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1312,"nodeType":"IfStatement","src":"7836:71:4","trueBody":{"id":1311,"nodeType":"Block","src":"7855:52:4","statements":[{"expression":{"arguments":[{"id":1307,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1296,"src":"7884:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1308,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1298,"src":"7890:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":1304,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"7869:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7872:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16687,"src":"7869:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure external"}},"id":1309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7869:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1310,"nodeType":"ExpressionStatement","src":"7869:27:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7769:11:4","parameters":{"id":1299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1296,"mutability":"mutable","name":"left","nameLocation":"7786:4:4","nodeType":"VariableDeclaration","scope":1314,"src":"7781:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1295,"name":"bool","nodeType":"ElementaryTypeName","src":"7781:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1298,"mutability":"mutable","name":"right","nameLocation":"7797:5:4","nodeType":"VariableDeclaration","scope":1314,"src":"7792:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1297,"name":"bool","nodeType":"ElementaryTypeName","src":"7792:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7780:23:4"},"returnParameters":{"id":1300,"nodeType":"ParameterList","parameters":[],"src":"7826:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1337,"nodeType":"FunctionDefinition","src":"7919:177:4","nodes":[],"body":{"id":1336,"nodeType":"Block","src":"8004:92:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1323,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1316,"src":"8018:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1324,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1318,"src":"8026:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8018:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1335,"nodeType":"IfStatement","src":"8014:76:4","trueBody":{"id":1334,"nodeType":"Block","src":"8033:57:4","statements":[{"expression":{"arguments":[{"id":1329,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1316,"src":"8062:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1330,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1318,"src":"8068:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1331,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1320,"src":"8075:3:4","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":1326,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"8047:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8050:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16697,"src":"8047:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,bool,string memory) pure external"}},"id":1332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8047:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1333,"nodeType":"ExpressionStatement","src":"8047:32:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7928:11:4","parameters":{"id":1321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1316,"mutability":"mutable","name":"left","nameLocation":"7945:4:4","nodeType":"VariableDeclaration","scope":1337,"src":"7940:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1315,"name":"bool","nodeType":"ElementaryTypeName","src":"7940:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1318,"mutability":"mutable","name":"right","nameLocation":"7956:5:4","nodeType":"VariableDeclaration","scope":1337,"src":"7951:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1317,"name":"bool","nodeType":"ElementaryTypeName","src":"7951:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1320,"mutability":"mutable","name":"err","nameLocation":"7977:3:4","nodeType":"VariableDeclaration","scope":1337,"src":"7963:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1319,"name":"string","nodeType":"ElementaryTypeName","src":"7963:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7939:42:4"},"returnParameters":{"id":1322,"nodeType":"ParameterList","parameters":[],"src":"8004:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1357,"nodeType":"FunctionDefinition","src":"8102:159:4","nodes":[],"body":{"id":1356,"nodeType":"Block","src":"8174:87:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1344,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1339,"src":"8188:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1345,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1341,"src":"8196:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8188:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1355,"nodeType":"IfStatement","src":"8184:71:4","trueBody":{"id":1354,"nodeType":"Block","src":"8203:52:4","statements":[{"expression":{"arguments":[{"id":1350,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1339,"src":"8232:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1351,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1341,"src":"8238:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1347,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"8217:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8220:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16807,"src":"8217:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":1352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8217:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1353,"nodeType":"ExpressionStatement","src":"8217:27:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8111:11:4","parameters":{"id":1342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1339,"mutability":"mutable","name":"left","nameLocation":"8131:4:4","nodeType":"VariableDeclaration","scope":1357,"src":"8123:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1338,"name":"uint256","nodeType":"ElementaryTypeName","src":"8123:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1341,"mutability":"mutable","name":"right","nameLocation":"8145:5:4","nodeType":"VariableDeclaration","scope":1357,"src":"8137:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1340,"name":"uint256","nodeType":"ElementaryTypeName","src":"8137:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8122:29:4"},"returnParameters":{"id":1343,"nodeType":"ParameterList","parameters":[],"src":"8174:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1380,"nodeType":"FunctionDefinition","src":"8267:183:4","nodes":[],"body":{"id":1379,"nodeType":"Block","src":"8358:92:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1366,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1359,"src":"8372:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1367,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1361,"src":"8380:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8372:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1378,"nodeType":"IfStatement","src":"8368:76:4","trueBody":{"id":1377,"nodeType":"Block","src":"8387:57:4","statements":[{"expression":{"arguments":[{"id":1372,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1359,"src":"8416:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1373,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1361,"src":"8422:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1374,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1363,"src":"8429:3:4","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":1369,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"8401:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8404:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16905,"src":"8401:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":1375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8401:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1376,"nodeType":"ExpressionStatement","src":"8401:32:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8276:11:4","parameters":{"id":1364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1359,"mutability":"mutable","name":"left","nameLocation":"8296:4:4","nodeType":"VariableDeclaration","scope":1380,"src":"8288:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1358,"name":"uint256","nodeType":"ElementaryTypeName","src":"8288:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1361,"mutability":"mutable","name":"right","nameLocation":"8310:5:4","nodeType":"VariableDeclaration","scope":1380,"src":"8302:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1360,"name":"uint256","nodeType":"ElementaryTypeName","src":"8302:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1363,"mutability":"mutable","name":"err","nameLocation":"8331:3:4","nodeType":"VariableDeclaration","scope":1380,"src":"8317:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1362,"name":"string","nodeType":"ElementaryTypeName","src":"8317:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8287:48:4"},"returnParameters":{"id":1365,"nodeType":"ParameterList","parameters":[],"src":"8358:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1398,"nodeType":"FunctionDefinition","src":"8456:158:4","nodes":[],"body":{"id":1397,"nodeType":"Block","src":"8553:61:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1392,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1382,"src":"8585:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1393,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1384,"src":"8591:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1394,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1386,"src":"8598:8:4","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":1389,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"8563:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8566:18:4","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":16645,"src":"8563:21:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":1395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8563:44:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1396,"nodeType":"ExpressionStatement","src":"8563:44:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"8465:18:4","parameters":{"id":1387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1382,"mutability":"mutable","name":"left","nameLocation":"8492:4:4","nodeType":"VariableDeclaration","scope":1398,"src":"8484:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1381,"name":"uint256","nodeType":"ElementaryTypeName","src":"8484:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1384,"mutability":"mutable","name":"right","nameLocation":"8506:5:4","nodeType":"VariableDeclaration","scope":1398,"src":"8498:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1383,"name":"uint256","nodeType":"ElementaryTypeName","src":"8498:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1386,"mutability":"mutable","name":"decimals","nameLocation":"8521:8:4","nodeType":"VariableDeclaration","scope":1398,"src":"8513:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1385,"name":"uint256","nodeType":"ElementaryTypeName","src":"8513:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8483:47:4"},"returnParameters":{"id":1388,"nodeType":"ParameterList","parameters":[],"src":"8553:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1419,"nodeType":"FunctionDefinition","src":"8620:210:4","nodes":[],"body":{"id":1418,"nodeType":"Block","src":"8764:66:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1412,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1400,"src":"8796:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1413,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1402,"src":"8802:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1414,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1404,"src":"8809:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1415,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1406,"src":"8819:3:4","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":1409,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"8774:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8777:18:4","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":16657,"src":"8774:21:4","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":1416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8774:49:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1417,"nodeType":"ExpressionStatement","src":"8774:49:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"8629:18:4","parameters":{"id":1407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1400,"mutability":"mutable","name":"left","nameLocation":"8656:4:4","nodeType":"VariableDeclaration","scope":1419,"src":"8648:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1399,"name":"uint256","nodeType":"ElementaryTypeName","src":"8648:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1402,"mutability":"mutable","name":"right","nameLocation":"8670:5:4","nodeType":"VariableDeclaration","scope":1419,"src":"8662:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1401,"name":"uint256","nodeType":"ElementaryTypeName","src":"8662:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1404,"mutability":"mutable","name":"decimals","nameLocation":"8685:8:4","nodeType":"VariableDeclaration","scope":1419,"src":"8677:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1403,"name":"uint256","nodeType":"ElementaryTypeName","src":"8677:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1406,"mutability":"mutable","name":"err","nameLocation":"8709:3:4","nodeType":"VariableDeclaration","scope":1419,"src":"8695:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1405,"name":"string","nodeType":"ElementaryTypeName","src":"8695:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8647:66:4"},"returnParameters":{"id":1408,"nodeType":"ParameterList","parameters":[],"src":"8764:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1439,"nodeType":"FunctionDefinition","src":"8836:157:4","nodes":[],"body":{"id":1438,"nodeType":"Block","src":"8906:87:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1426,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1421,"src":"8920:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1427,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1423,"src":"8928:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"8920:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1437,"nodeType":"IfStatement","src":"8916:71:4","trueBody":{"id":1436,"nodeType":"Block","src":"8935:52:4","statements":[{"expression":{"arguments":[{"id":1432,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1421,"src":"8964:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1433,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1423,"src":"8970:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":1429,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"8949:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8952:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16913,"src":"8949:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":1434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8949:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1435,"nodeType":"ExpressionStatement","src":"8949:27:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8845:11:4","parameters":{"id":1424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1421,"mutability":"mutable","name":"left","nameLocation":"8864:4:4","nodeType":"VariableDeclaration","scope":1439,"src":"8857:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1420,"name":"int256","nodeType":"ElementaryTypeName","src":"8857:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1423,"mutability":"mutable","name":"right","nameLocation":"8877:5:4","nodeType":"VariableDeclaration","scope":1439,"src":"8870:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1422,"name":"int256","nodeType":"ElementaryTypeName","src":"8870:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8856:27:4"},"returnParameters":{"id":1425,"nodeType":"ParameterList","parameters":[],"src":"8906:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1462,"nodeType":"FunctionDefinition","src":"8999:181:4","nodes":[],"body":{"id":1461,"nodeType":"Block","src":"9088:92:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":1450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1448,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1441,"src":"9102:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1449,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1443,"src":"9110:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"9102:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1460,"nodeType":"IfStatement","src":"9098:76:4","trueBody":{"id":1459,"nodeType":"Block","src":"9117:57:4","statements":[{"expression":{"arguments":[{"id":1454,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1441,"src":"9146:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1455,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1443,"src":"9152:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1456,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1445,"src":"9159:3:4","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":1451,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"9131:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9134:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16923,"src":"9131:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":1457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9131:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1458,"nodeType":"ExpressionStatement","src":"9131:32:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9008:11:4","parameters":{"id":1446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1441,"mutability":"mutable","name":"left","nameLocation":"9027:4:4","nodeType":"VariableDeclaration","scope":1462,"src":"9020:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1440,"name":"int256","nodeType":"ElementaryTypeName","src":"9020:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1443,"mutability":"mutable","name":"right","nameLocation":"9040:5:4","nodeType":"VariableDeclaration","scope":1462,"src":"9033:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1442,"name":"int256","nodeType":"ElementaryTypeName","src":"9033:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1445,"mutability":"mutable","name":"err","nameLocation":"9061:3:4","nodeType":"VariableDeclaration","scope":1462,"src":"9047:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1444,"name":"string","nodeType":"ElementaryTypeName","src":"9047:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9019:46:4"},"returnParameters":{"id":1447,"nodeType":"ParameterList","parameters":[],"src":"9088:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1480,"nodeType":"FunctionDefinition","src":"9186:156:4","nodes":[],"body":{"id":1479,"nodeType":"Block","src":"9281:61:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1474,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1464,"src":"9313:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1475,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1466,"src":"9319:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1476,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1468,"src":"9326:8:4","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":1471,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"9291:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9294:18:4","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":16667,"src":"9291:21:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":1477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9291:44:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1478,"nodeType":"ExpressionStatement","src":"9291:44:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"9195:18:4","parameters":{"id":1469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1464,"mutability":"mutable","name":"left","nameLocation":"9221:4:4","nodeType":"VariableDeclaration","scope":1480,"src":"9214:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1463,"name":"int256","nodeType":"ElementaryTypeName","src":"9214:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1466,"mutability":"mutable","name":"right","nameLocation":"9234:5:4","nodeType":"VariableDeclaration","scope":1480,"src":"9227:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1465,"name":"int256","nodeType":"ElementaryTypeName","src":"9227:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1468,"mutability":"mutable","name":"decimals","nameLocation":"9249:8:4","nodeType":"VariableDeclaration","scope":1480,"src":"9241:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1467,"name":"uint256","nodeType":"ElementaryTypeName","src":"9241:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9213:45:4"},"returnParameters":{"id":1470,"nodeType":"ParameterList","parameters":[],"src":"9281:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1501,"nodeType":"FunctionDefinition","src":"9348:180:4","nodes":[],"body":{"id":1500,"nodeType":"Block","src":"9462:66:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1494,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1482,"src":"9494:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1495,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1484,"src":"9500:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1496,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1486,"src":"9507:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1497,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1488,"src":"9517:3:4","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":1491,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"9472:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9475:18:4","memberName":"assertNotEqDecimal","nodeType":"MemberAccess","referencedDeclaration":16679,"src":"9472:21:4","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":1498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9472:49:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1499,"nodeType":"ExpressionStatement","src":"9472:49:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"9357:18:4","parameters":{"id":1489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1482,"mutability":"mutable","name":"left","nameLocation":"9383:4:4","nodeType":"VariableDeclaration","scope":1501,"src":"9376:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1481,"name":"int256","nodeType":"ElementaryTypeName","src":"9376:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1484,"mutability":"mutable","name":"right","nameLocation":"9396:5:4","nodeType":"VariableDeclaration","scope":1501,"src":"9389:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1483,"name":"int256","nodeType":"ElementaryTypeName","src":"9389:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1486,"mutability":"mutable","name":"decimals","nameLocation":"9411:8:4","nodeType":"VariableDeclaration","scope":1501,"src":"9403:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1485,"name":"uint256","nodeType":"ElementaryTypeName","src":"9403:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1488,"mutability":"mutable","name":"err","nameLocation":"9435:3:4","nodeType":"VariableDeclaration","scope":1501,"src":"9421:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1487,"name":"string","nodeType":"ElementaryTypeName","src":"9421:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9375:64:4"},"returnParameters":{"id":1490,"nodeType":"ParameterList","parameters":[],"src":"9462:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1521,"nodeType":"FunctionDefinition","src":"9534:159:4","nodes":[],"body":{"id":1520,"nodeType":"Block","src":"9606:87:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1508,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1503,"src":"9620:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1509,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1505,"src":"9628:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9620:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1519,"nodeType":"IfStatement","src":"9616:71:4","trueBody":{"id":1518,"nodeType":"Block","src":"9635:52:4","statements":[{"expression":{"arguments":[{"id":1514,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1503,"src":"9664:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1515,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1505,"src":"9670:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1511,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"9649:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9652:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16931,"src":"9649:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure external"}},"id":1516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9649:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1517,"nodeType":"ExpressionStatement","src":"9649:27:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9543:11:4","parameters":{"id":1506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1503,"mutability":"mutable","name":"left","nameLocation":"9563:4:4","nodeType":"VariableDeclaration","scope":1521,"src":"9555:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1502,"name":"address","nodeType":"ElementaryTypeName","src":"9555:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1505,"mutability":"mutable","name":"right","nameLocation":"9577:5:4","nodeType":"VariableDeclaration","scope":1521,"src":"9569:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1504,"name":"address","nodeType":"ElementaryTypeName","src":"9569:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9554:29:4"},"returnParameters":{"id":1507,"nodeType":"ParameterList","parameters":[],"src":"9606:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1544,"nodeType":"FunctionDefinition","src":"9699:183:4","nodes":[],"body":{"id":1543,"nodeType":"Block","src":"9790:92:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1530,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"9804:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1531,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"9812:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9804:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1542,"nodeType":"IfStatement","src":"9800:76:4","trueBody":{"id":1541,"nodeType":"Block","src":"9819:57:4","statements":[{"expression":{"arguments":[{"id":1536,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1523,"src":"9848:4:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1537,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"9854:5:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1538,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1527,"src":"9861:3:4","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":1533,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"9833:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9836:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16941,"src":"9833:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,address,string memory) pure external"}},"id":1539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9833:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1540,"nodeType":"ExpressionStatement","src":"9833:32:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9708:11:4","parameters":{"id":1528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1523,"mutability":"mutable","name":"left","nameLocation":"9728:4:4","nodeType":"VariableDeclaration","scope":1544,"src":"9720:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1522,"name":"address","nodeType":"ElementaryTypeName","src":"9720:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1525,"mutability":"mutable","name":"right","nameLocation":"9742:5:4","nodeType":"VariableDeclaration","scope":1544,"src":"9734:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1524,"name":"address","nodeType":"ElementaryTypeName","src":"9734:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1527,"mutability":"mutable","name":"err","nameLocation":"9763:3:4","nodeType":"VariableDeclaration","scope":1544,"src":"9749:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1526,"name":"string","nodeType":"ElementaryTypeName","src":"9749:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9719:48:4"},"returnParameters":{"id":1529,"nodeType":"ParameterList","parameters":[],"src":"9790:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1564,"nodeType":"FunctionDefinition","src":"9888:159:4","nodes":[],"body":{"id":1563,"nodeType":"Block","src":"9960:87:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1551,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1546,"src":"9974:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1552,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1548,"src":"9982:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9974:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1562,"nodeType":"IfStatement","src":"9970:71:4","trueBody":{"id":1561,"nodeType":"Block","src":"9989:52:4","statements":[{"expression":{"arguments":[{"id":1557,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1546,"src":"10018:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1558,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1548,"src":"10024:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1554,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"10003:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10006:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16949,"src":"10003:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure external"}},"id":1559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10003:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1560,"nodeType":"ExpressionStatement","src":"10003:27:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"9897:11:4","parameters":{"id":1549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1546,"mutability":"mutable","name":"left","nameLocation":"9917:4:4","nodeType":"VariableDeclaration","scope":1564,"src":"9909:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9909:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1548,"mutability":"mutable","name":"right","nameLocation":"9931:5:4","nodeType":"VariableDeclaration","scope":1564,"src":"9923:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1547,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9923:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9908:29:4"},"returnParameters":{"id":1550,"nodeType":"ParameterList","parameters":[],"src":"9960:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1587,"nodeType":"FunctionDefinition","src":"10053:183:4","nodes":[],"body":{"id":1586,"nodeType":"Block","src":"10144:92:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1573,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1566,"src":"10158:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1574,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1568,"src":"10166:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10158:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1585,"nodeType":"IfStatement","src":"10154:76:4","trueBody":{"id":1584,"nodeType":"Block","src":"10173:57:4","statements":[{"expression":{"arguments":[{"id":1579,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1566,"src":"10202:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1580,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1568,"src":"10208:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1581,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1570,"src":"10215:3:4","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":1576,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"10187:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10190:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16959,"src":"10187:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure external"}},"id":1582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10187:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1583,"nodeType":"ExpressionStatement","src":"10187:32:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10062:11:4","parameters":{"id":1571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1566,"mutability":"mutable","name":"left","nameLocation":"10082:4:4","nodeType":"VariableDeclaration","scope":1587,"src":"10074:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1565,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10074:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1568,"mutability":"mutable","name":"right","nameLocation":"10096:5:4","nodeType":"VariableDeclaration","scope":1587,"src":"10088:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1567,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10088:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1570,"mutability":"mutable","name":"err","nameLocation":"10117:3:4","nodeType":"VariableDeclaration","scope":1587,"src":"10103:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1569,"name":"string","nodeType":"ElementaryTypeName","src":"10103:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10073:48:4"},"returnParameters":{"id":1572,"nodeType":"ParameterList","parameters":[],"src":"10144:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1607,"nodeType":"FunctionDefinition","src":"10242:161:4","nodes":[],"body":{"id":1606,"nodeType":"Block","src":"10316:87:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1594,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1589,"src":"10330:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1595,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1591,"src":"10338:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10330:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1605,"nodeType":"IfStatement","src":"10326:71:4","trueBody":{"id":1604,"nodeType":"Block","src":"10345:52:4","statements":[{"expression":{"arguments":[{"id":1600,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1589,"src":"10374:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1601,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1591,"src":"10380:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":1597,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"10359:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10362:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16949,"src":"10359:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure external"}},"id":1602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10359:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1603,"nodeType":"ExpressionStatement","src":"10359:27:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq32","nameLocation":"10251:13:4","parameters":{"id":1592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1589,"mutability":"mutable","name":"left","nameLocation":"10273:4:4","nodeType":"VariableDeclaration","scope":1607,"src":"10265:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1588,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10265:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1591,"mutability":"mutable","name":"right","nameLocation":"10287:5:4","nodeType":"VariableDeclaration","scope":1607,"src":"10279:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1590,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10279:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10264:29:4"},"returnParameters":{"id":1593,"nodeType":"ParameterList","parameters":[],"src":"10316:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1630,"nodeType":"FunctionDefinition","src":"10409:185:4","nodes":[],"body":{"id":1629,"nodeType":"Block","src":"10502:92:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1616,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1609,"src":"10516:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1617,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1611,"src":"10524:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10516:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1628,"nodeType":"IfStatement","src":"10512:76:4","trueBody":{"id":1627,"nodeType":"Block","src":"10531:57:4","statements":[{"expression":{"arguments":[{"id":1622,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1609,"src":"10560:4:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1623,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1611,"src":"10566:5:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1624,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1613,"src":"10573:3:4","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":1619,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"10545:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10548:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16959,"src":"10545:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory) pure external"}},"id":1625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10545:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1626,"nodeType":"ExpressionStatement","src":"10545:32:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq32","nameLocation":"10418:13:4","parameters":{"id":1614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1609,"mutability":"mutable","name":"left","nameLocation":"10440:4:4","nodeType":"VariableDeclaration","scope":1630,"src":"10432:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1608,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10432:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1611,"mutability":"mutable","name":"right","nameLocation":"10454:5:4","nodeType":"VariableDeclaration","scope":1630,"src":"10446:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1610,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10446:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1613,"mutability":"mutable","name":"err","nameLocation":"10475:3:4","nodeType":"VariableDeclaration","scope":1630,"src":"10461:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1612,"name":"string","nodeType":"ElementaryTypeName","src":"10461:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10431:48:4"},"returnParameters":{"id":1615,"nodeType":"ParameterList","parameters":[],"src":"10502:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1645,"nodeType":"FunctionDefinition","src":"10600:128:4","nodes":[],"body":{"id":1644,"nodeType":"Block","src":"10684:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1640,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1632,"src":"10709:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1641,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1634,"src":"10715:5:4","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":1637,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"10694:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10697:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16705,"src":"10694:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure external"}},"id":1642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10694:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1643,"nodeType":"ExpressionStatement","src":"10694:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10609:11:4","parameters":{"id":1635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1632,"mutability":"mutable","name":"left","nameLocation":"10635:4:4","nodeType":"VariableDeclaration","scope":1645,"src":"10621:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1631,"name":"string","nodeType":"ElementaryTypeName","src":"10621:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1634,"mutability":"mutable","name":"right","nameLocation":"10655:5:4","nodeType":"VariableDeclaration","scope":1645,"src":"10641:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1633,"name":"string","nodeType":"ElementaryTypeName","src":"10641:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10620:41:4"},"returnParameters":{"id":1636,"nodeType":"ParameterList","parameters":[],"src":"10684:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1663,"nodeType":"FunctionDefinition","src":"10734:152:4","nodes":[],"body":{"id":1662,"nodeType":"Block","src":"10837:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1657,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1647,"src":"10862:4:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1658,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1649,"src":"10868:5:4","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1659,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1651,"src":"10875:3:4","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":1654,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"10847:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10850:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16715,"src":"10847:14:4","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":1660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10847:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1661,"nodeType":"ExpressionStatement","src":"10847:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10743:11:4","parameters":{"id":1652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1647,"mutability":"mutable","name":"left","nameLocation":"10769:4:4","nodeType":"VariableDeclaration","scope":1663,"src":"10755:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1646,"name":"string","nodeType":"ElementaryTypeName","src":"10755:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1649,"mutability":"mutable","name":"right","nameLocation":"10789:5:4","nodeType":"VariableDeclaration","scope":1663,"src":"10775:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1648,"name":"string","nodeType":"ElementaryTypeName","src":"10775:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1651,"mutability":"mutable","name":"err","nameLocation":"10810:3:4","nodeType":"VariableDeclaration","scope":1663,"src":"10796:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1650,"name":"string","nodeType":"ElementaryTypeName","src":"10796:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10754:60:4"},"returnParameters":{"id":1653,"nodeType":"ParameterList","parameters":[],"src":"10837:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1678,"nodeType":"FunctionDefinition","src":"10892:126:4","nodes":[],"body":{"id":1677,"nodeType":"Block","src":"10974:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1673,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1665,"src":"10999:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1674,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1667,"src":"11005:5:4","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":1670,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"10984:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10987:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16723,"src":"10984:14:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure external"}},"id":1675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10984:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1676,"nodeType":"ExpressionStatement","src":"10984:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"10901:11:4","parameters":{"id":1668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1665,"mutability":"mutable","name":"left","nameLocation":"10926:4:4","nodeType":"VariableDeclaration","scope":1678,"src":"10913:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1664,"name":"bytes","nodeType":"ElementaryTypeName","src":"10913:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1667,"mutability":"mutable","name":"right","nameLocation":"10945:5:4","nodeType":"VariableDeclaration","scope":1678,"src":"10932:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1666,"name":"bytes","nodeType":"ElementaryTypeName","src":"10932:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10912:39:4"},"returnParameters":{"id":1669,"nodeType":"ParameterList","parameters":[],"src":"10974:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1696,"nodeType":"FunctionDefinition","src":"11024:150:4","nodes":[],"body":{"id":1695,"nodeType":"Block","src":"11125:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1690,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1680,"src":"11150:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1691,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1682,"src":"11156:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":1692,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1684,"src":"11163:3:4","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":1687,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"11135:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11138:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16733,"src":"11135:14:4","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":1693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11135:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1694,"nodeType":"ExpressionStatement","src":"11135:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11033:11:4","parameters":{"id":1685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1680,"mutability":"mutable","name":"left","nameLocation":"11058:4:4","nodeType":"VariableDeclaration","scope":1696,"src":"11045:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1679,"name":"bytes","nodeType":"ElementaryTypeName","src":"11045:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1682,"mutability":"mutable","name":"right","nameLocation":"11077:5:4","nodeType":"VariableDeclaration","scope":1696,"src":"11064:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1681,"name":"bytes","nodeType":"ElementaryTypeName","src":"11064:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":1684,"mutability":"mutable","name":"err","nameLocation":"11098:3:4","nodeType":"VariableDeclaration","scope":1696,"src":"11084:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1683,"name":"string","nodeType":"ElementaryTypeName","src":"11084:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11044:58:4"},"returnParameters":{"id":1686,"nodeType":"ParameterList","parameters":[],"src":"11125:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1713,"nodeType":"FunctionDefinition","src":"11180:128:4","nodes":[],"body":{"id":1712,"nodeType":"Block","src":"11264:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1708,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1699,"src":"11289:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1709,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1702,"src":"11295:5:4","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":1705,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"11274:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11277:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16743,"src":"11274:14:4","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":1710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11274:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1711,"nodeType":"ExpressionStatement","src":"11274:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11189:11:4","parameters":{"id":1703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1699,"mutability":"mutable","name":"left","nameLocation":"11215:4:4","nodeType":"VariableDeclaration","scope":1713,"src":"11201:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1697,"name":"bool","nodeType":"ElementaryTypeName","src":"11201:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1698,"nodeType":"ArrayTypeName","src":"11201:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1702,"mutability":"mutable","name":"right","nameLocation":"11235:5:4","nodeType":"VariableDeclaration","scope":1713,"src":"11221:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1700,"name":"bool","nodeType":"ElementaryTypeName","src":"11221:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1701,"nodeType":"ArrayTypeName","src":"11221:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"11200:41:4"},"returnParameters":{"id":1704,"nodeType":"ParameterList","parameters":[],"src":"11264:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1733,"nodeType":"FunctionDefinition","src":"11314:152:4","nodes":[],"body":{"id":1732,"nodeType":"Block","src":"11417:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1727,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1716,"src":"11442:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1728,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1719,"src":"11448:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},{"id":1729,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1721,"src":"11455:3:4","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":1724,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"11427:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11430:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16755,"src":"11427:14:4","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":1730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11427:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1731,"nodeType":"ExpressionStatement","src":"11427:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11323:11:4","parameters":{"id":1722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1716,"mutability":"mutable","name":"left","nameLocation":"11349:4:4","nodeType":"VariableDeclaration","scope":1733,"src":"11335:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1714,"name":"bool","nodeType":"ElementaryTypeName","src":"11335:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1715,"nodeType":"ArrayTypeName","src":"11335:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1719,"mutability":"mutable","name":"right","nameLocation":"11369:5:4","nodeType":"VariableDeclaration","scope":1733,"src":"11355:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":1717,"name":"bool","nodeType":"ElementaryTypeName","src":"11355:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1718,"nodeType":"ArrayTypeName","src":"11355:6:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":1721,"mutability":"mutable","name":"err","nameLocation":"11390:3:4","nodeType":"VariableDeclaration","scope":1733,"src":"11376:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1720,"name":"string","nodeType":"ElementaryTypeName","src":"11376:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11334:60:4"},"returnParameters":{"id":1723,"nodeType":"ParameterList","parameters":[],"src":"11417:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1750,"nodeType":"FunctionDefinition","src":"11472:134:4","nodes":[],"body":{"id":1749,"nodeType":"Block","src":"11562:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1745,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1736,"src":"11587:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1746,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1739,"src":"11593:5:4","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":1742,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"11572:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11575:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16765,"src":"11572:14:4","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":1747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11572:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1748,"nodeType":"ExpressionStatement","src":"11572:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11481:11:4","parameters":{"id":1740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1736,"mutability":"mutable","name":"left","nameLocation":"11510:4:4","nodeType":"VariableDeclaration","scope":1750,"src":"11493:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1734,"name":"uint256","nodeType":"ElementaryTypeName","src":"11493:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1735,"nodeType":"ArrayTypeName","src":"11493:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1739,"mutability":"mutable","name":"right","nameLocation":"11533:5:4","nodeType":"VariableDeclaration","scope":1750,"src":"11516:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1737,"name":"uint256","nodeType":"ElementaryTypeName","src":"11516:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1738,"nodeType":"ArrayTypeName","src":"11516:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"11492:47:4"},"returnParameters":{"id":1741,"nodeType":"ParameterList","parameters":[],"src":"11562:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1770,"nodeType":"FunctionDefinition","src":"11612:158:4","nodes":[],"body":{"id":1769,"nodeType":"Block","src":"11721:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1764,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1753,"src":"11746:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1765,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1756,"src":"11752:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1766,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1758,"src":"11759:3:4","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":1761,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"11731:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11734:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16777,"src":"11731:14:4","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":1767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11731:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1768,"nodeType":"ExpressionStatement","src":"11731:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11621:11:4","parameters":{"id":1759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1753,"mutability":"mutable","name":"left","nameLocation":"11650:4:4","nodeType":"VariableDeclaration","scope":1770,"src":"11633:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1751,"name":"uint256","nodeType":"ElementaryTypeName","src":"11633:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1752,"nodeType":"ArrayTypeName","src":"11633:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1756,"mutability":"mutable","name":"right","nameLocation":"11673:5:4","nodeType":"VariableDeclaration","scope":1770,"src":"11656:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1754,"name":"uint256","nodeType":"ElementaryTypeName","src":"11656:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1755,"nodeType":"ArrayTypeName","src":"11656:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":1758,"mutability":"mutable","name":"err","nameLocation":"11694:3:4","nodeType":"VariableDeclaration","scope":1770,"src":"11680:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1757,"name":"string","nodeType":"ElementaryTypeName","src":"11680:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11632:66:4"},"returnParameters":{"id":1760,"nodeType":"ParameterList","parameters":[],"src":"11721:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1787,"nodeType":"FunctionDefinition","src":"11776:132:4","nodes":[],"body":{"id":1786,"nodeType":"Block","src":"11864:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1782,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1773,"src":"11889:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1783,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1776,"src":"11895:5:4","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":1779,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"11874:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11877:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16787,"src":"11874:14:4","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":1784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11874:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1785,"nodeType":"ExpressionStatement","src":"11874:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11785:11:4","parameters":{"id":1777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1773,"mutability":"mutable","name":"left","nameLocation":"11813:4:4","nodeType":"VariableDeclaration","scope":1787,"src":"11797:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1771,"name":"int256","nodeType":"ElementaryTypeName","src":"11797:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1772,"nodeType":"ArrayTypeName","src":"11797:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1776,"mutability":"mutable","name":"right","nameLocation":"11835:5:4","nodeType":"VariableDeclaration","scope":1787,"src":"11819:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1774,"name":"int256","nodeType":"ElementaryTypeName","src":"11819:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1775,"nodeType":"ArrayTypeName","src":"11819:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"11796:45:4"},"returnParameters":{"id":1778,"nodeType":"ParameterList","parameters":[],"src":"11864:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1807,"nodeType":"FunctionDefinition","src":"11914:156:4","nodes":[],"body":{"id":1806,"nodeType":"Block","src":"12021:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1801,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1790,"src":"12046:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1802,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1793,"src":"12052:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},{"id":1803,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1795,"src":"12059:3:4","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":1798,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"12031:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12034:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16799,"src":"12031:14:4","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":1804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12031:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1805,"nodeType":"ExpressionStatement","src":"12031:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"11923:11:4","parameters":{"id":1796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1790,"mutability":"mutable","name":"left","nameLocation":"11951:4:4","nodeType":"VariableDeclaration","scope":1807,"src":"11935:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1788,"name":"int256","nodeType":"ElementaryTypeName","src":"11935:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1789,"nodeType":"ArrayTypeName","src":"11935:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1793,"mutability":"mutable","name":"right","nameLocation":"11973:5:4","nodeType":"VariableDeclaration","scope":1807,"src":"11957:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":1791,"name":"int256","nodeType":"ElementaryTypeName","src":"11957:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1792,"nodeType":"ArrayTypeName","src":"11957:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":1795,"mutability":"mutable","name":"err","nameLocation":"11994:3:4","nodeType":"VariableDeclaration","scope":1807,"src":"11980:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1794,"name":"string","nodeType":"ElementaryTypeName","src":"11980:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11934:64:4"},"returnParameters":{"id":1797,"nodeType":"ParameterList","parameters":[],"src":"12021:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1824,"nodeType":"FunctionDefinition","src":"12076:134:4","nodes":[],"body":{"id":1823,"nodeType":"Block","src":"12166:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1819,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1810,"src":"12191:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1820,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1813,"src":"12197:5:4","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":1816,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"12176:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12179:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16817,"src":"12176:14:4","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":1821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12176:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1822,"nodeType":"ExpressionStatement","src":"12176:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"12085:11:4","parameters":{"id":1814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1810,"mutability":"mutable","name":"left","nameLocation":"12114:4:4","nodeType":"VariableDeclaration","scope":1824,"src":"12097:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1808,"name":"address","nodeType":"ElementaryTypeName","src":"12097:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1809,"nodeType":"ArrayTypeName","src":"12097:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1813,"mutability":"mutable","name":"right","nameLocation":"12137:5:4","nodeType":"VariableDeclaration","scope":1824,"src":"12120:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1811,"name":"address","nodeType":"ElementaryTypeName","src":"12120:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1812,"nodeType":"ArrayTypeName","src":"12120:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"12096:47:4"},"returnParameters":{"id":1815,"nodeType":"ParameterList","parameters":[],"src":"12166:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1844,"nodeType":"FunctionDefinition","src":"12216:158:4","nodes":[],"body":{"id":1843,"nodeType":"Block","src":"12325:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1838,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1827,"src":"12350:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1839,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1830,"src":"12356:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":1840,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1832,"src":"12363:3:4","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":1835,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"12335:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12338:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16829,"src":"12335:14:4","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":1841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12335:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1842,"nodeType":"ExpressionStatement","src":"12335:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"12225:11:4","parameters":{"id":1833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1827,"mutability":"mutable","name":"left","nameLocation":"12254:4:4","nodeType":"VariableDeclaration","scope":1844,"src":"12237:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1825,"name":"address","nodeType":"ElementaryTypeName","src":"12237:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1826,"nodeType":"ArrayTypeName","src":"12237:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1830,"mutability":"mutable","name":"right","nameLocation":"12277:5:4","nodeType":"VariableDeclaration","scope":1844,"src":"12260:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1828,"name":"address","nodeType":"ElementaryTypeName","src":"12260:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1829,"nodeType":"ArrayTypeName","src":"12260:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1832,"mutability":"mutable","name":"err","nameLocation":"12298:3:4","nodeType":"VariableDeclaration","scope":1844,"src":"12284:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1831,"name":"string","nodeType":"ElementaryTypeName","src":"12284:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12236:66:4"},"returnParameters":{"id":1834,"nodeType":"ParameterList","parameters":[],"src":"12325:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1861,"nodeType":"FunctionDefinition","src":"12380:134:4","nodes":[],"body":{"id":1860,"nodeType":"Block","src":"12470:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1856,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1847,"src":"12495:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1857,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"12501:5:4","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":1853,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"12480:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12483:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16839,"src":"12480:14:4","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":1858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12480:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1859,"nodeType":"ExpressionStatement","src":"12480:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"12389:11:4","parameters":{"id":1851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1847,"mutability":"mutable","name":"left","nameLocation":"12418:4:4","nodeType":"VariableDeclaration","scope":1861,"src":"12401:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1845,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12401:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1846,"nodeType":"ArrayTypeName","src":"12401:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1850,"mutability":"mutable","name":"right","nameLocation":"12441:5:4","nodeType":"VariableDeclaration","scope":1861,"src":"12424:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1848,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12424:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1849,"nodeType":"ArrayTypeName","src":"12424:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"12400:47:4"},"returnParameters":{"id":1852,"nodeType":"ParameterList","parameters":[],"src":"12470:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1881,"nodeType":"FunctionDefinition","src":"12520:158:4","nodes":[],"body":{"id":1880,"nodeType":"Block","src":"12629:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1875,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1864,"src":"12654:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1876,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1867,"src":"12660:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},{"id":1877,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1869,"src":"12667:3:4","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":1872,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"12639:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12642:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16851,"src":"12639:14:4","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":1878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12639:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1879,"nodeType":"ExpressionStatement","src":"12639:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"12529:11:4","parameters":{"id":1870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1864,"mutability":"mutable","name":"left","nameLocation":"12558:4:4","nodeType":"VariableDeclaration","scope":1881,"src":"12541:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1862,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12541:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1863,"nodeType":"ArrayTypeName","src":"12541:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1867,"mutability":"mutable","name":"right","nameLocation":"12581:5:4","nodeType":"VariableDeclaration","scope":1881,"src":"12564:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":1865,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12564:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1866,"nodeType":"ArrayTypeName","src":"12564:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":1869,"mutability":"mutable","name":"err","nameLocation":"12602:3:4","nodeType":"VariableDeclaration","scope":1881,"src":"12588:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1868,"name":"string","nodeType":"ElementaryTypeName","src":"12588:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12540:66:4"},"returnParameters":{"id":1871,"nodeType":"ParameterList","parameters":[],"src":"12629:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1898,"nodeType":"FunctionDefinition","src":"12684:132:4","nodes":[],"body":{"id":1897,"nodeType":"Block","src":"12772:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1893,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1884,"src":"12797:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1894,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1887,"src":"12803:5:4","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":1890,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"12782:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12785:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16861,"src":"12782:14:4","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":1895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12782:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1896,"nodeType":"ExpressionStatement","src":"12782:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"12693:11:4","parameters":{"id":1888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1884,"mutability":"mutable","name":"left","nameLocation":"12721:4:4","nodeType":"VariableDeclaration","scope":1898,"src":"12705:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1882,"name":"string","nodeType":"ElementaryTypeName","src":"12705:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1883,"nodeType":"ArrayTypeName","src":"12705:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1887,"mutability":"mutable","name":"right","nameLocation":"12743:5:4","nodeType":"VariableDeclaration","scope":1898,"src":"12727:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1885,"name":"string","nodeType":"ElementaryTypeName","src":"12727:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1886,"nodeType":"ArrayTypeName","src":"12727:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"12704:45:4"},"returnParameters":{"id":1889,"nodeType":"ParameterList","parameters":[],"src":"12772:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1918,"nodeType":"FunctionDefinition","src":"12822:156:4","nodes":[],"body":{"id":1917,"nodeType":"Block","src":"12929:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1912,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"12954:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1913,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1904,"src":"12960:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},{"id":1914,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1906,"src":"12967:3:4","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":1909,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"12939:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12942:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16873,"src":"12939:14:4","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":1915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12939:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1916,"nodeType":"ExpressionStatement","src":"12939:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"12831:11:4","parameters":{"id":1907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1901,"mutability":"mutable","name":"left","nameLocation":"12859:4:4","nodeType":"VariableDeclaration","scope":1918,"src":"12843:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1899,"name":"string","nodeType":"ElementaryTypeName","src":"12843:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1900,"nodeType":"ArrayTypeName","src":"12843:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1904,"mutability":"mutable","name":"right","nameLocation":"12881:5:4","nodeType":"VariableDeclaration","scope":1918,"src":"12865:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":1902,"name":"string","nodeType":"ElementaryTypeName","src":"12865:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":1903,"nodeType":"ArrayTypeName","src":"12865:8:4","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":1906,"mutability":"mutable","name":"err","nameLocation":"12902:3:4","nodeType":"VariableDeclaration","scope":1918,"src":"12888:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1905,"name":"string","nodeType":"ElementaryTypeName","src":"12888:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12842:64:4"},"returnParameters":{"id":1908,"nodeType":"ParameterList","parameters":[],"src":"12929:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1935,"nodeType":"FunctionDefinition","src":"12984:130:4","nodes":[],"body":{"id":1934,"nodeType":"Block","src":"13070:44:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1930,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1921,"src":"13095:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1931,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"13101:5:4","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":1927,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"13080:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13083:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16883,"src":"13080:14:4","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":1932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13080:27:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1933,"nodeType":"ExpressionStatement","src":"13080:27:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"12993:11:4","parameters":{"id":1925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1921,"mutability":"mutable","name":"left","nameLocation":"13020:4:4","nodeType":"VariableDeclaration","scope":1935,"src":"13005:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1919,"name":"bytes","nodeType":"ElementaryTypeName","src":"13005:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1920,"nodeType":"ArrayTypeName","src":"13005:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1924,"mutability":"mutable","name":"right","nameLocation":"13041:5:4","nodeType":"VariableDeclaration","scope":1935,"src":"13026:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1922,"name":"bytes","nodeType":"ElementaryTypeName","src":"13026:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1923,"nodeType":"ArrayTypeName","src":"13026:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"13004:43:4"},"returnParameters":{"id":1926,"nodeType":"ParameterList","parameters":[],"src":"13070:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1955,"nodeType":"FunctionDefinition","src":"13120:154:4","nodes":[],"body":{"id":1954,"nodeType":"Block","src":"13225:49:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1949,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1938,"src":"13250:4:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1950,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1941,"src":"13256:5:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},{"id":1951,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1943,"src":"13263:3:4","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":1946,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"13235:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13238:11:4","memberName":"assertNotEq","nodeType":"MemberAccess","referencedDeclaration":16895,"src":"13235:14:4","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":1952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13235:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1953,"nodeType":"ExpressionStatement","src":"13235:32:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"13129:11:4","parameters":{"id":1944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1938,"mutability":"mutable","name":"left","nameLocation":"13156:4:4","nodeType":"VariableDeclaration","scope":1955,"src":"13141:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1936,"name":"bytes","nodeType":"ElementaryTypeName","src":"13141:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1937,"nodeType":"ArrayTypeName","src":"13141:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1941,"mutability":"mutable","name":"right","nameLocation":"13177:5:4","nodeType":"VariableDeclaration","scope":1955,"src":"13162:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1939,"name":"bytes","nodeType":"ElementaryTypeName","src":"13162:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1940,"nodeType":"ArrayTypeName","src":"13162:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":1943,"mutability":"mutable","name":"err","nameLocation":"13198:3:4","nodeType":"VariableDeclaration","scope":1955,"src":"13184:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1942,"name":"string","nodeType":"ElementaryTypeName","src":"13184:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13140:62:4"},"returnParameters":{"id":1945,"nodeType":"ParameterList","parameters":[],"src":"13225:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1975,"nodeType":"FunctionDefinition","src":"13280:153:4","nodes":[],"body":{"id":1974,"nodeType":"Block","src":"13349:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1962,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1957,"src":"13363:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1963,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1959,"src":"13371:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13363:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1973,"nodeType":"IfStatement","src":"13359:68:4","trueBody":{"id":1972,"nodeType":"Block","src":"13378:49:4","statements":[{"expression":{"arguments":[{"id":1968,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1957,"src":"13404:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1969,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1959,"src":"13410:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1965,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"13392:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13395:8:4","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":16607,"src":"13392:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":1970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13392:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1971,"nodeType":"ExpressionStatement","src":"13392:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"13289:8:4","parameters":{"id":1960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1957,"mutability":"mutable","name":"left","nameLocation":"13306:4:4","nodeType":"VariableDeclaration","scope":1975,"src":"13298:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1956,"name":"uint256","nodeType":"ElementaryTypeName","src":"13298:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1959,"mutability":"mutable","name":"right","nameLocation":"13320:5:4","nodeType":"VariableDeclaration","scope":1975,"src":"13312:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1958,"name":"uint256","nodeType":"ElementaryTypeName","src":"13312:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13297:29:4"},"returnParameters":{"id":1961,"nodeType":"ParameterList","parameters":[],"src":"13349:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":1998,"nodeType":"FunctionDefinition","src":"13439:177:4","nodes":[],"body":{"id":1997,"nodeType":"Block","src":"13527:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1984,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1977,"src":"13541:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1985,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1979,"src":"13549:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13541:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1996,"nodeType":"IfStatement","src":"13537:73:4","trueBody":{"id":1995,"nodeType":"Block","src":"13556:54:4","statements":[{"expression":{"arguments":[{"id":1990,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1977,"src":"13582:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1991,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1979,"src":"13588:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1992,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1981,"src":"13595:3:4","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":1987,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"13570:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":1989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13573:8:4","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":16617,"src":"13570:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":1993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13570:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1994,"nodeType":"ExpressionStatement","src":"13570:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"13448:8:4","parameters":{"id":1982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1977,"mutability":"mutable","name":"left","nameLocation":"13465:4:4","nodeType":"VariableDeclaration","scope":1998,"src":"13457:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1976,"name":"uint256","nodeType":"ElementaryTypeName","src":"13457:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1979,"mutability":"mutable","name":"right","nameLocation":"13479:5:4","nodeType":"VariableDeclaration","scope":1998,"src":"13471:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1978,"name":"uint256","nodeType":"ElementaryTypeName","src":"13471:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1981,"mutability":"mutable","name":"err","nameLocation":"13500:3:4","nodeType":"VariableDeclaration","scope":1998,"src":"13486:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1980,"name":"string","nodeType":"ElementaryTypeName","src":"13486:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13456:48:4"},"returnParameters":{"id":1983,"nodeType":"ParameterList","parameters":[],"src":"13527:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2016,"nodeType":"FunctionDefinition","src":"13622:152:4","nodes":[],"body":{"id":2015,"nodeType":"Block","src":"13716:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2010,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2000,"src":"13745:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2011,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2002,"src":"13751:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2012,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2004,"src":"13758:8:4","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":2007,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"13726:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13729:15:4","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":16565,"src":"13726:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13726:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2014,"nodeType":"ExpressionStatement","src":"13726:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"13631:15:4","parameters":{"id":2005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2000,"mutability":"mutable","name":"left","nameLocation":"13655:4:4","nodeType":"VariableDeclaration","scope":2016,"src":"13647:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1999,"name":"uint256","nodeType":"ElementaryTypeName","src":"13647:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2002,"mutability":"mutable","name":"right","nameLocation":"13669:5:4","nodeType":"VariableDeclaration","scope":2016,"src":"13661:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2001,"name":"uint256","nodeType":"ElementaryTypeName","src":"13661:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2004,"mutability":"mutable","name":"decimals","nameLocation":"13684:8:4","nodeType":"VariableDeclaration","scope":2016,"src":"13676:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2003,"name":"uint256","nodeType":"ElementaryTypeName","src":"13676:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13646:47:4"},"returnParameters":{"id":2006,"nodeType":"ParameterList","parameters":[],"src":"13716:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2037,"nodeType":"FunctionDefinition","src":"13780:176:4","nodes":[],"body":{"id":2036,"nodeType":"Block","src":"13893:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2030,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2018,"src":"13922:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2031,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2020,"src":"13928:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2032,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2022,"src":"13935:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2033,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2024,"src":"13945:3:4","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":2027,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"13903:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13906:15:4","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":16577,"src":"13903:18:4","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":2034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13903:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2035,"nodeType":"ExpressionStatement","src":"13903:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"13789:15:4","parameters":{"id":2025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2018,"mutability":"mutable","name":"left","nameLocation":"13813:4:4","nodeType":"VariableDeclaration","scope":2037,"src":"13805:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2017,"name":"uint256","nodeType":"ElementaryTypeName","src":"13805:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2020,"mutability":"mutable","name":"right","nameLocation":"13827:5:4","nodeType":"VariableDeclaration","scope":2037,"src":"13819:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2019,"name":"uint256","nodeType":"ElementaryTypeName","src":"13819:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2022,"mutability":"mutable","name":"decimals","nameLocation":"13842:8:4","nodeType":"VariableDeclaration","scope":2037,"src":"13834:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2021,"name":"uint256","nodeType":"ElementaryTypeName","src":"13834:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2024,"mutability":"mutable","name":"err","nameLocation":"13866:3:4","nodeType":"VariableDeclaration","scope":2037,"src":"13852:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2023,"name":"string","nodeType":"ElementaryTypeName","src":"13852:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13804:66:4"},"returnParameters":{"id":2026,"nodeType":"ParameterList","parameters":[],"src":"13893:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2057,"nodeType":"FunctionDefinition","src":"13962:151:4","nodes":[],"body":{"id":2056,"nodeType":"Block","src":"14029:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2044,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2039,"src":"14043:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":2045,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2041,"src":"14051:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"14043:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2055,"nodeType":"IfStatement","src":"14039:68:4","trueBody":{"id":2054,"nodeType":"Block","src":"14058:49:4","statements":[{"expression":{"arguments":[{"id":2050,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2039,"src":"14084:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2051,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2041,"src":"14090:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2047,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"14072:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14075:8:4","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":16625,"src":"14072:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":2052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14072:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2053,"nodeType":"ExpressionStatement","src":"14072:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"13971:8:4","parameters":{"id":2042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2039,"mutability":"mutable","name":"left","nameLocation":"13987:4:4","nodeType":"VariableDeclaration","scope":2057,"src":"13980:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2038,"name":"int256","nodeType":"ElementaryTypeName","src":"13980:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2041,"mutability":"mutable","name":"right","nameLocation":"14000:5:4","nodeType":"VariableDeclaration","scope":2057,"src":"13993:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2040,"name":"int256","nodeType":"ElementaryTypeName","src":"13993:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"13979:27:4"},"returnParameters":{"id":2043,"nodeType":"ParameterList","parameters":[],"src":"14029:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2080,"nodeType":"FunctionDefinition","src":"14119:175:4","nodes":[],"body":{"id":2079,"nodeType":"Block","src":"14205:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2066,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2059,"src":"14219:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":2067,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2061,"src":"14227:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"14219:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2078,"nodeType":"IfStatement","src":"14215:73:4","trueBody":{"id":2077,"nodeType":"Block","src":"14234:54:4","statements":[{"expression":{"arguments":[{"id":2072,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2059,"src":"14260:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2073,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2061,"src":"14266:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2074,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2063,"src":"14273:3:4","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":2069,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"14248:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14251:8:4","memberName":"assertLt","nodeType":"MemberAccess","referencedDeclaration":16635,"src":"14248:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":2075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14248:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2076,"nodeType":"ExpressionStatement","src":"14248:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"14128:8:4","parameters":{"id":2064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2059,"mutability":"mutable","name":"left","nameLocation":"14144:4:4","nodeType":"VariableDeclaration","scope":2080,"src":"14137:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2058,"name":"int256","nodeType":"ElementaryTypeName","src":"14137:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2061,"mutability":"mutable","name":"right","nameLocation":"14157:5:4","nodeType":"VariableDeclaration","scope":2080,"src":"14150:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2060,"name":"int256","nodeType":"ElementaryTypeName","src":"14150:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2063,"mutability":"mutable","name":"err","nameLocation":"14178:3:4","nodeType":"VariableDeclaration","scope":2080,"src":"14164:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2062,"name":"string","nodeType":"ElementaryTypeName","src":"14164:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14136:46:4"},"returnParameters":{"id":2065,"nodeType":"ParameterList","parameters":[],"src":"14205:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2098,"nodeType":"FunctionDefinition","src":"14300:150:4","nodes":[],"body":{"id":2097,"nodeType":"Block","src":"14392:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2092,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2082,"src":"14421:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2093,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2084,"src":"14427:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2094,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"14434:8:4","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":2089,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"14402:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14405:15:4","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":16587,"src":"14402:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14402:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2096,"nodeType":"ExpressionStatement","src":"14402:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"14309:15:4","parameters":{"id":2087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2082,"mutability":"mutable","name":"left","nameLocation":"14332:4:4","nodeType":"VariableDeclaration","scope":2098,"src":"14325:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2081,"name":"int256","nodeType":"ElementaryTypeName","src":"14325:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2084,"mutability":"mutable","name":"right","nameLocation":"14345:5:4","nodeType":"VariableDeclaration","scope":2098,"src":"14338:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2083,"name":"int256","nodeType":"ElementaryTypeName","src":"14338:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2086,"mutability":"mutable","name":"decimals","nameLocation":"14360:8:4","nodeType":"VariableDeclaration","scope":2098,"src":"14352:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2085,"name":"uint256","nodeType":"ElementaryTypeName","src":"14352:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14324:45:4"},"returnParameters":{"id":2088,"nodeType":"ParameterList","parameters":[],"src":"14392:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2119,"nodeType":"FunctionDefinition","src":"14456:174:4","nodes":[],"body":{"id":2118,"nodeType":"Block","src":"14567:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2112,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2100,"src":"14596:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2113,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2102,"src":"14602:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2114,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2104,"src":"14609:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2115,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2106,"src":"14619:3:4","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":2109,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"14577:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14580:15:4","memberName":"assertLtDecimal","nodeType":"MemberAccess","referencedDeclaration":16599,"src":"14577:18:4","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":2116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14577:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2117,"nodeType":"ExpressionStatement","src":"14577:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"14465:15:4","parameters":{"id":2107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2100,"mutability":"mutable","name":"left","nameLocation":"14488:4:4","nodeType":"VariableDeclaration","scope":2119,"src":"14481:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2099,"name":"int256","nodeType":"ElementaryTypeName","src":"14481:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2102,"mutability":"mutable","name":"right","nameLocation":"14501:5:4","nodeType":"VariableDeclaration","scope":2119,"src":"14494:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2101,"name":"int256","nodeType":"ElementaryTypeName","src":"14494:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2104,"mutability":"mutable","name":"decimals","nameLocation":"14516:8:4","nodeType":"VariableDeclaration","scope":2119,"src":"14508:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2103,"name":"uint256","nodeType":"ElementaryTypeName","src":"14508:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2106,"mutability":"mutable","name":"err","nameLocation":"14540:3:4","nodeType":"VariableDeclaration","scope":2119,"src":"14526:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2105,"name":"string","nodeType":"ElementaryTypeName","src":"14526:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14480:64:4"},"returnParameters":{"id":2108,"nodeType":"ParameterList","parameters":[],"src":"14567:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2139,"nodeType":"FunctionDefinition","src":"14636:153:4","nodes":[],"body":{"id":2138,"nodeType":"Block","src":"14705:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2126,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2121,"src":"14719:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":2127,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2123,"src":"14727:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14719:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2137,"nodeType":"IfStatement","src":"14715:68:4","trueBody":{"id":2136,"nodeType":"Block","src":"14734:49:4","statements":[{"expression":{"arguments":[{"id":2132,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2121,"src":"14760:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2133,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2123,"src":"14766:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2129,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"14748:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14751:8:4","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":16447,"src":"14748:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":2134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14748:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2135,"nodeType":"ExpressionStatement","src":"14748:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"14645:8:4","parameters":{"id":2124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2121,"mutability":"mutable","name":"left","nameLocation":"14662:4:4","nodeType":"VariableDeclaration","scope":2139,"src":"14654:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2120,"name":"uint256","nodeType":"ElementaryTypeName","src":"14654:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2123,"mutability":"mutable","name":"right","nameLocation":"14676:5:4","nodeType":"VariableDeclaration","scope":2139,"src":"14668:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2122,"name":"uint256","nodeType":"ElementaryTypeName","src":"14668:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14653:29:4"},"returnParameters":{"id":2125,"nodeType":"ParameterList","parameters":[],"src":"14705:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2162,"nodeType":"FunctionDefinition","src":"14795:177:4","nodes":[],"body":{"id":2161,"nodeType":"Block","src":"14883:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2148,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2141,"src":"14897:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":2149,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2143,"src":"14905:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14897:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2160,"nodeType":"IfStatement","src":"14893:73:4","trueBody":{"id":2159,"nodeType":"Block","src":"14912:54:4","statements":[{"expression":{"arguments":[{"id":2154,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2141,"src":"14938:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2155,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2143,"src":"14944:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2156,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2145,"src":"14951:3:4","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":2151,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"14926:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14929:8:4","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":16457,"src":"14926:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":2157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14926:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2158,"nodeType":"ExpressionStatement","src":"14926:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"14804:8:4","parameters":{"id":2146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2141,"mutability":"mutable","name":"left","nameLocation":"14821:4:4","nodeType":"VariableDeclaration","scope":2162,"src":"14813:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2140,"name":"uint256","nodeType":"ElementaryTypeName","src":"14813:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2143,"mutability":"mutable","name":"right","nameLocation":"14835:5:4","nodeType":"VariableDeclaration","scope":2162,"src":"14827:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2142,"name":"uint256","nodeType":"ElementaryTypeName","src":"14827:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2145,"mutability":"mutable","name":"err","nameLocation":"14856:3:4","nodeType":"VariableDeclaration","scope":2162,"src":"14842:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2144,"name":"string","nodeType":"ElementaryTypeName","src":"14842:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14812:48:4"},"returnParameters":{"id":2147,"nodeType":"ParameterList","parameters":[],"src":"14883:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2180,"nodeType":"FunctionDefinition","src":"14978:152:4","nodes":[],"body":{"id":2179,"nodeType":"Block","src":"15072:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2174,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2164,"src":"15101:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2175,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2166,"src":"15107:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2176,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2168,"src":"15114:8:4","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":2171,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"15082:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15085:15:4","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":16405,"src":"15082:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15082:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2178,"nodeType":"ExpressionStatement","src":"15082:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"14987:15:4","parameters":{"id":2169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2164,"mutability":"mutable","name":"left","nameLocation":"15011:4:4","nodeType":"VariableDeclaration","scope":2180,"src":"15003:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2163,"name":"uint256","nodeType":"ElementaryTypeName","src":"15003:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2166,"mutability":"mutable","name":"right","nameLocation":"15025:5:4","nodeType":"VariableDeclaration","scope":2180,"src":"15017:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2165,"name":"uint256","nodeType":"ElementaryTypeName","src":"15017:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2168,"mutability":"mutable","name":"decimals","nameLocation":"15040:8:4","nodeType":"VariableDeclaration","scope":2180,"src":"15032:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2167,"name":"uint256","nodeType":"ElementaryTypeName","src":"15032:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15002:47:4"},"returnParameters":{"id":2170,"nodeType":"ParameterList","parameters":[],"src":"15072:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2201,"nodeType":"FunctionDefinition","src":"15136:176:4","nodes":[],"body":{"id":2200,"nodeType":"Block","src":"15249:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2194,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2182,"src":"15278:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2195,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2184,"src":"15284:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2196,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2186,"src":"15291:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2197,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2188,"src":"15301:3:4","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":2191,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"15259:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15262:15:4","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":16417,"src":"15259:18:4","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":2198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15259:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2199,"nodeType":"ExpressionStatement","src":"15259:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"15145:15:4","parameters":{"id":2189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2182,"mutability":"mutable","name":"left","nameLocation":"15169:4:4","nodeType":"VariableDeclaration","scope":2201,"src":"15161:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2181,"name":"uint256","nodeType":"ElementaryTypeName","src":"15161:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2184,"mutability":"mutable","name":"right","nameLocation":"15183:5:4","nodeType":"VariableDeclaration","scope":2201,"src":"15175:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2183,"name":"uint256","nodeType":"ElementaryTypeName","src":"15175:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2186,"mutability":"mutable","name":"decimals","nameLocation":"15198:8:4","nodeType":"VariableDeclaration","scope":2201,"src":"15190:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2185,"name":"uint256","nodeType":"ElementaryTypeName","src":"15190:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2188,"mutability":"mutable","name":"err","nameLocation":"15222:3:4","nodeType":"VariableDeclaration","scope":2201,"src":"15208:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2187,"name":"string","nodeType":"ElementaryTypeName","src":"15208:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15160:66:4"},"returnParameters":{"id":2190,"nodeType":"ParameterList","parameters":[],"src":"15249:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2221,"nodeType":"FunctionDefinition","src":"15318:151:4","nodes":[],"body":{"id":2220,"nodeType":"Block","src":"15385:84:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2208,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2203,"src":"15399:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":2209,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2205,"src":"15407:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"15399:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2219,"nodeType":"IfStatement","src":"15395:68:4","trueBody":{"id":2218,"nodeType":"Block","src":"15414:49:4","statements":[{"expression":{"arguments":[{"id":2214,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2203,"src":"15440:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2215,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2205,"src":"15446:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2211,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"15428:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15431:8:4","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":16465,"src":"15428:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":2216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15428:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2217,"nodeType":"ExpressionStatement","src":"15428:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"15327:8:4","parameters":{"id":2206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2203,"mutability":"mutable","name":"left","nameLocation":"15343:4:4","nodeType":"VariableDeclaration","scope":2221,"src":"15336:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2202,"name":"int256","nodeType":"ElementaryTypeName","src":"15336:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2205,"mutability":"mutable","name":"right","nameLocation":"15356:5:4","nodeType":"VariableDeclaration","scope":2221,"src":"15349:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2204,"name":"int256","nodeType":"ElementaryTypeName","src":"15349:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"15335:27:4"},"returnParameters":{"id":2207,"nodeType":"ParameterList","parameters":[],"src":"15385:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2244,"nodeType":"FunctionDefinition","src":"15475:175:4","nodes":[],"body":{"id":2243,"nodeType":"Block","src":"15561:89:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2230,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2223,"src":"15575:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":2231,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2225,"src":"15583:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"15575:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2242,"nodeType":"IfStatement","src":"15571:73:4","trueBody":{"id":2241,"nodeType":"Block","src":"15590:54:4","statements":[{"expression":{"arguments":[{"id":2236,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2223,"src":"15616:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2237,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2225,"src":"15622:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2238,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2227,"src":"15629:3:4","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":2233,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"15604:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15607:8:4","memberName":"assertGt","nodeType":"MemberAccess","referencedDeclaration":16475,"src":"15604:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":2239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15604:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2240,"nodeType":"ExpressionStatement","src":"15604:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"15484:8:4","parameters":{"id":2228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2223,"mutability":"mutable","name":"left","nameLocation":"15500:4:4","nodeType":"VariableDeclaration","scope":2244,"src":"15493:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2222,"name":"int256","nodeType":"ElementaryTypeName","src":"15493:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2225,"mutability":"mutable","name":"right","nameLocation":"15513:5:4","nodeType":"VariableDeclaration","scope":2244,"src":"15506:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2224,"name":"int256","nodeType":"ElementaryTypeName","src":"15506:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2227,"mutability":"mutable","name":"err","nameLocation":"15534:3:4","nodeType":"VariableDeclaration","scope":2244,"src":"15520:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2226,"name":"string","nodeType":"ElementaryTypeName","src":"15520:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15492:46:4"},"returnParameters":{"id":2229,"nodeType":"ParameterList","parameters":[],"src":"15561:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2262,"nodeType":"FunctionDefinition","src":"15656:150:4","nodes":[],"body":{"id":2261,"nodeType":"Block","src":"15748:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2256,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2246,"src":"15777:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2257,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"15783:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2258,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"15790:8:4","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":2253,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"15758:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15761:15:4","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":16427,"src":"15758:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15758:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2260,"nodeType":"ExpressionStatement","src":"15758:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"15665:15:4","parameters":{"id":2251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2246,"mutability":"mutable","name":"left","nameLocation":"15688:4:4","nodeType":"VariableDeclaration","scope":2262,"src":"15681:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2245,"name":"int256","nodeType":"ElementaryTypeName","src":"15681:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2248,"mutability":"mutable","name":"right","nameLocation":"15701:5:4","nodeType":"VariableDeclaration","scope":2262,"src":"15694:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2247,"name":"int256","nodeType":"ElementaryTypeName","src":"15694:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2250,"mutability":"mutable","name":"decimals","nameLocation":"15716:8:4","nodeType":"VariableDeclaration","scope":2262,"src":"15708:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2249,"name":"uint256","nodeType":"ElementaryTypeName","src":"15708:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15680:45:4"},"returnParameters":{"id":2252,"nodeType":"ParameterList","parameters":[],"src":"15748:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2283,"nodeType":"FunctionDefinition","src":"15812:174:4","nodes":[],"body":{"id":2282,"nodeType":"Block","src":"15923:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2276,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2264,"src":"15952:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2277,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2266,"src":"15958:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2278,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2268,"src":"15965:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2279,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2270,"src":"15975:3:4","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":2273,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"15933:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15936:15:4","memberName":"assertGtDecimal","nodeType":"MemberAccess","referencedDeclaration":16439,"src":"15933:18:4","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":2280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15933:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2281,"nodeType":"ExpressionStatement","src":"15933:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"15821:15:4","parameters":{"id":2271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2264,"mutability":"mutable","name":"left","nameLocation":"15844:4:4","nodeType":"VariableDeclaration","scope":2283,"src":"15837:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2263,"name":"int256","nodeType":"ElementaryTypeName","src":"15837:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2266,"mutability":"mutable","name":"right","nameLocation":"15857:5:4","nodeType":"VariableDeclaration","scope":2283,"src":"15850:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2265,"name":"int256","nodeType":"ElementaryTypeName","src":"15850:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2268,"mutability":"mutable","name":"decimals","nameLocation":"15872:8:4","nodeType":"VariableDeclaration","scope":2283,"src":"15864:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2267,"name":"uint256","nodeType":"ElementaryTypeName","src":"15864:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2270,"mutability":"mutable","name":"err","nameLocation":"15896:3:4","nodeType":"VariableDeclaration","scope":2283,"src":"15882:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2269,"name":"string","nodeType":"ElementaryTypeName","src":"15882:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15836:64:4"},"returnParameters":{"id":2272,"nodeType":"ParameterList","parameters":[],"src":"15923:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2303,"nodeType":"FunctionDefinition","src":"15992:152:4","nodes":[],"body":{"id":2302,"nodeType":"Block","src":"16061:83:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2290,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2285,"src":"16075:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2291,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2287,"src":"16082:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16075:12:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2301,"nodeType":"IfStatement","src":"16071:67:4","trueBody":{"id":2300,"nodeType":"Block","src":"16089:49:4","statements":[{"expression":{"arguments":[{"id":2296,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2285,"src":"16115:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2297,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2287,"src":"16121:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2293,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"16103:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16106:8:4","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":16527,"src":"16103:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":2298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16103:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2299,"nodeType":"ExpressionStatement","src":"16103:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"16001:8:4","parameters":{"id":2288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2285,"mutability":"mutable","name":"left","nameLocation":"16018:4:4","nodeType":"VariableDeclaration","scope":2303,"src":"16010:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2284,"name":"uint256","nodeType":"ElementaryTypeName","src":"16010:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2287,"mutability":"mutable","name":"right","nameLocation":"16032:5:4","nodeType":"VariableDeclaration","scope":2303,"src":"16024:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2286,"name":"uint256","nodeType":"ElementaryTypeName","src":"16024:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16009:29:4"},"returnParameters":{"id":2289,"nodeType":"ParameterList","parameters":[],"src":"16061:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2326,"nodeType":"FunctionDefinition","src":"16150:176:4","nodes":[],"body":{"id":2325,"nodeType":"Block","src":"16238:88:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2312,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2305,"src":"16252:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2313,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2307,"src":"16259:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16252:12:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2324,"nodeType":"IfStatement","src":"16248:72:4","trueBody":{"id":2323,"nodeType":"Block","src":"16266:54:4","statements":[{"expression":{"arguments":[{"id":2318,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2305,"src":"16292:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2319,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2307,"src":"16298:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2320,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2309,"src":"16305:3:4","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":2315,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"16280:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16283:8:4","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":16537,"src":"16280:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":2321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16280:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2322,"nodeType":"ExpressionStatement","src":"16280:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"16159:8:4","parameters":{"id":2310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2305,"mutability":"mutable","name":"left","nameLocation":"16176:4:4","nodeType":"VariableDeclaration","scope":2326,"src":"16168:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2304,"name":"uint256","nodeType":"ElementaryTypeName","src":"16168:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2307,"mutability":"mutable","name":"right","nameLocation":"16190:5:4","nodeType":"VariableDeclaration","scope":2326,"src":"16182:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2306,"name":"uint256","nodeType":"ElementaryTypeName","src":"16182:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2309,"mutability":"mutable","name":"err","nameLocation":"16211:3:4","nodeType":"VariableDeclaration","scope":2326,"src":"16197:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2308,"name":"string","nodeType":"ElementaryTypeName","src":"16197:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16167:48:4"},"returnParameters":{"id":2311,"nodeType":"ParameterList","parameters":[],"src":"16238:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2344,"nodeType":"FunctionDefinition","src":"16332:152:4","nodes":[],"body":{"id":2343,"nodeType":"Block","src":"16426:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2338,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2328,"src":"16455:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2339,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2330,"src":"16461:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2340,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2332,"src":"16468:8:4","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":2335,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"16436:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16439:15:4","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":16485,"src":"16436:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16436:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2342,"nodeType":"ExpressionStatement","src":"16436:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"16341:15:4","parameters":{"id":2333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2328,"mutability":"mutable","name":"left","nameLocation":"16365:4:4","nodeType":"VariableDeclaration","scope":2344,"src":"16357:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2327,"name":"uint256","nodeType":"ElementaryTypeName","src":"16357:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2330,"mutability":"mutable","name":"right","nameLocation":"16379:5:4","nodeType":"VariableDeclaration","scope":2344,"src":"16371:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2329,"name":"uint256","nodeType":"ElementaryTypeName","src":"16371:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2332,"mutability":"mutable","name":"decimals","nameLocation":"16394:8:4","nodeType":"VariableDeclaration","scope":2344,"src":"16386:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2331,"name":"uint256","nodeType":"ElementaryTypeName","src":"16386:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16356:47:4"},"returnParameters":{"id":2334,"nodeType":"ParameterList","parameters":[],"src":"16426:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2365,"nodeType":"FunctionDefinition","src":"16490:176:4","nodes":[],"body":{"id":2364,"nodeType":"Block","src":"16603:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2358,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2346,"src":"16632:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2359,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2348,"src":"16638:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2360,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"16645:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2361,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2352,"src":"16655:3:4","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":2355,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"16613:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16616:15:4","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":16497,"src":"16613:18:4","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":2362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16613:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2363,"nodeType":"ExpressionStatement","src":"16613:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"16499:15:4","parameters":{"id":2353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2346,"mutability":"mutable","name":"left","nameLocation":"16523:4:4","nodeType":"VariableDeclaration","scope":2365,"src":"16515:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2345,"name":"uint256","nodeType":"ElementaryTypeName","src":"16515:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2348,"mutability":"mutable","name":"right","nameLocation":"16537:5:4","nodeType":"VariableDeclaration","scope":2365,"src":"16529:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2347,"name":"uint256","nodeType":"ElementaryTypeName","src":"16529:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2350,"mutability":"mutable","name":"decimals","nameLocation":"16552:8:4","nodeType":"VariableDeclaration","scope":2365,"src":"16544:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2349,"name":"uint256","nodeType":"ElementaryTypeName","src":"16544:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2352,"mutability":"mutable","name":"err","nameLocation":"16576:3:4","nodeType":"VariableDeclaration","scope":2365,"src":"16562:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2351,"name":"string","nodeType":"ElementaryTypeName","src":"16562:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16514:66:4"},"returnParameters":{"id":2354,"nodeType":"ParameterList","parameters":[],"src":"16603:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2385,"nodeType":"FunctionDefinition","src":"16672:150:4","nodes":[],"body":{"id":2384,"nodeType":"Block","src":"16739:83:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2374,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2372,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2367,"src":"16753:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2373,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2369,"src":"16760:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"16753:12:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2383,"nodeType":"IfStatement","src":"16749:67:4","trueBody":{"id":2382,"nodeType":"Block","src":"16767:49:4","statements":[{"expression":{"arguments":[{"id":2378,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2367,"src":"16793:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2379,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2369,"src":"16799:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2375,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"16781:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16784:8:4","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":16545,"src":"16781:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":2380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16781:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2381,"nodeType":"ExpressionStatement","src":"16781:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"16681:8:4","parameters":{"id":2370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2367,"mutability":"mutable","name":"left","nameLocation":"16697:4:4","nodeType":"VariableDeclaration","scope":2385,"src":"16690:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2366,"name":"int256","nodeType":"ElementaryTypeName","src":"16690:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2369,"mutability":"mutable","name":"right","nameLocation":"16710:5:4","nodeType":"VariableDeclaration","scope":2385,"src":"16703:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2368,"name":"int256","nodeType":"ElementaryTypeName","src":"16703:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"16689:27:4"},"returnParameters":{"id":2371,"nodeType":"ParameterList","parameters":[],"src":"16739:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2408,"nodeType":"FunctionDefinition","src":"16828:174:4","nodes":[],"body":{"id":2407,"nodeType":"Block","src":"16914:88:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2394,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2387,"src":"16928:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":2395,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2389,"src":"16935:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"16928:12:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2406,"nodeType":"IfStatement","src":"16924:72:4","trueBody":{"id":2405,"nodeType":"Block","src":"16942:54:4","statements":[{"expression":{"arguments":[{"id":2400,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2387,"src":"16968:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2401,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2389,"src":"16974:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2402,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2391,"src":"16981:3:4","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":2397,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"16956:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16959:8:4","memberName":"assertLe","nodeType":"MemberAccess","referencedDeclaration":16555,"src":"16956:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":2403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16956:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2404,"nodeType":"ExpressionStatement","src":"16956:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"16837:8:4","parameters":{"id":2392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2387,"mutability":"mutable","name":"left","nameLocation":"16853:4:4","nodeType":"VariableDeclaration","scope":2408,"src":"16846:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2386,"name":"int256","nodeType":"ElementaryTypeName","src":"16846:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2389,"mutability":"mutable","name":"right","nameLocation":"16866:5:4","nodeType":"VariableDeclaration","scope":2408,"src":"16859:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2388,"name":"int256","nodeType":"ElementaryTypeName","src":"16859:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2391,"mutability":"mutable","name":"err","nameLocation":"16887:3:4","nodeType":"VariableDeclaration","scope":2408,"src":"16873:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2390,"name":"string","nodeType":"ElementaryTypeName","src":"16873:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16845:46:4"},"returnParameters":{"id":2393,"nodeType":"ParameterList","parameters":[],"src":"16914:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2426,"nodeType":"FunctionDefinition","src":"17008:150:4","nodes":[],"body":{"id":2425,"nodeType":"Block","src":"17100:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2420,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2410,"src":"17129:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2421,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2412,"src":"17135:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2422,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2414,"src":"17142:8:4","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":2417,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"17110:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17113:15:4","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":16507,"src":"17110:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17110:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2424,"nodeType":"ExpressionStatement","src":"17110:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"17017:15:4","parameters":{"id":2415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2410,"mutability":"mutable","name":"left","nameLocation":"17040:4:4","nodeType":"VariableDeclaration","scope":2426,"src":"17033:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2409,"name":"int256","nodeType":"ElementaryTypeName","src":"17033:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2412,"mutability":"mutable","name":"right","nameLocation":"17053:5:4","nodeType":"VariableDeclaration","scope":2426,"src":"17046:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2411,"name":"int256","nodeType":"ElementaryTypeName","src":"17046:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2414,"mutability":"mutable","name":"decimals","nameLocation":"17068:8:4","nodeType":"VariableDeclaration","scope":2426,"src":"17060:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2413,"name":"uint256","nodeType":"ElementaryTypeName","src":"17060:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17032:45:4"},"returnParameters":{"id":2416,"nodeType":"ParameterList","parameters":[],"src":"17100:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2447,"nodeType":"FunctionDefinition","src":"17164:174:4","nodes":[],"body":{"id":2446,"nodeType":"Block","src":"17275:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2440,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2428,"src":"17304:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2441,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2430,"src":"17310:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2442,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2432,"src":"17317:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2443,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2434,"src":"17327:3:4","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":2437,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"17285:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17288:15:4","memberName":"assertLeDecimal","nodeType":"MemberAccess","referencedDeclaration":16519,"src":"17285:18:4","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":2444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17285:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2445,"nodeType":"ExpressionStatement","src":"17285:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"17173:15:4","parameters":{"id":2435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2428,"mutability":"mutable","name":"left","nameLocation":"17196:4:4","nodeType":"VariableDeclaration","scope":2447,"src":"17189:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2427,"name":"int256","nodeType":"ElementaryTypeName","src":"17189:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2430,"mutability":"mutable","name":"right","nameLocation":"17209:5:4","nodeType":"VariableDeclaration","scope":2447,"src":"17202:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2429,"name":"int256","nodeType":"ElementaryTypeName","src":"17202:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2432,"mutability":"mutable","name":"decimals","nameLocation":"17224:8:4","nodeType":"VariableDeclaration","scope":2447,"src":"17216:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2431,"name":"uint256","nodeType":"ElementaryTypeName","src":"17216:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2434,"mutability":"mutable","name":"err","nameLocation":"17248:3:4","nodeType":"VariableDeclaration","scope":2447,"src":"17234:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2433,"name":"string","nodeType":"ElementaryTypeName","src":"17234:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17188:64:4"},"returnParameters":{"id":2436,"nodeType":"ParameterList","parameters":[],"src":"17275:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2467,"nodeType":"FunctionDefinition","src":"17344:152:4","nodes":[],"body":{"id":2466,"nodeType":"Block","src":"17413:83:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2454,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2449,"src":"17427:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2455,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2451,"src":"17434:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17427:12:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2465,"nodeType":"IfStatement","src":"17423:67:4","trueBody":{"id":2464,"nodeType":"Block","src":"17441:49:4","statements":[{"expression":{"arguments":[{"id":2460,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2449,"src":"17467:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2461,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2451,"src":"17473:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2457,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"17455:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17458:8:4","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":16367,"src":"17455:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure external"}},"id":2462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17455:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2463,"nodeType":"ExpressionStatement","src":"17455:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"17353:8:4","parameters":{"id":2452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2449,"mutability":"mutable","name":"left","nameLocation":"17370:4:4","nodeType":"VariableDeclaration","scope":2467,"src":"17362:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2448,"name":"uint256","nodeType":"ElementaryTypeName","src":"17362:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2451,"mutability":"mutable","name":"right","nameLocation":"17384:5:4","nodeType":"VariableDeclaration","scope":2467,"src":"17376:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2450,"name":"uint256","nodeType":"ElementaryTypeName","src":"17376:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17361:29:4"},"returnParameters":{"id":2453,"nodeType":"ParameterList","parameters":[],"src":"17413:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2490,"nodeType":"FunctionDefinition","src":"17502:176:4","nodes":[],"body":{"id":2489,"nodeType":"Block","src":"17590:88:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2476,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2469,"src":"17604:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2477,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2471,"src":"17611:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17604:12:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2488,"nodeType":"IfStatement","src":"17600:72:4","trueBody":{"id":2487,"nodeType":"Block","src":"17618:54:4","statements":[{"expression":{"arguments":[{"id":2482,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2469,"src":"17644:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2483,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2471,"src":"17650:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2484,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2473,"src":"17657:3:4","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":2479,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"17632:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17635:8:4","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":16377,"src":"17632:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory) pure external"}},"id":2485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17632:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2486,"nodeType":"ExpressionStatement","src":"17632:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"17511:8:4","parameters":{"id":2474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2469,"mutability":"mutable","name":"left","nameLocation":"17528:4:4","nodeType":"VariableDeclaration","scope":2490,"src":"17520:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2468,"name":"uint256","nodeType":"ElementaryTypeName","src":"17520:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2471,"mutability":"mutable","name":"right","nameLocation":"17542:5:4","nodeType":"VariableDeclaration","scope":2490,"src":"17534:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2470,"name":"uint256","nodeType":"ElementaryTypeName","src":"17534:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2473,"mutability":"mutable","name":"err","nameLocation":"17563:3:4","nodeType":"VariableDeclaration","scope":2490,"src":"17549:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2472,"name":"string","nodeType":"ElementaryTypeName","src":"17549:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17519:48:4"},"returnParameters":{"id":2475,"nodeType":"ParameterList","parameters":[],"src":"17590:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2508,"nodeType":"FunctionDefinition","src":"17684:152:4","nodes":[],"body":{"id":2507,"nodeType":"Block","src":"17778:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2502,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2492,"src":"17807:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2503,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2494,"src":"17813:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2504,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2496,"src":"17820:8:4","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":2499,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"17788:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17791:15:4","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":16325,"src":"17788:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17788:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2506,"nodeType":"ExpressionStatement","src":"17788:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"17693:15:4","parameters":{"id":2497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2492,"mutability":"mutable","name":"left","nameLocation":"17717:4:4","nodeType":"VariableDeclaration","scope":2508,"src":"17709:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2491,"name":"uint256","nodeType":"ElementaryTypeName","src":"17709:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2494,"mutability":"mutable","name":"right","nameLocation":"17731:5:4","nodeType":"VariableDeclaration","scope":2508,"src":"17723:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2493,"name":"uint256","nodeType":"ElementaryTypeName","src":"17723:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2496,"mutability":"mutable","name":"decimals","nameLocation":"17746:8:4","nodeType":"VariableDeclaration","scope":2508,"src":"17738:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2495,"name":"uint256","nodeType":"ElementaryTypeName","src":"17738:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17708:47:4"},"returnParameters":{"id":2498,"nodeType":"ParameterList","parameters":[],"src":"17778:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2529,"nodeType":"FunctionDefinition","src":"17842:176:4","nodes":[],"body":{"id":2528,"nodeType":"Block","src":"17955:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2522,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2510,"src":"17984:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2523,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2512,"src":"17990:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2524,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2514,"src":"17997:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2525,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2516,"src":"18007:3:4","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":2519,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"17965:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17968:15:4","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":16337,"src":"17965:18:4","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":2526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17965:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2527,"nodeType":"ExpressionStatement","src":"17965:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"17851:15:4","parameters":{"id":2517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2510,"mutability":"mutable","name":"left","nameLocation":"17875:4:4","nodeType":"VariableDeclaration","scope":2529,"src":"17867:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2509,"name":"uint256","nodeType":"ElementaryTypeName","src":"17867:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2512,"mutability":"mutable","name":"right","nameLocation":"17889:5:4","nodeType":"VariableDeclaration","scope":2529,"src":"17881:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2511,"name":"uint256","nodeType":"ElementaryTypeName","src":"17881:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2514,"mutability":"mutable","name":"decimals","nameLocation":"17904:8:4","nodeType":"VariableDeclaration","scope":2529,"src":"17896:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2513,"name":"uint256","nodeType":"ElementaryTypeName","src":"17896:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2516,"mutability":"mutable","name":"err","nameLocation":"17928:3:4","nodeType":"VariableDeclaration","scope":2529,"src":"17914:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2515,"name":"string","nodeType":"ElementaryTypeName","src":"17914:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17866:66:4"},"returnParameters":{"id":2518,"nodeType":"ParameterList","parameters":[],"src":"17955:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2549,"nodeType":"FunctionDefinition","src":"18024:150:4","nodes":[],"body":{"id":2548,"nodeType":"Block","src":"18091:83:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2536,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2531,"src":"18105:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2537,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2533,"src":"18112:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"18105:12:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2547,"nodeType":"IfStatement","src":"18101:67:4","trueBody":{"id":2546,"nodeType":"Block","src":"18119:49:4","statements":[{"expression":{"arguments":[{"id":2542,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2531,"src":"18145:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2543,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2533,"src":"18151:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":2539,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"18133:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18136:8:4","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":16385,"src":"18133:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256) pure external"}},"id":2544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18133:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2545,"nodeType":"ExpressionStatement","src":"18133:24:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"18033:8:4","parameters":{"id":2534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2531,"mutability":"mutable","name":"left","nameLocation":"18049:4:4","nodeType":"VariableDeclaration","scope":2549,"src":"18042:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2530,"name":"int256","nodeType":"ElementaryTypeName","src":"18042:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2533,"mutability":"mutable","name":"right","nameLocation":"18062:5:4","nodeType":"VariableDeclaration","scope":2549,"src":"18055:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2532,"name":"int256","nodeType":"ElementaryTypeName","src":"18055:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"18041:27:4"},"returnParameters":{"id":2535,"nodeType":"ParameterList","parameters":[],"src":"18091:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2572,"nodeType":"FunctionDefinition","src":"18180:174:4","nodes":[],"body":{"id":2571,"nodeType":"Block","src":"18266:88:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":2560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2558,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2551,"src":"18280:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2559,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2553,"src":"18287:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"18280:12:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2570,"nodeType":"IfStatement","src":"18276:72:4","trueBody":{"id":2569,"nodeType":"Block","src":"18294:54:4","statements":[{"expression":{"arguments":[{"id":2564,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2551,"src":"18320:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2565,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2553,"src":"18326:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2566,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2555,"src":"18333:3:4","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":2561,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"18308:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18311:8:4","memberName":"assertGe","nodeType":"MemberAccess","referencedDeclaration":16395,"src":"18308:11:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory) pure external"}},"id":2567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18308:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2568,"nodeType":"ExpressionStatement","src":"18308:29:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"18189:8:4","parameters":{"id":2556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2551,"mutability":"mutable","name":"left","nameLocation":"18205:4:4","nodeType":"VariableDeclaration","scope":2572,"src":"18198:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2550,"name":"int256","nodeType":"ElementaryTypeName","src":"18198:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2553,"mutability":"mutable","name":"right","nameLocation":"18218:5:4","nodeType":"VariableDeclaration","scope":2572,"src":"18211:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2552,"name":"int256","nodeType":"ElementaryTypeName","src":"18211:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2555,"mutability":"mutable","name":"err","nameLocation":"18239:3:4","nodeType":"VariableDeclaration","scope":2572,"src":"18225:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2554,"name":"string","nodeType":"ElementaryTypeName","src":"18225:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18197:46:4"},"returnParameters":{"id":2557,"nodeType":"ParameterList","parameters":[],"src":"18266:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2590,"nodeType":"FunctionDefinition","src":"18360:150:4","nodes":[],"body":{"id":2589,"nodeType":"Block","src":"18452:58:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2584,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2574,"src":"18481:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2585,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2576,"src":"18487:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2586,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2578,"src":"18494:8:4","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":2581,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"18462:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18465:15:4","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":16347,"src":"18462:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18462:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2588,"nodeType":"ExpressionStatement","src":"18462:41:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"18369:15:4","parameters":{"id":2579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2574,"mutability":"mutable","name":"left","nameLocation":"18392:4:4","nodeType":"VariableDeclaration","scope":2590,"src":"18385:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2573,"name":"int256","nodeType":"ElementaryTypeName","src":"18385:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2576,"mutability":"mutable","name":"right","nameLocation":"18405:5:4","nodeType":"VariableDeclaration","scope":2590,"src":"18398:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2575,"name":"int256","nodeType":"ElementaryTypeName","src":"18398:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2578,"mutability":"mutable","name":"decimals","nameLocation":"18420:8:4","nodeType":"VariableDeclaration","scope":2590,"src":"18412:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2577,"name":"uint256","nodeType":"ElementaryTypeName","src":"18412:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18384:45:4"},"returnParameters":{"id":2580,"nodeType":"ParameterList","parameters":[],"src":"18452:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2611,"nodeType":"FunctionDefinition","src":"18516:174:4","nodes":[],"body":{"id":2610,"nodeType":"Block","src":"18627:63:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2604,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2592,"src":"18656:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2605,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2594,"src":"18662:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2606,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2596,"src":"18669:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2607,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2598,"src":"18679:3:4","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":2601,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"18637:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18640:15:4","memberName":"assertGeDecimal","nodeType":"MemberAccess","referencedDeclaration":16359,"src":"18637:18:4","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":2608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18637:46:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2609,"nodeType":"ExpressionStatement","src":"18637:46:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"18525:15:4","parameters":{"id":2599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2592,"mutability":"mutable","name":"left","nameLocation":"18548:4:4","nodeType":"VariableDeclaration","scope":2611,"src":"18541:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2591,"name":"int256","nodeType":"ElementaryTypeName","src":"18541:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2594,"mutability":"mutable","name":"right","nameLocation":"18561:5:4","nodeType":"VariableDeclaration","scope":2611,"src":"18554:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2593,"name":"int256","nodeType":"ElementaryTypeName","src":"18554:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2596,"mutability":"mutable","name":"decimals","nameLocation":"18576:8:4","nodeType":"VariableDeclaration","scope":2611,"src":"18568:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2595,"name":"uint256","nodeType":"ElementaryTypeName","src":"18568:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2598,"mutability":"mutable","name":"err","nameLocation":"18600:3:4","nodeType":"VariableDeclaration","scope":2611,"src":"18586:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2597,"name":"string","nodeType":"ElementaryTypeName","src":"18586:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18540:64:4"},"returnParameters":{"id":2600,"nodeType":"ParameterList","parameters":[],"src":"18627:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2629,"nodeType":"FunctionDefinition","src":"18696:156:4","nodes":[],"body":{"id":2628,"nodeType":"Block","src":"18792:60:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2623,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2613,"src":"18823:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2624,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2615,"src":"18829:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2625,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2617,"src":"18836:8:4","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":2620,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"18802:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18805:17:4","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":15847,"src":"18802:20:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18802:43:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2627,"nodeType":"ExpressionStatement","src":"18802:43:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"18705:17:4","parameters":{"id":2618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2613,"mutability":"mutable","name":"left","nameLocation":"18731:4:4","nodeType":"VariableDeclaration","scope":2629,"src":"18723:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2612,"name":"uint256","nodeType":"ElementaryTypeName","src":"18723:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2615,"mutability":"mutable","name":"right","nameLocation":"18745:5:4","nodeType":"VariableDeclaration","scope":2629,"src":"18737:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2614,"name":"uint256","nodeType":"ElementaryTypeName","src":"18737:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2617,"mutability":"mutable","name":"maxDelta","nameLocation":"18760:8:4","nodeType":"VariableDeclaration","scope":2629,"src":"18752:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2616,"name":"uint256","nodeType":"ElementaryTypeName","src":"18752:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18722:47:4"},"returnParameters":{"id":2619,"nodeType":"ParameterList","parameters":[],"src":"18792:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2650,"nodeType":"FunctionDefinition","src":"18858:208:4","nodes":[],"body":{"id":2649,"nodeType":"Block","src":"19001:65:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2643,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2631,"src":"19032:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2644,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2633,"src":"19038:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2645,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2635,"src":"19045:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2646,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2637,"src":"19055:3:4","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":2640,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"19011:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19014:17:4","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":15859,"src":"19011:20:4","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":2647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19011:48:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2648,"nodeType":"ExpressionStatement","src":"19011:48:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"18867:17:4","parameters":{"id":2638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2631,"mutability":"mutable","name":"left","nameLocation":"18893:4:4","nodeType":"VariableDeclaration","scope":2650,"src":"18885:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2630,"name":"uint256","nodeType":"ElementaryTypeName","src":"18885:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2633,"mutability":"mutable","name":"right","nameLocation":"18907:5:4","nodeType":"VariableDeclaration","scope":2650,"src":"18899:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2632,"name":"uint256","nodeType":"ElementaryTypeName","src":"18899:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2635,"mutability":"mutable","name":"maxDelta","nameLocation":"18922:8:4","nodeType":"VariableDeclaration","scope":2650,"src":"18914:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2634,"name":"uint256","nodeType":"ElementaryTypeName","src":"18914:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2637,"mutability":"mutable","name":"err","nameLocation":"18946:3:4","nodeType":"VariableDeclaration","scope":2650,"src":"18932:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2636,"name":"string","nodeType":"ElementaryTypeName","src":"18932:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18884:66:4"},"returnParameters":{"id":2639,"nodeType":"ParameterList","parameters":[],"src":"19001:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2671,"nodeType":"FunctionDefinition","src":"19072:226:4","nodes":[],"body":{"id":2670,"nodeType":"Block","src":"19221:77:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2664,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2652,"src":"19259:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2665,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2654,"src":"19265:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2666,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2656,"src":"19272:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2667,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2658,"src":"19282:8:4","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":2661,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"19231:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19234:24:4","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":15797,"src":"19231:27:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256) pure external"}},"id":2668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19231:60:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2669,"nodeType":"ExpressionStatement","src":"19231:60:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"19081:24:4","parameters":{"id":2659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2652,"mutability":"mutable","name":"left","nameLocation":"19114:4:4","nodeType":"VariableDeclaration","scope":2671,"src":"19106:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2651,"name":"uint256","nodeType":"ElementaryTypeName","src":"19106:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2654,"mutability":"mutable","name":"right","nameLocation":"19128:5:4","nodeType":"VariableDeclaration","scope":2671,"src":"19120:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2653,"name":"uint256","nodeType":"ElementaryTypeName","src":"19120:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2656,"mutability":"mutable","name":"maxDelta","nameLocation":"19143:8:4","nodeType":"VariableDeclaration","scope":2671,"src":"19135:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2655,"name":"uint256","nodeType":"ElementaryTypeName","src":"19135:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2658,"mutability":"mutable","name":"decimals","nameLocation":"19161:8:4","nodeType":"VariableDeclaration","scope":2671,"src":"19153:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2657,"name":"uint256","nodeType":"ElementaryTypeName","src":"19153:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19105:65:4"},"returnParameters":{"id":2660,"nodeType":"ParameterList","parameters":[],"src":"19221:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2695,"nodeType":"FunctionDefinition","src":"19304:268:4","nodes":[],"body":{"id":2694,"nodeType":"Block","src":"19490:82:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2687,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2673,"src":"19528:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2688,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2675,"src":"19534:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2689,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2677,"src":"19541:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2690,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2679,"src":"19551:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2691,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2681,"src":"19561:3:4","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":2684,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"19500:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19503:24:4","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":15811,"src":"19500:27:4","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":2692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19500:65:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2693,"nodeType":"ExpressionStatement","src":"19500:65:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"19313:24:4","parameters":{"id":2682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2673,"mutability":"mutable","name":"left","nameLocation":"19355:4:4","nodeType":"VariableDeclaration","scope":2695,"src":"19347:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2672,"name":"uint256","nodeType":"ElementaryTypeName","src":"19347:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2675,"mutability":"mutable","name":"right","nameLocation":"19377:5:4","nodeType":"VariableDeclaration","scope":2695,"src":"19369:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2674,"name":"uint256","nodeType":"ElementaryTypeName","src":"19369:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2677,"mutability":"mutable","name":"maxDelta","nameLocation":"19400:8:4","nodeType":"VariableDeclaration","scope":2695,"src":"19392:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2676,"name":"uint256","nodeType":"ElementaryTypeName","src":"19392:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2679,"mutability":"mutable","name":"decimals","nameLocation":"19426:8:4","nodeType":"VariableDeclaration","scope":2695,"src":"19418:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2678,"name":"uint256","nodeType":"ElementaryTypeName","src":"19418:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2681,"mutability":"mutable","name":"err","nameLocation":"19458:3:4","nodeType":"VariableDeclaration","scope":2695,"src":"19444:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2680,"name":"string","nodeType":"ElementaryTypeName","src":"19444:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19337:130:4"},"returnParameters":{"id":2683,"nodeType":"ParameterList","parameters":[],"src":"19490:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2713,"nodeType":"FunctionDefinition","src":"19578:154:4","nodes":[],"body":{"id":2712,"nodeType":"Block","src":"19672:60:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2707,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2697,"src":"19703:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2708,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2699,"src":"19709:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2709,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2701,"src":"19716:8:4","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":2704,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"19682:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19685:17:4","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":15869,"src":"19682:20:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19682:43:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2711,"nodeType":"ExpressionStatement","src":"19682:43:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"19587:17:4","parameters":{"id":2702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2697,"mutability":"mutable","name":"left","nameLocation":"19612:4:4","nodeType":"VariableDeclaration","scope":2713,"src":"19605:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2696,"name":"int256","nodeType":"ElementaryTypeName","src":"19605:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2699,"mutability":"mutable","name":"right","nameLocation":"19625:5:4","nodeType":"VariableDeclaration","scope":2713,"src":"19618:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2698,"name":"int256","nodeType":"ElementaryTypeName","src":"19618:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2701,"mutability":"mutable","name":"maxDelta","nameLocation":"19640:8:4","nodeType":"VariableDeclaration","scope":2713,"src":"19632:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2700,"name":"uint256","nodeType":"ElementaryTypeName","src":"19632:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19604:45:4"},"returnParameters":{"id":2703,"nodeType":"ParameterList","parameters":[],"src":"19672:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2734,"nodeType":"FunctionDefinition","src":"19738:178:4","nodes":[],"body":{"id":2733,"nodeType":"Block","src":"19851:65:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2727,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2715,"src":"19882:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2728,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2717,"src":"19888:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2729,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2719,"src":"19895:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2730,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2721,"src":"19905:3:4","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":2724,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"19861:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19864:17:4","memberName":"assertApproxEqAbs","nodeType":"MemberAccess","referencedDeclaration":15881,"src":"19861:20:4","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":2731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19861:48:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2732,"nodeType":"ExpressionStatement","src":"19861:48:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"19747:17:4","parameters":{"id":2722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2715,"mutability":"mutable","name":"left","nameLocation":"19772:4:4","nodeType":"VariableDeclaration","scope":2734,"src":"19765:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2714,"name":"int256","nodeType":"ElementaryTypeName","src":"19765:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2717,"mutability":"mutable","name":"right","nameLocation":"19785:5:4","nodeType":"VariableDeclaration","scope":2734,"src":"19778:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2716,"name":"int256","nodeType":"ElementaryTypeName","src":"19778:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2719,"mutability":"mutable","name":"maxDelta","nameLocation":"19800:8:4","nodeType":"VariableDeclaration","scope":2734,"src":"19792:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2718,"name":"uint256","nodeType":"ElementaryTypeName","src":"19792:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2721,"mutability":"mutable","name":"err","nameLocation":"19824:3:4","nodeType":"VariableDeclaration","scope":2734,"src":"19810:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2720,"name":"string","nodeType":"ElementaryTypeName","src":"19810:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19764:64:4"},"returnParameters":{"id":2723,"nodeType":"ParameterList","parameters":[],"src":"19851:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2755,"nodeType":"FunctionDefinition","src":"19922:224:4","nodes":[],"body":{"id":2754,"nodeType":"Block","src":"20069:77:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2748,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2736,"src":"20107:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2749,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2738,"src":"20113:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2750,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2740,"src":"20120:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2751,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2742,"src":"20130:8:4","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":2745,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"20079:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20082:24:4","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":15823,"src":"20079:27:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256,uint256) pure external"}},"id":2752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20079:60:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2753,"nodeType":"ExpressionStatement","src":"20079:60:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"19931:24:4","parameters":{"id":2743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2736,"mutability":"mutable","name":"left","nameLocation":"19963:4:4","nodeType":"VariableDeclaration","scope":2755,"src":"19956:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2735,"name":"int256","nodeType":"ElementaryTypeName","src":"19956:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2738,"mutability":"mutable","name":"right","nameLocation":"19976:5:4","nodeType":"VariableDeclaration","scope":2755,"src":"19969:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2737,"name":"int256","nodeType":"ElementaryTypeName","src":"19969:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2740,"mutability":"mutable","name":"maxDelta","nameLocation":"19991:8:4","nodeType":"VariableDeclaration","scope":2755,"src":"19983:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2739,"name":"uint256","nodeType":"ElementaryTypeName","src":"19983:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2742,"mutability":"mutable","name":"decimals","nameLocation":"20009:8:4","nodeType":"VariableDeclaration","scope":2755,"src":"20001:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2741,"name":"uint256","nodeType":"ElementaryTypeName","src":"20001:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19955:63:4"},"returnParameters":{"id":2744,"nodeType":"ParameterList","parameters":[],"src":"20069:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2779,"nodeType":"FunctionDefinition","src":"20152:248:4","nodes":[],"body":{"id":2778,"nodeType":"Block","src":"20318:82:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2771,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"20356:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2772,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2759,"src":"20362:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2773,"name":"maxDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2761,"src":"20369:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2774,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2763,"src":"20379:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2775,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2765,"src":"20389:3:4","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":2768,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"20328:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20331:24:4","memberName":"assertApproxEqAbsDecimal","nodeType":"MemberAccess","referencedDeclaration":15837,"src":"20328:27:4","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":2776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20328:65:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2777,"nodeType":"ExpressionStatement","src":"20328:65:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"20161:24:4","parameters":{"id":2766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2757,"mutability":"mutable","name":"left","nameLocation":"20193:4:4","nodeType":"VariableDeclaration","scope":2779,"src":"20186:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2756,"name":"int256","nodeType":"ElementaryTypeName","src":"20186:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2759,"mutability":"mutable","name":"right","nameLocation":"20206:5:4","nodeType":"VariableDeclaration","scope":2779,"src":"20199:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2758,"name":"int256","nodeType":"ElementaryTypeName","src":"20199:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2761,"mutability":"mutable","name":"maxDelta","nameLocation":"20221:8:4","nodeType":"VariableDeclaration","scope":2779,"src":"20213:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2760,"name":"uint256","nodeType":"ElementaryTypeName","src":"20213:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2763,"mutability":"mutable","name":"decimals","nameLocation":"20239:8:4","nodeType":"VariableDeclaration","scope":2779,"src":"20231:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2762,"name":"uint256","nodeType":"ElementaryTypeName","src":"20231:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2765,"mutability":"mutable","name":"err","nameLocation":"20263:3:4","nodeType":"VariableDeclaration","scope":2779,"src":"20249:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2764,"name":"string","nodeType":"ElementaryTypeName","src":"20249:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20185:82:4"},"returnParameters":{"id":2767,"nodeType":"ParameterList","parameters":[],"src":"20318:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2797,"nodeType":"FunctionDefinition","src":"20406:256:4","nodes":[],"body":{"id":2796,"nodeType":"Block","src":"20595:67:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2791,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2781,"src":"20626:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2792,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2783,"src":"20632:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2793,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2785,"src":"20639:15:4","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":2788,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"20605:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20608:17:4","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":15943,"src":"20605:20:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure external"}},"id":2794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20605:50:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2795,"nodeType":"ExpressionStatement","src":"20605:50:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"20415:17:4","parameters":{"id":2786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2781,"mutability":"mutable","name":"left","nameLocation":"20450:4:4","nodeType":"VariableDeclaration","scope":2797,"src":"20442:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2780,"name":"uint256","nodeType":"ElementaryTypeName","src":"20442:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2783,"mutability":"mutable","name":"right","nameLocation":"20472:5:4","nodeType":"VariableDeclaration","scope":2797,"src":"20464:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2782,"name":"uint256","nodeType":"ElementaryTypeName","src":"20464:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2785,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"20495:15:4","nodeType":"VariableDeclaration","scope":2797,"src":"20487:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2784,"name":"uint256","nodeType":"ElementaryTypeName","src":"20487:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20432:140:4"},"returnParameters":{"id":2787,"nodeType":"ParameterList","parameters":[],"src":"20595:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2818,"nodeType":"FunctionDefinition","src":"20668:288:4","nodes":[],"body":{"id":2817,"nodeType":"Block","src":"20884:72:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2811,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2799,"src":"20915:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2812,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2801,"src":"20921:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2813,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2803,"src":"20928:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2814,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2805,"src":"20945:3:4","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":2808,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"20894:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20897:17:4","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":15955,"src":"20894:20:4","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":2815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20894:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2816,"nodeType":"ExpressionStatement","src":"20894:55:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"20677:17:4","parameters":{"id":2806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2799,"mutability":"mutable","name":"left","nameLocation":"20712:4:4","nodeType":"VariableDeclaration","scope":2818,"src":"20704:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2798,"name":"uint256","nodeType":"ElementaryTypeName","src":"20704:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2801,"mutability":"mutable","name":"right","nameLocation":"20734:5:4","nodeType":"VariableDeclaration","scope":2818,"src":"20726:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2800,"name":"uint256","nodeType":"ElementaryTypeName","src":"20726:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2803,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"20757:15:4","nodeType":"VariableDeclaration","scope":2818,"src":"20749:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2802,"name":"uint256","nodeType":"ElementaryTypeName","src":"20749:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2805,"mutability":"mutable","name":"err","nameLocation":"20852:3:4","nodeType":"VariableDeclaration","scope":2818,"src":"20838:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2804,"name":"string","nodeType":"ElementaryTypeName","src":"20838:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20694:167:4"},"returnParameters":{"id":2807,"nodeType":"ParameterList","parameters":[],"src":"20884:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2839,"nodeType":"FunctionDefinition","src":"20962:306:4","nodes":[],"body":{"id":2838,"nodeType":"Block","src":"21184:84:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2832,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2820,"src":"21222:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2833,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2822,"src":"21228:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2834,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2824,"src":"21235:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2835,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2826,"src":"21252:8:4","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":2829,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"21194:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21197:24:4","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":15893,"src":"21194:27:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256) pure external"}},"id":2836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21194:67:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2837,"nodeType":"ExpressionStatement","src":"21194:67:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"20971:24:4","parameters":{"id":2827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2820,"mutability":"mutable","name":"left","nameLocation":"21013:4:4","nodeType":"VariableDeclaration","scope":2839,"src":"21005:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2819,"name":"uint256","nodeType":"ElementaryTypeName","src":"21005:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2822,"mutability":"mutable","name":"right","nameLocation":"21035:5:4","nodeType":"VariableDeclaration","scope":2839,"src":"21027:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2821,"name":"uint256","nodeType":"ElementaryTypeName","src":"21027:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2824,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"21058:15:4","nodeType":"VariableDeclaration","scope":2839,"src":"21050:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2823,"name":"uint256","nodeType":"ElementaryTypeName","src":"21050:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2826,"mutability":"mutable","name":"decimals","nameLocation":"21147:8:4","nodeType":"VariableDeclaration","scope":2839,"src":"21139:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2825,"name":"uint256","nodeType":"ElementaryTypeName","src":"21139:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20995:166:4"},"returnParameters":{"id":2828,"nodeType":"ParameterList","parameters":[],"src":"21184:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2863,"nodeType":"FunctionDefinition","src":"21274:338:4","nodes":[],"body":{"id":2862,"nodeType":"Block","src":"21523:89:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2855,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2841,"src":"21561:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2856,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2843,"src":"21567:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2857,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2845,"src":"21574:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2858,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2847,"src":"21591:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2859,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2849,"src":"21601:3:4","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":2852,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"21533:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21536:24:4","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":15907,"src":"21533:27:4","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":2860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21533:72:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2861,"nodeType":"ExpressionStatement","src":"21533:72:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"21283:24:4","parameters":{"id":2850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2841,"mutability":"mutable","name":"left","nameLocation":"21325:4:4","nodeType":"VariableDeclaration","scope":2863,"src":"21317:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2840,"name":"uint256","nodeType":"ElementaryTypeName","src":"21317:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2843,"mutability":"mutable","name":"right","nameLocation":"21347:5:4","nodeType":"VariableDeclaration","scope":2863,"src":"21339:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2842,"name":"uint256","nodeType":"ElementaryTypeName","src":"21339:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2845,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"21370:15:4","nodeType":"VariableDeclaration","scope":2863,"src":"21362:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2844,"name":"uint256","nodeType":"ElementaryTypeName","src":"21362:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2847,"mutability":"mutable","name":"decimals","nameLocation":"21459:8:4","nodeType":"VariableDeclaration","scope":2863,"src":"21451:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2846,"name":"uint256","nodeType":"ElementaryTypeName","src":"21451:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2849,"mutability":"mutable","name":"err","nameLocation":"21491:3:4","nodeType":"VariableDeclaration","scope":2863,"src":"21477:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2848,"name":"string","nodeType":"ElementaryTypeName","src":"21477:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21307:193:4"},"returnParameters":{"id":2851,"nodeType":"ParameterList","parameters":[],"src":"21523:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2881,"nodeType":"FunctionDefinition","src":"21618:168:4","nodes":[],"body":{"id":2880,"nodeType":"Block","src":"21719:67:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2875,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2865,"src":"21750:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2876,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2867,"src":"21756:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2877,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2869,"src":"21763:15:4","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":2872,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"21729:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21732:17:4","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":15965,"src":"21729:20:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256) pure external"}},"id":2878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21729:50:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2879,"nodeType":"ExpressionStatement","src":"21729:50:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"21627:17:4","parameters":{"id":2870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2865,"mutability":"mutable","name":"left","nameLocation":"21652:4:4","nodeType":"VariableDeclaration","scope":2881,"src":"21645:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2864,"name":"int256","nodeType":"ElementaryTypeName","src":"21645:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2867,"mutability":"mutable","name":"right","nameLocation":"21665:5:4","nodeType":"VariableDeclaration","scope":2881,"src":"21658:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2866,"name":"int256","nodeType":"ElementaryTypeName","src":"21658:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2869,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"21680:15:4","nodeType":"VariableDeclaration","scope":2881,"src":"21672:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2868,"name":"uint256","nodeType":"ElementaryTypeName","src":"21672:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21644:52:4"},"returnParameters":{"id":2871,"nodeType":"ParameterList","parameters":[],"src":"21719:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2902,"nodeType":"FunctionDefinition","src":"21792:286:4","nodes":[],"body":{"id":2901,"nodeType":"Block","src":"22006:72:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2895,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2883,"src":"22037:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2896,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2885,"src":"22043:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2897,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2887,"src":"22050:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2898,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2889,"src":"22067:3:4","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":2892,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"22016:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22019:17:4","memberName":"assertApproxEqRel","nodeType":"MemberAccess","referencedDeclaration":15977,"src":"22016:20:4","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":2899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22016:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2900,"nodeType":"ExpressionStatement","src":"22016:55:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"21801:17:4","parameters":{"id":2890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2883,"mutability":"mutable","name":"left","nameLocation":"21835:4:4","nodeType":"VariableDeclaration","scope":2902,"src":"21828:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2882,"name":"int256","nodeType":"ElementaryTypeName","src":"21828:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2885,"mutability":"mutable","name":"right","nameLocation":"21856:5:4","nodeType":"VariableDeclaration","scope":2902,"src":"21849:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2884,"name":"int256","nodeType":"ElementaryTypeName","src":"21849:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2887,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"21879:15:4","nodeType":"VariableDeclaration","scope":2902,"src":"21871:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2886,"name":"uint256","nodeType":"ElementaryTypeName","src":"21871:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2889,"mutability":"mutable","name":"err","nameLocation":"21974:3:4","nodeType":"VariableDeclaration","scope":2902,"src":"21960:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2888,"name":"string","nodeType":"ElementaryTypeName","src":"21960:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21818:165:4"},"returnParameters":{"id":2891,"nodeType":"ParameterList","parameters":[],"src":"22006:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2923,"nodeType":"FunctionDefinition","src":"22084:304:4","nodes":[],"body":{"id":2922,"nodeType":"Block","src":"22304:84:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2916,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2904,"src":"22342:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2917,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2906,"src":"22348:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2918,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2908,"src":"22355:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2919,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2910,"src":"22372:8:4","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":2913,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"22314:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22317:24:4","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":15919,"src":"22314:27:4","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$_t_int256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256,uint256) pure external"}},"id":2920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22314:67:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2921,"nodeType":"ExpressionStatement","src":"22314:67:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"22093:24:4","parameters":{"id":2911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2904,"mutability":"mutable","name":"left","nameLocation":"22134:4:4","nodeType":"VariableDeclaration","scope":2923,"src":"22127:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2903,"name":"int256","nodeType":"ElementaryTypeName","src":"22127:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2906,"mutability":"mutable","name":"right","nameLocation":"22155:5:4","nodeType":"VariableDeclaration","scope":2923,"src":"22148:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2905,"name":"int256","nodeType":"ElementaryTypeName","src":"22148:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2908,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"22178:15:4","nodeType":"VariableDeclaration","scope":2923,"src":"22170:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2907,"name":"uint256","nodeType":"ElementaryTypeName","src":"22170:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2910,"mutability":"mutable","name":"decimals","nameLocation":"22267:8:4","nodeType":"VariableDeclaration","scope":2923,"src":"22259:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2909,"name":"uint256","nodeType":"ElementaryTypeName","src":"22259:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22117:164:4"},"returnParameters":{"id":2912,"nodeType":"ParameterList","parameters":[],"src":"22304:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2947,"nodeType":"FunctionDefinition","src":"22394:336:4","nodes":[],"body":{"id":2946,"nodeType":"Block","src":"22641:89:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2939,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2925,"src":"22679:4:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2940,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2927,"src":"22685:5:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2941,"name":"maxPercentDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2929,"src":"22692:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2942,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2931,"src":"22709:8:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2943,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2933,"src":"22719:3:4","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":2936,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":357,"src":"22651:2:4","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":2938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22654:24:4","memberName":"assertApproxEqRelDecimal","nodeType":"MemberAccess","referencedDeclaration":15933,"src":"22651:27:4","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":2944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22651:72:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2945,"nodeType":"ExpressionStatement","src":"22651:72:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"22403:24:4","parameters":{"id":2934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2925,"mutability":"mutable","name":"left","nameLocation":"22444:4:4","nodeType":"VariableDeclaration","scope":2947,"src":"22437:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2924,"name":"int256","nodeType":"ElementaryTypeName","src":"22437:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2927,"mutability":"mutable","name":"right","nameLocation":"22465:5:4","nodeType":"VariableDeclaration","scope":2947,"src":"22458:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2926,"name":"int256","nodeType":"ElementaryTypeName","src":"22458:6:4","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2929,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"22488:15:4","nodeType":"VariableDeclaration","scope":2947,"src":"22480:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2928,"name":"uint256","nodeType":"ElementaryTypeName","src":"22480:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2931,"mutability":"mutable","name":"decimals","nameLocation":"22577:8:4","nodeType":"VariableDeclaration","scope":2947,"src":"22569:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2930,"name":"uint256","nodeType":"ElementaryTypeName","src":"22569:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2933,"mutability":"mutable","name":"err","nameLocation":"22609:3:4","nodeType":"VariableDeclaration","scope":2947,"src":"22595:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2932,"name":"string","nodeType":"ElementaryTypeName","src":"22595:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22427:191:4"},"returnParameters":{"id":2935,"nodeType":"ParameterList","parameters":[],"src":"22641:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2965,"nodeType":"FunctionDefinition","src":"22812:145:4","nodes":[],"body":{"id":2964,"nodeType":"Block","src":"22898:59:4","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":2957,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2949,"src":"22925:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2956,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"22915:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22915:15:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":2960,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2951,"src":"22944:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2959,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"22934:9:4","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22934:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"22915:35:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2955,"id":2963,"nodeType":"Return","src":"22908:42:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkEq0","nameLocation":"22821:8:4","parameters":{"id":2952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2949,"mutability":"mutable","name":"left","nameLocation":"22843:4:4","nodeType":"VariableDeclaration","scope":2965,"src":"22830:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2948,"name":"bytes","nodeType":"ElementaryTypeName","src":"22830:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2951,"mutability":"mutable","name":"right","nameLocation":"22862:5:4","nodeType":"VariableDeclaration","scope":2965,"src":"22849:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2950,"name":"bytes","nodeType":"ElementaryTypeName","src":"22849:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22829:39:4"},"returnParameters":{"id":2955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2954,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2965,"src":"22892:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2953,"name":"bool","nodeType":"ElementaryTypeName","src":"22892:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22891:6:4"},"scope":3194,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2978,"nodeType":"FunctionDefinition","src":"22963:118:4","nodes":[],"body":{"id":2977,"nodeType":"Block","src":"23043:38:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2973,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2967,"src":"23062:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2974,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"23068:5:4","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":2972,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":1004,"src":"23053:8:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure"}},"id":2975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23053:21:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2976,"nodeType":"ExpressionStatement","src":"23053:21:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"22972:9:4","parameters":{"id":2970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2967,"mutability":"mutable","name":"left","nameLocation":"22995:4:4","nodeType":"VariableDeclaration","scope":2978,"src":"22982:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2966,"name":"bytes","nodeType":"ElementaryTypeName","src":"22982:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2969,"mutability":"mutable","name":"right","nameLocation":"23014:5:4","nodeType":"VariableDeclaration","scope":2978,"src":"23001:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2968,"name":"bytes","nodeType":"ElementaryTypeName","src":"23001:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22981:39:4"},"returnParameters":{"id":2971,"nodeType":"ParameterList","parameters":[],"src":"23043:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":2994,"nodeType":"FunctionDefinition","src":"23087:142:4","nodes":[],"body":{"id":2993,"nodeType":"Block","src":"23186:43:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":2988,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2980,"src":"23205:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2989,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2982,"src":"23211:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2990,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2984,"src":"23218:3:4","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":2987,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":1022,"src":"23196:8:4","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":2991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23196:26:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2992,"nodeType":"ExpressionStatement","src":"23196:26:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"23096:9:4","parameters":{"id":2985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2980,"mutability":"mutable","name":"left","nameLocation":"23119:4:4","nodeType":"VariableDeclaration","scope":2994,"src":"23106:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2979,"name":"bytes","nodeType":"ElementaryTypeName","src":"23106:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2982,"mutability":"mutable","name":"right","nameLocation":"23138:5:4","nodeType":"VariableDeclaration","scope":2994,"src":"23125:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2981,"name":"bytes","nodeType":"ElementaryTypeName","src":"23125:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2984,"mutability":"mutable","name":"err","nameLocation":"23159:3:4","nodeType":"VariableDeclaration","scope":2994,"src":"23145:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2983,"name":"string","nodeType":"ElementaryTypeName","src":"23145:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23105:58:4"},"returnParameters":{"id":2986,"nodeType":"ParameterList","parameters":[],"src":"23186:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":3007,"nodeType":"FunctionDefinition","src":"23235:124:4","nodes":[],"body":{"id":3006,"nodeType":"Block","src":"23318:41:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":3002,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2996,"src":"23340:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3003,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2998,"src":"23346:5:4","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":3001,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[1314,1337,1357,1380,1439,1462,1521,1544,1564,1587,1645,1663,1678,1696,1713,1733,1750,1770,1787,1807,1824,1844,1861,1881,1898,1918,1935,1955],"referencedDeclaration":1678,"src":"23328:11:4","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory) pure"}},"id":3004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23328:24:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3005,"nodeType":"ExpressionStatement","src":"23328:24:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq0","nameLocation":"23244:12:4","parameters":{"id":2999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2996,"mutability":"mutable","name":"left","nameLocation":"23270:4:4","nodeType":"VariableDeclaration","scope":3007,"src":"23257:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2995,"name":"bytes","nodeType":"ElementaryTypeName","src":"23257:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":2998,"mutability":"mutable","name":"right","nameLocation":"23289:5:4","nodeType":"VariableDeclaration","scope":3007,"src":"23276:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2997,"name":"bytes","nodeType":"ElementaryTypeName","src":"23276:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"23256:39:4"},"returnParameters":{"id":3000,"nodeType":"ParameterList","parameters":[],"src":"23318:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":3023,"nodeType":"FunctionDefinition","src":"23365:148:4","nodes":[],"body":{"id":3022,"nodeType":"Block","src":"23467:46:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":3017,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3009,"src":"23489:4:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3018,"name":"right","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"23495:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3019,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3013,"src":"23502:3:4","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":3016,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[1314,1337,1357,1380,1439,1462,1521,1544,1564,1587,1645,1663,1678,1696,1713,1733,1750,1770,1787,1807,1824,1844,1861,1881,1898,1918,1935,1955],"referencedDeclaration":1696,"src":"23477:11:4","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":3020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23477:29:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3021,"nodeType":"ExpressionStatement","src":"23477:29:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq0","nameLocation":"23374:12:4","parameters":{"id":3014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3009,"mutability":"mutable","name":"left","nameLocation":"23400:4:4","nodeType":"VariableDeclaration","scope":3023,"src":"23387:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3008,"name":"bytes","nodeType":"ElementaryTypeName","src":"23387:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3011,"mutability":"mutable","name":"right","nameLocation":"23419:5:4","nodeType":"VariableDeclaration","scope":3023,"src":"23406:18:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3010,"name":"bytes","nodeType":"ElementaryTypeName","src":"23406:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3013,"mutability":"mutable","name":"err","nameLocation":"23440:3:4","nodeType":"VariableDeclaration","scope":3023,"src":"23426:17:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3012,"name":"string","nodeType":"ElementaryTypeName","src":"23426:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23386:58:4"},"returnParameters":{"id":3015,"nodeType":"ParameterList","parameters":[],"src":"23467:0:4"},"scope":3194,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":3041,"nodeType":"FunctionDefinition","src":"23519:176:4","nodes":[],"body":{"id":3040,"nodeType":"Block","src":"23622:73:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":3033,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3025,"src":"23645:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3034,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3027,"src":"23653:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3035,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3025,"src":"23664:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3036,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3029,"src":"23672:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":3037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23683:4:4","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":3032,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[3041,3061,3081,3193],"referencedDeclaration":3193,"src":"23632:12:4","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":3038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23632:56:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3039,"nodeType":"ExpressionStatement","src":"23632:56:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"23528:12:4","parameters":{"id":3030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3025,"mutability":"mutable","name":"target","nameLocation":"23549:6:4","nodeType":"VariableDeclaration","scope":3041,"src":"23541:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3024,"name":"address","nodeType":"ElementaryTypeName","src":"23541:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3027,"mutability":"mutable","name":"callDataA","nameLocation":"23570:9:4","nodeType":"VariableDeclaration","scope":3041,"src":"23557:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3026,"name":"bytes","nodeType":"ElementaryTypeName","src":"23557:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3029,"mutability":"mutable","name":"callDataB","nameLocation":"23594:9:4","nodeType":"VariableDeclaration","scope":3041,"src":"23581:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3028,"name":"bytes","nodeType":"ElementaryTypeName","src":"23581:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"23540:64:4"},"returnParameters":{"id":3031,"nodeType":"ParameterList","parameters":[],"src":"23622:0:4"},"scope":3194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3061,"nodeType":"FunctionDefinition","src":"23701:216:4","nodes":[],"body":{"id":3060,"nodeType":"Block","src":"23842:75:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":3053,"name":"targetA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3043,"src":"23865:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3054,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3045,"src":"23874:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3055,"name":"targetB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3047,"src":"23885:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3056,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3049,"src":"23894:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"74727565","id":3057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23905:4:4","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":3052,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[3041,3061,3081,3193],"referencedDeclaration":3193,"src":"23852:12:4","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":3058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23852:58:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3059,"nodeType":"ExpressionStatement","src":"23852:58:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"23710:12:4","parameters":{"id":3050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3043,"mutability":"mutable","name":"targetA","nameLocation":"23731:7:4","nodeType":"VariableDeclaration","scope":3061,"src":"23723:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3042,"name":"address","nodeType":"ElementaryTypeName","src":"23723:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3045,"mutability":"mutable","name":"callDataA","nameLocation":"23753:9:4","nodeType":"VariableDeclaration","scope":3061,"src":"23740:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3044,"name":"bytes","nodeType":"ElementaryTypeName","src":"23740:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3047,"mutability":"mutable","name":"targetB","nameLocation":"23772:7:4","nodeType":"VariableDeclaration","scope":3061,"src":"23764:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3046,"name":"address","nodeType":"ElementaryTypeName","src":"23764:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3049,"mutability":"mutable","name":"callDataB","nameLocation":"23794:9:4","nodeType":"VariableDeclaration","scope":3061,"src":"23781:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3048,"name":"bytes","nodeType":"ElementaryTypeName","src":"23781:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"23722:82:4"},"returnParameters":{"id":3051,"nodeType":"ParameterList","parameters":[],"src":"23842:0:4"},"scope":3194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3081,"nodeType":"FunctionDefinition","src":"23923:231:4","nodes":[],"body":{"id":3080,"nodeType":"Block","src":"24069:85:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":3073,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3063,"src":"24092:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3074,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3065,"src":"24100:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3075,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3063,"src":"24111:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3076,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3067,"src":"24119:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3077,"name":"strictRevertData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3069,"src":"24130:16:4","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":3072,"name":"assertEqCall","nodeType":"Identifier","overloadedDeclarations":[3041,3061,3081,3193],"referencedDeclaration":3193,"src":"24079:12:4","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":3078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24079:68:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3079,"nodeType":"ExpressionStatement","src":"24079:68:4"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"23932:12:4","parameters":{"id":3070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3063,"mutability":"mutable","name":"target","nameLocation":"23953:6:4","nodeType":"VariableDeclaration","scope":3081,"src":"23945:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3062,"name":"address","nodeType":"ElementaryTypeName","src":"23945:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3065,"mutability":"mutable","name":"callDataA","nameLocation":"23974:9:4","nodeType":"VariableDeclaration","scope":3081,"src":"23961:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3064,"name":"bytes","nodeType":"ElementaryTypeName","src":"23961:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3067,"mutability":"mutable","name":"callDataB","nameLocation":"23998:9:4","nodeType":"VariableDeclaration","scope":3081,"src":"23985:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3066,"name":"bytes","nodeType":"ElementaryTypeName","src":"23985:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3069,"mutability":"mutable","name":"strictRevertData","nameLocation":"24014:16:4","nodeType":"VariableDeclaration","scope":3081,"src":"24009:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3068,"name":"bool","nodeType":"ElementaryTypeName","src":"24009:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23944:87:4"},"returnParameters":{"id":3071,"nodeType":"ParameterList","parameters":[],"src":"24069:0:4"},"scope":3194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3193,"nodeType":"FunctionDefinition","src":"24160:1229:4","nodes":[],"body":{"id":3192,"nodeType":"Block","src":"24350:1039:4","nodes":[],"statements":[{"assignments":[3095,3097],"declarations":[{"constant":false,"id":3095,"mutability":"mutable","name":"successA","nameLocation":"24366:8:4","nodeType":"VariableDeclaration","scope":3192,"src":"24361:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3094,"name":"bool","nodeType":"ElementaryTypeName","src":"24361:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3097,"mutability":"mutable","name":"returnDataA","nameLocation":"24389:11:4","nodeType":"VariableDeclaration","scope":3192,"src":"24376:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3096,"name":"bytes","nodeType":"ElementaryTypeName","src":"24376:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3105,"initialValue":{"arguments":[{"id":3103,"name":"callDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3085,"src":"24426:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":3100,"name":"targetA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3083,"src":"24412:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24404:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3098,"name":"address","nodeType":"ElementaryTypeName","src":"24404:7:4","typeDescriptions":{}}},"id":3101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24404:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24421:4:4","memberName":"call","nodeType":"MemberAccess","src":"24404:21:4","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":3104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24404:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"24360:76:4"},{"assignments":[3107,3109],"declarations":[{"constant":false,"id":3107,"mutability":"mutable","name":"successB","nameLocation":"24452:8:4","nodeType":"VariableDeclaration","scope":3192,"src":"24447:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3106,"name":"bool","nodeType":"ElementaryTypeName","src":"24447:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3109,"mutability":"mutable","name":"returnDataB","nameLocation":"24475:11:4","nodeType":"VariableDeclaration","scope":3192,"src":"24462:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3108,"name":"bytes","nodeType":"ElementaryTypeName","src":"24462:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3117,"initialValue":{"arguments":[{"id":3115,"name":"callDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"24512:9:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":3112,"name":"targetB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3087,"src":"24498:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3111,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24490:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3110,"name":"address","nodeType":"ElementaryTypeName","src":"24490:7:4","typeDescriptions":{}}},"id":3113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24490:16:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24507:4:4","memberName":"call","nodeType":"MemberAccess","src":"24490:21:4","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":3116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24490:32:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"24446:76:4"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3118,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3095,"src":"24537:8:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3119,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3107,"src":"24549:8:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24537:20:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3128,"nodeType":"IfStatement","src":"24533:120:4","trueBody":{"id":3127,"nodeType":"Block","src":"24559:94:4","statements":[{"expression":{"arguments":[{"id":3122,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3097,"src":"24582:11:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3123,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3109,"src":"24595:11:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"43616c6c2072657475726e206461746120646f6573206e6f74206d61746368","id":3124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24608:33:4","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":3121,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":1022,"src":"24573:8:4","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":3125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24573:69:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3126,"nodeType":"ExpressionStatement","src":"24573:69:4"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24667:9:4","subExpression":{"id":3129,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3095,"src":"24668:8:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24680:9:4","subExpression":{"id":3131,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3107,"src":"24681:8:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24667:22:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3134,"name":"strictRevertData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3091,"src":"24693:16:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24667:42:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3143,"nodeType":"IfStatement","src":"24663:142:4","trueBody":{"id":3142,"nodeType":"Block","src":"24711:94:4","statements":[{"expression":{"arguments":[{"id":3137,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3097,"src":"24734:11:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":3138,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3109,"src":"24747:11:4","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"43616c6c20726576657274206461746120646f6573206e6f74206d61746368","id":3139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24760:33:4","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":3136,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[640,663,683,706,765,788,847,870,890,913,971,989,1004,1022,1039,1059,1076,1096,1113,1133,1150,1170,1187,1207,1224,1244,1261,1281],"referencedDeclaration":1022,"src":"24725:8:4","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":3140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24725:69:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3141,"nodeType":"ExpressionStatement","src":"24725:69:4"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24819:9:4","subExpression":{"id":3144,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3095,"src":"24820:8:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3146,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3107,"src":"24832:8:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24819:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3167,"nodeType":"IfStatement","src":"24815:279:4","trueBody":{"id":3166,"nodeType":"Block","src":"24842:252:4","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2043616c6c732077657265206e6f7420657175616c","id":3149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24865:29:4","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":3148,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":361,"src":"24861:3:4","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":3150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24861:34:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3151,"nodeType":"EmitStatement","src":"24856:39:4"},{"eventCall":{"arguments":[{"hexValue":"20204c6566742063616c6c207265766572742064617461","id":3153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24930:25:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_d7308eff46cc177523801826a9076ec6e32f003b8da409c4d39812f8e534c573","typeString":"literal_string \" Left call revert data\""},"value":" Left call revert data"},{"id":3154,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3097,"src":"24957:11:4","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":3152,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"24914:15:4","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24914:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3156,"nodeType":"EmitStatement","src":"24909:60:4"},{"eventCall":{"arguments":[{"hexValue":"2052696768742063616c6c2072657475726e2064617461","id":3158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25004:25:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_688c5b0ecbf27f0fe1b748e920d97ecaaa6ff424050ac2e32936b79dcfbe27d9","typeString":"literal_string \" Right call return data\""},"value":" Right call return data"},{"id":3159,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3109,"src":"25031:11:4","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":3157,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"24988:15:4","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24988:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3161,"nodeType":"EmitStatement","src":"24983:60:4"},{"expression":{"arguments":[{"hexValue":"617373657274696f6e206661696c6564","id":3163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25064:18:4","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":3162,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"25057:6:4","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":3164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25057:26:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3165,"nodeType":"ExpressionStatement","src":"25057:26:4"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3168,"name":"successA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3095,"src":"25108:8:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"25120:9:4","subExpression":{"id":3169,"name":"successB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3107,"src":"25121:8:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25108:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3191,"nodeType":"IfStatement","src":"25104:279:4","trueBody":{"id":3190,"nodeType":"Block","src":"25131:252:4","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2043616c6c732077657265206e6f7420657175616c","id":3173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25154:29:4","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":3172,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":361,"src":"25150:3:4","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":3174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25150:34:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3175,"nodeType":"EmitStatement","src":"25145:39:4"},{"eventCall":{"arguments":[{"hexValue":"20204c6566742063616c6c2072657475726e2064617461","id":3177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25219:25:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_596a9779ba89cf63b8ee3ff9d9ab391dc33d379f762c747717807c6af488f86f","typeString":"literal_string \" Left call return data\""},"value":" Left call return data"},{"id":3178,"name":"returnDataA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3097,"src":"25246:11:4","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":3176,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"25203:15:4","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25203:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3180,"nodeType":"EmitStatement","src":"25198:60:4"},{"eventCall":{"arguments":[{"hexValue":"2052696768742063616c6c207265766572742064617461","id":3182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25293:25:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_07ebd1833884933dbc5d408273462f380b6eb526f9bb29a66115cfe3ede76145","typeString":"literal_string \" Right call revert data\""},"value":" Right call revert data"},{"id":3183,"name":"returnDataB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3109,"src":"25320:11:4","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":3181,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"25277:15:4","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":3184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25277:55:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3185,"nodeType":"EmitStatement","src":"25272:60:4"},{"expression":{"arguments":[{"hexValue":"617373657274696f6e206661696c6564","id":3187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25353:18:4","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":3186,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"25346:6:4","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":3188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25346:26:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3189,"nodeType":"ExpressionStatement","src":"25346:26:4"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqCall","nameLocation":"24169:12:4","parameters":{"id":3092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3083,"mutability":"mutable","name":"targetA","nameLocation":"24199:7:4","nodeType":"VariableDeclaration","scope":3193,"src":"24191:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3082,"name":"address","nodeType":"ElementaryTypeName","src":"24191:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3085,"mutability":"mutable","name":"callDataA","nameLocation":"24229:9:4","nodeType":"VariableDeclaration","scope":3193,"src":"24216:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3084,"name":"bytes","nodeType":"ElementaryTypeName","src":"24216:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3087,"mutability":"mutable","name":"targetB","nameLocation":"24256:7:4","nodeType":"VariableDeclaration","scope":3193,"src":"24248:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3086,"name":"address","nodeType":"ElementaryTypeName","src":"24248:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3089,"mutability":"mutable","name":"callDataB","nameLocation":"24286:9:4","nodeType":"VariableDeclaration","scope":3193,"src":"24273:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3088,"name":"bytes","nodeType":"ElementaryTypeName","src":"24273:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3091,"mutability":"mutable","name":"strictRevertData","nameLocation":"24310:16:4","nodeType":"VariableDeclaration","scope":3193,"src":"24305:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3090,"name":"bool","nodeType":"ElementaryTypeName","src":"24305:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24181:151:4"},"returnParameters":{"id":3093,"nodeType":"ParameterList","parameters":[],"src":"24350:0:4"},"scope":3194,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"StdAssertions","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[3194],"name":"StdAssertions","nameLocation":"147:13:4","scope":3195,"usedErrors":[],"usedEvents":[361,365,369,373,377,381,385,389,395,401,409,417,423,429,435,441,446,451,456,463,470,477]}],"license":"MIT"}},"lib/forge-std/src/StdChains.sol":{"id":5,"ast":{"absolutePath":"lib/forge-std/src/StdChains.sol","id":4158,"exportedSymbols":{"StdChains":[4157],"VmSafe":[17608]},"nodeType":"SourceUnit","src":"32:14234:5","nodes":[{"id":3196,"nodeType":"PragmaDirective","src":"32:31:5","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":3197,"nodeType":"PragmaDirective","src":"64:33:5","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":3199,"nodeType":"ImportDirective","src":"99:32:5","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":4158,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":3198,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"107:6:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4157,"nodeType":"ContractDefinition","src":"1933:12332:5","nodes":[{"id":3217,"nodeType":"VariableDeclaration","src":"1967:92:5","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"1991:2:5","scope":4157,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"},"typeName":{"id":3202,"nodeType":"UserDefinedTypeName","pathNode":{"id":3201,"name":"VmSafe","nameLocations":["1967:6:5"],"nodeType":"IdentifierPath","referencedDeclaration":17608,"src":"1967:6:5"},"referencedDeclaration":17608,"src":"1967:6:5","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":3211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2037:17:5","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":3210,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2027:9:5","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2027:28:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":3209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2019:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":3208,"name":"uint256","nodeType":"ElementaryTypeName","src":"2019:7:5","typeDescriptions":{}}},"id":3213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2019:37:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2011:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":3206,"name":"uint160","nodeType":"ElementaryTypeName","src":"2011:7:5","typeDescriptions":{}}},"id":3214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2011:46:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":3205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2003:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3204,"name":"address","nodeType":"ElementaryTypeName","src":"2003:7:5","typeDescriptions":{}}},"id":3215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2003:55:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3203,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"1996:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$17608_$","typeString":"type(contract VmSafe)"}},"id":3216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1996:63:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"visibility":"private"},{"id":3219,"nodeType":"VariableDeclaration","src":"2066:33:5","nodes":[],"constant":false,"mutability":"mutable","name":"stdChainsInitialized","nameLocation":"2079:20:5","scope":4157,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3218,"name":"bool","nodeType":"ElementaryTypeName","src":"2066:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":3226,"nodeType":"StructDefinition","src":"2106:93:5","nodes":[],"canonicalName":"StdChains.ChainData","members":[{"constant":false,"id":3221,"mutability":"mutable","name":"name","nameLocation":"2140:4:5","nodeType":"VariableDeclaration","scope":3226,"src":"2133:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3220,"name":"string","nodeType":"ElementaryTypeName","src":"2133:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3223,"mutability":"mutable","name":"chainId","nameLocation":"2162:7:5","nodeType":"VariableDeclaration","scope":3226,"src":"2154:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3222,"name":"uint256","nodeType":"ElementaryTypeName","src":"2154:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3225,"mutability":"mutable","name":"rpcUrl","nameLocation":"2186:6:5","nodeType":"VariableDeclaration","scope":3226,"src":"2179:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3224,"name":"string","nodeType":"ElementaryTypeName","src":"2179:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"ChainData","nameLocation":"2113:9:5","scope":4157,"visibility":"public"},{"id":3235,"nodeType":"StructDefinition","src":"2205:598:5","nodes":[],"canonicalName":"StdChains.Chain","members":[{"constant":false,"id":3228,"mutability":"mutable","name":"name","nameLocation":"2262:4:5","nodeType":"VariableDeclaration","scope":3235,"src":"2255:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3227,"name":"string","nodeType":"ElementaryTypeName","src":"2255:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3230,"mutability":"mutable","name":"chainId","nameLocation":"2317:7:5","nodeType":"VariableDeclaration","scope":3235,"src":"2309:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3229,"name":"uint256","nodeType":"ElementaryTypeName","src":"2309:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3232,"mutability":"mutable","name":"chainAlias","nameLocation":"2417:10:5","nodeType":"VariableDeclaration","scope":3235,"src":"2410:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3231,"name":"string","nodeType":"ElementaryTypeName","src":"2410:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3234,"mutability":"mutable","name":"rpcUrl","nameLocation":"2790:6:5","nodeType":"VariableDeclaration","scope":3235,"src":"2783:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3233,"name":"string","nodeType":"ElementaryTypeName","src":"2783:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Chain","nameLocation":"2212:5:5","scope":4157,"visibility":"public"},{"id":3240,"nodeType":"VariableDeclaration","src":"2907:39:5","nodes":[],"constant":false,"mutability":"mutable","name":"chains","nameLocation":"2940:6:5","scope":4157,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3235_storage_$","typeString":"mapping(string => struct StdChains.Chain)"},"typeName":{"id":3239,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":3236,"name":"string","nodeType":"ElementaryTypeName","src":"2915:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"2907:24:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3235_storage_$","typeString":"mapping(string => struct StdChains.Chain)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":3238,"nodeType":"UserDefinedTypeName","pathNode":{"id":3237,"name":"Chain","nameLocations":["2925:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":3235,"src":"2925:5:5"},"referencedDeclaration":3235,"src":"2925:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage_ptr","typeString":"struct StdChains.Chain"}}},"visibility":"private"},{"id":3244,"nodeType":"VariableDeclaration","src":"3012:48:5","nodes":[],"constant":false,"mutability":"mutable","name":"defaultRpcUrls","nameLocation":"3046:14:5","scope":4157,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string => string)"},"typeName":{"id":3243,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":3241,"name":"string","nodeType":"ElementaryTypeName","src":"3020:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"3012:25:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":3242,"name":"string","nodeType":"ElementaryTypeName","src":"3030:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"id":3248,"nodeType":"VariableDeclaration","src":"3109:44:5","nodes":[],"constant":false,"mutability":"mutable","name":"idToAlias","nameLocation":"3144:9:5","scope":4157,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"typeName":{"id":3247,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":3245,"name":"uint256","nodeType":"ElementaryTypeName","src":"3117:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3109:26:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":3246,"name":"string","nodeType":"ElementaryTypeName","src":"3128:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"id":3251,"nodeType":"VariableDeclaration","src":"3160:44:5","nodes":[],"constant":false,"mutability":"mutable","name":"fallbackToDefaultRpcUrls","nameLocation":"3173:24:5","scope":4157,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3249,"name":"bool","nodeType":"ElementaryTypeName","src":"3160:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":3250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3200:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"private"},{"id":3303,"nodeType":"FunctionDefinition","src":"3289:524:5","nodes":[],"body":{"id":3302,"nodeType":"Block","src":"3379:434:5","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":3262,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3253,"src":"3403:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3397:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3260,"name":"bytes","nodeType":"ElementaryTypeName","src":"3397:5:5","typeDescriptions":{}}},"id":3263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3397:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3415:6:5","memberName":"length","nodeType":"MemberAccess","src":"3397:24:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3425:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3397:29:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320676574436861696e28737472696e67293a20436861696e20616c6961732063616e6e6f742062652074686520656d70747920737472696e672e","id":3267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3428:69:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d920aad82cc068f1a73b0fb2c703d0169baa46c8c67097012e1aca0cc8c8b70","typeString":"literal_string \"StdChains getChain(string): Chain alias cannot be the empty string.\""},"value":"StdChains getChain(string): Chain alias cannot be the empty string."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3d920aad82cc068f1a73b0fb2c703d0169baa46c8c67097012e1aca0cc8c8b70","typeString":"literal_string \"StdChains getChain(string): Chain alias cannot be the empty string.\""}],"id":3259,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3389:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3389:109:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3269,"nodeType":"ExpressionStatement","src":"3389:109:5"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3270,"name":"initializeStdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4119,"src":"3509:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3509:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3272,"nodeType":"ExpressionStatement","src":"3509:21:5"},{"expression":{"id":3277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3273,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3257,"src":"3540:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":3274,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3240,"src":"3548:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3235_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":3276,"indexExpression":{"id":3275,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3253,"src":"3555:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3548:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage","typeString":"struct StdChains.Chain storage ref"}},"src":"3540:26:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3278,"nodeType":"ExpressionStatement","src":"3540:26:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3280,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3257,"src":"3597:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3281,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3603:7:5","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3230,"src":"3597:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3614:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3597:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320676574436861696e28737472696e67293a20436861696e207769746820616c6961732022","id":3288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3653:49:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_be183459e9329da9bfc4a2fec17224f102b8a68c1139772e954a2d6fd9877e00","typeString":"literal_string \"StdChains getChain(string): Chain with alias \"\""},"value":"StdChains getChain(string): Chain with alias \""},{"id":3289,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3253,"src":"3704:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"22206e6f7420666f756e642e","id":3290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3716:15:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_be956cec6682d51b49f30c9beff2857436402411b7eee4082594e44819bcd397","typeString":"literal_string \"\" not found.\""},"value":"\" not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be183459e9329da9bfc4a2fec17224f102b8a68c1139772e954a2d6fd9877e00","typeString":"literal_string \"StdChains getChain(string): Chain with alias \"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_be956cec6682d51b49f30c9beff2857436402411b7eee4082594e44819bcd397","typeString":"literal_string \"\" not found.\""}],"expression":{"id":3286,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3636:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3640:12:5","memberName":"encodePacked","nodeType":"MemberAccess","src":"3636:16:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3636:96:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3285,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3629:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3284,"name":"string","nodeType":"ElementaryTypeName","src":"3629:6:5","typeDescriptions":{}}},"id":3292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3629:104:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3279,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3576:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3576:167:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3294,"nodeType":"ExpressionStatement","src":"3576:167:5"},{"expression":{"id":3300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3295,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3257,"src":"3754:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3297,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3253,"src":"3788:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":3298,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3257,"src":"3800:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}],"id":3296,"name":"getChainWithUpdatedRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3711,"src":"3762:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_struct$_Chain_$3235_memory_ptr_$returns$_t_struct$_Chain_$3235_memory_ptr_$","typeString":"function (string memory,struct StdChains.Chain memory) view returns (struct StdChains.Chain memory)"}},"id":3299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3762:44:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"3754:52:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3301,"nodeType":"ExpressionStatement","src":"3754:52:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getChain","nameLocation":"3298:8:5","parameters":{"id":3254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3253,"mutability":"mutable","name":"chainAlias","nameLocation":"3321:10:5","nodeType":"VariableDeclaration","scope":3303,"src":"3307:24:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3252,"name":"string","nodeType":"ElementaryTypeName","src":"3307:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3306:26:5"},"returnParameters":{"id":3258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3257,"mutability":"mutable","name":"chain","nameLocation":"3372:5:5","nodeType":"VariableDeclaration","scope":3303,"src":"3359:18:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3256,"nodeType":"UserDefinedTypeName","pathNode":{"id":3255,"name":"Chain","nameLocations":["3359:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":3235,"src":"3359:5:5"},"referencedDeclaration":3235,"src":"3359:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"3358:20:5"},"scope":4157,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3360,"nodeType":"FunctionDefinition","src":"3819:541:5","nodes":[],"body":{"id":3359,"nodeType":"Block","src":"3900:460:5","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3312,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3305,"src":"3918:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3929:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3918:12:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320676574436861696e2875696e74323536293a20436861696e2049442063616e6e6f7420626520302e","id":3315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3932:52:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_64f1cd082b277ed92a70b6890cc1e3b6ebd77bc6c9299e7ce82305de04926a4a","typeString":"literal_string \"StdChains getChain(uint256): Chain ID cannot be 0.\""},"value":"StdChains getChain(uint256): Chain ID cannot be 0."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_64f1cd082b277ed92a70b6890cc1e3b6ebd77bc6c9299e7ce82305de04926a4a","typeString":"literal_string \"StdChains getChain(uint256): Chain ID cannot be 0.\""}],"id":3311,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3910:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3910:75:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3317,"nodeType":"ExpressionStatement","src":"3910:75:5"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3318,"name":"initializeStdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4119,"src":"3995:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3995:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3320,"nodeType":"ExpressionStatement","src":"3995:21:5"},{"assignments":[3322],"declarations":[{"constant":false,"id":3322,"mutability":"mutable","name":"chainAlias","nameLocation":"4040:10:5","nodeType":"VariableDeclaration","scope":3359,"src":"4026:24:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3321,"name":"string","nodeType":"ElementaryTypeName","src":"4026:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3326,"initialValue":{"baseExpression":{"id":3323,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3248,"src":"4053:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":3325,"indexExpression":{"id":3324,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3305,"src":"4063:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4053:18:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4026:45:5"},{"expression":{"id":3331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3327,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3309,"src":"4082:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":3328,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3240,"src":"4090:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3235_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":3330,"indexExpression":{"id":3329,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3322,"src":"4097:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4090:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage","typeString":"struct StdChains.Chain storage ref"}},"src":"4082:26:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3332,"nodeType":"ExpressionStatement","src":"4082:26:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3334,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3309,"src":"4140:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3335,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4146:7:5","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3230,"src":"4140:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4157:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4140:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320676574436861696e2875696e74323536293a20436861696e207769746820494420","id":3342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4196:45:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_ce7b2cad45f1a6d0b9b7bb125e9a8742fce8fed7d742c83265d4a2da4caf457d","typeString":"literal_string \"StdChains getChain(uint256): Chain with ID \""},"value":"StdChains getChain(uint256): Chain with ID "},{"arguments":[{"id":3345,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3305,"src":"4255:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3343,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3217,"src":"4243:2:5","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":3344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4246:8:5","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"4243:11:5","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":3346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4243:20:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"206e6f7420666f756e642e","id":3347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4265:13:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_f310d2efb88747fac959fa7567a0a1a161dd43a77ba9af074f6191cf5bcf4f8b","typeString":"literal_string \" not found.\""},"value":" not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ce7b2cad45f1a6d0b9b7bb125e9a8742fce8fed7d742c83265d4a2da4caf457d","typeString":"literal_string \"StdChains getChain(uint256): Chain with ID \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_f310d2efb88747fac959fa7567a0a1a161dd43a77ba9af074f6191cf5bcf4f8b","typeString":"literal_string \" not found.\""}],"expression":{"id":3340,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4179:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4183:12:5","memberName":"encodePacked","nodeType":"MemberAccess","src":"4179:16:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4179:100:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4172:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3338,"name":"string","nodeType":"ElementaryTypeName","src":"4172:6:5","typeDescriptions":{}}},"id":3349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4172:108:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3333,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4119:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4119:171:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3351,"nodeType":"ExpressionStatement","src":"4119:171:5"},{"expression":{"id":3357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3352,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3309,"src":"4301:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3354,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3322,"src":"4335:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":3355,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3309,"src":"4347:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}],"id":3353,"name":"getChainWithUpdatedRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3711,"src":"4309:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_struct$_Chain_$3235_memory_ptr_$returns$_t_struct$_Chain_$3235_memory_ptr_$","typeString":"function (string memory,struct StdChains.Chain memory) view returns (struct StdChains.Chain memory)"}},"id":3356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4309:44:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"4301:52:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3358,"nodeType":"ExpressionStatement","src":"4301:52:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getChain","nameLocation":"3828:8:5","parameters":{"id":3306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3305,"mutability":"mutable","name":"chainId","nameLocation":"3845:7:5","nodeType":"VariableDeclaration","scope":3360,"src":"3837:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3304,"name":"uint256","nodeType":"ElementaryTypeName","src":"3837:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3836:17:5"},"returnParameters":{"id":3310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3309,"mutability":"mutable","name":"chain","nameLocation":"3893:5:5","nodeType":"VariableDeclaration","scope":3360,"src":"3880:18:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3308,"nodeType":"UserDefinedTypeName","pathNode":{"id":3307,"name":"Chain","nameLocations":["3880:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":3235,"src":"3880:5:5"},"referencedDeclaration":3235,"src":"3880:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"3879:20:5"},"scope":4157,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3470,"nodeType":"FunctionDefinition","src":"4431:1173:5","nodes":[],"body":{"id":3469,"nodeType":"Block","src":"4516:1088:5","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":3371,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3362,"src":"4553:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4547:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3369,"name":"bytes","nodeType":"ElementaryTypeName","src":"4547:5:5","typeDescriptions":{}}},"id":3372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4547:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4565:6:5","memberName":"length","nodeType":"MemberAccess","src":"4547:24:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4575:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4547:29:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e20616c6961732063616e6e6f742062652074686520656d70747920737472696e672e","id":3376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4590:79:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_30b2334ec57cbeeece39c6405e10d3437560135ecd84835d6b9144db1d575354","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\""},"value":"StdChains setChain(string,ChainData): Chain alias cannot be the empty string."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_30b2334ec57cbeeece39c6405e10d3437560135ecd84835d6b9144db1d575354","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\""}],"id":3368,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4526:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4526:153:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3378,"nodeType":"ExpressionStatement","src":"4526:153:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3380,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3365,"src":"4698:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3381,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4704:7:5","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3223,"src":"4698:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4715:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4698:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e2049442063616e6e6f7420626520302e","id":3384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4718:61:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab0ba8dace83d80dc1941286e8d0551223497db1b420e58abff2f3db2ad3fbf4","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\""},"value":"StdChains setChain(string,ChainData): Chain ID cannot be 0."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ab0ba8dace83d80dc1941286e8d0551223497db1b420e58abff2f3db2ad3fbf4","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\""}],"id":3379,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4690:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4690:90:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3386,"nodeType":"ExpressionStatement","src":"4690:90:5"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":3387,"name":"initializeStdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4119,"src":"4791:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":3388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4791:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3389,"nodeType":"ExpressionStatement","src":"4791:21:5"},{"assignments":[3391],"declarations":[{"constant":false,"id":3391,"mutability":"mutable","name":"foundAlias","nameLocation":"4836:10:5","nodeType":"VariableDeclaration","scope":3469,"src":"4822:24:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3390,"name":"string","nodeType":"ElementaryTypeName","src":"4822:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3396,"initialValue":{"baseExpression":{"id":3392,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3248,"src":"4849:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":3395,"indexExpression":{"expression":{"id":3393,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3365,"src":"4859:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4865:7:5","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3223,"src":"4859:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4849:24:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4822:51:5"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":3400,"name":"foundAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3391,"src":"4911:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4905:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3398,"name":"bytes","nodeType":"ElementaryTypeName","src":"4905:5:5","typeDescriptions":{}}},"id":3401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4905:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4923:6:5","memberName":"length","nodeType":"MemberAccess","src":"4905:24:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4933:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4905:29:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":3417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":3408,"name":"foundAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3391,"src":"4954:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4948:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3406,"name":"bytes","nodeType":"ElementaryTypeName","src":"4948:5:5","typeDescriptions":{}}},"id":3409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4948:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3405,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4938:9:5","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4938:28:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"id":3414,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3362,"src":"4986:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4980:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3412,"name":"bytes","nodeType":"ElementaryTypeName","src":"4980:5:5","typeDescriptions":{}}},"id":3415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4980:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3411,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4970:9:5","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4970:28:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4938:60:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4905:93:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e20494420","id":3423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5074:49:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_2f5ddfff35cec202bbf760c515d7332e259c9b0c330efa0b2d03073b34906ba0","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID \""},"value":"StdChains setChain(string,ChainData): Chain ID "},{"arguments":[{"expression":{"id":3426,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3365,"src":"5157:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5163:7:5","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3223,"src":"5157:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3424,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3217,"src":"5145:2:5","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":3425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5148:8:5","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"5145:11:5","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":3428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5145:26:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20616c726561647920757365642062792022","id":3429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5193:21:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_03dcc98944d744f10105f4b63a1d5b4f5b14493812e66201e5f21a3da2662077","typeString":"literal_string \" already used by \"\""},"value":" already used by \""},{"id":3430,"name":"foundAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3391,"src":"5236:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"222e","id":3431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5268:5:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb54fc3dbdac1cb7b87378fdaddeb9e7549db2a108b5270efaa4bcd576270193","typeString":"literal_string \"\".\""},"value":"\"."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2f5ddfff35cec202bbf760c515d7332e259c9b0c330efa0b2d03073b34906ba0","typeString":"literal_string \"StdChains setChain(string,ChainData): Chain ID \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_03dcc98944d744f10105f4b63a1d5b4f5b14493812e66201e5f21a3da2662077","typeString":"literal_string \" already used by \"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_cb54fc3dbdac1cb7b87378fdaddeb9e7549db2a108b5270efaa4bcd576270193","typeString":"literal_string \"\".\""}],"expression":{"id":3421,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5036:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5040:12:5","memberName":"encodePacked","nodeType":"MemberAccess","src":"5036:16:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5036:255:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3420,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5012:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3419,"name":"string","nodeType":"ElementaryTypeName","src":"5012:6:5","typeDescriptions":{}}},"id":3433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5012:293:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3397,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4884:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":3434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4884:431:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3435,"nodeType":"ExpressionStatement","src":"4884:431:5"},{"assignments":[3437],"declarations":[{"constant":false,"id":3437,"mutability":"mutable","name":"oldChainId","nameLocation":"5334:10:5","nodeType":"VariableDeclaration","scope":3469,"src":"5326:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3436,"name":"uint256","nodeType":"ElementaryTypeName","src":"5326:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3442,"initialValue":{"expression":{"baseExpression":{"id":3438,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3240,"src":"5347:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3235_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":3440,"indexExpression":{"id":3439,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3362,"src":"5354:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5347:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage","typeString":"struct StdChains.Chain storage ref"}},"id":3441,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5366:7:5","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3230,"src":"5347:26:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5326:47:5"},{"expression":{"id":3446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"5383:28:5","subExpression":{"baseExpression":{"id":3443,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3248,"src":"5390:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":3445,"indexExpression":{"id":3444,"name":"oldChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"5400:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5390:21:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3447,"nodeType":"ExpressionStatement","src":"5383:28:5"},{"expression":{"id":3460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3448,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3240,"src":"5422:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3235_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":3450,"indexExpression":{"id":3449,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3362,"src":"5429:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5422:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage","typeString":"struct StdChains.Chain storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":3452,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3365,"src":"5468:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5474:4:5","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":3221,"src":"5468:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":3454,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3365,"src":"5489:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3455,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5495:7:5","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3223,"src":"5489:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3456,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3362,"src":"5516:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":3457,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3365,"src":"5536:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3458,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5542:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3225,"src":"5536:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3451,"name":"Chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3235,"src":"5455:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Chain_$3235_storage_ptr_$","typeString":"type(struct StdChains.Chain storage pointer)"}},"id":3459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["5462:4:5","5480:7:5","5504:10:5","5528:6:5"],"names":["name","chainId","chainAlias","rpcUrl"],"nodeType":"FunctionCall","src":"5455:95:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"5422:128:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage","typeString":"struct StdChains.Chain storage ref"}},"id":3461,"nodeType":"ExpressionStatement","src":"5422:128:5"},{"expression":{"id":3467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3462,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3248,"src":"5560:9:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":3465,"indexExpression":{"expression":{"id":3463,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3365,"src":"5570:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":3464,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5576:7:5","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3223,"src":"5570:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5560:24:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3466,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3362,"src":"5587:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"5560:37:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":3468,"nodeType":"ExpressionStatement","src":"5560:37:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setChain","nameLocation":"4440:8:5","parameters":{"id":3366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3362,"mutability":"mutable","name":"chainAlias","nameLocation":"4463:10:5","nodeType":"VariableDeclaration","scope":3470,"src":"4449:24:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3361,"name":"string","nodeType":"ElementaryTypeName","src":"4449:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3365,"mutability":"mutable","name":"chain","nameLocation":"4492:5:5","nodeType":"VariableDeclaration","scope":3470,"src":"4475:22:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData"},"typeName":{"id":3364,"nodeType":"UserDefinedTypeName","pathNode":{"id":3363,"name":"ChainData","nameLocations":["4475:9:5"],"nodeType":"IdentifierPath","referencedDeclaration":3226,"src":"4475:9:5"},"referencedDeclaration":3226,"src":"4475:9:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_storage_ptr","typeString":"struct StdChains.ChainData"}},"visibility":"internal"}],"src":"4448:50:5"},"returnParameters":{"id":3367,"nodeType":"ParameterList","parameters":[],"src":"4516:0:5"},"scope":4157,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3491,"nodeType":"FunctionDefinition","src":"5675:195:5","nodes":[],"body":{"id":3490,"nodeType":"Block","src":"5756:114:5","nodes":[],"statements":[{"expression":{"arguments":[{"id":3479,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3472,"src":"5775:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"expression":{"id":3481,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3475,"src":"5804:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3482,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5810:4:5","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":3228,"src":"5804:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":3483,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3475,"src":"5825:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5831:7:5","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":3230,"src":"5825:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":3485,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3475,"src":"5848:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5854:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3234,"src":"5848:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3480,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"5787:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["5798:4:5","5816:7:5","5840:6:5"],"names":["name","chainId","rpcUrl"],"nodeType":"FunctionCall","src":"5787:75:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3478,"name":"setChain","nodeType":"Identifier","overloadedDeclarations":[3470,3491],"referencedDeclaration":3470,"src":"5766:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5766:97:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3489,"nodeType":"ExpressionStatement","src":"5766:97:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setChain","nameLocation":"5684:8:5","parameters":{"id":3476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3472,"mutability":"mutable","name":"chainAlias","nameLocation":"5707:10:5","nodeType":"VariableDeclaration","scope":3491,"src":"5693:24:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3471,"name":"string","nodeType":"ElementaryTypeName","src":"5693:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3475,"mutability":"mutable","name":"chain","nameLocation":"5732:5:5","nodeType":"VariableDeclaration","scope":3491,"src":"5719:18:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3474,"nodeType":"UserDefinedTypeName","pathNode":{"id":3473,"name":"Chain","nameLocations":["5719:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":3235,"src":"5719:5:5"},"referencedDeclaration":3235,"src":"5719:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"5692:46:5"},"returnParameters":{"id":3477,"nodeType":"ParameterList","parameters":[],"src":"5756:0:5"},"scope":4157,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":3568,"nodeType":"FunctionDefinition","src":"5876:451:5","nodes":[],"body":{"id":3567,"nodeType":"Block","src":"5950:377:5","nodes":[],"statements":[{"assignments":[3499],"declarations":[{"constant":false,"id":3499,"mutability":"mutable","name":"strb","nameLocation":"5973:4:5","nodeType":"VariableDeclaration","scope":3567,"src":"5960:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3498,"name":"bytes","nodeType":"ElementaryTypeName","src":"5960:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3504,"initialValue":{"arguments":[{"id":3502,"name":"str","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3493,"src":"5986:3:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3501,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5980:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3500,"name":"bytes","nodeType":"ElementaryTypeName","src":"5980:5:5","typeDescriptions":{}}},"id":3503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5980:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5960:30:5"},{"assignments":[3506],"declarations":[{"constant":false,"id":3506,"mutability":"mutable","name":"copy","nameLocation":"6013:4:5","nodeType":"VariableDeclaration","scope":3567,"src":"6000:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3505,"name":"bytes","nodeType":"ElementaryTypeName","src":"6000:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3512,"initialValue":{"arguments":[{"expression":{"id":3509,"name":"strb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3499,"src":"6030:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6035:6:5","memberName":"length","nodeType":"MemberAccess","src":"6030:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3508,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6020:9:5","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":3507,"name":"bytes","nodeType":"ElementaryTypeName","src":"6024:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":3511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6020:22:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"6000:42:5"},{"body":{"id":3560,"nodeType":"Block","src":"6094:198:5","statements":[{"assignments":[3525],"declarations":[{"constant":false,"id":3525,"mutability":"mutable","name":"b","nameLocation":"6115:1:5","nodeType":"VariableDeclaration","scope":3560,"src":"6108:8:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":3524,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6108:6:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"id":3529,"initialValue":{"baseExpression":{"id":3526,"name":"strb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3499,"src":"6119:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3528,"indexExpression":{"id":3527,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3514,"src":"6124:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6119:7:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"VariableDeclarationStatement","src":"6108:18:5"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":3532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3530,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3525,"src":"6144:1:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30783631","id":3531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6149:4:5","typeDescriptions":{"typeIdentifier":"t_rational_97_by_1","typeString":"int_const 97"},"value":"0x61"},"src":"6144:9:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":3535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3533,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3525,"src":"6157:1:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30783741","id":3534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6162:4:5","typeDescriptions":{"typeIdentifier":"t_rational_122_by_1","typeString":"int_const 122"},"value":"0x7A"},"src":"6157:9:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6144:22:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3558,"nodeType":"Block","src":"6238:44:5","statements":[{"expression":{"id":3556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3552,"name":"copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3506,"src":"6256:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3554,"indexExpression":{"id":3553,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3514,"src":"6261:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6256:7:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3555,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3525,"src":"6266:1:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"6256:11:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":3557,"nodeType":"ExpressionStatement","src":"6256:11:5"}]},"id":3559,"nodeType":"IfStatement","src":"6140:142:5","trueBody":{"id":3551,"nodeType":"Block","src":"6168:64:5","statements":[{"expression":{"id":3549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3537,"name":"copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3506,"src":"6186:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3539,"indexExpression":{"id":3538,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3514,"src":"6191:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6186:7:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":3547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":3544,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3525,"src":"6209:1:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":3543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6203:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":3542,"name":"uint8","nodeType":"ElementaryTypeName","src":"6203:5:5","typeDescriptions":{}}},"id":3545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6203:8:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"3332","id":3546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6214:2:5","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"6203:13:5","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":3541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6196:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":3540,"name":"bytes1","nodeType":"ElementaryTypeName","src":"6196:6:5","typeDescriptions":{}}},"id":3548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6196:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"6186:31:5","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":3550,"nodeType":"ExpressionStatement","src":"6186:31:5"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3517,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3514,"src":"6072:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":3518,"name":"strb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3499,"src":"6076:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6081:6:5","memberName":"length","nodeType":"MemberAccess","src":"6076:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6072:15:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3561,"initializationExpression":{"assignments":[3514],"declarations":[{"constant":false,"id":3514,"mutability":"mutable","name":"i","nameLocation":"6065:1:5","nodeType":"VariableDeclaration","scope":3561,"src":"6057:9:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3513,"name":"uint256","nodeType":"ElementaryTypeName","src":"6057:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3516,"initialValue":{"hexValue":"30","id":3515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6069:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6057:13:5"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":3522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6089:3:5","subExpression":{"id":3521,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3514,"src":"6089:1:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3523,"nodeType":"ExpressionStatement","src":"6089:3:5"},"nodeType":"ForStatement","src":"6052:240:5"},{"expression":{"arguments":[{"id":3564,"name":"copy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3506,"src":"6315:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6308:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3562,"name":"string","nodeType":"ElementaryTypeName","src":"6308:6:5","typeDescriptions":{}}},"id":3565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6308:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":3497,"id":3566,"nodeType":"Return","src":"6301:19:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_toUpper","nameLocation":"5885:8:5","parameters":{"id":3494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3493,"mutability":"mutable","name":"str","nameLocation":"5908:3:5","nodeType":"VariableDeclaration","scope":3568,"src":"5894:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3492,"name":"string","nodeType":"ElementaryTypeName","src":"5894:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5893:19:5"},"returnParameters":{"id":3497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3496,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3568,"src":"5935:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3495,"name":"string","nodeType":"ElementaryTypeName","src":"5935:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5934:15:5"},"scope":4157,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":3711,"nodeType":"FunctionDefinition","src":"6463:1725:5","nodes":[],"body":{"id":3710,"nodeType":"Block","src":"6608:1580:5","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":3581,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3573,"src":"6628:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3582,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6634:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3234,"src":"6628:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3580,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6622:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3579,"name":"bytes","nodeType":"ElementaryTypeName","src":"6622:5:5","typeDescriptions":{}}},"id":3583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6622:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6642:6:5","memberName":"length","nodeType":"MemberAccess","src":"6622:26:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6652:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6622:31:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3707,"nodeType":"IfStatement","src":"6618:1542:5","trueBody":{"id":3706,"nodeType":"Block","src":"6655:1505:5","statements":[{"clauses":[{"block":{"id":3600,"nodeType":"Block","src":"6732:60:5","statements":[{"expression":{"id":3598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3594,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3573,"src":"6750:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3596,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6756:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3234,"src":"6750:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3597,"name":"configRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3592,"src":"6765:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"6750:27:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3599,"nodeType":"ExpressionStatement","src":"6750:27:5"}]},"errorName":"","id":3601,"nodeType":"TryCatchClause","parameters":{"id":3593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3592,"mutability":"mutable","name":"configRpcUrl","nameLocation":"6718:12:5","nodeType":"VariableDeclaration","scope":3601,"src":"6704:26:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3591,"name":"string","nodeType":"ElementaryTypeName","src":"6704:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6703:28:5"},"src":"6695:97:5"},{"block":{"id":3703,"nodeType":"Block","src":"6818:1332:5","statements":[{"assignments":[3606],"declarations":[{"constant":false,"id":3606,"mutability":"mutable","name":"envName","nameLocation":"6850:7:5","nodeType":"VariableDeclaration","scope":3703,"src":"6836:21:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3605,"name":"string","nodeType":"ElementaryTypeName","src":"6836:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":3617,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":3612,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3570,"src":"6893:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3611,"name":"_toUpper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3568,"src":"6884:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":3613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6884:20:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"5f5250435f55524c","id":3614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6906:10:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_2186fe596dea1a615b7a1cb43899fd18c5b434aa29c8de36d4b8fcc67e3d6ad9","typeString":"literal_string \"_RPC_URL\""},"value":"_RPC_URL"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_2186fe596dea1a615b7a1cb43899fd18c5b434aa29c8de36d4b8fcc67e3d6ad9","typeString":"literal_string \"_RPC_URL\""}],"expression":{"id":3609,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6867:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6871:12:5","memberName":"encodePacked","nodeType":"MemberAccess","src":"6867:16:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6867:50:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3608,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6860:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3607,"name":"string","nodeType":"ElementaryTypeName","src":"6860:6:5","typeDescriptions":{}}},"id":3616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6860:58:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"6836:82:5"},{"condition":{"id":3618,"name":"fallbackToDefaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3251,"src":"6940:24:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3641,"nodeType":"Block","src":"7073:77:5","statements":[{"expression":{"id":3639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3632,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3573,"src":"7095:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3634,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7101:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3234,"src":"7095:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3637,"name":"envName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3606,"src":"7123:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3635,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3217,"src":"7110:2:5","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":3636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7113:9:5","memberName":"envString","nodeType":"MemberAccess","referencedDeclaration":14261,"src":"7110:12:5","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":3638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7110:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"7095:36:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3640,"nodeType":"ExpressionStatement","src":"7095:36:5"}]},"id":3642,"nodeType":"IfStatement","src":"6936:214:5","trueBody":{"id":3631,"nodeType":"Block","src":"6966:101:5","statements":[{"expression":{"id":3629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":3619,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3573,"src":"6988:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3621,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6994:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3234,"src":"6988:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3624,"name":"envName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3606,"src":"7012:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"baseExpression":{"id":3625,"name":"defaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3244,"src":"7021:14:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string memory => string storage ref)"}},"id":3627,"indexExpression":{"id":3626,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3570,"src":"7036:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7021:26:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":3622,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3217,"src":"7003:2:5","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":3623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7006:5:5","memberName":"envOr","nodeType":"MemberAccess","referencedDeclaration":14201,"src":"7003:8:5","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) view external returns (string memory)"}},"id":3628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7003:45:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"6988:60:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3630,"nodeType":"ExpressionStatement","src":"6988:60:5"}]}},{"assignments":[3644],"declarations":[{"constant":false,"id":3644,"mutability":"mutable","name":"oldNotFoundError","nameLocation":"7365:16:5","nodeType":"VariableDeclaration","scope":3703,"src":"7352:29:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3643,"name":"bytes","nodeType":"ElementaryTypeName","src":"7352:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3657,"initialValue":{"arguments":[{"hexValue":"4368656174436f64654572726f72","id":3647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7428:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_0bc445031644df03923eb2ab981d332f4354ceab11a95efce72a938e57beaadf","typeString":"literal_string \"CheatCodeError\""},"value":"CheatCodeError"},{"arguments":[{"arguments":[{"hexValue":"696e76616c6964207270632075726c20","id":3652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7470:18:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_2baf3da7b122675739218e635e969f0d1b560b915d35635239551f70fe123eed","typeString":"literal_string \"invalid rpc url \""},"value":"invalid rpc url "},{"id":3653,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3570,"src":"7490:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2baf3da7b122675739218e635e969f0d1b560b915d35635239551f70fe123eed","typeString":"literal_string \"invalid rpc url \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3650,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7453:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3651,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7457:12:5","memberName":"encodePacked","nodeType":"MemberAccess","src":"7453:16:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7453:48:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7446:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3648,"name":"string","nodeType":"ElementaryTypeName","src":"7446:6:5","typeDescriptions":{}}},"id":3655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7446:56:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0bc445031644df03923eb2ab981d332f4354ceab11a95efce72a938e57beaadf","typeString":"literal_string \"CheatCodeError\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3645,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7404:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7408:19:5","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7404:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":3656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7404:99:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7352:151:5"},{"assignments":[3659],"declarations":[{"constant":false,"id":3659,"mutability":"mutable","name":"newNotFoundError","nameLocation":"7534:16:5","nodeType":"VariableDeclaration","scope":3703,"src":"7521:29:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3658,"name":"bytes","nodeType":"ElementaryTypeName","src":"7521:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3672,"initialValue":{"arguments":[{"hexValue":"4368656174636f64654572726f7228737472696e6729","id":3662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7598:24:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_eeaa9e6f35c22929478456dd64e8453f06b33521fed71b747719abfbccbe6492","typeString":"literal_string \"CheatcodeError(string)\""},"value":"CheatcodeError(string)"},{"arguments":[{"arguments":[{"hexValue":"696e76616c6964207270632075726c3a20","id":3667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7648:19:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4888507059bbf849006832c209cb94797be8c857a4984252b438e37098512c6a","typeString":"literal_string \"invalid rpc url: \""},"value":"invalid rpc url: "},{"id":3668,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3570,"src":"7669:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4888507059bbf849006832c209cb94797be8c857a4984252b438e37098512c6a","typeString":"literal_string \"invalid rpc url: \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3665,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7631:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7635:12:5","memberName":"encodePacked","nodeType":"MemberAccess","src":"7631:16:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":3669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7631:49:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3664,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7624:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":3663,"name":"string","nodeType":"ElementaryTypeName","src":"7624:6:5","typeDescriptions":{}}},"id":3670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7624:57:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eeaa9e6f35c22929478456dd64e8453f06b33521fed71b747719abfbccbe6492","typeString":"literal_string \"CheatcodeError(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3660,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7553:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7557:19:5","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7553:23:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":3671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7553:146:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"7521:178:5"},{"assignments":[3674],"declarations":[{"constant":false,"id":3674,"mutability":"mutable","name":"errHash","nameLocation":"7725:7:5","nodeType":"VariableDeclaration","scope":3703,"src":"7717:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3673,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7717:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":3678,"initialValue":{"arguments":[{"id":3676,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3603,"src":"7745:3:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3675,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7735:9:5","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7735:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7717:32:5"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":3683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3679,"name":"errHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3674,"src":"7793:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":3681,"name":"oldNotFoundError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3644,"src":"7814:16:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3680,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7804:9:5","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7804:27:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7793:38:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":3688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3684,"name":"errHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3674,"src":"7835:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":3686,"name":"newNotFoundError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3659,"src":"7856:16:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3685,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7846:9:5","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":3687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7846:27:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7835:38:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7793:80:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":3690,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7792:82:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":3693,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3573,"src":"7908:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":3694,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7914:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3234,"src":"7908:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":3692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7902:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3691,"name":"bytes","nodeType":"ElementaryTypeName","src":"7902:5:5","typeDescriptions":{}}},"id":3695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7902:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":3696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7922:6:5","memberName":"length","nodeType":"MemberAccess","src":"7902:26:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7932:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7902:31:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7792:141:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3702,"nodeType":"IfStatement","src":"7767:369:5","trueBody":{"id":3701,"nodeType":"Block","src":"7952:184:5","statements":[{"AST":{"nativeSrc":"8038:80:5","nodeType":"YulBlock","src":"8038:80:5","statements":[{"expression":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"8075:2:5","nodeType":"YulLiteral","src":"8075:2:5","type":"","value":"32"},{"name":"err","nativeSrc":"8079:3:5","nodeType":"YulIdentifier","src":"8079:3:5"}],"functionName":{"name":"add","nativeSrc":"8071:3:5","nodeType":"YulIdentifier","src":"8071:3:5"},"nativeSrc":"8071:12:5","nodeType":"YulFunctionCall","src":"8071:12:5"},{"arguments":[{"name":"err","nativeSrc":"8091:3:5","nodeType":"YulIdentifier","src":"8091:3:5"}],"functionName":{"name":"mload","nativeSrc":"8085:5:5","nodeType":"YulIdentifier","src":"8085:5:5"},"nativeSrc":"8085:10:5","nodeType":"YulFunctionCall","src":"8085:10:5"}],"functionName":{"name":"revert","nativeSrc":"8064:6:5","nodeType":"YulIdentifier","src":"8064:6:5"},"nativeSrc":"8064:32:5","nodeType":"YulFunctionCall","src":"8064:32:5"},"nativeSrc":"8064:32:5","nodeType":"YulExpressionStatement","src":"8064:32:5"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":3603,"isOffset":false,"isSlot":false,"src":"8079:3:5","valueSize":1},{"declaration":3603,"isOffset":false,"isSlot":false,"src":"8091:3:5","valueSize":1}],"id":3700,"nodeType":"InlineAssembly","src":"8029:89:5"}]}}]},"errorName":"","id":3704,"nodeType":"TryCatchClause","parameters":{"id":3604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3603,"mutability":"mutable","name":"err","nameLocation":"6813:3:5","nodeType":"VariableDeclaration","scope":3704,"src":"6800:16:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3602,"name":"bytes","nodeType":"ElementaryTypeName","src":"6800:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6799:18:5"},"src":"6793:1357:5"}],"externalCall":{"arguments":[{"id":3589,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3570,"src":"6683:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":3587,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3217,"src":"6673:2:5","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":3588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6676:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":17060,"src":"6673:9:5","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":3590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6673:21:5","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":3705,"nodeType":"TryStatement","src":"6669:1481:5"}]}},{"expression":{"id":3708,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3573,"src":"8176:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain memory"}},"functionReturnParameters":3578,"id":3709,"nodeType":"Return","src":"8169:12:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getChainWithUpdatedRpcUrl","nameLocation":"6472:25:5","parameters":{"id":3574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3570,"mutability":"mutable","name":"chainAlias","nameLocation":"6512:10:5","nodeType":"VariableDeclaration","scope":3711,"src":"6498:24:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":3569,"name":"string","nodeType":"ElementaryTypeName","src":"6498:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3573,"mutability":"mutable","name":"chain","nameLocation":"6537:5:5","nodeType":"VariableDeclaration","scope":3711,"src":"6524:18:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3572,"nodeType":"UserDefinedTypeName","pathNode":{"id":3571,"name":"Chain","nameLocations":["6524:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":3235,"src":"6524:5:5"},"referencedDeclaration":3235,"src":"6524:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"6497:46:5"},"returnParameters":{"id":3578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3577,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3711,"src":"6590:12:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":3576,"nodeType":"UserDefinedTypeName","pathNode":{"id":3575,"name":"Chain","nameLocations":["6590:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":3235,"src":"6590:5:5"},"referencedDeclaration":3235,"src":"6590:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$3235_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"6589:14:5"},"scope":4157,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":3721,"nodeType":"FunctionDefinition","src":"8194:117:5","nodes":[],"body":{"id":3720,"nodeType":"Block","src":"8257:54:5","nodes":[],"statements":[{"expression":{"id":3718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3716,"name":"fallbackToDefaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3251,"src":"8267:24:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3717,"name":"useDefault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3713,"src":"8294:10:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8267:37:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3719,"nodeType":"ExpressionStatement","src":"8267:37:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setFallbackToDefaultRpcUrls","nameLocation":"8203:27:5","parameters":{"id":3714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3713,"mutability":"mutable","name":"useDefault","nameLocation":"8236:10:5","nodeType":"VariableDeclaration","scope":3721,"src":"8231:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3712,"name":"bool","nodeType":"ElementaryTypeName","src":"8231:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8230:17:5"},"returnParameters":{"id":3715,"nodeType":"ParameterList","parameters":[],"src":"8257:0:5"},"scope":4157,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":4119,"nodeType":"FunctionDefinition","src":"8317:5559:5","nodes":[],"body":{"id":4118,"nodeType":"Block","src":"8356:5520:5","nodes":[],"statements":[{"condition":{"id":3724,"name":"stdChainsInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3219,"src":"8370:20:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3726,"nodeType":"IfStatement","src":"8366:33:5","trueBody":{"functionReturnParameters":3723,"id":3725,"nodeType":"Return","src":"8392:7:5"}},{"expression":{"id":3729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3727,"name":"stdChainsInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3219,"src":"8409:20:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":3728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8432:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"8409:27:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3730,"nodeType":"ExpressionStatement","src":"8409:27:5"},{"expression":{"arguments":[{"hexValue":"616e76696c","id":3732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8581:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3d859b77cebfdf9da3b485434702c5090ff9e91b7b86c670ebb15f8a00eb72b","typeString":"literal_string \"anvil\""},"value":"anvil"},{"arguments":[{"hexValue":"416e76696c","id":3734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8600:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ab1bd2f543bf53e1036abfe292a89809c7285bff756db6e274686afe6fb41b4","typeString":"literal_string \"Anvil\""},"value":"Anvil"},{"hexValue":"3331333337","id":3735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8609:5:5","typeDescriptions":{"typeIdentifier":"t_rational_31337_by_1","typeString":"int_const 31337"},"value":"31337"},{"hexValue":"687474703a2f2f3132372e302e302e313a38353435","id":3736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8616:23:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_308a18cf3d9de3b161a842ef1e873581d7b16a5d4ea08170e123f95d25f33fe0","typeString":"literal_string \"http://127.0.0.1:8545\""},"value":"http://127.0.0.1:8545"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1ab1bd2f543bf53e1036abfe292a89809c7285bff756db6e274686afe6fb41b4","typeString":"literal_string \"Anvil\""},{"typeIdentifier":"t_rational_31337_by_1","typeString":"int_const 31337"},{"typeIdentifier":"t_stringliteral_308a18cf3d9de3b161a842ef1e873581d7b16a5d4ea08170e123f95d25f33fe0","typeString":"literal_string \"http://127.0.0.1:8545\""}],"id":3733,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"8590:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8590:50:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a3d859b77cebfdf9da3b485434702c5090ff9e91b7b86c670ebb15f8a00eb72b","typeString":"literal_string \"anvil\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3731,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"8555:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8555:86:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3739,"nodeType":"ExpressionStatement","src":"8555:86:5"},{"expression":{"arguments":[{"hexValue":"6d61696e6e6574","id":3741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8677:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_7beafa94c8bfb8f1c1a43104a34f72c524268aafbfe83bff17485539345c66ff","typeString":"literal_string \"mainnet\""},"value":"mainnet"},{"arguments":[{"hexValue":"4d61696e6e6574","id":3743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8698:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d646f556e5d9d6f1edcf7a39b77f5ac253776eb34efcfd688aacbee518efc26","typeString":"literal_string \"Mainnet\""},"value":"Mainnet"},{"hexValue":"31","id":3744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8709:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"68747470733a2f2f6574682e6c6c616d617270632e636f6d","id":3745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8712:26:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_411c24d116d5f5de112b5b4156059b8fdbbc19282a79184bf17a72a8fec93e2a","typeString":"literal_string \"https://eth.llamarpc.com\""},"value":"https://eth.llamarpc.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d646f556e5d9d6f1edcf7a39b77f5ac253776eb34efcfd688aacbee518efc26","typeString":"literal_string \"Mainnet\""},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_411c24d116d5f5de112b5b4156059b8fdbbc19282a79184bf17a72a8fec93e2a","typeString":"literal_string \"https://eth.llamarpc.com\""}],"id":3742,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"8688:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8688:51:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7beafa94c8bfb8f1c1a43104a34f72c524268aafbfe83bff17485539345c66ff","typeString":"literal_string \"mainnet\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3740,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"8651:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8651:89:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3748,"nodeType":"ExpressionStatement","src":"8651:89:5"},{"expression":{"arguments":[{"hexValue":"7365706f6c6961","id":3750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8789:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1f58df0b51f34f4835aba989f0aa2f2e66218cab53207bafd3dbf37270bd39a","typeString":"literal_string \"sepolia\""},"value":"sepolia"},{"arguments":[{"hexValue":"5365706f6c6961","id":3752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8810:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6b54cd124a84bb64f1808905ed95fb171a09730726f85e60eefcd47a4831b27","typeString":"literal_string \"Sepolia\""},"value":"Sepolia"},{"hexValue":"3131313535313131","id":3753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8821:8:5","typeDescriptions":{"typeIdentifier":"t_rational_11155111_by_1","typeString":"int_const 11155111"},"value":"11155111"},{"hexValue":"68747470733a2f2f7365706f6c69612e696e667572612e696f2f76332f6239373934616431646466383464666238633334643662623564636132303031","id":3754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8831:63:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_167447379e730a7d89231aec25edd721d4e0b02c818e31467228ef4a7c09810f","typeString":"literal_string \"https://sepolia.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001\""},"value":"https://sepolia.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a6b54cd124a84bb64f1808905ed95fb171a09730726f85e60eefcd47a4831b27","typeString":"literal_string \"Sepolia\""},{"typeIdentifier":"t_rational_11155111_by_1","typeString":"int_const 11155111"},{"typeIdentifier":"t_stringliteral_167447379e730a7d89231aec25edd721d4e0b02c818e31467228ef4a7c09810f","typeString":"literal_string \"https://sepolia.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001\""}],"id":3751,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"8800:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8800:95:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e1f58df0b51f34f4835aba989f0aa2f2e66218cab53207bafd3dbf37270bd39a","typeString":"literal_string \"sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3749,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"8750:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8750:155:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3757,"nodeType":"ExpressionStatement","src":"8750:155:5"},{"expression":{"arguments":[{"hexValue":"686f6c65736b79","id":3759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8941:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_225ab7cecf443e288dc4894ee98610f8cbeaa4a3718c6f21ab130c706fc789a0","typeString":"literal_string \"holesky\""},"value":"holesky"},{"arguments":[{"hexValue":"486f6c65736b79","id":3761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8962:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_8aa9e57bbfdbc36333797576aff48d01df8af373d958a7cf043bdc0117ce4b2f","typeString":"literal_string \"Holesky\""},"value":"Holesky"},{"hexValue":"3137303030","id":3762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8973:5:5","typeDescriptions":{"typeIdentifier":"t_rational_17000_by_1","typeString":"int_const 17000"},"value":"17000"},{"hexValue":"68747470733a2f2f7270632e686f6c65736b792e65746870616e64616f70732e696f","id":3763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8980:36:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_e7f02b0bd3afa86b1ed2e1c20ef09a4a86f096b37bcea73edd85b6f0d7974399","typeString":"literal_string \"https://rpc.holesky.ethpandaops.io\""},"value":"https://rpc.holesky.ethpandaops.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8aa9e57bbfdbc36333797576aff48d01df8af373d958a7cf043bdc0117ce4b2f","typeString":"literal_string \"Holesky\""},{"typeIdentifier":"t_rational_17000_by_1","typeString":"int_const 17000"},{"typeIdentifier":"t_stringliteral_e7f02b0bd3afa86b1ed2e1c20ef09a4a86f096b37bcea73edd85b6f0d7974399","typeString":"literal_string \"https://rpc.holesky.ethpandaops.io\""}],"id":3760,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"8952:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8952:65:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_225ab7cecf443e288dc4894ee98610f8cbeaa4a3718c6f21ab130c706fc789a0","typeString":"literal_string \"holesky\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3758,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"8915:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8915:103:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3766,"nodeType":"ExpressionStatement","src":"8915:103:5"},{"expression":{"arguments":[{"hexValue":"686f6f6469","id":3768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9054:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_1555cc0b82398581166a8ac2edec622973f44b5cf266c8c66328fd55958e30c9","typeString":"literal_string \"hoodi\""},"value":"hoodi"},{"arguments":[{"hexValue":"486f6f6469","id":3770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9073:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_d9874302513726ffaff8c32078b1c27fb48b7dd64fae72faa08410655afc37e0","typeString":"literal_string \"Hoodi\""},"value":"Hoodi"},{"hexValue":"353630303438","id":3771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9082:6:5","typeDescriptions":{"typeIdentifier":"t_rational_560048_by_1","typeString":"int_const 560048"},"value":"560048"},{"hexValue":"68747470733a2f2f7270632e686f6f64692e65746870616e64616f70732e696f","id":3772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9090:34:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_9614316eb163fa19c470a54a4ac254d43c38fd0d13b06fe5b4c51677242d8a4e","typeString":"literal_string \"https://rpc.hoodi.ethpandaops.io\""},"value":"https://rpc.hoodi.ethpandaops.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d9874302513726ffaff8c32078b1c27fb48b7dd64fae72faa08410655afc37e0","typeString":"literal_string \"Hoodi\""},{"typeIdentifier":"t_rational_560048_by_1","typeString":"int_const 560048"},{"typeIdentifier":"t_stringliteral_9614316eb163fa19c470a54a4ac254d43c38fd0d13b06fe5b4c51677242d8a4e","typeString":"literal_string \"https://rpc.hoodi.ethpandaops.io\""}],"id":3769,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"9063:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9063:62:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1555cc0b82398581166a8ac2edec622973f44b5cf266c8c66328fd55958e30c9","typeString":"literal_string \"hoodi\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3767,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"9028:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9028:98:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3775,"nodeType":"ExpressionStatement","src":"9028:98:5"},{"expression":{"arguments":[{"hexValue":"6f7074696d69736d","id":3777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9162:10:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_09d0f27659ee556a8134fa56941e42400e672aecc2d4cfc61cdb0fcea4590e05","typeString":"literal_string \"optimism\""},"value":"optimism"},{"arguments":[{"hexValue":"4f7074696d69736d","id":3779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9184:10:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_f997187c3c319ef9e33fa05f852d1612b66e309dc48d97a4b6b39832090a3bec","typeString":"literal_string \"Optimism\""},"value":"Optimism"},{"hexValue":"3130","id":3780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9196:2:5","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},{"hexValue":"68747470733a2f2f6d61696e6e65742e6f7074696d69736d2e696f","id":3781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9200:29:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_38b9211512154272cdc8d9677b3720aef06041b8d31b5e68a6ffc7a4bb22d93e","typeString":"literal_string \"https://mainnet.optimism.io\""},"value":"https://mainnet.optimism.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f997187c3c319ef9e33fa05f852d1612b66e309dc48d97a4b6b39832090a3bec","typeString":"literal_string \"Optimism\""},{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},{"typeIdentifier":"t_stringliteral_38b9211512154272cdc8d9677b3720aef06041b8d31b5e68a6ffc7a4bb22d93e","typeString":"literal_string \"https://mainnet.optimism.io\""}],"id":3778,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"9174:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9174:56:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_09d0f27659ee556a8134fa56941e42400e672aecc2d4cfc61cdb0fcea4590e05","typeString":"literal_string \"optimism\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3776,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"9136:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9136:95:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3784,"nodeType":"ExpressionStatement","src":"9136:95:5"},{"expression":{"arguments":[{"hexValue":"6f7074696d69736d5f7365706f6c6961","id":3786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9280:18:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b81bd4766608fc7dbedcd427f8ec9931a3fdfc6ca839a7cb742fea7b200d95e","typeString":"literal_string \"optimism_sepolia\""},"value":"optimism_sepolia"},{"arguments":[{"hexValue":"4f7074696d69736d205365706f6c6961","id":3788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9310:18:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_a4b5483d4d1690e6b8c441cf97a5dc0dbd350e5a7a13eae7c4892b5ce23a0143","typeString":"literal_string \"Optimism Sepolia\""},"value":"Optimism Sepolia"},{"hexValue":"3131313535343230","id":3789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9330:8:5","typeDescriptions":{"typeIdentifier":"t_rational_11155420_by_1","typeString":"int_const 11155420"},"value":"11155420"},{"hexValue":"68747470733a2f2f7365706f6c69612e6f7074696d69736d2e696f","id":3790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9340:29:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_9637e6347106e6dff5406560d0751fa58cd1cbad2dbe2b9933bfff29a3398eca","typeString":"literal_string \"https://sepolia.optimism.io\""},"value":"https://sepolia.optimism.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a4b5483d4d1690e6b8c441cf97a5dc0dbd350e5a7a13eae7c4892b5ce23a0143","typeString":"literal_string \"Optimism Sepolia\""},{"typeIdentifier":"t_rational_11155420_by_1","typeString":"int_const 11155420"},{"typeIdentifier":"t_stringliteral_9637e6347106e6dff5406560d0751fa58cd1cbad2dbe2b9933bfff29a3398eca","typeString":"literal_string \"https://sepolia.optimism.io\""}],"id":3787,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"9300:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9300:70:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2b81bd4766608fc7dbedcd427f8ec9931a3fdfc6ca839a7cb742fea7b200d95e","typeString":"literal_string \"optimism_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3785,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"9241:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9241:139:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3793,"nodeType":"ExpressionStatement","src":"9241:139:5"},{"expression":{"arguments":[{"hexValue":"617262697472756d5f6f6e65","id":3795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9416:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b44cea7839e0679ac5072602932da9b25ebfb3a9ac42625d9c583a7b6b2eb4","typeString":"literal_string \"arbitrum_one\""},"value":"arbitrum_one"},{"arguments":[{"hexValue":"417262697472756d204f6e65","id":3797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9442:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e42b1aebd5463751aea2c5f6ee37505334a82b4085315a5f4b8b0f81d3b9004","typeString":"literal_string \"Arbitrum One\""},"value":"Arbitrum One"},{"hexValue":"3432313631","id":3798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9458:5:5","typeDescriptions":{"typeIdentifier":"t_rational_42161_by_1","typeString":"int_const 42161"},"value":"42161"},{"hexValue":"68747470733a2f2f617262312e617262697472756d2e696f2f727063","id":3799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9465:30:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_ff28c1a1bf3c117d5956efad529d0ee22dcfc0fe5cbf5a03e0bdfcc3c6cac126","typeString":"literal_string \"https://arb1.arbitrum.io/rpc\""},"value":"https://arb1.arbitrum.io/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9e42b1aebd5463751aea2c5f6ee37505334a82b4085315a5f4b8b0f81d3b9004","typeString":"literal_string \"Arbitrum One\""},{"typeIdentifier":"t_rational_42161_by_1","typeString":"int_const 42161"},{"typeIdentifier":"t_stringliteral_ff28c1a1bf3c117d5956efad529d0ee22dcfc0fe5cbf5a03e0bdfcc3c6cac126","typeString":"literal_string \"https://arb1.arbitrum.io/rpc\""}],"id":3796,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"9432:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9432:64:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b44cea7839e0679ac5072602932da9b25ebfb3a9ac42625d9c583a7b6b2eb4","typeString":"literal_string \"arbitrum_one\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3794,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"9390:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9390:107:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3802,"nodeType":"ExpressionStatement","src":"9390:107:5"},{"expression":{"arguments":[{"hexValue":"617262697472756d5f6f6e655f7365706f6c6961","id":3804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9546:22:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_26a1db5cffcc70784b9844e4c62ac247af8d01d7d77a3015f5a0ba29007cf771","typeString":"literal_string \"arbitrum_one_sepolia\""},"value":"arbitrum_one_sepolia"},{"arguments":[{"hexValue":"417262697472756d204f6e65205365706f6c6961","id":3806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9580:22:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_654cc796e821b4114751c4dea67fa0b307483fcd277683183f805d644727e1bd","typeString":"literal_string \"Arbitrum One Sepolia\""},"value":"Arbitrum One Sepolia"},{"hexValue":"343231363134","id":3807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9604:6:5","typeDescriptions":{"typeIdentifier":"t_rational_421614_by_1","typeString":"int_const 421614"},"value":"421614"},{"hexValue":"68747470733a2f2f7365706f6c69612d726f6c6c75702e617262697472756d2e696f2f727063","id":3808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9612:40:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_688e89820a952a5c42996d2164181a6293f1bd5425540e39328100c40b6ce79e","typeString":"literal_string \"https://sepolia-rollup.arbitrum.io/rpc\""},"value":"https://sepolia-rollup.arbitrum.io/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_654cc796e821b4114751c4dea67fa0b307483fcd277683183f805d644727e1bd","typeString":"literal_string \"Arbitrum One Sepolia\""},{"typeIdentifier":"t_rational_421614_by_1","typeString":"int_const 421614"},{"typeIdentifier":"t_stringliteral_688e89820a952a5c42996d2164181a6293f1bd5425540e39328100c40b6ce79e","typeString":"literal_string \"https://sepolia-rollup.arbitrum.io/rpc\""}],"id":3805,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"9570:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9570:83:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_26a1db5cffcc70784b9844e4c62ac247af8d01d7d77a3015f5a0ba29007cf771","typeString":"literal_string \"arbitrum_one_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3803,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"9507:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9507:156:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3811,"nodeType":"ExpressionStatement","src":"9507:156:5"},{"expression":{"arguments":[{"hexValue":"617262697472756d5f6e6f7661","id":3813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9699:15:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_9338ed1403277416ebb39d4e992ebf5c49e6dded5ec79963ea5fc261cbd7fdac","typeString":"literal_string \"arbitrum_nova\""},"value":"arbitrum_nova"},{"arguments":[{"hexValue":"417262697472756d204e6f7661","id":3815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9726:15:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_25c77b7679bf463420c39c7728b9f65b6a8f1ae05b3335eb9e394b1b61bf8f21","typeString":"literal_string \"Arbitrum Nova\""},"value":"Arbitrum Nova"},{"hexValue":"3432313730","id":3816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9743:5:5","typeDescriptions":{"typeIdentifier":"t_rational_42170_by_1","typeString":"int_const 42170"},"value":"42170"},{"hexValue":"68747470733a2f2f6e6f76612e617262697472756d2e696f2f727063","id":3817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9750:30:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_a77f0a686c95785c75ada33247e30dc9ac80330a7f8eb521bebdf48f492ee4ac","typeString":"literal_string \"https://nova.arbitrum.io/rpc\""},"value":"https://nova.arbitrum.io/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_25c77b7679bf463420c39c7728b9f65b6a8f1ae05b3335eb9e394b1b61bf8f21","typeString":"literal_string \"Arbitrum Nova\""},{"typeIdentifier":"t_rational_42170_by_1","typeString":"int_const 42170"},{"typeIdentifier":"t_stringliteral_a77f0a686c95785c75ada33247e30dc9ac80330a7f8eb521bebdf48f492ee4ac","typeString":"literal_string \"https://nova.arbitrum.io/rpc\""}],"id":3814,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"9716:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9716:65:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9338ed1403277416ebb39d4e992ebf5c49e6dded5ec79963ea5fc261cbd7fdac","typeString":"literal_string \"arbitrum_nova\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3812,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"9673:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9673:109:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3820,"nodeType":"ExpressionStatement","src":"9673:109:5"},{"expression":{"arguments":[{"hexValue":"706f6c79676f6e","id":3822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9818:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_ac63fa1fe369e75c38d62f0f4d465b48b3cd5159f0fb416332899402031d1408","typeString":"literal_string \"polygon\""},"value":"polygon"},{"arguments":[{"hexValue":"506f6c79676f6e","id":3824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9839:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_890af8db8ca1aa1e915857edbc2717639ebd8a22c786f9e0e776d6a1aacb5e71","typeString":"literal_string \"Polygon\""},"value":"Polygon"},{"hexValue":"313337","id":3825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9850:3:5","typeDescriptions":{"typeIdentifier":"t_rational_137_by_1","typeString":"int_const 137"},"value":"137"},{"hexValue":"68747470733a2f2f706f6c79676f6e2d7270632e636f6d","id":3826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9855:25:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_fda46ab670b83929623b4aa9bcfa97ff7b7376fa90a24a450a8561482232c5c0","typeString":"literal_string \"https://polygon-rpc.com\""},"value":"https://polygon-rpc.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_890af8db8ca1aa1e915857edbc2717639ebd8a22c786f9e0e776d6a1aacb5e71","typeString":"literal_string \"Polygon\""},{"typeIdentifier":"t_rational_137_by_1","typeString":"int_const 137"},{"typeIdentifier":"t_stringliteral_fda46ab670b83929623b4aa9bcfa97ff7b7376fa90a24a450a8561482232c5c0","typeString":"literal_string \"https://polygon-rpc.com\""}],"id":3823,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"9829:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9829:52:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ac63fa1fe369e75c38d62f0f4d465b48b3cd5159f0fb416332899402031d1408","typeString":"literal_string \"polygon\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3821,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"9792:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9792:90:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3829,"nodeType":"ExpressionStatement","src":"9792:90:5"},{"expression":{"arguments":[{"hexValue":"706f6c79676f6e5f616d6f79","id":3831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9931:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_99386ebe04f891bb96d67bac6a8c404b5f67fb13158954ea2c9e2362a932e070","typeString":"literal_string \"polygon_amoy\""},"value":"polygon_amoy"},{"arguments":[{"hexValue":"506f6c79676f6e20416d6f79","id":3833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9957:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_70d1ef84663b7252febfdf23a787d7e693d0b8647f0d6d014e089199f6cb2946","typeString":"literal_string \"Polygon Amoy\""},"value":"Polygon Amoy"},{"hexValue":"3830303032","id":3834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9973:5:5","typeDescriptions":{"typeIdentifier":"t_rational_80002_by_1","typeString":"int_const 80002"},"value":"80002"},{"hexValue":"68747470733a2f2f7270632d616d6f792e706f6c79676f6e2e746563686e6f6c6f6779","id":3835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9980:37:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_2373c58e9dd62de041a01e2a45a8fce997a1bfaf90c1491c1a766e3d1cc947a6","typeString":"literal_string \"https://rpc-amoy.polygon.technology\""},"value":"https://rpc-amoy.polygon.technology"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_70d1ef84663b7252febfdf23a787d7e693d0b8647f0d6d014e089199f6cb2946","typeString":"literal_string \"Polygon Amoy\""},{"typeIdentifier":"t_rational_80002_by_1","typeString":"int_const 80002"},{"typeIdentifier":"t_stringliteral_2373c58e9dd62de041a01e2a45a8fce997a1bfaf90c1491c1a766e3d1cc947a6","typeString":"literal_string \"https://rpc-amoy.polygon.technology\""}],"id":3832,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"9947:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9947:71:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_99386ebe04f891bb96d67bac6a8c404b5f67fb13158954ea2c9e2362a932e070","typeString":"literal_string \"polygon_amoy\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3830,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"9892:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9892:136:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3838,"nodeType":"ExpressionStatement","src":"9892:136:5"},{"expression":{"arguments":[{"hexValue":"6176616c616e636865","id":3840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10064:11:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e8b0d92516ee4289145e3b78cea58daac177b1c618beeedbc6cdabd388a6e55","typeString":"literal_string \"avalanche\""},"value":"avalanche"},{"arguments":[{"hexValue":"4176616c616e636865","id":3842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10087:11:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_6585177c3aba6cb7ffc0a37e831a958c4ee9278e4c62c7bdad7175ca09883c40","typeString":"literal_string \"Avalanche\""},"value":"Avalanche"},{"hexValue":"3433313134","id":3843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10100:5:5","typeDescriptions":{"typeIdentifier":"t_rational_43114_by_1","typeString":"int_const 43114"},"value":"43114"},{"hexValue":"68747470733a2f2f6170692e617661782e6e6574776f726b2f6578742f62632f432f727063","id":3844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10107:39:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_429365eac47ed6b261c38927d854e528b743fc5a678b1b4ba631c511f305886a","typeString":"literal_string \"https://api.avax.network/ext/bc/C/rpc\""},"value":"https://api.avax.network/ext/bc/C/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6585177c3aba6cb7ffc0a37e831a958c4ee9278e4c62c7bdad7175ca09883c40","typeString":"literal_string \"Avalanche\""},{"typeIdentifier":"t_rational_43114_by_1","typeString":"int_const 43114"},{"typeIdentifier":"t_stringliteral_429365eac47ed6b261c38927d854e528b743fc5a678b1b4ba631c511f305886a","typeString":"literal_string \"https://api.avax.network/ext/bc/C/rpc\""}],"id":3841,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"10077:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10077:70:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e8b0d92516ee4289145e3b78cea58daac177b1c618beeedbc6cdabd388a6e55","typeString":"literal_string \"avalanche\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3839,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"10038:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10038:110:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3847,"nodeType":"ExpressionStatement","src":"10038:110:5"},{"expression":{"arguments":[{"hexValue":"6176616c616e6368655f66756a69","id":3849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10197:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1920d2f80060f1c83444622c7eb5adf4484bed8a537b8d13eae53bd800aa692","typeString":"literal_string \"avalanche_fuji\""},"value":"avalanche_fuji"},{"arguments":[{"hexValue":"4176616c616e6368652046756a69","id":3851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10225:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_522b176494c651b1a4c5779e66ed19f885df62891abfb18fd5e45b69bdabe11b","typeString":"literal_string \"Avalanche Fuji\""},"value":"Avalanche Fuji"},{"hexValue":"3433313133","id":3852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10243:5:5","typeDescriptions":{"typeIdentifier":"t_rational_43113_by_1","typeString":"int_const 43113"},"value":"43113"},{"hexValue":"68747470733a2f2f6170692e617661782d746573742e6e6574776f726b2f6578742f62632f432f727063","id":3853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10250:44:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6621ea822eabf6c190358ea82de0c52d3503dcce8117b3366a8a3bd96eb422d","typeString":"literal_string \"https://api.avax-test.network/ext/bc/C/rpc\""},"value":"https://api.avax-test.network/ext/bc/C/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_522b176494c651b1a4c5779e66ed19f885df62891abfb18fd5e45b69bdabe11b","typeString":"literal_string \"Avalanche Fuji\""},{"typeIdentifier":"t_rational_43113_by_1","typeString":"int_const 43113"},{"typeIdentifier":"t_stringliteral_d6621ea822eabf6c190358ea82de0c52d3503dcce8117b3366a8a3bd96eb422d","typeString":"literal_string \"https://api.avax-test.network/ext/bc/C/rpc\""}],"id":3850,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"10215:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10215:80:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1920d2f80060f1c83444622c7eb5adf4484bed8a537b8d13eae53bd800aa692","typeString":"literal_string \"avalanche_fuji\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3848,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"10158:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10158:147:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3856,"nodeType":"ExpressionStatement","src":"10158:147:5"},{"expression":{"arguments":[{"hexValue":"626e625f736d6172745f636861696e","id":3858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10354:17:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa8b17ae9aa26749f5dc3a3bb333e0019db0c257f3541e870f73bb48b574361e","typeString":"literal_string \"bnb_smart_chain\""},"value":"bnb_smart_chain"},{"arguments":[{"hexValue":"424e4220536d61727420436861696e","id":3860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10383:17:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_3606544ee65d30d7c7f7d6a1f6618e0d836299fa5b85b88d71a59535c6a1550f","typeString":"literal_string \"BNB Smart Chain\""},"value":"BNB Smart Chain"},{"hexValue":"3536","id":3861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10402:2:5","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},{"hexValue":"68747470733a2f2f6273632d6461746173656564312e62696e616e63652e6f7267","id":3862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10406:35:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2b4215bd50ab260c8c9f18e36ea07b1f952450853bcf024123d5767a40d4719","typeString":"literal_string \"https://bsc-dataseed1.binance.org\""},"value":"https://bsc-dataseed1.binance.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3606544ee65d30d7c7f7d6a1f6618e0d836299fa5b85b88d71a59535c6a1550f","typeString":"literal_string \"BNB Smart Chain\""},{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},{"typeIdentifier":"t_stringliteral_e2b4215bd50ab260c8c9f18e36ea07b1f952450853bcf024123d5767a40d4719","typeString":"literal_string \"https://bsc-dataseed1.binance.org\""}],"id":3859,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"10373:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10373:69:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fa8b17ae9aa26749f5dc3a3bb333e0019db0c257f3541e870f73bb48b574361e","typeString":"literal_string \"bnb_smart_chain\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3857,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"10315:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10315:137:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3865,"nodeType":"ExpressionStatement","src":"10315:137:5"},{"expression":{"arguments":[{"hexValue":"626e625f736d6172745f636861696e5f746573746e6574","id":3867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10501:25:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_1813de9892ab9db3d0c3b0c3eed9c8b820fe0c7e205bed860e6e89f4d7f75f29","typeString":"literal_string \"bnb_smart_chain_testnet\""},"value":"bnb_smart_chain_testnet"},{"arguments":[{"hexValue":"424e4220536d61727420436861696e20546573746e6574","id":3869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10550:25:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b1d88342c4ab079c9a8243ef8dfeb0bb41e1da5dc9fe62ca728dfe4ea21092c","typeString":"literal_string \"BNB Smart Chain Testnet\""},"value":"BNB Smart Chain Testnet"},{"hexValue":"3937","id":3870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10577:2:5","typeDescriptions":{"typeIdentifier":"t_rational_97_by_1","typeString":"int_const 97"},"value":"97"},{"hexValue":"68747470733a2f2f7270632e616e6b722e636f6d2f6273635f746573746e65745f63686170656c","id":3871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10581:41:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_6660930de41ed298fb6a2348f33b08e5736a3823e6ffb86942097b237e075960","typeString":"literal_string \"https://rpc.ankr.com/bsc_testnet_chapel\""},"value":"https://rpc.ankr.com/bsc_testnet_chapel"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b1d88342c4ab079c9a8243ef8dfeb0bb41e1da5dc9fe62ca728dfe4ea21092c","typeString":"literal_string \"BNB Smart Chain Testnet\""},{"typeIdentifier":"t_rational_97_by_1","typeString":"int_const 97"},{"typeIdentifier":"t_stringliteral_6660930de41ed298fb6a2348f33b08e5736a3823e6ffb86942097b237e075960","typeString":"literal_string \"https://rpc.ankr.com/bsc_testnet_chapel\""}],"id":3868,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"10540:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10540:83:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1813de9892ab9db3d0c3b0c3eed9c8b820fe0c7e205bed860e6e89f4d7f75f29","typeString":"literal_string \"bnb_smart_chain_testnet\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3866,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"10462:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10462:171:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3874,"nodeType":"ExpressionStatement","src":"10462:171:5"},{"expression":{"arguments":[{"hexValue":"676e6f7369735f636861696e","id":3876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10669:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_847b7ed4df59b2dfcdba377bf4ac481c502926169e9af948ee2dd45c0e6df595","typeString":"literal_string \"gnosis_chain\""},"value":"gnosis_chain"},{"arguments":[{"hexValue":"476e6f73697320436861696e","id":3878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10695:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bfc6ae4a1f5d8ea33b4f631c2f7dfbfa7d613af42ef38137c06d4cd03619b02","typeString":"literal_string \"Gnosis Chain\""},"value":"Gnosis Chain"},{"hexValue":"313030","id":3879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10711:3:5","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"hexValue":"68747470733a2f2f7270632e676e6f736973636861696e2e636f6d","id":3880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10716:29:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_127e02590d58e22164456f76136047039faabc2ca27eb41939081a3e775b50df","typeString":"literal_string \"https://rpc.gnosischain.com\""},"value":"https://rpc.gnosischain.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9bfc6ae4a1f5d8ea33b4f631c2f7dfbfa7d613af42ef38137c06d4cd03619b02","typeString":"literal_string \"Gnosis Chain\""},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_stringliteral_127e02590d58e22164456f76136047039faabc2ca27eb41939081a3e775b50df","typeString":"literal_string \"https://rpc.gnosischain.com\""}],"id":3877,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"10685:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10685:61:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_847b7ed4df59b2dfcdba377bf4ac481c502926169e9af948ee2dd45c0e6df595","typeString":"literal_string \"gnosis_chain\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3875,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"10643:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10643:104:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3883,"nodeType":"ExpressionStatement","src":"10643:104:5"},{"expression":{"arguments":[{"hexValue":"6d6f6f6e6265616d","id":3885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10783:10:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_26aaddd9933ae745bc6e39b5e8962c0d0eef85597e0bdcb35ce7e0d96b84735d","typeString":"literal_string \"moonbeam\""},"value":"moonbeam"},{"arguments":[{"hexValue":"4d6f6f6e6265616d","id":3887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10805:10:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_99a49606e97aa9d58789783bd4cdfcc3ab4072167b449d1e303cb1135216531b","typeString":"literal_string \"Moonbeam\""},"value":"Moonbeam"},{"hexValue":"31323834","id":3888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10817:4:5","typeDescriptions":{"typeIdentifier":"t_rational_1284_by_1","typeString":"int_const 1284"},"value":"1284"},{"hexValue":"68747470733a2f2f7270632e6170692e6d6f6f6e6265616d2e6e6574776f726b","id":3889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10823:34:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf5d37a68a82777d3f0adcdf64b39d98f1e820688e4ced698cd753bbd1e32191","typeString":"literal_string \"https://rpc.api.moonbeam.network\""},"value":"https://rpc.api.moonbeam.network"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_99a49606e97aa9d58789783bd4cdfcc3ab4072167b449d1e303cb1135216531b","typeString":"literal_string \"Moonbeam\""},{"typeIdentifier":"t_rational_1284_by_1","typeString":"int_const 1284"},{"typeIdentifier":"t_stringliteral_cf5d37a68a82777d3f0adcdf64b39d98f1e820688e4ced698cd753bbd1e32191","typeString":"literal_string \"https://rpc.api.moonbeam.network\""}],"id":3886,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"10795:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10795:63:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_26aaddd9933ae745bc6e39b5e8962c0d0eef85597e0bdcb35ce7e0d96b84735d","typeString":"literal_string \"moonbeam\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3884,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"10757:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10757:102:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3892,"nodeType":"ExpressionStatement","src":"10757:102:5"},{"expression":{"arguments":[{"hexValue":"6d6f6f6e7269766572","id":3894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10908:11:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_2eb4cae4af32e190d8881d6d0a59016ff55092d3a70bcf6b321432516acfd74a","typeString":"literal_string \"moonriver\""},"value":"moonriver"},{"arguments":[{"hexValue":"4d6f6f6e7269766572","id":3896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10931:11:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_65d5ad77d0dd38eb7219d1087db2cb9c2440e3f70be3ee1567aa2329d21dad8a","typeString":"literal_string \"Moonriver\""},"value":"Moonriver"},{"hexValue":"31323835","id":3897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10944:4:5","typeDescriptions":{"typeIdentifier":"t_rational_1285_by_1","typeString":"int_const 1285"},"value":"1285"},{"hexValue":"68747470733a2f2f7270632e6170692e6d6f6f6e72697665722e6d6f6f6e6265616d2e6e6574776f726b","id":3898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10950:44:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_cdf0715ef9b420dea4501d55a4c023de5bc6e2be267c3e3ec8345021a77f3e46","typeString":"literal_string \"https://rpc.api.moonriver.moonbeam.network\""},"value":"https://rpc.api.moonriver.moonbeam.network"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65d5ad77d0dd38eb7219d1087db2cb9c2440e3f70be3ee1567aa2329d21dad8a","typeString":"literal_string \"Moonriver\""},{"typeIdentifier":"t_rational_1285_by_1","typeString":"int_const 1285"},{"typeIdentifier":"t_stringliteral_cdf0715ef9b420dea4501d55a4c023de5bc6e2be267c3e3ec8345021a77f3e46","typeString":"literal_string \"https://rpc.api.moonriver.moonbeam.network\""}],"id":3895,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"10921:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10921:74:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2eb4cae4af32e190d8881d6d0a59016ff55092d3a70bcf6b321432516acfd74a","typeString":"literal_string \"moonriver\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3893,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"10869:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10869:136:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3901,"nodeType":"ExpressionStatement","src":"10869:136:5"},{"expression":{"arguments":[{"hexValue":"6d6f6f6e62617365","id":3903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11041:10:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_ccd05eb377a4954d8471e48341881dadc4d2a36094f09ce309d35b3b6204f44e","typeString":"literal_string \"moonbase\""},"value":"moonbase"},{"arguments":[{"hexValue":"4d6f6f6e62617365","id":3905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11063:10:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f3c53069778183912da77a05fe67c3d6edb208ffdf1ca0161d51543035e3c68","typeString":"literal_string \"Moonbase\""},"value":"Moonbase"},{"hexValue":"31323837","id":3906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11075:4:5","typeDescriptions":{"typeIdentifier":"t_rational_1287_by_1","typeString":"int_const 1287"},"value":"1287"},{"hexValue":"68747470733a2f2f7270632e746573746e65742e6d6f6f6e6265616d2e6e6574776f726b","id":3907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11081:38:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_611da7a50d9bf940412b47209c78030562dd2047afcf97dad69e15217355b585","typeString":"literal_string \"https://rpc.testnet.moonbeam.network\""},"value":"https://rpc.testnet.moonbeam.network"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f3c53069778183912da77a05fe67c3d6edb208ffdf1ca0161d51543035e3c68","typeString":"literal_string \"Moonbase\""},{"typeIdentifier":"t_rational_1287_by_1","typeString":"int_const 1287"},{"typeIdentifier":"t_stringliteral_611da7a50d9bf940412b47209c78030562dd2047afcf97dad69e15217355b585","typeString":"literal_string \"https://rpc.testnet.moonbeam.network\""}],"id":3904,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"11053:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11053:67:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ccd05eb377a4954d8471e48341881dadc4d2a36094f09ce309d35b3b6204f44e","typeString":"literal_string \"moonbase\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3902,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"11015:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11015:106:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3910,"nodeType":"ExpressionStatement","src":"11015:106:5"},{"expression":{"arguments":[{"hexValue":"626173655f7365706f6c6961","id":3912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11157:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_40f5ce1e060576e5bb027cec6e47b8e25f62225f6819b727a8b3b65f474b0579","typeString":"literal_string \"base_sepolia\""},"value":"base_sepolia"},{"arguments":[{"hexValue":"42617365205365706f6c6961","id":3914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11183:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4302f54daff87a391f27ad11679cb16c1ec4c4676bf1145291eff47852bb3951","typeString":"literal_string \"Base Sepolia\""},"value":"Base Sepolia"},{"hexValue":"3834353332","id":3915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11199:5:5","typeDescriptions":{"typeIdentifier":"t_rational_84532_by_1","typeString":"int_const 84532"},"value":"84532"},{"hexValue":"68747470733a2f2f7365706f6c69612e626173652e6f7267","id":3916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11206:26:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_64dd31038d7f53a8cfd73e6409052ea93b6797747302995b002ca2468e7a19f5","typeString":"literal_string \"https://sepolia.base.org\""},"value":"https://sepolia.base.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4302f54daff87a391f27ad11679cb16c1ec4c4676bf1145291eff47852bb3951","typeString":"literal_string \"Base Sepolia\""},{"typeIdentifier":"t_rational_84532_by_1","typeString":"int_const 84532"},{"typeIdentifier":"t_stringliteral_64dd31038d7f53a8cfd73e6409052ea93b6797747302995b002ca2468e7a19f5","typeString":"literal_string \"https://sepolia.base.org\""}],"id":3913,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"11173:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11173:60:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40f5ce1e060576e5bb027cec6e47b8e25f62225f6819b727a8b3b65f474b0579","typeString":"literal_string \"base_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3911,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"11131:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11131:103:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3919,"nodeType":"ExpressionStatement","src":"11131:103:5"},{"expression":{"arguments":[{"hexValue":"62617365","id":3921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11270:6:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f","typeString":"literal_string \"base\""},"value":"base"},{"arguments":[{"hexValue":"42617365","id":3923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11288:6:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ae0ac2f852a779a7f563e86fd9f7493133d36d105b67aa4ae634de521805c78","typeString":"literal_string \"Base\""},"value":"Base"},{"hexValue":"38343533","id":3924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11296:4:5","typeDescriptions":{"typeIdentifier":"t_rational_8453_by_1","typeString":"int_const 8453"},"value":"8453"},{"hexValue":"68747470733a2f2f6d61696e6e65742e626173652e6f7267","id":3925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11302:26:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_a7cada1c9191e2f8d595127a4d3f6fa90fd263d9c81f2466ebe2e780722f9202","typeString":"literal_string \"https://mainnet.base.org\""},"value":"https://mainnet.base.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0ae0ac2f852a779a7f563e86fd9f7493133d36d105b67aa4ae634de521805c78","typeString":"literal_string \"Base\""},{"typeIdentifier":"t_rational_8453_by_1","typeString":"int_const 8453"},{"typeIdentifier":"t_stringliteral_a7cada1c9191e2f8d595127a4d3f6fa90fd263d9c81f2466ebe2e780722f9202","typeString":"literal_string \"https://mainnet.base.org\""}],"id":3922,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"11278:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11278:51:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f","typeString":"literal_string \"base\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3920,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"11244:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11244:86:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3928,"nodeType":"ExpressionStatement","src":"11244:86:5"},{"expression":{"arguments":[{"hexValue":"626c6173745f7365706f6c6961","id":3930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11366:15:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_994871fd85735b80fc101a7bc1ba23b652d20d656ed6bdf5b26d974bbe38a8ce","typeString":"literal_string \"blast_sepolia\""},"value":"blast_sepolia"},{"arguments":[{"hexValue":"426c617374205365706f6c6961","id":3932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11393:15:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_aca96c68944e335d2b1293b78f53b9df0a29846df8dce2ed5b0da1ae3cb18429","typeString":"literal_string \"Blast Sepolia\""},"value":"Blast Sepolia"},{"hexValue":"313638353837373733","id":3933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11410:9:5","typeDescriptions":{"typeIdentifier":"t_rational_168587773_by_1","typeString":"int_const 168587773"},"value":"168587773"},{"hexValue":"68747470733a2f2f7365706f6c69612e626c6173742e696f","id":3934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11421:26:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_1cf31ff7d880bc9630920378a25b6d66eee96794c2c50cb2d200ff7a0ce5768c","typeString":"literal_string \"https://sepolia.blast.io\""},"value":"https://sepolia.blast.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aca96c68944e335d2b1293b78f53b9df0a29846df8dce2ed5b0da1ae3cb18429","typeString":"literal_string \"Blast Sepolia\""},{"typeIdentifier":"t_rational_168587773_by_1","typeString":"int_const 168587773"},{"typeIdentifier":"t_stringliteral_1cf31ff7d880bc9630920378a25b6d66eee96794c2c50cb2d200ff7a0ce5768c","typeString":"literal_string \"https://sepolia.blast.io\""}],"id":3931,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"11383:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11383:65:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_994871fd85735b80fc101a7bc1ba23b652d20d656ed6bdf5b26d974bbe38a8ce","typeString":"literal_string \"blast_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3929,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"11340:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11340:109:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3937,"nodeType":"ExpressionStatement","src":"11340:109:5"},{"expression":{"arguments":[{"hexValue":"626c617374","id":3939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11485:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_edf839a6b71363a2663cc0c8ffcf15606693adcc9ca9c568aeb87895fd70b0ec","typeString":"literal_string \"blast\""},"value":"blast"},{"arguments":[{"hexValue":"426c617374","id":3941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11504:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b94971ac04d596524d45bcf53505c621ede60829afbe43ffb3789c8d10810a8","typeString":"literal_string \"Blast\""},"value":"Blast"},{"hexValue":"3831343537","id":3942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11513:5:5","typeDescriptions":{"typeIdentifier":"t_rational_81457_by_1","typeString":"int_const 81457"},"value":"81457"},{"hexValue":"68747470733a2f2f7270632e626c6173742e696f","id":3943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11520:22:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_f3358c4aeeee5f7c57914d7763a157022d948cd26527b58cb169c56b42ba12a8","typeString":"literal_string \"https://rpc.blast.io\""},"value":"https://rpc.blast.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b94971ac04d596524d45bcf53505c621ede60829afbe43ffb3789c8d10810a8","typeString":"literal_string \"Blast\""},{"typeIdentifier":"t_rational_81457_by_1","typeString":"int_const 81457"},{"typeIdentifier":"t_stringliteral_f3358c4aeeee5f7c57914d7763a157022d948cd26527b58cb169c56b42ba12a8","typeString":"literal_string \"https://rpc.blast.io\""}],"id":3940,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"11494:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11494:49:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_edf839a6b71363a2663cc0c8ffcf15606693adcc9ca9c568aeb87895fd70b0ec","typeString":"literal_string \"blast\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3938,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"11459:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11459:85:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3946,"nodeType":"ExpressionStatement","src":"11459:85:5"},{"expression":{"arguments":[{"hexValue":"66616e746f6d5f6f70657261","id":3948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11580:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_efab6b6b003f1806d03e940e3af2c8bdf94c0c15afcd0102f79e1131fb05c2d8","typeString":"literal_string \"fantom_opera\""},"value":"fantom_opera"},{"arguments":[{"hexValue":"46616e746f6d204f70657261","id":3950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11606:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_70e6474318e559e3d7232f43dcb4c49a66cb83d3b46f20c3c7348fba762247cd","typeString":"literal_string \"Fantom Opera\""},"value":"Fantom Opera"},{"hexValue":"323530","id":3951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11622:3:5","typeDescriptions":{"typeIdentifier":"t_rational_250_by_1","typeString":"int_const 250"},"value":"250"},{"hexValue":"68747470733a2f2f7270632e616e6b722e636f6d2f66616e746f6d2f","id":3952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11627:30:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_86e240464e047cac971d5f86fa6a105c7a5200638459dd69bf187edaf36e1590","typeString":"literal_string \"https://rpc.ankr.com/fantom/\""},"value":"https://rpc.ankr.com/fantom/"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_70e6474318e559e3d7232f43dcb4c49a66cb83d3b46f20c3c7348fba762247cd","typeString":"literal_string \"Fantom Opera\""},{"typeIdentifier":"t_rational_250_by_1","typeString":"int_const 250"},{"typeIdentifier":"t_stringliteral_86e240464e047cac971d5f86fa6a105c7a5200638459dd69bf187edaf36e1590","typeString":"literal_string \"https://rpc.ankr.com/fantom/\""}],"id":3949,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"11596:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11596:62:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_efab6b6b003f1806d03e940e3af2c8bdf94c0c15afcd0102f79e1131fb05c2d8","typeString":"literal_string \"fantom_opera\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3947,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"11554:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11554:105:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3955,"nodeType":"ExpressionStatement","src":"11554:105:5"},{"expression":{"arguments":[{"hexValue":"66616e746f6d5f6f706572615f746573746e6574","id":3957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11708:22:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_e81f9053d1530b1141c62bc583685976f395bd82d5e5a191ca56bde88753243c","typeString":"literal_string \"fantom_opera_testnet\""},"value":"fantom_opera_testnet"},{"arguments":[{"hexValue":"46616e746f6d204f7065726120546573746e6574","id":3959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11742:22:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_774e6dd0df25c08862c1aba23c14a65527538bc21375c3b4779f0ab53c8a6387","typeString":"literal_string \"Fantom Opera Testnet\""},"value":"Fantom Opera Testnet"},{"hexValue":"34303032","id":3960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11766:4:5","typeDescriptions":{"typeIdentifier":"t_rational_4002_by_1","typeString":"int_const 4002"},"value":"4002"},{"hexValue":"68747470733a2f2f7270632e616e6b722e636f6d2f66616e746f6d5f746573746e65742f","id":3961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11772:38:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c2ee0e3736d2ffc13dc640036e456ff8581e9526282a3ebd5020acb016a2f0f","typeString":"literal_string \"https://rpc.ankr.com/fantom_testnet/\""},"value":"https://rpc.ankr.com/fantom_testnet/"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_774e6dd0df25c08862c1aba23c14a65527538bc21375c3b4779f0ab53c8a6387","typeString":"literal_string \"Fantom Opera Testnet\""},{"typeIdentifier":"t_rational_4002_by_1","typeString":"int_const 4002"},{"typeIdentifier":"t_stringliteral_0c2ee0e3736d2ffc13dc640036e456ff8581e9526282a3ebd5020acb016a2f0f","typeString":"literal_string \"https://rpc.ankr.com/fantom_testnet/\""}],"id":3958,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"11732:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11732:79:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e81f9053d1530b1141c62bc583685976f395bd82d5e5a191ca56bde88753243c","typeString":"literal_string \"fantom_opera_testnet\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3956,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"11669:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11669:152:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3964,"nodeType":"ExpressionStatement","src":"11669:152:5"},{"expression":{"arguments":[{"hexValue":"6672617874616c","id":3966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11857:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_39520897016aaf0ab8e5bf7b0c72c0875359483112298e4b64220a3abfb31c1a","typeString":"literal_string \"fraxtal\""},"value":"fraxtal"},{"arguments":[{"hexValue":"4672617874616c","id":3968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11878:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_258a91ae779c05105302c0ca8434df9790a9dacc2a8d962203ef42cdff863a26","typeString":"literal_string \"Fraxtal\""},"value":"Fraxtal"},{"hexValue":"323532","id":3969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11889:3:5","typeDescriptions":{"typeIdentifier":"t_rational_252_by_1","typeString":"int_const 252"},"value":"252"},{"hexValue":"68747470733a2f2f7270632e667261782e636f6d","id":3970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11894:22:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_1b64bb600df7e2957113c841c567f3ce6aa968babbf2ca546497c7c808b6975e","typeString":"literal_string \"https://rpc.frax.com\""},"value":"https://rpc.frax.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_258a91ae779c05105302c0ca8434df9790a9dacc2a8d962203ef42cdff863a26","typeString":"literal_string \"Fraxtal\""},{"typeIdentifier":"t_rational_252_by_1","typeString":"int_const 252"},{"typeIdentifier":"t_stringliteral_1b64bb600df7e2957113c841c567f3ce6aa968babbf2ca546497c7c808b6975e","typeString":"literal_string \"https://rpc.frax.com\""}],"id":3967,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"11868:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11868:49:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_39520897016aaf0ab8e5bf7b0c72c0875359483112298e4b64220a3abfb31c1a","typeString":"literal_string \"fraxtal\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3965,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"11831:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11831:87:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3973,"nodeType":"ExpressionStatement","src":"11831:87:5"},{"expression":{"arguments":[{"hexValue":"6672617874616c5f746573746e6574","id":3975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11954:17:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_25a8d3f8b42e5ee6eb46a7e906575c3f65c7d75f89e14d4f1980b180625cf40d","typeString":"literal_string \"fraxtal_testnet\""},"value":"fraxtal_testnet"},{"arguments":[{"hexValue":"4672617874616c20546573746e6574","id":3977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11983:17:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3fd54ce348914a0de2945cd0a56373f7fc69c9aa205c9e9f7836ef06688a009","typeString":"literal_string \"Fraxtal Testnet\""},"value":"Fraxtal Testnet"},{"hexValue":"32353232","id":3978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12002:4:5","typeDescriptions":{"typeIdentifier":"t_rational_2522_by_1","typeString":"int_const 2522"},"value":"2522"},{"hexValue":"68747470733a2f2f7270632e746573746e65742e667261782e636f6d","id":3979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12008:30:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_12e6821fb9893e70ea8e6b012b4fcfb4682180e2d4c75ac5fb9c7e85c0a0d241","typeString":"literal_string \"https://rpc.testnet.frax.com\""},"value":"https://rpc.testnet.frax.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3fd54ce348914a0de2945cd0a56373f7fc69c9aa205c9e9f7836ef06688a009","typeString":"literal_string \"Fraxtal Testnet\""},{"typeIdentifier":"t_rational_2522_by_1","typeString":"int_const 2522"},{"typeIdentifier":"t_stringliteral_12e6821fb9893e70ea8e6b012b4fcfb4682180e2d4c75ac5fb9c7e85c0a0d241","typeString":"literal_string \"https://rpc.testnet.frax.com\""}],"id":3976,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"11973:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11973:66:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_25a8d3f8b42e5ee6eb46a7e906575c3f65c7d75f89e14d4f1980b180625cf40d","typeString":"literal_string \"fraxtal_testnet\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3974,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"11928:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11928:112:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3982,"nodeType":"ExpressionStatement","src":"11928:112:5"},{"expression":{"arguments":[{"hexValue":"62657261636861696e5f62617274696f5f746573746e6574","id":3984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12089:26:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1b25da3f610bf5b5175af87c49eb357a02eb70056225877297844a59fb4f4f8","typeString":"literal_string \"berachain_bartio_testnet\""},"value":"berachain_bartio_testnet"},{"arguments":[{"hexValue":"42657261636861696e2062417274696f20546573746e6574","id":3986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12127:26:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_b167f92573ac2bdc8409b33d6661c61294f1237898227341da2e3b368cb5bc05","typeString":"literal_string \"Berachain bArtio Testnet\""},"value":"Berachain bArtio Testnet"},{"hexValue":"3830303834","id":3987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12155:5:5","typeDescriptions":{"typeIdentifier":"t_rational_80084_by_1","typeString":"int_const 80084"},"value":"80084"},{"hexValue":"68747470733a2f2f62617274696f2e7270632e62657261636861696e2e636f6d","id":3988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12162:34:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_897c63542fb738805bf0d62cbd83a47219016d3e63992786094c0c012671bdaa","typeString":"literal_string \"https://bartio.rpc.berachain.com\""},"value":"https://bartio.rpc.berachain.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b167f92573ac2bdc8409b33d6661c61294f1237898227341da2e3b368cb5bc05","typeString":"literal_string \"Berachain bArtio Testnet\""},{"typeIdentifier":"t_rational_80084_by_1","typeString":"int_const 80084"},{"typeIdentifier":"t_stringliteral_897c63542fb738805bf0d62cbd83a47219016d3e63992786094c0c012671bdaa","typeString":"literal_string \"https://bartio.rpc.berachain.com\""}],"id":3985,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"12117:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12117:80:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d1b25da3f610bf5b5175af87c49eb357a02eb70056225877297844a59fb4f4f8","typeString":"literal_string \"berachain_bartio_testnet\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3983,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"12050:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12050:157:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3991,"nodeType":"ExpressionStatement","src":"12050:157:5"},{"expression":{"arguments":[{"hexValue":"666c617265","id":3993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12243:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_f18d3cef363ef3d9b2f893c01a845645821d99eb19f05a6a335a4ffcded27a57","typeString":"literal_string \"flare\""},"value":"flare"},{"arguments":[{"hexValue":"466c617265","id":3995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12262:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_d8548a93f9ff6cd6257dd7ca62095cb0e26ca88adfc7d9de9897d5f8b3422acc","typeString":"literal_string \"Flare\""},"value":"Flare"},{"hexValue":"3134","id":3996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12271:2:5","typeDescriptions":{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},"value":"14"},{"hexValue":"68747470733a2f2f666c6172652d6170692e666c6172652e6e6574776f726b2f6578742f432f727063","id":3997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12275:43:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_d8af3ebfbaaff92c3d7e36647eebca0601e026a34b8f2db5d800ab1b40bd8fe3","typeString":"literal_string \"https://flare-api.flare.network/ext/C/rpc\""},"value":"https://flare-api.flare.network/ext/C/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d8548a93f9ff6cd6257dd7ca62095cb0e26ca88adfc7d9de9897d5f8b3422acc","typeString":"literal_string \"Flare\""},{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},{"typeIdentifier":"t_stringliteral_d8af3ebfbaaff92c3d7e36647eebca0601e026a34b8f2db5d800ab1b40bd8fe3","typeString":"literal_string \"https://flare-api.flare.network/ext/C/rpc\""}],"id":3994,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"12252:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":3998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12252:67:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f18d3cef363ef3d9b2f893c01a845645821d99eb19f05a6a335a4ffcded27a57","typeString":"literal_string \"flare\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":3992,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"12217:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":3999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12217:103:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4000,"nodeType":"ExpressionStatement","src":"12217:103:5"},{"expression":{"arguments":[{"hexValue":"666c6172655f636f73746f6e32","id":4002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12369:15:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5f9c1a8f191c1c83cb750d2196b8bf7e0aec4ee77ddcbdcee181bc95d559029","typeString":"literal_string \"flare_coston2\""},"value":"flare_coston2"},{"arguments":[{"hexValue":"466c61726520436f73746f6e32","id":4004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12396:15:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_7f8cb824946e5729c9a680a4578ad73e102e293c5883743909742a53d48d7046","typeString":"literal_string \"Flare Coston2\""},"value":"Flare Coston2"},{"hexValue":"313134","id":4005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12413:3:5","typeDescriptions":{"typeIdentifier":"t_rational_114_by_1","typeString":"int_const 114"},"value":"114"},{"hexValue":"68747470733a2f2f636f73746f6e322d6170692e666c6172652e6e6574776f726b2f6578742f432f727063","id":4006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12418:45:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3cb269ef22af0ba99bbdba566b50ef497d19b5fd15b9d3f08f3a579d7f3cb84","typeString":"literal_string \"https://coston2-api.flare.network/ext/C/rpc\""},"value":"https://coston2-api.flare.network/ext/C/rpc"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7f8cb824946e5729c9a680a4578ad73e102e293c5883743909742a53d48d7046","typeString":"literal_string \"Flare Coston2\""},{"typeIdentifier":"t_rational_114_by_1","typeString":"int_const 114"},{"typeIdentifier":"t_stringliteral_c3cb269ef22af0ba99bbdba566b50ef497d19b5fd15b9d3f08f3a579d7f3cb84","typeString":"literal_string \"https://coston2-api.flare.network/ext/C/rpc\""}],"id":4003,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"12386:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12386:78:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5f9c1a8f191c1c83cb750d2196b8bf7e0aec4ee77ddcbdcee181bc95d559029","typeString":"literal_string \"flare_coston2\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4001,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"12330:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12330:144:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4009,"nodeType":"ExpressionStatement","src":"12330:144:5"},{"expression":{"arguments":[{"hexValue":"6d6f6465","id":4011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12511:6:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_93ad29622c7a43be4ba50a1e97ec04a11d86740d6e621d111f2e1b8ce170acae","typeString":"literal_string \"mode\""},"value":"mode"},{"arguments":[{"hexValue":"4d6f6465","id":4013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12529:6:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_b083c1fb3605071b501d7ccea5973ccb4daea9d66fc6201f9648679019164744","typeString":"literal_string \"Mode\""},"value":"Mode"},{"hexValue":"3334343433","id":4014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12537:5:5","typeDescriptions":{"typeIdentifier":"t_rational_34443_by_1","typeString":"int_const 34443"},"value":"34443"},{"hexValue":"68747470733a2f2f6d6f64652e647270632e6f7267","id":4015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12544:23:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_5507c21af74ffc4262ed1cccb692d29bdfe542934a89073f8df0ef6a8687bb99","typeString":"literal_string \"https://mode.drpc.org\""},"value":"https://mode.drpc.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b083c1fb3605071b501d7ccea5973ccb4daea9d66fc6201f9648679019164744","typeString":"literal_string \"Mode\""},{"typeIdentifier":"t_rational_34443_by_1","typeString":"int_const 34443"},{"typeIdentifier":"t_stringliteral_5507c21af74ffc4262ed1cccb692d29bdfe542934a89073f8df0ef6a8687bb99","typeString":"literal_string \"https://mode.drpc.org\""}],"id":4012,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"12519:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12519:49:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_93ad29622c7a43be4ba50a1e97ec04a11d86740d6e621d111f2e1b8ce170acae","typeString":"literal_string \"mode\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4010,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"12485:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12485:84:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4018,"nodeType":"ExpressionStatement","src":"12485:84:5"},{"expression":{"arguments":[{"hexValue":"6d6f64655f7365706f6c6961","id":4020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12605:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_615913243468d25d30af1a00c8c7c731015175e8162de72bfa2d4f0cf1f75615","typeString":"literal_string \"mode_sepolia\""},"value":"mode_sepolia"},{"arguments":[{"hexValue":"4d6f6465205365706f6c6961","id":4022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12631:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc042c0c71914faccd09a991413f304a784bf30676e686991b3266f0de1f77fd","typeString":"literal_string \"Mode Sepolia\""},"value":"Mode Sepolia"},{"hexValue":"393139","id":4023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12647:3:5","typeDescriptions":{"typeIdentifier":"t_rational_919_by_1","typeString":"int_const 919"},"value":"919"},{"hexValue":"68747470733a2f2f7365706f6c69612e6d6f64652e6e6574776f726b","id":4024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12652:30:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_7c46328c11a1a8b2fb9e9ca6e68a01ec4b52521e68ed7d83e4014987bf8ba76f","typeString":"literal_string \"https://sepolia.mode.network\""},"value":"https://sepolia.mode.network"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cc042c0c71914faccd09a991413f304a784bf30676e686991b3266f0de1f77fd","typeString":"literal_string \"Mode Sepolia\""},{"typeIdentifier":"t_rational_919_by_1","typeString":"int_const 919"},{"typeIdentifier":"t_stringliteral_7c46328c11a1a8b2fb9e9ca6e68a01ec4b52521e68ed7d83e4014987bf8ba76f","typeString":"literal_string \"https://sepolia.mode.network\""}],"id":4021,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"12621:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12621:62:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_615913243468d25d30af1a00c8c7c731015175e8162de72bfa2d4f0cf1f75615","typeString":"literal_string \"mode_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4019,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"12579:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12579:105:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4027,"nodeType":"ExpressionStatement","src":"12579:105:5"},{"expression":{"arguments":[{"hexValue":"7a6f7261","id":4029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12721:6:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_9cd8441f092e5a18599b85f90db915274c2c2e41af27b6e4df466c9c091553d0","typeString":"literal_string \"zora\""},"value":"zora"},{"arguments":[{"hexValue":"5a6f7261","id":4031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12739:6:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_91beda2a71cae260ce24b7d0ba9253f7212b59cbe39b0f303ac34fac7c00047d","typeString":"literal_string \"Zora\""},"value":"Zora"},{"hexValue":"37373737373737","id":4032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12747:7:5","typeDescriptions":{"typeIdentifier":"t_rational_7777777_by_1","typeString":"int_const 7777777"},"value":"7777777"},{"hexValue":"68747470733a2f2f7a6f72612e647270632e6f7267","id":4033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12756:23:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_83756f94519c3d72802947d8ced23d2d44132e55bc08ebe2e7705a90896a8253","typeString":"literal_string \"https://zora.drpc.org\""},"value":"https://zora.drpc.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91beda2a71cae260ce24b7d0ba9253f7212b59cbe39b0f303ac34fac7c00047d","typeString":"literal_string \"Zora\""},{"typeIdentifier":"t_rational_7777777_by_1","typeString":"int_const 7777777"},{"typeIdentifier":"t_stringliteral_83756f94519c3d72802947d8ced23d2d44132e55bc08ebe2e7705a90896a8253","typeString":"literal_string \"https://zora.drpc.org\""}],"id":4030,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"12729:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12729:51:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9cd8441f092e5a18599b85f90db915274c2c2e41af27b6e4df466c9c091553d0","typeString":"literal_string \"zora\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4028,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"12695:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12695:86:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4036,"nodeType":"ExpressionStatement","src":"12695:86:5"},{"expression":{"arguments":[{"hexValue":"7a6f72615f7365706f6c6961","id":4038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12830:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_8730143b0b00fc2fcb9e8bb3d7ee42f220c40f670d47c89317ce107b768efbb6","typeString":"literal_string \"zora_sepolia\""},"value":"zora_sepolia"},{"arguments":[{"hexValue":"5a6f7261205365706f6c6961","id":4040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12856:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_daefb4bac2caa4d8c54d0dbe02e430895b0d45abea7ca560100ece36c8374662","typeString":"literal_string \"Zora Sepolia\""},"value":"Zora Sepolia"},{"hexValue":"393939393939393939","id":4041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12872:9:5","typeDescriptions":{"typeIdentifier":"t_rational_999999999_by_1","typeString":"int_const 999999999"},"value":"999999999"},{"hexValue":"68747470733a2f2f7365706f6c69612e7270632e7a6f72612e656e65726779","id":4042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12883:33:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d670a424d428055103ac32edd1b30a8f0b037b80f6dfe181938ef88e9a34e5c","typeString":"literal_string \"https://sepolia.rpc.zora.energy\""},"value":"https://sepolia.rpc.zora.energy"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_daefb4bac2caa4d8c54d0dbe02e430895b0d45abea7ca560100ece36c8374662","typeString":"literal_string \"Zora Sepolia\""},{"typeIdentifier":"t_rational_999999999_by_1","typeString":"int_const 999999999"},{"typeIdentifier":"t_stringliteral_8d670a424d428055103ac32edd1b30a8f0b037b80f6dfe181938ef88e9a34e5c","typeString":"literal_string \"https://sepolia.rpc.zora.energy\""}],"id":4039,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"12846:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12846:71:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8730143b0b00fc2fcb9e8bb3d7ee42f220c40f670d47c89317ce107b768efbb6","typeString":"literal_string \"zora_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4037,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"12791:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12791:136:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4045,"nodeType":"ExpressionStatement","src":"12791:136:5"},{"expression":{"arguments":[{"hexValue":"72616365","id":4047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12964:6:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ad2aa4c12d96722dfceb21f2268c3f1a6ca86b0ae708fb2fef212f0be618a04","typeString":"literal_string \"race\""},"value":"race"},{"arguments":[{"hexValue":"52616365","id":4049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12982:6:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_07f73149c5b0cbfa2a84e787fa37bcf27f364fb4bcda526bfa767820094a3480","typeString":"literal_string \"Race\""},"value":"Race"},{"hexValue":"36383035","id":4050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12990:4:5","typeDescriptions":{"typeIdentifier":"t_rational_6805_by_1","typeString":"int_const 6805"},"value":"6805"},{"hexValue":"68747470733a2f2f726163656d61696e6e65742e696f","id":4051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12996:24:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_8895a50bde51e556473d668c8208164e2d04afcafbc71cc0b714e68ca1491cb5","typeString":"literal_string \"https://racemainnet.io\""},"value":"https://racemainnet.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_07f73149c5b0cbfa2a84e787fa37bcf27f364fb4bcda526bfa767820094a3480","typeString":"literal_string \"Race\""},{"typeIdentifier":"t_rational_6805_by_1","typeString":"int_const 6805"},{"typeIdentifier":"t_stringliteral_8895a50bde51e556473d668c8208164e2d04afcafbc71cc0b714e68ca1491cb5","typeString":"literal_string \"https://racemainnet.io\""}],"id":4048,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"12972:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12972:49:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ad2aa4c12d96722dfceb21f2268c3f1a6ca86b0ae708fb2fef212f0be618a04","typeString":"literal_string \"race\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4046,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"12938:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12938:84:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4054,"nodeType":"ExpressionStatement","src":"12938:84:5"},{"expression":{"arguments":[{"hexValue":"726163655f7365706f6c6961","id":4056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13058:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_14aedb5333da63e7f32927d4a2f4db1b2024a5457e27a26af4a133340a6f636e","typeString":"literal_string \"race_sepolia\""},"value":"race_sepolia"},{"arguments":[{"hexValue":"52616365205365706f6c6961","id":4058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13084:14:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_936668e281d29420bc428f3f1e6990ef0a6b4e2663ca1933b122d411c07e7fe9","typeString":"literal_string \"Race Sepolia\""},"value":"Race Sepolia"},{"hexValue":"36383036","id":4059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13100:4:5","typeDescriptions":{"typeIdentifier":"t_rational_6806_by_1","typeString":"int_const 6806"},"value":"6806"},{"hexValue":"68747470733a2f2f726163656d61696e6e65742e696f","id":4060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13106:24:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_8895a50bde51e556473d668c8208164e2d04afcafbc71cc0b714e68ca1491cb5","typeString":"literal_string \"https://racemainnet.io\""},"value":"https://racemainnet.io"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_936668e281d29420bc428f3f1e6990ef0a6b4e2663ca1933b122d411c07e7fe9","typeString":"literal_string \"Race Sepolia\""},{"typeIdentifier":"t_rational_6806_by_1","typeString":"int_const 6806"},{"typeIdentifier":"t_stringliteral_8895a50bde51e556473d668c8208164e2d04afcafbc71cc0b714e68ca1491cb5","typeString":"literal_string \"https://racemainnet.io\""}],"id":4057,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"13074:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13074:57:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_14aedb5333da63e7f32927d4a2f4db1b2024a5457e27a26af4a133340a6f636e","typeString":"literal_string \"race_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4055,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"13032:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13032:100:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4063,"nodeType":"ExpressionStatement","src":"13032:100:5"},{"expression":{"arguments":[{"hexValue":"6d6574616c","id":4065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13169:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_5aa9e9a91810a37381965e10e482ee971c45f0a345e483b98f2d30be02d66531","typeString":"literal_string \"metal\""},"value":"metal"},{"arguments":[{"hexValue":"4d6574616c","id":4067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13188:7:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_44806556e440d835a6556d2a21cd4d59f4c8280adda7f9588c822c3ac0710e16","typeString":"literal_string \"Metal\""},"value":"Metal"},{"hexValue":"31373530","id":4068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13197:4:5","typeDescriptions":{"typeIdentifier":"t_rational_1750_by_1","typeString":"int_const 1750"},"value":"1750"},{"hexValue":"68747470733a2f2f6d6574616c6c322e647270632e6f7267","id":4069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13203:26:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5b708eb96b733c0e63f0f8abd0882bb40c09b33bea4c96e69604f4f9485cc52","typeString":"literal_string \"https://metall2.drpc.org\""},"value":"https://metall2.drpc.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_44806556e440d835a6556d2a21cd4d59f4c8280adda7f9588c822c3ac0710e16","typeString":"literal_string \"Metal\""},{"typeIdentifier":"t_rational_1750_by_1","typeString":"int_const 1750"},{"typeIdentifier":"t_stringliteral_a5b708eb96b733c0e63f0f8abd0882bb40c09b33bea4c96e69604f4f9485cc52","typeString":"literal_string \"https://metall2.drpc.org\""}],"id":4066,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"13178:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13178:52:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5aa9e9a91810a37381965e10e482ee971c45f0a345e483b98f2d30be02d66531","typeString":"literal_string \"metal\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4064,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"13143:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13143:88:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4072,"nodeType":"ExpressionStatement","src":"13143:88:5"},{"expression":{"arguments":[{"hexValue":"6d6574616c5f7365706f6c6961","id":4074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13267:15:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_4fa56e5554cc6d35f0585438cfaea3f09de71232dcc98626bab7cd13167260dd","typeString":"literal_string \"metal_sepolia\""},"value":"metal_sepolia"},{"arguments":[{"hexValue":"4d6574616c205365706f6c6961","id":4076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13294:15:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_678db06aa0e01ef48de85b845d0253ec9d349dbd394deef4f225eb46cea15ad7","typeString":"literal_string \"Metal Sepolia\""},"value":"Metal Sepolia"},{"hexValue":"31373430","id":4077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13311:4:5","typeDescriptions":{"typeIdentifier":"t_rational_1740_by_1","typeString":"int_const 1740"},"value":"1740"},{"hexValue":"68747470733a2f2f746573746e65742e7270632e6d6574616c6c322e636f6d","id":4078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13317:33:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_50811606e12ae2091161f930288148c86d6408c2333ecd75b46b674515cef1e0","typeString":"literal_string \"https://testnet.rpc.metall2.com\""},"value":"https://testnet.rpc.metall2.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_678db06aa0e01ef48de85b845d0253ec9d349dbd394deef4f225eb46cea15ad7","typeString":"literal_string \"Metal Sepolia\""},{"typeIdentifier":"t_rational_1740_by_1","typeString":"int_const 1740"},{"typeIdentifier":"t_stringliteral_50811606e12ae2091161f930288148c86d6408c2333ecd75b46b674515cef1e0","typeString":"literal_string \"https://testnet.rpc.metall2.com\""}],"id":4075,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"13284:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13284:67:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4fa56e5554cc6d35f0585438cfaea3f09de71232dcc98626bab7cd13167260dd","typeString":"literal_string \"metal_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4073,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"13241:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13241:111:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4081,"nodeType":"ExpressionStatement","src":"13241:111:5"},{"expression":{"arguments":[{"hexValue":"62696e617279","id":4083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13389:8:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_29b663aa319210a8ea1df752e4fba32b1df8d64dcd24815fae2aac3f4afc8e85","typeString":"literal_string \"binary\""},"value":"binary"},{"arguments":[{"hexValue":"42696e617279","id":4085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13409:8:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_016d658c935a4c4ebdb218d1bbdb9ec6616d456bd4575509224c2587e85f3ad4","typeString":"literal_string \"Binary\""},"value":"Binary"},{"hexValue":"363234","id":4086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13419:3:5","typeDescriptions":{"typeIdentifier":"t_rational_624_by_1","typeString":"int_const 624"},"value":"624"},{"hexValue":"68747470733a2f2f7270632e7a65726f2e74686562696e617279686f6c64696e67732e636f6d","id":4087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13424:40:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_423eb7effe2828bcfac3f054abba1dfc18cf06b1463836f25e3980b9ad935d65","typeString":"literal_string \"https://rpc.zero.thebinaryholdings.com\""},"value":"https://rpc.zero.thebinaryholdings.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_016d658c935a4c4ebdb218d1bbdb9ec6616d456bd4575509224c2587e85f3ad4","typeString":"literal_string \"Binary\""},{"typeIdentifier":"t_rational_624_by_1","typeString":"int_const 624"},{"typeIdentifier":"t_stringliteral_423eb7effe2828bcfac3f054abba1dfc18cf06b1463836f25e3980b9ad935d65","typeString":"literal_string \"https://rpc.zero.thebinaryholdings.com\""}],"id":4084,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"13399:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13399:66:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_29b663aa319210a8ea1df752e4fba32b1df8d64dcd24815fae2aac3f4afc8e85","typeString":"literal_string \"binary\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4082,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"13363:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13363:103:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4090,"nodeType":"ExpressionStatement","src":"13363:103:5"},{"expression":{"arguments":[{"hexValue":"62696e6172795f7365706f6c6961","id":4092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13515:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_f42891460a8b750ed84d65191f6a8b0f8c2cf4579e838da4647883c473d38586","typeString":"literal_string \"binary_sepolia\""},"value":"binary_sepolia"},{"arguments":[{"hexValue":"42696e617279205365706f6c6961","id":4094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13543:16:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_304655cef9d2cd5f68dd5d8a176a4133b08ce153db3c75c0de816437115b4206","typeString":"literal_string \"Binary Sepolia\""},"value":"Binary Sepolia"},{"hexValue":"363235","id":4095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13561:3:5","typeDescriptions":{"typeIdentifier":"t_rational_625_by_1","typeString":"int_const 625"},"value":"625"},{"hexValue":"68747470733a2f2f7270632e7a65726f2e74686562696e617279686f6c64696e67732e636f6d","id":4096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13566:40:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_423eb7effe2828bcfac3f054abba1dfc18cf06b1463836f25e3980b9ad935d65","typeString":"literal_string \"https://rpc.zero.thebinaryholdings.com\""},"value":"https://rpc.zero.thebinaryholdings.com"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_304655cef9d2cd5f68dd5d8a176a4133b08ce153db3c75c0de816437115b4206","typeString":"literal_string \"Binary Sepolia\""},{"typeIdentifier":"t_rational_625_by_1","typeString":"int_const 625"},{"typeIdentifier":"t_stringliteral_423eb7effe2828bcfac3f054abba1dfc18cf06b1463836f25e3980b9ad935d65","typeString":"literal_string \"https://rpc.zero.thebinaryholdings.com\""}],"id":4093,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"13533:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13533:74:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f42891460a8b750ed84d65191f6a8b0f8c2cf4579e838da4647883c473d38586","typeString":"literal_string \"binary_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4091,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"13476:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13476:141:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4099,"nodeType":"ExpressionStatement","src":"13476:141:5"},{"expression":{"arguments":[{"hexValue":"6f726465726c79","id":4101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13654:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_95d85ced8adb371760e4b6437896a075632fbd6cefe699f8125a8bc1d9b19e5b","typeString":"literal_string \"orderly\""},"value":"orderly"},{"arguments":[{"hexValue":"4f726465726c79","id":4103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13675:9:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c1a3bdc74975983ef8e9e74f5ca7b15aa21f916bc5135b38332d4b395d83b437","typeString":"literal_string \"Orderly\""},"value":"Orderly"},{"hexValue":"323931","id":4104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13686:3:5","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"291"},{"hexValue":"68747470733a2f2f7270632e6f726465726c792e6e6574776f726b","id":4105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13691:29:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_d7f4cd4553e5162711fac16ca5e64dea931629c51f483779d8f760dda758d74b","typeString":"literal_string \"https://rpc.orderly.network\""},"value":"https://rpc.orderly.network"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c1a3bdc74975983ef8e9e74f5ca7b15aa21f916bc5135b38332d4b395d83b437","typeString":"literal_string \"Orderly\""},{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},{"typeIdentifier":"t_stringliteral_d7f4cd4553e5162711fac16ca5e64dea931629c51f483779d8f760dda758d74b","typeString":"literal_string \"https://rpc.orderly.network\""}],"id":4102,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"13665:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13665:56:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_95d85ced8adb371760e4b6437896a075632fbd6cefe699f8125a8bc1d9b19e5b","typeString":"literal_string \"orderly\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4100,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"13628:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13628:94:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4108,"nodeType":"ExpressionStatement","src":"13628:94:5"},{"expression":{"arguments":[{"hexValue":"6f726465726c795f7365706f6c6961","id":4110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13771:17:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_22e6733aad9db6cb6b3609c584796619a207a3026748b338bd3e46539805584c","typeString":"literal_string \"orderly_sepolia\""},"value":"orderly_sepolia"},{"arguments":[{"hexValue":"4f726465726c79205365706f6c6961","id":4112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13800:17:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_615530907dc64bebc72ba912c0aed8fa593a2db7476908cce6c19274f068bdbb","typeString":"literal_string \"Orderly Sepolia\""},"value":"Orderly Sepolia"},{"hexValue":"34343630","id":4113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13819:4:5","typeDescriptions":{"typeIdentifier":"t_rational_4460_by_1","typeString":"int_const 4460"},"value":"4460"},{"hexValue":"68747470733a2f2f746573746e65742d7270632e6f726465726c792e6f7267","id":4114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13825:33:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_bce3cfac849d1fcfd1298517233abd947fa3fb019f8442b86dc92adc11eae29b","typeString":"literal_string \"https://testnet-rpc.orderly.org\""},"value":"https://testnet-rpc.orderly.org"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_615530907dc64bebc72ba912c0aed8fa593a2db7476908cce6c19274f068bdbb","typeString":"literal_string \"Orderly Sepolia\""},{"typeIdentifier":"t_rational_4460_by_1","typeString":"int_const 4460"},{"typeIdentifier":"t_stringliteral_bce3cfac849d1fcfd1298517233abd947fa3fb019f8442b86dc92adc11eae29b","typeString":"literal_string \"https://testnet-rpc.orderly.org\""}],"id":4111,"name":"ChainData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3226,"src":"13790:9:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ChainData_$3226_storage_ptr_$","typeString":"type(struct StdChains.ChainData storage pointer)"}},"id":4115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13790:69:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_22e6733aad9db6cb6b3609c584796619a207a3026748b338bd3e46539805584c","typeString":"literal_string \"orderly_sepolia\""},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4109,"name":"setChainWithDefaultRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4156,"src":"13732:25:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13732:137:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4117,"nodeType":"ExpressionStatement","src":"13732:137:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"initializeStdChains","nameLocation":"8326:19:5","parameters":{"id":3722,"nodeType":"ParameterList","parameters":[],"src":"8345:2:5"},"returnParameters":{"id":3723,"nodeType":"ParameterList","parameters":[],"src":"8356:0:5"},"scope":4157,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":4156,"nodeType":"FunctionDefinition","src":"13958:305:5","nodes":[],"body":{"id":4155,"nodeType":"Block","src":"14051:212:5","nodes":[],"statements":[{"assignments":[4128],"declarations":[{"constant":false,"id":4128,"mutability":"mutable","name":"rpcUrl","nameLocation":"14075:6:5","nodeType":"VariableDeclaration","scope":4155,"src":"14061:20:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4127,"name":"string","nodeType":"ElementaryTypeName","src":"14061:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4131,"initialValue":{"expression":{"id":4129,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4124,"src":"14084:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":4130,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14090:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3225,"src":"14084:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"14061:35:5"},{"expression":{"id":4136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4132,"name":"defaultRpcUrls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3244,"src":"14106:14:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string memory => string storage ref)"}},"id":4134,"indexExpression":{"id":4133,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4121,"src":"14121:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14106:26:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4135,"name":"rpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4128,"src":"14135:6:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"14106:35:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":4137,"nodeType":"ExpressionStatement","src":"14106:35:5"},{"expression":{"id":4142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4138,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4124,"src":"14151:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":4140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14157:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3225,"src":"14151:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"","id":4141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14166:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"src":"14151:17:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":4143,"nodeType":"ExpressionStatement","src":"14151:17:5"},{"expression":{"arguments":[{"id":4145,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4121,"src":"14187:10:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":4146,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4124,"src":"14199:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}],"id":4144,"name":"setChain","nodeType":"Identifier","overloadedDeclarations":[3470,3491],"referencedDeclaration":3470,"src":"14178:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3226_memory_ptr_$returns$__$","typeString":"function (string memory,struct StdChains.ChainData memory)"}},"id":4147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14178:27:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4148,"nodeType":"ExpressionStatement","src":"14178:27:5"},{"expression":{"id":4153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":4149,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4124,"src":"14215:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData memory"}},"id":4151,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14221:6:5","memberName":"rpcUrl","nodeType":"MemberAccess","referencedDeclaration":3225,"src":"14215:12:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4152,"name":"rpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4128,"src":"14230:6:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"14215:21:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":4154,"nodeType":"ExpressionStatement","src":"14215:21:5"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setChainWithDefaultRpcUrl","nameLocation":"13967:25:5","parameters":{"id":4125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4121,"mutability":"mutable","name":"chainAlias","nameLocation":"14007:10:5","nodeType":"VariableDeclaration","scope":4156,"src":"13993:24:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4120,"name":"string","nodeType":"ElementaryTypeName","src":"13993:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4124,"mutability":"mutable","name":"chain","nameLocation":"14036:5:5","nodeType":"VariableDeclaration","scope":4156,"src":"14019:22:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_memory_ptr","typeString":"struct StdChains.ChainData"},"typeName":{"id":4123,"nodeType":"UserDefinedTypeName","pathNode":{"id":4122,"name":"ChainData","nameLocations":["14019:9:5"],"nodeType":"IdentifierPath","referencedDeclaration":3226,"src":"14019:9:5"},"referencedDeclaration":3226,"src":"14019:9:5","typeDescriptions":{"typeIdentifier":"t_struct$_ChainData_$3226_storage_ptr","typeString":"struct StdChains.ChainData"}},"visibility":"internal"}],"src":"13992:50:5"},"returnParameters":{"id":4126,"nodeType":"ParameterList","parameters":[],"src":"14051:0:5"},"scope":4157,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[],"canonicalName":"StdChains","contractDependencies":[],"contractKind":"contract","documentation":{"id":3200,"nodeType":"StructuredDocumentation","src":"133:1799:5","text":" StdChains provides information about EVM compatible chains that can be used in scripts/tests.\n For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are\n identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of\n the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the\n alias used in this contract, which can be found as the first argument to the\n `setChainWithDefaultRpcUrl` call in the `initializeStdChains` function.\n There are two main ways to use this contract:\n 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or\n `setChain(string memory chainAlias, Chain memory chain)`\n 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`.\n The first time either of those are used, chains are initialized with the default set of RPC URLs.\n This is done in `initializeStdChains`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in\n `defaultRpcUrls`.\n The `setChain` function is straightforward, and it simply saves off the given chain data.\n The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say\n we want to retrieve the RPC URL for `mainnet`:\n - If you have specified data with `setChain`, it will return that.\n - If you have configured a mainnet RPC URL in `foundry.toml`, it will return the URL, provided it\n is valid (e.g. a URL is specified, or an environment variable is given and exists).\n - If neither of the above conditions is met, the default data is returned.\n Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults."},"fullyImplemented":true,"linearizedBaseContracts":[4157],"name":"StdChains","nameLocation":"1951:9:5","scope":4158,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdCheats.sol":{"id":6,"ast":{"absolutePath":"lib/forge-std/src/StdCheats.sol","id":7043,"exportedSymbols":{"StdCheats":[7042],"StdCheatsSafe":[6247],"StdStorage":[8581],"Vm":[18679],"console2":[26795],"stdStorage":[10538]},"nodeType":"SourceUnit","src":"32:31777:6","nodes":[{"id":4159,"nodeType":"PragmaDirective","src":"32:31:6","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":4160,"nodeType":"PragmaDirective","src":"65:33:6","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":4163,"nodeType":"ImportDirective","src":"100:56:6","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":7043,"sourceUnit":10539,"symbolAliases":[{"foreign":{"id":4161,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8581,"src":"108:10:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":4162,"name":"stdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10538,"src":"120:10:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4165,"nodeType":"ImportDirective","src":"157:40:6","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"./console2.sol","nameLocation":"-1:-1:-1","scope":7043,"sourceUnit":26800,"symbolAliases":[{"foreign":{"id":4164,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"165:8:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4167,"nodeType":"ImportDirective","src":"198:28:6","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":7043,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":4166,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"206:2:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":6247,"nodeType":"ContractDefinition","src":"228:24272:6","nodes":[{"id":4184,"nodeType":"VariableDeclaration","src":"266:84:6","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"286:2:6","scope":6247,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"},"typeName":{"id":4169,"nodeType":"UserDefinedTypeName","pathNode":{"id":4168,"name":"Vm","nameLocations":["266:2:6"],"nodeType":"IdentifierPath","referencedDeclaration":18679,"src":"266:2:6"},"referencedDeclaration":18679,"src":"266:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":4178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"328:17:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":4177,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"318:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":4179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"318:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":4176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"310:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":4175,"name":"uint256","nodeType":"ElementaryTypeName","src":"310:7:6","typeDescriptions":{}}},"id":4180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"310:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"302:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":4173,"name":"uint160","nodeType":"ElementaryTypeName","src":"302:7:6","typeDescriptions":{}}},"id":4181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"302:46:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":4172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"294:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4171,"name":"address","nodeType":"ElementaryTypeName","src":"294:7:6","typeDescriptions":{}}},"id":4182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"294:55:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4170,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"291:2:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18679_$","typeString":"type(contract Vm)"}},"id":4183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"291:59:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"visibility":"private"},{"id":4187,"nodeType":"VariableDeclaration","src":"357:125:6","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"382:11:6","scope":6247,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4185,"name":"uint256","nodeType":"ElementaryTypeName","src":"357:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":4186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"404:78:6","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"private"},{"id":4189,"nodeType":"VariableDeclaration","src":"489:27:6","nodes":[],"constant":false,"mutability":"mutable","name":"gasMeteringOff","nameLocation":"502:14:6","scope":6247,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4188,"name":"bool","nodeType":"ElementaryTypeName","src":"489:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":4206,"nodeType":"StructDefinition","src":"761:325:6","nodes":[],"canonicalName":"StdCheatsSafe.RawTx1559","members":[{"constant":false,"id":4192,"mutability":"mutable","name":"arguments","nameLocation":"797:9:6","nodeType":"VariableDeclaration","scope":4206,"src":"788:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4190,"name":"string","nodeType":"ElementaryTypeName","src":"788:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4191,"nodeType":"ArrayTypeName","src":"788:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4194,"mutability":"mutable","name":"contractAddress","nameLocation":"824:15:6","nodeType":"VariableDeclaration","scope":4206,"src":"816:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4193,"name":"address","nodeType":"ElementaryTypeName","src":"816:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4196,"mutability":"mutable","name":"contractName","nameLocation":"856:12:6","nodeType":"VariableDeclaration","scope":4206,"src":"849:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4195,"name":"string","nodeType":"ElementaryTypeName","src":"849:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4198,"mutability":"mutable","name":"functionSig","nameLocation":"923:11:6","nodeType":"VariableDeclaration","scope":4206,"src":"916:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4197,"name":"string","nodeType":"ElementaryTypeName","src":"916:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4200,"mutability":"mutable","name":"hash","nameLocation":"952:4:6","nodeType":"VariableDeclaration","scope":4206,"src":"944:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"944:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4203,"mutability":"mutable","name":"txDetail","nameLocation":"1014:8:6","nodeType":"VariableDeclaration","scope":4206,"src":"998:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"},"typeName":{"id":4202,"nodeType":"UserDefinedTypeName","pathNode":{"id":4201,"name":"RawTx1559Detail","nameLocations":["998:15:6"],"nodeType":"IdentifierPath","referencedDeclaration":4225,"src":"998:15:6"},"referencedDeclaration":4225,"src":"998:15:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"}},"visibility":"internal"},{"constant":false,"id":4205,"mutability":"mutable","name":"opcode","nameLocation":"1073:6:6","nodeType":"VariableDeclaration","scope":4206,"src":"1066:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4204,"name":"string","nodeType":"ElementaryTypeName","src":"1066:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"RawTx1559","nameLocation":"768:9:6","scope":6247,"visibility":"public"},{"id":4225,"nodeType":"StructDefinition","src":"1092:208:6","nodes":[],"canonicalName":"StdCheatsSafe.RawTx1559Detail","members":[{"constant":false,"id":4210,"mutability":"mutable","name":"accessList","nameLocation":"1138:10:6","nodeType":"VariableDeclaration","scope":4225,"src":"1125:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4317_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"},"typeName":{"baseType":{"id":4208,"nodeType":"UserDefinedTypeName","pathNode":{"id":4207,"name":"AccessList","nameLocations":["1125:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4317,"src":"1125:10:6"},"referencedDeclaration":4317,"src":"1125:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_AccessList_$4317_storage_ptr","typeString":"struct StdCheatsSafe.AccessList"}},"id":4209,"nodeType":"ArrayTypeName","src":"1125:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4317_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"}},"visibility":"internal"},{"constant":false,"id":4212,"mutability":"mutable","name":"data","nameLocation":"1164:4:6","nodeType":"VariableDeclaration","scope":4225,"src":"1158:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4211,"name":"bytes","nodeType":"ElementaryTypeName","src":"1158:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4214,"mutability":"mutable","name":"from","nameLocation":"1186:4:6","nodeType":"VariableDeclaration","scope":4225,"src":"1178:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4213,"name":"address","nodeType":"ElementaryTypeName","src":"1178:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4216,"mutability":"mutable","name":"gas","nameLocation":"1206:3:6","nodeType":"VariableDeclaration","scope":4225,"src":"1200:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4215,"name":"bytes","nodeType":"ElementaryTypeName","src":"1200:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4218,"mutability":"mutable","name":"nonce","nameLocation":"1225:5:6","nodeType":"VariableDeclaration","scope":4225,"src":"1219:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4217,"name":"bytes","nodeType":"ElementaryTypeName","src":"1219:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4220,"mutability":"mutable","name":"to","nameLocation":"1248:2:6","nodeType":"VariableDeclaration","scope":4225,"src":"1240:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4219,"name":"address","nodeType":"ElementaryTypeName","src":"1240:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4222,"mutability":"mutable","name":"txType","nameLocation":"1266:6:6","nodeType":"VariableDeclaration","scope":4225,"src":"1260:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4221,"name":"bytes","nodeType":"ElementaryTypeName","src":"1260:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4224,"mutability":"mutable","name":"value","nameLocation":"1288:5:6","nodeType":"VariableDeclaration","scope":4225,"src":"1282:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4223,"name":"bytes","nodeType":"ElementaryTypeName","src":"1282:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"RawTx1559Detail","nameLocation":"1099:15:6","scope":6247,"visibility":"public"},{"id":4242,"nodeType":"StructDefinition","src":"1306:215:6","nodes":[],"canonicalName":"StdCheatsSafe.Tx1559","members":[{"constant":false,"id":4228,"mutability":"mutable","name":"arguments","nameLocation":"1339:9:6","nodeType":"VariableDeclaration","scope":4242,"src":"1330:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4226,"name":"string","nodeType":"ElementaryTypeName","src":"1330:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4227,"nodeType":"ArrayTypeName","src":"1330:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4230,"mutability":"mutable","name":"contractAddress","nameLocation":"1366:15:6","nodeType":"VariableDeclaration","scope":4242,"src":"1358:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4229,"name":"address","nodeType":"ElementaryTypeName","src":"1358:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4232,"mutability":"mutable","name":"contractName","nameLocation":"1398:12:6","nodeType":"VariableDeclaration","scope":4242,"src":"1391:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4231,"name":"string","nodeType":"ElementaryTypeName","src":"1391:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4234,"mutability":"mutable","name":"functionSig","nameLocation":"1427:11:6","nodeType":"VariableDeclaration","scope":4242,"src":"1420:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4233,"name":"string","nodeType":"ElementaryTypeName","src":"1420:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4236,"mutability":"mutable","name":"hash","nameLocation":"1456:4:6","nodeType":"VariableDeclaration","scope":4242,"src":"1448:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4235,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1448:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4239,"mutability":"mutable","name":"txDetail","nameLocation":"1483:8:6","nodeType":"VariableDeclaration","scope":4242,"src":"1470:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"},"typeName":{"id":4238,"nodeType":"UserDefinedTypeName","pathNode":{"id":4237,"name":"Tx1559Detail","nameLocations":["1470:12:6"],"nodeType":"IdentifierPath","referencedDeclaration":4261,"src":"1470:12:6"},"referencedDeclaration":4261,"src":"1470:12:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"}},"visibility":"internal"},{"constant":false,"id":4241,"mutability":"mutable","name":"opcode","nameLocation":"1508:6:6","nodeType":"VariableDeclaration","scope":4242,"src":"1501:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4240,"name":"string","nodeType":"ElementaryTypeName","src":"1501:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Tx1559","nameLocation":"1313:6:6","scope":6247,"visibility":"public"},{"id":4261,"nodeType":"StructDefinition","src":"1527:213:6","nodes":[],"canonicalName":"StdCheatsSafe.Tx1559Detail","members":[{"constant":false,"id":4246,"mutability":"mutable","name":"accessList","nameLocation":"1570:10:6","nodeType":"VariableDeclaration","scope":4261,"src":"1557:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4317_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"},"typeName":{"baseType":{"id":4244,"nodeType":"UserDefinedTypeName","pathNode":{"id":4243,"name":"AccessList","nameLocations":["1557:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4317,"src":"1557:10:6"},"referencedDeclaration":4317,"src":"1557:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_AccessList_$4317_storage_ptr","typeString":"struct StdCheatsSafe.AccessList"}},"id":4245,"nodeType":"ArrayTypeName","src":"1557:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4317_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"}},"visibility":"internal"},{"constant":false,"id":4248,"mutability":"mutable","name":"data","nameLocation":"1596:4:6","nodeType":"VariableDeclaration","scope":4261,"src":"1590:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4247,"name":"bytes","nodeType":"ElementaryTypeName","src":"1590:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4250,"mutability":"mutable","name":"from","nameLocation":"1618:4:6","nodeType":"VariableDeclaration","scope":4261,"src":"1610:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4249,"name":"address","nodeType":"ElementaryTypeName","src":"1610:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4252,"mutability":"mutable","name":"gas","nameLocation":"1640:3:6","nodeType":"VariableDeclaration","scope":4261,"src":"1632:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4251,"name":"uint256","nodeType":"ElementaryTypeName","src":"1632:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4254,"mutability":"mutable","name":"nonce","nameLocation":"1661:5:6","nodeType":"VariableDeclaration","scope":4261,"src":"1653:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4253,"name":"uint256","nodeType":"ElementaryTypeName","src":"1653:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4256,"mutability":"mutable","name":"to","nameLocation":"1684:2:6","nodeType":"VariableDeclaration","scope":4261,"src":"1676:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4255,"name":"address","nodeType":"ElementaryTypeName","src":"1676:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4258,"mutability":"mutable","name":"txType","nameLocation":"1704:6:6","nodeType":"VariableDeclaration","scope":4261,"src":"1696:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4257,"name":"uint256","nodeType":"ElementaryTypeName","src":"1696:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4260,"mutability":"mutable","name":"value","nameLocation":"1728:5:6","nodeType":"VariableDeclaration","scope":4261,"src":"1720:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4259,"name":"uint256","nodeType":"ElementaryTypeName","src":"1720:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Tx1559Detail","nameLocation":"1534:12:6","scope":6247,"visibility":"public"},{"id":4278,"nodeType":"StructDefinition","src":"1991:221:6","nodes":[],"canonicalName":"StdCheatsSafe.TxLegacy","members":[{"constant":false,"id":4264,"mutability":"mutable","name":"arguments","nameLocation":"2026:9:6","nodeType":"VariableDeclaration","scope":4278,"src":"2017:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4262,"name":"string","nodeType":"ElementaryTypeName","src":"2017:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4263,"nodeType":"ArrayTypeName","src":"2017:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4266,"mutability":"mutable","name":"contractAddress","nameLocation":"2053:15:6","nodeType":"VariableDeclaration","scope":4278,"src":"2045:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4265,"name":"address","nodeType":"ElementaryTypeName","src":"2045:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4268,"mutability":"mutable","name":"contractName","nameLocation":"2085:12:6","nodeType":"VariableDeclaration","scope":4278,"src":"2078:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4267,"name":"string","nodeType":"ElementaryTypeName","src":"2078:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4270,"mutability":"mutable","name":"functionSig","nameLocation":"2114:11:6","nodeType":"VariableDeclaration","scope":4278,"src":"2107:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4269,"name":"string","nodeType":"ElementaryTypeName","src":"2107:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4272,"mutability":"mutable","name":"hash","nameLocation":"2142:4:6","nodeType":"VariableDeclaration","scope":4278,"src":"2135:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4271,"name":"string","nodeType":"ElementaryTypeName","src":"2135:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4274,"mutability":"mutable","name":"opcode","nameLocation":"2163:6:6","nodeType":"VariableDeclaration","scope":4278,"src":"2156:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4273,"name":"string","nodeType":"ElementaryTypeName","src":"2156:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4277,"mutability":"mutable","name":"transaction","nameLocation":"2194:11:6","nodeType":"VariableDeclaration","scope":4278,"src":"2179:26:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_TxDetailLegacy_$4311_storage_ptr","typeString":"struct StdCheatsSafe.TxDetailLegacy"},"typeName":{"id":4276,"nodeType":"UserDefinedTypeName","pathNode":{"id":4275,"name":"TxDetailLegacy","nameLocations":["2179:14:6"],"nodeType":"IdentifierPath","referencedDeclaration":4311,"src":"2179:14:6"},"referencedDeclaration":4311,"src":"2179:14:6","typeDescriptions":{"typeIdentifier":"t_struct$_TxDetailLegacy_$4311_storage_ptr","typeString":"struct StdCheatsSafe.TxDetailLegacy"}},"visibility":"internal"}],"name":"TxLegacy","nameLocation":"1998:8:6","scope":6247,"visibility":"public"},{"id":4311,"nodeType":"StructDefinition","src":"2218:366:6","nodes":[],"canonicalName":"StdCheatsSafe.TxDetailLegacy","members":[{"constant":false,"id":4282,"mutability":"mutable","name":"accessList","nameLocation":"2263:10:6","nodeType":"VariableDeclaration","scope":4311,"src":"2250:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4317_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"},"typeName":{"baseType":{"id":4280,"nodeType":"UserDefinedTypeName","pathNode":{"id":4279,"name":"AccessList","nameLocations":["2250:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4317,"src":"2250:10:6"},"referencedDeclaration":4317,"src":"2250:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_AccessList_$4317_storage_ptr","typeString":"struct StdCheatsSafe.AccessList"}},"id":4281,"nodeType":"ArrayTypeName","src":"2250:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4317_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.AccessList[]"}},"visibility":"internal"},{"constant":false,"id":4284,"mutability":"mutable","name":"chainId","nameLocation":"2291:7:6","nodeType":"VariableDeclaration","scope":4311,"src":"2283:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4283,"name":"uint256","nodeType":"ElementaryTypeName","src":"2283:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4286,"mutability":"mutable","name":"data","nameLocation":"2314:4:6","nodeType":"VariableDeclaration","scope":4311,"src":"2308:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4285,"name":"bytes","nodeType":"ElementaryTypeName","src":"2308:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4288,"mutability":"mutable","name":"from","nameLocation":"2336:4:6","nodeType":"VariableDeclaration","scope":4311,"src":"2328:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4287,"name":"address","nodeType":"ElementaryTypeName","src":"2328:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4290,"mutability":"mutable","name":"gas","nameLocation":"2358:3:6","nodeType":"VariableDeclaration","scope":4311,"src":"2350:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4289,"name":"uint256","nodeType":"ElementaryTypeName","src":"2350:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4292,"mutability":"mutable","name":"gasPrice","nameLocation":"2379:8:6","nodeType":"VariableDeclaration","scope":4311,"src":"2371:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4291,"name":"uint256","nodeType":"ElementaryTypeName","src":"2371:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4294,"mutability":"mutable","name":"hash","nameLocation":"2405:4:6","nodeType":"VariableDeclaration","scope":4311,"src":"2397:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4293,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2397:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4296,"mutability":"mutable","name":"nonce","nameLocation":"2427:5:6","nodeType":"VariableDeclaration","scope":4311,"src":"2419:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4295,"name":"uint256","nodeType":"ElementaryTypeName","src":"2419:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4298,"mutability":"mutable","name":"opcode","nameLocation":"2449:6:6","nodeType":"VariableDeclaration","scope":4311,"src":"2442:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":4297,"name":"bytes1","nodeType":"ElementaryTypeName","src":"2442:6:6","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"},{"constant":false,"id":4300,"mutability":"mutable","name":"r","nameLocation":"2473:1:6","nodeType":"VariableDeclaration","scope":4311,"src":"2465:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4299,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2465:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4302,"mutability":"mutable","name":"s","nameLocation":"2492:1:6","nodeType":"VariableDeclaration","scope":4311,"src":"2484:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4301,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2484:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4304,"mutability":"mutable","name":"txType","nameLocation":"2511:6:6","nodeType":"VariableDeclaration","scope":4311,"src":"2503:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4303,"name":"uint256","nodeType":"ElementaryTypeName","src":"2503:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4306,"mutability":"mutable","name":"to","nameLocation":"2535:2:6","nodeType":"VariableDeclaration","scope":4311,"src":"2527:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4305,"name":"address","nodeType":"ElementaryTypeName","src":"2527:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4308,"mutability":"mutable","name":"v","nameLocation":"2553:1:6","nodeType":"VariableDeclaration","scope":4311,"src":"2547:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4307,"name":"uint8","nodeType":"ElementaryTypeName","src":"2547:5:6","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":4310,"mutability":"mutable","name":"value","nameLocation":"2572:5:6","nodeType":"VariableDeclaration","scope":4311,"src":"2564:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4309,"name":"uint256","nodeType":"ElementaryTypeName","src":"2564:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"TxDetailLegacy","nameLocation":"2225:14:6","scope":6247,"visibility":"public"},{"id":4317,"nodeType":"StructDefinition","src":"2590:87:6","nodes":[],"canonicalName":"StdCheatsSafe.AccessList","members":[{"constant":false,"id":4313,"mutability":"mutable","name":"accessAddress","nameLocation":"2626:13:6","nodeType":"VariableDeclaration","scope":4317,"src":"2618:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4312,"name":"address","nodeType":"ElementaryTypeName","src":"2618:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4316,"mutability":"mutable","name":"storageKeys","nameLocation":"2659:11:6","nodeType":"VariableDeclaration","scope":4317,"src":"2649:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":4314,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2649:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4315,"nodeType":"ArrayTypeName","src":"2649:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"name":"AccessList","nameLocation":"2597:10:6","scope":6247,"visibility":"public"},{"id":4346,"nodeType":"StructDefinition","src":"2893:385:6","nodes":[],"canonicalName":"StdCheatsSafe.RawReceipt","members":[{"constant":false,"id":4319,"mutability":"mutable","name":"blockHash","nameLocation":"2929:9:6","nodeType":"VariableDeclaration","scope":4346,"src":"2921:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4318,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2921:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4321,"mutability":"mutable","name":"blockNumber","nameLocation":"2954:11:6","nodeType":"VariableDeclaration","scope":4346,"src":"2948:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4320,"name":"bytes","nodeType":"ElementaryTypeName","src":"2948:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4323,"mutability":"mutable","name":"contractAddress","nameLocation":"2983:15:6","nodeType":"VariableDeclaration","scope":4346,"src":"2975:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4322,"name":"address","nodeType":"ElementaryTypeName","src":"2975:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4325,"mutability":"mutable","name":"cumulativeGasUsed","nameLocation":"3014:17:6","nodeType":"VariableDeclaration","scope":4346,"src":"3008:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4324,"name":"bytes","nodeType":"ElementaryTypeName","src":"3008:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4327,"mutability":"mutable","name":"effectiveGasPrice","nameLocation":"3047:17:6","nodeType":"VariableDeclaration","scope":4346,"src":"3041:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4326,"name":"bytes","nodeType":"ElementaryTypeName","src":"3041:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4329,"mutability":"mutable","name":"from","nameLocation":"3082:4:6","nodeType":"VariableDeclaration","scope":4346,"src":"3074:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4328,"name":"address","nodeType":"ElementaryTypeName","src":"3074:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4331,"mutability":"mutable","name":"gasUsed","nameLocation":"3102:7:6","nodeType":"VariableDeclaration","scope":4346,"src":"3096:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4330,"name":"bytes","nodeType":"ElementaryTypeName","src":"3096:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4335,"mutability":"mutable","name":"logs","nameLocation":"3135:4:6","nodeType":"VariableDeclaration","scope":4346,"src":"3119:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"},"typeName":{"baseType":{"id":4333,"nodeType":"UserDefinedTypeName","pathNode":{"id":4332,"name":"RawReceiptLog","nameLocations":["3119:13:6"],"nodeType":"IdentifierPath","referencedDeclaration":4443,"src":"3119:13:6"},"referencedDeclaration":4443,"src":"3119:13:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog"}},"id":4334,"nodeType":"ArrayTypeName","src":"3119:15:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"}},"visibility":"internal"},{"constant":false,"id":4337,"mutability":"mutable","name":"logsBloom","nameLocation":"3155:9:6","nodeType":"VariableDeclaration","scope":4346,"src":"3149:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4336,"name":"bytes","nodeType":"ElementaryTypeName","src":"3149:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4339,"mutability":"mutable","name":"status","nameLocation":"3180:6:6","nodeType":"VariableDeclaration","scope":4346,"src":"3174:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4338,"name":"bytes","nodeType":"ElementaryTypeName","src":"3174:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4341,"mutability":"mutable","name":"to","nameLocation":"3204:2:6","nodeType":"VariableDeclaration","scope":4346,"src":"3196:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4340,"name":"address","nodeType":"ElementaryTypeName","src":"3196:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4343,"mutability":"mutable","name":"transactionHash","nameLocation":"3224:15:6","nodeType":"VariableDeclaration","scope":4346,"src":"3216:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4342,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3216:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4345,"mutability":"mutable","name":"transactionIndex","nameLocation":"3255:16:6","nodeType":"VariableDeclaration","scope":4346,"src":"3249:22:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4344,"name":"bytes","nodeType":"ElementaryTypeName","src":"3249:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"RawReceipt","nameLocation":"2900:10:6","scope":6247,"visibility":"public"},{"id":4375,"nodeType":"StructDefinition","src":"3284:391:6","nodes":[],"canonicalName":"StdCheatsSafe.Receipt","members":[{"constant":false,"id":4348,"mutability":"mutable","name":"blockHash","nameLocation":"3317:9:6","nodeType":"VariableDeclaration","scope":4375,"src":"3309:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3309:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4350,"mutability":"mutable","name":"blockNumber","nameLocation":"3344:11:6","nodeType":"VariableDeclaration","scope":4375,"src":"3336:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4349,"name":"uint256","nodeType":"ElementaryTypeName","src":"3336:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4352,"mutability":"mutable","name":"contractAddress","nameLocation":"3373:15:6","nodeType":"VariableDeclaration","scope":4375,"src":"3365:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4351,"name":"address","nodeType":"ElementaryTypeName","src":"3365:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4354,"mutability":"mutable","name":"cumulativeGasUsed","nameLocation":"3406:17:6","nodeType":"VariableDeclaration","scope":4375,"src":"3398:25:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4353,"name":"uint256","nodeType":"ElementaryTypeName","src":"3398:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4356,"mutability":"mutable","name":"effectiveGasPrice","nameLocation":"3441:17:6","nodeType":"VariableDeclaration","scope":4375,"src":"3433:25:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4355,"name":"uint256","nodeType":"ElementaryTypeName","src":"3433:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4358,"mutability":"mutable","name":"from","nameLocation":"3476:4:6","nodeType":"VariableDeclaration","scope":4375,"src":"3468:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4357,"name":"address","nodeType":"ElementaryTypeName","src":"3468:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4360,"mutability":"mutable","name":"gasUsed","nameLocation":"3498:7:6","nodeType":"VariableDeclaration","scope":4375,"src":"3490:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4359,"name":"uint256","nodeType":"ElementaryTypeName","src":"3490:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4364,"mutability":"mutable","name":"logs","nameLocation":"3528:4:6","nodeType":"VariableDeclaration","scope":4375,"src":"3515:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"},"typeName":{"baseType":{"id":4362,"nodeType":"UserDefinedTypeName","pathNode":{"id":4361,"name":"ReceiptLog","nameLocations":["3515:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4463,"src":"3515:10:6"},"referencedDeclaration":4463,"src":"3515:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":4363,"nodeType":"ArrayTypeName","src":"3515:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}},"visibility":"internal"},{"constant":false,"id":4366,"mutability":"mutable","name":"logsBloom","nameLocation":"3548:9:6","nodeType":"VariableDeclaration","scope":4375,"src":"3542:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4365,"name":"bytes","nodeType":"ElementaryTypeName","src":"3542:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4368,"mutability":"mutable","name":"status","nameLocation":"3575:6:6","nodeType":"VariableDeclaration","scope":4375,"src":"3567:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4367,"name":"uint256","nodeType":"ElementaryTypeName","src":"3567:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4370,"mutability":"mutable","name":"to","nameLocation":"3599:2:6","nodeType":"VariableDeclaration","scope":4375,"src":"3591:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4369,"name":"address","nodeType":"ElementaryTypeName","src":"3591:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4372,"mutability":"mutable","name":"transactionHash","nameLocation":"3619:15:6","nodeType":"VariableDeclaration","scope":4375,"src":"3611:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4371,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3611:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4374,"mutability":"mutable","name":"transactionIndex","nameLocation":"3652:16:6","nodeType":"VariableDeclaration","scope":4375,"src":"3644:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4373,"name":"uint256","nodeType":"ElementaryTypeName","src":"3644:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Receipt","nameLocation":"3291:7:6","scope":6247,"visibility":"public"},{"id":4398,"nodeType":"StructDefinition","src":"3798:227:6","nodes":[],"canonicalName":"StdCheatsSafe.EIP1559ScriptArtifact","members":[{"constant":false,"id":4378,"mutability":"mutable","name":"libraries","nameLocation":"3846:9:6","nodeType":"VariableDeclaration","scope":4398,"src":"3837:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4376,"name":"string","nodeType":"ElementaryTypeName","src":"3837:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4377,"nodeType":"ArrayTypeName","src":"3837:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4380,"mutability":"mutable","name":"path","nameLocation":"3872:4:6","nodeType":"VariableDeclaration","scope":4398,"src":"3865:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4379,"name":"string","nodeType":"ElementaryTypeName","src":"3865:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4383,"mutability":"mutable","name":"pending","nameLocation":"3895:7:6","nodeType":"VariableDeclaration","scope":4398,"src":"3886:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4381,"name":"string","nodeType":"ElementaryTypeName","src":"3886:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4382,"nodeType":"ArrayTypeName","src":"3886:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4387,"mutability":"mutable","name":"receipts","nameLocation":"3922:8:6","nodeType":"VariableDeclaration","scope":4398,"src":"3912:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":4385,"nodeType":"UserDefinedTypeName","pathNode":{"id":4384,"name":"Receipt","nameLocations":["3912:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":4375,"src":"3912:7:6"},"referencedDeclaration":4375,"src":"3912:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":4386,"nodeType":"ArrayTypeName","src":"3912:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"},{"constant":false,"id":4389,"mutability":"mutable","name":"timestamp","nameLocation":"3948:9:6","nodeType":"VariableDeclaration","scope":4398,"src":"3940:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4388,"name":"uint256","nodeType":"ElementaryTypeName","src":"3940:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4393,"mutability":"mutable","name":"transactions","nameLocation":"3976:12:6","nodeType":"VariableDeclaration","scope":4398,"src":"3967:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":4391,"nodeType":"UserDefinedTypeName","pathNode":{"id":4390,"name":"Tx1559","nameLocations":["3967:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":4242,"src":"3967:6:6"},"referencedDeclaration":4242,"src":"3967:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":4392,"nodeType":"ArrayTypeName","src":"3967:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"},{"constant":false,"id":4397,"mutability":"mutable","name":"txReturns","nameLocation":"4009:9:6","nodeType":"VariableDeclaration","scope":4398,"src":"3998:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4468_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"},"typeName":{"baseType":{"id":4395,"nodeType":"UserDefinedTypeName","pathNode":{"id":4394,"name":"TxReturn","nameLocations":["3998:8:6"],"nodeType":"IdentifierPath","referencedDeclaration":4468,"src":"3998:8:6"},"referencedDeclaration":4468,"src":"3998:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_TxReturn_$4468_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn"}},"id":4396,"nodeType":"ArrayTypeName","src":"3998:10:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4468_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"}},"visibility":"internal"}],"name":"EIP1559ScriptArtifact","nameLocation":"3805:21:6","scope":6247,"visibility":"public"},{"id":4421,"nodeType":"StructDefinition","src":"4031:236:6","nodes":[],"canonicalName":"StdCheatsSafe.RawEIP1559ScriptArtifact","members":[{"constant":false,"id":4401,"mutability":"mutable","name":"libraries","nameLocation":"4082:9:6","nodeType":"VariableDeclaration","scope":4421,"src":"4073:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4399,"name":"string","nodeType":"ElementaryTypeName","src":"4073:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4400,"nodeType":"ArrayTypeName","src":"4073:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4403,"mutability":"mutable","name":"path","nameLocation":"4108:4:6","nodeType":"VariableDeclaration","scope":4421,"src":"4101:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4402,"name":"string","nodeType":"ElementaryTypeName","src":"4101:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4406,"mutability":"mutable","name":"pending","nameLocation":"4131:7:6","nodeType":"VariableDeclaration","scope":4421,"src":"4122:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":4404,"name":"string","nodeType":"ElementaryTypeName","src":"4122:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":4405,"nodeType":"ArrayTypeName","src":"4122:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":4410,"mutability":"mutable","name":"receipts","nameLocation":"4161:8:6","nodeType":"VariableDeclaration","scope":4421,"src":"4148:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"},"typeName":{"baseType":{"id":4408,"nodeType":"UserDefinedTypeName","pathNode":{"id":4407,"name":"RawReceipt","nameLocations":["4148:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4346,"src":"4148:10:6"},"referencedDeclaration":4346,"src":"4148:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"id":4409,"nodeType":"ArrayTypeName","src":"4148:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"}},"visibility":"internal"},{"constant":false,"id":4414,"mutability":"mutable","name":"txReturns","nameLocation":"4190:9:6","nodeType":"VariableDeclaration","scope":4421,"src":"4179:20:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4468_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"},"typeName":{"baseType":{"id":4412,"nodeType":"UserDefinedTypeName","pathNode":{"id":4411,"name":"TxReturn","nameLocations":["4179:8:6"],"nodeType":"IdentifierPath","referencedDeclaration":4468,"src":"4179:8:6"},"referencedDeclaration":4468,"src":"4179:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_TxReturn_$4468_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn"}},"id":4413,"nodeType":"ArrayTypeName","src":"4179:10:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4468_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.TxReturn[]"}},"visibility":"internal"},{"constant":false,"id":4416,"mutability":"mutable","name":"timestamp","nameLocation":"4217:9:6","nodeType":"VariableDeclaration","scope":4421,"src":"4209:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4415,"name":"uint256","nodeType":"ElementaryTypeName","src":"4209:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4420,"mutability":"mutable","name":"transactions","nameLocation":"4248:12:6","nodeType":"VariableDeclaration","scope":4421,"src":"4236:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"},"typeName":{"baseType":{"id":4418,"nodeType":"UserDefinedTypeName","pathNode":{"id":4417,"name":"RawTx1559","nameLocations":["4236:9:6"],"nodeType":"IdentifierPath","referencedDeclaration":4206,"src":"4236:9:6"},"referencedDeclaration":4206,"src":"4236:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"id":4419,"nodeType":"ArrayTypeName","src":"4236:11:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"}},"visibility":"internal"}],"name":"RawEIP1559ScriptArtifact","nameLocation":"4038:24:6","scope":6247,"visibility":"public"},{"id":4443,"nodeType":"StructDefinition","src":"4273:334:6","nodes":[],"canonicalName":"StdCheatsSafe.RawReceiptLog","members":[{"constant":false,"id":4423,"mutability":"mutable","name":"logAddress","nameLocation":"4344:10:6","nodeType":"VariableDeclaration","scope":4443,"src":"4336:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4422,"name":"address","nodeType":"ElementaryTypeName","src":"4336:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4425,"mutability":"mutable","name":"blockHash","nameLocation":"4372:9:6","nodeType":"VariableDeclaration","scope":4443,"src":"4364:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4424,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4364:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4427,"mutability":"mutable","name":"blockNumber","nameLocation":"4397:11:6","nodeType":"VariableDeclaration","scope":4443,"src":"4391:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4426,"name":"bytes","nodeType":"ElementaryTypeName","src":"4391:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4429,"mutability":"mutable","name":"data","nameLocation":"4424:4:6","nodeType":"VariableDeclaration","scope":4443,"src":"4418:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4428,"name":"bytes","nodeType":"ElementaryTypeName","src":"4418:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4431,"mutability":"mutable","name":"logIndex","nameLocation":"4444:8:6","nodeType":"VariableDeclaration","scope":4443,"src":"4438:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4430,"name":"bytes","nodeType":"ElementaryTypeName","src":"4438:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4433,"mutability":"mutable","name":"removed","nameLocation":"4467:7:6","nodeType":"VariableDeclaration","scope":4443,"src":"4462:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4432,"name":"bool","nodeType":"ElementaryTypeName","src":"4462:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4436,"mutability":"mutable","name":"topics","nameLocation":"4494:6:6","nodeType":"VariableDeclaration","scope":4443,"src":"4484:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":4434,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4484:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4435,"nodeType":"ArrayTypeName","src":"4484:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":4438,"mutability":"mutable","name":"transactionHash","nameLocation":"4518:15:6","nodeType":"VariableDeclaration","scope":4443,"src":"4510:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4437,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4510:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4440,"mutability":"mutable","name":"transactionIndex","nameLocation":"4549:16:6","nodeType":"VariableDeclaration","scope":4443,"src":"4543:22:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4439,"name":"bytes","nodeType":"ElementaryTypeName","src":"4543:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4442,"mutability":"mutable","name":"transactionLogIndex","nameLocation":"4581:19:6","nodeType":"VariableDeclaration","scope":4443,"src":"4575:25:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4441,"name":"bytes","nodeType":"ElementaryTypeName","src":"4575:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"RawReceiptLog","nameLocation":"4280:13:6","scope":6247,"visibility":"public"},{"id":4463,"nodeType":"StructDefinition","src":"4613:306:6","nodes":[],"canonicalName":"StdCheatsSafe.ReceiptLog","members":[{"constant":false,"id":4445,"mutability":"mutable","name":"logAddress","nameLocation":"4681:10:6","nodeType":"VariableDeclaration","scope":4463,"src":"4673:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4444,"name":"address","nodeType":"ElementaryTypeName","src":"4673:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4447,"mutability":"mutable","name":"blockHash","nameLocation":"4709:9:6","nodeType":"VariableDeclaration","scope":4463,"src":"4701:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":4446,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4701:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":4449,"mutability":"mutable","name":"blockNumber","nameLocation":"4736:11:6","nodeType":"VariableDeclaration","scope":4463,"src":"4728:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4448,"name":"uint256","nodeType":"ElementaryTypeName","src":"4728:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4451,"mutability":"mutable","name":"data","nameLocation":"4763:4:6","nodeType":"VariableDeclaration","scope":4463,"src":"4757:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":4450,"name":"bytes","nodeType":"ElementaryTypeName","src":"4757:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":4453,"mutability":"mutable","name":"logIndex","nameLocation":"4785:8:6","nodeType":"VariableDeclaration","scope":4463,"src":"4777:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4452,"name":"uint256","nodeType":"ElementaryTypeName","src":"4777:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4456,"mutability":"mutable","name":"topics","nameLocation":"4813:6:6","nodeType":"VariableDeclaration","scope":4463,"src":"4803:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":4454,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4803:7:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":4455,"nodeType":"ArrayTypeName","src":"4803:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":4458,"mutability":"mutable","name":"transactionIndex","nameLocation":"4837:16:6","nodeType":"VariableDeclaration","scope":4463,"src":"4829:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4457,"name":"uint256","nodeType":"ElementaryTypeName","src":"4829:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4460,"mutability":"mutable","name":"transactionLogIndex","nameLocation":"4871:19:6","nodeType":"VariableDeclaration","scope":4463,"src":"4863:27:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4459,"name":"uint256","nodeType":"ElementaryTypeName","src":"4863:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4462,"mutability":"mutable","name":"removed","nameLocation":"4905:7:6","nodeType":"VariableDeclaration","scope":4463,"src":"4900:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4461,"name":"bool","nodeType":"ElementaryTypeName","src":"4900:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"ReceiptLog","nameLocation":"4620:10:6","scope":6247,"visibility":"public"},{"id":4468,"nodeType":"StructDefinition","src":"4925:74:6","nodes":[],"canonicalName":"StdCheatsSafe.TxReturn","members":[{"constant":false,"id":4465,"mutability":"mutable","name":"internalType","nameLocation":"4958:12:6","nodeType":"VariableDeclaration","scope":4468,"src":"4951:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4464,"name":"string","nodeType":"ElementaryTypeName","src":"4951:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4467,"mutability":"mutable","name":"value","nameLocation":"4987:5:6","nodeType":"VariableDeclaration","scope":4468,"src":"4980:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":4466,"name":"string","nodeType":"ElementaryTypeName","src":"4980:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"TxReturn","nameLocation":"4932:8:6","scope":6247,"visibility":"public"},{"id":4473,"nodeType":"StructDefinition","src":"5005:65:6","nodes":[],"canonicalName":"StdCheatsSafe.Account","members":[{"constant":false,"id":4470,"mutability":"mutable","name":"addr","nameLocation":"5038:4:6","nodeType":"VariableDeclaration","scope":4473,"src":"5030:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4469,"name":"address","nodeType":"ElementaryTypeName","src":"5030:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4472,"mutability":"mutable","name":"key","nameLocation":"5060:3:6","nodeType":"VariableDeclaration","scope":4473,"src":"5052:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4471,"name":"uint256","nodeType":"ElementaryTypeName","src":"5052:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Account","nameLocation":"5012:7:6","scope":6247,"visibility":"public"},{"id":4479,"nodeType":"EnumDefinition","src":"5076:123:6","nodes":[],"canonicalName":"StdCheatsSafe.AddressType","members":[{"id":4474,"name":"Payable","nameLocation":"5103:7:6","nodeType":"EnumValue","src":"5103:7:6"},{"id":4475,"name":"NonPayable","nameLocation":"5120:10:6","nodeType":"EnumValue","src":"5120:10:6"},{"id":4476,"name":"ZeroAddress","nameLocation":"5140:11:6","nodeType":"EnumValue","src":"5140:11:6"},{"id":4477,"name":"Precompile","nameLocation":"5161:10:6","nodeType":"EnumValue","src":"5161:10:6"},{"id":4478,"name":"ForgeAddress","nameLocation":"5181:12:6","nodeType":"EnumValue","src":"5181:12:6"}],"name":"AddressType","nameLocation":"5081:11:6"},{"id":4564,"nodeType":"FunctionDefinition","src":"5292:903:6","nodes":[],"body":{"id":4563,"nodeType":"Block","src":"5373:822:6","nodes":[],"statements":[{"assignments":[4487],"declarations":[{"constant":false,"id":4487,"mutability":"mutable","name":"tokenCodeSize","nameLocation":"5449:13:6","nodeType":"VariableDeclaration","scope":4563,"src":"5441:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4486,"name":"uint256","nodeType":"ElementaryTypeName","src":"5441:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4488,"nodeType":"VariableDeclarationStatement","src":"5441:21:6"},{"AST":{"nativeSrc":"5481:59:6","nodeType":"YulBlock","src":"5481:59:6","statements":[{"nativeSrc":"5495:35:6","nodeType":"YulAssignment","src":"5495:35:6","value":{"arguments":[{"name":"token","nativeSrc":"5524:5:6","nodeType":"YulIdentifier","src":"5524:5:6"}],"functionName":{"name":"extcodesize","nativeSrc":"5512:11:6","nodeType":"YulIdentifier","src":"5512:11:6"},"nativeSrc":"5512:18:6","nodeType":"YulFunctionCall","src":"5512:18:6"},"variableNames":[{"name":"tokenCodeSize","nativeSrc":"5495:13:6","nodeType":"YulIdentifier","src":"5495:13:6"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":4481,"isOffset":false,"isSlot":false,"src":"5524:5:6","valueSize":1},{"declaration":4487,"isOffset":false,"isSlot":false,"src":"5495:13:6","valueSize":1}],"id":4489,"nodeType":"InlineAssembly","src":"5472:68:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4491,"name":"tokenCodeSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4487,"src":"5557:13:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5573:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5557:17:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53746443686561747320617373756d654e6f74426c61636b6c697374656428616464726573732c61646472657373293a20546f6b656e2061646472657373206973206e6f74206120636f6e74726163742e","id":4494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5576:83:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_ff181fc90e0398988b2d16ac6106309afb26707604277f79174c19e18b9403ed","typeString":"literal_string \"StdCheats assumeNotBlacklisted(address,address): Token address is not a contract.\""},"value":"StdCheats assumeNotBlacklisted(address,address): Token address is not a contract."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ff181fc90e0398988b2d16ac6106309afb26707604277f79174c19e18b9403ed","typeString":"literal_string \"StdCheats assumeNotBlacklisted(address,address): Token address is not a contract.\""}],"id":4490,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"5549:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5549:111:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4496,"nodeType":"ExpressionStatement","src":"5549:111:6"},{"assignments":[4498],"declarations":[{"constant":false,"id":4498,"mutability":"mutable","name":"success","nameLocation":"5676:7:6","nodeType":"VariableDeclaration","scope":4563,"src":"5671:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4497,"name":"bool","nodeType":"ElementaryTypeName","src":"5671:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":4499,"nodeType":"VariableDeclarationStatement","src":"5671:12:6"},{"assignments":[4501],"declarations":[{"constant":false,"id":4501,"mutability":"mutable","name":"returnData","nameLocation":"5706:10:6","nodeType":"VariableDeclaration","scope":4563,"src":"5693:23:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4500,"name":"bytes","nodeType":"ElementaryTypeName","src":"5693:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":4502,"nodeType":"VariableDeclarationStatement","src":"5693:23:6"},{"expression":{"id":4514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":4503,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"5799:7:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":4504,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4501,"src":"5808:10:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":4505,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"5798:21:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"30786665353735613837","id":4510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5862:10:6","typeDescriptions":{"typeIdentifier":"t_rational_4267137671_by_1","typeString":"int_const 4267137671"},"value":"0xfe575a87"},{"id":4511,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4483,"src":"5874:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4267137671_by_1","typeString":"int_const 4267137671"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":4508,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5839:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4509,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5843:18:6","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"5839:22:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":4512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5839:40:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":4506,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4481,"src":"5822:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5828:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"5822:16:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":4513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5822:58:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"5798:82:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4515,"nodeType":"ExpressionStatement","src":"5798:82:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5900:8:6","subExpression":{"id":4519,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"5901:7:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4523,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4501,"src":"5923:10:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":4525,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5936:4:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":4524,"name":"bool","nodeType":"ElementaryTypeName","src":"5936:4:6","typeDescriptions":{}}}],"id":4526,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5935:6:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":4521,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5912:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5916:6:6","memberName":"decode","nodeType":"MemberAccess","src":"5912:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5912:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"66616c7365","id":4528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5946:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"5912:39:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5900:51:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4516,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"5890:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5893:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"5890:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5890:62:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4532,"nodeType":"ExpressionStatement","src":"5890:62:6"},{"expression":{"id":4544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":4533,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"6035:7:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":4534,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4501,"src":"6044:10:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":4535,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"6034:21:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"30786534376436303630","id":4540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6098:10:6","typeDescriptions":{"typeIdentifier":"t_rational_3833421920_by_1","typeString":"int_const 3833421920"},"value":"0xe47d6060"},{"id":4541,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4483,"src":"6110:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3833421920_by_1","typeString":"int_const 3833421920"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":4538,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6075:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6079:18:6","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"6075:22:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":4542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6075:40:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":4536,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4481,"src":"6058:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6064:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"6058:16:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":4543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6058:58:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"src":"6034:82:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4545,"nodeType":"ExpressionStatement","src":"6034:82:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6136:8:6","subExpression":{"id":4549,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4498,"src":"6137:7:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4553,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4501,"src":"6159:10:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":4555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6172:4:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":4554,"name":"bool","nodeType":"ElementaryTypeName","src":"6172:4:6","typeDescriptions":{}}}],"id":4556,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6171:6:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":4551,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6148:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6152:6:6","memberName":"decode","nodeType":"MemberAccess","src":"6148:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":4557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6148:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"66616c7365","id":4558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6182:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"6148:39:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6136:51:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4546,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"6126:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6129:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"6126:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6126:62:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4562,"nodeType":"ExpressionStatement","src":"6126:62:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotBlacklisted","nameLocation":"5301:20:6","parameters":{"id":4484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4481,"mutability":"mutable","name":"token","nameLocation":"5330:5:6","nodeType":"VariableDeclaration","scope":4564,"src":"5322:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4480,"name":"address","nodeType":"ElementaryTypeName","src":"5322:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4483,"mutability":"mutable","name":"addr","nameLocation":"5345:4:6","nodeType":"VariableDeclaration","scope":4564,"src":"5337:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4482,"name":"address","nodeType":"ElementaryTypeName","src":"5337:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5321:29:6"},"returnParameters":{"id":4485,"nodeType":"ParameterList","parameters":[],"src":"5373:0:6"},"scope":6247,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4577,"nodeType":"FunctionDefinition","src":"6580:130:6","nodes":[],"body":{"id":4576,"nodeType":"Block","src":"6660:50:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":4572,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4566,"src":"6691:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4573,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4568,"src":"6698:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4571,"name":"assumeNotBlacklisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4564,"src":"6670:20:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) view"}},"id":4574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6670:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4575,"nodeType":"ExpressionStatement","src":"6670:33:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNoBlacklisted","nameLocation":"6589:19:6","parameters":{"id":4569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4566,"mutability":"mutable","name":"token","nameLocation":"6617:5:6","nodeType":"VariableDeclaration","scope":4577,"src":"6609:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4565,"name":"address","nodeType":"ElementaryTypeName","src":"6609:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4568,"mutability":"mutable","name":"addr","nameLocation":"6632:4:6","nodeType":"VariableDeclaration","scope":4577,"src":"6624:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4567,"name":"address","nodeType":"ElementaryTypeName","src":"6624:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6608:29:6"},"returnParameters":{"id":4570,"nodeType":"ParameterList","parameters":[],"src":"6660:0:6"},"scope":6247,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4636,"nodeType":"FunctionDefinition","src":"6716:583:6","nodes":[],"body":{"id":4635,"nodeType":"Block","src":"6800:499:6","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"id":4588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4585,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4582,"src":"6814:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4586,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4479,"src":"6829:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$4479_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":4587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6841:7:6","memberName":"Payable","nodeType":"MemberAccess","referencedDeclaration":4474,"src":"6829:19:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"src":"6814:34:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"id":4597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4594,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4582,"src":"6907:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4595,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4479,"src":"6922:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$4479_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":4596,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6934:10:6","memberName":"NonPayable","nodeType":"MemberAccess","referencedDeclaration":4475,"src":"6922:22:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"src":"6907:37:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"id":4606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4603,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4582,"src":"7000:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4604,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4479,"src":"7015:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$4479_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":4605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7027:11:6","memberName":"ZeroAddress","nodeType":"MemberAccess","referencedDeclaration":4476,"src":"7015:23:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"src":"7000:38:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"id":4615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4612,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4582,"src":"7101:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4613,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4479,"src":"7116:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$4479_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":4614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7128:10:6","memberName":"Precompile","nodeType":"MemberAccess","referencedDeclaration":4477,"src":"7116:22:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"src":"7101:37:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"id":4624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4621,"name":"addressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4582,"src":"7200:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4622,"name":"AddressType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4479,"src":"7215:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_AddressType_$4479_$","typeString":"type(enum StdCheatsSafe.AddressType)"}},"id":4623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7227:12:6","memberName":"ForgeAddress","nodeType":"MemberAccess","referencedDeclaration":4478,"src":"7215:24:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"src":"7200:39:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4630,"nodeType":"IfStatement","src":"7196:97:6","trueBody":{"id":4629,"nodeType":"Block","src":"7241:52:6","statements":[{"expression":{"arguments":[{"id":4626,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4579,"src":"7277:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4625,"name":"assumeNotForgeAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5025,"src":"7255:21:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":4627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7255:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4628,"nodeType":"ExpressionStatement","src":"7255:27:6"}]}},"id":4631,"nodeType":"IfStatement","src":"7097:196:6","trueBody":{"id":4620,"nodeType":"Block","src":"7140:50:6","statements":[{"expression":{"arguments":[{"id":4617,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4579,"src":"7174:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4616,"name":"assumeNotPrecompile","nodeType":"Identifier","overloadedDeclarations":[4857,5000],"referencedDeclaration":4857,"src":"7154:19:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":4618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7154:25:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4619,"nodeType":"ExpressionStatement","src":"7154:25:6"}]}},"id":4632,"nodeType":"IfStatement","src":"6996:297:6","trueBody":{"id":4611,"nodeType":"Block","src":"7040:51:6","statements":[{"expression":{"arguments":[{"id":4608,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4579,"src":"7075:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4607,"name":"assumeNotZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4845,"src":"7054:20:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":4609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7054:26:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4610,"nodeType":"ExpressionStatement","src":"7054:26:6"}]}},"id":4633,"nodeType":"IfStatement","src":"6903:390:6","trueBody":{"id":4602,"nodeType":"Block","src":"6946:44:6","statements":[{"expression":{"arguments":[{"id":4599,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4579,"src":"6974:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4598,"name":"assumePayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4813,"src":"6960:13:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":4600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6960:19:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4601,"nodeType":"ExpressionStatement","src":"6960:19:6"}]}},"id":4634,"nodeType":"IfStatement","src":"6810:483:6","trueBody":{"id":4593,"nodeType":"Block","src":"6850:47:6","statements":[{"expression":{"arguments":[{"id":4590,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4579,"src":"6881:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4589,"name":"assumeNotPayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4828,"src":"6864:16:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":4591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6864:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4592,"nodeType":"ExpressionStatement","src":"6864:22:6"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeAddressIsNot","nameLocation":"6725:18:6","parameters":{"id":4583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4579,"mutability":"mutable","name":"addr","nameLocation":"6752:4:6","nodeType":"VariableDeclaration","scope":4636,"src":"6744:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4578,"name":"address","nodeType":"ElementaryTypeName","src":"6744:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4582,"mutability":"mutable","name":"addressType","nameLocation":"6770:11:6","nodeType":"VariableDeclaration","scope":4636,"src":"6758:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4581,"nodeType":"UserDefinedTypeName","pathNode":{"id":4580,"name":"AddressType","nameLocations":["6758:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"6758:11:6"},"referencedDeclaration":4479,"src":"6758:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"}],"src":"6743:39:6"},"returnParameters":{"id":4584,"nodeType":"ParameterList","parameters":[],"src":"6800:0:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4658,"nodeType":"FunctionDefinition","src":"7305:214:6","nodes":[],"body":{"id":4657,"nodeType":"Block","src":"7416:103:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":4648,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4638,"src":"7445:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4649,"name":"addressType1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4641,"src":"7451:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}],"id":4647,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4636,4658,4688,4726],"referencedDeclaration":4636,"src":"7426:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4479_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7426:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4651,"nodeType":"ExpressionStatement","src":"7426:38:6"},{"expression":{"arguments":[{"id":4653,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4638,"src":"7493:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4654,"name":"addressType2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4644,"src":"7499:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}],"id":4652,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4636,4658,4688,4726],"referencedDeclaration":4636,"src":"7474:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4479_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7474:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4656,"nodeType":"ExpressionStatement","src":"7474:38:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeAddressIsNot","nameLocation":"7314:18:6","parameters":{"id":4645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4638,"mutability":"mutable","name":"addr","nameLocation":"7341:4:6","nodeType":"VariableDeclaration","scope":4658,"src":"7333:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4637,"name":"address","nodeType":"ElementaryTypeName","src":"7333:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4641,"mutability":"mutable","name":"addressType1","nameLocation":"7359:12:6","nodeType":"VariableDeclaration","scope":4658,"src":"7347:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4640,"nodeType":"UserDefinedTypeName","pathNode":{"id":4639,"name":"AddressType","nameLocations":["7347:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"7347:11:6"},"referencedDeclaration":4479,"src":"7347:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":4644,"mutability":"mutable","name":"addressType2","nameLocation":"7385:12:6","nodeType":"VariableDeclaration","scope":4658,"src":"7373:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4643,"nodeType":"UserDefinedTypeName","pathNode":{"id":4642,"name":"AddressType","nameLocations":["7373:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"7373:11:6"},"referencedDeclaration":4479,"src":"7373:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"}],"src":"7332:66:6"},"returnParameters":{"id":4646,"nodeType":"ParameterList","parameters":[],"src":"7416:0:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4688,"nodeType":"FunctionDefinition","src":"7525:326:6","nodes":[],"body":{"id":4687,"nodeType":"Block","src":"7700:151:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":4673,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4660,"src":"7729:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4674,"name":"addressType1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4663,"src":"7735:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}],"id":4672,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4636,4658,4688,4726],"referencedDeclaration":4636,"src":"7710:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4479_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7710:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4676,"nodeType":"ExpressionStatement","src":"7710:38:6"},{"expression":{"arguments":[{"id":4678,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4660,"src":"7777:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4679,"name":"addressType2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4666,"src":"7783:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}],"id":4677,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4636,4658,4688,4726],"referencedDeclaration":4636,"src":"7758:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4479_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7758:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4681,"nodeType":"ExpressionStatement","src":"7758:38:6"},{"expression":{"arguments":[{"id":4683,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4660,"src":"7825:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4684,"name":"addressType3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4669,"src":"7831:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}],"id":4682,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4636,4658,4688,4726],"referencedDeclaration":4636,"src":"7806:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4479_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7806:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4686,"nodeType":"ExpressionStatement","src":"7806:38:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeAddressIsNot","nameLocation":"7534:18:6","parameters":{"id":4670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4660,"mutability":"mutable","name":"addr","nameLocation":"7570:4:6","nodeType":"VariableDeclaration","scope":4688,"src":"7562:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4659,"name":"address","nodeType":"ElementaryTypeName","src":"7562:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4663,"mutability":"mutable","name":"addressType1","nameLocation":"7596:12:6","nodeType":"VariableDeclaration","scope":4688,"src":"7584:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4662,"nodeType":"UserDefinedTypeName","pathNode":{"id":4661,"name":"AddressType","nameLocations":["7584:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"7584:11:6"},"referencedDeclaration":4479,"src":"7584:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":4666,"mutability":"mutable","name":"addressType2","nameLocation":"7630:12:6","nodeType":"VariableDeclaration","scope":4688,"src":"7618:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4665,"nodeType":"UserDefinedTypeName","pathNode":{"id":4664,"name":"AddressType","nameLocations":["7618:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"7618:11:6"},"referencedDeclaration":4479,"src":"7618:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":4669,"mutability":"mutable","name":"addressType3","nameLocation":"7664:12:6","nodeType":"VariableDeclaration","scope":4688,"src":"7652:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4668,"nodeType":"UserDefinedTypeName","pathNode":{"id":4667,"name":"AddressType","nameLocations":["7652:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"7652:11:6"},"referencedDeclaration":4479,"src":"7652:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"}],"src":"7552:130:6"},"returnParameters":{"id":4671,"nodeType":"ParameterList","parameters":[],"src":"7700:0:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4726,"nodeType":"FunctionDefinition","src":"7857:408:6","nodes":[],"body":{"id":4725,"nodeType":"Block","src":"8066:199:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":4706,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4690,"src":"8095:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4707,"name":"addressType1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4693,"src":"8101:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}],"id":4705,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4636,4658,4688,4726],"referencedDeclaration":4636,"src":"8076:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4479_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8076:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4709,"nodeType":"ExpressionStatement","src":"8076:38:6"},{"expression":{"arguments":[{"id":4711,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4690,"src":"8143:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4712,"name":"addressType2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4696,"src":"8149:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}],"id":4710,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4636,4658,4688,4726],"referencedDeclaration":4636,"src":"8124:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4479_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8124:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4714,"nodeType":"ExpressionStatement","src":"8124:38:6"},{"expression":{"arguments":[{"id":4716,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4690,"src":"8191:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4717,"name":"addressType3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4699,"src":"8197:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}],"id":4715,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4636,4658,4688,4726],"referencedDeclaration":4636,"src":"8172:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4479_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8172:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4719,"nodeType":"ExpressionStatement","src":"8172:38:6"},{"expression":{"arguments":[{"id":4721,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4690,"src":"8239:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4722,"name":"addressType4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4702,"src":"8245:12:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}],"id":4720,"name":"assumeAddressIsNot","nodeType":"Identifier","overloadedDeclarations":[4636,4658,4688,4726],"referencedDeclaration":4636,"src":"8220:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_enum$_AddressType_$4479_$returns$__$","typeString":"function (address,enum StdCheatsSafe.AddressType)"}},"id":4723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8220:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4724,"nodeType":"ExpressionStatement","src":"8220:38:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeAddressIsNot","nameLocation":"7866:18:6","parameters":{"id":4703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4690,"mutability":"mutable","name":"addr","nameLocation":"7902:4:6","nodeType":"VariableDeclaration","scope":4726,"src":"7894:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4689,"name":"address","nodeType":"ElementaryTypeName","src":"7894:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4693,"mutability":"mutable","name":"addressType1","nameLocation":"7928:12:6","nodeType":"VariableDeclaration","scope":4726,"src":"7916:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4692,"nodeType":"UserDefinedTypeName","pathNode":{"id":4691,"name":"AddressType","nameLocations":["7916:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"7916:11:6"},"referencedDeclaration":4479,"src":"7916:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":4696,"mutability":"mutable","name":"addressType2","nameLocation":"7962:12:6","nodeType":"VariableDeclaration","scope":4726,"src":"7950:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4695,"nodeType":"UserDefinedTypeName","pathNode":{"id":4694,"name":"AddressType","nameLocations":["7950:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"7950:11:6"},"referencedDeclaration":4479,"src":"7950:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":4699,"mutability":"mutable","name":"addressType3","nameLocation":"7996:12:6","nodeType":"VariableDeclaration","scope":4726,"src":"7984:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4698,"nodeType":"UserDefinedTypeName","pathNode":{"id":4697,"name":"AddressType","nameLocations":["7984:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"7984:11:6"},"referencedDeclaration":4479,"src":"7984:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"},{"constant":false,"id":4702,"mutability":"mutable","name":"addressType4","nameLocation":"8030:12:6","nodeType":"VariableDeclaration","scope":4726,"src":"8018:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"},"typeName":{"id":4701,"nodeType":"UserDefinedTypeName","pathNode":{"id":4700,"name":"AddressType","nameLocations":["8018:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":4479,"src":"8018:11:6"},"referencedDeclaration":4479,"src":"8018:11:6","typeDescriptions":{"typeIdentifier":"t_enum$_AddressType_$4479","typeString":"enum StdCheatsSafe.AddressType"}},"visibility":"internal"}],"src":"7884:164:6"},"returnParameters":{"id":4704,"nodeType":"ParameterList","parameters":[],"src":"8066:0:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4799,"nodeType":"FunctionDefinition","src":"8611:592:6","nodes":[],"body":{"id":4798,"nodeType":"Block","src":"8668:535:6","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4734,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4728,"src":"8699:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8704:7:6","memberName":"balance","nodeType":"MemberAccess","src":"8699:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":4736,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4187,"src":"8714:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8699:26:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473205f697350617961626c652861646472657373293a2042616c616e636520657175616c73206d61782075696e743235362c20736f2069742063616e6e6f74207265636569766520616e79206d6f72652066756e6473","id":4738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8739:96:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_445086840f6c2a82b4d334ff6858d2a67c3cf8d1872260417f6ce3ed4fefcee6","typeString":"literal_string \"StdCheats _isPayable(address): Balance equals max uint256, so it cannot receive any more funds\""},"value":"StdCheats _isPayable(address): Balance equals max uint256, so it cannot receive any more funds"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_445086840f6c2a82b4d334ff6858d2a67c3cf8d1872260417f6ce3ed4fefcee6","typeString":"literal_string \"StdCheats _isPayable(address): Balance equals max uint256, so it cannot receive any more funds\""}],"id":4733,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"8678:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":4739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8678:167:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4740,"nodeType":"ExpressionStatement","src":"8678:167:6"},{"assignments":[4742],"declarations":[{"constant":false,"id":4742,"mutability":"mutable","name":"origBalanceTest","nameLocation":"8863:15:6","nodeType":"VariableDeclaration","scope":4798,"src":"8855:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4741,"name":"uint256","nodeType":"ElementaryTypeName","src":"8855:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4748,"initialValue":{"expression":{"arguments":[{"id":4745,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8889:4:6","typeDescriptions":{"typeIdentifier":"t_contract$_StdCheatsSafe_$6247","typeString":"contract StdCheatsSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StdCheatsSafe_$6247","typeString":"contract StdCheatsSafe"}],"id":4744,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8881:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4743,"name":"address","nodeType":"ElementaryTypeName","src":"8881:7:6","typeDescriptions":{}}},"id":4746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8881:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8895:7:6","memberName":"balance","nodeType":"MemberAccess","src":"8881:21:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8855:47:6"},{"assignments":[4750],"declarations":[{"constant":false,"id":4750,"mutability":"mutable","name":"origBalanceAddr","nameLocation":"8920:15:6","nodeType":"VariableDeclaration","scope":4798,"src":"8912:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4749,"name":"uint256","nodeType":"ElementaryTypeName","src":"8912:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4756,"initialValue":{"expression":{"arguments":[{"id":4753,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4728,"src":"8946:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8938:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4751,"name":"address","nodeType":"ElementaryTypeName","src":"8938:7:6","typeDescriptions":{}}},"id":4754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8938:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8952:7:6","memberName":"balance","nodeType":"MemberAccess","src":"8938:21:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8912:47:6"},{"expression":{"arguments":[{"arguments":[{"id":4762,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8986:4:6","typeDescriptions":{"typeIdentifier":"t_contract$_StdCheatsSafe_$6247","typeString":"contract StdCheatsSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StdCheatsSafe_$6247","typeString":"contract StdCheatsSafe"}],"id":4761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8978:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4760,"name":"address","nodeType":"ElementaryTypeName","src":"8978:7:6","typeDescriptions":{}}},"id":4763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8978:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"31","id":4764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8993:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":4757,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"8970:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8973:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"8970:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":4765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8970:25:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4766,"nodeType":"ExpressionStatement","src":"8970:25:6"},{"assignments":[4768,null],"declarations":[{"constant":false,"id":4768,"mutability":"mutable","name":"success","nameLocation":"9011:7:6","nodeType":"VariableDeclaration","scope":4798,"src":"9006:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4767,"name":"bool","nodeType":"ElementaryTypeName","src":"9006:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":4778,"initialValue":{"arguments":[{"hexValue":"","id":4776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9052:2:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"id":4771,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4728,"src":"9031:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9023:8:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":4769,"name":"address","nodeType":"ElementaryTypeName","src":"9023:8:6","stateMutability":"payable","typeDescriptions":{}}},"id":4772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9023:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":4773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9037:4:6","memberName":"call","nodeType":"MemberAccess","src":"9023:18:6","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":4775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"hexValue":"31","id":4774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9049:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"src":"9023:28:6","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":4777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9023:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"9005:50:6"},{"expression":{"arguments":[{"arguments":[{"id":4784,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9108:4:6","typeDescriptions":{"typeIdentifier":"t_contract$_StdCheatsSafe_$6247","typeString":"contract StdCheatsSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StdCheatsSafe_$6247","typeString":"contract StdCheatsSafe"}],"id":4783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9100:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4782,"name":"address","nodeType":"ElementaryTypeName","src":"9100:7:6","typeDescriptions":{}}},"id":4785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9100:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4786,"name":"origBalanceTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4742,"src":"9115:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4779,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"9092:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9095:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"9092:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":4787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9092:39:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4788,"nodeType":"ExpressionStatement","src":"9092:39:6"},{"expression":{"arguments":[{"id":4792,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4728,"src":"9149:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4793,"name":"origBalanceAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4750,"src":"9155:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4789,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"9141:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9144:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"9141:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":4794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9141:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4795,"nodeType":"ExpressionStatement","src":"9141:30:6"},{"expression":{"id":4796,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4768,"src":"9189:7:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4732,"id":4797,"nodeType":"Return","src":"9182:14:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isPayable","nameLocation":"8620:10:6","parameters":{"id":4729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4728,"mutability":"mutable","name":"addr","nameLocation":"8639:4:6","nodeType":"VariableDeclaration","scope":4799,"src":"8631:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4727,"name":"address","nodeType":"ElementaryTypeName","src":"8631:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8630:14:6"},"returnParameters":{"id":4732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4731,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4799,"src":"8662:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4730,"name":"bool","nodeType":"ElementaryTypeName","src":"8662:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8661:6:6"},"scope":6247,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":4813,"nodeType":"FunctionDefinition","src":"9454:98:6","nodes":[],"body":{"id":4812,"nodeType":"Block","src":"9508:44:6","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":4808,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4801,"src":"9539:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4807,"name":"_isPayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4799,"src":"9528:10:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_bool_$","typeString":"function (address) returns (bool)"}},"id":4809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9528:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4804,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"9518:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9521:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"9518:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9518:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4811,"nodeType":"ExpressionStatement","src":"9518:27:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumePayable","nameLocation":"9463:13:6","parameters":{"id":4802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4801,"mutability":"mutable","name":"addr","nameLocation":"9485:4:6","nodeType":"VariableDeclaration","scope":4813,"src":"9477:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4800,"name":"address","nodeType":"ElementaryTypeName","src":"9477:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9476:14:6"},"returnParameters":{"id":4803,"nodeType":"ParameterList","parameters":[],"src":"9508:0:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4828,"nodeType":"FunctionDefinition","src":"9558:102:6","nodes":[],"body":{"id":4827,"nodeType":"Block","src":"9615:45:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":4824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9635:17:6","subExpression":{"arguments":[{"id":4822,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4815,"src":"9647:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4821,"name":"_isPayable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4799,"src":"9636:10:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_bool_$","typeString":"function (address) returns (bool)"}},"id":4823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9636:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4818,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"9625:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9628:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"9625:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9625:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4826,"nodeType":"ExpressionStatement","src":"9625:28:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotPayable","nameLocation":"9567:16:6","parameters":{"id":4816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4815,"mutability":"mutable","name":"addr","nameLocation":"9592:4:6","nodeType":"VariableDeclaration","scope":4828,"src":"9584:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4814,"name":"address","nodeType":"ElementaryTypeName","src":"9584:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9583:14:6"},"returnParameters":{"id":4817,"nodeType":"ParameterList","parameters":[],"src":"9615:0:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":4845,"nodeType":"FunctionDefinition","src":"9666:112:6","nodes":[],"body":{"id":4844,"nodeType":"Block","src":"9732:46:6","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4836,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4830,"src":"9752:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":4839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9768:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":4838,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9760:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4837,"name":"address","nodeType":"ElementaryTypeName","src":"9760:7:6","typeDescriptions":{}}},"id":4840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9760:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9752:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4833,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"9742:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9745:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"9742:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9742:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4843,"nodeType":"ExpressionStatement","src":"9742:29:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotZeroAddress","nameLocation":"9675:20:6","parameters":{"id":4831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4830,"mutability":"mutable","name":"addr","nameLocation":"9704:4:6","nodeType":"VariableDeclaration","scope":4845,"src":"9696:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4829,"name":"address","nodeType":"ElementaryTypeName","src":"9696:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9695:14:6"},"returnParameters":{"id":4832,"nodeType":"ParameterList","parameters":[],"src":"9732:0:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":4857,"nodeType":"FunctionDefinition","src":"9784:123:6","nodes":[],"body":{"id":4856,"nodeType":"Block","src":"9849:58:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":4851,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4847,"src":"9879:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":4852,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6246,"src":"9885:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":4853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9885:14:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4850,"name":"assumeNotPrecompile","nodeType":"Identifier","overloadedDeclarations":[4857,5000],"referencedDeclaration":5000,"src":"9859:19:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) pure"}},"id":4854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9859:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4855,"nodeType":"ExpressionStatement","src":"9859:41:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotPrecompile","nameLocation":"9793:19:6","parameters":{"id":4848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4847,"mutability":"mutable","name":"addr","nameLocation":"9821:4:6","nodeType":"VariableDeclaration","scope":4857,"src":"9813:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4846,"name":"address","nodeType":"ElementaryTypeName","src":"9813:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9812:14:6"},"returnParameters":{"id":4849,"nodeType":"ParameterList","parameters":[],"src":"9849:0:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5000,"nodeType":"FunctionDefinition","src":"9913:1807:6","nodes":[],"body":{"id":4999,"nodeType":"Block","src":"9995:1725:6","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4867,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"10311:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307831","id":4870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10326:3:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":4869,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10318:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4868,"name":"address","nodeType":"ElementaryTypeName","src":"10318:7:6","typeDescriptions":{}}},"id":4871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10318:12:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10311:19:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4873,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"10334:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"30786666","id":4876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10349:4:6","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":4875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10341:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4874,"name":"address","nodeType":"ElementaryTypeName","src":"10341:7:6","typeDescriptions":{}}},"id":4877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10341:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10334:20:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10311:43:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4864,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"10301:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10304:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"10301:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10301:54:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4881,"nodeType":"ExpressionStatement","src":"10301:54:6"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4882,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4861,"src":"10405:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3130","id":4883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10416:2:6","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"10405:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4885,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4861,"src":"10422:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"343230","id":4886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10433:3:6","typeDescriptions":{"typeIdentifier":"t_rational_420_by_1","typeString":"int_const 420"},"value":"420"},"src":"10422:14:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10405:31:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4908,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4861,"src":"10754:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3432313631","id":4909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10765:5:6","typeDescriptions":{"typeIdentifier":"t_rational_42161_by_1","typeString":"int_const 42161"},"value":"42161"},"src":"10754:16:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4911,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4861,"src":"10774:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"343231363133","id":4912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10785:6:6","typeDescriptions":{"typeIdentifier":"t_rational_421613_by_1","typeString":"int_const 421613"},"value":"421613"},"src":"10774:17:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10754:37:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4934,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4861,"src":"11068:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3433313134","id":4935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11079:5:6","typeDescriptions":{"typeIdentifier":"t_rational_43114_by_1","typeString":"int_const 43114"},"value":"43114"},"src":"11068:16:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4937,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4861,"src":"11088:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3433313133","id":4938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11099:5:6","typeDescriptions":{"typeIdentifier":"t_rational_43113_by_1","typeString":"int_const 43113"},"value":"43113"},"src":"11088:16:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11068:36:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4996,"nodeType":"IfStatement","src":"11064:617:6","trueBody":{"id":4995,"nodeType":"Block","src":"11106:575:6","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4944,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"11259:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830313030303030303030303030303030303030303030303030303030303030303030303030303030","id":4947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11274:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0100000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4946,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11266:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4945,"name":"address","nodeType":"ElementaryTypeName","src":"11266:7:6","typeDescriptions":{}}},"id":4948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11266:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11259:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4950,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"11321:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830313030303030303030303030303030303030303030303030303030303030303030303030306666","id":4953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11336:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x01000000000000000000000000000000000000ff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4952,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11328:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4951,"name":"address","nodeType":"ElementaryTypeName","src":"11328:7:6","typeDescriptions":{}}},"id":4954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11328:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11321:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11259:120:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4941,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"11249:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11252:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"11249:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11249:131:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4958,"nodeType":"ExpressionStatement","src":"11249:131:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4962,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"11404:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830323030303030303030303030303030303030303030303030303030303030303030303030303030","id":4965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11419:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0200000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4964,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11411:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4963,"name":"address","nodeType":"ElementaryTypeName","src":"11411:7:6","typeDescriptions":{}}},"id":4966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11411:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11404:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4968,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"11466:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830323030303030303030303030303030303030303030303030303030303030303030303030304646","id":4971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11481:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x02000000000000000000000000000000000000FF"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4970,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11473:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4969,"name":"address","nodeType":"ElementaryTypeName","src":"11473:7:6","typeDescriptions":{}}},"id":4972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11473:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11466:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11404:120:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4959,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"11394:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11397:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"11394:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11394:131:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4976,"nodeType":"ExpressionStatement","src":"11394:131:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4980,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"11549:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830333030303030303030303030303030303030303030303030303030303030303030303030303030","id":4983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11564:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0300000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11556:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4981,"name":"address","nodeType":"ElementaryTypeName","src":"11556:7:6","typeDescriptions":{}}},"id":4984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11556:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11549:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4986,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"11611:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830333030303030303030303030303030303030303030303030303030303030303030303030304666","id":4989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11626:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x03000000000000000000000000000000000000Ff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4988,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11618:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4987,"name":"address","nodeType":"ElementaryTypeName","src":"11618:7:6","typeDescriptions":{}}},"id":4990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11618:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11611:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11549:120:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4977,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"11539:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11542:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"11539:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11539:131:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4994,"nodeType":"ExpressionStatement","src":"11539:131:6"}]}},"id":4997,"nodeType":"IfStatement","src":"10750:931:6","trueBody":{"id":4933,"nodeType":"Block","src":"10793:265:6","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4918,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"10926:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303634","id":4921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10941:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0000000000000000000000000000000000000064"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10933:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4919,"name":"address","nodeType":"ElementaryTypeName","src":"10933:7:6","typeDescriptions":{}}},"id":4922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10933:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10926:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4924,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"10988:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303638","id":4927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11003:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x0000000000000000000000000000000000000068"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4926,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10995:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4925,"name":"address","nodeType":"ElementaryTypeName","src":"10995:7:6","typeDescriptions":{}}},"id":4928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10995:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10988:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10926:120:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4915,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"10916:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10919:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"10916:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10916:131:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4932,"nodeType":"ExpressionStatement","src":"10916:131:6"}]}},"id":4998,"nodeType":"IfStatement","src":"10401:1280:6","trueBody":{"id":4907,"nodeType":"Block","src":"10438:306:6","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4892,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"10612:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[{"hexValue":"307834323030303030303030303030303030303030303030303030303030303030303030303030303030","id":4895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10627:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4200000000000000000000000000000000000000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4894,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10619:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4893,"name":"address","nodeType":"ElementaryTypeName","src":"10619:7:6","typeDescriptions":{}}},"id":4896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10619:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10612:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4898,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4859,"src":"10674:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"hexValue":"307834323030303030303030303030303030303030303030303030303030303030303030303030383030","id":4901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10689:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4200000000000000000000000000000000000800"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4900,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10681:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4899,"name":"address","nodeType":"ElementaryTypeName","src":"10681:7:6","typeDescriptions":{}}},"id":4902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10681:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10674:58:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10612:120:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":4889,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"10602:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":4891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10605:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"10602:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":4905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10602:131:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4906,"nodeType":"ExpressionStatement","src":"10602:131:6"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotPrecompile","nameLocation":"9922:19:6","parameters":{"id":4862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4859,"mutability":"mutable","name":"addr","nameLocation":"9950:4:6","nodeType":"VariableDeclaration","scope":5000,"src":"9942:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4858,"name":"address","nodeType":"ElementaryTypeName","src":"9942:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4861,"mutability":"mutable","name":"chainId","nameLocation":"9964:7:6","nodeType":"VariableDeclaration","scope":5000,"src":"9956:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4860,"name":"uint256","nodeType":"ElementaryTypeName","src":"9956:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9941:31:6"},"returnParameters":{"id":4863,"nodeType":"ParameterList","parameters":[],"src":"9995:0:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5025,"nodeType":"FunctionDefinition","src":"11726:314:6","nodes":[],"body":{"id":5024,"nodeType":"Block","src":"11793:247:6","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5008,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5002,"src":"11880:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":5011,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"11896:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}],"id":5010,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11888:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5009,"name":"address","nodeType":"ElementaryTypeName","src":"11888:7:6","typeDescriptions":{}}},"id":5012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11888:11:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11880:19:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5014,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5002,"src":"11903:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":5015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11911:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"src":"11903:50:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11880:73:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5018,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5002,"src":"11973:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":5019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11981:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"src":"11973:50:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11880:143:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":5005,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"11857:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11860:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"11857:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":5022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11857:176:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5023,"nodeType":"ExpressionStatement","src":"11857:176:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeNotForgeAddress","nameLocation":"11735:21:6","parameters":{"id":5003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5002,"mutability":"mutable","name":"addr","nameLocation":"11765:4:6","nodeType":"VariableDeclaration","scope":5025,"src":"11757:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5001,"name":"address","nodeType":"ElementaryTypeName","src":"11757:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11756:14:6"},"returnParameters":{"id":5004,"nodeType":"ParameterList","parameters":[],"src":"11793:0:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5055,"nodeType":"FunctionDefinition","src":"12046:300:6","nodes":[],"body":{"id":5054,"nodeType":"Block","src":"12111:235:6","nodes":[],"statements":[{"assignments":[5031],"declarations":[{"constant":false,"id":5031,"mutability":"mutable","name":"size","nameLocation":"12129:4:6","nodeType":"VariableDeclaration","scope":5054,"src":"12121:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5030,"name":"uint256","nodeType":"ElementaryTypeName","src":"12121:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5032,"nodeType":"VariableDeclarationStatement","src":"12121:12:6"},{"AST":{"nativeSrc":"12152:49:6","nodeType":"YulBlock","src":"12152:49:6","statements":[{"nativeSrc":"12166:25:6","nodeType":"YulAssignment","src":"12166:25:6","value":{"arguments":[{"name":"addr","nativeSrc":"12186:4:6","nodeType":"YulIdentifier","src":"12186:4:6"}],"functionName":{"name":"extcodesize","nativeSrc":"12174:11:6","nodeType":"YulIdentifier","src":"12174:11:6"},"nativeSrc":"12174:17:6","nodeType":"YulFunctionCall","src":"12174:17:6"},"variableNames":[{"name":"size","nativeSrc":"12166:4:6","nodeType":"YulIdentifier","src":"12166:4:6"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":5027,"isOffset":false,"isSlot":false,"src":"12186:4:6","valueSize":1},{"declaration":5031,"isOffset":false,"isSlot":false,"src":"12166:4:6","valueSize":1}],"id":5033,"nodeType":"InlineAssembly","src":"12143:58:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5037,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5031,"src":"12220:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12228:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12220:9:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":5034,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"12210:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12213:6:6","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":16979,"src":"12210:9:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":5040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12210:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5041,"nodeType":"ExpressionStatement","src":"12210:20:6"},{"expression":{"arguments":[{"id":5043,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5027,"src":"12261:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5042,"name":"assumeNotPrecompile","nodeType":"Identifier","overloadedDeclarations":[4857,5000],"referencedDeclaration":4857,"src":"12241:19:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":5044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12241:25:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5045,"nodeType":"ExpressionStatement","src":"12241:25:6"},{"expression":{"arguments":[{"id":5047,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5027,"src":"12297:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5046,"name":"assumeNotZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4845,"src":"12276:20:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":5048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12276:26:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5049,"nodeType":"ExpressionStatement","src":"12276:26:6"},{"expression":{"arguments":[{"id":5051,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5027,"src":"12334:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5050,"name":"assumeNotForgeAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5025,"src":"12312:21:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":5052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12312:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5053,"nodeType":"ExpressionStatement","src":"12312:27:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assumeUnusedAddress","nameLocation":"12055:19:6","parameters":{"id":5028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5027,"mutability":"mutable","name":"addr","nameLocation":"12083:4:6","nodeType":"VariableDeclaration","scope":5055,"src":"12075:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5026,"name":"address","nodeType":"ElementaryTypeName","src":"12075:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12074:14:6"},"returnParameters":{"id":5029,"nodeType":"ParameterList","parameters":[],"src":"12111:0:6"},"scope":6247,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5147,"nodeType":"FunctionDefinition","src":"12352:843:6","nodes":[],"body":{"id":5146,"nodeType":"Block","src":"12504:691:6","nodes":[],"statements":[{"assignments":[5064],"declarations":[{"constant":false,"id":5064,"mutability":"mutable","name":"data","nameLocation":"12528:4:6","nodeType":"VariableDeclaration","scope":5146,"src":"12514:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5063,"name":"string","nodeType":"ElementaryTypeName","src":"12514:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":5069,"initialValue":{"arguments":[{"id":5067,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5057,"src":"12547:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5065,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"12535:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12538:8:6","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":14930,"src":"12535:11:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":5068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12535:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"12514:38:6"},{"assignments":[5071],"declarations":[{"constant":false,"id":5071,"mutability":"mutable","name":"parsedData","nameLocation":"12575:10:6","nodeType":"VariableDeclaration","scope":5146,"src":"12562:23:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5070,"name":"bytes","nodeType":"ElementaryTypeName","src":"12562:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5076,"initialValue":{"arguments":[{"id":5074,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5064,"src":"12601:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5072,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"12588:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12591:9:6","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":15218,"src":"12588:12:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure external returns (bytes memory)"}},"id":5075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12588:18:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"12562:44:6"},{"assignments":[5079],"declarations":[{"constant":false,"id":5079,"mutability":"mutable","name":"rawArtifact","nameLocation":"12648:11:6","nodeType":"VariableDeclaration","scope":5146,"src":"12616:43:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact"},"typeName":{"id":5078,"nodeType":"UserDefinedTypeName","pathNode":{"id":5077,"name":"RawEIP1559ScriptArtifact","nameLocations":["12616:24:6"],"nodeType":"IdentifierPath","referencedDeclaration":4421,"src":"12616:24:6"},"referencedDeclaration":4421,"src":"12616:24:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_storage_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact"}},"visibility":"internal"}],"id":5086,"initialValue":{"arguments":[{"id":5082,"name":"parsedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5071,"src":"12673:10:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5083,"name":"RawEIP1559ScriptArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4421,"src":"12686:24:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawEIP1559ScriptArtifact_$4421_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"}}],"id":5084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"12685:26:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawEIP1559ScriptArtifact_$4421_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_RawEIP1559ScriptArtifact_$4421_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawEIP1559ScriptArtifact storage pointer)"}],"expression":{"id":5080,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12662:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5081,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12666:6:6","memberName":"decode","nodeType":"MemberAccess","src":"12662:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12662:50:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"nodeType":"VariableDeclarationStatement","src":"12616:96:6"},{"assignments":[5089],"declarations":[{"constant":false,"id":5089,"mutability":"mutable","name":"artifact","nameLocation":"12751:8:6","nodeType":"VariableDeclaration","scope":5146,"src":"12722:37:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"},"typeName":{"id":5088,"nodeType":"UserDefinedTypeName","pathNode":{"id":5087,"name":"EIP1559ScriptArtifact","nameLocations":["12722:21:6"],"nodeType":"IdentifierPath","referencedDeclaration":4398,"src":"12722:21:6"},"referencedDeclaration":4398,"src":"12722:21:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_storage_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"}},"visibility":"internal"}],"id":5090,"nodeType":"VariableDeclarationStatement","src":"12722:37:6"},{"expression":{"id":5096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5091,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"12769:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":5093,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12778:9:6","memberName":"libraries","nodeType":"MemberAccess","referencedDeclaration":4378,"src":"12769:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5094,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5079,"src":"12790:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":5095,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12802:9:6","memberName":"libraries","nodeType":"MemberAccess","referencedDeclaration":4401,"src":"12790:21:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"12769:42:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":5097,"nodeType":"ExpressionStatement","src":"12769:42:6"},{"expression":{"id":5103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5098,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"12821:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":5100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12830:4:6","memberName":"path","nodeType":"MemberAccess","referencedDeclaration":4380,"src":"12821:13:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5101,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5079,"src":"12837:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":5102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12849:4:6","memberName":"path","nodeType":"MemberAccess","referencedDeclaration":4403,"src":"12837:16:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"12821:32:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":5104,"nodeType":"ExpressionStatement","src":"12821:32:6"},{"expression":{"id":5110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5105,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"12863:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":5107,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12872:9:6","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":4389,"src":"12863:18:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5108,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5079,"src":"12884:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":5109,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12896:9:6","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":4416,"src":"12884:21:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12863:42:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5111,"nodeType":"ExpressionStatement","src":"12863:42:6"},{"expression":{"id":5117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5112,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"12915:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":5114,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12924:7:6","memberName":"pending","nodeType":"MemberAccess","referencedDeclaration":4383,"src":"12915:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5115,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5079,"src":"12934:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":5116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12946:7:6","memberName":"pending","nodeType":"MemberAccess","referencedDeclaration":4406,"src":"12934:19:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"12915:38:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":5118,"nodeType":"ExpressionStatement","src":"12915:38:6"},{"expression":{"id":5124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5119,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"12963:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":5121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12972:9:6","memberName":"txReturns","nodeType":"MemberAccess","referencedDeclaration":4397,"src":"12963:18:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4468_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.TxReturn memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5122,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5079,"src":"12984:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":5123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12996:9:6","memberName":"txReturns","nodeType":"MemberAccess","referencedDeclaration":4414,"src":"12984:21:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4468_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.TxReturn memory[] memory"}},"src":"12963:42:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TxReturn_$4468_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.TxReturn memory[] memory"}},"id":5125,"nodeType":"ExpressionStatement","src":"12963:42:6"},{"expression":{"id":5133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5126,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"13015:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":5128,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13024:8:6","memberName":"receipts","nodeType":"MemberAccess","referencedDeclaration":4387,"src":"13015:17:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5130,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5079,"src":"13058:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":5131,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13070:8:6","memberName":"receipts","nodeType":"MemberAccess","referencedDeclaration":4410,"src":"13058:20:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}],"id":5129,"name":"rawToConvertedReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5579,"src":"13035:22:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory[] memory) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"}},"id":5132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13035:44:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"src":"13015:64:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"id":5134,"nodeType":"ExpressionStatement","src":"13015:64:6"},{"expression":{"id":5142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5135,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"13089:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"id":5137,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13098:12:6","memberName":"transactions","nodeType":"MemberAccess","referencedDeclaration":4393,"src":"13089:21:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5139,"name":"rawArtifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5079,"src":"13138:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawEIP1559ScriptArtifact_$4421_memory_ptr","typeString":"struct StdCheatsSafe.RawEIP1559ScriptArtifact memory"}},"id":5140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13150:12:6","memberName":"transactions","nodeType":"MemberAccess","referencedDeclaration":4420,"src":"13138:24:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}],"id":5138,"name":"rawToConvertedEIPTx1559s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5196,"src":"13113:24:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory[] memory) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"}},"id":5141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13113:50:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"src":"13089:74:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"id":5143,"nodeType":"ExpressionStatement","src":"13089:74:6"},{"expression":{"id":5144,"name":"artifact","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5089,"src":"13180:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact memory"}},"functionReturnParameters":5062,"id":5145,"nodeType":"Return","src":"13173:15:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readEIP1559ScriptArtifact","nameLocation":"12361:25:6","parameters":{"id":5058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5057,"mutability":"mutable","name":"path","nameLocation":"12401:4:6","nodeType":"VariableDeclaration","scope":5147,"src":"12387:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5056,"name":"string","nodeType":"ElementaryTypeName","src":"12387:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12386:20:6"},"returnParameters":{"id":5062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5061,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5147,"src":"12470:28:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_memory_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"},"typeName":{"id":5060,"nodeType":"UserDefinedTypeName","pathNode":{"id":5059,"name":"EIP1559ScriptArtifact","nameLocations":["12470:21:6"],"nodeType":"IdentifierPath","referencedDeclaration":4398,"src":"12470:21:6"},"referencedDeclaration":4398,"src":"12470:21:6","typeDescriptions":{"typeIdentifier":"t_struct$_EIP1559ScriptArtifact_$4398_storage_ptr","typeString":"struct StdCheatsSafe.EIP1559ScriptArtifact"}},"visibility":"internal"}],"src":"12469:30:6"},"scope":6247,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5196,"nodeType":"FunctionDefinition","src":"13201:312:6","nodes":[],"body":{"id":5195,"nodeType":"Block","src":"13310:203:6","nodes":[],"statements":[{"assignments":[5162],"declarations":[{"constant":false,"id":5162,"mutability":"mutable","name":"txs","nameLocation":"13336:3:6","nodeType":"VariableDeclaration","scope":5195,"src":"13320:19:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":5160,"nodeType":"UserDefinedTypeName","pathNode":{"id":5159,"name":"Tx1559","nameLocations":["13320:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":4242,"src":"13320:6:6"},"referencedDeclaration":4242,"src":"13320:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":5161,"nodeType":"ArrayTypeName","src":"13320:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"}],"id":5170,"initialValue":{"arguments":[{"expression":{"id":5167,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5151,"src":"13355:6:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"id":5168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13362:6:6","memberName":"length","nodeType":"MemberAccess","src":"13355:13:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"13342:12:6","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"},"typeName":{"baseType":{"id":5164,"nodeType":"UserDefinedTypeName","pathNode":{"id":5163,"name":"Tx1559","nameLocations":["13346:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":4242,"src":"13346:6:6"},"referencedDeclaration":4242,"src":"13346:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":5165,"nodeType":"ArrayTypeName","src":"13346:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}}},"id":5169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13342:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"13320:49:6"},{"body":{"id":5191,"nodeType":"Block","src":"13419:68:6","statements":[{"expression":{"id":5189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5181,"name":"txs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5162,"src":"13433:3:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"id":5183,"indexExpression":{"id":5182,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5172,"src":"13437:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13433:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":5185,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5151,"src":"13466:6:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"id":5187,"indexExpression":{"id":5186,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5172,"src":"13473:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13466:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}],"id":5184,"name":"rawToConvertedEIPTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5256,"src":"13442:23:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawTx1559_$4206_memory_ptr_$returns$_t_struct$_Tx1559_$4242_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory) pure returns (struct StdCheatsSafe.Tx1559 memory)"}},"id":5188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13442:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"src":"13433:43:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":5190,"nodeType":"ExpressionStatement","src":"13433:43:6"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5174,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5172,"src":"13395:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":5175,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5151,"src":"13399:6:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"id":5176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13406:6:6","memberName":"length","nodeType":"MemberAccess","src":"13399:13:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13395:17:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5192,"initializationExpression":{"assignments":[5172],"declarations":[{"constant":false,"id":5172,"mutability":"mutable","name":"i","nameLocation":"13392:1:6","nodeType":"VariableDeclaration","scope":5192,"src":"13384:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5171,"name":"uint256","nodeType":"ElementaryTypeName","src":"13384:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5173,"nodeType":"VariableDeclarationStatement","src":"13384:9:6"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":5179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13414:3:6","subExpression":{"id":5178,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5172,"src":"13414:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5180,"nodeType":"ExpressionStatement","src":"13414:3:6"},"nodeType":"ForStatement","src":"13379:108:6"},{"expression":{"id":5193,"name":"txs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5162,"src":"13503:3:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"functionReturnParameters":5157,"id":5194,"nodeType":"Return","src":"13496:10:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedEIPTx1559s","nameLocation":"13210:24:6","parameters":{"id":5152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5151,"mutability":"mutable","name":"rawTxs","nameLocation":"13254:6:6","nodeType":"VariableDeclaration","scope":5196,"src":"13235:25:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"},"typeName":{"baseType":{"id":5149,"nodeType":"UserDefinedTypeName","pathNode":{"id":5148,"name":"RawTx1559","nameLocations":["13235:9:6"],"nodeType":"IdentifierPath","referencedDeclaration":4206,"src":"13235:9:6"},"referencedDeclaration":4206,"src":"13235:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"id":5150,"nodeType":"ArrayTypeName","src":"13235:11:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"}},"visibility":"internal"}],"src":"13234:27:6"},"returnParameters":{"id":5157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5156,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5196,"src":"13293:15:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":5154,"nodeType":"UserDefinedTypeName","pathNode":{"id":5153,"name":"Tx1559","nameLocations":["13293:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":4242,"src":"13293:6:6"},"referencedDeclaration":4242,"src":"13293:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":5155,"nodeType":"ArrayTypeName","src":"13293:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"}],"src":"13292:17:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5256,"nodeType":"FunctionDefinition","src":"13519:488:6","nodes":[],"body":{"id":5255,"nodeType":"Block","src":"13622:385:6","nodes":[],"statements":[{"assignments":[5207],"declarations":[{"constant":false,"id":5207,"mutability":"mutable","name":"transaction","nameLocation":"13646:11:6","nodeType":"VariableDeclaration","scope":5255,"src":"13632:25:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559"},"typeName":{"id":5206,"nodeType":"UserDefinedTypeName","pathNode":{"id":5205,"name":"Tx1559","nameLocations":["13632:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":4242,"src":"13632:6:6"},"referencedDeclaration":4242,"src":"13632:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"visibility":"internal"}],"id":5208,"nodeType":"VariableDeclarationStatement","src":"13632:25:6"},{"expression":{"id":5214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5209,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5207,"src":"13667:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":5211,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13679:9:6","memberName":"arguments","nodeType":"MemberAccess","referencedDeclaration":4228,"src":"13667:21:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5212,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5199,"src":"13691:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":5213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13697:9:6","memberName":"arguments","nodeType":"MemberAccess","referencedDeclaration":4192,"src":"13691:15:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"src":"13667:39:6","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":5215,"nodeType":"ExpressionStatement","src":"13667:39:6"},{"expression":{"id":5221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5216,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5207,"src":"13716:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":5218,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13728:12:6","memberName":"contractName","nodeType":"MemberAccess","referencedDeclaration":4232,"src":"13716:24:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5219,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5199,"src":"13743:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":5220,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13749:12:6","memberName":"contractName","nodeType":"MemberAccess","referencedDeclaration":4196,"src":"13743:18:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"13716:45:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":5222,"nodeType":"ExpressionStatement","src":"13716:45:6"},{"expression":{"id":5228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5223,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5207,"src":"13771:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":5225,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13783:11:6","memberName":"functionSig","nodeType":"MemberAccess","referencedDeclaration":4234,"src":"13771:23:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5226,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5199,"src":"13797:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":5227,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13803:11:6","memberName":"functionSig","nodeType":"MemberAccess","referencedDeclaration":4198,"src":"13797:17:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"13771:43:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":5229,"nodeType":"ExpressionStatement","src":"13771:43:6"},{"expression":{"id":5235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5230,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5207,"src":"13824:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":5232,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13836:4:6","memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":4236,"src":"13824:16:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5233,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5199,"src":"13843:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":5234,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13849:4:6","memberName":"hash","nodeType":"MemberAccess","referencedDeclaration":4200,"src":"13843:10:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"13824:29:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5236,"nodeType":"ExpressionStatement","src":"13824:29:6"},{"expression":{"id":5244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5237,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5207,"src":"13863:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":5239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13875:8:6","memberName":"txDetail","nodeType":"MemberAccess","referencedDeclaration":4239,"src":"13863:20:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5241,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5199,"src":"13914:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":5242,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13920:8:6","memberName":"txDetail","nodeType":"MemberAccess","referencedDeclaration":4203,"src":"13914:14:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}],"id":5240,"name":"rawToConvertedEIP1559Detail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5336,"src":"13886:27:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawTx1559Detail_$4225_memory_ptr_$returns$_t_struct$_Tx1559Detail_$4261_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559Detail memory) pure returns (struct StdCheatsSafe.Tx1559Detail memory)"}},"id":5243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13886:43:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"src":"13863:66:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":5245,"nodeType":"ExpressionStatement","src":"13863:66:6"},{"expression":{"id":5251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5246,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5207,"src":"13939:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"id":5248,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13951:6:6","memberName":"opcode","nodeType":"MemberAccess","referencedDeclaration":4241,"src":"13939:18:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5249,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5199,"src":"13960:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"id":5250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13966:6:6","memberName":"opcode","nodeType":"MemberAccess","referencedDeclaration":4205,"src":"13960:12:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"13939:33:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":5252,"nodeType":"ExpressionStatement","src":"13939:33:6"},{"expression":{"id":5253,"name":"transaction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5207,"src":"13989:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"functionReturnParameters":5204,"id":5254,"nodeType":"Return","src":"13982:18:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedEIPTx1559","nameLocation":"13528:23:6","parameters":{"id":5200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5199,"mutability":"mutable","name":"rawTx","nameLocation":"13569:5:6","nodeType":"VariableDeclaration","scope":5256,"src":"13552:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559"},"typeName":{"id":5198,"nodeType":"UserDefinedTypeName","pathNode":{"id":5197,"name":"RawTx1559","nameLocations":["13552:9:6"],"nodeType":"IdentifierPath","referencedDeclaration":4206,"src":"13552:9:6"},"referencedDeclaration":4206,"src":"13552:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"visibility":"internal"}],"src":"13551:24:6"},"returnParameters":{"id":5204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5203,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5256,"src":"13607:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559"},"typeName":{"id":5202,"nodeType":"UserDefinedTypeName","pathNode":{"id":5201,"name":"Tx1559","nameLocations":["13607:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":4242,"src":"13607:6:6"},"referencedDeclaration":4242,"src":"13607:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"visibility":"internal"}],"src":"13606:15:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5336,"nodeType":"FunctionDefinition","src":"14013:619:6","nodes":[],"body":{"id":5335,"nodeType":"Block","src":"14172:460:6","nodes":[],"statements":[{"assignments":[5267],"declarations":[{"constant":false,"id":5267,"mutability":"mutable","name":"txDetail","nameLocation":"14202:8:6","nodeType":"VariableDeclaration","scope":5335,"src":"14182:28:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"},"typeName":{"id":5266,"nodeType":"UserDefinedTypeName","pathNode":{"id":5265,"name":"Tx1559Detail","nameLocations":["14182:12:6"],"nodeType":"IdentifierPath","referencedDeclaration":4261,"src":"14182:12:6"},"referencedDeclaration":4261,"src":"14182:12:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"}},"visibility":"internal"}],"id":5268,"nodeType":"VariableDeclarationStatement","src":"14182:28:6"},{"expression":{"id":5274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5269,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5267,"src":"14220:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":5271,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14229:4:6","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":4248,"src":"14220:13:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5272,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5259,"src":"14236:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":5273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14246:4:6","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":4212,"src":"14236:14:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"14220:30:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5275,"nodeType":"ExpressionStatement","src":"14220:30:6"},{"expression":{"id":5281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5276,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5267,"src":"14260:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":5278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14269:4:6","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4250,"src":"14260:13:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5279,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5259,"src":"14276:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":5280,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14286:4:6","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4214,"src":"14276:14:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14260:30:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5282,"nodeType":"ExpressionStatement","src":"14260:30:6"},{"expression":{"id":5288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5283,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5267,"src":"14300:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":5285,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14309:2:6","memberName":"to","nodeType":"MemberAccess","referencedDeclaration":4256,"src":"14300:11:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5286,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5259,"src":"14314:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":5287,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14324:2:6","memberName":"to","nodeType":"MemberAccess","referencedDeclaration":4220,"src":"14314:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14300:26:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5289,"nodeType":"ExpressionStatement","src":"14300:26:6"},{"expression":{"id":5297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5290,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5267,"src":"14336:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":5292,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14345:5:6","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":4254,"src":"14336:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5294,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5259,"src":"14366:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":5295,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14376:5:6","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":4218,"src":"14366:15:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5293,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"14353:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14353:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14336:46:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5298,"nodeType":"ExpressionStatement","src":"14336:46:6"},{"expression":{"id":5306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5299,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5267,"src":"14392:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":5301,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14401:6:6","memberName":"txType","nodeType":"MemberAccess","referencedDeclaration":4258,"src":"14392:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5303,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5259,"src":"14423:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":5304,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14433:6:6","memberName":"txType","nodeType":"MemberAccess","referencedDeclaration":4222,"src":"14423:16:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5302,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"14410:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14410:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14392:48:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5307,"nodeType":"ExpressionStatement","src":"14392:48:6"},{"expression":{"id":5315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5308,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5267,"src":"14450:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":5310,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14459:5:6","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":4260,"src":"14450:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5312,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5259,"src":"14480:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":5313,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14490:5:6","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":4224,"src":"14480:15:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5311,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"14467:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14467:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14450:46:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5316,"nodeType":"ExpressionStatement","src":"14450:46:6"},{"expression":{"id":5324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5317,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5267,"src":"14506:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":5319,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14515:3:6","memberName":"gas","nodeType":"MemberAccess","referencedDeclaration":4252,"src":"14506:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5321,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5259,"src":"14534:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":5322,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14544:3:6","memberName":"gas","nodeType":"MemberAccess","referencedDeclaration":4216,"src":"14534:13:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5320,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"14521:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14521:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14506:42:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5325,"nodeType":"ExpressionStatement","src":"14506:42:6"},{"expression":{"id":5331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5326,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5267,"src":"14558:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"id":5328,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14567:10:6","memberName":"accessList","nodeType":"MemberAccess","referencedDeclaration":4246,"src":"14558:19:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4317_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.AccessList memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5329,"name":"rawDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5259,"src":"14580:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail memory"}},"id":5330,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14590:10:6","memberName":"accessList","nodeType":"MemberAccess","referencedDeclaration":4210,"src":"14580:20:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4317_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.AccessList memory[] memory"}},"src":"14558:42:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccessList_$4317_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.AccessList memory[] memory"}},"id":5332,"nodeType":"ExpressionStatement","src":"14558:42:6"},{"expression":{"id":5333,"name":"txDetail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5267,"src":"14617:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail memory"}},"functionReturnParameters":5264,"id":5334,"nodeType":"Return","src":"14610:15:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedEIP1559Detail","nameLocation":"14022:27:6","parameters":{"id":5260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5259,"mutability":"mutable","name":"rawDetail","nameLocation":"14073:9:6","nodeType":"VariableDeclaration","scope":5336,"src":"14050:32:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"},"typeName":{"id":5258,"nodeType":"UserDefinedTypeName","pathNode":{"id":5257,"name":"RawTx1559Detail","nameLocations":["14050:15:6"],"nodeType":"IdentifierPath","referencedDeclaration":4225,"src":"14050:15:6"},"referencedDeclaration":4225,"src":"14050:15:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559Detail_$4225_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559Detail"}},"visibility":"internal"}],"src":"14049:34:6"},"returnParameters":{"id":5264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5336,"src":"14147:19:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"},"typeName":{"id":5262,"nodeType":"UserDefinedTypeName","pathNode":{"id":5261,"name":"Tx1559Detail","nameLocations":["14147:12:6"],"nodeType":"IdentifierPath","referencedDeclaration":4261,"src":"14147:12:6"},"referencedDeclaration":4261,"src":"14147:12:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559Detail_$4261_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559Detail"}},"visibility":"internal"}],"src":"14146:21:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5378,"nodeType":"FunctionDefinition","src":"14638:363:6","nodes":[],"body":{"id":5377,"nodeType":"Block","src":"14727:274:6","nodes":[],"statements":[{"assignments":[5346],"declarations":[{"constant":false,"id":5346,"mutability":"mutable","name":"deployData","nameLocation":"14751:10:6","nodeType":"VariableDeclaration","scope":5377,"src":"14737:24:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5345,"name":"string","nodeType":"ElementaryTypeName","src":"14737:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":5351,"initialValue":{"arguments":[{"id":5349,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5338,"src":"14776:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5347,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"14764:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14767:8:6","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":14930,"src":"14764:11:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":5350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14764:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"14737:44:6"},{"assignments":[5353],"declarations":[{"constant":false,"id":5353,"mutability":"mutable","name":"parsedDeployData","nameLocation":"14804:16:6","nodeType":"VariableDeclaration","scope":5377,"src":"14791:29:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5352,"name":"bytes","nodeType":"ElementaryTypeName","src":"14791:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5359,"initialValue":{"arguments":[{"id":5356,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5346,"src":"14836:10:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e7472616e73616374696f6e73","id":5357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14848:15:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b594723e6093f4c1c210e08bcd523373e89874e267b69a9d9a7cb17952e3049","typeString":"literal_string \".transactions\""},"value":".transactions"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_9b594723e6093f4c1c210e08bcd523373e89874e267b69a9d9a7cb17952e3049","typeString":"literal_string \".transactions\""}],"expression":{"id":5354,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"14823:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14826:9:6","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":15228,"src":"14823:12:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":5358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14823:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"14791:73:6"},{"assignments":[5364],"declarations":[{"constant":false,"id":5364,"mutability":"mutable","name":"rawTxs","nameLocation":"14893:6:6","nodeType":"VariableDeclaration","scope":5377,"src":"14874:25:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"},"typeName":{"baseType":{"id":5362,"nodeType":"UserDefinedTypeName","pathNode":{"id":5361,"name":"RawTx1559","nameLocations":["14874:9:6"],"nodeType":"IdentifierPath","referencedDeclaration":4206,"src":"14874:9:6"},"referencedDeclaration":4206,"src":"14874:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"id":5363,"nodeType":"ArrayTypeName","src":"14874:11:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559[]"}},"visibility":"internal"}],"id":5372,"initialValue":{"arguments":[{"id":5367,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5353,"src":"14913:16:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":5368,"name":"RawTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4206,"src":"14932:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$4206_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}},"id":5369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"14932:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 memory[] memory)"}}],"id":5370,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"14931:13:6","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 memory[] memory)"}],"expression":{"id":5365,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14902:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5366,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14906:6:6","memberName":"decode","nodeType":"MemberAccess","src":"14902:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14902:43:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"14874:71:6"},{"expression":{"arguments":[{"id":5374,"name":"rawTxs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5364,"src":"14987:6:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory[] memory"}],"id":5373,"name":"rawToConvertedEIPTx1559s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5196,"src":"14962:24:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawTx1559_$4206_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory[] memory) pure returns (struct StdCheatsSafe.Tx1559 memory[] memory)"}},"id":5375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14962:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory[] memory"}},"functionReturnParameters":5344,"id":5376,"nodeType":"Return","src":"14955:39:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readTx1559s","nameLocation":"14647:11:6","parameters":{"id":5339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5338,"mutability":"mutable","name":"path","nameLocation":"14673:4:6","nodeType":"VariableDeclaration","scope":5378,"src":"14659:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5337,"name":"string","nodeType":"ElementaryTypeName","src":"14659:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14658:20:6"},"returnParameters":{"id":5344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5378,"src":"14710:15:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"},"typeName":{"baseType":{"id":5341,"nodeType":"UserDefinedTypeName","pathNode":{"id":5340,"name":"Tx1559","nameLocations":["14710:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":4242,"src":"14710:6:6"},"referencedDeclaration":4242,"src":"14710:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"id":5342,"nodeType":"ArrayTypeName","src":"14710:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Tx1559_$4242_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559[]"}},"visibility":"internal"}],"src":"14709:17:6"},"scope":6247,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5433,"nodeType":"FunctionDefinition","src":"15007:453:6","nodes":[],"body":{"id":5432,"nodeType":"Block","src":"15108:352:6","nodes":[],"statements":[{"assignments":[5389],"declarations":[{"constant":false,"id":5389,"mutability":"mutable","name":"deployData","nameLocation":"15132:10:6","nodeType":"VariableDeclaration","scope":5432,"src":"15118:24:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5388,"name":"string","nodeType":"ElementaryTypeName","src":"15118:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":5394,"initialValue":{"arguments":[{"id":5392,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5380,"src":"15157:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5390,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"15145:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15148:8:6","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":14930,"src":"15145:11:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":5393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15145:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"15118:44:6"},{"assignments":[5396],"declarations":[{"constant":false,"id":5396,"mutability":"mutable","name":"key","nameLocation":"15186:3:6","nodeType":"VariableDeclaration","scope":5432,"src":"15172:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5395,"name":"string","nodeType":"ElementaryTypeName","src":"15172:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":5409,"initialValue":{"arguments":[{"arguments":[{"hexValue":"2e7472616e73616374696f6e735b","id":5401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15216:16:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_7abc4cdd6094bba2d56cb8a26083c756a68ba4e3b40f345f8102e1fc2249cd5c","typeString":"literal_string \".transactions[\""},"value":".transactions["},{"arguments":[{"id":5404,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5382,"src":"15246:5:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5402,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"15234:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15237:8:6","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"15234:11:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":5405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15234:18:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"5d","id":5406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15254:3:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""},"value":"]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7abc4cdd6094bba2d56cb8a26083c756a68ba4e3b40f345f8102e1fc2249cd5c","typeString":"literal_string \".transactions[\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""}],"expression":{"id":5399,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15199:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15203:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"15199:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15199:59:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5398,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15192:6:6","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":5397,"name":"string","nodeType":"ElementaryTypeName","src":"15192:6:6","typeDescriptions":{}}},"id":5408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15192:67:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"15172:87:6"},{"assignments":[5411],"declarations":[{"constant":false,"id":5411,"mutability":"mutable","name":"parsedDeployData","nameLocation":"15282:16:6","nodeType":"VariableDeclaration","scope":5432,"src":"15269:29:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5410,"name":"bytes","nodeType":"ElementaryTypeName","src":"15269:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5417,"initialValue":{"arguments":[{"id":5414,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5389,"src":"15314:10:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":5415,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5396,"src":"15326:3:6","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":5412,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"15301:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15304:9:6","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":15228,"src":"15301:12:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":5416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15301:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15269:61:6"},{"assignments":[5420],"declarations":[{"constant":false,"id":5420,"mutability":"mutable","name":"rawTx","nameLocation":"15357:5:6","nodeType":"VariableDeclaration","scope":5432,"src":"15340:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559"},"typeName":{"id":5419,"nodeType":"UserDefinedTypeName","pathNode":{"id":5418,"name":"RawTx1559","nameLocations":["15340:9:6"],"nodeType":"IdentifierPath","referencedDeclaration":4206,"src":"15340:9:6"},"referencedDeclaration":4206,"src":"15340:9:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_storage_ptr","typeString":"struct StdCheatsSafe.RawTx1559"}},"visibility":"internal"}],"id":5427,"initialValue":{"arguments":[{"id":5423,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5411,"src":"15376:16:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5424,"name":"RawTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4206,"src":"15395:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$4206_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}}],"id":5425,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"15394:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$4206_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_RawTx1559_$4206_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawTx1559 storage pointer)"}],"expression":{"id":5421,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15365:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15369:6:6","memberName":"decode","nodeType":"MemberAccess","src":"15365:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15365:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}},"nodeType":"VariableDeclarationStatement","src":"15340:66:6"},{"expression":{"arguments":[{"id":5429,"name":"rawTx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5420,"src":"15447:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawTx1559_$4206_memory_ptr","typeString":"struct StdCheatsSafe.RawTx1559 memory"}],"id":5428,"name":"rawToConvertedEIPTx1559","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5256,"src":"15423:23:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawTx1559_$4206_memory_ptr_$returns$_t_struct$_Tx1559_$4242_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawTx1559 memory) pure returns (struct StdCheatsSafe.Tx1559 memory)"}},"id":5430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15423:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559 memory"}},"functionReturnParameters":5387,"id":5431,"nodeType":"Return","src":"15416:37:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readTx1559","nameLocation":"15016:10:6","parameters":{"id":5383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5380,"mutability":"mutable","name":"path","nameLocation":"15041:4:6","nodeType":"VariableDeclaration","scope":5433,"src":"15027:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5379,"name":"string","nodeType":"ElementaryTypeName","src":"15027:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5382,"mutability":"mutable","name":"index","nameLocation":"15055:5:6","nodeType":"VariableDeclaration","scope":5433,"src":"15047:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5381,"name":"uint256","nodeType":"ElementaryTypeName","src":"15047:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15026:35:6"},"returnParameters":{"id":5387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5386,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5433,"src":"15093:13:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_memory_ptr","typeString":"struct StdCheatsSafe.Tx1559"},"typeName":{"id":5385,"nodeType":"UserDefinedTypeName","pathNode":{"id":5384,"name":"Tx1559","nameLocations":["15093:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":4242,"src":"15093:6:6"},"referencedDeclaration":4242,"src":"15093:6:6","typeDescriptions":{"typeIdentifier":"t_struct$_Tx1559_$4242_storage_ptr","typeString":"struct StdCheatsSafe.Tx1559"}},"visibility":"internal"}],"src":"15092:15:6"},"scope":6247,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5475,"nodeType":"FunctionDefinition","src":"15522:371:6","nodes":[],"body":{"id":5474,"nodeType":"Block","src":"15613:280:6","nodes":[],"statements":[{"assignments":[5443],"declarations":[{"constant":false,"id":5443,"mutability":"mutable","name":"deployData","nameLocation":"15637:10:6","nodeType":"VariableDeclaration","scope":5474,"src":"15623:24:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5442,"name":"string","nodeType":"ElementaryTypeName","src":"15623:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":5448,"initialValue":{"arguments":[{"id":5446,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5435,"src":"15662:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5444,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"15650:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15653:8:6","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":14930,"src":"15650:11:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":5447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15650:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"15623:44:6"},{"assignments":[5450],"declarations":[{"constant":false,"id":5450,"mutability":"mutable","name":"parsedDeployData","nameLocation":"15690:16:6","nodeType":"VariableDeclaration","scope":5474,"src":"15677:29:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5449,"name":"bytes","nodeType":"ElementaryTypeName","src":"15677:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5456,"initialValue":{"arguments":[{"id":5453,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5443,"src":"15722:10:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e7265636569707473","id":5454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15734:11:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_29a5d3664a45019923b250b65c7d5b7f8c019d3960761fa9ca59b9001f893261","typeString":"literal_string \".receipts\""},"value":".receipts"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_29a5d3664a45019923b250b65c7d5b7f8c019d3960761fa9ca59b9001f893261","typeString":"literal_string \".receipts\""}],"expression":{"id":5451,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"15709:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15712:9:6","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":15228,"src":"15709:12:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":5455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15709:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15677:69:6"},{"assignments":[5461],"declarations":[{"constant":false,"id":5461,"mutability":"mutable","name":"rawReceipts","nameLocation":"15776:11:6","nodeType":"VariableDeclaration","scope":5474,"src":"15756:31:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"},"typeName":{"baseType":{"id":5459,"nodeType":"UserDefinedTypeName","pathNode":{"id":5458,"name":"RawReceipt","nameLocations":["15756:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4346,"src":"15756:10:6"},"referencedDeclaration":4346,"src":"15756:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"id":5460,"nodeType":"ArrayTypeName","src":"15756:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"}},"visibility":"internal"}],"id":5469,"initialValue":{"arguments":[{"id":5464,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5450,"src":"15801:16:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":5465,"name":"RawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4346,"src":"15820:10:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$4346_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}},"id":5466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"15820:12:6","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt memory[] memory)"}}],"id":5467,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"15819:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt memory[] memory)"}],"expression":{"id":5462,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15790:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15794:6:6","memberName":"decode","nodeType":"MemberAccess","src":"15790:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15790:44:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"15756:78:6"},{"expression":{"arguments":[{"id":5471,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5461,"src":"15874:11:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}],"id":5470,"name":"rawToConvertedReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5579,"src":"15851:22:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory[] memory) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"}},"id":5472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15851:35:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"functionReturnParameters":5441,"id":5473,"nodeType":"Return","src":"15844:42:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readReceipts","nameLocation":"15531:12:6","parameters":{"id":5436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5435,"mutability":"mutable","name":"path","nameLocation":"15558:4:6","nodeType":"VariableDeclaration","scope":5475,"src":"15544:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5434,"name":"string","nodeType":"ElementaryTypeName","src":"15544:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15543:20:6"},"returnParameters":{"id":5441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5440,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5475,"src":"15595:16:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":5438,"nodeType":"UserDefinedTypeName","pathNode":{"id":5437,"name":"Receipt","nameLocations":["15595:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":4375,"src":"15595:7:6"},"referencedDeclaration":4375,"src":"15595:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":5439,"nodeType":"ArrayTypeName","src":"15595:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"}],"src":"15594:18:6"},"scope":6247,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5530,"nodeType":"FunctionDefinition","src":"15899:461:6","nodes":[],"body":{"id":5529,"nodeType":"Block","src":"16002:358:6","nodes":[],"statements":[{"assignments":[5486],"declarations":[{"constant":false,"id":5486,"mutability":"mutable","name":"deployData","nameLocation":"16026:10:6","nodeType":"VariableDeclaration","scope":5529,"src":"16012:24:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5485,"name":"string","nodeType":"ElementaryTypeName","src":"16012:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":5491,"initialValue":{"arguments":[{"id":5489,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5477,"src":"16051:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5487,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"16039:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16042:8:6","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":14930,"src":"16039:11:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":5490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16039:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"16012:44:6"},{"assignments":[5493],"declarations":[{"constant":false,"id":5493,"mutability":"mutable","name":"key","nameLocation":"16080:3:6","nodeType":"VariableDeclaration","scope":5529,"src":"16066:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5492,"name":"string","nodeType":"ElementaryTypeName","src":"16066:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":5506,"initialValue":{"arguments":[{"arguments":[{"hexValue":"2e72656365697074735b","id":5498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16110:12:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_1f28b72ce547907c2ae0f1bd0fd1ff00aeea8e573cc3e4076246f258e653d170","typeString":"literal_string \".receipts[\""},"value":".receipts["},{"arguments":[{"id":5501,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5479,"src":"16136:5:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5499,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"16124:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16127:8:6","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"16124:11:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":5502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16124:18:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"5d","id":5503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16144:3:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""},"value":"]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1f28b72ce547907c2ae0f1bd0fd1ff00aeea8e573cc3e4076246f258e653d170","typeString":"literal_string \".receipts[\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_b36bcf9cc1d9e7f60b1f757ebd8b4694b17fc592b16065d243c43b09fde00b29","typeString":"literal_string \"]\""}],"expression":{"id":5496,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16093:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16097:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"16093:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16093:55:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16086:6:6","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":5494,"name":"string","nodeType":"ElementaryTypeName","src":"16086:6:6","typeDescriptions":{}}},"id":5505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16086:63:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"16066:83:6"},{"assignments":[5508],"declarations":[{"constant":false,"id":5508,"mutability":"mutable","name":"parsedDeployData","nameLocation":"16172:16:6","nodeType":"VariableDeclaration","scope":5529,"src":"16159:29:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5507,"name":"bytes","nodeType":"ElementaryTypeName","src":"16159:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5514,"initialValue":{"arguments":[{"id":5511,"name":"deployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5486,"src":"16204:10:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":5512,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5493,"src":"16216:3:6","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":5509,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"16191:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16194:9:6","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":15228,"src":"16191:12:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":5513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16191:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"16159:61:6"},{"assignments":[5517],"declarations":[{"constant":false,"id":5517,"mutability":"mutable","name":"rawReceipt","nameLocation":"16248:10:6","nodeType":"VariableDeclaration","scope":5529,"src":"16230:28:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt"},"typeName":{"id":5516,"nodeType":"UserDefinedTypeName","pathNode":{"id":5515,"name":"RawReceipt","nameLocations":["16230:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4346,"src":"16230:10:6"},"referencedDeclaration":4346,"src":"16230:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"visibility":"internal"}],"id":5524,"initialValue":{"arguments":[{"id":5520,"name":"parsedDeployData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5508,"src":"16272:16:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":5521,"name":"RawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4346,"src":"16291:10:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$4346_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}}],"id":5522,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"16290:12:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$4346_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_RawReceipt_$4346_storage_ptr_$","typeString":"type(struct StdCheatsSafe.RawReceipt storage pointer)"}],"expression":{"id":5518,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16261:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16265:6:6","memberName":"decode","nodeType":"MemberAccess","src":"16261:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16261:42:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"nodeType":"VariableDeclarationStatement","src":"16230:73:6"},{"expression":{"arguments":[{"id":5526,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5517,"src":"16342:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}],"id":5525,"name":"rawToConvertedReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5700,"src":"16320:21:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawReceipt_$4346_memory_ptr_$returns$_t_struct$_Receipt_$4375_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory) pure returns (struct StdCheatsSafe.Receipt memory)"}},"id":5527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16320:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"functionReturnParameters":5484,"id":5528,"nodeType":"Return","src":"16313:40:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readReceipt","nameLocation":"15908:11:6","parameters":{"id":5480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5477,"mutability":"mutable","name":"path","nameLocation":"15934:4:6","nodeType":"VariableDeclaration","scope":5530,"src":"15920:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5476,"name":"string","nodeType":"ElementaryTypeName","src":"15920:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5479,"mutability":"mutable","name":"index","nameLocation":"15948:5:6","nodeType":"VariableDeclaration","scope":5530,"src":"15940:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5478,"name":"uint256","nodeType":"ElementaryTypeName","src":"15940:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15919:35:6"},"returnParameters":{"id":5484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5483,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5530,"src":"15986:14:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt"},"typeName":{"id":5482,"nodeType":"UserDefinedTypeName","pathNode":{"id":5481,"name":"Receipt","nameLocations":["15986:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":4375,"src":"15986:7:6"},"referencedDeclaration":4375,"src":"15986:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"visibility":"internal"}],"src":"15985:16:6"},"scope":6247,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5579,"nodeType":"FunctionDefinition","src":"16366:347:6","nodes":[],"body":{"id":5578,"nodeType":"Block","src":"16480:233:6","nodes":[],"statements":[{"assignments":[5545],"declarations":[{"constant":false,"id":5545,"mutability":"mutable","name":"receipts","nameLocation":"16507:8:6","nodeType":"VariableDeclaration","scope":5578,"src":"16490:25:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":5543,"nodeType":"UserDefinedTypeName","pathNode":{"id":5542,"name":"Receipt","nameLocations":["16490:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":4375,"src":"16490:7:6"},"referencedDeclaration":4375,"src":"16490:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":5544,"nodeType":"ArrayTypeName","src":"16490:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"}],"id":5553,"initialValue":{"arguments":[{"expression":{"id":5550,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5534,"src":"16532:11:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"id":5551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16544:6:6","memberName":"length","nodeType":"MemberAccess","src":"16532:18:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"16518:13:6","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct StdCheatsSafe.Receipt memory[] memory)"},"typeName":{"baseType":{"id":5547,"nodeType":"UserDefinedTypeName","pathNode":{"id":5546,"name":"Receipt","nameLocations":["16522:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":4375,"src":"16522:7:6"},"referencedDeclaration":4375,"src":"16522:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":5548,"nodeType":"ArrayTypeName","src":"16522:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}}},"id":5552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16518:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"16490:61:6"},{"body":{"id":5574,"nodeType":"Block","src":"16606:76:6","statements":[{"expression":{"id":5572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5564,"name":"receipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5545,"src":"16620:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"id":5566,"indexExpression":{"id":5565,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5555,"src":"16629:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16620:11:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":5568,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5534,"src":"16656:11:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"id":5570,"indexExpression":{"id":5569,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5555,"src":"16668:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16656:14:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}],"id":5567,"name":"rawToConvertedReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5700,"src":"16634:21:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_RawReceipt_$4346_memory_ptr_$returns$_t_struct$_Receipt_$4375_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceipt memory) pure returns (struct StdCheatsSafe.Receipt memory)"}},"id":5571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16634:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"src":"16620:51:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5573,"nodeType":"ExpressionStatement","src":"16620:51:6"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5557,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5555,"src":"16577:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":5558,"name":"rawReceipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5534,"src":"16581:11:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory[] memory"}},"id":5559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16593:6:6","memberName":"length","nodeType":"MemberAccess","src":"16581:18:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16577:22:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5575,"initializationExpression":{"assignments":[5555],"declarations":[{"constant":false,"id":5555,"mutability":"mutable","name":"i","nameLocation":"16574:1:6","nodeType":"VariableDeclaration","scope":5575,"src":"16566:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5554,"name":"uint256","nodeType":"ElementaryTypeName","src":"16566:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5556,"nodeType":"VariableDeclarationStatement","src":"16566:9:6"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":5562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"16601:3:6","subExpression":{"id":5561,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5555,"src":"16601:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5563,"nodeType":"ExpressionStatement","src":"16601:3:6"},"nodeType":"ForStatement","src":"16561:121:6"},{"expression":{"id":5576,"name":"receipts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5545,"src":"16698:8:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory[] memory"}},"functionReturnParameters":5540,"id":5577,"nodeType":"Return","src":"16691:15:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedReceipts","nameLocation":"16375:22:6","parameters":{"id":5535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5534,"mutability":"mutable","name":"rawReceipts","nameLocation":"16418:11:6","nodeType":"VariableDeclaration","scope":5579,"src":"16398:31:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"},"typeName":{"baseType":{"id":5532,"nodeType":"UserDefinedTypeName","pathNode":{"id":5531,"name":"RawReceipt","nameLocations":["16398:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4346,"src":"16398:10:6"},"referencedDeclaration":4346,"src":"16398:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"id":5533,"nodeType":"ArrayTypeName","src":"16398:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceipt_$4346_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt[]"}},"visibility":"internal"}],"src":"16397:33:6"},"returnParameters":{"id":5540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5539,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5579,"src":"16462:16:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.Receipt[]"},"typeName":{"baseType":{"id":5537,"nodeType":"UserDefinedTypeName","pathNode":{"id":5536,"name":"Receipt","nameLocations":["16462:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":4375,"src":"16462:7:6"},"referencedDeclaration":4375,"src":"16462:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"id":5538,"nodeType":"ArrayTypeName","src":"16462:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Receipt_$4375_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.Receipt[]"}},"visibility":"internal"}],"src":"16461:18:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5700,"nodeType":"FunctionDefinition","src":"16719:962:6","nodes":[],"body":{"id":5699,"nodeType":"Block","src":"16827:854:6","nodes":[],"statements":[{"assignments":[5590],"declarations":[{"constant":false,"id":5590,"mutability":"mutable","name":"receipt","nameLocation":"16852:7:6","nodeType":"VariableDeclaration","scope":5699,"src":"16837:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt"},"typeName":{"id":5589,"nodeType":"UserDefinedTypeName","pathNode":{"id":5588,"name":"Receipt","nameLocations":["16837:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":4375,"src":"16837:7:6"},"referencedDeclaration":4375,"src":"16837:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"visibility":"internal"}],"id":5591,"nodeType":"VariableDeclarationStatement","src":"16837:22:6"},{"expression":{"id":5597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5592,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"16869:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5594,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16877:9:6","memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":4348,"src":"16869:17:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5595,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"16889:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5596,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16900:9:6","memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":4319,"src":"16889:20:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"16869:40:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5598,"nodeType":"ExpressionStatement","src":"16869:40:6"},{"expression":{"id":5604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5599,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"16919:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5601,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16927:2:6","memberName":"to","nodeType":"MemberAccess","referencedDeclaration":4370,"src":"16919:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5602,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"16932:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16943:2:6","memberName":"to","nodeType":"MemberAccess","referencedDeclaration":4341,"src":"16932:13:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16919:26:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5605,"nodeType":"ExpressionStatement","src":"16919:26:6"},{"expression":{"id":5611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5606,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"16955:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5608,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16963:4:6","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4358,"src":"16955:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5609,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"16970:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5610,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16981:4:6","memberName":"from","nodeType":"MemberAccess","referencedDeclaration":4329,"src":"16970:15:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16955:30:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5612,"nodeType":"ExpressionStatement","src":"16955:30:6"},{"expression":{"id":5618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5613,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"16995:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17003:15:6","memberName":"contractAddress","nodeType":"MemberAccess","referencedDeclaration":4352,"src":"16995:23:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5616,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17021:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5617,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17032:15:6","memberName":"contractAddress","nodeType":"MemberAccess","referencedDeclaration":4323,"src":"17021:26:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16995:52:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5619,"nodeType":"ExpressionStatement","src":"16995:52:6"},{"expression":{"id":5627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5620,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17057:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5622,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17065:17:6","memberName":"effectiveGasPrice","nodeType":"MemberAccess","referencedDeclaration":4356,"src":"17057:25:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5624,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17098:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5625,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17109:17:6","memberName":"effectiveGasPrice","nodeType":"MemberAccess","referencedDeclaration":4327,"src":"17098:28:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5623,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"17085:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17085:42:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17057:70:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5628,"nodeType":"ExpressionStatement","src":"17057:70:6"},{"expression":{"id":5636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5629,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17137:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5631,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17145:17:6","memberName":"cumulativeGasUsed","nodeType":"MemberAccess","referencedDeclaration":4354,"src":"17137:25:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5633,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17178:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5634,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17189:17:6","memberName":"cumulativeGasUsed","nodeType":"MemberAccess","referencedDeclaration":4325,"src":"17178:28:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5632,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"17165:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17165:42:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17137:70:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5637,"nodeType":"ExpressionStatement","src":"17137:70:6"},{"expression":{"id":5645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5638,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17217:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5640,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17225:7:6","memberName":"gasUsed","nodeType":"MemberAccess","referencedDeclaration":4360,"src":"17217:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5642,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17248:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5643,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17259:7:6","memberName":"gasUsed","nodeType":"MemberAccess","referencedDeclaration":4331,"src":"17248:18:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5641,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"17235:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17235:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17217:50:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5646,"nodeType":"ExpressionStatement","src":"17217:50:6"},{"expression":{"id":5654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5647,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17277:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5649,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17285:6:6","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":4368,"src":"17277:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5651,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17307:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5652,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17318:6:6","memberName":"status","nodeType":"MemberAccess","referencedDeclaration":4339,"src":"17307:17:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5650,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"17294:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17294:31:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17277:48:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5655,"nodeType":"ExpressionStatement","src":"17277:48:6"},{"expression":{"id":5663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5656,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17335:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5658,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17343:16:6","memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":4374,"src":"17335:24:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5660,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17375:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5661,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17386:16:6","memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":4345,"src":"17375:27:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5659,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"17362:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17362:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17335:68:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5664,"nodeType":"ExpressionStatement","src":"17335:68:6"},{"expression":{"id":5672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5665,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17413:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5667,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17421:11:6","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":4350,"src":"17413:19:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5669,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17448:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5670,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17459:11:6","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":4321,"src":"17448:22:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5668,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"17435:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17435:36:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17413:58:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5673,"nodeType":"ExpressionStatement","src":"17413:58:6"},{"expression":{"id":5681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5674,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17481:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5676,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17489:4:6","memberName":"logs","nodeType":"MemberAccess","referencedDeclaration":4364,"src":"17481:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":5678,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17522:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5679,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17533:4:6","memberName":"logs","nodeType":"MemberAccess","referencedDeclaration":4335,"src":"17522:15:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}],"id":5677,"name":"rawToConvertedReceiptLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5837,"src":"17496:25:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct StdCheatsSafe.RawReceiptLog memory[] memory) pure returns (struct StdCheatsSafe.ReceiptLog memory[] memory)"}},"id":5680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17496:42:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"src":"17481:57:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5682,"nodeType":"ExpressionStatement","src":"17481:57:6"},{"expression":{"id":5688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5683,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17548:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5685,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17556:9:6","memberName":"logsBloom","nodeType":"MemberAccess","referencedDeclaration":4366,"src":"17548:17:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5686,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17568:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5687,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17579:9:6","memberName":"logsBloom","nodeType":"MemberAccess","referencedDeclaration":4337,"src":"17568:20:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"17548:40:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5689,"nodeType":"ExpressionStatement","src":"17548:40:6"},{"expression":{"id":5695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5690,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17598:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"id":5692,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17606:15:6","memberName":"transactionHash","nodeType":"MemberAccess","referencedDeclaration":4372,"src":"17598:23:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5693,"name":"rawReceipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5582,"src":"17624:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt memory"}},"id":5694,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17635:15:6","memberName":"transactionHash","nodeType":"MemberAccess","referencedDeclaration":4343,"src":"17624:26:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"17598:52:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5696,"nodeType":"ExpressionStatement","src":"17598:52:6"},{"expression":{"id":5697,"name":"receipt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5590,"src":"17667:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt memory"}},"functionReturnParameters":5587,"id":5698,"nodeType":"Return","src":"17660:14:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedReceipt","nameLocation":"16728:21:6","parameters":{"id":5583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5582,"mutability":"mutable","name":"rawReceipt","nameLocation":"16768:10:6","nodeType":"VariableDeclaration","scope":5700,"src":"16750:28:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_memory_ptr","typeString":"struct StdCheatsSafe.RawReceipt"},"typeName":{"id":5581,"nodeType":"UserDefinedTypeName","pathNode":{"id":5580,"name":"RawReceipt","nameLocations":["16750:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4346,"src":"16750:10:6"},"referencedDeclaration":4346,"src":"16750:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceipt_$4346_storage_ptr","typeString":"struct StdCheatsSafe.RawReceipt"}},"visibility":"internal"}],"src":"16749:30:6"},"returnParameters":{"id":5587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5586,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5700,"src":"16811:14:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_memory_ptr","typeString":"struct StdCheatsSafe.Receipt"},"typeName":{"id":5585,"nodeType":"UserDefinedTypeName","pathNode":{"id":5584,"name":"Receipt","nameLocations":["16811:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":4375,"src":"16811:7:6"},"referencedDeclaration":4375,"src":"16811:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Receipt_$4375_storage_ptr","typeString":"struct StdCheatsSafe.Receipt"}},"visibility":"internal"}],"src":"16810:16:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5837,"nodeType":"FunctionDefinition","src":"17687:873:6","nodes":[],"body":{"id":5836,"nodeType":"Block","src":"17842:718:6","nodes":[],"statements":[{"assignments":[5715],"declarations":[{"constant":false,"id":5715,"mutability":"mutable","name":"logs","nameLocation":"17872:4:6","nodeType":"VariableDeclaration","scope":5836,"src":"17852:24:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"},"typeName":{"baseType":{"id":5713,"nodeType":"UserDefinedTypeName","pathNode":{"id":5712,"name":"ReceiptLog","nameLocations":["17852:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4463,"src":"17852:10:6"},"referencedDeclaration":4463,"src":"17852:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":5714,"nodeType":"ArrayTypeName","src":"17852:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}},"visibility":"internal"}],"id":5723,"initialValue":{"arguments":[{"expression":{"id":5720,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"17896:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17904:6:6","memberName":"length","nodeType":"MemberAccess","src":"17896:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"17879:16:6","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct StdCheatsSafe.ReceiptLog memory[] memory)"},"typeName":{"baseType":{"id":5717,"nodeType":"UserDefinedTypeName","pathNode":{"id":5716,"name":"ReceiptLog","nameLocations":["17883:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4463,"src":"17883:10:6"},"referencedDeclaration":4463,"src":"17883:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":5718,"nodeType":"ArrayTypeName","src":"17883:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}}},"id":5722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17879:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"17852:59:6"},{"body":{"id":5832,"nodeType":"Block","src":"17962:571:6","statements":[{"expression":{"id":5742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5734,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"17976:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5736,"indexExpression":{"id":5735,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"17981:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17976:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5737,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17984:10:6","memberName":"logAddress","nodeType":"MemberAccess","referencedDeclaration":4445,"src":"17976:18:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5738,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"17997:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5740,"indexExpression":{"id":5739,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18005:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17997:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5741,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18008:10:6","memberName":"logAddress","nodeType":"MemberAccess","referencedDeclaration":4423,"src":"17997:21:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17976:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5743,"nodeType":"ExpressionStatement","src":"17976:42:6"},{"expression":{"id":5752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5744,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"18032:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5746,"indexExpression":{"id":5745,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18037:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18032:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5747,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18040:9:6","memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":4447,"src":"18032:17:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5748,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"18052:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5750,"indexExpression":{"id":5749,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18060:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18052:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5751,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18063:9:6","memberName":"blockHash","nodeType":"MemberAccess","referencedDeclaration":4425,"src":"18052:20:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"18032:40:6","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5753,"nodeType":"ExpressionStatement","src":"18032:40:6"},{"expression":{"id":5764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5754,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"18086:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5756,"indexExpression":{"id":5755,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18091:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18086:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5757,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18094:11:6","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":4449,"src":"18086:19:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5759,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"18121:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5761,"indexExpression":{"id":5760,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18129:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18121:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5762,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18132:11:6","memberName":"blockNumber","nodeType":"MemberAccess","referencedDeclaration":4427,"src":"18121:22:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5758,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"18108:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18108:36:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18086:58:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5765,"nodeType":"ExpressionStatement","src":"18086:58:6"},{"expression":{"id":5774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5766,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"18158:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5768,"indexExpression":{"id":5767,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18163:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18158:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5769,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18166:4:6","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":4451,"src":"18158:12:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5770,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"18173:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5772,"indexExpression":{"id":5771,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18181:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18173:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5773,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18184:4:6","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":4429,"src":"18173:15:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"18158:30:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5775,"nodeType":"ExpressionStatement","src":"18158:30:6"},{"expression":{"id":5786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5776,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"18202:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5778,"indexExpression":{"id":5777,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18207:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18202:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5779,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18210:8:6","memberName":"logIndex","nodeType":"MemberAccess","referencedDeclaration":4453,"src":"18202:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5781,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"18234:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5783,"indexExpression":{"id":5782,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18242:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18234:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18245:8:6","memberName":"logIndex","nodeType":"MemberAccess","referencedDeclaration":4431,"src":"18234:19:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5780,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"18221:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18221:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18202:52:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5787,"nodeType":"ExpressionStatement","src":"18202:52:6"},{"expression":{"id":5796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5788,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"18268:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5790,"indexExpression":{"id":5789,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18273:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18268:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5791,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18276:6:6","memberName":"topics","nodeType":"MemberAccess","referencedDeclaration":4456,"src":"18268:14:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5792,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"18285:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5794,"indexExpression":{"id":5793,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18293:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18285:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5795,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18296:6:6","memberName":"topics","nodeType":"MemberAccess","referencedDeclaration":4436,"src":"18285:17:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"src":"18268:34:6","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":5797,"nodeType":"ExpressionStatement","src":"18268:34:6"},{"expression":{"id":5808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5798,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"18316:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5800,"indexExpression":{"id":5799,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18321:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18316:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18324:16:6","memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":4458,"src":"18316:24:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5803,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"18356:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5805,"indexExpression":{"id":5804,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18364:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18356:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5806,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18367:16:6","memberName":"transactionIndex","nodeType":"MemberAccess","referencedDeclaration":4440,"src":"18356:27:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5802,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"18343:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18343:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18316:68:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5809,"nodeType":"ExpressionStatement","src":"18316:68:6"},{"expression":{"id":5820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5810,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"18398:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5812,"indexExpression":{"id":5811,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18403:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18398:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5813,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18406:19:6","memberName":"transactionLogIndex","nodeType":"MemberAccess","referencedDeclaration":4460,"src":"18398:27:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"baseExpression":{"id":5815,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"18441:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5817,"indexExpression":{"id":5816,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18449:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18441:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5818,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18452:19:6","memberName":"transactionLogIndex","nodeType":"MemberAccess","referencedDeclaration":4442,"src":"18441:30:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5814,"name":"_bytesToUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6139,"src":"18428:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":5819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18428:44:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18398:74:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5821,"nodeType":"ExpressionStatement","src":"18398:74:6"},{"expression":{"id":5830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":5822,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"18486:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"id":5824,"indexExpression":{"id":5823,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18491:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18486:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory"}},"id":5825,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18494:7:6","memberName":"removed","nodeType":"MemberAccess","referencedDeclaration":4462,"src":"18486:15:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"baseExpression":{"id":5826,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"18504:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5828,"indexExpression":{"id":5827,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"18512:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18504:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory"}},"id":5829,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18515:7:6","memberName":"removed","nodeType":"MemberAccess","referencedDeclaration":4433,"src":"18504:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18486:36:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5831,"nodeType":"ExpressionStatement","src":"18486:36:6"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5727,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"17937:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":5728,"name":"rawLogs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5704,"src":"17941:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog memory[] memory"}},"id":5729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17949:6:6","memberName":"length","nodeType":"MemberAccess","src":"17941:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17937:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5833,"initializationExpression":{"assignments":[5725],"declarations":[{"constant":false,"id":5725,"mutability":"mutable","name":"i","nameLocation":"17934:1:6","nodeType":"VariableDeclaration","scope":5833,"src":"17926:9:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5724,"name":"uint256","nodeType":"ElementaryTypeName","src":"17926:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5726,"nodeType":"VariableDeclarationStatement","src":"17926:9:6"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":5732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"17957:3:6","subExpression":{"id":5731,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5725,"src":"17957:1:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5733,"nodeType":"ExpressionStatement","src":"17957:3:6"},"nodeType":"ForStatement","src":"17921:612:6"},{"expression":{"id":5834,"name":"logs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5715,"src":"18549:4:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog memory[] memory"}},"functionReturnParameters":5710,"id":5835,"nodeType":"Return","src":"18542:11:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rawToConvertedReceiptLogs","nameLocation":"17696:25:6","parameters":{"id":5705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5704,"mutability":"mutable","name":"rawLogs","nameLocation":"17745:7:6","nodeType":"VariableDeclaration","scope":5837,"src":"17722:30:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"},"typeName":{"baseType":{"id":5702,"nodeType":"UserDefinedTypeName","pathNode":{"id":5701,"name":"RawReceiptLog","nameLocations":["17722:13:6"],"nodeType":"IdentifierPath","referencedDeclaration":4443,"src":"17722:13:6"},"referencedDeclaration":4443,"src":"17722:13:6","typeDescriptions":{"typeIdentifier":"t_struct$_RawReceiptLog_$4443_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog"}},"id":5703,"nodeType":"ArrayTypeName","src":"17722:15:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RawReceiptLog_$4443_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.RawReceiptLog[]"}},"visibility":"internal"}],"src":"17721:32:6"},"returnParameters":{"id":5710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5709,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5837,"src":"17817:19:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_memory_ptr_$dyn_memory_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"},"typeName":{"baseType":{"id":5707,"nodeType":"UserDefinedTypeName","pathNode":{"id":5706,"name":"ReceiptLog","nameLocations":["17817:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":4463,"src":"17817:10:6"},"referencedDeclaration":4463,"src":"17817:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_ReceiptLog_$4463_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog"}},"id":5708,"nodeType":"ArrayTypeName","src":"17817:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ReceiptLog_$4463_storage_$dyn_storage_ptr","typeString":"struct StdCheatsSafe.ReceiptLog[]"}},"visibility":"internal"}],"src":"17816:21:6"},"scope":6247,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":5869,"nodeType":"FunctionDefinition","src":"18720:416:6","nodes":[],"body":{"id":5868,"nodeType":"Block","src":"18819:317:6","nodes":[],"statements":[{"assignments":[5847],"declarations":[{"constant":false,"id":5847,"mutability":"mutable","name":"bytecode","nameLocation":"18842:8:6","nodeType":"VariableDeclaration","scope":5868,"src":"18829:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5846,"name":"bytes","nodeType":"ElementaryTypeName","src":"18829:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5856,"initialValue":{"arguments":[{"arguments":[{"id":5852,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5839,"src":"18881:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5850,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"18870:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18873:7:6","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":14787,"src":"18870:10:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18870:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":5854,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5841,"src":"18888:4:6","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":5848,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18853:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5849,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18857:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"18853:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18853:40:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18829:64:6"},{"AST":{"nativeSrc":"18955:79:6","nodeType":"YulBlock","src":"18955:79:6","statements":[{"nativeSrc":"18969:55:6","nodeType":"YulAssignment","src":"18969:55:6","value":{"arguments":[{"kind":"number","nativeSrc":"18984:1:6","nodeType":"YulLiteral","src":"18984:1:6","type":"","value":"0"},{"arguments":[{"name":"bytecode","nativeSrc":"18991:8:6","nodeType":"YulIdentifier","src":"18991:8:6"},{"kind":"number","nativeSrc":"19001:4:6","nodeType":"YulLiteral","src":"19001:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"18987:3:6","nodeType":"YulIdentifier","src":"18987:3:6"},"nativeSrc":"18987:19:6","nodeType":"YulFunctionCall","src":"18987:19:6"},{"arguments":[{"name":"bytecode","nativeSrc":"19014:8:6","nodeType":"YulIdentifier","src":"19014:8:6"}],"functionName":{"name":"mload","nativeSrc":"19008:5:6","nodeType":"YulIdentifier","src":"19008:5:6"},"nativeSrc":"19008:15:6","nodeType":"YulFunctionCall","src":"19008:15:6"}],"functionName":{"name":"create","nativeSrc":"18977:6:6","nodeType":"YulIdentifier","src":"18977:6:6"},"nativeSrc":"18977:47:6","nodeType":"YulFunctionCall","src":"18977:47:6"},"variableNames":[{"name":"addr","nativeSrc":"18969:4:6","nodeType":"YulIdentifier","src":"18969:4:6"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":5844,"isOffset":false,"isSlot":false,"src":"18969:4:6","valueSize":1},{"declaration":5847,"isOffset":false,"isSlot":false,"src":"18991:8:6","valueSize":1},{"declaration":5847,"isOffset":false,"isSlot":false,"src":"19014:8:6","valueSize":1}],"id":5857,"nodeType":"InlineAssembly","src":"18946:88:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5859,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5844,"src":"19052:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19068:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5861,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19060:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5860,"name":"address","nodeType":"ElementaryTypeName","src":"19060:7:6","typeDescriptions":{}}},"id":5863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19060:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19052:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e672c6279746573293a204465706c6f796d656e74206661696c65642e","id":5865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19072:56:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_a8fe98dd1d450e91397ea844d0b9cef01528a963df7b8ac4b93b8aa3ef69cfce","typeString":"literal_string \"StdCheats deployCode(string,bytes): Deployment failed.\""},"value":"StdCheats deployCode(string,bytes): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a8fe98dd1d450e91397ea844d0b9cef01528a963df7b8ac4b93b8aa3ef69cfce","typeString":"literal_string \"StdCheats deployCode(string,bytes): Deployment failed.\""}],"id":5858,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"19044:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19044:85:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5867,"nodeType":"ExpressionStatement","src":"19044:85:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"18729:10:6","parameters":{"id":5842,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5839,"mutability":"mutable","name":"what","nameLocation":"18754:4:6","nodeType":"VariableDeclaration","scope":5869,"src":"18740:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5838,"name":"string","nodeType":"ElementaryTypeName","src":"18740:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5841,"mutability":"mutable","name":"args","nameLocation":"18773:4:6","nodeType":"VariableDeclaration","scope":5869,"src":"18760:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5840,"name":"bytes","nodeType":"ElementaryTypeName","src":"18760:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"18739:39:6"},"returnParameters":{"id":5845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5844,"mutability":"mutable","name":"addr","nameLocation":"18813:4:6","nodeType":"VariableDeclaration","scope":5869,"src":"18805:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5843,"name":"address","nodeType":"ElementaryTypeName","src":"18805:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18804:14:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5895,"nodeType":"FunctionDefinition","src":"19142:367:6","nodes":[],"body":{"id":5894,"nodeType":"Block","src":"19222:287:6","nodes":[],"statements":[{"assignments":[5877],"declarations":[{"constant":false,"id":5877,"mutability":"mutable","name":"bytecode","nameLocation":"19245:8:6","nodeType":"VariableDeclaration","scope":5894,"src":"19232:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5876,"name":"bytes","nodeType":"ElementaryTypeName","src":"19232:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5882,"initialValue":{"arguments":[{"id":5880,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5871,"src":"19267:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5878,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"19256:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19259:7:6","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":14787,"src":"19256:10:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19256:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"19232:40:6"},{"AST":{"nativeSrc":"19334:79:6","nodeType":"YulBlock","src":"19334:79:6","statements":[{"nativeSrc":"19348:55:6","nodeType":"YulAssignment","src":"19348:55:6","value":{"arguments":[{"kind":"number","nativeSrc":"19363:1:6","nodeType":"YulLiteral","src":"19363:1:6","type":"","value":"0"},{"arguments":[{"name":"bytecode","nativeSrc":"19370:8:6","nodeType":"YulIdentifier","src":"19370:8:6"},{"kind":"number","nativeSrc":"19380:4:6","nodeType":"YulLiteral","src":"19380:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19366:3:6","nodeType":"YulIdentifier","src":"19366:3:6"},"nativeSrc":"19366:19:6","nodeType":"YulFunctionCall","src":"19366:19:6"},{"arguments":[{"name":"bytecode","nativeSrc":"19393:8:6","nodeType":"YulIdentifier","src":"19393:8:6"}],"functionName":{"name":"mload","nativeSrc":"19387:5:6","nodeType":"YulIdentifier","src":"19387:5:6"},"nativeSrc":"19387:15:6","nodeType":"YulFunctionCall","src":"19387:15:6"}],"functionName":{"name":"create","nativeSrc":"19356:6:6","nodeType":"YulIdentifier","src":"19356:6:6"},"nativeSrc":"19356:47:6","nodeType":"YulFunctionCall","src":"19356:47:6"},"variableNames":[{"name":"addr","nativeSrc":"19348:4:6","nodeType":"YulIdentifier","src":"19348:4:6"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":5874,"isOffset":false,"isSlot":false,"src":"19348:4:6","valueSize":1},{"declaration":5877,"isOffset":false,"isSlot":false,"src":"19370:8:6","valueSize":1},{"declaration":5877,"isOffset":false,"isSlot":false,"src":"19393:8:6","valueSize":1}],"id":5883,"nodeType":"InlineAssembly","src":"19325:88:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5885,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5874,"src":"19431:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19447:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19439:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5886,"name":"address","nodeType":"ElementaryTypeName","src":"19439:7:6","typeDescriptions":{}}},"id":5889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19439:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19431:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e67293a204465706c6f796d656e74206661696c65642e","id":5891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19451:50:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_f6ca2d254da27f2f7b444314e77be236e782a4d81876827dbe8fe7dcea90b371","typeString":"literal_string \"StdCheats deployCode(string): Deployment failed.\""},"value":"StdCheats deployCode(string): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f6ca2d254da27f2f7b444314e77be236e782a4d81876827dbe8fe7dcea90b371","typeString":"literal_string \"StdCheats deployCode(string): Deployment failed.\""}],"id":5884,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"19423:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19423:79:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5893,"nodeType":"ExpressionStatement","src":"19423:79:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"19151:10:6","parameters":{"id":5872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5871,"mutability":"mutable","name":"what","nameLocation":"19176:4:6","nodeType":"VariableDeclaration","scope":5895,"src":"19162:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5870,"name":"string","nodeType":"ElementaryTypeName","src":"19162:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19161:20:6"},"returnParameters":{"id":5875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5874,"mutability":"mutable","name":"addr","nameLocation":"19216:4:6","nodeType":"VariableDeclaration","scope":5895,"src":"19208:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5873,"name":"address","nodeType":"ElementaryTypeName","src":"19208:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19207:14:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5930,"nodeType":"FunctionDefinition","src":"19571:439:6","nodes":[],"body":{"id":5929,"nodeType":"Block","src":"19683:327:6","nodes":[],"statements":[{"assignments":[5908],"declarations":[{"constant":false,"id":5908,"mutability":"mutable","name":"bytecode","nameLocation":"19706:8:6","nodeType":"VariableDeclaration","scope":5929,"src":"19693:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5907,"name":"bytes","nodeType":"ElementaryTypeName","src":"19693:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5917,"initialValue":{"arguments":[{"arguments":[{"id":5913,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5898,"src":"19745:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5911,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"19734:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19737:7:6","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":14787,"src":"19734:10:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19734:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":5915,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5900,"src":"19752:4:6","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":5909,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19717:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19721:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"19717:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19717:40:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"19693:64:6"},{"AST":{"nativeSrc":"19819:81:6","nodeType":"YulBlock","src":"19819:81:6","statements":[{"nativeSrc":"19833:57:6","nodeType":"YulAssignment","src":"19833:57:6","value":{"arguments":[{"name":"val","nativeSrc":"19848:3:6","nodeType":"YulIdentifier","src":"19848:3:6"},{"arguments":[{"name":"bytecode","nativeSrc":"19857:8:6","nodeType":"YulIdentifier","src":"19857:8:6"},{"kind":"number","nativeSrc":"19867:4:6","nodeType":"YulLiteral","src":"19867:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"19853:3:6","nodeType":"YulIdentifier","src":"19853:3:6"},"nativeSrc":"19853:19:6","nodeType":"YulFunctionCall","src":"19853:19:6"},{"arguments":[{"name":"bytecode","nativeSrc":"19880:8:6","nodeType":"YulIdentifier","src":"19880:8:6"}],"functionName":{"name":"mload","nativeSrc":"19874:5:6","nodeType":"YulIdentifier","src":"19874:5:6"},"nativeSrc":"19874:15:6","nodeType":"YulFunctionCall","src":"19874:15:6"}],"functionName":{"name":"create","nativeSrc":"19841:6:6","nodeType":"YulIdentifier","src":"19841:6:6"},"nativeSrc":"19841:49:6","nodeType":"YulFunctionCall","src":"19841:49:6"},"variableNames":[{"name":"addr","nativeSrc":"19833:4:6","nodeType":"YulIdentifier","src":"19833:4:6"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":5905,"isOffset":false,"isSlot":false,"src":"19833:4:6","valueSize":1},{"declaration":5908,"isOffset":false,"isSlot":false,"src":"19857:8:6","valueSize":1},{"declaration":5908,"isOffset":false,"isSlot":false,"src":"19880:8:6","valueSize":1},{"declaration":5902,"isOffset":false,"isSlot":false,"src":"19848:3:6","valueSize":1}],"id":5918,"nodeType":"InlineAssembly","src":"19810:90:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5920,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5905,"src":"19918:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19934:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19926:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5921,"name":"address","nodeType":"ElementaryTypeName","src":"19926:7:6","typeDescriptions":{}}},"id":5924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19926:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19918:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e672c62797465732c75696e74323536293a204465706c6f796d656e74206661696c65642e","id":5926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19938:64:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_b17e0074adb88d93215aea54607c780b63b16eef6aef31eb92005d5de3508fa0","typeString":"literal_string \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\""},"value":"StdCheats deployCode(string,bytes,uint256): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b17e0074adb88d93215aea54607c780b63b16eef6aef31eb92005d5de3508fa0","typeString":"literal_string \"StdCheats deployCode(string,bytes,uint256): Deployment failed.\""}],"id":5919,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"19910:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19910:93:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5928,"nodeType":"ExpressionStatement","src":"19910:93:6"}]},"documentation":{"id":5896,"nodeType":"StructuredDocumentation","src":"19515:51:6","text":"@dev deploy contract with value on construction"},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"19580:10:6","parameters":{"id":5903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5898,"mutability":"mutable","name":"what","nameLocation":"19605:4:6","nodeType":"VariableDeclaration","scope":5930,"src":"19591:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5897,"name":"string","nodeType":"ElementaryTypeName","src":"19591:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5900,"mutability":"mutable","name":"args","nameLocation":"19624:4:6","nodeType":"VariableDeclaration","scope":5930,"src":"19611:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5899,"name":"bytes","nodeType":"ElementaryTypeName","src":"19611:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":5902,"mutability":"mutable","name":"val","nameLocation":"19638:3:6","nodeType":"VariableDeclaration","scope":5930,"src":"19630:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5901,"name":"uint256","nodeType":"ElementaryTypeName","src":"19630:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19590:52:6"},"returnParameters":{"id":5906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5905,"mutability":"mutable","name":"addr","nameLocation":"19677:4:6","nodeType":"VariableDeclaration","scope":5930,"src":"19669:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5904,"name":"address","nodeType":"ElementaryTypeName","src":"19669:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19668:14:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5958,"nodeType":"FunctionDefinition","src":"20016:390:6","nodes":[],"body":{"id":5957,"nodeType":"Block","src":"20109:297:6","nodes":[],"statements":[{"assignments":[5940],"declarations":[{"constant":false,"id":5940,"mutability":"mutable","name":"bytecode","nameLocation":"20132:8:6","nodeType":"VariableDeclaration","scope":5957,"src":"20119:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5939,"name":"bytes","nodeType":"ElementaryTypeName","src":"20119:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5945,"initialValue":{"arguments":[{"id":5943,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5932,"src":"20154:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5941,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"20143:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20146:7:6","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":14787,"src":"20143:10:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":5944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20143:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"20119:40:6"},{"AST":{"nativeSrc":"20221:81:6","nodeType":"YulBlock","src":"20221:81:6","statements":[{"nativeSrc":"20235:57:6","nodeType":"YulAssignment","src":"20235:57:6","value":{"arguments":[{"name":"val","nativeSrc":"20250:3:6","nodeType":"YulIdentifier","src":"20250:3:6"},{"arguments":[{"name":"bytecode","nativeSrc":"20259:8:6","nodeType":"YulIdentifier","src":"20259:8:6"},{"kind":"number","nativeSrc":"20269:4:6","nodeType":"YulLiteral","src":"20269:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"20255:3:6","nodeType":"YulIdentifier","src":"20255:3:6"},"nativeSrc":"20255:19:6","nodeType":"YulFunctionCall","src":"20255:19:6"},{"arguments":[{"name":"bytecode","nativeSrc":"20282:8:6","nodeType":"YulIdentifier","src":"20282:8:6"}],"functionName":{"name":"mload","nativeSrc":"20276:5:6","nodeType":"YulIdentifier","src":"20276:5:6"},"nativeSrc":"20276:15:6","nodeType":"YulFunctionCall","src":"20276:15:6"}],"functionName":{"name":"create","nativeSrc":"20243:6:6","nodeType":"YulIdentifier","src":"20243:6:6"},"nativeSrc":"20243:49:6","nodeType":"YulFunctionCall","src":"20243:49:6"},"variableNames":[{"name":"addr","nativeSrc":"20235:4:6","nodeType":"YulIdentifier","src":"20235:4:6"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":5937,"isOffset":false,"isSlot":false,"src":"20235:4:6","valueSize":1},{"declaration":5940,"isOffset":false,"isSlot":false,"src":"20259:8:6","valueSize":1},{"declaration":5940,"isOffset":false,"isSlot":false,"src":"20282:8:6","valueSize":1},{"declaration":5934,"isOffset":false,"isSlot":false,"src":"20250:3:6","valueSize":1}],"id":5946,"nodeType":"InlineAssembly","src":"20212:90:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5948,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5937,"src":"20320:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20336:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5950,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20328:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5949,"name":"address","nodeType":"ElementaryTypeName","src":"20328:7:6","typeDescriptions":{}}},"id":5952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20328:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20320:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f646528737472696e672c75696e74323536293a204465706c6f796d656e74206661696c65642e","id":5954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20340:58:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_cea3fb8155c56e1e84c027eaf19b7f987ed52f1b7ae1ee8bed46141b7ecf08d2","typeString":"literal_string \"StdCheats deployCode(string,uint256): Deployment failed.\""},"value":"StdCheats deployCode(string,uint256): Deployment failed."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cea3fb8155c56e1e84c027eaf19b7f987ed52f1b7ae1ee8bed46141b7ecf08d2","typeString":"literal_string \"StdCheats deployCode(string,uint256): Deployment failed.\""}],"id":5947,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"20312:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":5955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20312:87:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5956,"nodeType":"ExpressionStatement","src":"20312:87:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"20025:10:6","parameters":{"id":5935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5932,"mutability":"mutable","name":"what","nameLocation":"20050:4:6","nodeType":"VariableDeclaration","scope":5958,"src":"20036:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5931,"name":"string","nodeType":"ElementaryTypeName","src":"20036:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5934,"mutability":"mutable","name":"val","nameLocation":"20064:3:6","nodeType":"VariableDeclaration","scope":5958,"src":"20056:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5933,"name":"uint256","nodeType":"ElementaryTypeName","src":"20056:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20035:33:6"},"returnParameters":{"id":5938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5937,"mutability":"mutable","name":"addr","nameLocation":"20103:4:6","nodeType":"VariableDeclaration","scope":5958,"src":"20095:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5936,"name":"address","nodeType":"ElementaryTypeName","src":"20095:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20094:14:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5994,"nodeType":"FunctionDefinition","src":"20479:242:6","nodes":[],"body":{"id":5993,"nodeType":"Block","src":"20583:138:6","nodes":[],"statements":[{"expression":{"id":5977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5967,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5965,"src":"20593:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":5973,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5960,"src":"20641:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5971,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20624:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20628:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"20624:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":5974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20624:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5970,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"20614:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":5975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20614:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":5969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20606:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5968,"name":"uint256","nodeType":"ElementaryTypeName","src":"20606:7:6","typeDescriptions":{}}},"id":5976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20606:42:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20593:55:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5978,"nodeType":"ExpressionStatement","src":"20593:55:6"},{"expression":{"id":5984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5979,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5963,"src":"20658:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5982,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5965,"src":"20673:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5980,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"20665:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20668:4:6","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":14336,"src":"20665:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) pure external returns (address)"}},"id":5983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20665:19:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20658:26:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5985,"nodeType":"ExpressionStatement","src":"20658:26:6"},{"expression":{"arguments":[{"id":5989,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5963,"src":"20703:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5990,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5960,"src":"20709:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5986,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"20694:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":5988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20697:5:6","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":17457,"src":"20694:8:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":5991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20694:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5992,"nodeType":"ExpressionStatement","src":"20694:20:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"makeAddrAndKey","nameLocation":"20488:14:6","parameters":{"id":5961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5960,"mutability":"mutable","name":"name","nameLocation":"20517:4:6","nodeType":"VariableDeclaration","scope":5994,"src":"20503:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5959,"name":"string","nodeType":"ElementaryTypeName","src":"20503:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20502:20:6"},"returnParameters":{"id":5966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5963,"mutability":"mutable","name":"addr","nameLocation":"20557:4:6","nodeType":"VariableDeclaration","scope":5994,"src":"20549:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5962,"name":"address","nodeType":"ElementaryTypeName","src":"20549:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5965,"mutability":"mutable","name":"privateKey","nameLocation":"20571:10:6","nodeType":"VariableDeclaration","scope":5994,"src":"20563:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5964,"name":"uint256","nodeType":"ElementaryTypeName","src":"20563:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20548:34:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6009,"nodeType":"FunctionDefinition","src":"20760:125:6","nodes":[],"body":{"id":6008,"nodeType":"Block","src":"20838:47:6","nodes":[],"statements":[{"expression":{"id":6006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":6001,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5999,"src":"20849:4:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},null],"id":6002,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"20848:7:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$__$","typeString":"tuple(address,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":6004,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5996,"src":"20873:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":6003,"name":"makeAddrAndKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5994,"src":"20858:14:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$_t_uint256_$","typeString":"function (string memory) returns (address,uint256)"}},"id":6005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20858:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}},"src":"20848:30:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6007,"nodeType":"ExpressionStatement","src":"20848:30:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"makeAddr","nameLocation":"20769:8:6","parameters":{"id":5997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5996,"mutability":"mutable","name":"name","nameLocation":"20792:4:6","nodeType":"VariableDeclaration","scope":6009,"src":"20778:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5995,"name":"string","nodeType":"ElementaryTypeName","src":"20778:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20777:20:6"},"returnParameters":{"id":6000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5999,"mutability":"mutable","name":"addr","nameLocation":"20832:4:6","nodeType":"VariableDeclaration","scope":6009,"src":"20824:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5998,"name":"address","nodeType":"ElementaryTypeName","src":"20824:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20823:14:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6058,"nodeType":"FunctionDefinition","src":"21203:337:6","nodes":[],"body":{"id":6057,"nodeType":"Block","src":"21278:262:6","nodes":[],"statements":[{"assignments":[6017],"declarations":[{"constant":false,"id":6017,"mutability":"mutable","name":"currBalance","nameLocation":"21296:11:6","nodeType":"VariableDeclaration","scope":6057,"src":"21288:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6016,"name":"uint256","nodeType":"ElementaryTypeName","src":"21288:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6020,"initialValue":{"expression":{"id":6018,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6011,"src":"21310:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21314:7:6","memberName":"balance","nodeType":"MemberAccess","src":"21310:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21288:33:6"},{"expression":{"arguments":[{"id":6024,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6011,"src":"21339:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6025,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21344:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21348:6:6","memberName":"encode","nodeType":"MemberAccess","src":"21344:10:6","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":6027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21344:12:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6021,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"21331:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21334:4:6","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"21331:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":6028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21331:26:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6029,"nodeType":"ExpressionStatement","src":"21331:26:6"},{"expression":{"arguments":[{"id":6033,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6011,"src":"21375:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":6034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21380:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":6030,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"21367:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21370:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"21367:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21367:15:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6036,"nodeType":"ExpressionStatement","src":"21367:15:6"},{"expression":{"arguments":[{"id":6040,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6011,"src":"21406:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6037,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"21392:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21395:10:6","memberName":"resetNonce","nodeType":"MemberAccess","referencedDeclaration":18023,"src":"21392:13:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":6041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21392:18:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6042,"nodeType":"ExpressionStatement","src":"21392:18:6"},{"assignments":[6044],"declarations":[{"constant":false,"id":6044,"mutability":"mutable","name":"beneficiaryBalance","nameLocation":"21429:18:6","nodeType":"VariableDeclaration","scope":6057,"src":"21421:26:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6043,"name":"uint256","nodeType":"ElementaryTypeName","src":"21421:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6047,"initialValue":{"expression":{"id":6045,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6013,"src":"21450:11:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21462:7:6","memberName":"balance","nodeType":"MemberAccess","src":"21450:19:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21421:48:6"},{"expression":{"arguments":[{"id":6051,"name":"beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6013,"src":"21487:11:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6052,"name":"currBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6017,"src":"21500:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":6053,"name":"beneficiaryBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6044,"src":"21514:18:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21500:32:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6048,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"21479:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21482:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"21479:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21479:54:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6056,"nodeType":"ExpressionStatement","src":"21479:54:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"destroyAccount","nameLocation":"21212:14:6","parameters":{"id":6014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6011,"mutability":"mutable","name":"who","nameLocation":"21235:3:6","nodeType":"VariableDeclaration","scope":6058,"src":"21227:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6010,"name":"address","nodeType":"ElementaryTypeName","src":"21227:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6013,"mutability":"mutable","name":"beneficiary","nameLocation":"21248:11:6","nodeType":"VariableDeclaration","scope":6058,"src":"21240:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6012,"name":"address","nodeType":"ElementaryTypeName","src":"21240:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21226:34:6"},"returnParameters":{"id":6015,"nodeType":"ParameterList","parameters":[],"src":"21278:0:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6078,"nodeType":"FunctionDefinition","src":"21638:158:6","nodes":[],"body":{"id":6077,"nodeType":"Block","src":"21729:67:6","nodes":[],"statements":[{"expression":{"id":6075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"expression":{"id":6066,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6064,"src":"21740:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Account_$4473_memory_ptr","typeString":"struct StdCheatsSafe.Account memory"}},"id":6068,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21748:4:6","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":4470,"src":"21740:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":6069,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6064,"src":"21754:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Account_$4473_memory_ptr","typeString":"struct StdCheatsSafe.Account memory"}},"id":6070,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21762:3:6","memberName":"key","nodeType":"MemberAccess","referencedDeclaration":4472,"src":"21754:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6071,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"21739:27:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":6073,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6060,"src":"21784:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":6072,"name":"makeAddrAndKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5994,"src":"21769:14:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_address_$_t_uint256_$","typeString":"function (string memory) returns (address,uint256)"}},"id":6074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21769:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint256_$","typeString":"tuple(address,uint256)"}},"src":"21739:50:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6076,"nodeType":"ExpressionStatement","src":"21739:50:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"makeAccount","nameLocation":"21647:11:6","parameters":{"id":6061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6060,"mutability":"mutable","name":"name","nameLocation":"21673:4:6","nodeType":"VariableDeclaration","scope":6078,"src":"21659:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6059,"name":"string","nodeType":"ElementaryTypeName","src":"21659:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21658:20:6"},"returnParameters":{"id":6065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6064,"mutability":"mutable","name":"account","nameLocation":"21720:7:6","nodeType":"VariableDeclaration","scope":6078,"src":"21705:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Account_$4473_memory_ptr","typeString":"struct StdCheatsSafe.Account"},"typeName":{"id":6063,"nodeType":"UserDefinedTypeName","pathNode":{"id":6062,"name":"Account","nameLocations":["21705:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":4473,"src":"21705:7:6"},"referencedDeclaration":4473,"src":"21705:7:6","typeDescriptions":{"typeIdentifier":"t_struct$_Account_$4473_storage_ptr","typeString":"struct StdCheatsSafe.Account"}},"visibility":"internal"}],"src":"21704:24:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6105,"nodeType":"FunctionDefinition","src":"21802:253:6","nodes":[],"body":{"id":6104,"nodeType":"Block","src":"21954:101:6","nodes":[],"statements":[{"expression":{"id":6095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6089,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6087,"src":"21964:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":6092,"name":"mnemonic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6080,"src":"21990:8:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6093,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6082,"src":"22000:5:6","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"id":6090,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"21977:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21980:9:6","memberName":"deriveKey","nodeType":"MemberAccess","referencedDeclaration":13768,"src":"21977:12:6","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_uint32_$returns$_t_uint256_$","typeString":"function (string memory,uint32) pure external returns (uint256)"}},"id":6094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21977:29:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21964:42:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6096,"nodeType":"ExpressionStatement","src":"21964:42:6"},{"expression":{"id":6102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6097,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6085,"src":"22016:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":6100,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6087,"src":"22037:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6098,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"22022:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22025:11:6","memberName":"rememberKey","nodeType":"MemberAccess","referencedDeclaration":13824,"src":"22022:14:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) external returns (address)"}},"id":6101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22022:26:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22016:32:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6103,"nodeType":"ExpressionStatement","src":"22016:32:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deriveRememberKey","nameLocation":"21811:17:6","parameters":{"id":6083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6080,"mutability":"mutable","name":"mnemonic","nameLocation":"21843:8:6","nodeType":"VariableDeclaration","scope":6105,"src":"21829:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6079,"name":"string","nodeType":"ElementaryTypeName","src":"21829:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6082,"mutability":"mutable","name":"index","nameLocation":"21860:5:6","nodeType":"VariableDeclaration","scope":6105,"src":"21853:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":6081,"name":"uint32","nodeType":"ElementaryTypeName","src":"21853:6:6","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"21828:38:6"},"returnParameters":{"id":6088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6085,"mutability":"mutable","name":"who","nameLocation":"21925:3:6","nodeType":"VariableDeclaration","scope":6105,"src":"21917:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6084,"name":"address","nodeType":"ElementaryTypeName","src":"21917:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6087,"mutability":"mutable","name":"privateKey","nameLocation":"21938:10:6","nodeType":"VariableDeclaration","scope":6105,"src":"21930:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6086,"name":"uint256","nodeType":"ElementaryTypeName","src":"21930:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21916:33:6"},"scope":6247,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6139,"nodeType":"FunctionDefinition","src":"22061:253:6","nodes":[],"body":{"id":6138,"nodeType":"Block","src":"22130:184:6","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6113,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6107,"src":"22148:1:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":6114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22150:6:6","memberName":"length","nodeType":"MemberAccess","src":"22148:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3332","id":6115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22160:2:6","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"22148:14:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473205f6279746573546f55696e74286279746573293a204279746573206c656e67746820657863656564732033322e","id":6117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22164:57:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_b4b692fb570df93e970ec8540fb3e2b3774022687951840fb5414e81f7899b71","typeString":"literal_string \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\""},"value":"StdCheats _bytesToUint(bytes): Bytes length exceeds 32."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b4b692fb570df93e970ec8540fb3e2b3774022687951840fb5414e81f7899b71","typeString":"literal_string \"StdCheats _bytesToUint(bytes): Bytes length exceeds 32.\""}],"id":6112,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"22140:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22140:82:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6119,"nodeType":"ExpressionStatement","src":"22140:82:6"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":6126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22277:2:6","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":6127,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6107,"src":"22282:1:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":6128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22284:6:6","memberName":"length","nodeType":"MemberAccess","src":"22282:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22277:13:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"22267:9:6","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":6124,"name":"bytes","nodeType":"ElementaryTypeName","src":"22271:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":6130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22267:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":6131,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6107,"src":"22293:1:6","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":6122,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22250:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22254:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"22250:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":6132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22250:45:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22298:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6133,"name":"uint256","nodeType":"ElementaryTypeName","src":"22298:7:6","typeDescriptions":{}}}],"id":6135,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22297:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6120,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22239:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6121,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22243:6:6","memberName":"decode","nodeType":"MemberAccess","src":"22239:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22239:68:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6111,"id":6137,"nodeType":"Return","src":"22232:75:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_bytesToUint","nameLocation":"22070:12:6","parameters":{"id":6108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6107,"mutability":"mutable","name":"b","nameLocation":"22096:1:6","nodeType":"VariableDeclaration","scope":6139,"src":"22083:14:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6106,"name":"bytes","nodeType":"ElementaryTypeName","src":"22083:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22082:16:6"},"returnParameters":{"id":6111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6110,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6139,"src":"22121:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6109,"name":"uint256","nodeType":"ElementaryTypeName","src":"22121:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22120:9:6"},"scope":6247,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":6160,"nodeType":"FunctionDefinition","src":"22320:160:6","nodes":[],"body":{"id":6159,"nodeType":"Block","src":"22382:98:6","nodes":[],"statements":[{"clauses":[{"block":{"id":6151,"nodeType":"Block","src":"22412:38:6","statements":[{"expression":{"id":6149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6147,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6142,"src":"22426:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":6148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"22435:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"22426:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6150,"nodeType":"ExpressionStatement","src":"22426:13:6"}]},"errorName":"","id":6152,"nodeType":"TryCatchClause","src":"22412:38:6"},{"block":{"id":6156,"nodeType":"Block","src":"22472:2:6","statements":[]},"errorName":"","id":6157,"nodeType":"TryCatchClause","parameters":{"id":6155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6154,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6157,"src":"22458:12:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6153,"name":"bytes","nodeType":"ElementaryTypeName","src":"22458:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22457:14:6"},"src":"22451:23:6"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6144,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"22396:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22399:10:6","memberName":"activeFork","nodeType":"MemberAccess","referencedDeclaration":17625,"src":"22396:13:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":6146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22396:15:6","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6158,"nodeType":"TryStatement","src":"22392:82:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"isFork","nameLocation":"22329:6:6","parameters":{"id":6140,"nodeType":"ParameterList","parameters":[],"src":"22335:2:6"},"returnParameters":{"id":6143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6142,"mutability":"mutable","name":"status","nameLocation":"22374:6:6","nodeType":"VariableDeclaration","scope":6160,"src":"22369:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6141,"name":"bool","nodeType":"ElementaryTypeName","src":"22369:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22368:13:6"},"scope":6247,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":6169,"nodeType":"ModifierDefinition","src":"22486:84:6","nodes":[],"body":{"id":6168,"nodeType":"Block","src":"22513:57:6","nodes":[],"statements":[{"condition":{"id":6164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22527:9:6","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":6162,"name":"isFork","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6160,"src":"22528:6:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":6163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22528:8:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6167,"nodeType":"IfStatement","src":"22523:41:6","trueBody":{"id":6166,"nodeType":"Block","src":"22538:26:6","statements":[{"id":6165,"nodeType":"PlaceholderStatement","src":"22552:1:6"}]}}]},"name":"skipWhenForking","nameLocation":"22495:15:6","parameters":{"id":6161,"nodeType":"ParameterList","parameters":[],"src":"22510:2:6"},"virtual":false,"visibility":"internal"},{"id":6177,"nodeType":"ModifierDefinition","src":"22576:86:6","nodes":[],"body":{"id":6176,"nodeType":"Block","src":"22606:56:6","nodes":[],"statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"id":6171,"name":"isFork","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6160,"src":"22620:6:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":6172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22620:8:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6175,"nodeType":"IfStatement","src":"22616:40:6","trueBody":{"id":6174,"nodeType":"Block","src":"22630:26:6","statements":[{"id":6173,"nodeType":"PlaceholderStatement","src":"22644:1:6"}]}}]},"name":"skipWhenNotForking","nameLocation":"22585:18:6","parameters":{"id":6170,"nodeType":"ParameterList","parameters":[],"src":"22603:2:6"},"virtual":false,"visibility":"internal"},{"id":6207,"nodeType":"ModifierDefinition","src":"22668:884:6","nodes":[],"body":{"id":6206,"nodeType":"Block","src":"22693:859:6","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6179,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"22703:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22706:16:6","memberName":"pauseGasMetering","nodeType":"MemberAccess","referencedDeclaration":14504,"src":"22703:19:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":6182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22703:21:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6183,"nodeType":"ExpressionStatement","src":"22703:21:6"},{"assignments":[6185],"declarations":[{"constant":false,"id":6185,"mutability":"mutable","name":"gasStartedOff","nameLocation":"23267:13:6","nodeType":"VariableDeclaration","scope":6206,"src":"23262:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6184,"name":"bool","nodeType":"ElementaryTypeName","src":"23262:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":6187,"initialValue":{"id":6186,"name":"gasMeteringOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4189,"src":"23283:14:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"23262:35:6"},{"expression":{"id":6190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6188,"name":"gasMeteringOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4189,"src":"23307:14:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":6189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23324:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"23307:21:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6191,"nodeType":"ExpressionStatement","src":"23307:21:6"},{"id":6192,"nodeType":"PlaceholderStatement","src":"23339:1:6"},{"condition":{"id":6194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23447:14:6","subExpression":{"id":6193,"name":"gasStartedOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6185,"src":"23448:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6205,"nodeType":"IfStatement","src":"23443:103:6","trueBody":{"id":6204,"nodeType":"Block","src":"23463:83:6","statements":[{"expression":{"id":6197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6195,"name":"gasMeteringOff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4189,"src":"23477:14:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":6196,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23494:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"23477:22:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6198,"nodeType":"ExpressionStatement","src":"23477:22:6"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6199,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4184,"src":"23513:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23516:17:6","memberName":"resumeGasMetering","nodeType":"MemberAccess","referencedDeclaration":14520,"src":"23513:20:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":6202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23513:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6203,"nodeType":"ExpressionStatement","src":"23513:22:6"}]}}]},"name":"noGasMetering","nameLocation":"22677:13:6","parameters":{"id":6178,"nodeType":"ParameterList","parameters":[],"src":"22690:2:6"},"virtual":false,"visibility":"internal"},{"id":6219,"nodeType":"FunctionDefinition","src":"23916:276:6","nodes":[],"body":{"id":6218,"nodeType":"Block","src":"23979:213:6","nodes":[],"statements":[{"AST":{"nativeSrc":"24074:44:6","nodeType":"YulBlock","src":"24074:44:6","statements":[{"nativeSrc":"24088:20:6","nodeType":"YulAssignment","src":"24088:20:6","value":{"arguments":[],"functionName":{"name":"chainid","nativeSrc":"24099:7:6","nodeType":"YulIdentifier","src":"24099:7:6"},"nativeSrc":"24099:9:6","nodeType":"YulFunctionCall","src":"24099:9:6"},"variableNames":[{"name":"chainId","nativeSrc":"24088:7:6","nodeType":"YulIdentifier","src":"24088:7:6"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":6210,"isOffset":false,"isSlot":false,"src":"24088:7:6","valueSize":1}],"id":6212,"nodeType":"InlineAssembly","src":"24065:53:6"},{"expression":{"arguments":[{"id":6215,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"24136:4:6","typeDescriptions":{"typeIdentifier":"t_contract$_StdCheatsSafe_$6247","typeString":"contract StdCheatsSafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StdCheatsSafe_$6247","typeString":"contract StdCheatsSafe"}],"id":6214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24128:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6213,"name":"address","nodeType":"ElementaryTypeName","src":"24128:7:6","typeDescriptions":{}}},"id":6216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24128:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6217,"nodeType":"ExpressionStatement","src":"24128:13:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_viewChainId","nameLocation":"23925:12:6","parameters":{"id":6208,"nodeType":"ParameterList","parameters":[],"src":"23937:2:6"},"returnParameters":{"id":6211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6210,"mutability":"mutable","name":"chainId","nameLocation":"23970:7:6","nodeType":"VariableDeclaration","scope":6219,"src":"23962:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6209,"name":"uint256","nodeType":"ElementaryTypeName","src":"23962:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23961:17:6"},"scope":6247,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":6246,"nodeType":"FunctionDefinition","src":"24198:300:6","nodes":[],"body":{"id":6245,"nodeType":"Block","src":"24261:237:6","nodes":[],"statements":[{"assignments":[6229],"declarations":[{"constant":false,"id":6229,"mutability":"mutable","name":"fnIn","nameLocation":"24314:4:6","nodeType":"VariableDeclaration","scope":6245,"src":"24271:47:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"typeName":{"id":6228,"nodeType":"FunctionTypeName","parameterTypes":{"id":6224,"nodeType":"ParameterList","parameters":[],"src":"24279:2:6"},"returnParameterTypes":{"id":6227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6226,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6228,"src":"24305:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6225,"name":"uint256","nodeType":"ElementaryTypeName","src":"24305:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24304:9:6"},"src":"24271:47:6","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":6231,"initialValue":{"id":6230,"name":"_viewChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6219,"src":"24321:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"nodeType":"VariableDeclarationStatement","src":"24271:62:6"},{"assignments":[6237],"declarations":[{"constant":false,"id":6237,"mutability":"mutable","name":"pureChainId","nameLocation":"24386:11:6","nodeType":"VariableDeclaration","scope":6245,"src":"24343:54:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"typeName":{"id":6236,"nodeType":"FunctionTypeName","parameterTypes":{"id":6232,"nodeType":"ParameterList","parameters":[],"src":"24351:2:6"},"returnParameterTypes":{"id":6235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6234,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6236,"src":"24377:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6233,"name":"uint256","nodeType":"ElementaryTypeName","src":"24377:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24376:9:6"},"src":"24343:54:6","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":6238,"nodeType":"VariableDeclarationStatement","src":"24343:54:6"},{"AST":{"nativeSrc":"24416:43:6","nodeType":"YulBlock","src":"24416:43:6","statements":[{"nativeSrc":"24430:19:6","nodeType":"YulAssignment","src":"24430:19:6","value":{"name":"fnIn","nativeSrc":"24445:4:6","nodeType":"YulIdentifier","src":"24445:4:6"},"variableNames":[{"name":"pureChainId","nativeSrc":"24430:11:6","nodeType":"YulIdentifier","src":"24430:11:6"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":6229,"isOffset":false,"isSlot":false,"src":"24445:4:6","valueSize":1},{"declaration":6237,"isOffset":false,"isSlot":false,"src":"24430:11:6","valueSize":1}],"id":6239,"nodeType":"InlineAssembly","src":"24407:52:6"},{"expression":{"id":6243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6240,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6222,"src":"24468:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":6241,"name":"pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6237,"src":"24478:11:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":6242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24478:13:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24468:23:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6244,"nodeType":"ExpressionStatement","src":"24468:23:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pureChainId","nameLocation":"24207:12:6","parameters":{"id":6220,"nodeType":"ParameterList","parameters":[],"src":"24219:2:6"},"returnParameters":{"id":6223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6222,"mutability":"mutable","name":"chainId","nameLocation":"24252:7:6","nodeType":"VariableDeclaration","scope":6246,"src":"24244:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6221,"name":"uint256","nodeType":"ElementaryTypeName","src":"24244:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24243:17:6"},"scope":6247,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[],"canonicalName":"StdCheatsSafe","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[6247],"name":"StdCheatsSafe","nameLocation":"246:13:6","scope":7043,"usedErrors":[],"usedEvents":[]},{"id":7042,"nodeType":"ContractDefinition","src":"24550:7258:6","nodes":[{"id":6253,"nodeType":"UsingForDirective","src":"24601:32:6","nodes":[],"global":false,"libraryName":{"id":6250,"name":"stdStorage","nameLocations":["24607:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":10538,"src":"24607:10:6"},"typeName":{"id":6252,"nodeType":"UserDefinedTypeName","pathNode":{"id":6251,"name":"StdStorage","nameLocations":["24622:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"24622:10:6"},"referencedDeclaration":8581,"src":"24622:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}}},{"id":6256,"nodeType":"VariableDeclaration","src":"24639:27:6","nodes":[],"constant":false,"mutability":"mutable","name":"stdstore","nameLocation":"24658:8:6","scope":7042,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage","typeString":"struct StdStorage"},"typeName":{"id":6255,"nodeType":"UserDefinedTypeName","pathNode":{"id":6254,"name":"StdStorage","nameLocations":["24639:10:6"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"24639:10:6"},"referencedDeclaration":8581,"src":"24639:10:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"private"},{"id":6273,"nodeType":"VariableDeclaration","src":"24672:84:6","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"24692:2:6","scope":7042,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"},"typeName":{"id":6258,"nodeType":"UserDefinedTypeName","pathNode":{"id":6257,"name":"Vm","nameLocations":["24672:2:6"],"nodeType":"IdentifierPath","referencedDeclaration":18679,"src":"24672:2:6"},"referencedDeclaration":18679,"src":"24672:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":6267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24734:17:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":6266,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"24724:9:6","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":6268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24724:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":6265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24716:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6264,"name":"uint256","nodeType":"ElementaryTypeName","src":"24716:7:6","typeDescriptions":{}}},"id":6269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24716:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24708:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":6262,"name":"uint160","nodeType":"ElementaryTypeName","src":"24708:7:6","typeDescriptions":{}}},"id":6270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24708:46:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":6261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24700:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6260,"name":"address","nodeType":"ElementaryTypeName","src":"24700:7:6","typeDescriptions":{}}},"id":6271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24700:55:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6259,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"24697:2:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18679_$","typeString":"type(contract Vm)"}},"id":6272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24697:59:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"visibility":"private"},{"id":6276,"nodeType":"VariableDeclaration","src":"24762:86:6","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE2_ADDRESS","nameLocation":"24787:16:6","scope":7042,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6274,"name":"address","nodeType":"ElementaryTypeName","src":"24762:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":6275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24806:42:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"private"},{"id":6292,"nodeType":"FunctionDefinition","src":"24925:100:6","nodes":[],"body":{"id":6291,"nodeType":"Block","src":"24970:55:6","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6284,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"24988:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24991:17:6","memberName":"getBlockTimestamp","nodeType":"MemberAccess","referencedDeclaration":14371,"src":"24988:20:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":6286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24988:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":6287,"name":"time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6278,"src":"25013:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24988:29:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6281,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"24980:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24983:4:6","memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":18276,"src":"24980:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":6289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24980:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6290,"nodeType":"ExpressionStatement","src":"24980:38:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"skip","nameLocation":"24934:4:6","parameters":{"id":6279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6278,"mutability":"mutable","name":"time","nameLocation":"24947:4:6","nodeType":"VariableDeclaration","scope":6292,"src":"24939:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6277,"name":"uint256","nodeType":"ElementaryTypeName","src":"24939:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24938:14:6"},"returnParameters":{"id":6280,"nodeType":"ParameterList","parameters":[],"src":"24970:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6308,"nodeType":"FunctionDefinition","src":"25031:102:6","nodes":[],"body":{"id":6307,"nodeType":"Block","src":"25078:55:6","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6300,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25096:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25099:17:6","memberName":"getBlockTimestamp","nodeType":"MemberAccess","referencedDeclaration":14371,"src":"25096:20:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":6302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25096:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6303,"name":"time","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6294,"src":"25121:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25096:29:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6297,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25088:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25091:4:6","memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":18276,"src":"25088:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":6305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25088:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6306,"nodeType":"ExpressionStatement","src":"25088:38:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"rewind","nameLocation":"25040:6:6","parameters":{"id":6295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6294,"mutability":"mutable","name":"time","nameLocation":"25055:4:6","nodeType":"VariableDeclaration","scope":6308,"src":"25047:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6293,"name":"uint256","nodeType":"ElementaryTypeName","src":"25047:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25046:14:6"},"returnParameters":{"id":6296,"nodeType":"ParameterList","parameters":[],"src":"25078:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6329,"nodeType":"FunctionDefinition","src":"25196:124:6","nodes":[],"body":{"id":6328,"nodeType":"Block","src":"25246:74:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6316,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6310,"src":"25264:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":6319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":6317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25275:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":6318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25280:3:6","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"25275:8:6","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":6313,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25256:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25259:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"25256:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25256:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6321,"nodeType":"ExpressionStatement","src":"25256:28:6"},{"expression":{"arguments":[{"id":6325,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6310,"src":"25303:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6322,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25294:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25297:5:6","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"25294:8:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":6326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25294:19:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6327,"nodeType":"ExpressionStatement","src":"25294:19:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"25205:4:6","parameters":{"id":6311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6310,"mutability":"mutable","name":"msgSender","nameLocation":"25218:9:6","nodeType":"VariableDeclaration","scope":6329,"src":"25210:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6309,"name":"address","nodeType":"ElementaryTypeName","src":"25210:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25209:19:6"},"returnParameters":{"id":6312,"nodeType":"ParameterList","parameters":[],"src":"25246:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6350,"nodeType":"FunctionDefinition","src":"25326:134:6","nodes":[],"body":{"id":6349,"nodeType":"Block","src":"25390:70:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6339,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6331,"src":"25408:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6340,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6333,"src":"25419:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6336,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25400:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25403:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"25400:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25400:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6342,"nodeType":"ExpressionStatement","src":"25400:24:6"},{"expression":{"arguments":[{"id":6346,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6331,"src":"25443:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6343,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25434:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25437:5:6","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17968,"src":"25434:8:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":6347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25434:19:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6348,"nodeType":"ExpressionStatement","src":"25434:19:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"25335:4:6","parameters":{"id":6334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6331,"mutability":"mutable","name":"msgSender","nameLocation":"25348:9:6","nodeType":"VariableDeclaration","scope":6350,"src":"25340:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6330,"name":"address","nodeType":"ElementaryTypeName","src":"25340:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6333,"mutability":"mutable","name":"give","nameLocation":"25367:4:6","nodeType":"VariableDeclaration","scope":6350,"src":"25359:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6332,"name":"uint256","nodeType":"ElementaryTypeName","src":"25359:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25339:33:6"},"returnParameters":{"id":6335,"nodeType":"ParameterList","parameters":[],"src":"25390:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6374,"nodeType":"FunctionDefinition","src":"25466:148:6","nodes":[],"body":{"id":6373,"nodeType":"Block","src":"25532:82:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6360,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6352,"src":"25550:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":6363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":6361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25561:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":6362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25566:3:6","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"25561:8:6","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":6357,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25542:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25545:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"25542:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25542:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6365,"nodeType":"ExpressionStatement","src":"25542:28:6"},{"expression":{"arguments":[{"id":6369,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6352,"src":"25589:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6370,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6354,"src":"25600:6:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6366,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25580:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25583:5:6","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17976,"src":"25580:8:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":6371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25580:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6372,"nodeType":"ExpressionStatement","src":"25580:27:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"25475:4:6","parameters":{"id":6355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6352,"mutability":"mutable","name":"msgSender","nameLocation":"25488:9:6","nodeType":"VariableDeclaration","scope":6374,"src":"25480:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6351,"name":"address","nodeType":"ElementaryTypeName","src":"25480:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6354,"mutability":"mutable","name":"origin","nameLocation":"25507:6:6","nodeType":"VariableDeclaration","scope":6374,"src":"25499:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6353,"name":"address","nodeType":"ElementaryTypeName","src":"25499:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25479:35:6"},"returnParameters":{"id":6356,"nodeType":"ParameterList","parameters":[],"src":"25532:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6398,"nodeType":"FunctionDefinition","src":"25620:158:6","nodes":[],"body":{"id":6397,"nodeType":"Block","src":"25700:78:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6386,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6376,"src":"25718:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6387,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6380,"src":"25729:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6383,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25710:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25713:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"25710:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25710:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6389,"nodeType":"ExpressionStatement","src":"25710:24:6"},{"expression":{"arguments":[{"id":6393,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6376,"src":"25753:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6394,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6378,"src":"25764:6:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6390,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25744:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25747:5:6","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":17976,"src":"25744:8:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":6395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25744:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6396,"nodeType":"ExpressionStatement","src":"25744:27:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hoax","nameLocation":"25629:4:6","parameters":{"id":6381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6376,"mutability":"mutable","name":"msgSender","nameLocation":"25642:9:6","nodeType":"VariableDeclaration","scope":6398,"src":"25634:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6375,"name":"address","nodeType":"ElementaryTypeName","src":"25634:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6378,"mutability":"mutable","name":"origin","nameLocation":"25661:6:6","nodeType":"VariableDeclaration","scope":6398,"src":"25653:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6377,"name":"address","nodeType":"ElementaryTypeName","src":"25653:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6380,"mutability":"mutable","name":"give","nameLocation":"25677:4:6","nodeType":"VariableDeclaration","scope":6398,"src":"25669:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6379,"name":"uint256","nodeType":"ElementaryTypeName","src":"25669:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25633:49:6"},"returnParameters":{"id":6382,"nodeType":"ParameterList","parameters":[],"src":"25700:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6419,"nodeType":"FunctionDefinition","src":"25849:134:6","nodes":[],"body":{"id":6418,"nodeType":"Block","src":"25904:79:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6406,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6400,"src":"25922:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":6409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":6407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25933:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":6408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25938:3:6","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"25933:8:6","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":6403,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25914:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25917:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"25914:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25914:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6411,"nodeType":"ExpressionStatement","src":"25914:28:6"},{"expression":{"arguments":[{"id":6415,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6400,"src":"25966:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6412,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"25952:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25955:10:6","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"25952:13:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":6416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25952:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6417,"nodeType":"ExpressionStatement","src":"25952:24:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"25858:9:6","parameters":{"id":6401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6400,"mutability":"mutable","name":"msgSender","nameLocation":"25876:9:6","nodeType":"VariableDeclaration","scope":6419,"src":"25868:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6399,"name":"address","nodeType":"ElementaryTypeName","src":"25868:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25867:19:6"},"returnParameters":{"id":6402,"nodeType":"ParameterList","parameters":[],"src":"25904:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6440,"nodeType":"FunctionDefinition","src":"25989:144:6","nodes":[],"body":{"id":6439,"nodeType":"Block","src":"26058:75:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6429,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6421,"src":"26076:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6430,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6423,"src":"26087:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6426,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26068:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26071:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"26068:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26068:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6432,"nodeType":"ExpressionStatement","src":"26068:24:6"},{"expression":{"arguments":[{"id":6436,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6421,"src":"26116:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6433,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26102:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26105:10:6","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"26102:13:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":6437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26102:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6438,"nodeType":"ExpressionStatement","src":"26102:24:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"25998:9:6","parameters":{"id":6424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6421,"mutability":"mutable","name":"msgSender","nameLocation":"26016:9:6","nodeType":"VariableDeclaration","scope":6440,"src":"26008:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6420,"name":"address","nodeType":"ElementaryTypeName","src":"26008:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6423,"mutability":"mutable","name":"give","nameLocation":"26035:4:6","nodeType":"VariableDeclaration","scope":6440,"src":"26027:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6422,"name":"uint256","nodeType":"ElementaryTypeName","src":"26027:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26007:33:6"},"returnParameters":{"id":6425,"nodeType":"ParameterList","parameters":[],"src":"26058:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6464,"nodeType":"FunctionDefinition","src":"26252:158:6","nodes":[],"body":{"id":6463,"nodeType":"Block","src":"26323:87:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6450,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6442,"src":"26341:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":6453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":6451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26352:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":6452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26357:3:6","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"26352:8:6","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}],"expression":{"id":6447,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26333:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26336:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"26333:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26333:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6455,"nodeType":"ExpressionStatement","src":"26333:28:6"},{"expression":{"arguments":[{"id":6459,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6442,"src":"26385:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6460,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6444,"src":"26396:6:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6456,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26371:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26374:10:6","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18172,"src":"26371:13:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":6461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26371:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6462,"nodeType":"ExpressionStatement","src":"26371:32:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"26261:9:6","parameters":{"id":6445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6442,"mutability":"mutable","name":"msgSender","nameLocation":"26279:9:6","nodeType":"VariableDeclaration","scope":6464,"src":"26271:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6441,"name":"address","nodeType":"ElementaryTypeName","src":"26271:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6444,"mutability":"mutable","name":"origin","nameLocation":"26298:6:6","nodeType":"VariableDeclaration","scope":6464,"src":"26290:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6443,"name":"address","nodeType":"ElementaryTypeName","src":"26290:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26270:35:6"},"returnParameters":{"id":6446,"nodeType":"ParameterList","parameters":[],"src":"26323:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6488,"nodeType":"FunctionDefinition","src":"26416:168:6","nodes":[],"body":{"id":6487,"nodeType":"Block","src":"26501:83:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6476,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6466,"src":"26519:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6477,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6470,"src":"26530:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6473,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26511:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26514:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"26511:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26511:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6479,"nodeType":"ExpressionStatement","src":"26511:24:6"},{"expression":{"arguments":[{"id":6483,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6466,"src":"26559:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6484,"name":"origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6468,"src":"26570:6:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6480,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26545:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26548:10:6","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18172,"src":"26545:13:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":6485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26545:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6486,"nodeType":"ExpressionStatement","src":"26545:32:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"startHoax","nameLocation":"26425:9:6","parameters":{"id":6471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6466,"mutability":"mutable","name":"msgSender","nameLocation":"26443:9:6","nodeType":"VariableDeclaration","scope":6488,"src":"26435:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6465,"name":"address","nodeType":"ElementaryTypeName","src":"26435:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6468,"mutability":"mutable","name":"origin","nameLocation":"26462:6:6","nodeType":"VariableDeclaration","scope":6488,"src":"26454:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6467,"name":"address","nodeType":"ElementaryTypeName","src":"26454:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6470,"mutability":"mutable","name":"give","nameLocation":"26478:4:6","nodeType":"VariableDeclaration","scope":6488,"src":"26470:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6469,"name":"uint256","nodeType":"ElementaryTypeName","src":"26470:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26434:49:6"},"returnParameters":{"id":6472,"nodeType":"ParameterList","parameters":[],"src":"26501:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6509,"nodeType":"FunctionDefinition","src":"26590:218:6","nodes":[],"body":{"id":6508,"nodeType":"Block","src":"26647:161:6","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"6368616e67655072616e6b20697320646570726563617465642e20506c656173652075736520766d2e73746172745072616e6b20696e73746561642e","id":6494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26680:62:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_bf508b7e551ac53ebc43878423035cd08b5a26a319837cc862ef3353a105823a","typeString":"literal_string \"changePrank is deprecated. Please use vm.startPrank instead.\""},"value":"changePrank is deprecated. Please use vm.startPrank instead."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bf508b7e551ac53ebc43878423035cd08b5a26a319837cc862ef3353a105823a","typeString":"literal_string \"changePrank is deprecated. Please use vm.startPrank instead.\""}],"id":6493,"name":"console2_log_StdCheats","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7041,"src":"26657:22:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":6495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26657:86:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6496,"nodeType":"ExpressionStatement","src":"26657:86:6"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6497,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26753:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26756:9:6","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"26753:12:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":6500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26753:14:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6501,"nodeType":"ExpressionStatement","src":"26753:14:6"},{"expression":{"arguments":[{"id":6505,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6490,"src":"26791:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6502,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26777:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26780:10:6","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18164,"src":"26777:13:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":6506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26777:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6507,"nodeType":"ExpressionStatement","src":"26777:24:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"changePrank","nameLocation":"26599:11:6","parameters":{"id":6491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6490,"mutability":"mutable","name":"msgSender","nameLocation":"26619:9:6","nodeType":"VariableDeclaration","scope":6509,"src":"26611:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6489,"name":"address","nodeType":"ElementaryTypeName","src":"26611:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26610:19:6"},"returnParameters":{"id":6492,"nodeType":"ParameterList","parameters":[],"src":"26647:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6529,"nodeType":"FunctionDefinition","src":"26814:150:6","nodes":[],"body":{"id":6528,"nodeType":"Block","src":"26889:75:6","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6516,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26899:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26902:9:6","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":18208,"src":"26899:12:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":6519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26899:14:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6520,"nodeType":"ExpressionStatement","src":"26899:14:6"},{"expression":{"arguments":[{"id":6524,"name":"msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6511,"src":"26937:9:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6525,"name":"txOrigin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6513,"src":"26948:8:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6521,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"26923:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26926:10:6","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":18172,"src":"26923:13:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":6526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26923:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6527,"nodeType":"ExpressionStatement","src":"26923:34:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"changePrank","nameLocation":"26823:11:6","parameters":{"id":6514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6511,"mutability":"mutable","name":"msgSender","nameLocation":"26843:9:6","nodeType":"VariableDeclaration","scope":6529,"src":"26835:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6510,"name":"address","nodeType":"ElementaryTypeName","src":"26835:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6513,"mutability":"mutable","name":"txOrigin","nameLocation":"26862:8:6","nodeType":"VariableDeclaration","scope":6529,"src":"26854:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6512,"name":"address","nodeType":"ElementaryTypeName","src":"26854:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26834:37:6"},"returnParameters":{"id":6515,"nodeType":"ParameterList","parameters":[],"src":"26889:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6544,"nodeType":"FunctionDefinition","src":"27055:91:6","nodes":[],"body":{"id":6543,"nodeType":"Block","src":"27112:34:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6539,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6531,"src":"27130:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6540,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6533,"src":"27134:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6536,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"27122:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27125:4:6","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":17746,"src":"27122:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":6541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27122:17:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6542,"nodeType":"ExpressionStatement","src":"27122:17:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deal","nameLocation":"27064:4:6","parameters":{"id":6534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6531,"mutability":"mutable","name":"to","nameLocation":"27077:2:6","nodeType":"VariableDeclaration","scope":6544,"src":"27069:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6530,"name":"address","nodeType":"ElementaryTypeName","src":"27069:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6533,"mutability":"mutable","name":"give","nameLocation":"27089:4:6","nodeType":"VariableDeclaration","scope":6544,"src":"27081:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6532,"name":"uint256","nodeType":"ElementaryTypeName","src":"27081:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27068:26:6"},"returnParameters":{"id":6535,"nodeType":"ParameterList","parameters":[],"src":"27112:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6561,"nodeType":"FunctionDefinition","src":"27270:117:6","nodes":[],"body":{"id":6560,"nodeType":"Block","src":"27342:45:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6554,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6546,"src":"27357:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6555,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6548,"src":"27364:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6556,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6550,"src":"27368:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":6557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27374:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":6553,"name":"deal","nodeType":"Identifier","overloadedDeclarations":[6544,6561,6684],"referencedDeclaration":6684,"src":"27352:4:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,bool)"}},"id":6558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27352:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6559,"nodeType":"ExpressionStatement","src":"27352:28:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deal","nameLocation":"27279:4:6","parameters":{"id":6551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6546,"mutability":"mutable","name":"token","nameLocation":"27292:5:6","nodeType":"VariableDeclaration","scope":6561,"src":"27284:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6545,"name":"address","nodeType":"ElementaryTypeName","src":"27284:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6548,"mutability":"mutable","name":"to","nameLocation":"27307:2:6","nodeType":"VariableDeclaration","scope":6561,"src":"27299:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6547,"name":"address","nodeType":"ElementaryTypeName","src":"27299:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6550,"mutability":"mutable","name":"give","nameLocation":"27319:4:6","nodeType":"VariableDeclaration","scope":6561,"src":"27311:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6549,"name":"uint256","nodeType":"ElementaryTypeName","src":"27311:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27283:41:6"},"returnParameters":{"id":6552,"nodeType":"ParameterList","parameters":[],"src":"27342:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6581,"nodeType":"FunctionDefinition","src":"27513:147:6","nodes":[],"body":{"id":6580,"nodeType":"Block","src":"27604:56:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6573,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6563,"src":"27626:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6574,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6565,"src":"27633:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6575,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6567,"src":"27637:2:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6576,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6569,"src":"27641:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":6577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"27647:5:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":6572,"name":"dealERC1155","nodeType":"Identifier","overloadedDeclarations":[6581,6805],"referencedDeclaration":6805,"src":"27614:11:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,address,uint256,uint256,bool)"}},"id":6578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27614:39:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6579,"nodeType":"ExpressionStatement","src":"27614:39:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dealERC1155","nameLocation":"27522:11:6","parameters":{"id":6570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6563,"mutability":"mutable","name":"token","nameLocation":"27542:5:6","nodeType":"VariableDeclaration","scope":6581,"src":"27534:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6562,"name":"address","nodeType":"ElementaryTypeName","src":"27534:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6565,"mutability":"mutable","name":"to","nameLocation":"27557:2:6","nodeType":"VariableDeclaration","scope":6581,"src":"27549:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6564,"name":"address","nodeType":"ElementaryTypeName","src":"27549:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6567,"mutability":"mutable","name":"id","nameLocation":"27569:2:6","nodeType":"VariableDeclaration","scope":6581,"src":"27561:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6566,"name":"uint256","nodeType":"ElementaryTypeName","src":"27561:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6569,"mutability":"mutable","name":"give","nameLocation":"27581:4:6","nodeType":"VariableDeclaration","scope":6581,"src":"27573:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6568,"name":"uint256","nodeType":"ElementaryTypeName","src":"27573:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27533:53:6"},"returnParameters":{"id":6571,"nodeType":"ParameterList","parameters":[],"src":"27604:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6684,"nodeType":"FunctionDefinition","src":"27666:837:6","nodes":[],"body":{"id":6683,"nodeType":"Block","src":"27751:752:6","nodes":[],"statements":[{"assignments":[null,6593],"declarations":[null,{"constant":false,"id":6593,"mutability":"mutable","name":"balData","nameLocation":"27808:7:6","nodeType":"VariableDeclaration","scope":6683,"src":"27795:20:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6592,"name":"bytes","nodeType":"ElementaryTypeName","src":"27795:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6602,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783730613038323331","id":6598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27859:10:6","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"id":6599,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6585,"src":"27871:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6596,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27836:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6597,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27840:18:6","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"27836:22:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27836:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6594,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6583,"src":"27819:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27825:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"27819:16:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27819:56:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"27792:83:6"},{"assignments":[6604],"declarations":[{"constant":false,"id":6604,"mutability":"mutable","name":"prevBal","nameLocation":"27893:7:6","nodeType":"VariableDeclaration","scope":6683,"src":"27885:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6603,"name":"uint256","nodeType":"ElementaryTypeName","src":"27885:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6612,"initialValue":{"arguments":[{"id":6607,"name":"balData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6593,"src":"27914:7:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6609,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27924:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6608,"name":"uint256","nodeType":"ElementaryTypeName","src":"27924:7:6","typeDescriptions":{}}}],"id":6610,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"27923:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6605,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27903:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27907:6:6","memberName":"decode","nodeType":"MemberAccess","src":"27903:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27903:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27885:48:6"},{"expression":{"arguments":[{"id":6625,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6587,"src":"28036:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6622,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6585,"src":"28018:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"hexValue":"30783730613038323331","id":6619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27997:10:6","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"}],"expression":{"arguments":[{"id":6616,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6583,"src":"27986:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6613,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6256,"src":"27970:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage","typeString":"struct StdStorage storage ref"}},"id":6615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27979:6:6","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":10013,"src":"27970:15:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27970:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6618,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27993:3:6","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":10031,"src":"27970:26:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27970:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6621,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28009:8:6","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":10067,"src":"27970:47:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27970:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6624,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28022:13:6","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":10207,"src":"27970:65:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27970:71:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6627,"nodeType":"ExpressionStatement","src":"27970:71:6"},{"condition":{"id":6628,"name":"adjust","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6589,"src":"28087:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6682,"nodeType":"IfStatement","src":"28083:414:6","trueBody":{"id":6681,"nodeType":"Block","src":"28095:402:6","statements":[{"assignments":[null,6630],"declarations":[null,{"constant":false,"id":6630,"mutability":"mutable","name":"totSupData","nameLocation":"28125:10:6","nodeType":"VariableDeclaration","scope":6681,"src":"28112:23:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6629,"name":"bytes","nodeType":"ElementaryTypeName","src":"28112:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6638,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783138313630646464","id":6635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28179:10:6","typeDescriptions":{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"},"value":"0x18160ddd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"}],"expression":{"id":6633,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28156:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28160:18:6","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"28156:22:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28156:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6631,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6583,"src":"28139:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28145:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"28139:16:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28139:52:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"28109:82:6"},{"assignments":[6640],"declarations":[{"constant":false,"id":6640,"mutability":"mutable","name":"totSup","nameLocation":"28213:6:6","nodeType":"VariableDeclaration","scope":6681,"src":"28205:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6639,"name":"uint256","nodeType":"ElementaryTypeName","src":"28205:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6648,"initialValue":{"arguments":[{"id":6643,"name":"totSupData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6630,"src":"28233:10:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28246:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6644,"name":"uint256","nodeType":"ElementaryTypeName","src":"28246:7:6","typeDescriptions":{}}}],"id":6646,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"28245:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6641,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28222:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28226:6:6","memberName":"decode","nodeType":"MemberAccess","src":"28222:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28222:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28205:50:6"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6649,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6587,"src":"28273:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6650,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6604,"src":"28280:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28273:14:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":6667,"nodeType":"Block","src":"28354:59:6","statements":[{"expression":{"id":6665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6660,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6640,"src":"28372:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6661,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6587,"src":"28383:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6662,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6604,"src":"28390:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28383:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6664,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"28382:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28372:26:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6666,"nodeType":"ExpressionStatement","src":"28372:26:6"}]},"id":6668,"nodeType":"IfStatement","src":"28269:144:6","trueBody":{"id":6659,"nodeType":"Block","src":"28289:59:6","statements":[{"expression":{"id":6657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6652,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6640,"src":"28307:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6653,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6604,"src":"28318:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6654,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6587,"src":"28328:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28318:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6656,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"28317:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28307:26:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6658,"nodeType":"ExpressionStatement","src":"28307:26:6"}]}},{"expression":{"arguments":[{"id":6678,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6640,"src":"28479:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"hexValue":"30783138313630646464","id":6675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28453:10:6","typeDescriptions":{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"},"value":"0x18160ddd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_404098525_by_1","typeString":"int_const 404098525"}],"expression":{"arguments":[{"id":6672,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6583,"src":"28442:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6669,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6256,"src":"28426:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage","typeString":"struct StdStorage storage ref"}},"id":6671,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28435:6:6","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":10013,"src":"28426:15:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28426:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6674,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28449:3:6","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":10031,"src":"28426:26:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28426:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6677,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28465:13:6","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":10207,"src":"28426:52:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28426:60:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6680,"nodeType":"ExpressionStatement","src":"28426:60:6"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"deal","nameLocation":"27675:4:6","parameters":{"id":6590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6583,"mutability":"mutable","name":"token","nameLocation":"27688:5:6","nodeType":"VariableDeclaration","scope":6684,"src":"27680:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6582,"name":"address","nodeType":"ElementaryTypeName","src":"27680:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6585,"mutability":"mutable","name":"to","nameLocation":"27703:2:6","nodeType":"VariableDeclaration","scope":6684,"src":"27695:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6584,"name":"address","nodeType":"ElementaryTypeName","src":"27695:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6587,"mutability":"mutable","name":"give","nameLocation":"27715:4:6","nodeType":"VariableDeclaration","scope":6684,"src":"27707:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6586,"name":"uint256","nodeType":"ElementaryTypeName","src":"27707:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6589,"mutability":"mutable","name":"adjust","nameLocation":"27726:6:6","nodeType":"VariableDeclaration","scope":6684,"src":"27721:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6588,"name":"bool","nodeType":"ElementaryTypeName","src":"27721:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27679:54:6"},"returnParameters":{"id":6591,"nodeType":"ParameterList","parameters":[],"src":"27751:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6805,"nodeType":"FunctionDefinition","src":"28509:1070:6","nodes":[],"body":{"id":6804,"nodeType":"Block","src":"28613:966:6","nodes":[],"statements":[{"assignments":[null,6698],"declarations":[null,{"constant":false,"id":6698,"mutability":"mutable","name":"balData","nameLocation":"28670:7:6","nodeType":"VariableDeclaration","scope":6804,"src":"28657:20:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6697,"name":"bytes","nodeType":"ElementaryTypeName","src":"28657:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6708,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783030666464353865","id":6703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28721:10:6","typeDescriptions":{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"},"value":"0x00fdd58e"},{"id":6704,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6688,"src":"28733:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6705,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6690,"src":"28737:2:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6701,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28698:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28702:18:6","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"28698:22:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28698:42:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6699,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6686,"src":"28681:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28687:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"28681:16:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28681:60:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"28654:87:6"},{"assignments":[6710],"declarations":[{"constant":false,"id":6710,"mutability":"mutable","name":"prevBal","nameLocation":"28759:7:6","nodeType":"VariableDeclaration","scope":6804,"src":"28751:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6709,"name":"uint256","nodeType":"ElementaryTypeName","src":"28751:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6718,"initialValue":{"arguments":[{"id":6713,"name":"balData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6698,"src":"28780:7:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6715,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28790:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6714,"name":"uint256","nodeType":"ElementaryTypeName","src":"28790:7:6","typeDescriptions":{}}}],"id":6716,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"28789:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6711,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28769:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28773:6:6","memberName":"decode","nodeType":"MemberAccess","src":"28769:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28769:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28751:48:6"},{"expression":{"arguments":[{"id":6734,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6692,"src":"28915:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6731,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6690,"src":"28897:2:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6728,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6688,"src":"28884:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"hexValue":"30783030666464353865","id":6725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28863:10:6","typeDescriptions":{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"},"value":"0x00fdd58e"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_16635278_by_1","typeString":"int_const 16635278"}],"expression":{"arguments":[{"id":6722,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6686,"src":"28852:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6719,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6256,"src":"28836:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage","typeString":"struct StdStorage storage ref"}},"id":6721,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28845:6:6","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":10013,"src":"28836:15:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28836:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6724,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28859:3:6","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":10031,"src":"28836:26:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28836:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6727,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28875:8:6","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":10067,"src":"28836:47:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28836:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6730,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28888:8:6","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":10085,"src":"28836:60:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":6732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28836:64:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6733,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28901:13:6","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":10207,"src":"28836:78:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28836:84:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6736,"nodeType":"ExpressionStatement","src":"28836:84:6"},{"condition":{"id":6737,"name":"adjust","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6694,"src":"28966:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6803,"nodeType":"IfStatement","src":"28962:611:6","trueBody":{"id":6802,"nodeType":"Block","src":"28974:599:6","statements":[{"assignments":[null,6739],"declarations":[null,{"constant":false,"id":6739,"mutability":"mutable","name":"totSupData","nameLocation":"29004:10:6","nodeType":"VariableDeclaration","scope":6802,"src":"28991:23:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6738,"name":"bytes","nodeType":"ElementaryTypeName","src":"28991:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6748,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30786264383562303339","id":6744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29058:10:6","typeDescriptions":{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"},"value":"0xbd85b039"},{"id":6745,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6690,"src":"29070:2:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6742,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29035:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6743,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29039:18:6","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"29035:22:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29035:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6740,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6686,"src":"29018:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29024:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"29018:16:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29018:56:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"28988:86:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":6750,"name":"totSupData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6739,"src":"29113:10:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":6751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29124:6:6","memberName":"length","nodeType":"MemberAccess","src":"29113:17:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":6752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29134:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29113:22:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465616c28616464726573732c616464726573732c75696e742c75696e742c626f6f6c293a2074617267657420636f6e7472616374206973206e6f742045524331313535537570706c792e","id":6754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29153:87:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_cbb83c7e91c85bace1157a2500e6a0534b39a660e193440ca8d86c890bf3fb8c","typeString":"literal_string \"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply.\""},"value":"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cbb83c7e91c85bace1157a2500e6a0534b39a660e193440ca8d86c890bf3fb8c","typeString":"literal_string \"StdCheats deal(address,address,uint,uint,bool): target contract is not ERC1155Supply.\""}],"id":6749,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"29088:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29088:166:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6756,"nodeType":"ExpressionStatement","src":"29088:166:6"},{"assignments":[6758],"declarations":[{"constant":false,"id":6758,"mutability":"mutable","name":"totSup","nameLocation":"29276:6:6","nodeType":"VariableDeclaration","scope":6802,"src":"29268:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6757,"name":"uint256","nodeType":"ElementaryTypeName","src":"29268:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6766,"initialValue":{"arguments":[{"id":6761,"name":"totSupData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6739,"src":"29296:10:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29309:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6762,"name":"uint256","nodeType":"ElementaryTypeName","src":"29309:7:6","typeDescriptions":{}}}],"id":6764,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"29308:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6759,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29285:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29289:6:6","memberName":"decode","nodeType":"MemberAccess","src":"29285:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29285:33:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29268:50:6"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6767,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6692,"src":"29336:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6768,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6710,"src":"29343:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29336:14:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":6785,"nodeType":"Block","src":"29417:59:6","statements":[{"expression":{"id":6783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6778,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6758,"src":"29435:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6779,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6692,"src":"29446:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6780,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6710,"src":"29453:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29446:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6782,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29445:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29435:26:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6784,"nodeType":"ExpressionStatement","src":"29435:26:6"}]},"id":6786,"nodeType":"IfStatement","src":"29332:144:6","trueBody":{"id":6777,"nodeType":"Block","src":"29352:59:6","statements":[{"expression":{"id":6775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6770,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6758,"src":"29370:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6771,"name":"prevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6710,"src":"29381:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6772,"name":"give","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6692,"src":"29391:4:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29381:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":6774,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29380:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29370:26:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6776,"nodeType":"ExpressionStatement","src":"29370:26:6"}]}},{"expression":{"arguments":[{"id":6799,"name":"totSup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6758,"src":"29555:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6796,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6690,"src":"29537:2:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"hexValue":"30786264383562303339","id":6793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29516:10:6","typeDescriptions":{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"},"value":"0xbd85b039"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3179655225_by_1","typeString":"int_const 3179655225"}],"expression":{"arguments":[{"id":6790,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6686,"src":"29505:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6787,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6256,"src":"29489:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage","typeString":"struct StdStorage storage ref"}},"id":6789,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29498:6:6","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":10013,"src":"29489:15:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29489:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6792,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29512:3:6","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":10031,"src":"29489:26:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29489:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6795,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29528:8:6","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":10085,"src":"29489:47:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":6797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29489:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6798,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29541:13:6","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":10207,"src":"29489:65:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29489:73:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6801,"nodeType":"ExpressionStatement","src":"29489:73:6"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"dealERC1155","nameLocation":"28518:11:6","parameters":{"id":6695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6686,"mutability":"mutable","name":"token","nameLocation":"28538:5:6","nodeType":"VariableDeclaration","scope":6805,"src":"28530:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6685,"name":"address","nodeType":"ElementaryTypeName","src":"28530:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6688,"mutability":"mutable","name":"to","nameLocation":"28553:2:6","nodeType":"VariableDeclaration","scope":6805,"src":"28545:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6687,"name":"address","nodeType":"ElementaryTypeName","src":"28545:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6690,"mutability":"mutable","name":"id","nameLocation":"28565:2:6","nodeType":"VariableDeclaration","scope":6805,"src":"28557:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6689,"name":"uint256","nodeType":"ElementaryTypeName","src":"28557:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6692,"mutability":"mutable","name":"give","nameLocation":"28577:4:6","nodeType":"VariableDeclaration","scope":6805,"src":"28569:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6691,"name":"uint256","nodeType":"ElementaryTypeName","src":"28569:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6694,"mutability":"mutable","name":"adjust","nameLocation":"28588:6:6","nodeType":"VariableDeclaration","scope":6805,"src":"28583:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6693,"name":"bool","nodeType":"ElementaryTypeName","src":"28583:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28529:66:6"},"returnParameters":{"id":6696,"nodeType":"ParameterList","parameters":[],"src":"28613:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6934,"nodeType":"FunctionDefinition","src":"29585:1139:6","nodes":[],"body":{"id":6933,"nodeType":"Block","src":"29661:1063:6","nodes":[],"statements":[{"assignments":[6815,6817],"declarations":[{"constant":false,"id":6815,"mutability":"mutable","name":"successMinted","nameLocation":"29746:13:6","nodeType":"VariableDeclaration","scope":6933,"src":"29741:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6814,"name":"bool","nodeType":"ElementaryTypeName","src":"29741:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6817,"mutability":"mutable","name":"ownerData","nameLocation":"29774:9:6","nodeType":"VariableDeclaration","scope":6933,"src":"29761:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6816,"name":"bytes","nodeType":"ElementaryTypeName","src":"29761:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6826,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783633353232313165","id":6822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29827:10:6","typeDescriptions":{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"},"value":"0x6352211e"},{"id":6823,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6811,"src":"29839:2:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6820,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29804:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29808:18:6","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"29804:22:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29804:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6818,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6807,"src":"29787:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29793:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"29787:16:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29787:56:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"29740:103:6"},{"expression":{"arguments":[{"id":6828,"name":"successMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6815,"src":"29861:13:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465616c28616464726573732c616464726573732c75696e742c626f6f6c293a206964206e6f74206d696e7465642e","id":6829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29876:59:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9f524ccbde1b7d94051482eee863c075921757bac915f984f010837545a169e","typeString":"literal_string \"StdCheats deal(address,address,uint,bool): id not minted.\""},"value":"StdCheats deal(address,address,uint,bool): id not minted."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e9f524ccbde1b7d94051482eee863c075921757bac915f984f010837545a169e","typeString":"literal_string \"StdCheats deal(address,address,uint,bool): id not minted.\""}],"id":6827,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"29853:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":6830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29853:83:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6831,"nodeType":"ExpressionStatement","src":"29853:83:6"},{"assignments":[null,6833],"declarations":[null,{"constant":false,"id":6833,"mutability":"mutable","name":"fromBalData","nameLocation":"30000:11:6","nodeType":"VariableDeclaration","scope":6933,"src":"29987:24:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6832,"name":"bytes","nodeType":"ElementaryTypeName","src":"29987:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6848,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783730613038323331","id":6838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30067:10:6","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"arguments":[{"id":6841,"name":"ownerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6817,"src":"30090:9:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30102:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6842,"name":"address","nodeType":"ElementaryTypeName","src":"30102:7:6","typeDescriptions":{}}}],"id":6844,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"30101:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":6839,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30079:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30083:6:6","memberName":"decode","nodeType":"MemberAccess","src":"30079:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30079:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":6836,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30044:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30048:18:6","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"30044:22:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30044:68:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6834,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6807,"src":"30027:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30033:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"30027:16:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30027:86:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"29984:129:6"},{"assignments":[6850],"declarations":[{"constant":false,"id":6850,"mutability":"mutable","name":"fromPrevBal","nameLocation":"30131:11:6","nodeType":"VariableDeclaration","scope":6933,"src":"30123:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6849,"name":"uint256","nodeType":"ElementaryTypeName","src":"30123:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6858,"initialValue":{"arguments":[{"id":6853,"name":"fromBalData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6833,"src":"30156:11:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30170:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6854,"name":"uint256","nodeType":"ElementaryTypeName","src":"30170:7:6","typeDescriptions":{}}}],"id":6856,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"30169:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6851,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30145:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30149:6:6","memberName":"decode","nodeType":"MemberAccess","src":"30145:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30145:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30123:56:6"},{"assignments":[null,6860],"declarations":[null,{"constant":false,"id":6860,"mutability":"mutable","name":"toBalData","nameLocation":"30246:9:6","nodeType":"VariableDeclaration","scope":6933,"src":"30233:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6859,"name":"bytes","nodeType":"ElementaryTypeName","src":"30233:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6869,"initialValue":{"arguments":[{"arguments":[{"hexValue":"30783730613038323331","id":6865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30299:10:6","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"id":6866,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6809,"src":"30311:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6863,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30276:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30280:18:6","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"30276:22:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":6867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30276:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6861,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6807,"src":"30259:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30265:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"30259:16:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":6868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30259:56:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"30230:85:6"},{"assignments":[6871],"declarations":[{"constant":false,"id":6871,"mutability":"mutable","name":"toPrevBal","nameLocation":"30333:9:6","nodeType":"VariableDeclaration","scope":6933,"src":"30325:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6870,"name":"uint256","nodeType":"ElementaryTypeName","src":"30325:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6879,"initialValue":{"arguments":[{"id":6874,"name":"toBalData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6860,"src":"30356:9:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30368:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":6875,"name":"uint256","nodeType":"ElementaryTypeName","src":"30368:7:6","typeDescriptions":{}}}],"id":6877,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"30367:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":6872,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30345:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30349:6:6","memberName":"decode","nodeType":"MemberAccess","src":"30345:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30345:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30325:52:6"},{"expression":{"arguments":[{"id":6899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"30511:13:6","subExpression":{"id":6898,"name":"fromPrevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6850,"src":"30513:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"arguments":[{"id":6891,"name":"ownerData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6817,"src":"30474:9:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":6893,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30486:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6892,"name":"address","nodeType":"ElementaryTypeName","src":"30486:7:6","typeDescriptions":{}}}],"id":6894,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"30485:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":6889,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30463:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30467:6:6","memberName":"decode","nodeType":"MemberAccess","src":"30463:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":6895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30463:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"arguments":[{"hexValue":"30783730613038323331","id":6886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30442:10:6","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"}],"expression":{"arguments":[{"id":6883,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6807,"src":"30431:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6880,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6256,"src":"30415:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage","typeString":"struct StdStorage storage ref"}},"id":6882,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30424:6:6","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":10013,"src":"30415:15:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30415:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6885,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30438:3:6","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":10031,"src":"30415:26:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30415:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6888,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30454:8:6","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":10067,"src":"30415:47:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30415:81:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6897,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30497:13:6","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":10207,"src":"30415:95:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30415:110:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6901,"nodeType":"ExpressionStatement","src":"30415:110:6"},{"expression":{"arguments":[{"id":6915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"30601:11:6","subExpression":{"id":6914,"name":"toPrevBal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6871,"src":"30603:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":6911,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6809,"src":"30583:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"hexValue":"30783730613038323331","id":6908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30562:10:6","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"}],"expression":{"arguments":[{"id":6905,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6807,"src":"30551:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6902,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6256,"src":"30535:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage","typeString":"struct StdStorage storage ref"}},"id":6904,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30544:6:6","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":10013,"src":"30535:15:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30535:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6907,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30558:3:6","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":10031,"src":"30535:26:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30535:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6910,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30574:8:6","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":10067,"src":"30535:47:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30535:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6913,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30587:13:6","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":10207,"src":"30535:65:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256)"}},"id":6916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30535:78:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6917,"nodeType":"ExpressionStatement","src":"30535:78:6"},{"expression":{"arguments":[{"id":6930,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6809,"src":"30714:2:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":6927,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6811,"src":"30696:2:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"hexValue":"30783633353232313165","id":6924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30675:10:6","typeDescriptions":{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"},"value":"0x6352211e"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1666326814_by_1","typeString":"int_const 1666326814"}],"expression":{"arguments":[{"id":6921,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6807,"src":"30664:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6918,"name":"stdstore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6256,"src":"30648:8:6","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage","typeString":"struct StdStorage storage ref"}},"id":6920,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30657:6:6","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":10013,"src":"30648:15:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":6922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30648:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6923,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30671:3:6","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":10031,"src":"30648:26:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":6925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30648:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6926,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30687:8:6","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":10085,"src":"30648:47:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":6928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30648:51:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":6929,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30700:13:6","memberName":"checked_write","nodeType":"MemberAccess","referencedDeclaration":10190,"src":"30648:65:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$__$attached_to$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address)"}},"id":6931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30648:69:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6932,"nodeType":"ExpressionStatement","src":"30648:69:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dealERC721","nameLocation":"29594:10:6","parameters":{"id":6812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6807,"mutability":"mutable","name":"token","nameLocation":"29613:5:6","nodeType":"VariableDeclaration","scope":6934,"src":"29605:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6806,"name":"address","nodeType":"ElementaryTypeName","src":"29605:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6809,"mutability":"mutable","name":"to","nameLocation":"29628:2:6","nodeType":"VariableDeclaration","scope":6934,"src":"29620:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6808,"name":"address","nodeType":"ElementaryTypeName","src":"29620:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6811,"mutability":"mutable","name":"id","nameLocation":"29640:2:6","nodeType":"VariableDeclaration","scope":6934,"src":"29632:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6810,"name":"uint256","nodeType":"ElementaryTypeName","src":"29632:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29604:39:6"},"returnParameters":{"id":6813,"nodeType":"ParameterList","parameters":[],"src":"29661:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6949,"nodeType":"FunctionDefinition","src":"30730:123:6","nodes":[],"body":{"id":6948,"nodeType":"Block","src":"30804:49:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6942,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6936,"src":"30827:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"","id":6943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30833:2:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"hexValue":"30","id":6944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30837:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":6945,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6938,"src":"30840:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"id":6941,"name":"deployCodeTo","nodeType":"Identifier","overloadedDeclarations":[6949,6966,7019],"referencedDeclaration":7019,"src":"30814:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$_t_address_$returns$__$","typeString":"function (string memory,bytes memory,uint256,address)"}},"id":6946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30814:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6947,"nodeType":"ExpressionStatement","src":"30814:32:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCodeTo","nameLocation":"30739:12:6","parameters":{"id":6939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6936,"mutability":"mutable","name":"what","nameLocation":"30766:4:6","nodeType":"VariableDeclaration","scope":6949,"src":"30752:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6935,"name":"string","nodeType":"ElementaryTypeName","src":"30752:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6938,"mutability":"mutable","name":"where","nameLocation":"30780:5:6","nodeType":"VariableDeclaration","scope":6949,"src":"30772:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6937,"name":"address","nodeType":"ElementaryTypeName","src":"30772:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30751:35:6"},"returnParameters":{"id":6940,"nodeType":"ParameterList","parameters":[],"src":"30804:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6966,"nodeType":"FunctionDefinition","src":"30859:144:6","nodes":[],"body":{"id":6965,"nodeType":"Block","src":"30952:51:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":6959,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6951,"src":"30975:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":6960,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6953,"src":"30981:4:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":6961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30987:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":6962,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6955,"src":"30990:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"id":6958,"name":"deployCodeTo","nodeType":"Identifier","overloadedDeclarations":[6949,6966,7019],"referencedDeclaration":7019,"src":"30962:12:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_uint256_$_t_address_$returns$__$","typeString":"function (string memory,bytes memory,uint256,address)"}},"id":6963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30962:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6964,"nodeType":"ExpressionStatement","src":"30962:34:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCodeTo","nameLocation":"30868:12:6","parameters":{"id":6956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6951,"mutability":"mutable","name":"what","nameLocation":"30895:4:6","nodeType":"VariableDeclaration","scope":6966,"src":"30881:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6950,"name":"string","nodeType":"ElementaryTypeName","src":"30881:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6953,"mutability":"mutable","name":"args","nameLocation":"30914:4:6","nodeType":"VariableDeclaration","scope":6966,"src":"30901:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6952,"name":"bytes","nodeType":"ElementaryTypeName","src":"30901:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":6955,"mutability":"mutable","name":"where","nameLocation":"30928:5:6","nodeType":"VariableDeclaration","scope":6966,"src":"30920:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6954,"name":"address","nodeType":"ElementaryTypeName","src":"30920:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30880:54:6"},"returnParameters":{"id":6957,"nodeType":"ParameterList","parameters":[],"src":"30952:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":7019,"nodeType":"FunctionDefinition","src":"31009:475:6","nodes":[],"body":{"id":7018,"nodeType":"Block","src":"31117:367:6","nodes":[],"statements":[{"assignments":[6978],"declarations":[{"constant":false,"id":6978,"mutability":"mutable","name":"creationCode","nameLocation":"31140:12:6","nodeType":"VariableDeclaration","scope":7018,"src":"31127:25:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6977,"name":"bytes","nodeType":"ElementaryTypeName","src":"31127:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":6983,"initialValue":{"arguments":[{"id":6981,"name":"what","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6968,"src":"31166:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":6979,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"31155:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31158:7:6","memberName":"getCode","nodeType":"MemberAccess","referencedDeclaration":14787,"src":"31155:10:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) view external returns (bytes memory)"}},"id":6982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31155:16:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"31127:44:6"},{"expression":{"arguments":[{"id":6987,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6974,"src":"31189:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":6990,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6978,"src":"31213:12:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":6991,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6970,"src":"31227:4:6","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":6988,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31196:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31200:12:6","memberName":"encodePacked","nodeType":"MemberAccess","src":"31196:16:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":6992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31196:36:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6984,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"31181:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":6986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31184:4:6","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"31181:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":6993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31181:52:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6994,"nodeType":"ExpressionStatement","src":"31181:52:6"},{"assignments":[6996,6998],"declarations":[{"constant":false,"id":6996,"mutability":"mutable","name":"success","nameLocation":"31249:7:6","nodeType":"VariableDeclaration","scope":7018,"src":"31244:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6995,"name":"bool","nodeType":"ElementaryTypeName","src":"31244:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":6998,"mutability":"mutable","name":"runtimeBytecode","nameLocation":"31271:15:6","nodeType":"VariableDeclaration","scope":7018,"src":"31258:28:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6997,"name":"bytes","nodeType":"ElementaryTypeName","src":"31258:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":7005,"initialValue":{"arguments":[{"hexValue":"","id":7003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31315:2:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":6999,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6974,"src":"31290:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31296:4:6","memberName":"call","nodeType":"MemberAccess","src":"31290:10:6","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":7002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":7001,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6972,"src":"31308:5:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"31290:24:6","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":7004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31290:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"31243:75:6"},{"expression":{"arguments":[{"id":7007,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6996,"src":"31336:7:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436865617473206465706c6f79436f6465546f28737472696e672c62797465732c75696e743235362c61646472657373293a204661696c656420746f206372656174652072756e74696d652062797465636f64652e","id":7008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31345:90:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_b108e15dc33227f7dcfd1bb506d1d48e88a540eadf4c41cd675a882ac84a6d45","typeString":"literal_string \"StdCheats deployCodeTo(string,bytes,uint256,address): Failed to create runtime bytecode.\""},"value":"StdCheats deployCodeTo(string,bytes,uint256,address): Failed to create runtime bytecode."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b108e15dc33227f7dcfd1bb506d1d48e88a540eadf4c41cd675a882ac84a6d45","typeString":"literal_string \"StdCheats deployCodeTo(string,bytes,uint256,address): Failed to create runtime bytecode.\""}],"id":7006,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"31328:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31328:108:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7010,"nodeType":"ExpressionStatement","src":"31328:108:6"},{"expression":{"arguments":[{"id":7014,"name":"where","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6974,"src":"31454:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":7015,"name":"runtimeBytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6998,"src":"31461:15:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":7011,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"31446:2:6","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":7013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31449:4:6","memberName":"etch","nodeType":"MemberAccess","referencedDeclaration":17778,"src":"31446:7:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory) external"}},"id":7016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31446:31:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7017,"nodeType":"ExpressionStatement","src":"31446:31:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deployCodeTo","nameLocation":"31018:12:6","parameters":{"id":6975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6968,"mutability":"mutable","name":"what","nameLocation":"31045:4:6","nodeType":"VariableDeclaration","scope":7019,"src":"31031:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":6967,"name":"string","nodeType":"ElementaryTypeName","src":"31031:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":6970,"mutability":"mutable","name":"args","nameLocation":"31064:4:6","nodeType":"VariableDeclaration","scope":7019,"src":"31051:17:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":6969,"name":"bytes","nodeType":"ElementaryTypeName","src":"31051:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":6972,"mutability":"mutable","name":"value","nameLocation":"31078:5:6","nodeType":"VariableDeclaration","scope":7019,"src":"31070:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6971,"name":"uint256","nodeType":"ElementaryTypeName","src":"31070:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6974,"mutability":"mutable","name":"where","nameLocation":"31093:5:6","nodeType":"VariableDeclaration","scope":7019,"src":"31085:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6973,"name":"address","nodeType":"ElementaryTypeName","src":"31085:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31030:69:6"},"returnParameters":{"id":6976,"nodeType":"ParameterList","parameters":[],"src":"31117:0:6"},"scope":7042,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":7041,"nodeType":"FunctionDefinition","src":"31613:193:6","nodes":[],"body":{"id":7040,"nodeType":"Block","src":"31676:130:6","nodes":[],"statements":[{"assignments":[7025,null],"declarations":[{"constant":false,"id":7025,"mutability":"mutable","name":"status","nameLocation":"31692:6:6","nodeType":"VariableDeclaration","scope":7040,"src":"31687:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7024,"name":"bool","nodeType":"ElementaryTypeName","src":"31687:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":7037,"initialValue":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":7033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31764:13:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":7034,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7021,"src":"31779:2:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7031,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31740:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31744:19:6","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31740:23:6","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31740:42:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":7028,"name":"CONSOLE2_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6276,"src":"31711:16:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31703:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7026,"name":"address","nodeType":"ElementaryTypeName","src":"31703:7:6","typeDescriptions":{}}},"id":7029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31703:25:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31729:10:6","memberName":"staticcall","nodeType":"MemberAccess","src":"31703:36:6","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":7036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31703:80:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"31686:97:6"},{"expression":{"id":7038,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7025,"src":"31793:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7039,"nodeType":"ExpressionStatement","src":"31793:6:6"}]},"implemented":true,"kind":"function","modifiers":[],"name":"console2_log_StdCheats","nameLocation":"31622:22:6","parameters":{"id":7022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7021,"mutability":"mutable","name":"p0","nameLocation":"31659:2:6","nodeType":"VariableDeclaration","scope":7041,"src":"31645:16:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7020,"name":"string","nodeType":"ElementaryTypeName","src":"31645:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31644:18:6"},"returnParameters":{"id":7023,"nodeType":"ParameterList","parameters":[],"src":"31676:0:6"},"scope":7042,"stateMutability":"view","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[{"baseName":{"id":6248,"name":"StdCheatsSafe","nameLocations":["24581:13:6"],"nodeType":"IdentifierPath","referencedDeclaration":6247,"src":"24581:13:6"},"id":6249,"nodeType":"InheritanceSpecifier","src":"24581:13:6"}],"canonicalName":"StdCheats","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[7042,6247],"name":"StdCheats","nameLocation":"24568:9:6","scope":7043,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdConstants.sol":{"id":7,"ast":{"absolutePath":"lib/forge-std/src/StdConstants.sol","id":7084,"exportedSymbols":{"IMulticall3":[26962],"StdConstants":[7083],"Vm":[18679]},"nodeType":"SourceUnit","src":"32:1835:7","nodes":[{"id":7044,"nodeType":"PragmaDirective","src":"32:31:7","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":7046,"nodeType":"ImportDirective","src":"65:57:7","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IMulticall3.sol","file":"./interfaces/IMulticall3.sol","nameLocation":"-1:-1:-1","scope":7084,"sourceUnit":26963,"symbolAliases":[{"foreign":{"id":7045,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26962,"src":"73:11:7","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":7048,"nodeType":"ImportDirective","src":"123:28:7","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":7084,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":7047,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"131:2:7","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":7083,"nodeType":"ContractDefinition","src":"153:1713:7","nodes":[{"id":7055,"nodeType":"VariableDeclaration","src":"294:72:7","nodes":[],"constant":true,"documentation":{"id":7049,"nodeType":"StructuredDocumentation","src":"180:109:7","text":"@dev Cheat code address.\n Calculated as `address(uint160(uint256(keccak256(\"hevm cheat code\"))))`."},"mutability":"constant","name":"VM","nameLocation":"315:2:7","scope":7083,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"},"typeName":{"id":7051,"nodeType":"UserDefinedTypeName","pathNode":{"id":7050,"name":"Vm","nameLocations":["294:2:7"],"nodeType":"IdentifierPath","referencedDeclaration":18679,"src":"294:2:7"},"referencedDeclaration":18679,"src":"294:2:7","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"value":{"arguments":[{"hexValue":"307837313039373039454366613931613830363236664633393839443638663637463562314444313244","id":7053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"323:42:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x7109709ECfa91a80626fF3989D68f67F5b1DD12D"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7052,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"320:2:7","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18679_$","typeString":"type(contract Vm)"}},"id":7054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"320:46:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"visibility":"internal"},{"id":7059,"nodeType":"VariableDeclaration","src":"536:78:7","nodes":[],"constant":true,"documentation":{"id":7056,"nodeType":"StructuredDocumentation","src":"372:159:7","text":"@dev console.sol and console2.sol work by executing a staticcall to this address.\n Calculated as `address(uint160(uint88(bytes11(\"console.log\"))))`."},"mutability":"constant","name":"CONSOLE","nameLocation":"562:7:7","scope":7083,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7057,"name":"address","nodeType":"ElementaryTypeName","src":"536:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":7058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"572:42:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"internal"},{"id":7063,"nodeType":"VariableDeclaration","src":"746:86:7","nodes":[],"constant":true,"documentation":{"id":7060,"nodeType":"StructuredDocumentation","src":"620:121:7","text":"@dev Used when deploying with create2.\n Taken from https://github.com/Arachnid/deterministic-deployment-proxy."},"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"772:15:7","scope":7083,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7061,"name":"address","nodeType":"ElementaryTypeName","src":"746:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":7062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"790:42:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"internal"},{"id":7067,"nodeType":"VariableDeclaration","src":"989:85:7","nodes":[],"constant":true,"documentation":{"id":7064,"nodeType":"StructuredDocumentation","src":"838:146:7","text":"@dev The default address for tx.origin and msg.sender.\n Calculated as `address(uint160(uint256(keccak256(\"foundry default caller\"))))`."},"mutability":"constant","name":"DEFAULT_SENDER","nameLocation":"1015:14:7","scope":7083,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7065,"name":"address","nodeType":"ElementaryTypeName","src":"989:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307831383034633841423146313245366262663338393464343038336633336530373330396431663338","id":7066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1032:42:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x1804c8AB1F12E6bbf3894d4083f33e07309d1f38"},"visibility":"internal"},{"id":7071,"nodeType":"VariableDeclaration","src":"1355:92:7","nodes":[],"constant":true,"documentation":{"id":7068,"nodeType":"StructuredDocumentation","src":"1080:270:7","text":"@dev The address of the first contract `CREATE`d by a running test contract.\n When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1.\n Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`."},"mutability":"constant","name":"DEFAULT_TEST_CONTRACT","nameLocation":"1381:21:7","scope":7083,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7069,"name":"address","nodeType":"ElementaryTypeName","src":"1355:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307835363135644542373938424233453464466130313339644661316233443433334363323362373266","id":7070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1405:42:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f"},"visibility":"internal"},{"id":7078,"nodeType":"VariableDeclaration","src":"1574:106:7","nodes":[],"constant":true,"documentation":{"id":7072,"nodeType":"StructuredDocumentation","src":"1453:116:7","text":"@dev Deterministic deployment address of the Multicall3 contract.\n Taken from https://www.multicall3.com."},"mutability":"constant","name":"MULTICALL3_ADDRESS","nameLocation":"1604:18:7","scope":7083,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26962","typeString":"contract IMulticall3"},"typeName":{"id":7074,"nodeType":"UserDefinedTypeName","pathNode":{"id":7073,"name":"IMulticall3","nameLocations":["1574:11:7"],"nodeType":"IdentifierPath","referencedDeclaration":26962,"src":"1574:11:7"},"referencedDeclaration":26962,"src":"1574:11:7","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26962","typeString":"contract IMulticall3"}},"value":{"arguments":[{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":7076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1637:42:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7075,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26962,"src":"1625:11:7","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$26962_$","typeString":"type(contract IMulticall3)"}},"id":7077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1625:55:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26962","typeString":"contract IMulticall3"}},"visibility":"internal"},{"id":7082,"nodeType":"VariableDeclaration","src":"1733:130:7","nodes":[],"constant":true,"documentation":{"id":7079,"nodeType":"StructuredDocumentation","src":"1686:42:7","text":"@dev The order of the secp256k1 curve."},"mutability":"constant","name":"SECP256K1_ORDER","nameLocation":"1759:15:7","scope":7083,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7080,"name":"uint256","nodeType":"ElementaryTypeName","src":"1733:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383532383337353634323739303734393034333832363035313633313431353138313631343934333337","id":7081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1785:78:7","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907852837564279074904382605163141518161494337_by_1","typeString":"int_const 1157...(70 digits omitted)...4337"},"value":"115792089237316195423570985008687907852837564279074904382605163141518161494337"},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"StdConstants","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[7083],"name":"StdConstants","nameLocation":"161:12:7","scope":7084,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdError.sol":{"id":8,"ast":{"absolutePath":"lib/forge-std/src/StdError.sol","id":7150,"exportedSymbols":{"stdError":[7149]},"nodeType":"SourceUnit","src":"129:884:8","nodes":[{"id":7085,"nodeType":"PragmaDirective","src":"129:31:8","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":7149,"nodeType":"ContractDefinition","src":"162:850:8","nodes":[{"id":7092,"nodeType":"VariableDeclaration","src":"185:86:8","nodes":[],"constant":true,"functionSelector":"10332977","mutability":"constant","name":"assertionError","nameLocation":"207:14:8","scope":7149,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7086,"name":"bytes","nodeType":"ElementaryTypeName","src":"185:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":7089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"248:16:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783031","id":7090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"266:4:8","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":7087,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"224:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"228:19:8","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"224:23:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"224:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":7099,"nodeType":"VariableDeclaration","src":"277:87:8","nodes":[],"constant":true,"functionSelector":"8995290f","mutability":"constant","name":"arithmeticError","nameLocation":"299:15:8","scope":7149,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7093,"name":"bytes","nodeType":"ElementaryTypeName","src":"277:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":7096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"341:16:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783131","id":7097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"359:4:8","typeDescriptions":{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},"value":"0x11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"}],"expression":{"id":7094,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"317:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"321:19:8","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"317:23:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"317:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":7106,"nodeType":"VariableDeclaration","src":"370:85:8","nodes":[],"constant":true,"functionSelector":"fa784a44","mutability":"constant","name":"divisionError","nameLocation":"392:13:8","scope":7149,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7100,"name":"bytes","nodeType":"ElementaryTypeName","src":"370:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":7103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"432:16:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783132","id":7104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"450:4:8","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"0x12"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"}],"expression":{"id":7101,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"408:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"412:19:8","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"408:23:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"408:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":7113,"nodeType":"VariableDeclaration","src":"461:91:8","nodes":[],"constant":true,"functionSelector":"1de45560","mutability":"constant","name":"enumConversionError","nameLocation":"483:19:8","scope":7149,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7107,"name":"bytes","nodeType":"ElementaryTypeName","src":"461:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":7110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"529:16:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783231","id":7111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"547:4:8","typeDescriptions":{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"},"value":"0x21"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"}],"expression":{"id":7108,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"505:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7109,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"509:19:8","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"505:23:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"505:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":7120,"nodeType":"VariableDeclaration","src":"558:90:8","nodes":[],"constant":true,"functionSelector":"d160e4de","mutability":"constant","name":"encodeStorageError","nameLocation":"580:18:8","scope":7149,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7114,"name":"bytes","nodeType":"ElementaryTypeName","src":"558:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":7117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"625:16:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783232","id":7118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"643:4:8","typeDescriptions":{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"},"value":"0x22"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"}],"expression":{"id":7115,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"601:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"605:19:8","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"601:23:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"601:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":7127,"nodeType":"VariableDeclaration","src":"654:80:8","nodes":[],"constant":true,"functionSelector":"b22dc54d","mutability":"constant","name":"popError","nameLocation":"676:8:8","scope":7149,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7121,"name":"bytes","nodeType":"ElementaryTypeName","src":"654:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":7124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"711:16:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783331","id":7125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"729:4:8","typeDescriptions":{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"},"value":"0x31"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"}],"expression":{"id":7122,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"687:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"691:19:8","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"687:23:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"687:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":7134,"nodeType":"VariableDeclaration","src":"740:85:8","nodes":[],"constant":true,"functionSelector":"05ee8612","mutability":"constant","name":"indexOOBError","nameLocation":"762:13:8","scope":7149,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7128,"name":"bytes","nodeType":"ElementaryTypeName","src":"740:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":7131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"802:16:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783332","id":7132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"820:4:8","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"0x32"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"}],"expression":{"id":7129,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"778:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7130,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"782:19:8","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"778:23:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"778:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":7141,"nodeType":"VariableDeclaration","src":"831:88:8","nodes":[],"constant":true,"functionSelector":"986c5f68","mutability":"constant","name":"memOverflowError","nameLocation":"853:16:8","scope":7149,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7135,"name":"bytes","nodeType":"ElementaryTypeName","src":"831:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":7138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"896:16:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783431","id":7139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"914:4:8","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"0x41"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"}],"expression":{"id":7136,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"872:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"876:19:8","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"872:23:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"872:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"},{"id":7148,"nodeType":"VariableDeclaration","src":"925:84:8","nodes":[],"constant":true,"functionSelector":"b67689da","mutability":"constant","name":"zeroVarError","nameLocation":"947:12:8","scope":7149,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7142,"name":"bytes","nodeType":"ElementaryTypeName","src":"925:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"arguments":[{"hexValue":"50616e69632875696e7432353629","id":7145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"986:16:8","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},"value":"Panic(uint256)"},{"hexValue":"30783531","id":7146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1004:4:8","typeDescriptions":{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"},"value":"0x51"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e487b71539e0164c9d29506cc725e49342bcac15e0927282bf30fedfe1c7268","typeString":"literal_string \"Panic(uint256)\""},{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"}],"expression":{"id":7143,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"962:3:8","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"966:19:8","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"962:23:8","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":7147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"962:47:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"stdError","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[7149],"name":"stdError","nameLocation":"170:8:8","scope":7150,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdInvariant.sol":{"id":9,"ast":{"absolutePath":"lib/forge-std/src/StdInvariant.sol","id":7444,"exportedSymbols":{"StdInvariant":[7443]},"nodeType":"SourceUnit","src":"32:3945:9","nodes":[{"id":7151,"nodeType":"PragmaDirective","src":"32:31:9","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":7152,"nodeType":"PragmaDirective","src":"65:33:9","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":7443,"nodeType":"ContractDefinition","src":"100:3876:9","nodes":[{"id":7158,"nodeType":"StructDefinition","src":"137:77:9","nodes":[],"canonicalName":"StdInvariant.FuzzSelector","members":[{"constant":false,"id":7154,"mutability":"mutable","name":"addr","nameLocation":"175:4:9","nodeType":"VariableDeclaration","scope":7158,"src":"167:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7153,"name":"address","nodeType":"ElementaryTypeName","src":"167:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7157,"mutability":"mutable","name":"selectors","nameLocation":"198:9:9","nodeType":"VariableDeclaration","scope":7158,"src":"189:18:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":7155,"name":"bytes4","nodeType":"ElementaryTypeName","src":"189:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":7156,"nodeType":"ArrayTypeName","src":"189:8:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"}],"name":"FuzzSelector","nameLocation":"144:12:9","scope":7443,"visibility":"public"},{"id":7164,"nodeType":"StructDefinition","src":"220:88:9","nodes":[],"canonicalName":"StdInvariant.FuzzArtifactSelector","members":[{"constant":false,"id":7160,"mutability":"mutable","name":"artifact","nameLocation":"265:8:9","nodeType":"VariableDeclaration","scope":7164,"src":"258:15:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":7159,"name":"string","nodeType":"ElementaryTypeName","src":"258:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7163,"mutability":"mutable","name":"selectors","nameLocation":"292:9:9","nodeType":"VariableDeclaration","scope":7164,"src":"283:18:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"},"typeName":{"baseType":{"id":7161,"name":"bytes4","nodeType":"ElementaryTypeName","src":"283:6:9","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":7162,"nodeType":"ArrayTypeName","src":"283:8:9","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes4_$dyn_storage_ptr","typeString":"bytes4[]"}},"visibility":"internal"}],"name":"FuzzArtifactSelector","nameLocation":"227:20:9","scope":7443,"visibility":"public"},{"id":7170,"nodeType":"StructDefinition","src":"314:78:9","nodes":[],"canonicalName":"StdInvariant.FuzzInterface","members":[{"constant":false,"id":7166,"mutability":"mutable","name":"addr","nameLocation":"353:4:9","nodeType":"VariableDeclaration","scope":7170,"src":"345:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7165,"name":"address","nodeType":"ElementaryTypeName","src":"345:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":7169,"mutability":"mutable","name":"artifacts","nameLocation":"376:9:9","nodeType":"VariableDeclaration","scope":7170,"src":"367:18:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7167,"name":"string","nodeType":"ElementaryTypeName","src":"367:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7168,"nodeType":"ArrayTypeName","src":"367:8:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"name":"FuzzInterface","nameLocation":"321:13:9","scope":7443,"visibility":"public"},{"id":7173,"nodeType":"VariableDeclaration","src":"398:36:9","nodes":[],"constant":false,"mutability":"mutable","name":"_excludedContracts","nameLocation":"416:18:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":7171,"name":"address","nodeType":"ElementaryTypeName","src":"398:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7172,"nodeType":"ArrayTypeName","src":"398:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":7176,"nodeType":"VariableDeclaration","src":"440:34:9","nodes":[],"constant":false,"mutability":"mutable","name":"_excludedSenders","nameLocation":"458:16:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":7174,"name":"address","nodeType":"ElementaryTypeName","src":"440:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7175,"nodeType":"ArrayTypeName","src":"440:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":7179,"nodeType":"VariableDeclaration","src":"480:36:9","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedContracts","nameLocation":"498:18:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":7177,"name":"address","nodeType":"ElementaryTypeName","src":"480:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7178,"nodeType":"ArrayTypeName","src":"480:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":7182,"nodeType":"VariableDeclaration","src":"522:34:9","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedSenders","nameLocation":"540:16:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":7180,"name":"address","nodeType":"ElementaryTypeName","src":"522:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7181,"nodeType":"ArrayTypeName","src":"522:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"private"},{"id":7185,"nodeType":"VariableDeclaration","src":"563:35:9","nodes":[],"constant":false,"mutability":"mutable","name":"_excludedArtifacts","nameLocation":"580:18:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string[]"},"typeName":{"baseType":{"id":7183,"name":"string","nodeType":"ElementaryTypeName","src":"563:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7184,"nodeType":"ArrayTypeName","src":"563:8:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"private"},{"id":7188,"nodeType":"VariableDeclaration","src":"604:35:9","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedArtifacts","nameLocation":"621:18:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string[]"},"typeName":{"baseType":{"id":7186,"name":"string","nodeType":"ElementaryTypeName","src":"604:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7187,"nodeType":"ArrayTypeName","src":"604:8:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"private"},{"id":7192,"nodeType":"VariableDeclaration","src":"646:57:9","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedArtifactSelectors","nameLocation":"677:26:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$7164_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzArtifactSelector[]"},"typeName":{"baseType":{"id":7190,"nodeType":"UserDefinedTypeName","pathNode":{"id":7189,"name":"FuzzArtifactSelector","nameLocations":["646:20:9"],"nodeType":"IdentifierPath","referencedDeclaration":7164,"src":"646:20:9"},"referencedDeclaration":7164,"src":"646:20:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$7164_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector"}},"id":7191,"nodeType":"ArrayTypeName","src":"646:22:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$7164_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector[]"}},"visibility":"private"},{"id":7196,"nodeType":"VariableDeclaration","src":"710:41:9","nodes":[],"constant":false,"mutability":"mutable","name":"_excludedSelectors","nameLocation":"733:18:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":7194,"nodeType":"UserDefinedTypeName","pathNode":{"id":7193,"name":"FuzzSelector","nameLocations":["710:12:9"],"nodeType":"IdentifierPath","referencedDeclaration":7158,"src":"710:12:9"},"referencedDeclaration":7158,"src":"710:12:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":7195,"nodeType":"ArrayTypeName","src":"710:14:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"private"},{"id":7200,"nodeType":"VariableDeclaration","src":"757:41:9","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedSelectors","nameLocation":"780:18:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":7198,"nodeType":"UserDefinedTypeName","pathNode":{"id":7197,"name":"FuzzSelector","nameLocations":["757:12:9"],"nodeType":"IdentifierPath","referencedDeclaration":7158,"src":"757:12:9"},"referencedDeclaration":7158,"src":"757:12:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":7199,"nodeType":"ArrayTypeName","src":"757:14:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"private"},{"id":7204,"nodeType":"VariableDeclaration","src":"805:43:9","nodes":[],"constant":false,"mutability":"mutable","name":"_targetedInterfaces","nameLocation":"829:19:9","scope":7443,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$7170_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzInterface[]"},"typeName":{"baseType":{"id":7202,"nodeType":"UserDefinedTypeName","pathNode":{"id":7201,"name":"FuzzInterface","nameLocations":["805:13:9"],"nodeType":"IdentifierPath","referencedDeclaration":7170,"src":"805:13:9"},"referencedDeclaration":7170,"src":"805:13:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$7170_storage_ptr","typeString":"struct StdInvariant.FuzzInterface"}},"id":7203,"nodeType":"ArrayTypeName","src":"805:15:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$7170_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzInterface[]"}},"visibility":"private"},{"id":7216,"nodeType":"FunctionDefinition","src":"933:126:9","nodes":[],"body":{"id":7215,"nodeType":"Block","src":"997:62:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7212,"name":"newExcludedContract_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7206,"src":"1031:20:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7209,"name":"_excludedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7173,"src":"1007:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":7211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1026:4:9","memberName":"push","nodeType":"MemberAccess","src":"1007:23:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":7213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1007:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7214,"nodeType":"ExpressionStatement","src":"1007:45:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"excludeContract","nameLocation":"942:15:9","parameters":{"id":7207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7206,"mutability":"mutable","name":"newExcludedContract_","nameLocation":"966:20:9","nodeType":"VariableDeclaration","scope":7216,"src":"958:28:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7205,"name":"address","nodeType":"ElementaryTypeName","src":"958:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"957:30:9"},"returnParameters":{"id":7208,"nodeType":"ParameterList","parameters":[],"src":"997:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7229,"nodeType":"FunctionDefinition","src":"1065:138:9","nodes":[],"body":{"id":7228,"nodeType":"Block","src":"1141:62:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7225,"name":"newExcludedSelector_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7219,"src":"1175:20:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzSelector_$7158_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}],"expression":{"id":7222,"name":"_excludedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7196,"src":"1151:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"id":7224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1170:4:9","memberName":"push","nodeType":"MemberAccess","src":"1151:23:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage_ptr_$_t_struct$_FuzzSelector_$7158_storage_$returns$__$attached_to$_t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzSelector storage ref[] storage pointer,struct StdInvariant.FuzzSelector storage ref)"}},"id":7226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1151:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7227,"nodeType":"ExpressionStatement","src":"1151:45:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"excludeSelector","nameLocation":"1074:15:9","parameters":{"id":7220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7219,"mutability":"mutable","name":"newExcludedSelector_","nameLocation":"1110:20:9","nodeType":"VariableDeclaration","scope":7229,"src":"1090:40:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_memory_ptr","typeString":"struct StdInvariant.FuzzSelector"},"typeName":{"id":7218,"nodeType":"UserDefinedTypeName","pathNode":{"id":7217,"name":"FuzzSelector","nameLocations":["1090:12:9"],"nodeType":"IdentifierPath","referencedDeclaration":7158,"src":"1090:12:9"},"referencedDeclaration":7158,"src":"1090:12:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"visibility":"internal"}],"src":"1089:42:9"},"returnParameters":{"id":7221,"nodeType":"ParameterList","parameters":[],"src":"1141:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7241,"nodeType":"FunctionDefinition","src":"1209:118:9","nodes":[],"body":{"id":7240,"nodeType":"Block","src":"1269:58:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7237,"name":"newExcludedSender_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7231,"src":"1301:18:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7234,"name":"_excludedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7176,"src":"1279:16:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":7236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1296:4:9","memberName":"push","nodeType":"MemberAccess","src":"1279:21:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":7238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1279:41:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7239,"nodeType":"ExpressionStatement","src":"1279:41:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"excludeSender","nameLocation":"1218:13:9","parameters":{"id":7232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7231,"mutability":"mutable","name":"newExcludedSender_","nameLocation":"1240:18:9","nodeType":"VariableDeclaration","scope":7241,"src":"1232:26:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7230,"name":"address","nodeType":"ElementaryTypeName","src":"1232:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1231:28:9"},"returnParameters":{"id":7233,"nodeType":"ParameterList","parameters":[],"src":"1269:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7253,"nodeType":"FunctionDefinition","src":"1333:132:9","nodes":[],"body":{"id":7252,"nodeType":"Block","src":"1403:62:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7249,"name":"newExcludedArtifact_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7243,"src":"1437:20:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7246,"name":"_excludedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7185,"src":"1413:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":7248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1432:4:9","memberName":"push","nodeType":"MemberAccess","src":"1413:23:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_string_storage_$dyn_storage_ptr_$_t_string_storage_$returns$__$attached_to$_t_array$_t_string_storage_$dyn_storage_ptr_$","typeString":"function (string storage ref[] storage pointer,string storage ref)"}},"id":7250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1413:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7251,"nodeType":"ExpressionStatement","src":"1413:45:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"excludeArtifact","nameLocation":"1342:15:9","parameters":{"id":7244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7243,"mutability":"mutable","name":"newExcludedArtifact_","nameLocation":"1372:20:9","nodeType":"VariableDeclaration","scope":7253,"src":"1358:34:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7242,"name":"string","nodeType":"ElementaryTypeName","src":"1358:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1357:36:9"},"returnParameters":{"id":7245,"nodeType":"ParameterList","parameters":[],"src":"1403:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7265,"nodeType":"FunctionDefinition","src":"1471:131:9","nodes":[],"body":{"id":7264,"nodeType":"Block","src":"1540:62:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7261,"name":"newTargetedArtifact_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7255,"src":"1574:20:9","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":7258,"name":"_targetedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7188,"src":"1550:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"id":7260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1569:4:9","memberName":"push","nodeType":"MemberAccess","src":"1550:23:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_string_storage_$dyn_storage_ptr_$_t_string_storage_$returns$__$attached_to$_t_array$_t_string_storage_$dyn_storage_ptr_$","typeString":"function (string storage ref[] storage pointer,string storage ref)"}},"id":7262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1550:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7263,"nodeType":"ExpressionStatement","src":"1550:45:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetArtifact","nameLocation":"1480:14:9","parameters":{"id":7256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7255,"mutability":"mutable","name":"newTargetedArtifact_","nameLocation":"1509:20:9","nodeType":"VariableDeclaration","scope":7265,"src":"1495:34:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7254,"name":"string","nodeType":"ElementaryTypeName","src":"1495:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1494:36:9"},"returnParameters":{"id":7257,"nodeType":"ParameterList","parameters":[],"src":"1540:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7278,"nodeType":"FunctionDefinition","src":"1608:177:9","nodes":[],"body":{"id":7277,"nodeType":"Block","src":"1707:78:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7274,"name":"newTargetedArtifactSelector_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7268,"src":"1749:28:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$7164_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$7164_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector memory"}],"expression":{"id":7271,"name":"_targetedArtifactSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7192,"src":"1717:26:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$7164_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzArtifactSelector storage ref[] storage ref"}},"id":7273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1744:4:9","memberName":"push","nodeType":"MemberAccess","src":"1717:31:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzArtifactSelector_$7164_storage_$dyn_storage_ptr_$_t_struct$_FuzzArtifactSelector_$7164_storage_$returns$__$attached_to$_t_array$_t_struct$_FuzzArtifactSelector_$7164_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzArtifactSelector storage ref[] storage pointer,struct StdInvariant.FuzzArtifactSelector storage ref)"}},"id":7275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1717:61:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7276,"nodeType":"ExpressionStatement","src":"1717:61:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetArtifactSelector","nameLocation":"1617:22:9","parameters":{"id":7269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7268,"mutability":"mutable","name":"newTargetedArtifactSelector_","nameLocation":"1668:28:9","nodeType":"VariableDeclaration","scope":7278,"src":"1640:56:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$7164_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector"},"typeName":{"id":7267,"nodeType":"UserDefinedTypeName","pathNode":{"id":7266,"name":"FuzzArtifactSelector","nameLocations":["1640:20:9"],"nodeType":"IdentifierPath","referencedDeclaration":7164,"src":"1640:20:9"},"referencedDeclaration":7164,"src":"1640:20:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$7164_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector"}},"visibility":"internal"}],"src":"1639:58:9"},"returnParameters":{"id":7270,"nodeType":"ParameterList","parameters":[],"src":"1707:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7290,"nodeType":"FunctionDefinition","src":"1791:125:9","nodes":[],"body":{"id":7289,"nodeType":"Block","src":"1854:62:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7286,"name":"newTargetedContract_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7280,"src":"1888:20:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7283,"name":"_targetedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7179,"src":"1864:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":7285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1883:4:9","memberName":"push","nodeType":"MemberAccess","src":"1864:23:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":7287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1864:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7288,"nodeType":"ExpressionStatement","src":"1864:45:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetContract","nameLocation":"1800:14:9","parameters":{"id":7281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7280,"mutability":"mutable","name":"newTargetedContract_","nameLocation":"1823:20:9","nodeType":"VariableDeclaration","scope":7290,"src":"1815:28:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7279,"name":"address","nodeType":"ElementaryTypeName","src":"1815:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1814:30:9"},"returnParameters":{"id":7282,"nodeType":"ParameterList","parameters":[],"src":"1854:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7303,"nodeType":"FunctionDefinition","src":"1922:137:9","nodes":[],"body":{"id":7302,"nodeType":"Block","src":"1997:62:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7299,"name":"newTargetedSelector_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7293,"src":"2031:20:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzSelector_$7158_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory"}],"expression":{"id":7296,"name":"_targetedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"2007:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"id":7298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2026:4:9","memberName":"push","nodeType":"MemberAccess","src":"2007:23:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage_ptr_$_t_struct$_FuzzSelector_$7158_storage_$returns$__$attached_to$_t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzSelector storage ref[] storage pointer,struct StdInvariant.FuzzSelector storage ref)"}},"id":7300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2007:45:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7301,"nodeType":"ExpressionStatement","src":"2007:45:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetSelector","nameLocation":"1931:14:9","parameters":{"id":7294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7293,"mutability":"mutable","name":"newTargetedSelector_","nameLocation":"1966:20:9","nodeType":"VariableDeclaration","scope":7303,"src":"1946:40:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_memory_ptr","typeString":"struct StdInvariant.FuzzSelector"},"typeName":{"id":7292,"nodeType":"UserDefinedTypeName","pathNode":{"id":7291,"name":"FuzzSelector","nameLocations":["1946:12:9"],"nodeType":"IdentifierPath","referencedDeclaration":7158,"src":"1946:12:9"},"referencedDeclaration":7158,"src":"1946:12:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"visibility":"internal"}],"src":"1945:42:9"},"returnParameters":{"id":7295,"nodeType":"ParameterList","parameters":[],"src":"1997:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7315,"nodeType":"FunctionDefinition","src":"2065:117:9","nodes":[],"body":{"id":7314,"nodeType":"Block","src":"2124:58:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7311,"name":"newTargetedSender_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7305,"src":"2156:18:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":7308,"name":"_targetedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7182,"src":"2134:16:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":7310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2151:4:9","memberName":"push","nodeType":"MemberAccess","src":"2134:21:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":7312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2134:41:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7313,"nodeType":"ExpressionStatement","src":"2134:41:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetSender","nameLocation":"2074:12:9","parameters":{"id":7306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7305,"mutability":"mutable","name":"newTargetedSender_","nameLocation":"2095:18:9","nodeType":"VariableDeclaration","scope":7315,"src":"2087:26:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7304,"name":"address","nodeType":"ElementaryTypeName","src":"2087:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2086:28:9"},"returnParameters":{"id":7307,"nodeType":"ParameterList","parameters":[],"src":"2124:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7328,"nodeType":"FunctionDefinition","src":"2188:142:9","nodes":[],"body":{"id":7327,"nodeType":"Block","src":"2266:64:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":7324,"name":"newTargetedInterface_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7318,"src":"2301:21:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$7170_memory_ptr","typeString":"struct StdInvariant.FuzzInterface memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_FuzzInterface_$7170_memory_ptr","typeString":"struct StdInvariant.FuzzInterface memory"}],"expression":{"id":7321,"name":"_targetedInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7204,"src":"2276:19:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$7170_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzInterface storage ref[] storage ref"}},"id":7323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2296:4:9","memberName":"push","nodeType":"MemberAccess","src":"2276:24:9","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_FuzzInterface_$7170_storage_$dyn_storage_ptr_$_t_struct$_FuzzInterface_$7170_storage_$returns$__$attached_to$_t_array$_t_struct$_FuzzInterface_$7170_storage_$dyn_storage_ptr_$","typeString":"function (struct StdInvariant.FuzzInterface storage ref[] storage pointer,struct StdInvariant.FuzzInterface storage ref)"}},"id":7325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2276:47:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7326,"nodeType":"ExpressionStatement","src":"2276:47:9"}]},"implemented":true,"kind":"function","modifiers":[],"name":"targetInterface","nameLocation":"2197:15:9","parameters":{"id":7319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7318,"mutability":"mutable","name":"newTargetedInterface_","nameLocation":"2234:21:9","nodeType":"VariableDeclaration","scope":7328,"src":"2213:42:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$7170_memory_ptr","typeString":"struct StdInvariant.FuzzInterface"},"typeName":{"id":7317,"nodeType":"UserDefinedTypeName","pathNode":{"id":7316,"name":"FuzzInterface","nameLocations":["2213:13:9"],"nodeType":"IdentifierPath","referencedDeclaration":7170,"src":"2213:13:9"},"referencedDeclaration":7170,"src":"2213:13:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$7170_storage_ptr","typeString":"struct StdInvariant.FuzzInterface"}},"visibility":"internal"}],"src":"2212:44:9"},"returnParameters":{"id":7320,"nodeType":"ParameterList","parameters":[],"src":"2266:0:9"},"scope":7443,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7339,"nodeType":"FunctionDefinition","src":"2459:141:9","nodes":[],"body":{"id":7338,"nodeType":"Block","src":"2544:56:9","nodes":[],"statements":[{"expression":{"id":7336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7334,"name":"excludedArtifacts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7332,"src":"2554:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7335,"name":"_excludedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7185,"src":"2575:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"src":"2554:39:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":7337,"nodeType":"ExpressionStatement","src":"2554:39:9"}]},"functionSelector":"b5508aa9","implemented":true,"kind":"function","modifiers":[],"name":"excludeArtifacts","nameLocation":"2468:16:9","parameters":{"id":7329,"nodeType":"ParameterList","parameters":[],"src":"2484:2:9"},"returnParameters":{"id":7333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7332,"mutability":"mutable","name":"excludedArtifacts_","nameLocation":"2524:18:9","nodeType":"VariableDeclaration","scope":7339,"src":"2508:34:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7330,"name":"string","nodeType":"ElementaryTypeName","src":"2508:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7331,"nodeType":"ArrayTypeName","src":"2508:8:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"2507:36:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":7350,"nodeType":"FunctionDefinition","src":"2606:142:9","nodes":[],"body":{"id":7349,"nodeType":"Block","src":"2692:56:9","nodes":[],"statements":[{"expression":{"id":7347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7345,"name":"excludedContracts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7343,"src":"2702:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7346,"name":"_excludedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7173,"src":"2723:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"2702:39:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7348,"nodeType":"ExpressionStatement","src":"2702:39:9"}]},"functionSelector":"e20c9f71","implemented":true,"kind":"function","modifiers":[],"name":"excludeContracts","nameLocation":"2615:16:9","parameters":{"id":7340,"nodeType":"ParameterList","parameters":[],"src":"2631:2:9"},"returnParameters":{"id":7344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7343,"mutability":"mutable","name":"excludedContracts_","nameLocation":"2672:18:9","nodeType":"VariableDeclaration","scope":7350,"src":"2655:35:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7341,"name":"address","nodeType":"ElementaryTypeName","src":"2655:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7342,"nodeType":"ArrayTypeName","src":"2655:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2654:37:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":7362,"nodeType":"FunctionDefinition","src":"2754:147:9","nodes":[],"body":{"id":7361,"nodeType":"Block","src":"2845:56:9","nodes":[],"statements":[{"expression":{"id":7359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7357,"name":"excludedSelectors_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7355,"src":"2855:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7358,"name":"_excludedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7196,"src":"2876:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"src":"2855:39:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"id":7360,"nodeType":"ExpressionStatement","src":"2855:39:9"}]},"functionSelector":"b0464fdc","implemented":true,"kind":"function","modifiers":[],"name":"excludeSelectors","nameLocation":"2763:16:9","parameters":{"id":7351,"nodeType":"ParameterList","parameters":[],"src":"2779:2:9"},"returnParameters":{"id":7356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7355,"mutability":"mutable","name":"excludedSelectors_","nameLocation":"2825:18:9","nodeType":"VariableDeclaration","scope":7362,"src":"2803:40:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":7353,"nodeType":"UserDefinedTypeName","pathNode":{"id":7352,"name":"FuzzSelector","nameLocations":["2803:12:9"],"nodeType":"IdentifierPath","referencedDeclaration":7158,"src":"2803:12:9"},"referencedDeclaration":7158,"src":"2803:12:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":7354,"nodeType":"ArrayTypeName","src":"2803:14:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"internal"}],"src":"2802:42:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":7373,"nodeType":"FunctionDefinition","src":"2907:134:9","nodes":[],"body":{"id":7372,"nodeType":"Block","src":"2989:52:9","nodes":[],"statements":[{"expression":{"id":7370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7368,"name":"excludedSenders_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7366,"src":"2999:16:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7369,"name":"_excludedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7176,"src":"3018:16:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"2999:35:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7371,"nodeType":"ExpressionStatement","src":"2999:35:9"}]},"functionSelector":"1ed7831c","implemented":true,"kind":"function","modifiers":[],"name":"excludeSenders","nameLocation":"2916:14:9","parameters":{"id":7363,"nodeType":"ParameterList","parameters":[],"src":"2930:2:9"},"returnParameters":{"id":7367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7366,"mutability":"mutable","name":"excludedSenders_","nameLocation":"2971:16:9","nodeType":"VariableDeclaration","scope":7373,"src":"2954:33:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7364,"name":"address","nodeType":"ElementaryTypeName","src":"2954:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7365,"nodeType":"ArrayTypeName","src":"2954:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2953:35:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":7384,"nodeType":"FunctionDefinition","src":"3047:140:9","nodes":[],"body":{"id":7383,"nodeType":"Block","src":"3131:56:9","nodes":[],"statements":[{"expression":{"id":7381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7379,"name":"targetedArtifacts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7377,"src":"3141:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7380,"name":"_targetedArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7188,"src":"3162:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage","typeString":"string storage ref[] storage ref"}},"src":"3141:39:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":7382,"nodeType":"ExpressionStatement","src":"3141:39:9"}]},"functionSelector":"85226c81","implemented":true,"kind":"function","modifiers":[],"name":"targetArtifacts","nameLocation":"3056:15:9","parameters":{"id":7374,"nodeType":"ParameterList","parameters":[],"src":"3071:2:9"},"returnParameters":{"id":7378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7377,"mutability":"mutable","name":"targetedArtifacts_","nameLocation":"3111:18:9","nodeType":"VariableDeclaration","scope":7384,"src":"3095:34:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7375,"name":"string","nodeType":"ElementaryTypeName","src":"3095:6:9","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7376,"nodeType":"ArrayTypeName","src":"3095:8:9","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"3094:36:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":7396,"nodeType":"FunctionDefinition","src":"3193:186:9","nodes":[],"body":{"id":7395,"nodeType":"Block","src":"3307:72:9","nodes":[],"statements":[{"expression":{"id":7393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7391,"name":"targetedArtifactSelectors_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7389,"src":"3317:26:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$7164_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7392,"name":"_targetedArtifactSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7192,"src":"3346:26:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$7164_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzArtifactSelector storage ref[] storage ref"}},"src":"3317:55:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$7164_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector memory[] memory"}},"id":7394,"nodeType":"ExpressionStatement","src":"3317:55:9"}]},"functionSelector":"66d9a9a0","implemented":true,"kind":"function","modifiers":[],"name":"targetArtifactSelectors","nameLocation":"3202:23:9","parameters":{"id":7385,"nodeType":"ParameterList","parameters":[],"src":"3225:2:9"},"returnParameters":{"id":7390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7389,"mutability":"mutable","name":"targetedArtifactSelectors_","nameLocation":"3279:26:9","nodeType":"VariableDeclaration","scope":7396,"src":"3249:56:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$7164_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector[]"},"typeName":{"baseType":{"id":7387,"nodeType":"UserDefinedTypeName","pathNode":{"id":7386,"name":"FuzzArtifactSelector","nameLocations":["3249:20:9"],"nodeType":"IdentifierPath","referencedDeclaration":7164,"src":"3249:20:9"},"referencedDeclaration":7164,"src":"3249:20:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzArtifactSelector_$7164_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector"}},"id":7388,"nodeType":"ArrayTypeName","src":"3249:22:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzArtifactSelector_$7164_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzArtifactSelector[]"}},"visibility":"internal"}],"src":"3248:58:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":7407,"nodeType":"FunctionDefinition","src":"3385:141:9","nodes":[],"body":{"id":7406,"nodeType":"Block","src":"3470:56:9","nodes":[],"statements":[{"expression":{"id":7404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7402,"name":"targetedContracts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7400,"src":"3480:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7403,"name":"_targetedContracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7179,"src":"3501:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"3480:39:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7405,"nodeType":"ExpressionStatement","src":"3480:39:9"}]},"functionSelector":"3f7286f4","implemented":true,"kind":"function","modifiers":[],"name":"targetContracts","nameLocation":"3394:15:9","parameters":{"id":7397,"nodeType":"ParameterList","parameters":[],"src":"3409:2:9"},"returnParameters":{"id":7401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7400,"mutability":"mutable","name":"targetedContracts_","nameLocation":"3450:18:9","nodeType":"VariableDeclaration","scope":7407,"src":"3433:35:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7398,"name":"address","nodeType":"ElementaryTypeName","src":"3433:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7399,"nodeType":"ArrayTypeName","src":"3433:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3432:37:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":7419,"nodeType":"FunctionDefinition","src":"3532:146:9","nodes":[],"body":{"id":7418,"nodeType":"Block","src":"3622:56:9","nodes":[],"statements":[{"expression":{"id":7416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7414,"name":"targetedSelectors_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7412,"src":"3632:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7415,"name":"_targetedSelectors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7200,"src":"3653:18:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzSelector storage ref[] storage ref"}},"src":"3632:39:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector memory[] memory"}},"id":7417,"nodeType":"ExpressionStatement","src":"3632:39:9"}]},"functionSelector":"916a17c6","implemented":true,"kind":"function","modifiers":[],"name":"targetSelectors","nameLocation":"3541:15:9","parameters":{"id":7408,"nodeType":"ParameterList","parameters":[],"src":"3556:2:9"},"returnParameters":{"id":7413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7412,"mutability":"mutable","name":"targetedSelectors_","nameLocation":"3602:18:9","nodeType":"VariableDeclaration","scope":7419,"src":"3580:40:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzSelector[]"},"typeName":{"baseType":{"id":7410,"nodeType":"UserDefinedTypeName","pathNode":{"id":7409,"name":"FuzzSelector","nameLocations":["3580:12:9"],"nodeType":"IdentifierPath","referencedDeclaration":7158,"src":"3580:12:9"},"referencedDeclaration":7158,"src":"3580:12:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzSelector_$7158_storage_ptr","typeString":"struct StdInvariant.FuzzSelector"}},"id":7411,"nodeType":"ArrayTypeName","src":"3580:14:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzSelector_$7158_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzSelector[]"}},"visibility":"internal"}],"src":"3579:42:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":7430,"nodeType":"FunctionDefinition","src":"3684:133:9","nodes":[],"body":{"id":7429,"nodeType":"Block","src":"3765:52:9","nodes":[],"statements":[{"expression":{"id":7427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7425,"name":"targetedSenders_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7423,"src":"3775:16:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7426,"name":"_targetedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7182,"src":"3794:16:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"src":"3775:35:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7428,"nodeType":"ExpressionStatement","src":"3775:35:9"}]},"functionSelector":"3e5e3c23","implemented":true,"kind":"function","modifiers":[],"name":"targetSenders","nameLocation":"3693:13:9","parameters":{"id":7420,"nodeType":"ParameterList","parameters":[],"src":"3706:2:9"},"returnParameters":{"id":7424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7423,"mutability":"mutable","name":"targetedSenders_","nameLocation":"3747:16:9","nodeType":"VariableDeclaration","scope":7430,"src":"3730:33:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7421,"name":"address","nodeType":"ElementaryTypeName","src":"3730:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7422,"nodeType":"ArrayTypeName","src":"3730:9:9","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3729:35:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":7442,"nodeType":"FunctionDefinition","src":"3823:151:9","nodes":[],"body":{"id":7441,"nodeType":"Block","src":"3916:58:9","nodes":[],"statements":[{"expression":{"id":7439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":7437,"name":"targetedInterfaces_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7435,"src":"3926:19:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$7170_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzInterface memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":7438,"name":"_targetedInterfaces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7204,"src":"3948:19:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$7170_storage_$dyn_storage","typeString":"struct StdInvariant.FuzzInterface storage ref[] storage ref"}},"src":"3926:41:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$7170_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzInterface memory[] memory"}},"id":7440,"nodeType":"ExpressionStatement","src":"3926:41:9"}]},"functionSelector":"2ade3880","implemented":true,"kind":"function","modifiers":[],"name":"targetInterfaces","nameLocation":"3832:16:9","parameters":{"id":7431,"nodeType":"ParameterList","parameters":[],"src":"3848:2:9"},"returnParameters":{"id":7436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7435,"mutability":"mutable","name":"targetedInterfaces_","nameLocation":"3895:19:9","nodeType":"VariableDeclaration","scope":7442,"src":"3872:42:9","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$7170_memory_ptr_$dyn_memory_ptr","typeString":"struct StdInvariant.FuzzInterface[]"},"typeName":{"baseType":{"id":7433,"nodeType":"UserDefinedTypeName","pathNode":{"id":7432,"name":"FuzzInterface","nameLocations":["3872:13:9"],"nodeType":"IdentifierPath","referencedDeclaration":7170,"src":"3872:13:9"},"referencedDeclaration":7170,"src":"3872:13:9","typeDescriptions":{"typeIdentifier":"t_struct$_FuzzInterface_$7170_storage_ptr","typeString":"struct StdInvariant.FuzzInterface"}},"id":7434,"nodeType":"ArrayTypeName","src":"3872:15:9","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FuzzInterface_$7170_storage_$dyn_storage_ptr","typeString":"struct StdInvariant.FuzzInterface[]"}},"visibility":"internal"}],"src":"3871:44:9"},"scope":7443,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":true,"baseContracts":[],"canonicalName":"StdInvariant","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[7443],"name":"StdInvariant","nameLocation":"118:12:9","scope":7444,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdJson.sol":{"id":10,"ast":{"absolutePath":"lib/forge-std/src/StdJson.sol","id":8388,"exportedSymbols":{"VmSafe":[17608],"stdJson":[8387]},"nodeType":"SourceUnit","src":"32:9671:10","nodes":[{"id":7445,"nodeType":"PragmaDirective","src":"32:31:10","nodes":[],"literals":["solidity",">=","0.6",".0","<","0.9",".0"]},{"id":7446,"nodeType":"PragmaDirective","src":"65:33:10","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":7448,"nodeType":"ImportDirective","src":"100:32:10","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":8388,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":7447,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"108:6:10","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":8387,"nodeType":"ContractDefinition","src":"610:9092:10","nodes":[{"id":7465,"nodeType":"VariableDeclaration","src":"632:92:10","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"656:2:10","scope":8387,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"},"typeName":{"id":7450,"nodeType":"UserDefinedTypeName","pathNode":{"id":7449,"name":"VmSafe","nameLocations":["632:6:10"],"nodeType":"IdentifierPath","referencedDeclaration":17608,"src":"632:6:10"},"referencedDeclaration":17608,"src":"632:6:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":7459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"702:17:10","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":7458,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"692:9:10","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"692:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"684:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7456,"name":"uint256","nodeType":"ElementaryTypeName","src":"684:7:10","typeDescriptions":{}}},"id":7461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"684:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"676:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":7454,"name":"uint160","nodeType":"ElementaryTypeName","src":"676:7:10","typeDescriptions":{}}},"id":7462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"676:46:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":7453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"668:7:10","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7452,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:10","typeDescriptions":{}}},"id":7463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"668:55:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7451,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"661:6:10","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$17608_$","typeString":"type(contract VmSafe)"}},"id":7464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"661:63:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"visibility":"private"},{"id":7481,"nodeType":"FunctionDefinition","src":"731:138:10","nodes":[],"body":{"id":7480,"nodeType":"Block","src":"818:51:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7476,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7467,"src":"852:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7477,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7469,"src":"858:3:10","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":7474,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"835:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"838:13:10","memberName":"keyExistsJson","nodeType":"MemberAccess","referencedDeclaration":15018,"src":"835:16:10","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view external returns (bool)"}},"id":7478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"835:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":7473,"id":7479,"nodeType":"Return","src":"828:34:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"keyExists","nameLocation":"740:9:10","parameters":{"id":7470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7467,"mutability":"mutable","name":"json","nameLocation":"764:4:10","nodeType":"VariableDeclaration","scope":7481,"src":"750:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7466,"name":"string","nodeType":"ElementaryTypeName","src":"750:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7469,"mutability":"mutable","name":"key","nameLocation":"784:3:10","nodeType":"VariableDeclaration","scope":7481,"src":"770:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7468,"name":"string","nodeType":"ElementaryTypeName","src":"770:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"749:39:10"},"returnParameters":{"id":7473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7472,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7481,"src":"812:4:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7471,"name":"bool","nodeType":"ElementaryTypeName","src":"812:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"811:6:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7497,"nodeType":"FunctionDefinition","src":"875:141:10","nodes":[],"body":{"id":7496,"nodeType":"Block","src":"969:47:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7492,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7483,"src":"999:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7493,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7485,"src":"1005:3:10","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":7490,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"986:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"989:9:10","memberName":"parseJson","nodeType":"MemberAccess","referencedDeclaration":15228,"src":"986:12:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":7494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"986:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":7489,"id":7495,"nodeType":"Return","src":"979:30:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"parseRaw","nameLocation":"884:8:10","parameters":{"id":7486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7483,"mutability":"mutable","name":"json","nameLocation":"907:4:10","nodeType":"VariableDeclaration","scope":7497,"src":"893:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7482,"name":"string","nodeType":"ElementaryTypeName","src":"893:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7485,"mutability":"mutable","name":"key","nameLocation":"927:3:10","nodeType":"VariableDeclaration","scope":7497,"src":"913:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7484,"name":"string","nodeType":"ElementaryTypeName","src":"913:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"892:39:10"},"returnParameters":{"id":7489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7488,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7497,"src":"955:12:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7487,"name":"bytes","nodeType":"ElementaryTypeName","src":"955:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"954:14:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7513,"nodeType":"FunctionDefinition","src":"1022:140:10","nodes":[],"body":{"id":7512,"nodeType":"Block","src":"1111:51:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7508,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7499,"src":"1145:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7509,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7501,"src":"1151:3:10","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":7506,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"1128:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1131:13:10","memberName":"parseJsonUint","nodeType":"MemberAccess","referencedDeclaration":15199,"src":"1128:16:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory,string memory) pure external returns (uint256)"}},"id":7510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1128:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7505,"id":7511,"nodeType":"Return","src":"1121:34:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUint","nameLocation":"1031:8:10","parameters":{"id":7502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7499,"mutability":"mutable","name":"json","nameLocation":"1054:4:10","nodeType":"VariableDeclaration","scope":7513,"src":"1040:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7498,"name":"string","nodeType":"ElementaryTypeName","src":"1040:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7501,"mutability":"mutable","name":"key","nameLocation":"1074:3:10","nodeType":"VariableDeclaration","scope":7513,"src":"1060:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7500,"name":"string","nodeType":"ElementaryTypeName","src":"1060:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1039:39:10"},"returnParameters":{"id":7505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7504,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7513,"src":"1102:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7503,"name":"uint256","nodeType":"ElementaryTypeName","src":"1102:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1101:9:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7530,"nodeType":"FunctionDefinition","src":"1168:159:10","nodes":[],"body":{"id":7529,"nodeType":"Block","src":"1271:56:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7525,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7515,"src":"1310:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7526,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7517,"src":"1316:3:10","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":7523,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"1288:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1291:18:10","memberName":"parseJsonUintArray","nodeType":"MemberAccess","referencedDeclaration":15210,"src":"1288:21:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (uint256[] memory)"}},"id":7527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1288:32:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":7522,"id":7528,"nodeType":"Return","src":"1281:39:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintArray","nameLocation":"1177:13:10","parameters":{"id":7518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7515,"mutability":"mutable","name":"json","nameLocation":"1205:4:10","nodeType":"VariableDeclaration","scope":7530,"src":"1191:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7514,"name":"string","nodeType":"ElementaryTypeName","src":"1191:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7517,"mutability":"mutable","name":"key","nameLocation":"1225:3:10","nodeType":"VariableDeclaration","scope":7530,"src":"1211:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7516,"name":"string","nodeType":"ElementaryTypeName","src":"1211:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1190:39:10"},"returnParameters":{"id":7522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7521,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7530,"src":"1253:16:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7519,"name":"uint256","nodeType":"ElementaryTypeName","src":"1253:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7520,"nodeType":"ArrayTypeName","src":"1253:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1252:18:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7546,"nodeType":"FunctionDefinition","src":"1333:137:10","nodes":[],"body":{"id":7545,"nodeType":"Block","src":"1420:50:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7541,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7532,"src":"1453:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7542,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7534,"src":"1459:3:10","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":7539,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"1437:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1440:12:10","memberName":"parseJsonInt","nodeType":"MemberAccess","referencedDeclaration":15112,"src":"1437:15:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_int256_$","typeString":"function (string memory,string memory) pure external returns (int256)"}},"id":7543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1437:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":7538,"id":7544,"nodeType":"Return","src":"1430:33:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readInt","nameLocation":"1342:7:10","parameters":{"id":7535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7532,"mutability":"mutable","name":"json","nameLocation":"1364:4:10","nodeType":"VariableDeclaration","scope":7546,"src":"1350:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7531,"name":"string","nodeType":"ElementaryTypeName","src":"1350:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7534,"mutability":"mutable","name":"key","nameLocation":"1384:3:10","nodeType":"VariableDeclaration","scope":7546,"src":"1370:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7533,"name":"string","nodeType":"ElementaryTypeName","src":"1370:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1349:39:10"},"returnParameters":{"id":7538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7537,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7546,"src":"1412:6:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7536,"name":"int256","nodeType":"ElementaryTypeName","src":"1412:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1411:8:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7563,"nodeType":"FunctionDefinition","src":"1476:156:10","nodes":[],"body":{"id":7562,"nodeType":"Block","src":"1577:55:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7558,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7548,"src":"1615:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7559,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7550,"src":"1621:3:10","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":7556,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"1594:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1597:17:10","memberName":"parseJsonIntArray","nodeType":"MemberAccess","referencedDeclaration":15123,"src":"1594:20:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_int256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (int256[] memory)"}},"id":7560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1594:31:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"functionReturnParameters":7555,"id":7561,"nodeType":"Return","src":"1587:38:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntArray","nameLocation":"1485:12:10","parameters":{"id":7551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7548,"mutability":"mutable","name":"json","nameLocation":"1512:4:10","nodeType":"VariableDeclaration","scope":7563,"src":"1498:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7547,"name":"string","nodeType":"ElementaryTypeName","src":"1498:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7550,"mutability":"mutable","name":"key","nameLocation":"1532:3:10","nodeType":"VariableDeclaration","scope":7563,"src":"1518:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7549,"name":"string","nodeType":"ElementaryTypeName","src":"1518:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1497:39:10"},"returnParameters":{"id":7555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7554,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7563,"src":"1560:15:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":7552,"name":"int256","nodeType":"ElementaryTypeName","src":"1560:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7553,"nodeType":"ArrayTypeName","src":"1560:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1559:17:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7579,"nodeType":"FunctionDefinition","src":"1638:146:10","nodes":[],"body":{"id":7578,"nodeType":"Block","src":"1730:54:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7574,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7565,"src":"1767:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7575,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7567,"src":"1773:3:10","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":7572,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"1747:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1750:16:10","memberName":"parseJsonBytes32","nodeType":"MemberAccess","referencedDeclaration":15080,"src":"1747:19:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory,string memory) pure external returns (bytes32)"}},"id":7576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1747:30:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":7571,"id":7577,"nodeType":"Return","src":"1740:37:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32","nameLocation":"1647:11:10","parameters":{"id":7568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7565,"mutability":"mutable","name":"json","nameLocation":"1673:4:10","nodeType":"VariableDeclaration","scope":7579,"src":"1659:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7564,"name":"string","nodeType":"ElementaryTypeName","src":"1659:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7567,"mutability":"mutable","name":"key","nameLocation":"1693:3:10","nodeType":"VariableDeclaration","scope":7579,"src":"1679:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7566,"name":"string","nodeType":"ElementaryTypeName","src":"1679:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1658:39:10"},"returnParameters":{"id":7571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7570,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7579,"src":"1721:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7569,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1721:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1720:9:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7596,"nodeType":"FunctionDefinition","src":"1790:165:10","nodes":[],"body":{"id":7595,"nodeType":"Block","src":"1896:59:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7591,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7581,"src":"1938:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7592,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7583,"src":"1944:3:10","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":7589,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"1913:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1916:21:10","memberName":"parseJsonBytes32Array","nodeType":"MemberAccess","referencedDeclaration":15091,"src":"1913:24:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes32[] memory)"}},"id":7593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1913:35:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":7588,"id":7594,"nodeType":"Return","src":"1906:42:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32Array","nameLocation":"1799:16:10","parameters":{"id":7584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7581,"mutability":"mutable","name":"json","nameLocation":"1830:4:10","nodeType":"VariableDeclaration","scope":7596,"src":"1816:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7580,"name":"string","nodeType":"ElementaryTypeName","src":"1816:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7583,"mutability":"mutable","name":"key","nameLocation":"1850:3:10","nodeType":"VariableDeclaration","scope":7596,"src":"1836:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7582,"name":"string","nodeType":"ElementaryTypeName","src":"1836:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1815:39:10"},"returnParameters":{"id":7588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7587,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7596,"src":"1878:16:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7585,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1878:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7586,"nodeType":"ArrayTypeName","src":"1878:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"1877:18:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7612,"nodeType":"FunctionDefinition","src":"1961:150:10","nodes":[],"body":{"id":7611,"nodeType":"Block","src":"2058:53:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7607,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7598,"src":"2094:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7608,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7600,"src":"2100:3:10","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":7605,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"2075:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2078:15:10","memberName":"parseJsonString","nodeType":"MemberAccess","referencedDeclaration":15144,"src":"2075:18:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory)"}},"id":7609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2075:29:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7604,"id":7610,"nodeType":"Return","src":"2068:36:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readString","nameLocation":"1970:10:10","parameters":{"id":7601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7598,"mutability":"mutable","name":"json","nameLocation":"1995:4:10","nodeType":"VariableDeclaration","scope":7612,"src":"1981:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7597,"name":"string","nodeType":"ElementaryTypeName","src":"1981:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7600,"mutability":"mutable","name":"key","nameLocation":"2015:3:10","nodeType":"VariableDeclaration","scope":7612,"src":"2001:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7599,"name":"string","nodeType":"ElementaryTypeName","src":"2001:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1980:39:10"},"returnParameters":{"id":7604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7603,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7612,"src":"2043:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7602,"name":"string","nodeType":"ElementaryTypeName","src":"2043:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2042:15:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7629,"nodeType":"FunctionDefinition","src":"2117:162:10","nodes":[],"body":{"id":7628,"nodeType":"Block","src":"2221:58:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7624,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7614,"src":"2262:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7625,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7616,"src":"2268:3:10","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":7622,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"2238:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2241:20:10","memberName":"parseJsonStringArray","nodeType":"MemberAccess","referencedDeclaration":15155,"src":"2238:23:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory[] memory)"}},"id":7626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2238:34:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":7621,"id":7627,"nodeType":"Return","src":"2231:41:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringArray","nameLocation":"2126:15:10","parameters":{"id":7617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7614,"mutability":"mutable","name":"json","nameLocation":"2156:4:10","nodeType":"VariableDeclaration","scope":7629,"src":"2142:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7613,"name":"string","nodeType":"ElementaryTypeName","src":"2142:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7616,"mutability":"mutable","name":"key","nameLocation":"2176:3:10","nodeType":"VariableDeclaration","scope":7629,"src":"2162:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7615,"name":"string","nodeType":"ElementaryTypeName","src":"2162:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2141:39:10"},"returnParameters":{"id":7621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7629,"src":"2204:15:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7618,"name":"string","nodeType":"ElementaryTypeName","src":"2204:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7619,"nodeType":"ArrayTypeName","src":"2204:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"2203:17:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7645,"nodeType":"FunctionDefinition","src":"2285:146:10","nodes":[],"body":{"id":7644,"nodeType":"Block","src":"2377:54:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7640,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7631,"src":"2414:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7641,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7633,"src":"2420:3:10","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":7638,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"2394:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2397:16:10","memberName":"parseJsonAddress","nodeType":"MemberAccess","referencedDeclaration":15028,"src":"2394:19:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) pure external returns (address)"}},"id":7642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2394:30:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":7637,"id":7643,"nodeType":"Return","src":"2387:37:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddress","nameLocation":"2294:11:10","parameters":{"id":7634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7631,"mutability":"mutable","name":"json","nameLocation":"2320:4:10","nodeType":"VariableDeclaration","scope":7645,"src":"2306:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7630,"name":"string","nodeType":"ElementaryTypeName","src":"2306:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7633,"mutability":"mutable","name":"key","nameLocation":"2340:3:10","nodeType":"VariableDeclaration","scope":7645,"src":"2326:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7632,"name":"string","nodeType":"ElementaryTypeName","src":"2326:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2305:39:10"},"returnParameters":{"id":7637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7636,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7645,"src":"2368:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7635,"name":"address","nodeType":"ElementaryTypeName","src":"2368:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2367:9:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7662,"nodeType":"FunctionDefinition","src":"2437:165:10","nodes":[],"body":{"id":7661,"nodeType":"Block","src":"2543:59:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7657,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7647,"src":"2585:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7658,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7649,"src":"2591:3:10","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":7655,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"2560:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2563:21:10","memberName":"parseJsonAddressArray","nodeType":"MemberAccess","referencedDeclaration":15039,"src":"2560:24:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (address[] memory)"}},"id":7659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2560:35:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":7654,"id":7660,"nodeType":"Return","src":"2553:42:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressArray","nameLocation":"2446:16:10","parameters":{"id":7650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7647,"mutability":"mutable","name":"json","nameLocation":"2477:4:10","nodeType":"VariableDeclaration","scope":7662,"src":"2463:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7646,"name":"string","nodeType":"ElementaryTypeName","src":"2463:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7649,"mutability":"mutable","name":"key","nameLocation":"2497:3:10","nodeType":"VariableDeclaration","scope":7662,"src":"2483:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7648,"name":"string","nodeType":"ElementaryTypeName","src":"2483:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2462:39:10"},"returnParameters":{"id":7654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7653,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7662,"src":"2525:16:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7651,"name":"address","nodeType":"ElementaryTypeName","src":"2525:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7652,"nodeType":"ArrayTypeName","src":"2525:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2524:18:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7678,"nodeType":"FunctionDefinition","src":"2608:137:10","nodes":[],"body":{"id":7677,"nodeType":"Block","src":"2694:51:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7673,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7664,"src":"2728:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7674,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7666,"src":"2734:3:10","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":7671,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"2711:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2714:13:10","memberName":"parseJsonBool","nodeType":"MemberAccess","referencedDeclaration":15049,"src":"2711:16:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) pure external returns (bool)"}},"id":7675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2711:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":7670,"id":7676,"nodeType":"Return","src":"2704:34:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBool","nameLocation":"2617:8:10","parameters":{"id":7667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7664,"mutability":"mutable","name":"json","nameLocation":"2640:4:10","nodeType":"VariableDeclaration","scope":7678,"src":"2626:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7663,"name":"string","nodeType":"ElementaryTypeName","src":"2626:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7666,"mutability":"mutable","name":"key","nameLocation":"2660:3:10","nodeType":"VariableDeclaration","scope":7678,"src":"2646:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7665,"name":"string","nodeType":"ElementaryTypeName","src":"2646:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2625:39:10"},"returnParameters":{"id":7670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7669,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7678,"src":"2688:4:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7668,"name":"bool","nodeType":"ElementaryTypeName","src":"2688:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2687:6:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7695,"nodeType":"FunctionDefinition","src":"2751:156:10","nodes":[],"body":{"id":7694,"nodeType":"Block","src":"2851:56:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7690,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7680,"src":"2890:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7691,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7682,"src":"2896:3:10","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":7688,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"2868:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2871:18:10","memberName":"parseJsonBoolArray","nodeType":"MemberAccess","referencedDeclaration":15060,"src":"2868:21:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bool[] memory)"}},"id":7692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2868:32:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"functionReturnParameters":7687,"id":7693,"nodeType":"Return","src":"2861:39:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolArray","nameLocation":"2760:13:10","parameters":{"id":7683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7680,"mutability":"mutable","name":"json","nameLocation":"2788:4:10","nodeType":"VariableDeclaration","scope":7695,"src":"2774:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7679,"name":"string","nodeType":"ElementaryTypeName","src":"2774:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7682,"mutability":"mutable","name":"key","nameLocation":"2808:3:10","nodeType":"VariableDeclaration","scope":7695,"src":"2794:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7681,"name":"string","nodeType":"ElementaryTypeName","src":"2794:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2773:39:10"},"returnParameters":{"id":7687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7695,"src":"2836:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":7684,"name":"bool","nodeType":"ElementaryTypeName","src":"2836:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7685,"nodeType":"ArrayTypeName","src":"2836:6:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"2835:15:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7711,"nodeType":"FunctionDefinition","src":"2913:147:10","nodes":[],"body":{"id":7710,"nodeType":"Block","src":"3008:52:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7706,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7697,"src":"3043:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7707,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7699,"src":"3049:3:10","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":7704,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"3025:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3028:14:10","memberName":"parseJsonBytes","nodeType":"MemberAccess","referencedDeclaration":15070,"src":"3025:17:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":7708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3025:28:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":7703,"id":7709,"nodeType":"Return","src":"3018:35:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes","nameLocation":"2922:9:10","parameters":{"id":7700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7697,"mutability":"mutable","name":"json","nameLocation":"2946:4:10","nodeType":"VariableDeclaration","scope":7711,"src":"2932:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7696,"name":"string","nodeType":"ElementaryTypeName","src":"2932:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7699,"mutability":"mutable","name":"key","nameLocation":"2966:3:10","nodeType":"VariableDeclaration","scope":7711,"src":"2952:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7698,"name":"string","nodeType":"ElementaryTypeName","src":"2952:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2931:39:10"},"returnParameters":{"id":7703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7702,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7711,"src":"2994:12:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7701,"name":"bytes","nodeType":"ElementaryTypeName","src":"2994:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2993:14:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7728,"nodeType":"FunctionDefinition","src":"3066:159:10","nodes":[],"body":{"id":7727,"nodeType":"Block","src":"3168:57:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":7723,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7713,"src":"3208:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7724,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7715,"src":"3214:3:10","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":7721,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"3185:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":7722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3188:19:10","memberName":"parseJsonBytesArray","nodeType":"MemberAccess","referencedDeclaration":15102,"src":"3185:22:10","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory[] memory)"}},"id":7725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3185:33:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":7720,"id":7726,"nodeType":"Return","src":"3178:40:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesArray","nameLocation":"3075:14:10","parameters":{"id":7716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7713,"mutability":"mutable","name":"json","nameLocation":"3104:4:10","nodeType":"VariableDeclaration","scope":7728,"src":"3090:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7712,"name":"string","nodeType":"ElementaryTypeName","src":"3090:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7715,"mutability":"mutable","name":"key","nameLocation":"3124:3:10","nodeType":"VariableDeclaration","scope":7728,"src":"3110:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7714,"name":"string","nodeType":"ElementaryTypeName","src":"3110:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3089:39:10"},"returnParameters":{"id":7720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7719,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7728,"src":"3152:14:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7717,"name":"bytes","nodeType":"ElementaryTypeName","src":"3152:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7718,"nodeType":"ArrayTypeName","src":"3152:7:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"3151:16:10"},"scope":8387,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":7751,"nodeType":"FunctionDefinition","src":"3231:194:10","nodes":[],"body":{"id":7750,"nodeType":"Block","src":"3344:81:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7740,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7730,"src":"3371:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7741,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7732,"src":"3377:3:10","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"}],"id":7739,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"3361:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3361:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7747,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7734,"src":"3406:12:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3361:57:10","trueExpression":{"arguments":[{"id":7744,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7730,"src":"3393:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7745,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7732,"src":"3399:3:10","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"}],"id":7743,"name":"readUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7513,"src":"3384:8:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory,string memory) pure returns (uint256)"}},"id":7746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3384:19:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7738,"id":7749,"nodeType":"Return","src":"3354:64:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintOr","nameLocation":"3240:10:10","parameters":{"id":7735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7730,"mutability":"mutable","name":"json","nameLocation":"3265:4:10","nodeType":"VariableDeclaration","scope":7751,"src":"3251:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7729,"name":"string","nodeType":"ElementaryTypeName","src":"3251:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7732,"mutability":"mutable","name":"key","nameLocation":"3285:3:10","nodeType":"VariableDeclaration","scope":7751,"src":"3271:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7731,"name":"string","nodeType":"ElementaryTypeName","src":"3271:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7734,"mutability":"mutable","name":"defaultValue","nameLocation":"3298:12:10","nodeType":"VariableDeclaration","scope":7751,"src":"3290:20:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7733,"name":"uint256","nodeType":"ElementaryTypeName","src":"3290:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3250:61:10"},"returnParameters":{"id":7738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7737,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7751,"src":"3335:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7736,"name":"uint256","nodeType":"ElementaryTypeName","src":"3335:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3334:9:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7776,"nodeType":"FunctionDefinition","src":"3431:250:10","nodes":[],"body":{"id":7775,"nodeType":"Block","src":"3595:86:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7765,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7753,"src":"3622:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7766,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7755,"src":"3628:3:10","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"}],"id":7764,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"3612:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3612:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7772,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7758,"src":"3662:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":7773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3612:62:10","trueExpression":{"arguments":[{"id":7769,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7753,"src":"3649:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7770,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7755,"src":"3655:3:10","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"}],"id":7768,"name":"readUintArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7530,"src":"3635:13:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (uint256[] memory)"}},"id":7771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3635:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":7763,"id":7774,"nodeType":"Return","src":"3605:69:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintArrayOr","nameLocation":"3440:15:10","parameters":{"id":7759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7753,"mutability":"mutable","name":"json","nameLocation":"3470:4:10","nodeType":"VariableDeclaration","scope":7776,"src":"3456:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7752,"name":"string","nodeType":"ElementaryTypeName","src":"3456:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7755,"mutability":"mutable","name":"key","nameLocation":"3490:3:10","nodeType":"VariableDeclaration","scope":7776,"src":"3476:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7754,"name":"string","nodeType":"ElementaryTypeName","src":"3476:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7758,"mutability":"mutable","name":"defaultValue","nameLocation":"3512:12:10","nodeType":"VariableDeclaration","scope":7776,"src":"3495:29:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7756,"name":"uint256","nodeType":"ElementaryTypeName","src":"3495:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7757,"nodeType":"ArrayTypeName","src":"3495:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3455:70:10"},"returnParameters":{"id":7763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7762,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7776,"src":"3573:16:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7760,"name":"uint256","nodeType":"ElementaryTypeName","src":"3573:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7761,"nodeType":"ArrayTypeName","src":"3573:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3572:18:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7799,"nodeType":"FunctionDefinition","src":"3687:190:10","nodes":[],"body":{"id":7798,"nodeType":"Block","src":"3797:80:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7788,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7778,"src":"3824:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7789,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7780,"src":"3830:3:10","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"}],"id":7787,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"3814:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3814:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7795,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7782,"src":"3858:12:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3814:56:10","trueExpression":{"arguments":[{"id":7792,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7778,"src":"3845:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7793,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7780,"src":"3851:3:10","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"}],"id":7791,"name":"readInt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7546,"src":"3837:7:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_int256_$","typeString":"function (string memory,string memory) pure returns (int256)"}},"id":7794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3837:18:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":7786,"id":7797,"nodeType":"Return","src":"3807:63:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntOr","nameLocation":"3696:9:10","parameters":{"id":7783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7778,"mutability":"mutable","name":"json","nameLocation":"3720:4:10","nodeType":"VariableDeclaration","scope":7799,"src":"3706:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7777,"name":"string","nodeType":"ElementaryTypeName","src":"3706:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7780,"mutability":"mutable","name":"key","nameLocation":"3740:3:10","nodeType":"VariableDeclaration","scope":7799,"src":"3726:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7779,"name":"string","nodeType":"ElementaryTypeName","src":"3726:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7782,"mutability":"mutable","name":"defaultValue","nameLocation":"3752:12:10","nodeType":"VariableDeclaration","scope":7799,"src":"3745:19:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7781,"name":"int256","nodeType":"ElementaryTypeName","src":"3745:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3705:60:10"},"returnParameters":{"id":7786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7785,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7799,"src":"3789:6:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7784,"name":"int256","nodeType":"ElementaryTypeName","src":"3789:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3788:8:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7824,"nodeType":"FunctionDefinition","src":"3883:246:10","nodes":[],"body":{"id":7823,"nodeType":"Block","src":"4044:85:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7813,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7801,"src":"4071:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7814,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7803,"src":"4077:3:10","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"}],"id":7812,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"4061:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4061:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7820,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7806,"src":"4110:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"id":7821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4061:61:10","trueExpression":{"arguments":[{"id":7817,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7801,"src":"4097:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7818,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7803,"src":"4103:3:10","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"}],"id":7816,"name":"readIntArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7563,"src":"4084:12:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_int256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (int256[] memory)"}},"id":7819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4084:23:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"functionReturnParameters":7811,"id":7822,"nodeType":"Return","src":"4054:68:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntArrayOr","nameLocation":"3892:14:10","parameters":{"id":7807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7801,"mutability":"mutable","name":"json","nameLocation":"3921:4:10","nodeType":"VariableDeclaration","scope":7824,"src":"3907:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7800,"name":"string","nodeType":"ElementaryTypeName","src":"3907:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7803,"mutability":"mutable","name":"key","nameLocation":"3941:3:10","nodeType":"VariableDeclaration","scope":7824,"src":"3927:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7802,"name":"string","nodeType":"ElementaryTypeName","src":"3927:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7806,"mutability":"mutable","name":"defaultValue","nameLocation":"3962:12:10","nodeType":"VariableDeclaration","scope":7824,"src":"3946:28:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":7804,"name":"int256","nodeType":"ElementaryTypeName","src":"3946:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7805,"nodeType":"ArrayTypeName","src":"3946:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"3906:69:10"},"returnParameters":{"id":7811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7810,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7824,"src":"4023:15:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":7808,"name":"int256","nodeType":"ElementaryTypeName","src":"4023:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7809,"nodeType":"ArrayTypeName","src":"4023:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"4022:17:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7847,"nodeType":"FunctionDefinition","src":"4135:228:10","nodes":[],"body":{"id":7846,"nodeType":"Block","src":"4279:84:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7836,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7826,"src":"4306:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7837,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7828,"src":"4312:3:10","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"}],"id":7835,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"4296:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4296:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7843,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7830,"src":"4344:12:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4296:60:10","trueExpression":{"arguments":[{"id":7840,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7826,"src":"4331:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7841,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7828,"src":"4337:3:10","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"}],"id":7839,"name":"readBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7579,"src":"4319:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory,string memory) pure returns (bytes32)"}},"id":7842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4319:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":7834,"id":7845,"nodeType":"Return","src":"4289:67:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32Or","nameLocation":"4144:13:10","parameters":{"id":7831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7826,"mutability":"mutable","name":"json","nameLocation":"4172:4:10","nodeType":"VariableDeclaration","scope":7847,"src":"4158:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7825,"name":"string","nodeType":"ElementaryTypeName","src":"4158:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7828,"mutability":"mutable","name":"key","nameLocation":"4192:3:10","nodeType":"VariableDeclaration","scope":7847,"src":"4178:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7827,"name":"string","nodeType":"ElementaryTypeName","src":"4178:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7830,"mutability":"mutable","name":"defaultValue","nameLocation":"4205:12:10","nodeType":"VariableDeclaration","scope":7847,"src":"4197:20:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7829,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4197:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4157:61:10"},"returnParameters":{"id":7834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7833,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7847,"src":"4266:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7832,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4266:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4265:9:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7872,"nodeType":"FunctionDefinition","src":"4369:256:10","nodes":[],"body":{"id":7871,"nodeType":"Block","src":"4536:89:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7861,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7849,"src":"4563:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7862,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7851,"src":"4569:3:10","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"}],"id":7860,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"4553:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4553:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7868,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7854,"src":"4606:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":7869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4553:65:10","trueExpression":{"arguments":[{"id":7865,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7849,"src":"4593:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7866,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7851,"src":"4599:3:10","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"}],"id":7864,"name":"readBytes32Array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7596,"src":"4576:16:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bytes32[] memory)"}},"id":7867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4576:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":7859,"id":7870,"nodeType":"Return","src":"4546:72:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32ArrayOr","nameLocation":"4378:18:10","parameters":{"id":7855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7849,"mutability":"mutable","name":"json","nameLocation":"4411:4:10","nodeType":"VariableDeclaration","scope":7872,"src":"4397:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7848,"name":"string","nodeType":"ElementaryTypeName","src":"4397:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7851,"mutability":"mutable","name":"key","nameLocation":"4431:3:10","nodeType":"VariableDeclaration","scope":7872,"src":"4417:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7850,"name":"string","nodeType":"ElementaryTypeName","src":"4417:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7854,"mutability":"mutable","name":"defaultValue","nameLocation":"4453:12:10","nodeType":"VariableDeclaration","scope":7872,"src":"4436:29:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7852,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4436:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7853,"nodeType":"ArrayTypeName","src":"4436:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4396:70:10"},"returnParameters":{"id":7859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7858,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7872,"src":"4514:16:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":7856,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4514:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":7857,"nodeType":"ArrayTypeName","src":"4514:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4513:18:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7895,"nodeType":"FunctionDefinition","src":"4631:238:10","nodes":[],"body":{"id":7894,"nodeType":"Block","src":"4786:83:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7884,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7874,"src":"4813:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7885,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7876,"src":"4819:3:10","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"}],"id":7883,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"4803:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4803:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7891,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7878,"src":"4850:12:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":7892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4803:59:10","trueExpression":{"arguments":[{"id":7888,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7874,"src":"4837:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7889,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7876,"src":"4843:3:10","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"}],"id":7887,"name":"readString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7612,"src":"4826:10:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":7890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4826:21:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":7882,"id":7893,"nodeType":"Return","src":"4796:66:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringOr","nameLocation":"4640:12:10","parameters":{"id":7879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7874,"mutability":"mutable","name":"json","nameLocation":"4667:4:10","nodeType":"VariableDeclaration","scope":7895,"src":"4653:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7873,"name":"string","nodeType":"ElementaryTypeName","src":"4653:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7876,"mutability":"mutable","name":"key","nameLocation":"4687:3:10","nodeType":"VariableDeclaration","scope":7895,"src":"4673:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7875,"name":"string","nodeType":"ElementaryTypeName","src":"4673:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7878,"mutability":"mutable","name":"defaultValue","nameLocation":"4706:12:10","nodeType":"VariableDeclaration","scope":7895,"src":"4692:26:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7877,"name":"string","nodeType":"ElementaryTypeName","src":"4692:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4652:67:10"},"returnParameters":{"id":7882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7881,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7895,"src":"4767:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7880,"name":"string","nodeType":"ElementaryTypeName","src":"4767:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4766:15:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7920,"nodeType":"FunctionDefinition","src":"4875:252:10","nodes":[],"body":{"id":7919,"nodeType":"Block","src":"5039:88:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7909,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7897,"src":"5066:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7910,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7899,"src":"5072:3:10","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"}],"id":7908,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"5056:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5056:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7916,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7902,"src":"5108:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":7917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5056:64:10","trueExpression":{"arguments":[{"id":7913,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7897,"src":"5095:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7914,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7899,"src":"5101:3:10","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"}],"id":7912,"name":"readStringArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7629,"src":"5079:15:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory[] memory)"}},"id":7915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5079:26:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":7907,"id":7918,"nodeType":"Return","src":"5049:71:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringArrayOr","nameLocation":"4884:17:10","parameters":{"id":7903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7897,"mutability":"mutable","name":"json","nameLocation":"4916:4:10","nodeType":"VariableDeclaration","scope":7920,"src":"4902:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7896,"name":"string","nodeType":"ElementaryTypeName","src":"4902:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7899,"mutability":"mutable","name":"key","nameLocation":"4936:3:10","nodeType":"VariableDeclaration","scope":7920,"src":"4922:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7898,"name":"string","nodeType":"ElementaryTypeName","src":"4922:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7902,"mutability":"mutable","name":"defaultValue","nameLocation":"4957:12:10","nodeType":"VariableDeclaration","scope":7920,"src":"4941:28:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7900,"name":"string","nodeType":"ElementaryTypeName","src":"4941:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7901,"nodeType":"ArrayTypeName","src":"4941:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"4901:69:10"},"returnParameters":{"id":7907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7906,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7920,"src":"5018:15:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":7904,"name":"string","nodeType":"ElementaryTypeName","src":"5018:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":7905,"nodeType":"ArrayTypeName","src":"5018:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"5017:17:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7943,"nodeType":"FunctionDefinition","src":"5133:228:10","nodes":[],"body":{"id":7942,"nodeType":"Block","src":"5277:84:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7932,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7922,"src":"5304:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7933,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7924,"src":"5310:3:10","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"}],"id":7931,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"5294:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5294:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7939,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7926,"src":"5342:12:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5294:60:10","trueExpression":{"arguments":[{"id":7936,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7922,"src":"5329:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7937,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7924,"src":"5335:3:10","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"}],"id":7935,"name":"readAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7645,"src":"5317:11:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) pure returns (address)"}},"id":7938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5317:22:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":7930,"id":7941,"nodeType":"Return","src":"5287:67:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressOr","nameLocation":"5142:13:10","parameters":{"id":7927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7922,"mutability":"mutable","name":"json","nameLocation":"5170:4:10","nodeType":"VariableDeclaration","scope":7943,"src":"5156:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7921,"name":"string","nodeType":"ElementaryTypeName","src":"5156:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7924,"mutability":"mutable","name":"key","nameLocation":"5190:3:10","nodeType":"VariableDeclaration","scope":7943,"src":"5176:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7923,"name":"string","nodeType":"ElementaryTypeName","src":"5176:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7926,"mutability":"mutable","name":"defaultValue","nameLocation":"5203:12:10","nodeType":"VariableDeclaration","scope":7943,"src":"5195:20:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7925,"name":"address","nodeType":"ElementaryTypeName","src":"5195:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5155:61:10"},"returnParameters":{"id":7930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7943,"src":"5264:7:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7928,"name":"address","nodeType":"ElementaryTypeName","src":"5264:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5263:9:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7968,"nodeType":"FunctionDefinition","src":"5367:256:10","nodes":[],"body":{"id":7967,"nodeType":"Block","src":"5534:89:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7957,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7945,"src":"5561:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7958,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7947,"src":"5567:3:10","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"}],"id":7956,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"5551:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5551:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7964,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7950,"src":"5604:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5551:65:10","trueExpression":{"arguments":[{"id":7961,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7945,"src":"5591:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7962,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7947,"src":"5597:3:10","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"}],"id":7960,"name":"readAddressArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7662,"src":"5574:16:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (address[] memory)"}},"id":7963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":7955,"id":7966,"nodeType":"Return","src":"5544:72:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressArrayOr","nameLocation":"5376:18:10","parameters":{"id":7951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7945,"mutability":"mutable","name":"json","nameLocation":"5409:4:10","nodeType":"VariableDeclaration","scope":7968,"src":"5395:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7944,"name":"string","nodeType":"ElementaryTypeName","src":"5395:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7947,"mutability":"mutable","name":"key","nameLocation":"5429:3:10","nodeType":"VariableDeclaration","scope":7968,"src":"5415:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7946,"name":"string","nodeType":"ElementaryTypeName","src":"5415:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7950,"mutability":"mutable","name":"defaultValue","nameLocation":"5451:12:10","nodeType":"VariableDeclaration","scope":7968,"src":"5434:29:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7948,"name":"address","nodeType":"ElementaryTypeName","src":"5434:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7949,"nodeType":"ArrayTypeName","src":"5434:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5394:70:10"},"returnParameters":{"id":7955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7954,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7968,"src":"5512:16:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7952,"name":"address","nodeType":"ElementaryTypeName","src":"5512:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7953,"nodeType":"ArrayTypeName","src":"5512:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5511:18:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":7991,"nodeType":"FunctionDefinition","src":"5629:188:10","nodes":[],"body":{"id":7990,"nodeType":"Block","src":"5736:81:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":7980,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7970,"src":"5763:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7981,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7972,"src":"5769:3:10","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"}],"id":7979,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"5753:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":7982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":7987,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7974,"src":"5798:12:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5753:57:10","trueExpression":{"arguments":[{"id":7984,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7970,"src":"5785:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":7985,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7972,"src":"5791:3:10","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"}],"id":7983,"name":"readBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7678,"src":"5776:8:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":7986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5776:19:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":7978,"id":7989,"nodeType":"Return","src":"5746:64:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolOr","nameLocation":"5638:10:10","parameters":{"id":7975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7970,"mutability":"mutable","name":"json","nameLocation":"5663:4:10","nodeType":"VariableDeclaration","scope":7991,"src":"5649:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7969,"name":"string","nodeType":"ElementaryTypeName","src":"5649:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7972,"mutability":"mutable","name":"key","nameLocation":"5683:3:10","nodeType":"VariableDeclaration","scope":7991,"src":"5669:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7971,"name":"string","nodeType":"ElementaryTypeName","src":"5669:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7974,"mutability":"mutable","name":"defaultValue","nameLocation":"5693:12:10","nodeType":"VariableDeclaration","scope":7991,"src":"5688:17:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7973,"name":"bool","nodeType":"ElementaryTypeName","src":"5688:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5648:58:10"},"returnParameters":{"id":7978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7977,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":7991,"src":"5730:4:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7976,"name":"bool","nodeType":"ElementaryTypeName","src":"5730:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5729:6:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":8016,"nodeType":"FunctionDefinition","src":"5823:244:10","nodes":[],"body":{"id":8015,"nodeType":"Block","src":"5981:86:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":8005,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7993,"src":"6008:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8006,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7995,"src":"6014:3:10","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"}],"id":8004,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"5998:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":8007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5998:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":8012,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7998,"src":"6048:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"id":8013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5998:62:10","trueExpression":{"arguments":[{"id":8009,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7993,"src":"6035:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8010,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7995,"src":"6041:3:10","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"}],"id":8008,"name":"readBoolArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7695,"src":"6021:13:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool[] memory)"}},"id":8011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6021:24:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"functionReturnParameters":8003,"id":8014,"nodeType":"Return","src":"5991:69:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolArrayOr","nameLocation":"5832:15:10","parameters":{"id":7999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7993,"mutability":"mutable","name":"json","nameLocation":"5862:4:10","nodeType":"VariableDeclaration","scope":8016,"src":"5848:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7992,"name":"string","nodeType":"ElementaryTypeName","src":"5848:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7995,"mutability":"mutable","name":"key","nameLocation":"5882:3:10","nodeType":"VariableDeclaration","scope":8016,"src":"5868:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7994,"name":"string","nodeType":"ElementaryTypeName","src":"5868:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":7998,"mutability":"mutable","name":"defaultValue","nameLocation":"5901:12:10","nodeType":"VariableDeclaration","scope":8016,"src":"5887:26:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":7996,"name":"bool","nodeType":"ElementaryTypeName","src":"5887:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7997,"nodeType":"ArrayTypeName","src":"5887:6:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"5847:67:10"},"returnParameters":{"id":8003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8002,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8016,"src":"5962:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":8000,"name":"bool","nodeType":"ElementaryTypeName","src":"5962:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8001,"nodeType":"ArrayTypeName","src":"5962:6:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"5961:15:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":8039,"nodeType":"FunctionDefinition","src":"6073:234:10","nodes":[],"body":{"id":8038,"nodeType":"Block","src":"6225:82:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":8028,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8018,"src":"6252:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8029,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8020,"src":"6258:3:10","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"}],"id":8027,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"6242:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":8030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6242:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":8035,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8022,"src":"6288:12:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":8036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6242:58:10","trueExpression":{"arguments":[{"id":8032,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8018,"src":"6275:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8033,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8020,"src":"6281:3:10","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"}],"id":8031,"name":"readBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7711,"src":"6265:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bytes memory)"}},"id":8034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6265:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":8026,"id":8037,"nodeType":"Return","src":"6235:65:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesOr","nameLocation":"6082:11:10","parameters":{"id":8023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8018,"mutability":"mutable","name":"json","nameLocation":"6108:4:10","nodeType":"VariableDeclaration","scope":8039,"src":"6094:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8017,"name":"string","nodeType":"ElementaryTypeName","src":"6094:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8020,"mutability":"mutable","name":"key","nameLocation":"6128:3:10","nodeType":"VariableDeclaration","scope":8039,"src":"6114:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8019,"name":"string","nodeType":"ElementaryTypeName","src":"6114:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8022,"mutability":"mutable","name":"defaultValue","nameLocation":"6146:12:10","nodeType":"VariableDeclaration","scope":8039,"src":"6133:25:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8021,"name":"bytes","nodeType":"ElementaryTypeName","src":"6133:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6093:66:10"},"returnParameters":{"id":8026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8025,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8039,"src":"6207:12:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8024,"name":"bytes","nodeType":"ElementaryTypeName","src":"6207:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6206:14:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":8064,"nodeType":"FunctionDefinition","src":"6313:248:10","nodes":[],"body":{"id":8063,"nodeType":"Block","src":"6474:87:10","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":8053,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8041,"src":"6501:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8054,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8043,"src":"6507:3:10","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"}],"id":8052,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7481,"src":"6491:9:10","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":8055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6491:20:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":8060,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8046,"src":"6542:12:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":8061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6491:63:10","trueExpression":{"arguments":[{"id":8057,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8041,"src":"6529:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8058,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8043,"src":"6535:3:10","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"}],"id":8056,"name":"readBytesArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7728,"src":"6514:14:10","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bytes memory[] memory)"}},"id":8059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6514:25:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":8051,"id":8062,"nodeType":"Return","src":"6484:70:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesArrayOr","nameLocation":"6322:16:10","parameters":{"id":8047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8041,"mutability":"mutable","name":"json","nameLocation":"6353:4:10","nodeType":"VariableDeclaration","scope":8064,"src":"6339:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8040,"name":"string","nodeType":"ElementaryTypeName","src":"6339:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8043,"mutability":"mutable","name":"key","nameLocation":"6373:3:10","nodeType":"VariableDeclaration","scope":8064,"src":"6359:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8042,"name":"string","nodeType":"ElementaryTypeName","src":"6359:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8046,"mutability":"mutable","name":"defaultValue","nameLocation":"6393:12:10","nodeType":"VariableDeclaration","scope":8064,"src":"6378:27:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":8044,"name":"bytes","nodeType":"ElementaryTypeName","src":"6378:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":8045,"nodeType":"ArrayTypeName","src":"6378:7:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6338:68:10"},"returnParameters":{"id":8051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8050,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8064,"src":"6454:14:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":8048,"name":"bytes","nodeType":"ElementaryTypeName","src":"6454:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":8049,"nodeType":"ArrayTypeName","src":"6454:7:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6453:16:10"},"scope":8387,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":8080,"nodeType":"FunctionDefinition","src":"6567:162:10","nodes":[],"body":{"id":8079,"nodeType":"Block","src":"6668:61:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8075,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8066,"src":"6702:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8076,"name":"rootObject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8068,"src":"6711:10:10","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":8073,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"6685:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6688:13:10","memberName":"serializeJson","nodeType":"MemberAccess","referencedDeclaration":15363,"src":"6685:16:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) external returns (string memory)"}},"id":8077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6685:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8072,"id":8078,"nodeType":"Return","src":"6678:44:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6576:9:10","parameters":{"id":8069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8066,"mutability":"mutable","name":"jsonKey","nameLocation":"6600:7:10","nodeType":"VariableDeclaration","scope":8080,"src":"6586:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8065,"name":"string","nodeType":"ElementaryTypeName","src":"6586:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8068,"mutability":"mutable","name":"rootObject","nameLocation":"6623:10:10","nodeType":"VariableDeclaration","scope":8080,"src":"6609:24:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8067,"name":"string","nodeType":"ElementaryTypeName","src":"6609:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6585:49:10"},"returnParameters":{"id":8072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8071,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8080,"src":"6653:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8070,"name":"string","nodeType":"ElementaryTypeName","src":"6653:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6652:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8099,"nodeType":"FunctionDefinition","src":"6735:167:10","nodes":[],"body":{"id":8098,"nodeType":"Block","src":"6841:61:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8093,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8082,"src":"6875:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8094,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8084,"src":"6884:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8095,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8086,"src":"6889:5:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":8091,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"6858:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6861:13:10","memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":15265,"src":"6858:16:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool) external returns (string memory)"}},"id":8096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6858:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8090,"id":8097,"nodeType":"Return","src":"6851:44:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6744:9:10","parameters":{"id":8087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8082,"mutability":"mutable","name":"jsonKey","nameLocation":"6768:7:10","nodeType":"VariableDeclaration","scope":8099,"src":"6754:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8081,"name":"string","nodeType":"ElementaryTypeName","src":"6754:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8084,"mutability":"mutable","name":"key","nameLocation":"6791:3:10","nodeType":"VariableDeclaration","scope":8099,"src":"6777:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8083,"name":"string","nodeType":"ElementaryTypeName","src":"6777:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8086,"mutability":"mutable","name":"value","nameLocation":"6801:5:10","nodeType":"VariableDeclaration","scope":8099,"src":"6796:10:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8085,"name":"bool","nodeType":"ElementaryTypeName","src":"6796:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6753:54:10"},"returnParameters":{"id":8090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8089,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8099,"src":"6826:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8088,"name":"string","nodeType":"ElementaryTypeName","src":"6826:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6825:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8119,"nodeType":"FunctionDefinition","src":"6908:196:10","nodes":[],"body":{"id":8118,"nodeType":"Block","src":"7043:61:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8113,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8101,"src":"7077:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8114,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8103,"src":"7086:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8115,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8106,"src":"7091:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}],"expression":{"id":8111,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"7060:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7063:13:10","memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":15278,"src":"7060:16:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool[] memory) external returns (string memory)"}},"id":8116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7060:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8110,"id":8117,"nodeType":"Return","src":"7053:44:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6917:9:10","parameters":{"id":8107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8101,"mutability":"mutable","name":"jsonKey","nameLocation":"6941:7:10","nodeType":"VariableDeclaration","scope":8119,"src":"6927:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8100,"name":"string","nodeType":"ElementaryTypeName","src":"6927:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8103,"mutability":"mutable","name":"key","nameLocation":"6964:3:10","nodeType":"VariableDeclaration","scope":8119,"src":"6950:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8102,"name":"string","nodeType":"ElementaryTypeName","src":"6950:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8106,"mutability":"mutable","name":"value","nameLocation":"6983:5:10","nodeType":"VariableDeclaration","scope":8119,"src":"6969:19:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":8104,"name":"bool","nodeType":"ElementaryTypeName","src":"6969:4:10","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8105,"nodeType":"ArrayTypeName","src":"6969:6:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"6926:63:10"},"returnParameters":{"id":8110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8109,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8119,"src":"7024:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8108,"name":"string","nodeType":"ElementaryTypeName","src":"7024:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7023:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8138,"nodeType":"FunctionDefinition","src":"7110:170:10","nodes":[],"body":{"id":8137,"nodeType":"Block","src":"7219:61:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8132,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8121,"src":"7253:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8133,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8123,"src":"7262:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8134,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8125,"src":"7267:5:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8130,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"7236:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7239:13:10","memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":15436,"src":"7236:16:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,uint256) external returns (string memory)"}},"id":8135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7236:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8129,"id":8136,"nodeType":"Return","src":"7229:44:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7119:9:10","parameters":{"id":8126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8121,"mutability":"mutable","name":"jsonKey","nameLocation":"7143:7:10","nodeType":"VariableDeclaration","scope":8138,"src":"7129:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8120,"name":"string","nodeType":"ElementaryTypeName","src":"7129:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8123,"mutability":"mutable","name":"key","nameLocation":"7166:3:10","nodeType":"VariableDeclaration","scope":8138,"src":"7152:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8122,"name":"string","nodeType":"ElementaryTypeName","src":"7152:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8125,"mutability":"mutable","name":"value","nameLocation":"7179:5:10","nodeType":"VariableDeclaration","scope":8138,"src":"7171:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8124,"name":"uint256","nodeType":"ElementaryTypeName","src":"7171:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7128:57:10"},"returnParameters":{"id":8129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8138,"src":"7204:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8127,"name":"string","nodeType":"ElementaryTypeName","src":"7204:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7203:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8158,"nodeType":"FunctionDefinition","src":"7286:199:10","nodes":[],"body":{"id":8157,"nodeType":"Block","src":"7424:61:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8152,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8140,"src":"7458:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8153,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8142,"src":"7467:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8154,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8145,"src":"7472:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":8150,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"7441:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7444:13:10","memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":15449,"src":"7441:16:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,uint256[] memory) external returns (string memory)"}},"id":8155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7441:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8149,"id":8156,"nodeType":"Return","src":"7434:44:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7295:9:10","parameters":{"id":8146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8140,"mutability":"mutable","name":"jsonKey","nameLocation":"7319:7:10","nodeType":"VariableDeclaration","scope":8158,"src":"7305:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8139,"name":"string","nodeType":"ElementaryTypeName","src":"7305:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8142,"mutability":"mutable","name":"key","nameLocation":"7342:3:10","nodeType":"VariableDeclaration","scope":8158,"src":"7328:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8141,"name":"string","nodeType":"ElementaryTypeName","src":"7328:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8145,"mutability":"mutable","name":"value","nameLocation":"7364:5:10","nodeType":"VariableDeclaration","scope":8158,"src":"7347:22:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":8143,"name":"uint256","nodeType":"ElementaryTypeName","src":"7347:7:10","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8144,"nodeType":"ArrayTypeName","src":"7347:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"7304:66:10"},"returnParameters":{"id":8149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8148,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8158,"src":"7405:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8147,"name":"string","nodeType":"ElementaryTypeName","src":"7405:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7404:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8177,"nodeType":"FunctionDefinition","src":"7491:168:10","nodes":[],"body":{"id":8176,"nodeType":"Block","src":"7599:60:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8171,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8160,"src":"7632:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8172,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8162,"src":"7641:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8173,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8164,"src":"7646:5:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":8169,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"7616:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7619:12:10","memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":15340,"src":"7616:15:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,int256) external returns (string memory)"}},"id":8174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7616:36:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8168,"id":8175,"nodeType":"Return","src":"7609:43:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7500:9:10","parameters":{"id":8165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8160,"mutability":"mutable","name":"jsonKey","nameLocation":"7524:7:10","nodeType":"VariableDeclaration","scope":8177,"src":"7510:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8159,"name":"string","nodeType":"ElementaryTypeName","src":"7510:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8162,"mutability":"mutable","name":"key","nameLocation":"7547:3:10","nodeType":"VariableDeclaration","scope":8177,"src":"7533:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8161,"name":"string","nodeType":"ElementaryTypeName","src":"7533:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8164,"mutability":"mutable","name":"value","nameLocation":"7559:5:10","nodeType":"VariableDeclaration","scope":8177,"src":"7552:12:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8163,"name":"int256","nodeType":"ElementaryTypeName","src":"7552:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7509:56:10"},"returnParameters":{"id":8168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8167,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8177,"src":"7584:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8166,"name":"string","nodeType":"ElementaryTypeName","src":"7584:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7583:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8197,"nodeType":"FunctionDefinition","src":"7665:197:10","nodes":[],"body":{"id":8196,"nodeType":"Block","src":"7802:60:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8191,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8179,"src":"7835:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8192,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8181,"src":"7844:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8193,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8184,"src":"7849:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"expression":{"id":8189,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"7819:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7822:12:10","memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":15353,"src":"7819:15:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,int256[] memory) external returns (string memory)"}},"id":8194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7819:36:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8188,"id":8195,"nodeType":"Return","src":"7812:43:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7674:9:10","parameters":{"id":8185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8179,"mutability":"mutable","name":"jsonKey","nameLocation":"7698:7:10","nodeType":"VariableDeclaration","scope":8197,"src":"7684:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8178,"name":"string","nodeType":"ElementaryTypeName","src":"7684:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8181,"mutability":"mutable","name":"key","nameLocation":"7721:3:10","nodeType":"VariableDeclaration","scope":8197,"src":"7707:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8180,"name":"string","nodeType":"ElementaryTypeName","src":"7707:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8184,"mutability":"mutable","name":"value","nameLocation":"7742:5:10","nodeType":"VariableDeclaration","scope":8197,"src":"7726:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":8182,"name":"int256","nodeType":"ElementaryTypeName","src":"7726:6:10","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":8183,"nodeType":"ArrayTypeName","src":"7726:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"7683:65:10"},"returnParameters":{"id":8188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8187,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8197,"src":"7783:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8186,"name":"string","nodeType":"ElementaryTypeName","src":"7783:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7782:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8216,"nodeType":"FunctionDefinition","src":"7868:173:10","nodes":[],"body":{"id":8215,"nodeType":"Block","src":"7977:64:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8210,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8199,"src":"8014:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8211,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8201,"src":"8023:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8212,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8203,"src":"8028:5:10","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":8208,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"7994:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7997:16:10","memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":15240,"src":"7994:19:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,address) external returns (string memory)"}},"id":8213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7994:40:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8207,"id":8214,"nodeType":"Return","src":"7987:47:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7877:9:10","parameters":{"id":8204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8199,"mutability":"mutable","name":"jsonKey","nameLocation":"7901:7:10","nodeType":"VariableDeclaration","scope":8216,"src":"7887:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8198,"name":"string","nodeType":"ElementaryTypeName","src":"7887:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8201,"mutability":"mutable","name":"key","nameLocation":"7924:3:10","nodeType":"VariableDeclaration","scope":8216,"src":"7910:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8200,"name":"string","nodeType":"ElementaryTypeName","src":"7910:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8203,"mutability":"mutable","name":"value","nameLocation":"7937:5:10","nodeType":"VariableDeclaration","scope":8216,"src":"7929:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8202,"name":"address","nodeType":"ElementaryTypeName","src":"7929:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7886:57:10"},"returnParameters":{"id":8207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8206,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8216,"src":"7962:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8205,"name":"string","nodeType":"ElementaryTypeName","src":"7962:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7961:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8236,"nodeType":"FunctionDefinition","src":"8047:202:10","nodes":[],"body":{"id":8235,"nodeType":"Block","src":"8185:64:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8230,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8218,"src":"8222:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8231,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8220,"src":"8231:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8232,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8223,"src":"8236:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":8228,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"8202:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8205:16:10","memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":15253,"src":"8202:19:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,address[] memory) external returns (string memory)"}},"id":8233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8202:40:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8227,"id":8234,"nodeType":"Return","src":"8195:47:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8056:9:10","parameters":{"id":8224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8218,"mutability":"mutable","name":"jsonKey","nameLocation":"8080:7:10","nodeType":"VariableDeclaration","scope":8236,"src":"8066:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8217,"name":"string","nodeType":"ElementaryTypeName","src":"8066:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8220,"mutability":"mutable","name":"key","nameLocation":"8103:3:10","nodeType":"VariableDeclaration","scope":8236,"src":"8089:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8219,"name":"string","nodeType":"ElementaryTypeName","src":"8089:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8223,"mutability":"mutable","name":"value","nameLocation":"8125:5:10","nodeType":"VariableDeclaration","scope":8236,"src":"8108:22:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":8221,"name":"address","nodeType":"ElementaryTypeName","src":"8108:7:10","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":8222,"nodeType":"ArrayTypeName","src":"8108:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8065:66:10"},"returnParameters":{"id":8227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8226,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8236,"src":"8166:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8225,"name":"string","nodeType":"ElementaryTypeName","src":"8166:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8165:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8255,"nodeType":"FunctionDefinition","src":"8255:173:10","nodes":[],"body":{"id":8254,"nodeType":"Block","src":"8364:64:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8249,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8238,"src":"8401:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8250,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8240,"src":"8410:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8251,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8242,"src":"8415:5:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8247,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"8381:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8384:16:10","memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":15290,"src":"8381:19:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes32) external returns (string memory)"}},"id":8252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8381:40:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8246,"id":8253,"nodeType":"Return","src":"8374:47:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8264:9:10","parameters":{"id":8243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8238,"mutability":"mutable","name":"jsonKey","nameLocation":"8288:7:10","nodeType":"VariableDeclaration","scope":8255,"src":"8274:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8237,"name":"string","nodeType":"ElementaryTypeName","src":"8274:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8240,"mutability":"mutable","name":"key","nameLocation":"8311:3:10","nodeType":"VariableDeclaration","scope":8255,"src":"8297:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8239,"name":"string","nodeType":"ElementaryTypeName","src":"8297:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8242,"mutability":"mutable","name":"value","nameLocation":"8324:5:10","nodeType":"VariableDeclaration","scope":8255,"src":"8316:13:10","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8241,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8316:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8273:57:10"},"returnParameters":{"id":8246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8245,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8255,"src":"8349:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8244,"name":"string","nodeType":"ElementaryTypeName","src":"8349:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8348:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8275,"nodeType":"FunctionDefinition","src":"8434:202:10","nodes":[],"body":{"id":8274,"nodeType":"Block","src":"8572:64:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8269,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8257,"src":"8609:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8270,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8259,"src":"8618:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8271,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8262,"src":"8623:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":8267,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"8589:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8592:16:10","memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":15303,"src":"8589:19:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes32[] memory) external returns (string memory)"}},"id":8272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8589:40:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8266,"id":8273,"nodeType":"Return","src":"8582:47:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8443:9:10","parameters":{"id":8263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8257,"mutability":"mutable","name":"jsonKey","nameLocation":"8467:7:10","nodeType":"VariableDeclaration","scope":8275,"src":"8453:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8256,"name":"string","nodeType":"ElementaryTypeName","src":"8453:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8259,"mutability":"mutable","name":"key","nameLocation":"8490:3:10","nodeType":"VariableDeclaration","scope":8275,"src":"8476:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8258,"name":"string","nodeType":"ElementaryTypeName","src":"8476:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8262,"mutability":"mutable","name":"value","nameLocation":"8512:5:10","nodeType":"VariableDeclaration","scope":8275,"src":"8495:22:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":8260,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8495:7:10","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8261,"nodeType":"ArrayTypeName","src":"8495:9:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"8452:66:10"},"returnParameters":{"id":8266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8265,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8275,"src":"8553:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8264,"name":"string","nodeType":"ElementaryTypeName","src":"8553:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8552:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8294,"nodeType":"FunctionDefinition","src":"8642:176:10","nodes":[],"body":{"id":8293,"nodeType":"Block","src":"8756:62:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8288,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8277,"src":"8791:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8289,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8279,"src":"8800:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8290,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8281,"src":"8805:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":8286,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"8773:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8776:14:10","memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":15315,"src":"8773:17:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes memory) external returns (string memory)"}},"id":8291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8773:38:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8285,"id":8292,"nodeType":"Return","src":"8766:45:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8651:9:10","parameters":{"id":8282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8277,"mutability":"mutable","name":"jsonKey","nameLocation":"8675:7:10","nodeType":"VariableDeclaration","scope":8294,"src":"8661:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8276,"name":"string","nodeType":"ElementaryTypeName","src":"8661:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8279,"mutability":"mutable","name":"key","nameLocation":"8698:3:10","nodeType":"VariableDeclaration","scope":8294,"src":"8684:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8278,"name":"string","nodeType":"ElementaryTypeName","src":"8684:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8281,"mutability":"mutable","name":"value","nameLocation":"8716:5:10","nodeType":"VariableDeclaration","scope":8294,"src":"8703:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8280,"name":"bytes","nodeType":"ElementaryTypeName","src":"8703:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8660:62:10"},"returnParameters":{"id":8285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8284,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8294,"src":"8741:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8283,"name":"string","nodeType":"ElementaryTypeName","src":"8741:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8740:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8314,"nodeType":"FunctionDefinition","src":"8824:198:10","nodes":[],"body":{"id":8313,"nodeType":"Block","src":"8960:62:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8308,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8296,"src":"8995:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8309,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8298,"src":"9004:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8310,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8301,"src":"9009:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":8306,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"8977:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8980:14:10","memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":15328,"src":"8977:17:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes memory[] memory) external returns (string memory)"}},"id":8311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8977:38:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8305,"id":8312,"nodeType":"Return","src":"8970:45:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8833:9:10","parameters":{"id":8302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8296,"mutability":"mutable","name":"jsonKey","nameLocation":"8857:7:10","nodeType":"VariableDeclaration","scope":8314,"src":"8843:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8295,"name":"string","nodeType":"ElementaryTypeName","src":"8843:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8298,"mutability":"mutable","name":"key","nameLocation":"8880:3:10","nodeType":"VariableDeclaration","scope":8314,"src":"8866:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8297,"name":"string","nodeType":"ElementaryTypeName","src":"8866:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8301,"mutability":"mutable","name":"value","nameLocation":"8900:5:10","nodeType":"VariableDeclaration","scope":8314,"src":"8885:20:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":8299,"name":"bytes","nodeType":"ElementaryTypeName","src":"8885:5:10","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":8300,"nodeType":"ArrayTypeName","src":"8885:7:10","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"8842:64:10"},"returnParameters":{"id":8305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8304,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8314,"src":"8941:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8303,"name":"string","nodeType":"ElementaryTypeName","src":"8941:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8940:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8333,"nodeType":"FunctionDefinition","src":"9028:198:10","nodes":[],"body":{"id":8332,"nodeType":"Block","src":"9163:63:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8327,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8316,"src":"9199:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8328,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8318,"src":"9208:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8329,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8320,"src":"9213:5:10","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":8325,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"9180:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9183:15:10","memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":15399,"src":"9180:18:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory) external returns (string memory)"}},"id":8330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9180:39:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8324,"id":8331,"nodeType":"Return","src":"9173:46:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"9037:9:10","parameters":{"id":8321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8316,"mutability":"mutable","name":"jsonKey","nameLocation":"9061:7:10","nodeType":"VariableDeclaration","scope":8333,"src":"9047:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8315,"name":"string","nodeType":"ElementaryTypeName","src":"9047:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8318,"mutability":"mutable","name":"key","nameLocation":"9084:3:10","nodeType":"VariableDeclaration","scope":8333,"src":"9070:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8317,"name":"string","nodeType":"ElementaryTypeName","src":"9070:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8320,"mutability":"mutable","name":"value","nameLocation":"9103:5:10","nodeType":"VariableDeclaration","scope":8333,"src":"9089:19:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8319,"name":"string","nodeType":"ElementaryTypeName","src":"9089:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9046:63:10"},"returnParameters":{"id":8324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8323,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8333,"src":"9144:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8322,"name":"string","nodeType":"ElementaryTypeName","src":"9144:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9143:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8353,"nodeType":"FunctionDefinition","src":"9232:200:10","nodes":[],"body":{"id":8352,"nodeType":"Block","src":"9369:63:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8347,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8335,"src":"9405:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8348,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8337,"src":"9414:3:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8349,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8340,"src":"9419:5:10","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":8345,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"9386:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9389:15:10","memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":15412,"src":"9386:18:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory[] memory) external returns (string memory)"}},"id":8350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9386:39:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":8344,"id":8351,"nodeType":"Return","src":"9379:46:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"9241:9:10","parameters":{"id":8341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8335,"mutability":"mutable","name":"jsonKey","nameLocation":"9265:7:10","nodeType":"VariableDeclaration","scope":8353,"src":"9251:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8334,"name":"string","nodeType":"ElementaryTypeName","src":"9251:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8337,"mutability":"mutable","name":"key","nameLocation":"9288:3:10","nodeType":"VariableDeclaration","scope":8353,"src":"9274:17:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8336,"name":"string","nodeType":"ElementaryTypeName","src":"9274:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8340,"mutability":"mutable","name":"value","nameLocation":"9309:5:10","nodeType":"VariableDeclaration","scope":8353,"src":"9293:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":8338,"name":"string","nodeType":"ElementaryTypeName","src":"9293:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":8339,"nodeType":"ArrayTypeName","src":"9293:8:10","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"9250:65:10"},"returnParameters":{"id":8344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8343,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8353,"src":"9350:13:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8342,"name":"string","nodeType":"ElementaryTypeName","src":"9350:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9349:15:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8368,"nodeType":"FunctionDefinition","src":"9438:111:10","nodes":[],"body":{"id":8367,"nodeType":"Block","src":"9505:44:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8363,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8355,"src":"9528:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8364,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8357,"src":"9537:4:10","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":8360,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"9515:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9518:9:10","memberName":"writeJson","nodeType":"MemberAccess","referencedDeclaration":15457,"src":"9515:12:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":8365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9515:27:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8366,"nodeType":"ExpressionStatement","src":"9515:27:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"9447:5:10","parameters":{"id":8358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8355,"mutability":"mutable","name":"jsonKey","nameLocation":"9467:7:10","nodeType":"VariableDeclaration","scope":8368,"src":"9453:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8354,"name":"string","nodeType":"ElementaryTypeName","src":"9453:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8357,"mutability":"mutable","name":"path","nameLocation":"9490:4:10","nodeType":"VariableDeclaration","scope":8368,"src":"9476:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8356,"name":"string","nodeType":"ElementaryTypeName","src":"9476:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9452:43:10"},"returnParameters":{"id":8359,"nodeType":"ParameterList","parameters":[],"src":"9505:0:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8386,"nodeType":"FunctionDefinition","src":"9555:145:10","nodes":[],"body":{"id":8385,"nodeType":"Block","src":"9646:54:10","nodes":[],"statements":[{"expression":{"arguments":[{"id":8380,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8370,"src":"9669:7:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8381,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8372,"src":"9678:4:10","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":8382,"name":"valueKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8374,"src":"9684:8:10","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":8377,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7465,"src":"9656:2:10","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":8379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9659:9:10","memberName":"writeJson","nodeType":"MemberAccess","referencedDeclaration":15467,"src":"9656:12:10","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory,string memory) external"}},"id":8383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9656:37:10","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8384,"nodeType":"ExpressionStatement","src":"9656:37:10"}]},"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"9564:5:10","parameters":{"id":8375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8370,"mutability":"mutable","name":"jsonKey","nameLocation":"9584:7:10","nodeType":"VariableDeclaration","scope":8386,"src":"9570:21:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8369,"name":"string","nodeType":"ElementaryTypeName","src":"9570:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8372,"mutability":"mutable","name":"path","nameLocation":"9607:4:10","nodeType":"VariableDeclaration","scope":8386,"src":"9593:18:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8371,"name":"string","nodeType":"ElementaryTypeName","src":"9593:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":8374,"mutability":"mutable","name":"valueKey","nameLocation":"9627:8:10","nodeType":"VariableDeclaration","scope":8386,"src":"9613:22:10","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8373,"name":"string","nodeType":"ElementaryTypeName","src":"9613:6:10","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9569:67:10"},"returnParameters":{"id":8376,"nodeType":"ParameterList","parameters":[],"src":"9646:0:10"},"scope":8387,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdJson","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[8387],"name":"stdJson","nameLocation":"618:7:10","scope":8388,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdMath.sol":{"id":11,"ast":{"absolutePath":"lib/forge-std/src/StdMath.sol","id":8544,"exportedSymbols":{"stdMath":[8543]},"nodeType":"SourceUnit","src":"32:1567:11","nodes":[{"id":8389,"nodeType":"PragmaDirective","src":"32:31:11","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":8543,"nodeType":"ContractDefinition","src":"65:1533:11","nodes":[{"id":8393,"nodeType":"VariableDeclaration","src":"87:115:11","nodes":[],"constant":true,"mutability":"constant","name":"INT256_MIN","nameLocation":"111:10:11","scope":8543,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8390,"name":"int256","nodeType":"ElementaryTypeName","src":"87:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"value":{"id":8392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"124:78:11","subExpression":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":8391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"125:77:11","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const -578...(70 digits omitted)...9968"}},"visibility":"private"},{"id":8419,"nodeType":"FunctionDefinition","src":"209:306:11","nodes":[],"body":{"id":8418,"nodeType":"Block","src":"264:251:11","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8400,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8395,"src":"342:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":8401,"name":"INT256_MIN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8393,"src":"347:10:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"342:15:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8406,"nodeType":"IfStatement","src":"338:130:11","trueBody":{"id":8405,"nodeType":"Block","src":"359:109:11","statements":[{"expression":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":8403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"380:77:11","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"functionReturnParameters":8399,"id":8404,"nodeType":"Return","src":"373:84:11"}]}},{"expression":{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8409,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8395,"src":"493:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":8410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"497:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"493:5:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":8414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"505:2:11","subExpression":{"id":8413,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8395,"src":"506:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":8415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"493:14:11","trueExpression":{"id":8412,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8395,"src":"501:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8408,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"485:7:11","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8407,"name":"uint256","nodeType":"ElementaryTypeName","src":"485:7:11","typeDescriptions":{}}},"id":8416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"485:23:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8399,"id":8417,"nodeType":"Return","src":"478:30:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"abs","nameLocation":"218:3:11","parameters":{"id":8396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8395,"mutability":"mutable","name":"a","nameLocation":"229:1:11","nodeType":"VariableDeclaration","scope":8419,"src":"222:8:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8394,"name":"int256","nodeType":"ElementaryTypeName","src":"222:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"221:10:11"},"returnParameters":{"id":8399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8419,"src":"255:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8397,"name":"uint256","nodeType":"ElementaryTypeName","src":"255:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"254:9:11"},"scope":8543,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8440,"nodeType":"FunctionDefinition","src":"521:114:11","nodes":[],"body":{"id":8439,"nodeType":"Block","src":"590:45:11","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8428,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8421,"src":"607:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":8429,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8423,"src":"611:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"607:5:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8434,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8423,"src":"623:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":8435,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8421,"src":"627:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"623:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"607:21:11","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8431,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8421,"src":"615:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":8432,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8423,"src":"619:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"615:5:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8427,"id":8438,"nodeType":"Return","src":"600:28:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"delta","nameLocation":"530:5:11","parameters":{"id":8424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8421,"mutability":"mutable","name":"a","nameLocation":"544:1:11","nodeType":"VariableDeclaration","scope":8440,"src":"536:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8420,"name":"uint256","nodeType":"ElementaryTypeName","src":"536:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8423,"mutability":"mutable","name":"b","nameLocation":"555:1:11","nodeType":"VariableDeclaration","scope":8440,"src":"547:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8422,"name":"uint256","nodeType":"ElementaryTypeName","src":"547:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"535:22:11"},"returnParameters":{"id":8427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8440,"src":"581:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8425,"name":"uint256","nodeType":"ElementaryTypeName","src":"581:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"580:9:11"},"scope":8543,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8476,"nodeType":"FunctionDefinition","src":"641:352:11","nodes":[],"body":{"id":8475,"nodeType":"Block","src":"708:285:11","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":8451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8449,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8442,"src":"847:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":8450,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8444,"src":"851:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"847:5:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":8452,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"846:7:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":8454,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"856:2:11","subExpression":{"hexValue":"31","id":8453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"857:1:11","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}},"src":"846:12:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8466,"nodeType":"IfStatement","src":"842:71:11","trueBody":{"id":8465,"nodeType":"Block","src":"860:53:11","statements":[{"expression":{"arguments":[{"arguments":[{"id":8458,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8442,"src":"891:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8457,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8419,"src":"887:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":8459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"887:6:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":8461,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8444,"src":"899:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8460,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8419,"src":"895:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":8462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"895:6:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8456,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[8440,8476],"referencedDeclaration":8440,"src":"881:5:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":8463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"881:21:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8448,"id":8464,"nodeType":"Return","src":"874:28:11"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":8468,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8442,"src":"975:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8467,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8419,"src":"971:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":8469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"971:6:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":8471,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8444,"src":"984:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8470,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8419,"src":"980:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":8472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"980:6:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"971:15:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8448,"id":8474,"nodeType":"Return","src":"964:22:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"delta","nameLocation":"650:5:11","parameters":{"id":8445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8442,"mutability":"mutable","name":"a","nameLocation":"663:1:11","nodeType":"VariableDeclaration","scope":8476,"src":"656:8:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8441,"name":"int256","nodeType":"ElementaryTypeName","src":"656:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8444,"mutability":"mutable","name":"b","nameLocation":"673:1:11","nodeType":"VariableDeclaration","scope":8476,"src":"666:8:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8443,"name":"int256","nodeType":"ElementaryTypeName","src":"666:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"655:20:11"},"returnParameters":{"id":8448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8447,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8476,"src":"699:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8446,"name":"uint256","nodeType":"ElementaryTypeName","src":"699:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"698:9:11"},"scope":8543,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8506,"nodeType":"FunctionDefinition","src":"999:279:11","nodes":[],"body":{"id":8505,"nodeType":"Block","src":"1075:203:11","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8486,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8480,"src":"1129:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":8487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1134:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1129:6:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"7374644d6174682070657263656e7444656c74612875696e743235362c75696e74323536293a2044697669736f72206973207a65726f","id":8489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1137:56:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3cfa9dfe7939c429b009573d5efd85227e70ffa62529c58bbeb5e316af00f07","typeString":"literal_string \"stdMath percentDelta(uint256,uint256): Divisor is zero\""},"value":"stdMath percentDelta(uint256,uint256): Divisor is zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d3cfa9dfe7939c429b009573d5efd85227e70ffa62529c58bbeb5e316af00f07","typeString":"literal_string \"stdMath percentDelta(uint256,uint256): Divisor is zero\""}],"id":8485,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1121:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1121:73:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8491,"nodeType":"ExpressionStatement","src":"1121:73:11"},{"assignments":[8493],"declarations":[{"constant":false,"id":8493,"mutability":"mutable","name":"absDelta","nameLocation":"1212:8:11","nodeType":"VariableDeclaration","scope":8505,"src":"1204:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8492,"name":"uint256","nodeType":"ElementaryTypeName","src":"1204:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8498,"initialValue":{"arguments":[{"id":8495,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8478,"src":"1229:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8496,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8480,"src":"1232:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8494,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[8440,8476],"referencedDeclaration":8440,"src":"1223:5:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":8497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1223:11:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1204:30:11"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8499,"name":"absDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8493,"src":"1252:8:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":8500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1263:4:11","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"1252:15:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":8502,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8480,"src":"1270:1:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1252:19:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8484,"id":8504,"nodeType":"Return","src":"1245:26:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"percentDelta","nameLocation":"1008:12:11","parameters":{"id":8481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8478,"mutability":"mutable","name":"a","nameLocation":"1029:1:11","nodeType":"VariableDeclaration","scope":8506,"src":"1021:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8477,"name":"uint256","nodeType":"ElementaryTypeName","src":"1021:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8480,"mutability":"mutable","name":"b","nameLocation":"1040:1:11","nodeType":"VariableDeclaration","scope":8506,"src":"1032:9:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8479,"name":"uint256","nodeType":"ElementaryTypeName","src":"1032:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1020:22:11"},"returnParameters":{"id":8484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8483,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8506,"src":"1066:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8482,"name":"uint256","nodeType":"ElementaryTypeName","src":"1066:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1065:9:11"},"scope":8543,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8542,"nodeType":"FunctionDefinition","src":"1284:312:11","nodes":[],"body":{"id":8541,"nodeType":"Block","src":"1358:238:11","nodes":[],"statements":[{"assignments":[8516],"declarations":[{"constant":false,"id":8516,"mutability":"mutable","name":"absDelta","nameLocation":"1376:8:11","nodeType":"VariableDeclaration","scope":8541,"src":"1368:16:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8515,"name":"uint256","nodeType":"ElementaryTypeName","src":"1368:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8521,"initialValue":{"arguments":[{"id":8518,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8508,"src":"1393:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":8519,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8510,"src":"1396:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8517,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[8440,8476],"referencedDeclaration":8476,"src":"1387:5:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$returns$_t_uint256_$","typeString":"function (int256,int256) pure returns (uint256)"}},"id":8520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1387:11:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1368:30:11"},{"assignments":[8523],"declarations":[{"constant":false,"id":8523,"mutability":"mutable","name":"absB","nameLocation":"1416:4:11","nodeType":"VariableDeclaration","scope":8541,"src":"1408:12:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8522,"name":"uint256","nodeType":"ElementaryTypeName","src":"1408:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8527,"initialValue":{"arguments":[{"id":8525,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8510,"src":"1427:1:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":8524,"name":"abs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8419,"src":"1423:3:11","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":8526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1423:6:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1408:21:11"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8529,"name":"absB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8523,"src":"1483:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":8530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1491:1:11","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1483:9:11","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"7374644d6174682070657263656e7444656c746128696e743235362c696e74323536293a2044697669736f72206973207a65726f","id":8532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1494:54:11","typeDescriptions":{"typeIdentifier":"t_stringliteral_870ddc4158d2c8f7321f577c47c801a13cf4c2ce0749fd81171066ace516e540","typeString":"literal_string \"stdMath percentDelta(int256,int256): Divisor is zero\""},"value":"stdMath percentDelta(int256,int256): Divisor is zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_870ddc4158d2c8f7321f577c47c801a13cf4c2ce0749fd81171066ace516e540","typeString":"literal_string \"stdMath percentDelta(int256,int256): Divisor is zero\""}],"id":8528,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1475:7:11","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1475:74:11","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8534,"nodeType":"ExpressionStatement","src":"1475:74:11"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8535,"name":"absDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8516,"src":"1567:8:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31653138","id":8536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1578:4:11","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"1567:15:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":8538,"name":"absB","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8523,"src":"1585:4:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1567:22:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":8514,"id":8540,"nodeType":"Return","src":"1560:29:11"}]},"implemented":true,"kind":"function","modifiers":[],"name":"percentDelta","nameLocation":"1293:12:11","parameters":{"id":8511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8508,"mutability":"mutable","name":"a","nameLocation":"1313:1:11","nodeType":"VariableDeclaration","scope":8542,"src":"1306:8:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8507,"name":"int256","nodeType":"ElementaryTypeName","src":"1306:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":8510,"mutability":"mutable","name":"b","nameLocation":"1323:1:11","nodeType":"VariableDeclaration","scope":8542,"src":"1316:8:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":8509,"name":"int256","nodeType":"ElementaryTypeName","src":"1316:6:11","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1305:20:11"},"returnParameters":{"id":8514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8513,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8542,"src":"1349:7:11","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8512,"name":"uint256","nodeType":"ElementaryTypeName","src":"1349:7:11","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1348:9:11"},"scope":8543,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdMath","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[8543],"name":"stdMath","nameLocation":"73:7:11","scope":8544,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdStorage.sol":{"id":12,"ast":{"absolutePath":"lib/forge-std/src/StdStorage.sol","id":10539,"exportedSymbols":{"FindData":[8556],"StdStorage":[8581],"Vm":[18679],"stdStorage":[10538],"stdStorageSafe":[9933]},"nodeType":"SourceUnit","src":"32:17805:12","nodes":[{"id":8545,"nodeType":"PragmaDirective","src":"32:31:12","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":8547,"nodeType":"ImportDirective","src":"65:28:12","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":10539,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":8546,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"73:2:12","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":8556,"nodeType":"StructDefinition","src":"95:102:12","nodes":[],"canonicalName":"FindData","members":[{"constant":false,"id":8549,"mutability":"mutable","name":"slot","nameLocation":"125:4:12","nodeType":"VariableDeclaration","scope":8556,"src":"117:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8548,"name":"uint256","nodeType":"ElementaryTypeName","src":"117:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8551,"mutability":"mutable","name":"offsetLeft","nameLocation":"143:10:12","nodeType":"VariableDeclaration","scope":8556,"src":"135:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8550,"name":"uint256","nodeType":"ElementaryTypeName","src":"135:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8553,"mutability":"mutable","name":"offsetRight","nameLocation":"167:11:12","nodeType":"VariableDeclaration","scope":8556,"src":"159:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8552,"name":"uint256","nodeType":"ElementaryTypeName","src":"159:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8555,"mutability":"mutable","name":"found","nameLocation":"189:5:12","nodeType":"VariableDeclaration","scope":8556,"src":"184:10:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8554,"name":"bool","nodeType":"ElementaryTypeName","src":"184:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"FindData","nameLocation":"102:8:12","scope":10539,"visibility":"public"},{"id":8581,"nodeType":"StructDefinition","src":"199:249:12","nodes":[],"canonicalName":"StdStorage","members":[{"constant":false,"id":8565,"mutability":"mutable","name":"finds","nameLocation":"291:5:12","nodeType":"VariableDeclaration","scope":8581,"src":"223:73:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))"},"typeName":{"id":8564,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":8557,"name":"address","nodeType":"ElementaryTypeName","src":"231:7:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"223:67:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":8563,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":8558,"name":"bytes4","nodeType":"ElementaryTypeName","src":"250:6:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Mapping","src":"242:47:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":8562,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":8559,"name":"bytes32","nodeType":"ElementaryTypeName","src":"268:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"260:28:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$","typeString":"mapping(bytes32 => struct FindData)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":8561,"nodeType":"UserDefinedTypeName","pathNode":{"id":8560,"name":"FindData","nameLocations":["279:8:12"],"nodeType":"IdentifierPath","referencedDeclaration":8556,"src":"279:8:12"},"referencedDeclaration":8556,"src":"279:8:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData"}}}}},"visibility":"internal"},{"constant":false,"id":8568,"mutability":"mutable","name":"_keys","nameLocation":"312:5:12","nodeType":"VariableDeclaration","scope":8581,"src":"302:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":8566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"302:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8567,"nodeType":"ArrayTypeName","src":"302:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":8570,"mutability":"mutable","name":"_sig","nameLocation":"330:4:12","nodeType":"VariableDeclaration","scope":8581,"src":"323:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8569,"name":"bytes4","nodeType":"ElementaryTypeName","src":"323:6:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":8572,"mutability":"mutable","name":"_depth","nameLocation":"348:6:12","nodeType":"VariableDeclaration","scope":8581,"src":"340:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8571,"name":"uint256","nodeType":"ElementaryTypeName","src":"340:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8574,"mutability":"mutable","name":"_target","nameLocation":"368:7:12","nodeType":"VariableDeclaration","scope":8581,"src":"360:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8573,"name":"address","nodeType":"ElementaryTypeName","src":"360:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8576,"mutability":"mutable","name":"_set","nameLocation":"389:4:12","nodeType":"VariableDeclaration","scope":8581,"src":"381:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8575,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":8578,"mutability":"mutable","name":"_enable_packed_slots","nameLocation":"404:20:12","nodeType":"VariableDeclaration","scope":8581,"src":"399:25:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8577,"name":"bool","nodeType":"ElementaryTypeName","src":"399:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8580,"mutability":"mutable","name":"_calldata","nameLocation":"436:9:12","nodeType":"VariableDeclaration","scope":8581,"src":"430:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":8579,"name":"bytes","nodeType":"ElementaryTypeName","src":"430:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"StdStorage","nameLocation":"206:10:12","scope":10539,"visibility":"public"},{"id":9933,"nodeType":"ContractDefinition","src":"450:12303:12","nodes":[{"id":8591,"nodeType":"EventDefinition","src":"479:74:12","nodes":[],"anonymous":false,"eventSelector":"9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed","name":"SlotFound","nameLocation":"485:9:12","parameters":{"id":8590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8583,"indexed":false,"mutability":"mutable","name":"who","nameLocation":"503:3:12","nodeType":"VariableDeclaration","scope":8591,"src":"495:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8582,"name":"address","nodeType":"ElementaryTypeName","src":"495:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8585,"indexed":false,"mutability":"mutable","name":"fsig","nameLocation":"515:4:12","nodeType":"VariableDeclaration","scope":8591,"src":"508:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8584,"name":"bytes4","nodeType":"ElementaryTypeName","src":"508:6:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":8587,"indexed":false,"mutability":"mutable","name":"keysHash","nameLocation":"529:8:12","nodeType":"VariableDeclaration","scope":8591,"src":"521:16:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8586,"name":"bytes32","nodeType":"ElementaryTypeName","src":"521:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":8589,"indexed":false,"mutability":"mutable","name":"slot","nameLocation":"547:4:12","nodeType":"VariableDeclaration","scope":8591,"src":"539:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8588,"name":"uint256","nodeType":"ElementaryTypeName","src":"539:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"494:58:12"}},{"id":8597,"nodeType":"EventDefinition","src":"558:54:12","nodes":[],"anonymous":false,"eventSelector":"080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a5","name":"WARNING_UninitedSlot","nameLocation":"564:20:12","parameters":{"id":8596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8593,"indexed":false,"mutability":"mutable","name":"who","nameLocation":"593:3:12","nodeType":"VariableDeclaration","scope":8597,"src":"585:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8592,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":8595,"indexed":false,"mutability":"mutable","name":"slot","nameLocation":"606:4:12","nodeType":"VariableDeclaration","scope":8597,"src":"598:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8594,"name":"uint256","nodeType":"ElementaryTypeName","src":"598:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"584:27:12"}},{"id":8614,"nodeType":"VariableDeclaration","src":"618:84:12","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"638:2:12","scope":9933,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"},"typeName":{"id":8599,"nodeType":"UserDefinedTypeName","pathNode":{"id":8598,"name":"Vm","nameLocations":["618:2:12"],"nodeType":"IdentifierPath","referencedDeclaration":18679,"src":"618:2:12"},"referencedDeclaration":18679,"src":"618:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":8608,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"680:17:12","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":8607,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"670:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"670:28:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"662:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8605,"name":"uint256","nodeType":"ElementaryTypeName","src":"662:7:12","typeDescriptions":{}}},"id":8610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"662:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8604,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"654:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":8603,"name":"uint160","nodeType":"ElementaryTypeName","src":"654:7:12","typeDescriptions":{}}},"id":8611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"654:46:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":8602,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"646:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":8601,"name":"address","nodeType":"ElementaryTypeName","src":"646:7:12","typeDescriptions":{}}},"id":8612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"646:55:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":8600,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"643:2:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18679_$","typeString":"type(contract Vm)"}},"id":8613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"643:59:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"visibility":"private"},{"id":8617,"nodeType":"VariableDeclaration","src":"708:109:12","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"725:11:12","scope":9933,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8615,"name":"uint256","nodeType":"ElementaryTypeName","src":"708:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":8616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"739:78:12","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"internal"},{"id":8635,"nodeType":"FunctionDefinition","src":"824:123:12","nodes":[],"body":{"id":8634,"nodeType":"Block","src":"891:56:12","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":8629,"name":"sigStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8619,"src":"931:6:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":8628,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"925:5:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":8627,"name":"bytes","nodeType":"ElementaryTypeName","src":"925:5:12","typeDescriptions":{}}},"id":8630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"925:13:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8626,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"915:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"915:24:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"908:6:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":8624,"name":"bytes4","nodeType":"ElementaryTypeName","src":"908:6:12","typeDescriptions":{}}},"id":8632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"908:32:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":8623,"id":8633,"nodeType":"Return","src":"901:39:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sigs","nameLocation":"833:4:12","parameters":{"id":8620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8619,"mutability":"mutable","name":"sigStr","nameLocation":"852:6:12","nodeType":"VariableDeclaration","scope":8635,"src":"838:20:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":8618,"name":"string","nodeType":"ElementaryTypeName","src":"838:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"837:22:12"},"returnParameters":{"id":8623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8622,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8635,"src":"883:6:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8621,"name":"bytes4","nodeType":"ElementaryTypeName","src":"883:6:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"882:8:12"},"scope":9933,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":8660,"nodeType":"FunctionDefinition","src":"953:236:12","nodes":[],"body":{"id":8659,"nodeType":"Block","src":"1038:151:12","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":8643,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8638,"src":"1052:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8644,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1057:9:12","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":8580,"src":"1052:14:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":8645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1067:6:12","memberName":"length","nodeType":"MemberAccess","src":"1052:21:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":8646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1077:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1052:26:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":8657,"nodeType":"Block","src":"1137:46:12","statements":[{"expression":{"expression":{"id":8654,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8638,"src":"1158:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1163:9:12","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":8580,"src":"1158:14:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"functionReturnParameters":8642,"id":8656,"nodeType":"Return","src":"1151:21:12"}]},"id":8658,"nodeType":"IfStatement","src":"1048:135:12","trueBody":{"id":8653,"nodeType":"Block","src":"1080:51:12","statements":[{"expression":{"arguments":[{"expression":{"id":8649,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8638,"src":"1109:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8650,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1114:5:12","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":8568,"src":"1109:10:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}],"id":8648,"name":"flatten","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9856,"src":"1101:7:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes32[] memory) pure returns (bytes memory)"}},"id":8651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1101:19:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":8642,"id":8652,"nodeType":"Return","src":"1094:26:12"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"getCallParams","nameLocation":"962:13:12","parameters":{"id":8639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8638,"mutability":"mutable","name":"self","nameLocation":"995:4:12","nodeType":"VariableDeclaration","scope":8660,"src":"976:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8637,"nodeType":"UserDefinedTypeName","pathNode":{"id":8636,"name":"StdStorage","nameLocations":["976:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"976:10:12"},"referencedDeclaration":8581,"src":"976:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"975:25:12"},"returnParameters":{"id":8642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8641,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8660,"src":"1024:12:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8640,"name":"bytes","nodeType":"ElementaryTypeName","src":"1024:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1023:14:12"},"scope":9933,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":8706,"nodeType":"FunctionDefinition","src":"1251:339:12","nodes":[],"body":{"id":8705,"nodeType":"Block","src":"1334:256:12","nodes":[],"statements":[{"assignments":[8671],"declarations":[{"constant":false,"id":8671,"mutability":"mutable","name":"cd","nameLocation":"1357:2:12","nodeType":"VariableDeclaration","scope":8705,"src":"1344:15:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8670,"name":"bytes","nodeType":"ElementaryTypeName","src":"1344:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8680,"initialValue":{"arguments":[{"expression":{"id":8674,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8663,"src":"1379:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8675,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1384:4:12","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":8570,"src":"1379:9:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":8677,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8663,"src":"1404:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8676,"name":"getCallParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8660,"src":"1390:13:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) view returns (bytes memory)"}},"id":8678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1390:19:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":8672,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1362:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1366:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"1362:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1362:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1344:66:12"},{"assignments":[8682,8684],"declarations":[{"constant":false,"id":8682,"mutability":"mutable","name":"success","nameLocation":"1426:7:12","nodeType":"VariableDeclaration","scope":8705,"src":"1421:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8681,"name":"bool","nodeType":"ElementaryTypeName","src":"1421:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8684,"mutability":"mutable","name":"rdat","nameLocation":"1448:4:12","nodeType":"VariableDeclaration","scope":8705,"src":"1435:17:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8683,"name":"bytes","nodeType":"ElementaryTypeName","src":"1435:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8690,"initialValue":{"arguments":[{"id":8688,"name":"cd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8671,"src":"1480:2:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"expression":{"id":8685,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8663,"src":"1456:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8686,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1461:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"1456:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":8687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1469:10:12","memberName":"staticcall","nodeType":"MemberAccess","src":"1456:23:12","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":8689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1456:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1420:63:12"},{"assignments":[8692],"declarations":[{"constant":false,"id":8692,"mutability":"mutable","name":"result","nameLocation":"1501:6:12","nodeType":"VariableDeclaration","scope":8705,"src":"1493:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1493:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8700,"initialValue":{"arguments":[{"id":8694,"name":"rdat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8684,"src":"1525:4:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":8695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1531:2:12","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"id":8696,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8663,"src":"1536:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8697,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1541:6:12","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8572,"src":"1536:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1531:16:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8693,"name":"bytesToBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9815,"src":"1510:14:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes memory,uint256) pure returns (bytes32)"}},"id":8699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1510:38:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1493:55:12"},{"expression":{"components":[{"id":8701,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8682,"src":"1567:7:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8702,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8692,"src":"1576:6:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":8703,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1566:17:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"functionReturnParameters":8669,"id":8704,"nodeType":"Return","src":"1559:24:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"callTarget","nameLocation":"1260:10:12","parameters":{"id":8664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8663,"mutability":"mutable","name":"self","nameLocation":"1290:4:12","nodeType":"VariableDeclaration","scope":8706,"src":"1271:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8662,"nodeType":"UserDefinedTypeName","pathNode":{"id":8661,"name":"StdStorage","nameLocations":["1271:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"1271:10:12"},"referencedDeclaration":8581,"src":"1271:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"1270:25:12"},"returnParameters":{"id":8669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8666,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8706,"src":"1319:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8665,"name":"bool","nodeType":"ElementaryTypeName","src":"1319:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8668,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8706,"src":"1325:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8667,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1325:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1318:15:12"},"scope":9933,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":8784,"nodeType":"FunctionDefinition","src":"1847:546:12","nodes":[],"body":{"id":8783,"nodeType":"Block","src":"1940:453:12","nodes":[],"statements":[{"assignments":[8717],"declarations":[{"constant":false,"id":8717,"mutability":"mutable","name":"prevSlotValue","nameLocation":"1958:13:12","nodeType":"VariableDeclaration","scope":8783,"src":"1950:21:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1950:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8724,"initialValue":{"arguments":[{"expression":{"id":8720,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8709,"src":"1982:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8721,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1987:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"1982:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8722,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8711,"src":"1996:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8718,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"1974:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":8719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1977:4:12","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":14500,"src":"1974:7:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":8723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1974:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1950:51:12"},{"assignments":[8726,8728],"declarations":[{"constant":false,"id":8726,"mutability":"mutable","name":"success","nameLocation":"2017:7:12","nodeType":"VariableDeclaration","scope":8783,"src":"2012:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8725,"name":"bool","nodeType":"ElementaryTypeName","src":"2012:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8728,"mutability":"mutable","name":"prevReturnValue","nameLocation":"2034:15:12","nodeType":"VariableDeclaration","scope":8783,"src":"2026:23:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8727,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2026:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8732,"initialValue":{"arguments":[{"id":8730,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8709,"src":"2064:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8729,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8706,"src":"2053:10:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":8731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2053:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"2011:58:12"},{"assignments":[8734],"declarations":[{"constant":false,"id":8734,"mutability":"mutable","name":"testVal","nameLocation":"2088:7:12","nodeType":"VariableDeclaration","scope":8783,"src":"2080:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8733,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2080:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8750,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":8740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8735,"name":"prevReturnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8728,"src":"2098:15:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":8738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2125:1:12","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":8737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2117:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8736,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2117:7:12","typeDescriptions":{}}},"id":8739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2117:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2098:29:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"hexValue":"30","id":8747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2161:1:12","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":8746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2153:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8745,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2153:7:12","typeDescriptions":{}}},"id":8748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2153:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":8749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2098:65:12","trueExpression":{"arguments":[{"id":8743,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8617,"src":"2138:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2130:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8741,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2130:7:12","typeDescriptions":{}}},"id":8744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2130:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2080:83:12"},{"expression":{"arguments":[{"expression":{"id":8754,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8709,"src":"2182:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8755,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2187:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"2182:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8756,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8711,"src":"2196:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":8757,"name":"testVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8734,"src":"2202:7:12","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":8751,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"2173:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":8753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2176:5:12","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":18242,"src":"2173:8:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":8758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2173:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8759,"nodeType":"ExpressionStatement","src":"2173:37:12"},{"assignments":[null,8761],"declarations":[null,{"constant":false,"id":8761,"mutability":"mutable","name":"newReturnValue","nameLocation":"2232:14:12","nodeType":"VariableDeclaration","scope":8783,"src":"2224:22:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8760,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2224:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8765,"initialValue":{"arguments":[{"id":8763,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8709,"src":"2261:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8762,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8706,"src":"2250:10:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":8764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2250:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"2221:45:12"},{"expression":{"arguments":[{"expression":{"id":8769,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8709,"src":"2286:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8770,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2291:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"2286:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8771,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8711,"src":"2300:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":8772,"name":"prevSlotValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8717,"src":"2306:13:12","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":8766,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"2277:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":8768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2280:5:12","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":18242,"src":"2277:8:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":8773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2277:43:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8774,"nodeType":"ExpressionStatement","src":"2277:43:12"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8775,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8726,"src":"2339:7:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":8778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8776,"name":"prevReturnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8728,"src":"2351:15:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":8777,"name":"newReturnValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8761,"src":"2370:14:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2351:33:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":8779,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2350:35:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2339:46:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":8781,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2338:48:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":8715,"id":8782,"nodeType":"Return","src":"2331:55:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSlotMutatesCall","nameLocation":"1856:20:12","parameters":{"id":8712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8709,"mutability":"mutable","name":"self","nameLocation":"1896:4:12","nodeType":"VariableDeclaration","scope":8784,"src":"1877:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8708,"nodeType":"UserDefinedTypeName","pathNode":{"id":8707,"name":"StdStorage","nameLocations":["1877:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"1877:10:12"},"referencedDeclaration":8581,"src":"1877:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8711,"mutability":"mutable","name":"slot","nameLocation":"1910:4:12","nodeType":"VariableDeclaration","scope":8784,"src":"1902:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8710,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1902:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1876:39:12"},"returnParameters":{"id":8715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8714,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8784,"src":"1934:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8713,"name":"bool","nodeType":"ElementaryTypeName","src":"1934:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1933:6:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8866,"nodeType":"FunctionDefinition","src":"2556:514:12","nodes":[],"body":{"id":8865,"nodeType":"Block","src":"2659:411:12","nodes":[],"statements":[{"body":{"id":8859,"nodeType":"Block","src":"2718:319:12","statements":[{"assignments":[8809],"declarations":[{"constant":false,"id":8809,"mutability":"mutable","name":"valueToPut","nameLocation":"2740:10:12","nodeType":"VariableDeclaration","scope":8859,"src":"2732:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8808,"name":"uint256","nodeType":"ElementaryTypeName","src":"2732:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8823,"initialValue":{"condition":{"id":8810,"name":"left","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8791,"src":"2753:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":8818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2785:1:12","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":8819,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8799,"src":"2790:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2785:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8821,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2784:13:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2753:44:12","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":8811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2761:1:12","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323535","id":8812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2767:3:12","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":8813,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8799,"src":"2773:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2767:12:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8815,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2766:14:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2761:19:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8817,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2760:21:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2732:65:12"},{"expression":{"arguments":[{"expression":{"id":8827,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8787,"src":"2820:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8828,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2825:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"2820:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8829,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8789,"src":"2834:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":8832,"name":"valueToPut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8809,"src":"2848:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":8831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2840:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":8830,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2840:7:12","typeDescriptions":{}}},"id":8833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2840:19:12","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":8824,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"2811:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":8826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2814:5:12","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":18242,"src":"2811:8:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":8834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2811:49:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8835,"nodeType":"ExpressionStatement","src":"2811:49:12"},{"assignments":[8837,8839],"declarations":[{"constant":false,"id":8837,"mutability":"mutable","name":"success","nameLocation":"2881:7:12","nodeType":"VariableDeclaration","scope":8859,"src":"2876:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8836,"name":"bool","nodeType":"ElementaryTypeName","src":"2876:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8839,"mutability":"mutable","name":"data","nameLocation":"2898:4:12","nodeType":"VariableDeclaration","scope":8859,"src":"2890:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8838,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2890:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8843,"initialValue":{"arguments":[{"id":8841,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8787,"src":"2917:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8840,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8706,"src":"2906:10:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":8842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2906:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"2875:47:12"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8844,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8837,"src":"2941:7:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":8847,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8839,"src":"2961:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":8846,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2953:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":8845,"name":"uint256","nodeType":"ElementaryTypeName","src":"2953:7:12","typeDescriptions":{}}},"id":8848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2953:13:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":8849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2969:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2953:17:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":8851,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2952:19:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2941:30:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8858,"nodeType":"IfStatement","src":"2937:90:12","trueBody":{"id":8857,"nodeType":"Block","src":"2973:54:12","statements":[{"expression":{"components":[{"hexValue":"74727565","id":8853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2999:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"id":8854,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8799,"src":"3005:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8855,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2998:14:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"functionReturnParameters":8797,"id":8856,"nodeType":"Return","src":"2991:21:12"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":8804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8802,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8799,"src":"2694:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"323536","id":8803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2703:3:12","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"src":"2694:12:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8860,"initializationExpression":{"assignments":[8799],"declarations":[{"constant":false,"id":8799,"mutability":"mutable","name":"offset","nameLocation":"2682:6:12","nodeType":"VariableDeclaration","scope":8860,"src":"2674:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8798,"name":"uint256","nodeType":"ElementaryTypeName","src":"2674:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8801,"initialValue":{"hexValue":"30","id":8800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2691:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2674:18:12"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":8806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2708:8:12","subExpression":{"id":8805,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8799,"src":"2708:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":8807,"nodeType":"ExpressionStatement","src":"2708:8:12"},"nodeType":"ForStatement","src":"2669:368:12"},{"expression":{"components":[{"hexValue":"66616c7365","id":8861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3054:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":8862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3061:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":8863,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3053:10:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0)"}},"functionReturnParameters":8797,"id":8864,"nodeType":"Return","src":"3046:17:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"findOffset","nameLocation":"2565:10:12","parameters":{"id":8792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8787,"mutability":"mutable","name":"self","nameLocation":"2595:4:12","nodeType":"VariableDeclaration","scope":8866,"src":"2576:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8786,"nodeType":"UserDefinedTypeName","pathNode":{"id":8785,"name":"StdStorage","nameLocations":["2576:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"2576:10:12"},"referencedDeclaration":8581,"src":"2576:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8789,"mutability":"mutable","name":"slot","nameLocation":"2609:4:12","nodeType":"VariableDeclaration","scope":8866,"src":"2601:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8788,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2601:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":8791,"mutability":"mutable","name":"left","nameLocation":"2620:4:12","nodeType":"VariableDeclaration","scope":8866,"src":"2615:9:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8790,"name":"bool","nodeType":"ElementaryTypeName","src":"2615:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2575:50:12"},"returnParameters":{"id":8797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8794,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8866,"src":"2644:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8793,"name":"bool","nodeType":"ElementaryTypeName","src":"2644:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8796,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8866,"src":"2650:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8795,"name":"uint256","nodeType":"ElementaryTypeName","src":"2650:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2643:15:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8926,"nodeType":"FunctionDefinition","src":"3076:534:12","nodes":[],"body":{"id":8925,"nodeType":"Block","src":"3178:432:12","nodes":[],"statements":[{"assignments":[8881],"declarations":[{"constant":false,"id":8881,"mutability":"mutable","name":"prevSlotValue","nameLocation":"3196:13:12","nodeType":"VariableDeclaration","scope":8925,"src":"3188:21:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8880,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3188:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":8888,"initialValue":{"arguments":[{"expression":{"id":8884,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8869,"src":"3220:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8885,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3225:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"3220:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8886,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8871,"src":"3234:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":8882,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"3212:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":8883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3215:4:12","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":14500,"src":"3212:7:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":8887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"3188:51:12"},{"assignments":[8890,8892],"declarations":[{"constant":false,"id":8890,"mutability":"mutable","name":"foundLeft","nameLocation":"3256:9:12","nodeType":"VariableDeclaration","scope":8925,"src":"3251:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8889,"name":"bool","nodeType":"ElementaryTypeName","src":"3251:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8892,"mutability":"mutable","name":"offsetLeft","nameLocation":"3275:10:12","nodeType":"VariableDeclaration","scope":8925,"src":"3267:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8891,"name":"uint256","nodeType":"ElementaryTypeName","src":"3267:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8898,"initialValue":{"arguments":[{"id":8894,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8869,"src":"3300:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8895,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8871,"src":"3306:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"74727565","id":8896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3312:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":8893,"name":"findOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8866,"src":"3289:10:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes32_$_t_bool_$returns$_t_bool_$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bytes32,bool) returns (bool,uint256)"}},"id":8897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3289:28:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"3250:67:12"},{"assignments":[8900,8902],"declarations":[{"constant":false,"id":8900,"mutability":"mutable","name":"foundRight","nameLocation":"3333:10:12","nodeType":"VariableDeclaration","scope":8925,"src":"3328:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8899,"name":"bool","nodeType":"ElementaryTypeName","src":"3328:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8902,"mutability":"mutable","name":"offsetRight","nameLocation":"3353:11:12","nodeType":"VariableDeclaration","scope":8925,"src":"3345:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8901,"name":"uint256","nodeType":"ElementaryTypeName","src":"3345:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8908,"initialValue":{"arguments":[{"id":8904,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8869,"src":"3379:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":8905,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8871,"src":"3385:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"66616c7365","id":8906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3391:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":8903,"name":"findOffset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8866,"src":"3368:10:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes32_$_t_bool_$returns$_t_bool_$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bytes32,bool) returns (bool,uint256)"}},"id":8907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3368:29:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$","typeString":"tuple(bool,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"3327:70:12"},{"expression":{"arguments":[{"expression":{"id":8912,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8869,"src":"3502:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8913,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3507:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"3502:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":8914,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8871,"src":"3516:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":8915,"name":"prevSlotValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8881,"src":"3522:13:12","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":8909,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"3493:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":8911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3496:5:12","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":18242,"src":"3493:8:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":8916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3493:43:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8917,"nodeType":"ExpressionStatement","src":"3493:43:12"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":8920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":8918,"name":"foundLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8890,"src":"3554:9:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":8919,"name":"foundRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8900,"src":"3567:10:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3554:23:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":8921,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8892,"src":"3579:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":8922,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8902,"src":"3591:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":8923,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3553:50:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"tuple(bool,uint256,uint256)"}},"functionReturnParameters":8879,"id":8924,"nodeType":"Return","src":"3546:57:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"findOffsets","nameLocation":"3085:11:12","parameters":{"id":8872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8869,"mutability":"mutable","name":"self","nameLocation":"3116:4:12","nodeType":"VariableDeclaration","scope":8926,"src":"3097:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8868,"nodeType":"UserDefinedTypeName","pathNode":{"id":8867,"name":"StdStorage","nameLocations":["3097:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"3097:10:12"},"referencedDeclaration":8581,"src":"3097:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8871,"mutability":"mutable","name":"slot","nameLocation":"3130:4:12","nodeType":"VariableDeclaration","scope":8926,"src":"3122:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":8870,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3122:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3096:39:12"},"returnParameters":{"id":8879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8874,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8926,"src":"3154:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8873,"name":"bool","nodeType":"ElementaryTypeName","src":"3154:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":8876,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8926,"src":"3160:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8875,"name":"uint256","nodeType":"ElementaryTypeName","src":"3160:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":8878,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8926,"src":"3169:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8877,"name":"uint256","nodeType":"ElementaryTypeName","src":"3169:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3153:24:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":8941,"nodeType":"FunctionDefinition","src":"3616:115:12","nodes":[],"body":{"id":8940,"nodeType":"Block","src":"3691:40:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":8936,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8929,"src":"3713:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":8937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3719:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":8935,"name":"find","nodeType":"Identifier","overloadedDeclarations":[8941,9242],"referencedDeclaration":9242,"src":"3708:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$8556_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":8938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3708:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"functionReturnParameters":8934,"id":8939,"nodeType":"Return","src":"3701:23:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"3625:4:12","parameters":{"id":8930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8929,"mutability":"mutable","name":"self","nameLocation":"3649:4:12","nodeType":"VariableDeclaration","scope":8941,"src":"3630:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8928,"nodeType":"UserDefinedTypeName","pathNode":{"id":8927,"name":"StdStorage","nameLocations":["3630:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"3630:10:12"},"referencedDeclaration":8581,"src":"3630:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"3629:25:12"},"returnParameters":{"id":8934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":8941,"src":"3673:16:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData"},"typeName":{"id":8932,"nodeType":"UserDefinedTypeName","pathNode":{"id":8931,"name":"FindData","nameLocations":["3673:8:12"],"nodeType":"IdentifierPath","referencedDeclaration":8556,"src":"3673:8:12"},"referencedDeclaration":8556,"src":"3673:8:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"src":"3672:18:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9242,"nodeType":"FunctionDefinition","src":"4245:2492:12","nodes":[],"body":{"id":9241,"nodeType":"Block","src":"4333:2404:12","nodes":[],"statements":[{"assignments":[8954],"declarations":[{"constant":false,"id":8954,"mutability":"mutable","name":"who","nameLocation":"4351:3:12","nodeType":"VariableDeclaration","scope":9241,"src":"4343:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":8953,"name":"address","nodeType":"ElementaryTypeName","src":"4343:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":8957,"initialValue":{"expression":{"id":8955,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"4357:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8956,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4362:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"4357:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4343:26:12"},{"assignments":[8959],"declarations":[{"constant":false,"id":8959,"mutability":"mutable","name":"fsig","nameLocation":"4386:4:12","nodeType":"VariableDeclaration","scope":9241,"src":"4379:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":8958,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4379:6:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":8962,"initialValue":{"expression":{"id":8960,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"4393:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8961,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4398:4:12","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":8570,"src":"4393:9:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"4379:23:12"},{"assignments":[8964],"declarations":[{"constant":false,"id":8964,"mutability":"mutable","name":"field_depth","nameLocation":"4420:11:12","nodeType":"VariableDeclaration","scope":9241,"src":"4412:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":8963,"name":"uint256","nodeType":"ElementaryTypeName","src":"4412:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":8967,"initialValue":{"expression":{"id":8965,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"4434:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4439:6:12","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8572,"src":"4434:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4412:33:12"},{"assignments":[8969],"declarations":[{"constant":false,"id":8969,"mutability":"mutable","name":"params","nameLocation":"4468:6:12","nodeType":"VariableDeclaration","scope":9241,"src":"4455:19:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":8968,"name":"bytes","nodeType":"ElementaryTypeName","src":"4455:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":8973,"initialValue":{"arguments":[{"id":8971,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"4491:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8970,"name":"getCallParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8660,"src":"4477:13:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) view returns (bytes memory)"}},"id":8972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4477:19:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"4455:41:12"},{"condition":{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":8974,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"4547:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4552:5:12","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8565,"src":"4547:10:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":8977,"indexExpression":{"id":8976,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"4558:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4547:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":8979,"indexExpression":{"id":8978,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8959,"src":"4563:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4547:21:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":8987,"indexExpression":{"arguments":[{"arguments":[{"id":8983,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"4596:6:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":8984,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8964,"src":"4604:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":8981,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4579:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":8982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4583:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"4579:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":8985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4579:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":8980,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4569:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":8986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4569:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4547:71:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage","typeString":"struct FindData storage ref"}},"id":8988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4619:5:12","memberName":"found","nodeType":"MemberAccess","referencedDeclaration":8555,"src":"4547:77:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9012,"nodeType":"IfStatement","src":"4543:255:12","trueBody":{"id":9011,"nodeType":"Block","src":"4626:172:12","statements":[{"condition":{"id":8989,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8947,"src":"4644:6:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":8995,"nodeType":"IfStatement","src":"4640:56:12","trueBody":{"id":8994,"nodeType":"Block","src":"4652:44:12","statements":[{"expression":{"arguments":[{"id":8991,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"4676:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":8990,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9887,"src":"4670:5:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":8992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4670:11:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8993,"nodeType":"ExpressionStatement","src":"4670:11:12"}]}},{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":8996,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"4716:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":8997,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4721:5:12","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8565,"src":"4716:10:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":8999,"indexExpression":{"id":8998,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"4727:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4716:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":9001,"indexExpression":{"id":9000,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8959,"src":"4732:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4716:21:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":9009,"indexExpression":{"arguments":[{"arguments":[{"id":9005,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"4765:6:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":9006,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8964,"src":"4773:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9003,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4748:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4752:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"4748:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4748:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9002,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4738:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4738:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4716:71:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage","typeString":"struct FindData storage ref"}},"functionReturnParameters":8952,"id":9010,"nodeType":"Return","src":"4709:78:12"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9013,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"4807:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":9015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4810:6:12","memberName":"record","nodeType":"MemberAccess","referencedDeclaration":14508,"src":"4807:9:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":9016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4807:11:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9017,"nodeType":"ExpressionStatement","src":"4807:11:12"},{"assignments":[null,9019],"declarations":[null,{"constant":false,"id":9019,"mutability":"mutable","name":"callResult","nameLocation":"4839:10:12","nodeType":"VariableDeclaration","scope":9241,"src":"4831:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9018,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4831:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9023,"initialValue":{"arguments":[{"id":9021,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"4864:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9020,"name":"callTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8706,"src":"4853:10:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":9022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4853:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"4828:41:12"},{"assignments":[9028,null],"declarations":[{"constant":false,"id":9028,"mutability":"mutable","name":"reads","nameLocation":"4897:5:12","nodeType":"VariableDeclaration","scope":9241,"src":"4880:22:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":9026,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4880:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":9027,"nodeType":"ArrayTypeName","src":"4880:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},null],"id":9036,"initialValue":{"arguments":[{"arguments":[{"id":9033,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"4927:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4919:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9031,"name":"address","nodeType":"ElementaryTypeName","src":"4919:7:12","typeDescriptions":{}}},"id":9034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4919:12:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":9029,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"4907:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":9030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4910:8:12","memberName":"accesses","nodeType":"MemberAccess","referencedDeclaration":14328,"src":"4907:11:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (address) view external returns (bytes32[] memory,bytes32[] memory)"}},"id":9035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4907:25:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"tuple(bytes32[] memory,bytes32[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"4879:53:12"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9037,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9028,"src":"4947:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4953:6:12","memberName":"length","nodeType":"MemberAccess","src":"4947:12:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4963:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4947:17:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":9198,"nodeType":"Block","src":"5071:1332:12","statements":[{"body":{"id":9196,"nodeType":"Block","src":"5127:1266:12","statements":[{"assignments":[9056],"declarations":[{"constant":false,"id":9056,"mutability":"mutable","name":"prev","nameLocation":"5153:4:12","nodeType":"VariableDeclaration","scope":9196,"src":"5145:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9055,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5145:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9064,"initialValue":{"arguments":[{"id":9059,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"5168:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"id":9060,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9028,"src":"5173:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9062,"indexExpression":{"id":9061,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9047,"src":"5179:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5173:8:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9057,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"5160:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":9058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5163:4:12","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":14500,"src":"5160:7:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":9063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5160:22:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5145:37:12"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":9070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9065,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9056,"src":"5204:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":9068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5220:1:12","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":9067,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5212:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9066,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5212:7:12","typeDescriptions":{}}},"id":9069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5212:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5204:18:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9082,"nodeType":"IfStatement","src":"5200:114:12","trueBody":{"id":9081,"nodeType":"Block","src":"5224:90:12","statements":[{"eventCall":{"arguments":[{"id":9072,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"5272:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"baseExpression":{"id":9075,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9028,"src":"5285:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9077,"indexExpression":{"id":9076,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9047,"src":"5291:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5285:8:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5277:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9073,"name":"uint256","nodeType":"ElementaryTypeName","src":"5277:7:12","typeDescriptions":{}}},"id":9078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5277:17:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9071,"name":"WARNING_UninitedSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8597,"src":"5251:20:12","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":9079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5251:44:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9080,"nodeType":"EmitStatement","src":"5246:49:12"}]}},{"condition":{"id":9089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5336:37:12","subExpression":{"arguments":[{"id":9084,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"5358:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"baseExpression":{"id":9085,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9028,"src":"5364:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9087,"indexExpression":{"id":9086,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9047,"src":"5370:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5364:8:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9083,"name":"checkSlotMutatesCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8784,"src":"5337:20:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes32_$returns$_t_bool_$","typeString":"function (struct StdStorage storage pointer,bytes32) returns (bool)"}},"id":9088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5337:36:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9092,"nodeType":"IfStatement","src":"5332:92:12","trueBody":{"id":9091,"nodeType":"Block","src":"5375:49:12","statements":[{"id":9090,"nodeType":"Continue","src":"5397:8:12"}]}},{"assignments":[9094,9096],"declarations":[{"constant":false,"id":9094,"mutability":"mutable","name":"offsetLeft","nameLocation":"5451:10:12","nodeType":"VariableDeclaration","scope":9196,"src":"5443:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9093,"name":"uint256","nodeType":"ElementaryTypeName","src":"5443:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9096,"mutability":"mutable","name":"offsetRight","nameLocation":"5471:11:12","nodeType":"VariableDeclaration","scope":9196,"src":"5463:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9095,"name":"uint256","nodeType":"ElementaryTypeName","src":"5463:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9100,"initialValue":{"components":[{"hexValue":"30","id":9097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5487:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":9098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5490:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":9099,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5486:6:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"nodeType":"VariableDeclarationStatement","src":"5442:50:12"},{"condition":{"expression":{"id":9101,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"5515:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5520:20:12","memberName":"_enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":8578,"src":"5515:25:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9124,"nodeType":"IfStatement","src":"5511:256:12","trueBody":{"id":9123,"nodeType":"Block","src":"5542:225:12","statements":[{"assignments":[9104],"declarations":[{"constant":false,"id":9104,"mutability":"mutable","name":"found","nameLocation":"5569:5:12","nodeType":"VariableDeclaration","scope":9123,"src":"5564:10:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9103,"name":"bool","nodeType":"ElementaryTypeName","src":"5564:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":9105,"nodeType":"VariableDeclarationStatement","src":"5564:10:12"},{"expression":{"id":9116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":9106,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9104,"src":"5597:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":9107,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9094,"src":"5604:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9108,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9096,"src":"5616:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9109,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"5596:32:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"tuple(bool,uint256,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9111,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"5643:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"baseExpression":{"id":9112,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9028,"src":"5649:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9114,"indexExpression":{"id":9113,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9047,"src":"5655:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5649:8:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9110,"name":"findOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8926,"src":"5631:11:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes32_$returns$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bytes32) returns (bool,uint256,uint256)"}},"id":9115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5631:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint256_$_t_uint256_$","typeString":"tuple(bool,uint256,uint256)"}},"src":"5596:62:12","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9117,"nodeType":"ExpressionStatement","src":"5596:62:12"},{"condition":{"id":9119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5684:6:12","subExpression":{"id":9118,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9104,"src":"5685:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9122,"nodeType":"IfStatement","src":"5680:69:12","trueBody":{"id":9121,"nodeType":"Block","src":"5692:57:12","statements":[{"id":9120,"nodeType":"Continue","src":"5718:8:12"}]}}]}},{"assignments":[9126],"declarations":[{"constant":false,"id":9126,"mutability":"mutable","name":"curVal","nameLocation":"5887:6:12","nodeType":"VariableDeclaration","scope":9196,"src":"5879:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9125,"name":"uint256","nodeType":"ElementaryTypeName","src":"5879:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9139,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":9129,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9056,"src":"5905:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5897:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9127,"name":"uint256","nodeType":"ElementaryTypeName","src":"5897:7:12","typeDescriptions":{}}},"id":9130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5897:13:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"arguments":[{"id":9132,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9094,"src":"5930:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9133,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9096,"src":"5942:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9131,"name":"getMaskByOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9898,"src":"5913:16:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":9134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5913:41:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5897:57:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9136,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5896:59:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":9137,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9096,"src":"5959:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5896:74:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5879:91:12"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":9142,"name":"callResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9019,"src":"6001:10:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5993:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9140,"name":"uint256","nodeType":"ElementaryTypeName","src":"5993:7:12","typeDescriptions":{}}},"id":9143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5993:19:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":9144,"name":"curVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9126,"src":"6016:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5993:29:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9148,"nodeType":"IfStatement","src":"5989:84:12","trueBody":{"id":9147,"nodeType":"Block","src":"6024:49:12","statements":[{"id":9146,"nodeType":"Continue","src":"6046:8:12"}]}},{"eventCall":{"arguments":[{"id":9150,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"6106:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":9151,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8959,"src":"6111:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"arguments":[{"id":9155,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"6144:6:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":9156,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8964,"src":"6152:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9153,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6127:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6131:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"6127:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6127:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9152,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6117:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6117:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"baseExpression":{"id":9161,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9028,"src":"6175:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9163,"indexExpression":{"id":9162,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9047,"src":"6181:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6175:8:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9160,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6167:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9159,"name":"uint256","nodeType":"ElementaryTypeName","src":"6167:7:12","typeDescriptions":{}}},"id":9164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6167:17:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9149,"name":"SlotFound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8591,"src":"6096:9:12","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (address,bytes4,bytes32,uint256)"}},"id":9165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6096:89:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9166,"nodeType":"EmitStatement","src":"6091:94:12"},{"expression":{"id":9193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":9167,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"6203:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9178,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6208:5:12","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8565,"src":"6203:10:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":9179,"indexExpression":{"id":9169,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"6214:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6203:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":9180,"indexExpression":{"id":9170,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8959,"src":"6219:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6203:21:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":9181,"indexExpression":{"arguments":[{"arguments":[{"id":9174,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"6252:6:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":9175,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8964,"src":"6260:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9172,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6235:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6239:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"6235:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6235:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9171,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6225:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6225:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6203:71:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage","typeString":"struct FindData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"baseExpression":{"id":9185,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9028,"src":"6314:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9187,"indexExpression":{"id":9186,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9047,"src":"6320:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6314:8:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6306:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9183,"name":"uint256","nodeType":"ElementaryTypeName","src":"6306:7:12","typeDescriptions":{}}},"id":9188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6306:17:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9189,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9094,"src":"6325:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9190,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9096,"src":"6337:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"74727565","id":9191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6350:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9182,"name":"FindData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8556,"src":"6297:8:12","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_FindData_$8556_storage_ptr_$","typeString":"type(struct FindData storage pointer)"}},"id":9192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6297:58:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_memory_ptr","typeString":"struct FindData memory"}},"src":"6203:152:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage","typeString":"struct FindData storage ref"}},"id":9194,"nodeType":"ExpressionStatement","src":"6203:152:12"},{"id":9195,"nodeType":"Break","src":"6373:5:12"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"5116:3:12","subExpression":{"id":9051,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9047,"src":"5118:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":9053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5123:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5116:8:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9197,"initializationExpression":{"assignments":[9047],"declarations":[{"constant":false,"id":9047,"mutability":"mutable","name":"i","nameLocation":"5098:1:12","nodeType":"VariableDeclaration","scope":9197,"src":"5090:9:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9046,"name":"uint256","nodeType":"ElementaryTypeName","src":"5090:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9050,"initialValue":{"expression":{"id":9048,"name":"reads","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9028,"src":"5102:5:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5108:6:12","memberName":"length","nodeType":"MemberAccess","src":"5102:12:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5090:24:12"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"5085:1308:12"}]},"id":9199,"nodeType":"IfStatement","src":"4943:1460:12","trueBody":{"id":9045,"nodeType":"Block","src":"4966:99:12","statements":[{"expression":{"arguments":[{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a204e6f2073746f726167652075736520646574656374656420666f72207461726765742e","id":9042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4987:66:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283","typeString":"literal_string \"stdStorage find(StdStorage): No storage use detected for target.\""},"value":"stdStorage find(StdStorage): No storage use detected for target."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_328ff448bebe6b9a52a670e66989b0a23c94fd0cbd86c30e5432c6ddc5340283","typeString":"literal_string \"stdStorage find(StdStorage): No storage use detected for target.\""}],"id":9041,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"4980:6:12","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":9043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4980:74:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9044,"nodeType":"ExpressionStatement","src":"4980:74:12"}]}},{"expression":{"arguments":[{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":9201,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"6434:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6439:5:12","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8565,"src":"6434:10:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":9204,"indexExpression":{"id":9203,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"6445:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6434:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":9206,"indexExpression":{"id":9205,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8959,"src":"6450:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6434:21:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":9214,"indexExpression":{"arguments":[{"arguments":[{"id":9210,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"6483:6:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":9211,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8964,"src":"6491:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9208,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6466:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6470:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"6466:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6466:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9207,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6456:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6456:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6434:71:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage","typeString":"struct FindData storage ref"}},"id":9215,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6506:5:12","memberName":"found","nodeType":"MemberAccess","referencedDeclaration":8555,"src":"6434:77:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a20536c6f74287329206e6f7420666f756e642e","id":9216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6525:49:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8","typeString":"literal_string \"stdStorage find(StdStorage): Slot(s) not found.\""},"value":"stdStorage find(StdStorage): Slot(s) not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_47c274d4780c7bff83310cd576005a97888a2b2935c22f84e1e5282c1bfb39a8","typeString":"literal_string \"stdStorage find(StdStorage): Slot(s) not found.\""}],"id":9200,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"6413:7:12","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":9217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6413:171:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9218,"nodeType":"ExpressionStatement","src":"6413:171:12"},{"condition":{"id":9219,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8947,"src":"6599:6:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9225,"nodeType":"IfStatement","src":"6595:48:12","trueBody":{"id":9224,"nodeType":"Block","src":"6607:36:12","statements":[{"expression":{"arguments":[{"id":9221,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"6627:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9220,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9887,"src":"6621:5:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":9222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6621:11:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9223,"nodeType":"ExpressionStatement","src":"6621:11:12"}]}},{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":9226,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8945,"src":"6659:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9227,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6664:5:12","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8565,"src":"6659:10:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":9229,"indexExpression":{"id":9228,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8954,"src":"6670:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6659:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":9231,"indexExpression":{"id":9230,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8959,"src":"6675:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6659:21:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":9239,"indexExpression":{"arguments":[{"arguments":[{"id":9235,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8969,"src":"6708:6:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":9236,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8964,"src":"6716:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9233,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6691:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9234,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6695:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"6691:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6691:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":9232,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6681:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6681:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6659:71:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage","typeString":"struct FindData storage ref"}},"functionReturnParameters":8952,"id":9240,"nodeType":"Return","src":"6652:78:12"}]},"documentation":{"id":8942,"nodeType":"StructuredDocumentation","src":"3737:129:12","text":"@notice find an arbitrary storage slot given a function sig, input data, address of the contract and a value to check against"},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"4254:4:12","parameters":{"id":8948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8945,"mutability":"mutable","name":"self","nameLocation":"4278:4:12","nodeType":"VariableDeclaration","scope":9242,"src":"4259:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":8944,"nodeType":"UserDefinedTypeName","pathNode":{"id":8943,"name":"StdStorage","nameLocations":["4259:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"4259:10:12"},"referencedDeclaration":8581,"src":"4259:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":8947,"mutability":"mutable","name":"_clear","nameLocation":"4289:6:12","nodeType":"VariableDeclaration","scope":9242,"src":"4284:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":8946,"name":"bool","nodeType":"ElementaryTypeName","src":"4284:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4258:38:12"},"returnParameters":{"id":8952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":8951,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9242,"src":"4315:16:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData"},"typeName":{"id":8950,"nodeType":"UserDefinedTypeName","pathNode":{"id":8949,"name":"FindData","nameLocations":["4315:8:12"],"nodeType":"IdentifierPath","referencedDeclaration":8556,"src":"4315:8:12"},"referencedDeclaration":8556,"src":"4315:8:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"src":"4314:18:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9262,"nodeType":"FunctionDefinition","src":"6743:156:12","nodes":[],"body":{"id":9261,"nodeType":"Block","src":"6839:60:12","nodes":[],"statements":[{"expression":{"id":9257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9253,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9245,"src":"6849:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9255,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6854:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"6849:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9256,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9247,"src":"6864:7:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6849:22:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":9258,"nodeType":"ExpressionStatement","src":"6849:22:12"},{"expression":{"id":9259,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9245,"src":"6888:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9252,"id":9260,"nodeType":"Return","src":"6881:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"target","nameLocation":"6752:6:12","parameters":{"id":9248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9245,"mutability":"mutable","name":"self","nameLocation":"6778:4:12","nodeType":"VariableDeclaration","scope":9262,"src":"6759:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9244,"nodeType":"UserDefinedTypeName","pathNode":{"id":9243,"name":"StdStorage","nameLocations":["6759:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"6759:10:12"},"referencedDeclaration":8581,"src":"6759:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9247,"mutability":"mutable","name":"_target","nameLocation":"6792:7:12","nodeType":"VariableDeclaration","scope":9262,"src":"6784:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9246,"name":"address","nodeType":"ElementaryTypeName","src":"6784:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6758:42:12"},"returnParameters":{"id":9252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9251,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9262,"src":"6819:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9250,"nodeType":"UserDefinedTypeName","pathNode":{"id":9249,"name":"StdStorage","nameLocations":["6819:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"6819:10:12"},"referencedDeclaration":8581,"src":"6819:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6818:20:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9282,"nodeType":"FunctionDefinition","src":"6905:143:12","nodes":[],"body":{"id":9281,"nodeType":"Block","src":"6994:54:12","nodes":[],"statements":[{"expression":{"id":9277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9273,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9265,"src":"7004:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7009:4:12","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":8570,"src":"7004:9:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9276,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9267,"src":"7016:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"7004:16:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":9278,"nodeType":"ExpressionStatement","src":"7004:16:12"},{"expression":{"id":9279,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9265,"src":"7037:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9272,"id":9280,"nodeType":"Return","src":"7030:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"6914:3:12","parameters":{"id":9268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9265,"mutability":"mutable","name":"self","nameLocation":"6937:4:12","nodeType":"VariableDeclaration","scope":9282,"src":"6918:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9264,"nodeType":"UserDefinedTypeName","pathNode":{"id":9263,"name":"StdStorage","nameLocations":["6918:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"6918:10:12"},"referencedDeclaration":8581,"src":"6918:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9267,"mutability":"mutable","name":"_sig","nameLocation":"6950:4:12","nodeType":"VariableDeclaration","scope":9282,"src":"6943:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":9266,"name":"bytes4","nodeType":"ElementaryTypeName","src":"6943:6:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"6917:38:12"},"returnParameters":{"id":9272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9271,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9282,"src":"6974:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9270,"nodeType":"UserDefinedTypeName","pathNode":{"id":9269,"name":"StdStorage","nameLocations":["6974:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"6974:10:12"},"referencedDeclaration":8581,"src":"6974:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"6973:20:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9304,"nodeType":"FunctionDefinition","src":"7054:156:12","nodes":[],"body":{"id":9303,"nodeType":"Block","src":"7150:60:12","nodes":[],"statements":[{"expression":{"id":9299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9293,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9285,"src":"7160:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9295,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7165:4:12","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":8570,"src":"7160:9:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9297,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9287,"src":"7177:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":9296,"name":"sigs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8635,"src":"7172:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":9298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7172:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"7160:22:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":9300,"nodeType":"ExpressionStatement","src":"7160:22:12"},{"expression":{"id":9301,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9285,"src":"7199:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9292,"id":9302,"nodeType":"Return","src":"7192:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"7063:3:12","parameters":{"id":9288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9285,"mutability":"mutable","name":"self","nameLocation":"7086:4:12","nodeType":"VariableDeclaration","scope":9304,"src":"7067:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9284,"nodeType":"UserDefinedTypeName","pathNode":{"id":9283,"name":"StdStorage","nameLocations":["7067:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7067:10:12"},"referencedDeclaration":8581,"src":"7067:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9287,"mutability":"mutable","name":"_sig","nameLocation":"7106:4:12","nodeType":"VariableDeclaration","scope":9304,"src":"7092:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9286,"name":"string","nodeType":"ElementaryTypeName","src":"7092:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7066:45:12"},"returnParameters":{"id":9292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9291,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9304,"src":"7130:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9290,"nodeType":"UserDefinedTypeName","pathNode":{"id":9289,"name":"StdStorage","nameLocations":["7130:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7130:10:12"},"referencedDeclaration":8581,"src":"7130:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7129:20:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9324,"nodeType":"FunctionDefinition","src":"7216:174:12","nodes":[],"body":{"id":9323,"nodeType":"Block","src":"7326:64:12","nodes":[],"statements":[{"expression":{"id":9319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9315,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9307,"src":"7336:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9317,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"7341:9:12","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":8580,"src":"7336:14:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9318,"name":"_calldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9309,"src":"7353:9:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"7336:26:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"id":9320,"nodeType":"ExpressionStatement","src":"7336:26:12"},{"expression":{"id":9321,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9307,"src":"7379:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9314,"id":9322,"nodeType":"Return","src":"7372:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_calldata","nameLocation":"7225:13:12","parameters":{"id":9310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9307,"mutability":"mutable","name":"self","nameLocation":"7258:4:12","nodeType":"VariableDeclaration","scope":9324,"src":"7239:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9306,"nodeType":"UserDefinedTypeName","pathNode":{"id":9305,"name":"StdStorage","nameLocations":["7239:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7239:10:12"},"referencedDeclaration":8581,"src":"7239:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9309,"mutability":"mutable","name":"_calldata","nameLocation":"7277:9:12","nodeType":"VariableDeclaration","scope":9324,"src":"7264:22:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9308,"name":"bytes","nodeType":"ElementaryTypeName","src":"7264:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7238:49:12"},"returnParameters":{"id":9314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9313,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9324,"src":"7306:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9312,"nodeType":"UserDefinedTypeName","pathNode":{"id":9311,"name":"StdStorage","nameLocations":["7306:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7306:10:12"},"referencedDeclaration":8581,"src":"7306:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7305:20:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9355,"nodeType":"FunctionDefinition","src":"7396:179:12","nodes":[],"body":{"id":9354,"nodeType":"Block","src":"7490:85:12","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"id":9346,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9329,"src":"7540:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7532:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":9344,"name":"uint160","nodeType":"ElementaryTypeName","src":"7532:7:12","typeDescriptions":{}}},"id":9347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7532:12:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":9343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7524:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9342,"name":"uint256","nodeType":"ElementaryTypeName","src":"7524:7:12","typeDescriptions":{}}},"id":9348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7524:21:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7516:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9340,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7516:7:12","typeDescriptions":{}}},"id":9349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7516:30:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":9335,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9327,"src":"7500:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9338,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7505:5:12","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":8568,"src":"7500:10:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":9339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7511:4:12","memberName":"push","nodeType":"MemberAccess","src":"7500:15:12","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":9350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7500:47:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9351,"nodeType":"ExpressionStatement","src":"7500:47:12"},{"expression":{"id":9352,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9327,"src":"7564:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9334,"id":9353,"nodeType":"Return","src":"7557:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"7405:8:12","parameters":{"id":9330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9327,"mutability":"mutable","name":"self","nameLocation":"7433:4:12","nodeType":"VariableDeclaration","scope":9355,"src":"7414:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9326,"nodeType":"UserDefinedTypeName","pathNode":{"id":9325,"name":"StdStorage","nameLocations":["7414:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7414:10:12"},"referencedDeclaration":8581,"src":"7414:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9329,"mutability":"mutable","name":"who","nameLocation":"7447:3:12","nodeType":"VariableDeclaration","scope":9355,"src":"7439:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9328,"name":"address","nodeType":"ElementaryTypeName","src":"7439:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7413:38:12"},"returnParameters":{"id":9334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9333,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9355,"src":"7470:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9332,"nodeType":"UserDefinedTypeName","pathNode":{"id":9331,"name":"StdStorage","nameLocations":["7470:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7470:10:12"},"referencedDeclaration":8581,"src":"7470:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7469:20:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9380,"nodeType":"FunctionDefinition","src":"7581:161:12","nodes":[],"body":{"id":9379,"nodeType":"Block","src":"7675:67:12","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9373,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9360,"src":"7709:3:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7701:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9371,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7701:7:12","typeDescriptions":{}}},"id":9374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7701:12:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":9366,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9358,"src":"7685:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9369,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7690:5:12","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":8568,"src":"7685:10:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":9370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7696:4:12","memberName":"push","nodeType":"MemberAccess","src":"7685:15:12","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":9375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7685:29:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9376,"nodeType":"ExpressionStatement","src":"7685:29:12"},{"expression":{"id":9377,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9358,"src":"7731:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9365,"id":9378,"nodeType":"Return","src":"7724:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"7590:8:12","parameters":{"id":9361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9358,"mutability":"mutable","name":"self","nameLocation":"7618:4:12","nodeType":"VariableDeclaration","scope":9380,"src":"7599:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9357,"nodeType":"UserDefinedTypeName","pathNode":{"id":9356,"name":"StdStorage","nameLocations":["7599:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7599:10:12"},"referencedDeclaration":8581,"src":"7599:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9360,"mutability":"mutable","name":"amt","nameLocation":"7632:3:12","nodeType":"VariableDeclaration","scope":9380,"src":"7624:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9359,"name":"uint256","nodeType":"ElementaryTypeName","src":"7624:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7598:38:12"},"returnParameters":{"id":9365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9364,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9380,"src":"7655:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9363,"nodeType":"UserDefinedTypeName","pathNode":{"id":9362,"name":"StdStorage","nameLocations":["7655:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7655:10:12"},"referencedDeclaration":8581,"src":"7655:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7654:20:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9402,"nodeType":"FunctionDefinition","src":"7748:152:12","nodes":[],"body":{"id":9401,"nodeType":"Block","src":"7842:58:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":9396,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9385,"src":"7868:3:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"expression":{"id":9391,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9383,"src":"7852:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7857:5:12","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":8568,"src":"7852:10:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":9395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7863:4:12","memberName":"push","nodeType":"MemberAccess","src":"7852:15:12","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":9397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7852:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9398,"nodeType":"ExpressionStatement","src":"7852:20:12"},{"expression":{"id":9399,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9383,"src":"7889:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9390,"id":9400,"nodeType":"Return","src":"7882:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"7757:8:12","parameters":{"id":9386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9383,"mutability":"mutable","name":"self","nameLocation":"7785:4:12","nodeType":"VariableDeclaration","scope":9402,"src":"7766:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9382,"nodeType":"UserDefinedTypeName","pathNode":{"id":9381,"name":"StdStorage","nameLocations":["7766:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7766:10:12"},"referencedDeclaration":8581,"src":"7766:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9385,"mutability":"mutable","name":"key","nameLocation":"7799:3:12","nodeType":"VariableDeclaration","scope":9402,"src":"7791:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9384,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7791:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7765:38:12"},"returnParameters":{"id":9390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9389,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9402,"src":"7822:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9388,"nodeType":"UserDefinedTypeName","pathNode":{"id":9387,"name":"StdStorage","nameLocations":["7822:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7822:10:12"},"referencedDeclaration":8581,"src":"7822:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7821:20:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9420,"nodeType":"FunctionDefinition","src":"7906:162:12","nodes":[],"body":{"id":9419,"nodeType":"Block","src":"7998:70:12","nodes":[],"statements":[{"expression":{"id":9415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9411,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9405,"src":"8008:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8013:20:12","memberName":"_enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":8578,"src":"8008:25:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":9414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8036:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"8008:32:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9416,"nodeType":"ExpressionStatement","src":"8008:32:12"},{"expression":{"id":9417,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9405,"src":"8057:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9410,"id":9418,"nodeType":"Return","src":"8050:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"enable_packed_slots","nameLocation":"7915:19:12","parameters":{"id":9406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9405,"mutability":"mutable","name":"self","nameLocation":"7954:4:12","nodeType":"VariableDeclaration","scope":9420,"src":"7935:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9404,"nodeType":"UserDefinedTypeName","pathNode":{"id":9403,"name":"StdStorage","nameLocations":["7935:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7935:10:12"},"referencedDeclaration":8581,"src":"7935:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7934:25:12"},"returnParameters":{"id":9410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9409,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9420,"src":"7978:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9408,"nodeType":"UserDefinedTypeName","pathNode":{"id":9407,"name":"StdStorage","nameLocations":["7978:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"7978:10:12"},"referencedDeclaration":8581,"src":"7978:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"7977:20:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9440,"nodeType":"FunctionDefinition","src":"8074:152:12","nodes":[],"body":{"id":9439,"nodeType":"Block","src":"8168:58:12","nodes":[],"statements":[{"expression":{"id":9435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":9431,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9423,"src":"8178:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8183:6:12","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8572,"src":"8178:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9434,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9425,"src":"8192:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8178:20:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9436,"nodeType":"ExpressionStatement","src":"8178:20:12"},{"expression":{"id":9437,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9423,"src":"8215:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":9430,"id":9438,"nodeType":"Return","src":"8208:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"depth","nameLocation":"8083:5:12","parameters":{"id":9426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9423,"mutability":"mutable","name":"self","nameLocation":"8108:4:12","nodeType":"VariableDeclaration","scope":9440,"src":"8089:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9422,"nodeType":"UserDefinedTypeName","pathNode":{"id":9421,"name":"StdStorage","nameLocations":["8089:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"8089:10:12"},"referencedDeclaration":8581,"src":"8089:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9425,"mutability":"mutable","name":"_depth","nameLocation":"8122:6:12","nodeType":"VariableDeclaration","scope":9440,"src":"8114:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9424,"name":"uint256","nodeType":"ElementaryTypeName","src":"8114:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8088:41:12"},"returnParameters":{"id":9430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9429,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9440,"src":"8148:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9428,"nodeType":"UserDefinedTypeName","pathNode":{"id":9427,"name":"StdStorage","nameLocations":["8148:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"8148:10:12"},"referencedDeclaration":8581,"src":"8148:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8147:20:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9497,"nodeType":"FunctionDefinition","src":"8232:364:12","nodes":[],"body":{"id":9496,"nodeType":"Block","src":"8302:294:12","nodes":[],"statements":[{"assignments":[9450],"declarations":[{"constant":false,"id":9450,"mutability":"mutable","name":"data","nameLocation":"8329:4:12","nodeType":"VariableDeclaration","scope":9496,"src":"8312:21:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData"},"typeName":{"id":9449,"nodeType":"UserDefinedTypeName","pathNode":{"id":9448,"name":"FindData","nameLocations":["8312:8:12"],"nodeType":"IdentifierPath","referencedDeclaration":8556,"src":"8312:8:12"},"referencedDeclaration":8556,"src":"8312:8:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"id":9455,"initialValue":{"arguments":[{"id":9452,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9443,"src":"8341:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"66616c7365","id":9453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8347:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9451,"name":"find","nodeType":"Identifier","overloadedDeclarations":[8941,9242],"referencedDeclaration":9242,"src":"8336:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$8556_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":9454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8336:17:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"8312:41:12"},{"assignments":[9457],"declarations":[{"constant":false,"id":9457,"mutability":"mutable","name":"mask","nameLocation":"8371:4:12","nodeType":"VariableDeclaration","scope":9496,"src":"8363:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9456,"name":"uint256","nodeType":"ElementaryTypeName","src":"8363:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9464,"initialValue":{"arguments":[{"expression":{"id":9459,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9450,"src":"8395:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8400:10:12","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":8551,"src":"8395:15:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":9461,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9450,"src":"8412:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9462,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8417:11:12","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":8553,"src":"8412:16:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9458,"name":"getMaskByOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9898,"src":"8378:16:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":9463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8378:51:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8363:66:12"},{"assignments":[9466],"declarations":[{"constant":false,"id":9466,"mutability":"mutable","name":"value","nameLocation":"8447:5:12","nodeType":"VariableDeclaration","scope":9496,"src":"8439:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9465,"name":"uint256","nodeType":"ElementaryTypeName","src":"8439:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9486,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"expression":{"id":9471,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9443,"src":"8472:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8477:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"8472:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":9475,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9450,"src":"8494:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9476,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8499:4:12","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8549,"src":"8494:9:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9474,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8486:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9473,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8486:7:12","typeDescriptions":{}}},"id":9477,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8486:18:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9469,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"8464:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":9470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8467:4:12","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":14500,"src":"8464:7:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":9478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8464:41:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9468,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8456:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9467,"name":"uint256","nodeType":"ElementaryTypeName","src":"8456:7:12","typeDescriptions":{}}},"id":9479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8456:50:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":9480,"name":"mask","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9457,"src":"8509:4:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8456:57:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9482,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8455:59:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"expression":{"id":9483,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9450,"src":"8518:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8523:11:12","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":8553,"src":"8518:16:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8455:79:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8439:95:12"},{"expression":{"arguments":[{"id":9488,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9443,"src":"8550:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9487,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9887,"src":"8544:5:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":9489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8544:11:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9490,"nodeType":"ExpressionStatement","src":"8544:11:12"},{"expression":{"arguments":[{"id":9493,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9466,"src":"8583:5:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":9491,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8572:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9492,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8576:6:12","memberName":"encode","nodeType":"MemberAccess","src":"8572:10:12","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":9494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8572:17:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":9447,"id":9495,"nodeType":"Return","src":"8565:24:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read","nameLocation":"8241:4:12","parameters":{"id":9444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9443,"mutability":"mutable","name":"self","nameLocation":"8265:4:12","nodeType":"VariableDeclaration","scope":9497,"src":"8246:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9442,"nodeType":"UserDefinedTypeName","pathNode":{"id":9441,"name":"StdStorage","nameLocations":["8246:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"8246:10:12"},"referencedDeclaration":8581,"src":"8246:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8245:25:12"},"returnParameters":{"id":9447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9446,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9497,"src":"8288:12:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9445,"name":"bytes","nodeType":"ElementaryTypeName","src":"8288:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8287:14:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":9516,"nodeType":"FunctionDefinition","src":"8602:131:12","nodes":[],"body":{"id":9515,"nodeType":"Block","src":"8676:57:12","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9508,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9500,"src":"8709:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9507,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9497,"src":"8704:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":9509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8704:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":9511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8717:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9510,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8717:7:12","typeDescriptions":{}}}],"id":9512,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8716:9:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"}],"expression":{"id":9505,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8693:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8697:6:12","memberName":"decode","nodeType":"MemberAccess","src":"8693:10:12","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":9513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8693:33:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":9504,"id":9514,"nodeType":"Return","src":"8686:40:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bytes32","nameLocation":"8611:12:12","parameters":{"id":9501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9500,"mutability":"mutable","name":"self","nameLocation":"8643:4:12","nodeType":"VariableDeclaration","scope":9516,"src":"8624:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9499,"nodeType":"UserDefinedTypeName","pathNode":{"id":9498,"name":"StdStorage","nameLocations":["8624:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"8624:10:12"},"referencedDeclaration":8581,"src":"8624:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8623:25:12"},"returnParameters":{"id":9504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9503,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9516,"src":"8667:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9502,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8667:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8666:9:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9547,"nodeType":"FunctionDefinition","src":"8739:279:12","nodes":[],"body":{"id":9546,"nodeType":"Block","src":"8807:211:12","nodes":[],"statements":[{"assignments":[9525],"declarations":[{"constant":false,"id":9525,"mutability":"mutable","name":"v","nameLocation":"8824:1:12","nodeType":"VariableDeclaration","scope":9546,"src":"8817:8:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9524,"name":"int256","nodeType":"ElementaryTypeName","src":"8817:6:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":9529,"initialValue":{"arguments":[{"id":9527,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9519,"src":"8837:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9526,"name":"read_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9604,"src":"8828:8:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_int256_$","typeString":"function (struct StdStorage storage pointer) returns (int256)"}},"id":9528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8828:14:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"8817:25:12"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":9532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9530,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9525,"src":"8856:1:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":9531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8861:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8856:6:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9535,"nodeType":"IfStatement","src":"8852:24:12","trueBody":{"expression":{"hexValue":"66616c7365","id":9533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8871:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":9523,"id":9534,"nodeType":"Return","src":"8864:12:12"}},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":9538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9536,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9525,"src":"8890:1:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":9537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8895:1:12","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8890:6:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9541,"nodeType":"IfStatement","src":"8886:23:12","trueBody":{"expression":{"hexValue":"74727565","id":9539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8905:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":9523,"id":9540,"nodeType":"Return","src":"8898:11:12"}},{"expression":{"arguments":[{"hexValue":"73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f74206465636f64652e204d616b65207375726520796f75206172652072656164696e67206120626f6f6c2e","id":9543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8926:84:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\""},"value":"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91e3b02d190bb3e407570bfe894974b331ad10ba40f732248485a8a79ed8e4f5","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot decode. Make sure you are reading a bool.\""}],"id":9542,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"8919:6:12","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":9544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8919:92:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9545,"nodeType":"ExpressionStatement","src":"8919:92:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bool","nameLocation":"8748:9:12","parameters":{"id":9520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9519,"mutability":"mutable","name":"self","nameLocation":"8777:4:12","nodeType":"VariableDeclaration","scope":9547,"src":"8758:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9518,"nodeType":"UserDefinedTypeName","pathNode":{"id":9517,"name":"StdStorage","nameLocations":["8758:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"8758:10:12"},"referencedDeclaration":8581,"src":"8758:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"8757:25:12"},"returnParameters":{"id":9523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9522,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9547,"src":"8801:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9521,"name":"bool","nodeType":"ElementaryTypeName","src":"8801:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8800:6:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9566,"nodeType":"FunctionDefinition","src":"9024:131:12","nodes":[],"body":{"id":9565,"nodeType":"Block","src":"9098:57:12","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9558,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9550,"src":"9131:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9557,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9497,"src":"9126:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":9559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9126:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":9561,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9139:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9560,"name":"address","nodeType":"ElementaryTypeName","src":"9139:7:12","typeDescriptions":{}}}],"id":9562,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9138:9:12","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":9555,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9115:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9119:6:12","memberName":"decode","nodeType":"MemberAccess","src":"9115:10:12","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":9563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9115:33:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":9554,"id":9564,"nodeType":"Return","src":"9108:40:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_address","nameLocation":"9033:12:12","parameters":{"id":9551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9550,"mutability":"mutable","name":"self","nameLocation":"9065:4:12","nodeType":"VariableDeclaration","scope":9566,"src":"9046:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9549,"nodeType":"UserDefinedTypeName","pathNode":{"id":9548,"name":"StdStorage","nameLocations":["9046:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"9046:10:12"},"referencedDeclaration":8581,"src":"9046:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9045:25:12"},"returnParameters":{"id":9554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9553,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9566,"src":"9089:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9552,"name":"address","nodeType":"ElementaryTypeName","src":"9089:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9088:9:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9585,"nodeType":"FunctionDefinition","src":"9161:128:12","nodes":[],"body":{"id":9584,"nodeType":"Block","src":"9232:57:12","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9577,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9569,"src":"9265:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9576,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9497,"src":"9260:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":9578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9260:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":9580,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9273:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9579,"name":"uint256","nodeType":"ElementaryTypeName","src":"9273:7:12","typeDescriptions":{}}}],"id":9581,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9272:9:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":9574,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9249:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9575,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9253:6:12","memberName":"decode","nodeType":"MemberAccess","src":"9249:10:12","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":9582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9249:33:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9573,"id":9583,"nodeType":"Return","src":"9242:40:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_uint","nameLocation":"9170:9:12","parameters":{"id":9570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9569,"mutability":"mutable","name":"self","nameLocation":"9199:4:12","nodeType":"VariableDeclaration","scope":9585,"src":"9180:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9568,"nodeType":"UserDefinedTypeName","pathNode":{"id":9567,"name":"StdStorage","nameLocations":["9180:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"9180:10:12"},"referencedDeclaration":8581,"src":"9180:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9179:25:12"},"returnParameters":{"id":9573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9572,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9585,"src":"9223:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9571,"name":"uint256","nodeType":"ElementaryTypeName","src":"9223:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9222:9:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9604,"nodeType":"FunctionDefinition","src":"9295:125:12","nodes":[],"body":{"id":9603,"nodeType":"Block","src":"9364:56:12","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":9596,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9588,"src":"9397:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":9595,"name":"read","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9497,"src":"9392:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (bytes memory)"}},"id":9597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9392:10:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":9599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9405:6:12","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":9598,"name":"int256","nodeType":"ElementaryTypeName","src":"9405:6:12","typeDescriptions":{}}}],"id":9600,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9404:8:12","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"expression":{"id":9593,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9381:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":9594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9385:6:12","memberName":"decode","nodeType":"MemberAccess","src":"9381:10:12","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":9601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9381:32:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":9592,"id":9602,"nodeType":"Return","src":"9374:39:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_int","nameLocation":"9304:8:12","parameters":{"id":9589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9588,"mutability":"mutable","name":"self","nameLocation":"9332:4:12","nodeType":"VariableDeclaration","scope":9604,"src":"9313:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9587,"nodeType":"UserDefinedTypeName","pathNode":{"id":9586,"name":"StdStorage","nameLocations":["9313:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"9313:10:12"},"referencedDeclaration":8581,"src":"9313:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9312:25:12"},"returnParameters":{"id":9592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9591,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9604,"src":"9356:6:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":9590,"name":"int256","nodeType":"ElementaryTypeName","src":"9356:6:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9355:8:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9670,"nodeType":"FunctionDefinition","src":"9426:621:12","nodes":[],"body":{"id":9669,"nodeType":"Block","src":"9503:544:12","nodes":[],"statements":[{"assignments":[9615],"declarations":[{"constant":false,"id":9615,"mutability":"mutable","name":"who","nameLocation":"9521:3:12","nodeType":"VariableDeclaration","scope":9669,"src":"9513:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9614,"name":"address","nodeType":"ElementaryTypeName","src":"9513:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":9618,"initialValue":{"expression":{"id":9616,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9607,"src":"9527:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9617,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9532:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"9527:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"9513:26:12"},{"assignments":[9620],"declarations":[{"constant":false,"id":9620,"mutability":"mutable","name":"field_depth","nameLocation":"9557:11:12","nodeType":"VariableDeclaration","scope":9669,"src":"9549:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9619,"name":"uint256","nodeType":"ElementaryTypeName","src":"9549:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9623,"initialValue":{"expression":{"id":9621,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9607,"src":"9571:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9622,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9576:6:12","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8572,"src":"9571:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9549:33:12"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9624,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"9592:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":9626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9595:21:12","memberName":"startMappingRecording","nodeType":"MemberAccess","referencedDeclaration":14556,"src":"9592:24:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":9627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9592:26:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9628,"nodeType":"ExpressionStatement","src":"9592:26:12"},{"assignments":[9630],"declarations":[{"constant":false,"id":9630,"mutability":"mutable","name":"child","nameLocation":"9636:5:12","nodeType":"VariableDeclaration","scope":9669,"src":"9628:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9629,"name":"uint256","nodeType":"ElementaryTypeName","src":"9628:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9638,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":9632,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9607,"src":"9649:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":9633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9655:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9631,"name":"find","nodeType":"Identifier","overloadedDeclarations":[8941,9242],"referencedDeclaration":9242,"src":"9644:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$8556_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":9634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9644:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9635,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9661:4:12","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8549,"src":"9644:21:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":9636,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9620,"src":"9668:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9644:35:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9628:51:12"},{"assignments":[9640,9642,9644],"declarations":[{"constant":false,"id":9640,"mutability":"mutable","name":"found","nameLocation":"9695:5:12","nodeType":"VariableDeclaration","scope":9669,"src":"9690:10:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9639,"name":"bool","nodeType":"ElementaryTypeName","src":"9690:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":9642,"mutability":"mutable","name":"key","nameLocation":"9710:3:12","nodeType":"VariableDeclaration","scope":9669,"src":"9702:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9641,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9702:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9644,"mutability":"mutable","name":"parent_slot","nameLocation":"9723:11:12","nodeType":"VariableDeclaration","scope":9669,"src":"9715:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9643,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9715:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9653,"initialValue":{"arguments":[{"id":9647,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9615,"src":"9766:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":9650,"name":"child","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9630,"src":"9779:5:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9771:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9648,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9771:7:12","typeDescriptions":{}}},"id":9651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9771:14:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9645,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"9738:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":9646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9741:24:12","memberName":"getMappingKeyAndParentOf","nodeType":"MemberAccess","referencedDeclaration":14397,"src":"9738:27:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bool,bytes32,bytes32)"}},"id":9652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9738:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bool,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"9689:97:12"},{"condition":{"id":9655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9800:6:12","subExpression":{"id":9654,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9640,"src":"9801:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9661,"nodeType":"IfStatement","src":"9796:201:12","trueBody":{"id":9660,"nodeType":"Block","src":"9808:189:12","statements":[{"expression":{"arguments":[{"hexValue":"73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f742066696e6420706172656e742e204d616b65207375726520796f752067697665206120736c6f7420616e642073746172744d617070696e675265636f7264696e67282920686173206265656e2063616c6c65642e","id":9657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9846:126:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_05c02dd7643b4a3b621a87327400688a0e915a721e1557091f0636a8183236ef","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\""},"value":"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_05c02dd7643b4a3b621a87327400688a0e915a721e1557091f0636a8183236ef","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\""}],"id":9656,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"9822:6:12","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":9658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9822:164:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9659,"nodeType":"ExpressionStatement","src":"9822:164:12"}]}},{"expression":{"components":[{"arguments":[{"id":9664,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9644,"src":"10022:11:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10014:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9662,"name":"uint256","nodeType":"ElementaryTypeName","src":"10014:7:12","typeDescriptions":{}}},"id":9665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10014:20:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9666,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9642,"src":"10036:3:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":9667,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10013:27:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$","typeString":"tuple(uint256,bytes32)"}},"functionReturnParameters":9613,"id":9668,"nodeType":"Return","src":"10006:34:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"parent","nameLocation":"9435:6:12","parameters":{"id":9608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9607,"mutability":"mutable","name":"self","nameLocation":"9461:4:12","nodeType":"VariableDeclaration","scope":9670,"src":"9442:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9606,"nodeType":"UserDefinedTypeName","pathNode":{"id":9605,"name":"StdStorage","nameLocations":["9442:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"9442:10:12"},"referencedDeclaration":8581,"src":"9442:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"9441:25:12"},"returnParameters":{"id":9613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9610,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9670,"src":"9485:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9609,"name":"uint256","nodeType":"ElementaryTypeName","src":"9485:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9612,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9670,"src":"9494:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9611,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9494:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9484:18:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9759,"nodeType":"FunctionDefinition","src":"10053:813:12","nodes":[],"body":{"id":9758,"nodeType":"Block","src":"10119:747:12","nodes":[],"statements":[{"assignments":[9679],"declarations":[{"constant":false,"id":9679,"mutability":"mutable","name":"who","nameLocation":"10137:3:12","nodeType":"VariableDeclaration","scope":9758,"src":"10129:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9678,"name":"address","nodeType":"ElementaryTypeName","src":"10129:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":9682,"initialValue":{"expression":{"id":9680,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9673,"src":"10143:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9681,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10148:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"10143:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10129:26:12"},{"assignments":[9684],"declarations":[{"constant":false,"id":9684,"mutability":"mutable","name":"field_depth","nameLocation":"10173:11:12","nodeType":"VariableDeclaration","scope":9758,"src":"10165:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9683,"name":"uint256","nodeType":"ElementaryTypeName","src":"10165:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9687,"initialValue":{"expression":{"id":9685,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9673,"src":"10187:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9686,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10192:6:12","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8572,"src":"10187:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10165:33:12"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":9688,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"10208:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":9690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10211:21:12","memberName":"startMappingRecording","nodeType":"MemberAccess","referencedDeclaration":14556,"src":"10208:24:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":9691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10208:26:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9692,"nodeType":"ExpressionStatement","src":"10208:26:12"},{"assignments":[9694],"declarations":[{"constant":false,"id":9694,"mutability":"mutable","name":"child","nameLocation":"10252:5:12","nodeType":"VariableDeclaration","scope":9758,"src":"10244:13:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9693,"name":"uint256","nodeType":"ElementaryTypeName","src":"10244:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9702,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":9696,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9673,"src":"10265:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":9697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10271:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9695,"name":"find","nodeType":"Identifier","overloadedDeclarations":[8941,9242],"referencedDeclaration":9242,"src":"10260:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$8556_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":9698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10260:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9699,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10277:4:12","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8549,"src":"10260:21:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":9700,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9684,"src":"10284:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10260:35:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10244:51:12"},{"assignments":[9704],"declarations":[{"constant":false,"id":9704,"mutability":"mutable","name":"found","nameLocation":"10310:5:12","nodeType":"VariableDeclaration","scope":9758,"src":"10305:10:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9703,"name":"bool","nodeType":"ElementaryTypeName","src":"10305:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":9705,"nodeType":"VariableDeclarationStatement","src":"10305:10:12"},{"assignments":[9707],"declarations":[{"constant":false,"id":9707,"mutability":"mutable","name":"root_slot","nameLocation":"10333:9:12","nodeType":"VariableDeclaration","scope":9758,"src":"10325:17:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10325:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9708,"nodeType":"VariableDeclarationStatement","src":"10325:17:12"},{"assignments":[9710],"declarations":[{"constant":false,"id":9710,"mutability":"mutable","name":"parent_slot","nameLocation":"10360:11:12","nodeType":"VariableDeclaration","scope":9758,"src":"10352:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9709,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10352:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9711,"nodeType":"VariableDeclarationStatement","src":"10352:19:12"},{"expression":{"id":9723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":9712,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9704,"src":"10382:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},null,{"id":9713,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9710,"src":"10390:11:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":9714,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"10381:21:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$__$_t_bytes32_$","typeString":"tuple(bool,,bytes32)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9717,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9679,"src":"10433:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":9720,"name":"child","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9694,"src":"10446:5:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10438:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9718,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10438:7:12","typeDescriptions":{}}},"id":9721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10438:14:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9715,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"10405:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":9716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10408:24:12","memberName":"getMappingKeyAndParentOf","nodeType":"MemberAccess","referencedDeclaration":14397,"src":"10405:27:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bool,bytes32,bytes32)"}},"id":9722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10405:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bool,bytes32,bytes32)"}},"src":"10381:72:12","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9724,"nodeType":"ExpressionStatement","src":"10381:72:12"},{"condition":{"id":9726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10467:6:12","subExpression":{"id":9725,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9704,"src":"10468:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9732,"nodeType":"IfStatement","src":"10463:201:12","trueBody":{"id":9731,"nodeType":"Block","src":"10475:189:12","statements":[{"expression":{"arguments":[{"hexValue":"73746453746f7261676520726561645f626f6f6c2853746453746f72616765293a2043616e6e6f742066696e6420706172656e742e204d616b65207375726520796f752067697665206120736c6f7420616e642073746172744d617070696e675265636f7264696e67282920686173206265656e2063616c6c65642e","id":9728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10513:126:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_05c02dd7643b4a3b621a87327400688a0e915a721e1557091f0636a8183236ef","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\""},"value":"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_05c02dd7643b4a3b621a87327400688a0e915a721e1557091f0636a8183236ef","typeString":"literal_string \"stdStorage read_bool(StdStorage): Cannot find parent. Make sure you give a slot and startMappingRecording() has been called.\""}],"id":9727,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"10489:6:12","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":9729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10489:164:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9730,"nodeType":"ExpressionStatement","src":"10489:164:12"}]}},{"body":{"id":9751,"nodeType":"Block","src":"10687:138:12","statements":[{"expression":{"id":9736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9734,"name":"root_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9707,"src":"10701:9:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":9735,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9710,"src":"10713:11:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"10701:23:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":9737,"nodeType":"ExpressionStatement","src":"10701:23:12"},{"expression":{"id":9749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":9738,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9704,"src":"10739:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},null,{"id":9739,"name":"parent_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9710,"src":"10747:11:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":9740,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"10738:21:12","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$__$_t_bytes32_$","typeString":"tuple(bool,,bytes32)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":9743,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9679,"src":"10790:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":9746,"name":"root_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9707,"src":"10803:9:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9745,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10795:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10795:7:12","typeDescriptions":{}}},"id":9747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10795:18:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":9741,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8614,"src":"10762:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":9742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10765:24:12","memberName":"getMappingKeyAndParentOf","nodeType":"MemberAccess","referencedDeclaration":14397,"src":"10762:27:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bool,bytes32,bytes32)"}},"id":9748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10762:52:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(bool,bytes32,bytes32)"}},"src":"10738:76:12","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9750,"nodeType":"ExpressionStatement","src":"10738:76:12"}]},"condition":{"id":9733,"name":"found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9704,"src":"10680:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9752,"nodeType":"WhileStatement","src":"10673:152:12"},{"expression":{"arguments":[{"id":9755,"name":"root_slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9707,"src":"10849:9:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9754,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10841:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9753,"name":"uint256","nodeType":"ElementaryTypeName","src":"10841:7:12","typeDescriptions":{}}},"id":9756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10841:18:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9677,"id":9757,"nodeType":"Return","src":"10834:25:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"root","nameLocation":"10062:4:12","parameters":{"id":9674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9673,"mutability":"mutable","name":"self","nameLocation":"10086:4:12","nodeType":"VariableDeclaration","scope":9759,"src":"10067:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9672,"nodeType":"UserDefinedTypeName","pathNode":{"id":9671,"name":"StdStorage","nameLocations":["10067:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"10067:10:12"},"referencedDeclaration":8581,"src":"10067:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"10066:25:12"},"returnParameters":{"id":9677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9676,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9759,"src":"10110:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9675,"name":"uint256","nodeType":"ElementaryTypeName","src":"10110:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10109:9:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9815,"nodeType":"FunctionDefinition","src":"10872:304:12","nodes":[],"body":{"id":9814,"nodeType":"Block","src":"10959:217:12","nodes":[],"statements":[{"assignments":[9769],"declarations":[{"constant":false,"id":9769,"mutability":"mutable","name":"out","nameLocation":"10977:3:12","nodeType":"VariableDeclaration","scope":9814,"src":"10969:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10969:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9770,"nodeType":"VariableDeclarationStatement","src":"10969:11:12"},{"assignments":[9772],"declarations":[{"constant":false,"id":9772,"mutability":"mutable","name":"max","nameLocation":"10999:3:12","nodeType":"VariableDeclaration","scope":9814,"src":"10991:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9771,"name":"uint256","nodeType":"ElementaryTypeName","src":"10991:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9781,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9773,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9761,"src":"11005:1:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11007:6:12","memberName":"length","nodeType":"MemberAccess","src":"11005:8:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"3332","id":9775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11016:2:12","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11005:13:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":9778,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9761,"src":"11026:1:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11028:6:12","memberName":"length","nodeType":"MemberAccess","src":"11026:8:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11005:29:12","trueExpression":{"hexValue":"3332","id":9777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11021:2:12","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10991:43:12"},{"body":{"id":9810,"nodeType":"Block","src":"11078:72:12","statements":[{"expression":{"id":9808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":9792,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9769,"src":"11092:3:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":9807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":9801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":9795,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9761,"src":"11107:1:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":9799,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9796,"name":"offset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9763,"src":"11109:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":9797,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9783,"src":"11118:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11109:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11107:13:12","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646","id":9800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11123:4:12","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xFF"},"src":"11107:20:12","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":9794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11099:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11099:7:12","typeDescriptions":{}}},"id":9802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11099:29:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9803,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9783,"src":"11133:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"38","id":9804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11137:1:12","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"11133:5:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9806,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11132:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11099:40:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11092:47:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":9809,"nodeType":"ExpressionStatement","src":"11092:47:12"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9786,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9783,"src":"11064:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":9787,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9772,"src":"11068:3:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11064:7:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9811,"initializationExpression":{"assignments":[9783],"declarations":[{"constant":false,"id":9783,"mutability":"mutable","name":"i","nameLocation":"11057:1:12","nodeType":"VariableDeclaration","scope":9811,"src":"11049:9:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9782,"name":"uint256","nodeType":"ElementaryTypeName","src":"11049:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9785,"initialValue":{"hexValue":"30","id":9784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11061:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11049:13:12"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":9790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11073:3:12","subExpression":{"id":9789,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9783,"src":"11073:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9791,"nodeType":"ExpressionStatement","src":"11073:3:12"},"nodeType":"ForStatement","src":"11044:106:12"},{"expression":{"id":9812,"name":"out","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9769,"src":"11166:3:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":9767,"id":9813,"nodeType":"Return","src":"11159:10:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bytesToBytes32","nameLocation":"10881:14:12","parameters":{"id":9764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9761,"mutability":"mutable","name":"b","nameLocation":"10909:1:12","nodeType":"VariableDeclaration","scope":9815,"src":"10896:14:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9760,"name":"bytes","nodeType":"ElementaryTypeName","src":"10896:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":9763,"mutability":"mutable","name":"offset","nameLocation":"10920:6:12","nodeType":"VariableDeclaration","scope":9815,"src":"10912:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9762,"name":"uint256","nodeType":"ElementaryTypeName","src":"10912:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10895:32:12"},"returnParameters":{"id":9767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9766,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9815,"src":"10950:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9765,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10950:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10949:9:12"},"scope":9933,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":9856,"nodeType":"FunctionDefinition","src":"11182:393:12","nodes":[],"body":{"id":9855,"nodeType":"Block","src":"11255:320:12","nodes":[],"statements":[{"assignments":[9824],"declarations":[{"constant":false,"id":9824,"mutability":"mutable","name":"result","nameLocation":"11278:6:12","nodeType":"VariableDeclaration","scope":9855,"src":"11265:19:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9823,"name":"bytes","nodeType":"ElementaryTypeName","src":"11265:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":9832,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":9827,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9818,"src":"11297:1:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11299:6:12","memberName":"length","nodeType":"MemberAccess","src":"11297:8:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3332","id":9829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11308:2:12","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"11297:13:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9826,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11287:9:12","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":9825,"name":"bytes","nodeType":"ElementaryTypeName","src":"11291:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":9831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11287:24:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"11265:46:12"},{"body":{"id":9851,"nodeType":"Block","src":"11360:185:12","statements":[{"assignments":[9845],"declarations":[{"constant":false,"id":9845,"mutability":"mutable","name":"k","nameLocation":"11382:1:12","nodeType":"VariableDeclaration","scope":9851,"src":"11374:9:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11374:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":9849,"initialValue":{"baseExpression":{"id":9846,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9818,"src":"11386:1:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9848,"indexExpression":{"id":9847,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9834,"src":"11388:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11386:4:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"11374:16:12"},{"AST":{"nativeSrc":"11460:75:12","nodeType":"YulBlock","src":"11460:75:12","statements":[{"expression":{"arguments":[{"arguments":[{"name":"result","nativeSrc":"11489:6:12","nodeType":"YulIdentifier","src":"11489:6:12"},{"arguments":[{"kind":"number","nativeSrc":"11501:2:12","nodeType":"YulLiteral","src":"11501:2:12","type":"","value":"32"},{"arguments":[{"kind":"number","nativeSrc":"11509:2:12","nodeType":"YulLiteral","src":"11509:2:12","type":"","value":"32"},{"name":"i","nativeSrc":"11513:1:12","nodeType":"YulIdentifier","src":"11513:1:12"}],"functionName":{"name":"mul","nativeSrc":"11505:3:12","nodeType":"YulIdentifier","src":"11505:3:12"},"nativeSrc":"11505:10:12","nodeType":"YulFunctionCall","src":"11505:10:12"}],"functionName":{"name":"add","nativeSrc":"11497:3:12","nodeType":"YulIdentifier","src":"11497:3:12"},"nativeSrc":"11497:19:12","nodeType":"YulFunctionCall","src":"11497:19:12"}],"functionName":{"name":"add","nativeSrc":"11485:3:12","nodeType":"YulIdentifier","src":"11485:3:12"},"nativeSrc":"11485:32:12","nodeType":"YulFunctionCall","src":"11485:32:12"},{"name":"k","nativeSrc":"11519:1:12","nodeType":"YulIdentifier","src":"11519:1:12"}],"functionName":{"name":"mstore","nativeSrc":"11478:6:12","nodeType":"YulIdentifier","src":"11478:6:12"},"nativeSrc":"11478:43:12","nodeType":"YulFunctionCall","src":"11478:43:12"},"nativeSrc":"11478:43:12","nodeType":"YulExpressionStatement","src":"11478:43:12"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":9834,"isOffset":false,"isSlot":false,"src":"11513:1:12","valueSize":1},{"declaration":9845,"isOffset":false,"isSlot":false,"src":"11519:1:12","valueSize":1},{"declaration":9824,"isOffset":false,"isSlot":false,"src":"11489:6:12","valueSize":1}],"id":9850,"nodeType":"InlineAssembly","src":"11451:84:12"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9837,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9834,"src":"11341:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":9838,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9818,"src":"11345:1:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":9839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11347:6:12","memberName":"length","nodeType":"MemberAccess","src":"11345:8:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11341:12:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":9852,"initializationExpression":{"assignments":[9834],"declarations":[{"constant":false,"id":9834,"mutability":"mutable","name":"i","nameLocation":"11334:1:12","nodeType":"VariableDeclaration","scope":9852,"src":"11326:9:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9833,"name":"uint256","nodeType":"ElementaryTypeName","src":"11326:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":9836,"initialValue":{"hexValue":"30","id":9835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11338:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11326:13:12"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":9842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11355:3:12","subExpression":{"id":9841,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9834,"src":"11355:1:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":9843,"nodeType":"ExpressionStatement","src":"11355:3:12"},"nodeType":"ForStatement","src":"11321:224:12"},{"expression":{"id":9853,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9824,"src":"11562:6:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":9822,"id":9854,"nodeType":"Return","src":"11555:13:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"flatten","nameLocation":"11191:7:12","parameters":{"id":9819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9818,"mutability":"mutable","name":"b","nameLocation":"11216:1:12","nodeType":"VariableDeclaration","scope":9856,"src":"11199:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":9816,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11199:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":9817,"nodeType":"ArrayTypeName","src":"11199:9:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"11198:20:12"},"returnParameters":{"id":9822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9821,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9856,"src":"11241:12:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":9820,"name":"bytes","nodeType":"ElementaryTypeName","src":"11241:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11240:14:12"},"scope":9933,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":9887,"nodeType":"FunctionDefinition","src":"11581:239:12","nodes":[],"body":{"id":9886,"nodeType":"Block","src":"11630:190:12","nodes":[],"statements":[{"expression":{"id":9864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11640:19:12","subExpression":{"expression":{"id":9862,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9859,"src":"11647:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9863,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11652:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"11647:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9865,"nodeType":"ExpressionStatement","src":"11640:19:12"},{"expression":{"id":9868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11669:16:12","subExpression":{"expression":{"id":9866,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9859,"src":"11676:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9867,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11681:4:12","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":8570,"src":"11676:9:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9869,"nodeType":"ExpressionStatement","src":"11669:16:12"},{"expression":{"id":9872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11695:17:12","subExpression":{"expression":{"id":9870,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9859,"src":"11702:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9871,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11707:5:12","memberName":"_keys","nodeType":"MemberAccess","referencedDeclaration":8568,"src":"11702:10:12","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9873,"nodeType":"ExpressionStatement","src":"11695:17:12"},{"expression":{"id":9876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11722:18:12","subExpression":{"expression":{"id":9874,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9859,"src":"11729:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9875,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11734:6:12","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8572,"src":"11729:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9877,"nodeType":"ExpressionStatement","src":"11722:18:12"},{"expression":{"id":9880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11750:32:12","subExpression":{"expression":{"id":9878,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9859,"src":"11757:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9879,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11762:20:12","memberName":"_enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":8578,"src":"11757:25:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9881,"nodeType":"ExpressionStatement","src":"11750:32:12"},{"expression":{"id":9884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11792:21:12","subExpression":{"expression":{"id":9882,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9859,"src":"11799:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":9883,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11804:9:12","memberName":"_calldata","nodeType":"MemberAccess","referencedDeclaration":8580,"src":"11799:14:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage","typeString":"bytes storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":9885,"nodeType":"ExpressionStatement","src":"11792:21:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"clear","nameLocation":"11590:5:12","parameters":{"id":9860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9859,"mutability":"mutable","name":"self","nameLocation":"11615:4:12","nodeType":"VariableDeclaration","scope":9887,"src":"11596:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9858,"nodeType":"UserDefinedTypeName","pathNode":{"id":9857,"name":"StdStorage","nameLocations":["11596:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"11596:10:12"},"referencedDeclaration":8581,"src":"11596:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"11595:25:12"},"returnParameters":{"id":9861,"nodeType":"ParameterList","parameters":[],"src":"11630:0:12"},"scope":9933,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9898,"nodeType":"FunctionDefinition","src":"12013:376:12","nodes":[],"body":{"id":9897,"nodeType":"Block","src":"12117:272:12","nodes":[],"statements":[{"AST":{"nativeSrc":"12279:104:12","nodeType":"YulBlock","src":"12279:104:12","statements":[{"nativeSrc":"12293:80:12","nodeType":"YulAssignment","src":"12293:80:12","value":{"arguments":[{"name":"offsetRight","nativeSrc":"12305:11:12","nodeType":"YulIdentifier","src":"12305:11:12"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"12330:3:12","nodeType":"YulLiteral","src":"12330:3:12","type":"","value":"256"},{"arguments":[{"name":"offsetRight","nativeSrc":"12339:11:12","nodeType":"YulIdentifier","src":"12339:11:12"},{"name":"offsetLeft","nativeSrc":"12352:10:12","nodeType":"YulIdentifier","src":"12352:10:12"}],"functionName":{"name":"add","nativeSrc":"12335:3:12","nodeType":"YulIdentifier","src":"12335:3:12"},"nativeSrc":"12335:28:12","nodeType":"YulFunctionCall","src":"12335:28:12"}],"functionName":{"name":"sub","nativeSrc":"12326:3:12","nodeType":"YulIdentifier","src":"12326:3:12"},"nativeSrc":"12326:38:12","nodeType":"YulFunctionCall","src":"12326:38:12"},{"kind":"number","nativeSrc":"12366:1:12","nodeType":"YulLiteral","src":"12366:1:12","type":"","value":"1"}],"functionName":{"name":"shl","nativeSrc":"12322:3:12","nodeType":"YulIdentifier","src":"12322:3:12"},"nativeSrc":"12322:46:12","nodeType":"YulFunctionCall","src":"12322:46:12"},{"kind":"number","nativeSrc":"12370:1:12","nodeType":"YulLiteral","src":"12370:1:12","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"12318:3:12","nodeType":"YulIdentifier","src":"12318:3:12"},"nativeSrc":"12318:54:12","nodeType":"YulFunctionCall","src":"12318:54:12"}],"functionName":{"name":"shl","nativeSrc":"12301:3:12","nodeType":"YulIdentifier","src":"12301:3:12"},"nativeSrc":"12301:72:12","nodeType":"YulFunctionCall","src":"12301:72:12"},"variableNames":[{"name":"mask","nativeSrc":"12293:4:12","nodeType":"YulIdentifier","src":"12293:4:12"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":9894,"isOffset":false,"isSlot":false,"src":"12293:4:12","valueSize":1},{"declaration":9889,"isOffset":false,"isSlot":false,"src":"12352:10:12","valueSize":1},{"declaration":9891,"isOffset":false,"isSlot":false,"src":"12305:11:12","valueSize":1},{"declaration":9891,"isOffset":false,"isSlot":false,"src":"12339:11:12","valueSize":1}],"id":9896,"nodeType":"InlineAssembly","src":"12270:113:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getMaskByOffsets","nameLocation":"12022:16:12","parameters":{"id":9892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9889,"mutability":"mutable","name":"offsetLeft","nameLocation":"12047:10:12","nodeType":"VariableDeclaration","scope":9898,"src":"12039:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9888,"name":"uint256","nodeType":"ElementaryTypeName","src":"12039:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9891,"mutability":"mutable","name":"offsetRight","nameLocation":"12067:11:12","nodeType":"VariableDeclaration","scope":9898,"src":"12059:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9890,"name":"uint256","nodeType":"ElementaryTypeName","src":"12059:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12038:41:12"},"returnParameters":{"id":9895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9894,"mutability":"mutable","name":"mask","nameLocation":"12111:4:12","nodeType":"VariableDeclaration","scope":9898,"src":"12103:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9893,"name":"uint256","nodeType":"ElementaryTypeName","src":"12103:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12102:14:12"},"scope":9933,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9932,"nodeType":"FunctionDefinition","src":"12451:300:12","nodes":[],"body":{"id":9931,"nodeType":"Block","src":"12626:125:12","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":9915,"name":"curValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9900,"src":"12660:8:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9914,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12652:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9913,"name":"uint256","nodeType":"ElementaryTypeName","src":"12652:7:12","typeDescriptions":{}}},"id":9916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12652:17:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":9921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"12672:42:12","subExpression":{"arguments":[{"id":9918,"name":"offsetLeft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9904,"src":"12690:10:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":9919,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9906,"src":"12702:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9917,"name":"getMaskByOffsets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9898,"src":"12673:16:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":9920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12673:41:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12652:62:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9923,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12651:64:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":9926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":9924,"name":"varValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9902,"src":"12719:8:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":9925,"name":"offsetRight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9906,"src":"12731:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12719:23:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":9927,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12718:25:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12651:92:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9912,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12643:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":9911,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12643:7:12","typeDescriptions":{}}},"id":9929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12643:101:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":9910,"id":9930,"nodeType":"Return","src":"12636:108:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getUpdatedSlotValue","nameLocation":"12460:19:12","parameters":{"id":9907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9900,"mutability":"mutable","name":"curValue","nameLocation":"12488:8:12","nodeType":"VariableDeclaration","scope":9932,"src":"12480:16:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9899,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12480:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":9902,"mutability":"mutable","name":"varValue","nameLocation":"12506:8:12","nodeType":"VariableDeclaration","scope":9932,"src":"12498:16:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9901,"name":"uint256","nodeType":"ElementaryTypeName","src":"12498:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9904,"mutability":"mutable","name":"offsetLeft","nameLocation":"12524:10:12","nodeType":"VariableDeclaration","scope":9932,"src":"12516:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9903,"name":"uint256","nodeType":"ElementaryTypeName","src":"12516:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":9906,"mutability":"mutable","name":"offsetRight","nameLocation":"12544:11:12","nodeType":"VariableDeclaration","scope":9932,"src":"12536:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9905,"name":"uint256","nodeType":"ElementaryTypeName","src":"12536:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12479:77:12"},"returnParameters":{"id":9910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9909,"mutability":"mutable","name":"newValue","nameLocation":"12612:8:12","nodeType":"VariableDeclaration","scope":9932,"src":"12604:16:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":9908,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12604:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12603:18:12"},"scope":9933,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdStorageSafe","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[9933],"name":"stdStorageSafe","nameLocation":"458:14:12","scope":10539,"usedErrors":[],"usedEvents":[8591,8597]},{"id":10538,"nodeType":"ContractDefinition","src":"12755:5081:12","nodes":[{"id":9950,"nodeType":"VariableDeclaration","src":"12780:84:12","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"12800:2:12","scope":10538,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"},"typeName":{"id":9935,"nodeType":"UserDefinedTypeName","pathNode":{"id":9934,"name":"Vm","nameLocations":["12780:2:12"],"nodeType":"IdentifierPath","referencedDeclaration":18679,"src":"12780:2:12"},"referencedDeclaration":18679,"src":"12780:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":9944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12842:17:12","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":9943,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"12832:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":9945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12832:28:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":9942,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12824:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":9941,"name":"uint256","nodeType":"ElementaryTypeName","src":"12824:7:12","typeDescriptions":{}}},"id":9946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12824:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":9940,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12816:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":9939,"name":"uint160","nodeType":"ElementaryTypeName","src":"12816:7:12","typeDescriptions":{}}},"id":9947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12816:46:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":9938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12808:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":9937,"name":"address","nodeType":"ElementaryTypeName","src":"12808:7:12","typeDescriptions":{}}},"id":9948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12808:55:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":9936,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"12805:2:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$18679_$","typeString":"type(contract Vm)"}},"id":9949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12805:59:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"visibility":"private"},{"id":9963,"nodeType":"FunctionDefinition","src":"12871:118:12","nodes":[],"body":{"id":9962,"nodeType":"Block","src":"12938:51:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":9959,"name":"sigStr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9952,"src":"12975:6:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":9957,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"12955:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":9958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12970:4:12","memberName":"sigs","nodeType":"MemberAccess","referencedDeclaration":8635,"src":"12955:19:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":9960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12955:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":9956,"id":9961,"nodeType":"Return","src":"12948:34:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sigs","nameLocation":"12880:4:12","parameters":{"id":9953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9952,"mutability":"mutable","name":"sigStr","nameLocation":"12899:6:12","nodeType":"VariableDeclaration","scope":9963,"src":"12885:20:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":9951,"name":"string","nodeType":"ElementaryTypeName","src":"12885:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12884:22:12"},"returnParameters":{"id":9956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9955,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9963,"src":"12930:6:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":9954,"name":"bytes4","nodeType":"ElementaryTypeName","src":"12930:6:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"12929:8:12"},"scope":10538,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":9977,"nodeType":"FunctionDefinition","src":"12995:106:12","nodes":[],"body":{"id":9976,"nodeType":"Block","src":"13061:40:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":9972,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9966,"src":"13083:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"74727565","id":9973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13089:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":9971,"name":"find","nodeType":"Identifier","overloadedDeclarations":[9977,9995],"referencedDeclaration":9995,"src":"13078:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bool_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bool) returns (uint256)"}},"id":9974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13078:16:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9970,"id":9975,"nodeType":"Return","src":"13071:23:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"13004:4:12","parameters":{"id":9967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9966,"mutability":"mutable","name":"self","nameLocation":"13028:4:12","nodeType":"VariableDeclaration","scope":9977,"src":"13009:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9965,"nodeType":"UserDefinedTypeName","pathNode":{"id":9964,"name":"StdStorage","nameLocations":["13009:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13009:10:12"},"referencedDeclaration":8581,"src":"13009:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13008:25:12"},"returnParameters":{"id":9970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9969,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9977,"src":"13052:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9968,"name":"uint256","nodeType":"ElementaryTypeName","src":"13052:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13051:9:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":9995,"nodeType":"FunctionDefinition","src":"13107:141:12","nodes":[],"body":{"id":9994,"nodeType":"Block","src":"13186:62:12","nodes":[],"statements":[{"expression":{"expression":{"arguments":[{"id":9989,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9980,"src":"13223:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":9990,"name":"_clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9982,"src":"13229:6:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":9987,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"13203:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":9988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13218:4:12","memberName":"find","nodeType":"MemberAccess","referencedDeclaration":9242,"src":"13203:19:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bool_$returns$_t_struct$_FindData_$8556_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bool) returns (struct FindData storage pointer)"}},"id":9991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13203:33:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":9992,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13237:4:12","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8549,"src":"13203:38:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":9986,"id":9993,"nodeType":"Return","src":"13196:45:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"find","nameLocation":"13116:4:12","parameters":{"id":9983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9980,"mutability":"mutable","name":"self","nameLocation":"13140:4:12","nodeType":"VariableDeclaration","scope":9995,"src":"13121:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9979,"nodeType":"UserDefinedTypeName","pathNode":{"id":9978,"name":"StdStorage","nameLocations":["13121:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13121:10:12"},"referencedDeclaration":8581,"src":"13121:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":9982,"mutability":"mutable","name":"_clear","nameLocation":"13151:6:12","nodeType":"VariableDeclaration","scope":9995,"src":"13146:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":9981,"name":"bool","nodeType":"ElementaryTypeName","src":"13146:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13120:38:12"},"returnParameters":{"id":9986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9985,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":9995,"src":"13177:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":9984,"name":"uint256","nodeType":"ElementaryTypeName","src":"13177:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13176:9:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10013,"nodeType":"FunctionDefinition","src":"13254:156:12","nodes":[],"body":{"id":10012,"nodeType":"Block","src":"13350:60:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10008,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9998,"src":"13389:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":10009,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10000,"src":"13395:7:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10006,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"13367:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13382:6:12","memberName":"target","nodeType":"MemberAccess","referencedDeclaration":9262,"src":"13367:21:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":10010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13367:36:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":10005,"id":10011,"nodeType":"Return","src":"13360:43:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"target","nameLocation":"13263:6:12","parameters":{"id":10001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":9998,"mutability":"mutable","name":"self","nameLocation":"13289:4:12","nodeType":"VariableDeclaration","scope":10013,"src":"13270:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":9997,"nodeType":"UserDefinedTypeName","pathNode":{"id":9996,"name":"StdStorage","nameLocations":["13270:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13270:10:12"},"referencedDeclaration":8581,"src":"13270:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10000,"mutability":"mutable","name":"_target","nameLocation":"13303:7:12","nodeType":"VariableDeclaration","scope":10013,"src":"13295:15:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":9999,"name":"address","nodeType":"ElementaryTypeName","src":"13295:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13269:42:12"},"returnParameters":{"id":10005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10013,"src":"13330:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10003,"nodeType":"UserDefinedTypeName","pathNode":{"id":10002,"name":"StdStorage","nameLocations":["13330:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13330:10:12"},"referencedDeclaration":8581,"src":"13330:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13329:20:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10031,"nodeType":"FunctionDefinition","src":"13416:143:12","nodes":[],"body":{"id":10030,"nodeType":"Block","src":"13505:54:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10026,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10016,"src":"13541:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":10027,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10018,"src":"13547:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":10024,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"13522:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13537:3:12","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":9282,"src":"13522:18:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes4_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes4) returns (struct StdStorage storage pointer)"}},"id":10028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13522:30:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":10023,"id":10029,"nodeType":"Return","src":"13515:37:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"13425:3:12","parameters":{"id":10019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10016,"mutability":"mutable","name":"self","nameLocation":"13448:4:12","nodeType":"VariableDeclaration","scope":10031,"src":"13429:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10015,"nodeType":"UserDefinedTypeName","pathNode":{"id":10014,"name":"StdStorage","nameLocations":["13429:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13429:10:12"},"referencedDeclaration":8581,"src":"13429:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10018,"mutability":"mutable","name":"_sig","nameLocation":"13461:4:12","nodeType":"VariableDeclaration","scope":10031,"src":"13454:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":10017,"name":"bytes4","nodeType":"ElementaryTypeName","src":"13454:6:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"13428:38:12"},"returnParameters":{"id":10023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10022,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10031,"src":"13485:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10021,"nodeType":"UserDefinedTypeName","pathNode":{"id":10020,"name":"StdStorage","nameLocations":["13485:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13485:10:12"},"referencedDeclaration":8581,"src":"13485:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13484:20:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10049,"nodeType":"FunctionDefinition","src":"13565:150:12","nodes":[],"body":{"id":10048,"nodeType":"Block","src":"13661:54:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10044,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10034,"src":"13697:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":10045,"name":"_sig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10036,"src":"13703:4:12","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10042,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"13678:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13693:3:12","memberName":"sig","nodeType":"MemberAccess","referencedDeclaration":9304,"src":"13678:18:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_string_memory_ptr_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,string memory) returns (struct StdStorage storage pointer)"}},"id":10046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13678:30:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":10041,"id":10047,"nodeType":"Return","src":"13671:37:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"sig","nameLocation":"13574:3:12","parameters":{"id":10037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10034,"mutability":"mutable","name":"self","nameLocation":"13597:4:12","nodeType":"VariableDeclaration","scope":10049,"src":"13578:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10033,"nodeType":"UserDefinedTypeName","pathNode":{"id":10032,"name":"StdStorage","nameLocations":["13578:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13578:10:12"},"referencedDeclaration":8581,"src":"13578:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10036,"mutability":"mutable","name":"_sig","nameLocation":"13617:4:12","nodeType":"VariableDeclaration","scope":10049,"src":"13603:18:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10035,"name":"string","nodeType":"ElementaryTypeName","src":"13603:6:12","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13577:45:12"},"returnParameters":{"id":10041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10040,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10049,"src":"13641:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10039,"nodeType":"UserDefinedTypeName","pathNode":{"id":10038,"name":"StdStorage","nameLocations":["13641:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13641:10:12"},"referencedDeclaration":8581,"src":"13641:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13640:20:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10067,"nodeType":"FunctionDefinition","src":"13721:152:12","nodes":[],"body":{"id":10066,"nodeType":"Block","src":"13815:58:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10062,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10052,"src":"13856:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":10063,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10054,"src":"13862:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10060,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"13832:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13847:8:12","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":9355,"src":"13832:23:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_address_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,address) returns (struct StdStorage storage pointer)"}},"id":10064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13832:34:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":10059,"id":10065,"nodeType":"Return","src":"13825:41:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"13730:8:12","parameters":{"id":10055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10052,"mutability":"mutable","name":"self","nameLocation":"13758:4:12","nodeType":"VariableDeclaration","scope":10067,"src":"13739:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10051,"nodeType":"UserDefinedTypeName","pathNode":{"id":10050,"name":"StdStorage","nameLocations":["13739:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13739:10:12"},"referencedDeclaration":8581,"src":"13739:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10054,"mutability":"mutable","name":"who","nameLocation":"13772:3:12","nodeType":"VariableDeclaration","scope":10067,"src":"13764:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10053,"name":"address","nodeType":"ElementaryTypeName","src":"13764:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13738:38:12"},"returnParameters":{"id":10059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10058,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10067,"src":"13795:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10057,"nodeType":"UserDefinedTypeName","pathNode":{"id":10056,"name":"StdStorage","nameLocations":["13795:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13795:10:12"},"referencedDeclaration":8581,"src":"13795:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13794:20:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10085,"nodeType":"FunctionDefinition","src":"13879:152:12","nodes":[],"body":{"id":10084,"nodeType":"Block","src":"13973:58:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10080,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10070,"src":"14014:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":10081,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10072,"src":"14020:3:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10078,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"13990:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14005:8:12","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":9380,"src":"13990:23:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":10082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13990:34:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":10077,"id":10083,"nodeType":"Return","src":"13983:41:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"13888:8:12","parameters":{"id":10073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10070,"mutability":"mutable","name":"self","nameLocation":"13916:4:12","nodeType":"VariableDeclaration","scope":10085,"src":"13897:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10069,"nodeType":"UserDefinedTypeName","pathNode":{"id":10068,"name":"StdStorage","nameLocations":["13897:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13897:10:12"},"referencedDeclaration":8581,"src":"13897:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10072,"mutability":"mutable","name":"amt","nameLocation":"13930:3:12","nodeType":"VariableDeclaration","scope":10085,"src":"13922:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10071,"name":"uint256","nodeType":"ElementaryTypeName","src":"13922:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13896:38:12"},"returnParameters":{"id":10077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10076,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10085,"src":"13953:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10075,"nodeType":"UserDefinedTypeName","pathNode":{"id":10074,"name":"StdStorage","nameLocations":["13953:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"13953:10:12"},"referencedDeclaration":8581,"src":"13953:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"13952:20:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10103,"nodeType":"FunctionDefinition","src":"14037:152:12","nodes":[],"body":{"id":10102,"nodeType":"Block","src":"14131:58:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10098,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10088,"src":"14172:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":10099,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10090,"src":"14178:3:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10096,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"14148:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14163:8:12","memberName":"with_key","nodeType":"MemberAccess","referencedDeclaration":9402,"src":"14148:23:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes32_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes32) returns (struct StdStorage storage pointer)"}},"id":10100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14148:34:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":10095,"id":10101,"nodeType":"Return","src":"14141:41:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_key","nameLocation":"14046:8:12","parameters":{"id":10091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10088,"mutability":"mutable","name":"self","nameLocation":"14074:4:12","nodeType":"VariableDeclaration","scope":10103,"src":"14055:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10087,"nodeType":"UserDefinedTypeName","pathNode":{"id":10086,"name":"StdStorage","nameLocations":["14055:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14055:10:12"},"referencedDeclaration":8581,"src":"14055:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10090,"mutability":"mutable","name":"key","nameLocation":"14088:3:12","nodeType":"VariableDeclaration","scope":10103,"src":"14080:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10089,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14080:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14054:38:12"},"returnParameters":{"id":10095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10094,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10103,"src":"14111:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10093,"nodeType":"UserDefinedTypeName","pathNode":{"id":10092,"name":"StdStorage","nameLocations":["14111:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14111:10:12"},"referencedDeclaration":8581,"src":"14111:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14110:20:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10121,"nodeType":"FunctionDefinition","src":"14195:179:12","nodes":[],"body":{"id":10120,"nodeType":"Block","src":"14305:69:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10116,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10106,"src":"14351:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":10117,"name":"_calldata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10108,"src":"14357:9:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10114,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"14322:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14337:13:12","memberName":"with_calldata","nodeType":"MemberAccess","referencedDeclaration":9324,"src":"14322:28:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes_memory_ptr_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,bytes memory) returns (struct StdStorage storage pointer)"}},"id":10118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14322:45:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":10113,"id":10119,"nodeType":"Return","src":"14315:52:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"with_calldata","nameLocation":"14204:13:12","parameters":{"id":10109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10106,"mutability":"mutable","name":"self","nameLocation":"14237:4:12","nodeType":"VariableDeclaration","scope":10121,"src":"14218:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10105,"nodeType":"UserDefinedTypeName","pathNode":{"id":10104,"name":"StdStorage","nameLocations":["14218:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14218:10:12"},"referencedDeclaration":8581,"src":"14218:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10108,"mutability":"mutable","name":"_calldata","nameLocation":"14256:9:12","nodeType":"VariableDeclaration","scope":10121,"src":"14243:22:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10107,"name":"bytes","nodeType":"ElementaryTypeName","src":"14243:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14217:49:12"},"returnParameters":{"id":10113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10112,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10121,"src":"14285:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10111,"nodeType":"UserDefinedTypeName","pathNode":{"id":10110,"name":"StdStorage","nameLocations":["14285:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14285:10:12"},"referencedDeclaration":8581,"src":"14285:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14284:20:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10136,"nodeType":"FunctionDefinition","src":"14380:156:12","nodes":[],"body":{"id":10135,"nodeType":"Block","src":"14472:64:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10132,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10124,"src":"14524:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10130,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"14489:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14504:19:12","memberName":"enable_packed_slots","nodeType":"MemberAccess","referencedDeclaration":9420,"src":"14489:34:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer) returns (struct StdStorage storage pointer)"}},"id":10133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14489:40:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":10129,"id":10134,"nodeType":"Return","src":"14482:47:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"enable_packed_slots","nameLocation":"14389:19:12","parameters":{"id":10125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10124,"mutability":"mutable","name":"self","nameLocation":"14428:4:12","nodeType":"VariableDeclaration","scope":10136,"src":"14409:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10123,"nodeType":"UserDefinedTypeName","pathNode":{"id":10122,"name":"StdStorage","nameLocations":["14409:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14409:10:12"},"referencedDeclaration":8581,"src":"14409:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14408:25:12"},"returnParameters":{"id":10129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10136,"src":"14452:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10127,"nodeType":"UserDefinedTypeName","pathNode":{"id":10126,"name":"StdStorage","nameLocations":["14452:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14452:10:12"},"referencedDeclaration":8581,"src":"14452:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14451:20:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10154,"nodeType":"FunctionDefinition","src":"14542:152:12","nodes":[],"body":{"id":10153,"nodeType":"Block","src":"14636:58:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10149,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10139,"src":"14674:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":10150,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10141,"src":"14680:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10147,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"14653:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14668:5:12","memberName":"depth","nodeType":"MemberAccess","referencedDeclaration":9440,"src":"14653:20:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_uint256_$returns$_t_struct$_StdStorage_$8581_storage_ptr_$","typeString":"function (struct StdStorage storage pointer,uint256) returns (struct StdStorage storage pointer)"}},"id":10151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14653:34:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"functionReturnParameters":10146,"id":10152,"nodeType":"Return","src":"14646:41:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"depth","nameLocation":"14551:5:12","parameters":{"id":10142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10139,"mutability":"mutable","name":"self","nameLocation":"14576:4:12","nodeType":"VariableDeclaration","scope":10154,"src":"14557:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10138,"nodeType":"UserDefinedTypeName","pathNode":{"id":10137,"name":"StdStorage","nameLocations":["14557:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14557:10:12"},"referencedDeclaration":8581,"src":"14557:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10141,"mutability":"mutable","name":"_depth","nameLocation":"14590:6:12","nodeType":"VariableDeclaration","scope":10154,"src":"14582:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10140,"name":"uint256","nodeType":"ElementaryTypeName","src":"14582:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14556:41:12"},"returnParameters":{"id":10146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10145,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10154,"src":"14616:18:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10144,"nodeType":"UserDefinedTypeName","pathNode":{"id":10143,"name":"StdStorage","nameLocations":["14616:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14616:10:12"},"referencedDeclaration":8581,"src":"14616:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14615:20:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10167,"nodeType":"FunctionDefinition","src":"14700:92:12","nodes":[],"body":{"id":10166,"nodeType":"Block","src":"14749:43:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10163,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10157,"src":"14780:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10160,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"14759:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14774:5:12","memberName":"clear","nodeType":"MemberAccess","referencedDeclaration":9887,"src":"14759:20:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":10164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14759:26:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10165,"nodeType":"ExpressionStatement","src":"14759:26:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"clear","nameLocation":"14709:5:12","parameters":{"id":10158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10157,"mutability":"mutable","name":"self","nameLocation":"14734:4:12","nodeType":"VariableDeclaration","scope":10167,"src":"14715:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10156,"nodeType":"UserDefinedTypeName","pathNode":{"id":10155,"name":"StdStorage","nameLocations":["14715:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14715:10:12"},"referencedDeclaration":8581,"src":"14715:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"14714:25:12"},"returnParameters":{"id":10159,"nodeType":"ParameterList","parameters":[],"src":"14749:0:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10190,"nodeType":"FunctionDefinition","src":"14798:138:12","nodes":[],"body":{"id":10189,"nodeType":"Block","src":"14868:68:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10176,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10170,"src":"14892:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"arguments":[{"arguments":[{"id":10183,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10172,"src":"14922:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14914:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":10181,"name":"uint160","nodeType":"ElementaryTypeName","src":"14914:7:12","typeDescriptions":{}}},"id":10184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14914:12:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":10180,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14906:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10179,"name":"uint256","nodeType":"ElementaryTypeName","src":"14906:7:12","typeDescriptions":{}}},"id":10185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14906:21:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14898:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":10177,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14898:7:12","typeDescriptions":{}}},"id":10186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14898:30:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10175,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[10190,10207,10245,10437],"referencedDeclaration":10437,"src":"14878:13:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":10187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14878:51:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10188,"nodeType":"ExpressionStatement","src":"14878:51:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"14807:13:12","parameters":{"id":10173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10170,"mutability":"mutable","name":"self","nameLocation":"14840:4:12","nodeType":"VariableDeclaration","scope":10190,"src":"14821:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10169,"nodeType":"UserDefinedTypeName","pathNode":{"id":10168,"name":"StdStorage","nameLocations":["14821:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14821:10:12"},"referencedDeclaration":8581,"src":"14821:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10172,"mutability":"mutable","name":"who","nameLocation":"14854:3:12","nodeType":"VariableDeclaration","scope":10190,"src":"14846:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10171,"name":"address","nodeType":"ElementaryTypeName","src":"14846:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14820:38:12"},"returnParameters":{"id":10174,"nodeType":"ParameterList","parameters":[],"src":"14868:0:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10207,"nodeType":"FunctionDefinition","src":"14942:120:12","nodes":[],"body":{"id":10206,"nodeType":"Block","src":"15012:50:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10199,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10193,"src":"15036:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"id":10202,"name":"amt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10195,"src":"15050:3:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10201,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15042:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":10200,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15042:7:12","typeDescriptions":{}}},"id":10203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15042:12:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10198,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[10190,10207,10245,10437],"referencedDeclaration":10437,"src":"15022:13:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":10204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15022:33:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10205,"nodeType":"ExpressionStatement","src":"15022:33:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"14951:13:12","parameters":{"id":10196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10193,"mutability":"mutable","name":"self","nameLocation":"14984:4:12","nodeType":"VariableDeclaration","scope":10207,"src":"14965:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10192,"nodeType":"UserDefinedTypeName","pathNode":{"id":10191,"name":"StdStorage","nameLocations":["14965:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"14965:10:12"},"referencedDeclaration":8581,"src":"14965:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10195,"mutability":"mutable","name":"amt","nameLocation":"14998:3:12","nodeType":"VariableDeclaration","scope":10207,"src":"14990:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10194,"name":"uint256","nodeType":"ElementaryTypeName","src":"14990:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14964:38:12"},"returnParameters":{"id":10197,"nodeType":"ParameterList","parameters":[],"src":"15012:0:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10227,"nodeType":"FunctionDefinition","src":"15068:132:12","nodes":[],"body":{"id":10226,"nodeType":"Block","src":"15141:59:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10216,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10210,"src":"15165:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"arguments":[{"arguments":[{"id":10221,"name":"val","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10212,"src":"15187:3:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":10220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15179:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10219,"name":"uint256","nodeType":"ElementaryTypeName","src":"15179:7:12","typeDescriptions":{}}},"id":10222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15179:12:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15171:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":10217,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15171:7:12","typeDescriptions":{}}},"id":10223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15171:21:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10215,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[10190,10207,10245,10437],"referencedDeclaration":10437,"src":"15151:13:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":10224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15151:42:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10225,"nodeType":"ExpressionStatement","src":"15151:42:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write_int","nameLocation":"15077:17:12","parameters":{"id":10213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10210,"mutability":"mutable","name":"self","nameLocation":"15114:4:12","nodeType":"VariableDeclaration","scope":10227,"src":"15095:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10209,"nodeType":"UserDefinedTypeName","pathNode":{"id":10208,"name":"StdStorage","nameLocations":["15095:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"15095:10:12"},"referencedDeclaration":8581,"src":"15095:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10212,"mutability":"mutable","name":"val","nameLocation":"15127:3:12","nodeType":"VariableDeclaration","scope":10227,"src":"15120:10:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10211,"name":"int256","nodeType":"ElementaryTypeName","src":"15120:6:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"15094:37:12"},"returnParameters":{"id":10214,"nodeType":"ParameterList","parameters":[],"src":"15141:0:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10245,"nodeType":"FunctionDefinition","src":"15206:222:12","nodes":[],"body":{"id":10244,"nodeType":"Block","src":"15275:153:12","nodes":[],"statements":[{"assignments":[10236],"declarations":[{"constant":false,"id":10236,"mutability":"mutable","name":"t","nameLocation":"15293:1:12","nodeType":"VariableDeclaration","scope":10244,"src":"15285:9:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10235,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15285:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":10237,"nodeType":"VariableDeclarationStatement","src":"15285:9:12"},{"AST":{"nativeSrc":"15356:34:12","nodeType":"YulBlock","src":"15356:34:12","statements":[{"nativeSrc":"15370:10:12","nodeType":"YulAssignment","src":"15370:10:12","value":{"name":"write","nativeSrc":"15375:5:12","nodeType":"YulIdentifier","src":"15375:5:12"},"variableNames":[{"name":"t","nativeSrc":"15370:1:12","nodeType":"YulIdentifier","src":"15370:1:12"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":10236,"isOffset":false,"isSlot":false,"src":"15370:1:12","valueSize":1},{"declaration":10232,"isOffset":false,"isSlot":false,"src":"15375:5:12","valueSize":1}],"id":10238,"nodeType":"InlineAssembly","src":"15347:43:12"},{"expression":{"arguments":[{"id":10240,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10230,"src":"15413:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"id":10241,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10236,"src":"15419:1:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10239,"name":"checked_write","nodeType":"Identifier","overloadedDeclarations":[10190,10207,10245,10437],"referencedDeclaration":10437,"src":"15399:13:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bytes32_$returns$__$","typeString":"function (struct StdStorage storage pointer,bytes32)"}},"id":10242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15399:22:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10243,"nodeType":"ExpressionStatement","src":"15399:22:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"15215:13:12","parameters":{"id":10233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10230,"mutability":"mutable","name":"self","nameLocation":"15248:4:12","nodeType":"VariableDeclaration","scope":10245,"src":"15229:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10229,"nodeType":"UserDefinedTypeName","pathNode":{"id":10228,"name":"StdStorage","nameLocations":["15229:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"15229:10:12"},"referencedDeclaration":8581,"src":"15229:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10232,"mutability":"mutable","name":"write","nameLocation":"15259:5:12","nodeType":"VariableDeclaration","scope":10245,"src":"15254:10:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10231,"name":"bool","nodeType":"ElementaryTypeName","src":"15254:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15228:37:12"},"returnParameters":{"id":10234,"nodeType":"ParameterList","parameters":[],"src":"15275:0:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10437,"nodeType":"FunctionDefinition","src":"15434:1484:12","nodes":[],"body":{"id":10436,"nodeType":"Block","src":"15504:1414:12","nodes":[],"statements":[{"assignments":[10254],"declarations":[{"constant":false,"id":10254,"mutability":"mutable","name":"who","nameLocation":"15522:3:12","nodeType":"VariableDeclaration","scope":10436,"src":"15514:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10253,"name":"address","nodeType":"ElementaryTypeName","src":"15514:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":10257,"initialValue":{"expression":{"id":10255,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10248,"src":"15528:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":10256,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15533:7:12","memberName":"_target","nodeType":"MemberAccess","referencedDeclaration":8574,"src":"15528:12:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15514:26:12"},{"assignments":[10259],"declarations":[{"constant":false,"id":10259,"mutability":"mutable","name":"fsig","nameLocation":"15557:4:12","nodeType":"VariableDeclaration","scope":10436,"src":"15550:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":10258,"name":"bytes4","nodeType":"ElementaryTypeName","src":"15550:6:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":10262,"initialValue":{"expression":{"id":10260,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10248,"src":"15564:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":10261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15569:4:12","memberName":"_sig","nodeType":"MemberAccess","referencedDeclaration":8570,"src":"15564:9:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"15550:23:12"},{"assignments":[10264],"declarations":[{"constant":false,"id":10264,"mutability":"mutable","name":"field_depth","nameLocation":"15591:11:12","nodeType":"VariableDeclaration","scope":10436,"src":"15583:19:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10263,"name":"uint256","nodeType":"ElementaryTypeName","src":"15583:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10267,"initialValue":{"expression":{"id":10265,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10248,"src":"15605:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":10266,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15610:6:12","memberName":"_depth","nodeType":"MemberAccess","referencedDeclaration":8572,"src":"15605:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15583:33:12"},{"assignments":[10269],"declarations":[{"constant":false,"id":10269,"mutability":"mutable","name":"params","nameLocation":"15639:6:12","nodeType":"VariableDeclaration","scope":10436,"src":"15626:19:12","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10268,"name":"bytes","nodeType":"ElementaryTypeName","src":"15626:5:12","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":10274,"initialValue":{"arguments":[{"id":10272,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10248,"src":"15677:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10270,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"15648:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15663:13:12","memberName":"getCallParams","nodeType":"MemberAccess","referencedDeclaration":8660,"src":"15648:28:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (struct StdStorage storage pointer) view returns (bytes memory)"}},"id":10273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15648:34:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15626:56:12"},{"condition":{"id":10290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"15697:78:12","subExpression":{"expression":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":10275,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10248,"src":"15698:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":10276,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15703:5:12","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8565,"src":"15698:10:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":10278,"indexExpression":{"id":10277,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10254,"src":"15709:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15698:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":10280,"indexExpression":{"id":10279,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"15714:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15698:21:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":10288,"indexExpression":{"arguments":[{"arguments":[{"id":10284,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10269,"src":"15747:6:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":10285,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10264,"src":"15755:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10282,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15730:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15734:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"15730:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15730:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10281,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15720:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15720:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15698:71:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage","typeString":"struct FindData storage ref"}},"id":10289,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15770:5:12","memberName":"found","nodeType":"MemberAccess","referencedDeclaration":8555,"src":"15698:77:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10297,"nodeType":"IfStatement","src":"15693:126:12","trueBody":{"id":10296,"nodeType":"Block","src":"15777:42:12","statements":[{"expression":{"arguments":[{"id":10292,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10248,"src":"15796:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},{"hexValue":"66616c7365","id":10293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15802:5:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":10291,"name":"find","nodeType":"Identifier","overloadedDeclarations":[9977,9995],"referencedDeclaration":9995,"src":"15791:4:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$_t_bool_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer,bool) returns (uint256)"}},"id":10294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15791:17:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":10295,"nodeType":"ExpressionStatement","src":"15791:17:12"}]}},{"assignments":[10300],"declarations":[{"constant":false,"id":10300,"mutability":"mutable","name":"data","nameLocation":"15845:4:12","nodeType":"VariableDeclaration","scope":10436,"src":"15828:21:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData"},"typeName":{"id":10299,"nodeType":"UserDefinedTypeName","pathNode":{"id":10298,"name":"FindData","nameLocations":["15828:8:12"],"nodeType":"IdentifierPath","referencedDeclaration":8556,"src":"15828:8:12"},"referencedDeclaration":8556,"src":"15828:8:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData"}},"visibility":"internal"}],"id":10315,"initialValue":{"baseExpression":{"baseExpression":{"baseExpression":{"expression":{"id":10301,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10248,"src":"15852:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}},"id":10302,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15857:5:12","memberName":"finds","nodeType":"MemberAccess","referencedDeclaration":8565,"src":"15852:10:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$_$","typeString":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData storage ref)))"}},"id":10304,"indexExpression":{"id":10303,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10254,"src":"15863:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15852:15:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$_$","typeString":"mapping(bytes4 => mapping(bytes32 => struct FindData storage ref))"}},"id":10306,"indexExpression":{"id":10305,"name":"fsig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10259,"src":"15868:4:12","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15852:21:12","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_FindData_$8556_storage_$","typeString":"mapping(bytes32 => struct FindData storage ref)"}},"id":10314,"indexExpression":{"arguments":[{"arguments":[{"id":10310,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10269,"src":"15901:6:12","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":10311,"name":"field_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10264,"src":"15909:11:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10308,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15884:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15888:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"15884:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15884:37:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10307,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"15874:9:12","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15874:48:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15852:71:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage","typeString":"struct FindData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15828:95:12"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10316,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10300,"src":"15938:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":10317,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15943:10:12","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":8551,"src":"15938:15:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":10318,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10300,"src":"15956:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":10319,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15961:11:12","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":8553,"src":"15956:16:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15938:34:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10321,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15937:36:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":10322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15976:1:12","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15937:40:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10359,"nodeType":"IfStatement","src":"15933:460:12","trueBody":{"id":10358,"nodeType":"Block","src":"15979:414:12","statements":[{"assignments":[10325],"declarations":[{"constant":false,"id":10325,"mutability":"mutable","name":"maxVal","nameLocation":"16001:6:12","nodeType":"VariableDeclaration","scope":10358,"src":"15993:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10324,"name":"uint256","nodeType":"ElementaryTypeName","src":"15993:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":10337,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":10326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16010:1:12","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"323536","id":10327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16016:3:12","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10328,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10300,"src":"16023:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":10329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16028:10:12","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":8551,"src":"16023:15:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":10330,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10300,"src":"16041:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":10331,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16046:11:12","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":8553,"src":"16041:16:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16023:34:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10333,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16022:36:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16016:42:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":10335,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"16015:44:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16010:49:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15993:66:12"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":10344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":10341,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10250,"src":"16106:3:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16098:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10339,"name":"uint256","nodeType":"ElementaryTypeName","src":"16098:7:12","typeDescriptions":{}}},"id":10342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16098:12:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":10343,"name":"maxVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10325,"src":"16113:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16098:21:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a205061636b656420736c6f742e2057652063616e2774206669742076616c75652067726561746572207468616e20","id":10349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16207:76:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6d0684ad88a5416aef2586056893899c6c8e834933c68e4c91239ee0856a523","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. We can't fit value greater than \""},"value":"stdStorage find(StdStorage): Packed slot. We can't fit value greater than "},{"arguments":[{"id":10352,"name":"maxVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10325,"src":"16321:6:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10350,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9950,"src":"16309:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":10351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16312:8:12","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"16309:11:12","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16309:19:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6d0684ad88a5416aef2586056893899c6c8e834933c68e4c91239ee0856a523","typeString":"literal_string \"stdStorage find(StdStorage): Packed slot. We can't fit value greater than \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":10347,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16165:3:12","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10348,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16169:12:12","memberName":"encodePacked","nodeType":"MemberAccess","src":"16165:16:12","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16165:185:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16137:6:12","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":10345,"name":"string","nodeType":"ElementaryTypeName","src":"16137:6:12","typeDescriptions":{}}},"id":10355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16137:231:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10338,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"16073:7:12","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":10356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16073:309:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10357,"nodeType":"ExpressionStatement","src":"16073:309:12"}]}},{"assignments":[10361],"declarations":[{"constant":false,"id":10361,"mutability":"mutable","name":"curVal","nameLocation":"16410:6:12","nodeType":"VariableDeclaration","scope":10436,"src":"16402:14:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10360,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16402:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":10371,"initialValue":{"arguments":[{"id":10364,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10254,"src":"16427:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":10367,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10300,"src":"16440:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":10368,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16445:4:12","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8549,"src":"16440:9:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10366,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16432:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":10365,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16432:7:12","typeDescriptions":{}}},"id":10369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16432:18:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10362,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9950,"src":"16419:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":10363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16422:4:12","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":14500,"src":"16419:7:12","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":10370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16419:32:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"16402:49:12"},{"assignments":[10373],"declarations":[{"constant":false,"id":10373,"mutability":"mutable","name":"valToSet","nameLocation":"16469:8:12","nodeType":"VariableDeclaration","scope":10436,"src":"16461:16:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10372,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16461:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":10386,"initialValue":{"arguments":[{"id":10376,"name":"curVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10361,"src":"16515:6:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":10379,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10250,"src":"16531:3:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16523:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10377,"name":"uint256","nodeType":"ElementaryTypeName","src":"16523:7:12","typeDescriptions":{}}},"id":10380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16523:12:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":10381,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10300,"src":"16537:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":10382,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16542:10:12","memberName":"offsetLeft","nodeType":"MemberAccess","referencedDeclaration":8551,"src":"16537:15:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":10383,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10300,"src":"16554:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":10384,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16559:11:12","memberName":"offsetRight","nodeType":"MemberAccess","referencedDeclaration":8553,"src":"16554:16:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10374,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"16480:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16495:19:12","memberName":"getUpdatedSlotValue","nodeType":"MemberAccess","referencedDeclaration":9932,"src":"16480:34:12","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (bytes32,uint256,uint256,uint256) pure returns (bytes32)"}},"id":10385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16480:91:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"16461:110:12"},{"expression":{"arguments":[{"id":10390,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10254,"src":"16591:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":10393,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10300,"src":"16604:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":10394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16609:4:12","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8549,"src":"16604:9:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16596:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":10391,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16596:7:12","typeDescriptions":{}}},"id":10395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16596:18:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":10396,"name":"valToSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10373,"src":"16616:8:12","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":10387,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9950,"src":"16582:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":10389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16585:5:12","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":18242,"src":"16582:8:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":10397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16582:43:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10398,"nodeType":"ExpressionStatement","src":"16582:43:12"},{"assignments":[10400,10402],"declarations":[{"constant":false,"id":10400,"mutability":"mutable","name":"success","nameLocation":"16642:7:12","nodeType":"VariableDeclaration","scope":10436,"src":"16637:12:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10399,"name":"bool","nodeType":"ElementaryTypeName","src":"16637:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":10402,"mutability":"mutable","name":"callResult","nameLocation":"16659:10:12","nodeType":"VariableDeclaration","scope":10436,"src":"16651:18:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16651:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":10407,"initialValue":{"arguments":[{"id":10405,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10248,"src":"16699:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10403,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"16673:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16688:10:12","memberName":"callTarget","nodeType":"MemberAccess","referencedDeclaration":8706,"src":"16673:25:12","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bool_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) view returns (bool,bytes32)"}},"id":10406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16673:31:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes32_$","typeString":"tuple(bool,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"16636:68:12"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":10413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16719:8:12","subExpression":{"id":10408,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10400,"src":"16720:7:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":10412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":10410,"name":"callResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10402,"src":"16731:10:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":10411,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10250,"src":"16745:3:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"16731:17:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16719:29:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":10431,"nodeType":"IfStatement","src":"16715:176:12","trueBody":{"id":10430,"nodeType":"Block","src":"16750:141:12","statements":[{"expression":{"arguments":[{"id":10417,"name":"who","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10254,"src":"16773:3:12","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":10420,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10300,"src":"16786:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_FindData_$8556_storage_ptr","typeString":"struct FindData storage pointer"}},"id":10421,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16791:4:12","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":8549,"src":"16786:9:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16778:7:12","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":10418,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16778:7:12","typeDescriptions":{}}},"id":10422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16778:18:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":10423,"name":"curVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10361,"src":"16798:6:12","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":10414,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9950,"src":"16764:2:12","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$18679","typeString":"contract Vm"}},"id":10416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16767:5:12","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":18242,"src":"16764:8:12","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,bytes32,bytes32) external"}},"id":10424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16764:41:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10425,"nodeType":"ExpressionStatement","src":"16764:41:12"},{"expression":{"arguments":[{"hexValue":"73746453746f726167652066696e642853746453746f72616765293a204661696c656420746f2077726974652076616c75652e","id":10427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16826:53:12","typeDescriptions":{"typeIdentifier":"t_stringliteral_b553baf150cfdb312beff968f03edcd3b801a9113d8bc19cff4e03b1eab07b61","typeString":"literal_string \"stdStorage find(StdStorage): Failed to write value.\""},"value":"stdStorage find(StdStorage): Failed to write value."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b553baf150cfdb312beff968f03edcd3b801a9113d8bc19cff4e03b1eab07b61","typeString":"literal_string \"stdStorage find(StdStorage): Failed to write value.\""}],"id":10426,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"16819:6:12","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":10428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16819:61:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10429,"nodeType":"ExpressionStatement","src":"16819:61:12"}]}},{"expression":{"arguments":[{"id":10433,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10248,"src":"16906:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"id":10432,"name":"clear","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10167,"src":"16900:5:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$__$","typeString":"function (struct StdStorage storage pointer)"}},"id":10434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16900:11:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":10435,"nodeType":"ExpressionStatement","src":"16900:11:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"checked_write","nameLocation":"15443:13:12","parameters":{"id":10251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10248,"mutability":"mutable","name":"self","nameLocation":"15476:4:12","nodeType":"VariableDeclaration","scope":10437,"src":"15457:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10247,"nodeType":"UserDefinedTypeName","pathNode":{"id":10246,"name":"StdStorage","nameLocations":["15457:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"15457:10:12"},"referencedDeclaration":8581,"src":"15457:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"},{"constant":false,"id":10250,"mutability":"mutable","name":"set","nameLocation":"15490:3:12","nodeType":"VariableDeclaration","scope":10437,"src":"15482:11:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15482:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15456:38:12"},"returnParameters":{"id":10252,"nodeType":"ParameterList","parameters":[],"src":"15504:0:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10451,"nodeType":"FunctionDefinition","src":"16924:131:12","nodes":[],"body":{"id":10450,"nodeType":"Block","src":"16998:57:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10447,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10440,"src":"17043:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10445,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"17015:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17030:12:12","memberName":"read_bytes32","nodeType":"MemberAccess","referencedDeclaration":9516,"src":"17015:27:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) returns (bytes32)"}},"id":10448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17015:33:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":10444,"id":10449,"nodeType":"Return","src":"17008:40:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bytes32","nameLocation":"16933:12:12","parameters":{"id":10441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10440,"mutability":"mutable","name":"self","nameLocation":"16965:4:12","nodeType":"VariableDeclaration","scope":10451,"src":"16946:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10439,"nodeType":"UserDefinedTypeName","pathNode":{"id":10438,"name":"StdStorage","nameLocations":["16946:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"16946:10:12"},"referencedDeclaration":8581,"src":"16946:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"16945:25:12"},"returnParameters":{"id":10444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10443,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10451,"src":"16989:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10442,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16989:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16988:9:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10465,"nodeType":"FunctionDefinition","src":"17061:122:12","nodes":[],"body":{"id":10464,"nodeType":"Block","src":"17129:54:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10461,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10454,"src":"17171:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10459,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"17146:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17161:9:12","memberName":"read_bool","nodeType":"MemberAccess","referencedDeclaration":9547,"src":"17146:24:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_bool_$","typeString":"function (struct StdStorage storage pointer) returns (bool)"}},"id":10462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17146:30:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":10458,"id":10463,"nodeType":"Return","src":"17139:37:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_bool","nameLocation":"17070:9:12","parameters":{"id":10455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10454,"mutability":"mutable","name":"self","nameLocation":"17099:4:12","nodeType":"VariableDeclaration","scope":10465,"src":"17080:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10453,"nodeType":"UserDefinedTypeName","pathNode":{"id":10452,"name":"StdStorage","nameLocations":["17080:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"17080:10:12"},"referencedDeclaration":8581,"src":"17080:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17079:25:12"},"returnParameters":{"id":10458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10457,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10465,"src":"17123:4:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10456,"name":"bool","nodeType":"ElementaryTypeName","src":"17123:4:12","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17122:6:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10479,"nodeType":"FunctionDefinition","src":"17189:131:12","nodes":[],"body":{"id":10478,"nodeType":"Block","src":"17263:57:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10475,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10468,"src":"17308:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10473,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"17280:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17295:12:12","memberName":"read_address","nodeType":"MemberAccess","referencedDeclaration":9566,"src":"17280:27:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_address_$","typeString":"function (struct StdStorage storage pointer) returns (address)"}},"id":10476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17280:33:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":10472,"id":10477,"nodeType":"Return","src":"17273:40:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_address","nameLocation":"17198:12:12","parameters":{"id":10469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10468,"mutability":"mutable","name":"self","nameLocation":"17230:4:12","nodeType":"VariableDeclaration","scope":10479,"src":"17211:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10467,"nodeType":"UserDefinedTypeName","pathNode":{"id":10466,"name":"StdStorage","nameLocations":["17211:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"17211:10:12"},"referencedDeclaration":8581,"src":"17211:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17210:25:12"},"returnParameters":{"id":10472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10471,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10479,"src":"17254:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10470,"name":"address","nodeType":"ElementaryTypeName","src":"17254:7:12","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17253:9:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10493,"nodeType":"FunctionDefinition","src":"17326:125:12","nodes":[],"body":{"id":10492,"nodeType":"Block","src":"17397:54:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10489,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10482,"src":"17439:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10487,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"17414:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17429:9:12","memberName":"read_uint","nodeType":"MemberAccess","referencedDeclaration":9585,"src":"17414:24:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":10490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17414:30:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10486,"id":10491,"nodeType":"Return","src":"17407:37:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_uint","nameLocation":"17335:9:12","parameters":{"id":10483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10482,"mutability":"mutable","name":"self","nameLocation":"17364:4:12","nodeType":"VariableDeclaration","scope":10493,"src":"17345:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10481,"nodeType":"UserDefinedTypeName","pathNode":{"id":10480,"name":"StdStorage","nameLocations":["17345:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"17345:10:12"},"referencedDeclaration":8581,"src":"17345:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17344:25:12"},"returnParameters":{"id":10486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10485,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10493,"src":"17388:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10484,"name":"uint256","nodeType":"ElementaryTypeName","src":"17388:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17387:9:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10507,"nodeType":"FunctionDefinition","src":"17457:122:12","nodes":[],"body":{"id":10506,"nodeType":"Block","src":"17526:53:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10503,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10496,"src":"17567:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10501,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"17543:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17558:8:12","memberName":"read_int","nodeType":"MemberAccess","referencedDeclaration":9604,"src":"17543:23:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_int256_$","typeString":"function (struct StdStorage storage pointer) returns (int256)"}},"id":10504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17543:29:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":10500,"id":10505,"nodeType":"Return","src":"17536:36:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"read_int","nameLocation":"17466:8:12","parameters":{"id":10497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10496,"mutability":"mutable","name":"self","nameLocation":"17494:4:12","nodeType":"VariableDeclaration","scope":10507,"src":"17475:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10495,"nodeType":"UserDefinedTypeName","pathNode":{"id":10494,"name":"StdStorage","nameLocations":["17475:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"17475:10:12"},"referencedDeclaration":8581,"src":"17475:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17474:25:12"},"returnParameters":{"id":10500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10499,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10507,"src":"17518:6:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10498,"name":"int256","nodeType":"ElementaryTypeName","src":"17518:6:12","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"17517:8:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10523,"nodeType":"FunctionDefinition","src":"17585:128:12","nodes":[],"body":{"id":10522,"nodeType":"Block","src":"17662:51:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10519,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10510,"src":"17701:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10517,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"17679:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17694:6:12","memberName":"parent","nodeType":"MemberAccess","referencedDeclaration":9670,"src":"17679:21:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_uint256_$_t_bytes32_$","typeString":"function (struct StdStorage storage pointer) returns (uint256,bytes32)"}},"id":10520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17679:27:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bytes32_$","typeString":"tuple(uint256,bytes32)"}},"functionReturnParameters":10516,"id":10521,"nodeType":"Return","src":"17672:34:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"parent","nameLocation":"17594:6:12","parameters":{"id":10511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10510,"mutability":"mutable","name":"self","nameLocation":"17620:4:12","nodeType":"VariableDeclaration","scope":10523,"src":"17601:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10509,"nodeType":"UserDefinedTypeName","pathNode":{"id":10508,"name":"StdStorage","nameLocations":["17601:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"17601:10:12"},"referencedDeclaration":8581,"src":"17601:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17600:25:12"},"returnParameters":{"id":10516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10513,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10523,"src":"17644:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10512,"name":"uint256","nodeType":"ElementaryTypeName","src":"17644:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":10515,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10523,"src":"17653:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10514,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17653:7:12","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17643:18:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":10537,"nodeType":"FunctionDefinition","src":"17719:115:12","nodes":[],"body":{"id":10536,"nodeType":"Block","src":"17785:49:12","nodes":[],"statements":[{"expression":{"arguments":[{"id":10533,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10526,"src":"17822:4:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage storage pointer"}],"expression":{"id":10531,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9933,"src":"17802:14:12","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdStorageSafe_$9933_$","typeString":"type(library stdStorageSafe)"}},"id":10532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17817:4:12","memberName":"root","nodeType":"MemberAccess","referencedDeclaration":9759,"src":"17802:19:12","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_StdStorage_$8581_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct StdStorage storage pointer) returns (uint256)"}},"id":10534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17802:25:12","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":10530,"id":10535,"nodeType":"Return","src":"17795:32:12"}]},"implemented":true,"kind":"function","modifiers":[],"name":"root","nameLocation":"17728:4:12","parameters":{"id":10527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10526,"mutability":"mutable","name":"self","nameLocation":"17752:4:12","nodeType":"VariableDeclaration","scope":10537,"src":"17733:23:12","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"},"typeName":{"id":10525,"nodeType":"UserDefinedTypeName","pathNode":{"id":10524,"name":"StdStorage","nameLocations":["17733:10:12"],"nodeType":"IdentifierPath","referencedDeclaration":8581,"src":"17733:10:12"},"referencedDeclaration":8581,"src":"17733:10:12","typeDescriptions":{"typeIdentifier":"t_struct$_StdStorage_$8581_storage_ptr","typeString":"struct StdStorage"}},"visibility":"internal"}],"src":"17732:25:12"},"returnParameters":{"id":10530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10529,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10537,"src":"17776:7:12","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10528,"name":"uint256","nodeType":"ElementaryTypeName","src":"17776:7:12","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17775:9:12"},"scope":10538,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdStorage","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[10538],"name":"stdStorage","nameLocation":"12763:10:12","scope":10539,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdStyle.sol":{"id":13,"ast":{"absolutePath":"lib/forge-std/src/StdStyle.sol","id":11750,"exportedSymbols":{"StdStyle":[11749],"VmSafe":[17608]},"nodeType":"SourceUnit","src":"32:10430:13","nodes":[{"id":10540,"nodeType":"PragmaDirective","src":"32:32:13","nodes":[],"literals":["solidity",">=","0.4",".22","<","0.9",".0"]},{"id":10542,"nodeType":"ImportDirective","src":"66:32:13","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":11750,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":10541,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"74:6:13","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11749,"nodeType":"ContractDefinition","src":"100:10361:13","nodes":[{"id":10559,"nodeType":"VariableDeclaration","src":"123:92:13","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"147:2:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"},"typeName":{"id":10544,"nodeType":"UserDefinedTypeName","pathNode":{"id":10543,"name":"VmSafe","nameLocations":["123:6:13"],"nodeType":"IdentifierPath","referencedDeclaration":17608,"src":"123:6:13"},"referencedDeclaration":17608,"src":"123:6:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":10553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"193:17:13","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":10552,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"183:9:13","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":10554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"183:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":10551,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"175:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":10550,"name":"uint256","nodeType":"ElementaryTypeName","src":"175:7:13","typeDescriptions":{}}},"id":10555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"175:37:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":10549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"167:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":10548,"name":"uint160","nodeType":"ElementaryTypeName","src":"167:7:13","typeDescriptions":{}}},"id":10556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"167:46:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":10547,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"159:7:13","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":10546,"name":"address","nodeType":"ElementaryTypeName","src":"159:7:13","typeDescriptions":{}}},"id":10557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"159:55:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":10545,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"152:6:13","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$17608_$","typeString":"type(contract VmSafe)"}},"id":10558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"152:63:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"visibility":"private"},{"id":10562,"nodeType":"VariableDeclaration","src":"222:34:13","nodes":[],"constant":true,"mutability":"constant","name":"RED","nameLocation":"238:3:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10560,"name":"string","nodeType":"ElementaryTypeName","src":"222:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39316d","id":10561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"244:12:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_e865f62b1188865fdbe08fdbe8546369f5c78a8f677a27514aadc154b4263c18","typeString":"literal_string hex\"1b5b39316d\""},"value":"\u001b[91m"},"visibility":"internal"},{"id":10565,"nodeType":"VariableDeclaration","src":"262:36:13","nodes":[],"constant":true,"mutability":"constant","name":"GREEN","nameLocation":"278:5:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10563,"name":"string","nodeType":"ElementaryTypeName","src":"262:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39326d","id":10564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"286:12:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_250c6c79af2fd59b948ba31b977e669524bbf27faba009961b135f1635e1e32b","typeString":"literal_string hex\"1b5b39326d\""},"value":"\u001b[92m"},"visibility":"internal"},{"id":10568,"nodeType":"VariableDeclaration","src":"304:37:13","nodes":[],"constant":true,"mutability":"constant","name":"YELLOW","nameLocation":"320:6:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10566,"name":"string","nodeType":"ElementaryTypeName","src":"304:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39336d","id":10567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"329:12:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_801b445b8c4f71d86cf740b8fd9f85e172d35421144725dd58fed362de2e6cf5","typeString":"literal_string hex\"1b5b39336d\""},"value":"\u001b[93m"},"visibility":"internal"},{"id":10571,"nodeType":"VariableDeclaration","src":"347:35:13","nodes":[],"constant":true,"mutability":"constant","name":"BLUE","nameLocation":"363:4:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10569,"name":"string","nodeType":"ElementaryTypeName","src":"347:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39346d","id":10570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"370:12:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_66ecf2e89553c52e360a74737e5e4e3d15e4d08217c17497ca50efb90c95d593","typeString":"literal_string hex\"1b5b39346d\""},"value":"\u001b[94m"},"visibility":"internal"},{"id":10574,"nodeType":"VariableDeclaration","src":"388:38:13","nodes":[],"constant":true,"mutability":"constant","name":"MAGENTA","nameLocation":"404:7:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10572,"name":"string","nodeType":"ElementaryTypeName","src":"388:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39356d","id":10573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"414:12:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_b81cf1fd9bcd2b49f14457c6168490b5ff507c85cc3778934da8235d270d6b5b","typeString":"literal_string hex\"1b5b39356d\""},"value":"\u001b[95m"},"visibility":"internal"},{"id":10577,"nodeType":"VariableDeclaration","src":"432:35:13","nodes":[],"constant":true,"mutability":"constant","name":"CYAN","nameLocation":"448:4:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10575,"name":"string","nodeType":"ElementaryTypeName","src":"432:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b39366d","id":10576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"455:12:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_f73c74e3aa04446480bd18c1b857a46321f6d66d2bfb703d52333566c779447b","typeString":"literal_string hex\"1b5b39366d\""},"value":"\u001b[96m"},"visibility":"internal"},{"id":10580,"nodeType":"VariableDeclaration","src":"473:34:13","nodes":[],"constant":true,"mutability":"constant","name":"BOLD","nameLocation":"489:4:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10578,"name":"string","nodeType":"ElementaryTypeName","src":"473:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b316d","id":10579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"496:11:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_b25b1471c5d449346ad6b37b501b2d5911d6e2bad13ad71d09cdfa3d3b140a17","typeString":"literal_string hex\"1b5b316d\""},"value":"\u001b[1m"},"visibility":"internal"},{"id":10583,"nodeType":"VariableDeclaration","src":"513:33:13","nodes":[],"constant":true,"mutability":"constant","name":"DIM","nameLocation":"529:3:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10581,"name":"string","nodeType":"ElementaryTypeName","src":"513:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b326d","id":10582,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"535:11:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_2f556fa434add49eadfa043e74ff00496b89a16068544c1118ec19f5d8603d51","typeString":"literal_string hex\"1b5b326d\""},"value":"\u001b[2m"},"visibility":"internal"},{"id":10586,"nodeType":"VariableDeclaration","src":"552:36:13","nodes":[],"constant":true,"mutability":"constant","name":"ITALIC","nameLocation":"568:6:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10584,"name":"string","nodeType":"ElementaryTypeName","src":"552:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b336d","id":10585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"577:11:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_3889f2814cfbcc60c7a881028023c05aed4a6dae60be0df554f690b1f4e7411f","typeString":"literal_string hex\"1b5b336d\""},"value":"\u001b[3m"},"visibility":"internal"},{"id":10589,"nodeType":"VariableDeclaration","src":"594:39:13","nodes":[],"constant":true,"mutability":"constant","name":"UNDERLINE","nameLocation":"610:9:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10587,"name":"string","nodeType":"ElementaryTypeName","src":"594:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b346d","id":10588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"622:11:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_48cbbbbdbcd789b35edf67deaad6f96f406603d9181318ca90ef32f90fedb5bb","typeString":"literal_string hex\"1b5b346d\""},"value":"\u001b[4m"},"visibility":"internal"},{"id":10592,"nodeType":"VariableDeclaration","src":"639:37:13","nodes":[],"constant":true,"mutability":"constant","name":"INVERSE","nameLocation":"655:7:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10590,"name":"string","nodeType":"ElementaryTypeName","src":"639:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b376d","id":10591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"665:11:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_963e08c830a620b3640a99ac46ac6850f28c8f20be064518b3acc7016c3e286e","typeString":"literal_string hex\"1b5b376d\""},"value":"\u001b[7m"},"visibility":"internal"},{"id":10595,"nodeType":"VariableDeclaration","src":"682:35:13","nodes":[],"constant":true,"mutability":"constant","name":"RESET","nameLocation":"698:5:13","scope":11749,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10593,"name":"string","nodeType":"ElementaryTypeName","src":"682:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"1b5b306d","id":10594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"706:11:13","typeDescriptions":{"typeIdentifier":"t_stringliteral_289c700ce2c600d61adfc66f83b41c26150052f3ea6c772e582ea6afd03d1949","typeString":"literal_string hex\"1b5b306d\""},"value":"\u001b[0m"},"visibility":"internal"},{"id":10615,"nodeType":"FunctionDefinition","src":"724:167:13","nodes":[],"body":{"id":10614,"nodeType":"Block","src":"823:68:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10608,"name":"style","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10597,"src":"864:5:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10609,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10599,"src":"871:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10610,"name":"RESET","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10595,"src":"877:5:13","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":10606,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"847:3:13","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":10607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"851:12:13","memberName":"encodePacked","nodeType":"MemberAccess","src":"847:16:13","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":10611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"847:36:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":10605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"840:6:13","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":10604,"name":"string","nodeType":"ElementaryTypeName","src":"840:6:13","typeDescriptions":{}}},"id":10612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"840:44:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10603,"id":10613,"nodeType":"Return","src":"833:51:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"styleConcat","nameLocation":"733:11:13","parameters":{"id":10600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10597,"mutability":"mutable","name":"style","nameLocation":"759:5:13","nodeType":"VariableDeclaration","scope":10615,"src":"745:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10596,"name":"string","nodeType":"ElementaryTypeName","src":"745:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":10599,"mutability":"mutable","name":"self","nameLocation":"780:4:13","nodeType":"VariableDeclaration","scope":10615,"src":"766:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10598,"name":"string","nodeType":"ElementaryTypeName","src":"766:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"744:41:13"},"returnParameters":{"id":10603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10602,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10615,"src":"808:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10601,"name":"string","nodeType":"ElementaryTypeName","src":"808:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"807:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":10628,"nodeType":"FunctionDefinition","src":"897:117:13","nodes":[],"body":{"id":10627,"nodeType":"Block","src":"968:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":10623,"name":"RED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10562,"src":"997:3:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10624,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10617,"src":"1002:4:13","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"}],"id":10622,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"985:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":10625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"985:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10621,"id":10626,"nodeType":"Return","src":"978:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"906:3:13","parameters":{"id":10618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10617,"mutability":"mutable","name":"self","nameLocation":"924:4:13","nodeType":"VariableDeclaration","scope":10628,"src":"910:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10616,"name":"string","nodeType":"ElementaryTypeName","src":"910:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"909:20:13"},"returnParameters":{"id":10621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10628,"src":"953:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10619,"name":"string","nodeType":"ElementaryTypeName","src":"953:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"952:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10643,"nodeType":"FunctionDefinition","src":"1020:111:13","nodes":[],"body":{"id":10642,"nodeType":"Block","src":"1085:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10638,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10630,"src":"1118:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10636,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"1106:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1109:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"1106:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1106:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10635,"name":"red","nodeType":"Identifier","overloadedDeclarations":[10628,10643,10658,10673,10688],"referencedDeclaration":10628,"src":"1102:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1102:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10634,"id":10641,"nodeType":"Return","src":"1095:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1029:3:13","parameters":{"id":10631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10630,"mutability":"mutable","name":"self","nameLocation":"1041:4:13","nodeType":"VariableDeclaration","scope":10643,"src":"1033:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10629,"name":"uint256","nodeType":"ElementaryTypeName","src":"1033:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1032:14:13"},"returnParameters":{"id":10634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10633,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10643,"src":"1070:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10632,"name":"string","nodeType":"ElementaryTypeName","src":"1070:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1069:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10658,"nodeType":"FunctionDefinition","src":"1137:110:13","nodes":[],"body":{"id":10657,"nodeType":"Block","src":"1201:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10653,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10645,"src":"1234:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10651,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"1222:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1225:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"1222:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1222:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10650,"name":"red","nodeType":"Identifier","overloadedDeclarations":[10628,10643,10658,10673,10688],"referencedDeclaration":10628,"src":"1218:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1218:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10649,"id":10656,"nodeType":"Return","src":"1211:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1146:3:13","parameters":{"id":10646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10645,"mutability":"mutable","name":"self","nameLocation":"1157:4:13","nodeType":"VariableDeclaration","scope":10658,"src":"1150:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10644,"name":"int256","nodeType":"ElementaryTypeName","src":"1150:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1149:13:13"},"returnParameters":{"id":10649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10648,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10658,"src":"1186:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10647,"name":"string","nodeType":"ElementaryTypeName","src":"1186:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1185:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10673,"nodeType":"FunctionDefinition","src":"1253:111:13","nodes":[],"body":{"id":10672,"nodeType":"Block","src":"1318:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10668,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10660,"src":"1351:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10666,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"1339:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1342:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"1339:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":10669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1339:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10665,"name":"red","nodeType":"Identifier","overloadedDeclarations":[10628,10643,10658,10673,10688],"referencedDeclaration":10628,"src":"1335:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1335:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10664,"id":10671,"nodeType":"Return","src":"1328:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1262:3:13","parameters":{"id":10661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10660,"mutability":"mutable","name":"self","nameLocation":"1274:4:13","nodeType":"VariableDeclaration","scope":10673,"src":"1266:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10659,"name":"address","nodeType":"ElementaryTypeName","src":"1266:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1265:14:13"},"returnParameters":{"id":10664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10663,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10673,"src":"1303:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10662,"name":"string","nodeType":"ElementaryTypeName","src":"1303:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1302:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10688,"nodeType":"FunctionDefinition","src":"1370:108:13","nodes":[],"body":{"id":10687,"nodeType":"Block","src":"1432:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10683,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10675,"src":"1465:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10681,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"1453:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1456:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"1453:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":10684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1453:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10680,"name":"red","nodeType":"Identifier","overloadedDeclarations":[10628,10643,10658,10673,10688],"referencedDeclaration":10628,"src":"1449:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1449:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10679,"id":10686,"nodeType":"Return","src":"1442:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"red","nameLocation":"1379:3:13","parameters":{"id":10676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10675,"mutability":"mutable","name":"self","nameLocation":"1388:4:13","nodeType":"VariableDeclaration","scope":10688,"src":"1383:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10674,"name":"bool","nodeType":"ElementaryTypeName","src":"1383:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1382:11:13"},"returnParameters":{"id":10679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10678,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10688,"src":"1417:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10677,"name":"string","nodeType":"ElementaryTypeName","src":"1417:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1416:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10703,"nodeType":"FunctionDefinition","src":"1484:121:13","nodes":[],"body":{"id":10702,"nodeType":"Block","src":"1559:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10698,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10690,"src":"1592:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10696,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"1580:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1583:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"1580:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":10699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1580:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10695,"name":"red","nodeType":"Identifier","overloadedDeclarations":[10628,10643,10658,10673,10688],"referencedDeclaration":10628,"src":"1576:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1576:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10694,"id":10701,"nodeType":"Return","src":"1569:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"redBytes","nameLocation":"1493:8:13","parameters":{"id":10691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10690,"mutability":"mutable","name":"self","nameLocation":"1515:4:13","nodeType":"VariableDeclaration","scope":10703,"src":"1502:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10689,"name":"bytes","nodeType":"ElementaryTypeName","src":"1502:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1501:19:13"},"returnParameters":{"id":10694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10693,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10703,"src":"1544:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10692,"name":"string","nodeType":"ElementaryTypeName","src":"1544:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1543:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10718,"nodeType":"FunctionDefinition","src":"1611:118:13","nodes":[],"body":{"id":10717,"nodeType":"Block","src":"1683:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10713,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10705,"src":"1716:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10711,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"1704:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1707:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"1704:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":10714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1704:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10710,"name":"red","nodeType":"Identifier","overloadedDeclarations":[10628,10643,10658,10673,10688],"referencedDeclaration":10628,"src":"1700:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1700:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10709,"id":10716,"nodeType":"Return","src":"1693:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"redBytes32","nameLocation":"1620:10:13","parameters":{"id":10706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10705,"mutability":"mutable","name":"self","nameLocation":"1639:4:13","nodeType":"VariableDeclaration","scope":10718,"src":"1631:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10704,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1631:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1630:14:13"},"returnParameters":{"id":10709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10708,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10718,"src":"1668:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10707,"name":"string","nodeType":"ElementaryTypeName","src":"1668:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1667:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10731,"nodeType":"FunctionDefinition","src":"1735:121:13","nodes":[],"body":{"id":10730,"nodeType":"Block","src":"1808:48:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":10726,"name":"GREEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10565,"src":"1837:5:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10727,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10720,"src":"1844:4:13","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"}],"id":10725,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"1825:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":10728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1825:24:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10724,"id":10729,"nodeType":"Return","src":"1818:31:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"1744:5:13","parameters":{"id":10721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10720,"mutability":"mutable","name":"self","nameLocation":"1764:4:13","nodeType":"VariableDeclaration","scope":10731,"src":"1750:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10719,"name":"string","nodeType":"ElementaryTypeName","src":"1750:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1749:20:13"},"returnParameters":{"id":10724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10723,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10731,"src":"1793:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10722,"name":"string","nodeType":"ElementaryTypeName","src":"1793:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1792:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10746,"nodeType":"FunctionDefinition","src":"1862:115:13","nodes":[],"body":{"id":10745,"nodeType":"Block","src":"1929:48:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10741,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10733,"src":"1964:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10739,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"1952:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1955:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"1952:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1952:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10738,"name":"green","nodeType":"Identifier","overloadedDeclarations":[10731,10746,10761,10776,10791],"referencedDeclaration":10731,"src":"1946:5:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1946:24:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10737,"id":10744,"nodeType":"Return","src":"1939:31:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"1871:5:13","parameters":{"id":10734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10733,"mutability":"mutable","name":"self","nameLocation":"1885:4:13","nodeType":"VariableDeclaration","scope":10746,"src":"1877:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10732,"name":"uint256","nodeType":"ElementaryTypeName","src":"1877:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1876:14:13"},"returnParameters":{"id":10737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10736,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10746,"src":"1914:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10735,"name":"string","nodeType":"ElementaryTypeName","src":"1914:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1913:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10761,"nodeType":"FunctionDefinition","src":"1983:114:13","nodes":[],"body":{"id":10760,"nodeType":"Block","src":"2049:48:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10756,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10748,"src":"2084:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10754,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"2072:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2075:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"2072:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2072:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10753,"name":"green","nodeType":"Identifier","overloadedDeclarations":[10731,10746,10761,10776,10791],"referencedDeclaration":10731,"src":"2066:5:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2066:24:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10752,"id":10759,"nodeType":"Return","src":"2059:31:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"1992:5:13","parameters":{"id":10749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10748,"mutability":"mutable","name":"self","nameLocation":"2005:4:13","nodeType":"VariableDeclaration","scope":10761,"src":"1998:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10747,"name":"int256","nodeType":"ElementaryTypeName","src":"1998:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1997:13:13"},"returnParameters":{"id":10752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10751,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10761,"src":"2034:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10750,"name":"string","nodeType":"ElementaryTypeName","src":"2034:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2033:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10776,"nodeType":"FunctionDefinition","src":"2103:115:13","nodes":[],"body":{"id":10775,"nodeType":"Block","src":"2170:48:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10771,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10763,"src":"2205:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10769,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"2193:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2196:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"2193:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":10772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2193:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10768,"name":"green","nodeType":"Identifier","overloadedDeclarations":[10731,10746,10761,10776,10791],"referencedDeclaration":10731,"src":"2187:5:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2187:24:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10767,"id":10774,"nodeType":"Return","src":"2180:31:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"2112:5:13","parameters":{"id":10764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10763,"mutability":"mutable","name":"self","nameLocation":"2126:4:13","nodeType":"VariableDeclaration","scope":10776,"src":"2118:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10762,"name":"address","nodeType":"ElementaryTypeName","src":"2118:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2117:14:13"},"returnParameters":{"id":10767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10766,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10776,"src":"2155:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10765,"name":"string","nodeType":"ElementaryTypeName","src":"2155:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2154:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10791,"nodeType":"FunctionDefinition","src":"2224:112:13","nodes":[],"body":{"id":10790,"nodeType":"Block","src":"2288:48:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10786,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10778,"src":"2323:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10784,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"2311:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2314:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"2311:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":10787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2311:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10783,"name":"green","nodeType":"Identifier","overloadedDeclarations":[10731,10746,10761,10776,10791],"referencedDeclaration":10731,"src":"2305:5:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2305:24:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10782,"id":10789,"nodeType":"Return","src":"2298:31:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"green","nameLocation":"2233:5:13","parameters":{"id":10779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10778,"mutability":"mutable","name":"self","nameLocation":"2244:4:13","nodeType":"VariableDeclaration","scope":10791,"src":"2239:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10777,"name":"bool","nodeType":"ElementaryTypeName","src":"2239:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2238:11:13"},"returnParameters":{"id":10782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10781,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10791,"src":"2273:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10780,"name":"string","nodeType":"ElementaryTypeName","src":"2273:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2272:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10806,"nodeType":"FunctionDefinition","src":"2342:125:13","nodes":[],"body":{"id":10805,"nodeType":"Block","src":"2419:48:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10801,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10793,"src":"2454:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10799,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"2442:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2445:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"2442:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":10802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2442:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10798,"name":"green","nodeType":"Identifier","overloadedDeclarations":[10731,10746,10761,10776,10791],"referencedDeclaration":10731,"src":"2436:5:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2436:24:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10797,"id":10804,"nodeType":"Return","src":"2429:31:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"greenBytes","nameLocation":"2351:10:13","parameters":{"id":10794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10793,"mutability":"mutable","name":"self","nameLocation":"2375:4:13","nodeType":"VariableDeclaration","scope":10806,"src":"2362:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10792,"name":"bytes","nodeType":"ElementaryTypeName","src":"2362:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2361:19:13"},"returnParameters":{"id":10797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10796,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10806,"src":"2404:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10795,"name":"string","nodeType":"ElementaryTypeName","src":"2404:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2403:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10821,"nodeType":"FunctionDefinition","src":"2473:122:13","nodes":[],"body":{"id":10820,"nodeType":"Block","src":"2547:48:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10816,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10808,"src":"2582:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10814,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"2570:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2573:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"2570:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":10817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2570:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10813,"name":"green","nodeType":"Identifier","overloadedDeclarations":[10731,10746,10761,10776,10791],"referencedDeclaration":10731,"src":"2564:5:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2564:24:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10812,"id":10819,"nodeType":"Return","src":"2557:31:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"greenBytes32","nameLocation":"2482:12:13","parameters":{"id":10809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10808,"mutability":"mutable","name":"self","nameLocation":"2503:4:13","nodeType":"VariableDeclaration","scope":10821,"src":"2495:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10807,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2495:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2494:14:13"},"returnParameters":{"id":10812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10811,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10821,"src":"2532:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10810,"name":"string","nodeType":"ElementaryTypeName","src":"2532:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2531:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10834,"nodeType":"FunctionDefinition","src":"2601:123:13","nodes":[],"body":{"id":10833,"nodeType":"Block","src":"2675:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":10829,"name":"YELLOW","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10568,"src":"2704:6:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10830,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10823,"src":"2712:4:13","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"}],"id":10828,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"2692:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":10831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2692:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10827,"id":10832,"nodeType":"Return","src":"2685:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2610:6:13","parameters":{"id":10824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10823,"mutability":"mutable","name":"self","nameLocation":"2631:4:13","nodeType":"VariableDeclaration","scope":10834,"src":"2617:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10822,"name":"string","nodeType":"ElementaryTypeName","src":"2617:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2616:20:13"},"returnParameters":{"id":10827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10826,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10834,"src":"2660:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10825,"name":"string","nodeType":"ElementaryTypeName","src":"2660:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2659:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10849,"nodeType":"FunctionDefinition","src":"2730:117:13","nodes":[],"body":{"id":10848,"nodeType":"Block","src":"2798:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10844,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10836,"src":"2834:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10842,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"2822:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2825:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"2822:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2822:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10841,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[10834,10849,10864,10879,10894],"referencedDeclaration":10834,"src":"2815:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2815:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10840,"id":10847,"nodeType":"Return","src":"2808:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2739:6:13","parameters":{"id":10837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10836,"mutability":"mutable","name":"self","nameLocation":"2754:4:13","nodeType":"VariableDeclaration","scope":10849,"src":"2746:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10835,"name":"uint256","nodeType":"ElementaryTypeName","src":"2746:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2745:14:13"},"returnParameters":{"id":10840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10839,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10849,"src":"2783:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10838,"name":"string","nodeType":"ElementaryTypeName","src":"2783:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2782:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10864,"nodeType":"FunctionDefinition","src":"2853:116:13","nodes":[],"body":{"id":10863,"nodeType":"Block","src":"2920:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10859,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10851,"src":"2956:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10857,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"2944:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2947:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"2944:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2944:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10856,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[10834,10849,10864,10879,10894],"referencedDeclaration":10834,"src":"2937:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2937:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10855,"id":10862,"nodeType":"Return","src":"2930:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2862:6:13","parameters":{"id":10852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10851,"mutability":"mutable","name":"self","nameLocation":"2876:4:13","nodeType":"VariableDeclaration","scope":10864,"src":"2869:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10850,"name":"int256","nodeType":"ElementaryTypeName","src":"2869:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2868:13:13"},"returnParameters":{"id":10855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10854,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10864,"src":"2905:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10853,"name":"string","nodeType":"ElementaryTypeName","src":"2905:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2904:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10879,"nodeType":"FunctionDefinition","src":"2975:117:13","nodes":[],"body":{"id":10878,"nodeType":"Block","src":"3043:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10874,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10866,"src":"3079:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10872,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"3067:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3070:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"3067:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":10875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3067:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10871,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[10834,10849,10864,10879,10894],"referencedDeclaration":10834,"src":"3060:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3060:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10870,"id":10877,"nodeType":"Return","src":"3053:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"2984:6:13","parameters":{"id":10867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10866,"mutability":"mutable","name":"self","nameLocation":"2999:4:13","nodeType":"VariableDeclaration","scope":10879,"src":"2991:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10865,"name":"address","nodeType":"ElementaryTypeName","src":"2991:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2990:14:13"},"returnParameters":{"id":10870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10869,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10879,"src":"3028:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10868,"name":"string","nodeType":"ElementaryTypeName","src":"3028:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3027:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10894,"nodeType":"FunctionDefinition","src":"3098:114:13","nodes":[],"body":{"id":10893,"nodeType":"Block","src":"3163:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10889,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10881,"src":"3199:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10887,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"3187:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3190:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"3187:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":10890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3187:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10886,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[10834,10849,10864,10879,10894],"referencedDeclaration":10834,"src":"3180:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3180:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10885,"id":10892,"nodeType":"Return","src":"3173:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellow","nameLocation":"3107:6:13","parameters":{"id":10882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10881,"mutability":"mutable","name":"self","nameLocation":"3119:4:13","nodeType":"VariableDeclaration","scope":10894,"src":"3114:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10880,"name":"bool","nodeType":"ElementaryTypeName","src":"3114:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3113:11:13"},"returnParameters":{"id":10885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10884,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10894,"src":"3148:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10883,"name":"string","nodeType":"ElementaryTypeName","src":"3148:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3147:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10909,"nodeType":"FunctionDefinition","src":"3218:127:13","nodes":[],"body":{"id":10908,"nodeType":"Block","src":"3296:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10904,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10896,"src":"3332:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":10902,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"3320:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3323:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"3320:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":10905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3320:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10901,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[10834,10849,10864,10879,10894],"referencedDeclaration":10834,"src":"3313:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3313:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10900,"id":10907,"nodeType":"Return","src":"3306:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellowBytes","nameLocation":"3227:11:13","parameters":{"id":10897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10896,"mutability":"mutable","name":"self","nameLocation":"3252:4:13","nodeType":"VariableDeclaration","scope":10909,"src":"3239:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10895,"name":"bytes","nodeType":"ElementaryTypeName","src":"3239:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3238:19:13"},"returnParameters":{"id":10900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10899,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10909,"src":"3281:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10898,"name":"string","nodeType":"ElementaryTypeName","src":"3281:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3280:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10924,"nodeType":"FunctionDefinition","src":"3351:124:13","nodes":[],"body":{"id":10923,"nodeType":"Block","src":"3426:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10919,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10911,"src":"3462:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":10917,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"3450:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3453:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"3450:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":10920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3450:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10916,"name":"yellow","nodeType":"Identifier","overloadedDeclarations":[10834,10849,10864,10879,10894],"referencedDeclaration":10834,"src":"3443:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3443:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10915,"id":10922,"nodeType":"Return","src":"3436:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"yellowBytes32","nameLocation":"3360:13:13","parameters":{"id":10912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10911,"mutability":"mutable","name":"self","nameLocation":"3382:4:13","nodeType":"VariableDeclaration","scope":10924,"src":"3374:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":10910,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3374:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3373:14:13"},"returnParameters":{"id":10915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10914,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10924,"src":"3411:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10913,"name":"string","nodeType":"ElementaryTypeName","src":"3411:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3410:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10937,"nodeType":"FunctionDefinition","src":"3481:119:13","nodes":[],"body":{"id":10936,"nodeType":"Block","src":"3553:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":10932,"name":"BLUE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10571,"src":"3582:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":10933,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10926,"src":"3588:4:13","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"}],"id":10931,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"3570:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":10934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3570:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10930,"id":10935,"nodeType":"Return","src":"3563:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3490:4:13","parameters":{"id":10927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10926,"mutability":"mutable","name":"self","nameLocation":"3509:4:13","nodeType":"VariableDeclaration","scope":10937,"src":"3495:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10925,"name":"string","nodeType":"ElementaryTypeName","src":"3495:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3494:20:13"},"returnParameters":{"id":10930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10937,"src":"3538:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10928,"name":"string","nodeType":"ElementaryTypeName","src":"3538:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3537:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10952,"nodeType":"FunctionDefinition","src":"3606:113:13","nodes":[],"body":{"id":10951,"nodeType":"Block","src":"3672:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10947,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10939,"src":"3706:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":10945,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"3694:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3697:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"3694:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":10948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3694:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10944,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[10937,10952,10967,10982,10997],"referencedDeclaration":10937,"src":"3689:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3689:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10943,"id":10950,"nodeType":"Return","src":"3682:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3615:4:13","parameters":{"id":10940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10939,"mutability":"mutable","name":"self","nameLocation":"3628:4:13","nodeType":"VariableDeclaration","scope":10952,"src":"3620:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":10938,"name":"uint256","nodeType":"ElementaryTypeName","src":"3620:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3619:14:13"},"returnParameters":{"id":10943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10942,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10952,"src":"3657:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10941,"name":"string","nodeType":"ElementaryTypeName","src":"3657:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3656:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10967,"nodeType":"FunctionDefinition","src":"3725:112:13","nodes":[],"body":{"id":10966,"nodeType":"Block","src":"3790:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10962,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10954,"src":"3824:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":10960,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"3812:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3815:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"3812:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":10963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3812:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10959,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[10937,10952,10967,10982,10997],"referencedDeclaration":10937,"src":"3807:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3807:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10958,"id":10965,"nodeType":"Return","src":"3800:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3734:4:13","parameters":{"id":10955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10954,"mutability":"mutable","name":"self","nameLocation":"3746:4:13","nodeType":"VariableDeclaration","scope":10967,"src":"3739:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":10953,"name":"int256","nodeType":"ElementaryTypeName","src":"3739:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3738:13:13"},"returnParameters":{"id":10958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10957,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10967,"src":"3775:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10956,"name":"string","nodeType":"ElementaryTypeName","src":"3775:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3774:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10982,"nodeType":"FunctionDefinition","src":"3843:113:13","nodes":[],"body":{"id":10981,"nodeType":"Block","src":"3909:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10977,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10969,"src":"3943:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":10975,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"3931:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3934:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"3931:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":10978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3931:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10974,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[10937,10952,10967,10982,10997],"referencedDeclaration":10937,"src":"3926:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3926:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10973,"id":10980,"nodeType":"Return","src":"3919:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3852:4:13","parameters":{"id":10970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10969,"mutability":"mutable","name":"self","nameLocation":"3865:4:13","nodeType":"VariableDeclaration","scope":10982,"src":"3857:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":10968,"name":"address","nodeType":"ElementaryTypeName","src":"3857:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3856:14:13"},"returnParameters":{"id":10973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10972,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10982,"src":"3894:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10971,"name":"string","nodeType":"ElementaryTypeName","src":"3894:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3893:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":10997,"nodeType":"FunctionDefinition","src":"3962:110:13","nodes":[],"body":{"id":10996,"nodeType":"Block","src":"4025:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":10992,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10984,"src":"4059:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":10990,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"4047:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":10991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4050:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"4047:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":10993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4047:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":10989,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[10937,10952,10967,10982,10997],"referencedDeclaration":10937,"src":"4042:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":10994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4042:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":10988,"id":10995,"nodeType":"Return","src":"4035:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blue","nameLocation":"3971:4:13","parameters":{"id":10985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10984,"mutability":"mutable","name":"self","nameLocation":"3981:4:13","nodeType":"VariableDeclaration","scope":10997,"src":"3976:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":10983,"name":"bool","nodeType":"ElementaryTypeName","src":"3976:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3975:11:13"},"returnParameters":{"id":10988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10987,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":10997,"src":"4010:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":10986,"name":"string","nodeType":"ElementaryTypeName","src":"4010:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4009:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11012,"nodeType":"FunctionDefinition","src":"4078:123:13","nodes":[],"body":{"id":11011,"nodeType":"Block","src":"4154:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11007,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10999,"src":"4188:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11005,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"4176:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4179:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"4176:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4176:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11004,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[10937,10952,10967,10982,10997],"referencedDeclaration":10937,"src":"4171:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4171:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11003,"id":11010,"nodeType":"Return","src":"4164:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blueBytes","nameLocation":"4087:9:13","parameters":{"id":11000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":10999,"mutability":"mutable","name":"self","nameLocation":"4110:4:13","nodeType":"VariableDeclaration","scope":11012,"src":"4097:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":10998,"name":"bytes","nodeType":"ElementaryTypeName","src":"4097:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4096:19:13"},"returnParameters":{"id":11003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11002,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11012,"src":"4139:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11001,"name":"string","nodeType":"ElementaryTypeName","src":"4139:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4138:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11027,"nodeType":"FunctionDefinition","src":"4207:120:13","nodes":[],"body":{"id":11026,"nodeType":"Block","src":"4280:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11022,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11014,"src":"4314:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11020,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"4302:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4305:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"4302:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4302:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11019,"name":"blue","nodeType":"Identifier","overloadedDeclarations":[10937,10952,10967,10982,10997],"referencedDeclaration":10937,"src":"4297:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4297:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11018,"id":11025,"nodeType":"Return","src":"4290:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"blueBytes32","nameLocation":"4216:11:13","parameters":{"id":11015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11014,"mutability":"mutable","name":"self","nameLocation":"4236:4:13","nodeType":"VariableDeclaration","scope":11027,"src":"4228:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11013,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4228:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4227:14:13"},"returnParameters":{"id":11018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11017,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11027,"src":"4265:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11016,"name":"string","nodeType":"ElementaryTypeName","src":"4265:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4264:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11040,"nodeType":"FunctionDefinition","src":"4333:125:13","nodes":[],"body":{"id":11039,"nodeType":"Block","src":"4408:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":11035,"name":"MAGENTA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10574,"src":"4437:7:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11036,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11029,"src":"4446:4:13","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"}],"id":11034,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"4425:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":11037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4425:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11033,"id":11038,"nodeType":"Return","src":"4418:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4342:7:13","parameters":{"id":11030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11029,"mutability":"mutable","name":"self","nameLocation":"4364:4:13","nodeType":"VariableDeclaration","scope":11040,"src":"4350:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11028,"name":"string","nodeType":"ElementaryTypeName","src":"4350:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4349:20:13"},"returnParameters":{"id":11033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11032,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11040,"src":"4393:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11031,"name":"string","nodeType":"ElementaryTypeName","src":"4393:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4392:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11055,"nodeType":"FunctionDefinition","src":"4464:119:13","nodes":[],"body":{"id":11054,"nodeType":"Block","src":"4533:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11050,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11042,"src":"4570:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11048,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"4558:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4561:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"4558:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":11051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4558:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11047,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[11040,11055,11070,11085,11100],"referencedDeclaration":11040,"src":"4550:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4550:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11046,"id":11053,"nodeType":"Return","src":"4543:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4473:7:13","parameters":{"id":11043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11042,"mutability":"mutable","name":"self","nameLocation":"4489:4:13","nodeType":"VariableDeclaration","scope":11055,"src":"4481:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11041,"name":"uint256","nodeType":"ElementaryTypeName","src":"4481:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4480:14:13"},"returnParameters":{"id":11046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11045,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11055,"src":"4518:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11044,"name":"string","nodeType":"ElementaryTypeName","src":"4518:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4517:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11070,"nodeType":"FunctionDefinition","src":"4589:118:13","nodes":[],"body":{"id":11069,"nodeType":"Block","src":"4657:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11065,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11057,"src":"4694:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":11063,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"4682:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4685:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"4682:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":11066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4682:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11062,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[11040,11055,11070,11085,11100],"referencedDeclaration":11040,"src":"4674:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4674:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11061,"id":11068,"nodeType":"Return","src":"4667:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4598:7:13","parameters":{"id":11058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11057,"mutability":"mutable","name":"self","nameLocation":"4613:4:13","nodeType":"VariableDeclaration","scope":11070,"src":"4606:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11056,"name":"int256","nodeType":"ElementaryTypeName","src":"4606:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4605:13:13"},"returnParameters":{"id":11061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11060,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11070,"src":"4642:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11059,"name":"string","nodeType":"ElementaryTypeName","src":"4642:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4641:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11085,"nodeType":"FunctionDefinition","src":"4713:119:13","nodes":[],"body":{"id":11084,"nodeType":"Block","src":"4782:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11080,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11072,"src":"4819:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11078,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"4807:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4810:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"4807:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":11081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4807:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11077,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[11040,11055,11070,11085,11100],"referencedDeclaration":11040,"src":"4799:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4799:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11076,"id":11083,"nodeType":"Return","src":"4792:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4722:7:13","parameters":{"id":11073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11072,"mutability":"mutable","name":"self","nameLocation":"4738:4:13","nodeType":"VariableDeclaration","scope":11085,"src":"4730:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11071,"name":"address","nodeType":"ElementaryTypeName","src":"4730:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4729:14:13"},"returnParameters":{"id":11076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11075,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11085,"src":"4767:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11074,"name":"string","nodeType":"ElementaryTypeName","src":"4767:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4766:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11100,"nodeType":"FunctionDefinition","src":"4838:116:13","nodes":[],"body":{"id":11099,"nodeType":"Block","src":"4904:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11095,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11087,"src":"4941:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11093,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"4929:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4932:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"4929:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":11096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4929:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11092,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[11040,11055,11070,11085,11100],"referencedDeclaration":11040,"src":"4921:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4921:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11091,"id":11098,"nodeType":"Return","src":"4914:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magenta","nameLocation":"4847:7:13","parameters":{"id":11088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11087,"mutability":"mutable","name":"self","nameLocation":"4860:4:13","nodeType":"VariableDeclaration","scope":11100,"src":"4855:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11086,"name":"bool","nodeType":"ElementaryTypeName","src":"4855:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4854:11:13"},"returnParameters":{"id":11091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11090,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11100,"src":"4889:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11089,"name":"string","nodeType":"ElementaryTypeName","src":"4889:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4888:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11115,"nodeType":"FunctionDefinition","src":"4960:129:13","nodes":[],"body":{"id":11114,"nodeType":"Block","src":"5039:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11110,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11102,"src":"5076:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11108,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"5064:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5067:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"5064:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5064:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11107,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[11040,11055,11070,11085,11100],"referencedDeclaration":11040,"src":"5056:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5056:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11106,"id":11113,"nodeType":"Return","src":"5049:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magentaBytes","nameLocation":"4969:12:13","parameters":{"id":11103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11102,"mutability":"mutable","name":"self","nameLocation":"4995:4:13","nodeType":"VariableDeclaration","scope":11115,"src":"4982:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11101,"name":"bytes","nodeType":"ElementaryTypeName","src":"4982:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4981:19:13"},"returnParameters":{"id":11106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11105,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11115,"src":"5024:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11104,"name":"string","nodeType":"ElementaryTypeName","src":"5024:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5023:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11130,"nodeType":"FunctionDefinition","src":"5095:126:13","nodes":[],"body":{"id":11129,"nodeType":"Block","src":"5171:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11125,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11117,"src":"5208:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11123,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"5196:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5199:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"5196:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5196:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11122,"name":"magenta","nodeType":"Identifier","overloadedDeclarations":[11040,11055,11070,11085,11100],"referencedDeclaration":11040,"src":"5188:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5188:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11121,"id":11128,"nodeType":"Return","src":"5181:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"magentaBytes32","nameLocation":"5104:14:13","parameters":{"id":11118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11117,"mutability":"mutable","name":"self","nameLocation":"5127:4:13","nodeType":"VariableDeclaration","scope":11130,"src":"5119:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11116,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5119:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5118:14:13"},"returnParameters":{"id":11121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11120,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11130,"src":"5156:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11119,"name":"string","nodeType":"ElementaryTypeName","src":"5156:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5155:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11143,"nodeType":"FunctionDefinition","src":"5227:119:13","nodes":[],"body":{"id":11142,"nodeType":"Block","src":"5299:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":11138,"name":"CYAN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10577,"src":"5328:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11139,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11132,"src":"5334:4:13","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"}],"id":11137,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"5316:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":11140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5316:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11136,"id":11141,"nodeType":"Return","src":"5309:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5236:4:13","parameters":{"id":11133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11132,"mutability":"mutable","name":"self","nameLocation":"5255:4:13","nodeType":"VariableDeclaration","scope":11143,"src":"5241:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11131,"name":"string","nodeType":"ElementaryTypeName","src":"5241:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5240:20:13"},"returnParameters":{"id":11136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11135,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11143,"src":"5284:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11134,"name":"string","nodeType":"ElementaryTypeName","src":"5284:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5283:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11158,"nodeType":"FunctionDefinition","src":"5352:113:13","nodes":[],"body":{"id":11157,"nodeType":"Block","src":"5418:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11153,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11145,"src":"5452:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11151,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"5440:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5443:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"5440:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":11154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5440:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11150,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[11143,11158,11173,11188,11203],"referencedDeclaration":11143,"src":"5435:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5435:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11149,"id":11156,"nodeType":"Return","src":"5428:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5361:4:13","parameters":{"id":11146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11145,"mutability":"mutable","name":"self","nameLocation":"5374:4:13","nodeType":"VariableDeclaration","scope":11158,"src":"5366:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11144,"name":"uint256","nodeType":"ElementaryTypeName","src":"5366:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5365:14:13"},"returnParameters":{"id":11149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11148,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11158,"src":"5403:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11147,"name":"string","nodeType":"ElementaryTypeName","src":"5403:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5402:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11173,"nodeType":"FunctionDefinition","src":"5471:112:13","nodes":[],"body":{"id":11172,"nodeType":"Block","src":"5536:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11168,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11160,"src":"5570:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":11166,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"5558:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5561:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"5558:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":11169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5558:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11165,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[11143,11158,11173,11188,11203],"referencedDeclaration":11143,"src":"5553:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5553:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11164,"id":11171,"nodeType":"Return","src":"5546:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5480:4:13","parameters":{"id":11161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11160,"mutability":"mutable","name":"self","nameLocation":"5492:4:13","nodeType":"VariableDeclaration","scope":11173,"src":"5485:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11159,"name":"int256","nodeType":"ElementaryTypeName","src":"5485:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"5484:13:13"},"returnParameters":{"id":11164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11163,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11173,"src":"5521:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11162,"name":"string","nodeType":"ElementaryTypeName","src":"5521:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5520:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11188,"nodeType":"FunctionDefinition","src":"5589:113:13","nodes":[],"body":{"id":11187,"nodeType":"Block","src":"5655:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11183,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11175,"src":"5689:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11181,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"5677:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5680:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"5677:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":11184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5677:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11180,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[11143,11158,11173,11188,11203],"referencedDeclaration":11143,"src":"5672:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5672:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11179,"id":11186,"nodeType":"Return","src":"5665:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5598:4:13","parameters":{"id":11176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11175,"mutability":"mutable","name":"self","nameLocation":"5611:4:13","nodeType":"VariableDeclaration","scope":11188,"src":"5603:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11174,"name":"address","nodeType":"ElementaryTypeName","src":"5603:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5602:14:13"},"returnParameters":{"id":11179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11178,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11188,"src":"5640:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11177,"name":"string","nodeType":"ElementaryTypeName","src":"5640:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5639:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11203,"nodeType":"FunctionDefinition","src":"5708:110:13","nodes":[],"body":{"id":11202,"nodeType":"Block","src":"5771:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11198,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11190,"src":"5805:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11196,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"5793:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5796:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"5793:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":11199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5793:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11195,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[11143,11158,11173,11188,11203],"referencedDeclaration":11143,"src":"5788:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5788:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11194,"id":11201,"nodeType":"Return","src":"5781:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyan","nameLocation":"5717:4:13","parameters":{"id":11191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11190,"mutability":"mutable","name":"self","nameLocation":"5727:4:13","nodeType":"VariableDeclaration","scope":11203,"src":"5722:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11189,"name":"bool","nodeType":"ElementaryTypeName","src":"5722:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5721:11:13"},"returnParameters":{"id":11194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11193,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11203,"src":"5756:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11192,"name":"string","nodeType":"ElementaryTypeName","src":"5756:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5755:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11218,"nodeType":"FunctionDefinition","src":"5824:123:13","nodes":[],"body":{"id":11217,"nodeType":"Block","src":"5900:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11213,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11205,"src":"5934:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11211,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"5922:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5925:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"5922:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5922:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11210,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[11143,11158,11173,11188,11203],"referencedDeclaration":11143,"src":"5917:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5917:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11209,"id":11216,"nodeType":"Return","src":"5910:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyanBytes","nameLocation":"5833:9:13","parameters":{"id":11206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11205,"mutability":"mutable","name":"self","nameLocation":"5856:4:13","nodeType":"VariableDeclaration","scope":11218,"src":"5843:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11204,"name":"bytes","nodeType":"ElementaryTypeName","src":"5843:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5842:19:13"},"returnParameters":{"id":11209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11208,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11218,"src":"5885:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11207,"name":"string","nodeType":"ElementaryTypeName","src":"5885:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5884:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11233,"nodeType":"FunctionDefinition","src":"5953:120:13","nodes":[],"body":{"id":11232,"nodeType":"Block","src":"6026:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11228,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11220,"src":"6060:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11226,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"6048:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6051:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"6048:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6048:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11225,"name":"cyan","nodeType":"Identifier","overloadedDeclarations":[11143,11158,11173,11188,11203],"referencedDeclaration":11143,"src":"6043:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6043:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11224,"id":11231,"nodeType":"Return","src":"6036:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"cyanBytes32","nameLocation":"5962:11:13","parameters":{"id":11221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11220,"mutability":"mutable","name":"self","nameLocation":"5982:4:13","nodeType":"VariableDeclaration","scope":11233,"src":"5974:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11219,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5974:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5973:14:13"},"returnParameters":{"id":11224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11223,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11233,"src":"6011:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11222,"name":"string","nodeType":"ElementaryTypeName","src":"6011:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6010:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11246,"nodeType":"FunctionDefinition","src":"6079:119:13","nodes":[],"body":{"id":11245,"nodeType":"Block","src":"6151:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":11241,"name":"BOLD","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10580,"src":"6180:4:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11242,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11235,"src":"6186:4:13","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"}],"id":11240,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"6168:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":11243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6168:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11239,"id":11244,"nodeType":"Return","src":"6161:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6088:4:13","parameters":{"id":11236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11235,"mutability":"mutable","name":"self","nameLocation":"6107:4:13","nodeType":"VariableDeclaration","scope":11246,"src":"6093:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11234,"name":"string","nodeType":"ElementaryTypeName","src":"6093:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6092:20:13"},"returnParameters":{"id":11239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11238,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11246,"src":"6136:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11237,"name":"string","nodeType":"ElementaryTypeName","src":"6136:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6135:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11261,"nodeType":"FunctionDefinition","src":"6204:113:13","nodes":[],"body":{"id":11260,"nodeType":"Block","src":"6270:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11256,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11248,"src":"6304:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11254,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"6292:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6295:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"6292:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":11257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6292:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11253,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[11246,11261,11276,11291,11306],"referencedDeclaration":11246,"src":"6287:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6287:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11252,"id":11259,"nodeType":"Return","src":"6280:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6213:4:13","parameters":{"id":11249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11248,"mutability":"mutable","name":"self","nameLocation":"6226:4:13","nodeType":"VariableDeclaration","scope":11261,"src":"6218:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11247,"name":"uint256","nodeType":"ElementaryTypeName","src":"6218:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6217:14:13"},"returnParameters":{"id":11252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11251,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11261,"src":"6255:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11250,"name":"string","nodeType":"ElementaryTypeName","src":"6255:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6254:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11276,"nodeType":"FunctionDefinition","src":"6323:112:13","nodes":[],"body":{"id":11275,"nodeType":"Block","src":"6388:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11271,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11263,"src":"6422:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":11269,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"6410:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6413:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"6410:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":11272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6410:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11268,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[11246,11261,11276,11291,11306],"referencedDeclaration":11246,"src":"6405:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6405:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11267,"id":11274,"nodeType":"Return","src":"6398:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6332:4:13","parameters":{"id":11264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11263,"mutability":"mutable","name":"self","nameLocation":"6344:4:13","nodeType":"VariableDeclaration","scope":11276,"src":"6337:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11262,"name":"int256","nodeType":"ElementaryTypeName","src":"6337:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"6336:13:13"},"returnParameters":{"id":11267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11266,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11276,"src":"6373:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11265,"name":"string","nodeType":"ElementaryTypeName","src":"6373:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6372:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11291,"nodeType":"FunctionDefinition","src":"6441:113:13","nodes":[],"body":{"id":11290,"nodeType":"Block","src":"6507:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11286,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11278,"src":"6541:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11284,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"6529:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6532:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"6529:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":11287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6529:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11283,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[11246,11261,11276,11291,11306],"referencedDeclaration":11246,"src":"6524:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6524:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11282,"id":11289,"nodeType":"Return","src":"6517:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6450:4:13","parameters":{"id":11279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11278,"mutability":"mutable","name":"self","nameLocation":"6463:4:13","nodeType":"VariableDeclaration","scope":11291,"src":"6455:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11277,"name":"address","nodeType":"ElementaryTypeName","src":"6455:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6454:14:13"},"returnParameters":{"id":11282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11281,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11291,"src":"6492:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11280,"name":"string","nodeType":"ElementaryTypeName","src":"6492:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6491:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11306,"nodeType":"FunctionDefinition","src":"6560:110:13","nodes":[],"body":{"id":11305,"nodeType":"Block","src":"6623:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11301,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11293,"src":"6657:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11299,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"6645:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6648:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"6645:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":11302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6645:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11298,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[11246,11261,11276,11291,11306],"referencedDeclaration":11246,"src":"6640:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6640:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11297,"id":11304,"nodeType":"Return","src":"6633:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bold","nameLocation":"6569:4:13","parameters":{"id":11294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11293,"mutability":"mutable","name":"self","nameLocation":"6579:4:13","nodeType":"VariableDeclaration","scope":11306,"src":"6574:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11292,"name":"bool","nodeType":"ElementaryTypeName","src":"6574:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6573:11:13"},"returnParameters":{"id":11297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11296,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11306,"src":"6608:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11295,"name":"string","nodeType":"ElementaryTypeName","src":"6608:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6607:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11321,"nodeType":"FunctionDefinition","src":"6676:123:13","nodes":[],"body":{"id":11320,"nodeType":"Block","src":"6752:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11316,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11308,"src":"6786:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11314,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"6774:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6777:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"6774:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6774:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11313,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[11246,11261,11276,11291,11306],"referencedDeclaration":11246,"src":"6769:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6769:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11312,"id":11319,"nodeType":"Return","src":"6762:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"boldBytes","nameLocation":"6685:9:13","parameters":{"id":11309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11308,"mutability":"mutable","name":"self","nameLocation":"6708:4:13","nodeType":"VariableDeclaration","scope":11321,"src":"6695:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11307,"name":"bytes","nodeType":"ElementaryTypeName","src":"6695:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6694:19:13"},"returnParameters":{"id":11312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11321,"src":"6737:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11310,"name":"string","nodeType":"ElementaryTypeName","src":"6737:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6736:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11336,"nodeType":"FunctionDefinition","src":"6805:120:13","nodes":[],"body":{"id":11335,"nodeType":"Block","src":"6878:47:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11331,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11323,"src":"6912:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11329,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"6900:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6903:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"6900:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6900:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11328,"name":"bold","nodeType":"Identifier","overloadedDeclarations":[11246,11261,11276,11291,11306],"referencedDeclaration":11246,"src":"6895:4:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6895:23:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11327,"id":11334,"nodeType":"Return","src":"6888:30:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"boldBytes32","nameLocation":"6814:11:13","parameters":{"id":11324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11323,"mutability":"mutable","name":"self","nameLocation":"6834:4:13","nodeType":"VariableDeclaration","scope":11336,"src":"6826:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11322,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6826:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6825:14:13"},"returnParameters":{"id":11327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11326,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11336,"src":"6863:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11325,"name":"string","nodeType":"ElementaryTypeName","src":"6863:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6862:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11349,"nodeType":"FunctionDefinition","src":"6931:117:13","nodes":[],"body":{"id":11348,"nodeType":"Block","src":"7002:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":11344,"name":"DIM","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10583,"src":"7031:3:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11345,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11338,"src":"7036:4:13","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"}],"id":11343,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"7019:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":11346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7019:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11342,"id":11347,"nodeType":"Return","src":"7012:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"6940:3:13","parameters":{"id":11339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11338,"mutability":"mutable","name":"self","nameLocation":"6958:4:13","nodeType":"VariableDeclaration","scope":11349,"src":"6944:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11337,"name":"string","nodeType":"ElementaryTypeName","src":"6944:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6943:20:13"},"returnParameters":{"id":11342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11341,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11349,"src":"6987:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11340,"name":"string","nodeType":"ElementaryTypeName","src":"6987:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6986:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11364,"nodeType":"FunctionDefinition","src":"7054:111:13","nodes":[],"body":{"id":11363,"nodeType":"Block","src":"7119:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11359,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11351,"src":"7152:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11357,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"7140:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7143:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"7140:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":11360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7140:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11356,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[11349,11364,11379,11394,11409],"referencedDeclaration":11349,"src":"7136:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7136:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11355,"id":11362,"nodeType":"Return","src":"7129:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7063:3:13","parameters":{"id":11352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11351,"mutability":"mutable","name":"self","nameLocation":"7075:4:13","nodeType":"VariableDeclaration","scope":11364,"src":"7067:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11350,"name":"uint256","nodeType":"ElementaryTypeName","src":"7067:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7066:14:13"},"returnParameters":{"id":11355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11354,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11364,"src":"7104:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11353,"name":"string","nodeType":"ElementaryTypeName","src":"7104:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7103:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11379,"nodeType":"FunctionDefinition","src":"7171:110:13","nodes":[],"body":{"id":11378,"nodeType":"Block","src":"7235:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11374,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11366,"src":"7268:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":11372,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"7256:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7259:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"7256:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":11375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7256:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11371,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[11349,11364,11379,11394,11409],"referencedDeclaration":11349,"src":"7252:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7252:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11370,"id":11377,"nodeType":"Return","src":"7245:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7180:3:13","parameters":{"id":11367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11366,"mutability":"mutable","name":"self","nameLocation":"7191:4:13","nodeType":"VariableDeclaration","scope":11379,"src":"7184:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11365,"name":"int256","nodeType":"ElementaryTypeName","src":"7184:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7183:13:13"},"returnParameters":{"id":11370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11369,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11379,"src":"7220:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11368,"name":"string","nodeType":"ElementaryTypeName","src":"7220:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7219:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11394,"nodeType":"FunctionDefinition","src":"7287:111:13","nodes":[],"body":{"id":11393,"nodeType":"Block","src":"7352:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11389,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11381,"src":"7385:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11387,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"7373:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7376:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"7373:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":11390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7373:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11386,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[11349,11364,11379,11394,11409],"referencedDeclaration":11349,"src":"7369:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7369:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11385,"id":11392,"nodeType":"Return","src":"7362:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7296:3:13","parameters":{"id":11382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11381,"mutability":"mutable","name":"self","nameLocation":"7308:4:13","nodeType":"VariableDeclaration","scope":11394,"src":"7300:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11380,"name":"address","nodeType":"ElementaryTypeName","src":"7300:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7299:14:13"},"returnParameters":{"id":11385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11384,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11394,"src":"7337:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11383,"name":"string","nodeType":"ElementaryTypeName","src":"7337:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7336:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11409,"nodeType":"FunctionDefinition","src":"7404:108:13","nodes":[],"body":{"id":11408,"nodeType":"Block","src":"7466:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11404,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11396,"src":"7499:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11402,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"7487:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7490:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"7487:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":11405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7487:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11401,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[11349,11364,11379,11394,11409],"referencedDeclaration":11349,"src":"7483:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7483:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11400,"id":11407,"nodeType":"Return","src":"7476:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dim","nameLocation":"7413:3:13","parameters":{"id":11397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11396,"mutability":"mutable","name":"self","nameLocation":"7422:4:13","nodeType":"VariableDeclaration","scope":11409,"src":"7417:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11395,"name":"bool","nodeType":"ElementaryTypeName","src":"7417:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7416:11:13"},"returnParameters":{"id":11400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11399,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11409,"src":"7451:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11398,"name":"string","nodeType":"ElementaryTypeName","src":"7451:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7450:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11424,"nodeType":"FunctionDefinition","src":"7518:121:13","nodes":[],"body":{"id":11423,"nodeType":"Block","src":"7593:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11419,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11411,"src":"7626:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11417,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"7614:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7617:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"7614:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7614:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11416,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[11349,11364,11379,11394,11409],"referencedDeclaration":11349,"src":"7610:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7610:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11415,"id":11422,"nodeType":"Return","src":"7603:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dimBytes","nameLocation":"7527:8:13","parameters":{"id":11412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11411,"mutability":"mutable","name":"self","nameLocation":"7549:4:13","nodeType":"VariableDeclaration","scope":11424,"src":"7536:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11410,"name":"bytes","nodeType":"ElementaryTypeName","src":"7536:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7535:19:13"},"returnParameters":{"id":11415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11414,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11424,"src":"7578:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11413,"name":"string","nodeType":"ElementaryTypeName","src":"7578:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7577:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11439,"nodeType":"FunctionDefinition","src":"7645:118:13","nodes":[],"body":{"id":11438,"nodeType":"Block","src":"7717:46:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11434,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11426,"src":"7750:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11432,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"7738:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7741:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"7738:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7738:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11431,"name":"dim","nodeType":"Identifier","overloadedDeclarations":[11349,11364,11379,11394,11409],"referencedDeclaration":11349,"src":"7734:3:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7734:22:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11430,"id":11437,"nodeType":"Return","src":"7727:29:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dimBytes32","nameLocation":"7654:10:13","parameters":{"id":11427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11426,"mutability":"mutable","name":"self","nameLocation":"7673:4:13","nodeType":"VariableDeclaration","scope":11439,"src":"7665:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11425,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7665:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7664:14:13"},"returnParameters":{"id":11430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11429,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11439,"src":"7702:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11428,"name":"string","nodeType":"ElementaryTypeName","src":"7702:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7701:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11452,"nodeType":"FunctionDefinition","src":"7769:123:13","nodes":[],"body":{"id":11451,"nodeType":"Block","src":"7843:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":11447,"name":"ITALIC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10586,"src":"7872:6:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11448,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11441,"src":"7880:4:13","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"}],"id":11446,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"7860:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":11449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7860:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11445,"id":11450,"nodeType":"Return","src":"7853:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"7778:6:13","parameters":{"id":11442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11441,"mutability":"mutable","name":"self","nameLocation":"7799:4:13","nodeType":"VariableDeclaration","scope":11452,"src":"7785:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11440,"name":"string","nodeType":"ElementaryTypeName","src":"7785:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7784:20:13"},"returnParameters":{"id":11445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11444,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11452,"src":"7828:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11443,"name":"string","nodeType":"ElementaryTypeName","src":"7828:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7827:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11467,"nodeType":"FunctionDefinition","src":"7898:117:13","nodes":[],"body":{"id":11466,"nodeType":"Block","src":"7966:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11462,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11454,"src":"8002:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11460,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"7990:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7993:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"7990:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":11463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7990:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11459,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[11452,11467,11482,11497,11512],"referencedDeclaration":11452,"src":"7983:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7983:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11458,"id":11465,"nodeType":"Return","src":"7976:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"7907:6:13","parameters":{"id":11455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11454,"mutability":"mutable","name":"self","nameLocation":"7922:4:13","nodeType":"VariableDeclaration","scope":11467,"src":"7914:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11453,"name":"uint256","nodeType":"ElementaryTypeName","src":"7914:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7913:14:13"},"returnParameters":{"id":11458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11457,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11467,"src":"7951:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11456,"name":"string","nodeType":"ElementaryTypeName","src":"7951:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7950:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11482,"nodeType":"FunctionDefinition","src":"8021:116:13","nodes":[],"body":{"id":11481,"nodeType":"Block","src":"8088:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11477,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11469,"src":"8124:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":11475,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"8112:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8115:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"8112:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":11478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8112:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11474,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[11452,11467,11482,11497,11512],"referencedDeclaration":11452,"src":"8105:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8105:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11473,"id":11480,"nodeType":"Return","src":"8098:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"8030:6:13","parameters":{"id":11470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11469,"mutability":"mutable","name":"self","nameLocation":"8044:4:13","nodeType":"VariableDeclaration","scope":11482,"src":"8037:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11468,"name":"int256","nodeType":"ElementaryTypeName","src":"8037:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8036:13:13"},"returnParameters":{"id":11473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11472,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11482,"src":"8073:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11471,"name":"string","nodeType":"ElementaryTypeName","src":"8073:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8072:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11497,"nodeType":"FunctionDefinition","src":"8143:117:13","nodes":[],"body":{"id":11496,"nodeType":"Block","src":"8211:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11492,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11484,"src":"8247:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11490,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"8235:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8238:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"8235:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":11493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8235:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11489,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[11452,11467,11482,11497,11512],"referencedDeclaration":11452,"src":"8228:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8228:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11488,"id":11495,"nodeType":"Return","src":"8221:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"8152:6:13","parameters":{"id":11485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11484,"mutability":"mutable","name":"self","nameLocation":"8167:4:13","nodeType":"VariableDeclaration","scope":11497,"src":"8159:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11483,"name":"address","nodeType":"ElementaryTypeName","src":"8159:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8158:14:13"},"returnParameters":{"id":11488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11487,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11497,"src":"8196:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11486,"name":"string","nodeType":"ElementaryTypeName","src":"8196:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8195:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11512,"nodeType":"FunctionDefinition","src":"8266:114:13","nodes":[],"body":{"id":11511,"nodeType":"Block","src":"8331:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11507,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11499,"src":"8367:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11505,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"8355:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8358:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"8355:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":11508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8355:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11504,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[11452,11467,11482,11497,11512],"referencedDeclaration":11452,"src":"8348:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8348:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11503,"id":11510,"nodeType":"Return","src":"8341:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italic","nameLocation":"8275:6:13","parameters":{"id":11500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11499,"mutability":"mutable","name":"self","nameLocation":"8287:4:13","nodeType":"VariableDeclaration","scope":11512,"src":"8282:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11498,"name":"bool","nodeType":"ElementaryTypeName","src":"8282:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8281:11:13"},"returnParameters":{"id":11503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11502,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11512,"src":"8316:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11501,"name":"string","nodeType":"ElementaryTypeName","src":"8316:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8315:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11527,"nodeType":"FunctionDefinition","src":"8386:127:13","nodes":[],"body":{"id":11526,"nodeType":"Block","src":"8464:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11522,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11514,"src":"8500:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11520,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"8488:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8491:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"8488:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8488:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11519,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[11452,11467,11482,11497,11512],"referencedDeclaration":11452,"src":"8481:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8481:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11518,"id":11525,"nodeType":"Return","src":"8474:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italicBytes","nameLocation":"8395:11:13","parameters":{"id":11515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11514,"mutability":"mutable","name":"self","nameLocation":"8420:4:13","nodeType":"VariableDeclaration","scope":11527,"src":"8407:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11513,"name":"bytes","nodeType":"ElementaryTypeName","src":"8407:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8406:19:13"},"returnParameters":{"id":11518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11517,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11527,"src":"8449:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11516,"name":"string","nodeType":"ElementaryTypeName","src":"8449:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8448:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11542,"nodeType":"FunctionDefinition","src":"8519:124:13","nodes":[],"body":{"id":11541,"nodeType":"Block","src":"8594:49:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11537,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11529,"src":"8630:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11535,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"8618:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8621:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"8618:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8618:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11534,"name":"italic","nodeType":"Identifier","overloadedDeclarations":[11452,11467,11482,11497,11512],"referencedDeclaration":11452,"src":"8611:6:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8611:25:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11533,"id":11540,"nodeType":"Return","src":"8604:32:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"italicBytes32","nameLocation":"8528:13:13","parameters":{"id":11530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11529,"mutability":"mutable","name":"self","nameLocation":"8550:4:13","nodeType":"VariableDeclaration","scope":11542,"src":"8542:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11528,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8542:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8541:14:13"},"returnParameters":{"id":11533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11532,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11542,"src":"8579:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11531,"name":"string","nodeType":"ElementaryTypeName","src":"8579:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8578:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11555,"nodeType":"FunctionDefinition","src":"8649:129:13","nodes":[],"body":{"id":11554,"nodeType":"Block","src":"8726:52:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":11550,"name":"UNDERLINE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10589,"src":"8755:9:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11551,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11544,"src":"8766:4:13","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"}],"id":11549,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"8743:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":11552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8743:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11548,"id":11553,"nodeType":"Return","src":"8736:35:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"8658:9:13","parameters":{"id":11545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11544,"mutability":"mutable","name":"self","nameLocation":"8682:4:13","nodeType":"VariableDeclaration","scope":11555,"src":"8668:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11543,"name":"string","nodeType":"ElementaryTypeName","src":"8668:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8667:20:13"},"returnParameters":{"id":11548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11547,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11555,"src":"8711:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11546,"name":"string","nodeType":"ElementaryTypeName","src":"8711:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8710:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11570,"nodeType":"FunctionDefinition","src":"8784:123:13","nodes":[],"body":{"id":11569,"nodeType":"Block","src":"8855:52:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11565,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11557,"src":"8894:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11563,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"8882:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8885:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"8882:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":11566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8882:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11562,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[11555,11570,11585,11600,11615],"referencedDeclaration":11555,"src":"8872:9:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8872:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11561,"id":11568,"nodeType":"Return","src":"8865:35:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"8793:9:13","parameters":{"id":11558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11557,"mutability":"mutable","name":"self","nameLocation":"8811:4:13","nodeType":"VariableDeclaration","scope":11570,"src":"8803:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11556,"name":"uint256","nodeType":"ElementaryTypeName","src":"8803:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8802:14:13"},"returnParameters":{"id":11561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11560,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11570,"src":"8840:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11559,"name":"string","nodeType":"ElementaryTypeName","src":"8840:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8839:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11585,"nodeType":"FunctionDefinition","src":"8913:122:13","nodes":[],"body":{"id":11584,"nodeType":"Block","src":"8983:52:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11580,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11572,"src":"9022:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":11578,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"9010:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9013:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"9010:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":11581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9010:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11577,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[11555,11570,11585,11600,11615],"referencedDeclaration":11555,"src":"9000:9:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9000:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11576,"id":11583,"nodeType":"Return","src":"8993:35:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"8922:9:13","parameters":{"id":11573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11572,"mutability":"mutable","name":"self","nameLocation":"8939:4:13","nodeType":"VariableDeclaration","scope":11585,"src":"8932:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11571,"name":"int256","nodeType":"ElementaryTypeName","src":"8932:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8931:13:13"},"returnParameters":{"id":11576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11575,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11585,"src":"8968:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11574,"name":"string","nodeType":"ElementaryTypeName","src":"8968:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8967:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11600,"nodeType":"FunctionDefinition","src":"9041:123:13","nodes":[],"body":{"id":11599,"nodeType":"Block","src":"9112:52:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11595,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11587,"src":"9151:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11593,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"9139:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9142:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"9139:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":11596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9139:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11592,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[11555,11570,11585,11600,11615],"referencedDeclaration":11555,"src":"9129:9:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9129:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11591,"id":11598,"nodeType":"Return","src":"9122:35:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"9050:9:13","parameters":{"id":11588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11587,"mutability":"mutable","name":"self","nameLocation":"9068:4:13","nodeType":"VariableDeclaration","scope":11600,"src":"9060:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11586,"name":"address","nodeType":"ElementaryTypeName","src":"9060:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9059:14:13"},"returnParameters":{"id":11591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11590,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11600,"src":"9097:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11589,"name":"string","nodeType":"ElementaryTypeName","src":"9097:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9096:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11615,"nodeType":"FunctionDefinition","src":"9170:120:13","nodes":[],"body":{"id":11614,"nodeType":"Block","src":"9238:52:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11610,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11602,"src":"9277:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11608,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"9265:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9268:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"9265:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":11611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9265:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11607,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[11555,11570,11585,11600,11615],"referencedDeclaration":11555,"src":"9255:9:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9255:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11606,"id":11613,"nodeType":"Return","src":"9248:35:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underline","nameLocation":"9179:9:13","parameters":{"id":11603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11602,"mutability":"mutable","name":"self","nameLocation":"9194:4:13","nodeType":"VariableDeclaration","scope":11615,"src":"9189:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11601,"name":"bool","nodeType":"ElementaryTypeName","src":"9189:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9188:11:13"},"returnParameters":{"id":11606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11605,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11615,"src":"9223:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11604,"name":"string","nodeType":"ElementaryTypeName","src":"9223:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9222:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11630,"nodeType":"FunctionDefinition","src":"9296:133:13","nodes":[],"body":{"id":11629,"nodeType":"Block","src":"9377:52:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11625,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11617,"src":"9416:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11623,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"9404:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9407:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"9404:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9404:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11622,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[11555,11570,11585,11600,11615],"referencedDeclaration":11555,"src":"9394:9:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9394:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11621,"id":11628,"nodeType":"Return","src":"9387:35:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underlineBytes","nameLocation":"9305:14:13","parameters":{"id":11618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11617,"mutability":"mutable","name":"self","nameLocation":"9333:4:13","nodeType":"VariableDeclaration","scope":11630,"src":"9320:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11616,"name":"bytes","nodeType":"ElementaryTypeName","src":"9320:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9319:19:13"},"returnParameters":{"id":11621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11630,"src":"9362:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11619,"name":"string","nodeType":"ElementaryTypeName","src":"9362:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9361:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11645,"nodeType":"FunctionDefinition","src":"9435:130:13","nodes":[],"body":{"id":11644,"nodeType":"Block","src":"9513:52:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11640,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11632,"src":"9552:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11638,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"9540:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9543:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"9540:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9540:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11637,"name":"underline","nodeType":"Identifier","overloadedDeclarations":[11555,11570,11585,11600,11615],"referencedDeclaration":11555,"src":"9530:9:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9530:28:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11636,"id":11643,"nodeType":"Return","src":"9523:35:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"underlineBytes32","nameLocation":"9444:16:13","parameters":{"id":11633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11632,"mutability":"mutable","name":"self","nameLocation":"9469:4:13","nodeType":"VariableDeclaration","scope":11645,"src":"9461:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9461:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9460:14:13"},"returnParameters":{"id":11636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11635,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11645,"src":"9498:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11634,"name":"string","nodeType":"ElementaryTypeName","src":"9498:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9497:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11658,"nodeType":"FunctionDefinition","src":"9571:125:13","nodes":[],"body":{"id":11657,"nodeType":"Block","src":"9646:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"id":11653,"name":"INVERSE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10592,"src":"9675:7:13","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11654,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11647,"src":"9684:4:13","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"}],"id":11652,"name":"styleConcat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10615,"src":"9663:11:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":11655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9663:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11651,"id":11656,"nodeType":"Return","src":"9656:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9580:7:13","parameters":{"id":11648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11647,"mutability":"mutable","name":"self","nameLocation":"9602:4:13","nodeType":"VariableDeclaration","scope":11658,"src":"9588:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11646,"name":"string","nodeType":"ElementaryTypeName","src":"9588:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9587:20:13"},"returnParameters":{"id":11651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11650,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11658,"src":"9631:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11649,"name":"string","nodeType":"ElementaryTypeName","src":"9631:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9630:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11673,"nodeType":"FunctionDefinition","src":"9702:119:13","nodes":[],"body":{"id":11672,"nodeType":"Block","src":"9771:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11668,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11660,"src":"9808:4:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":11666,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"9796:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9799:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15761,"src":"9796:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":11669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9796:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11665,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[11658,11673,11688,11703,11718],"referencedDeclaration":11658,"src":"9788:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9788:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11664,"id":11671,"nodeType":"Return","src":"9781:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9711:7:13","parameters":{"id":11661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11660,"mutability":"mutable","name":"self","nameLocation":"9727:4:13","nodeType":"VariableDeclaration","scope":11673,"src":"9719:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11659,"name":"uint256","nodeType":"ElementaryTypeName","src":"9719:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9718:14:13"},"returnParameters":{"id":11664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11663,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11673,"src":"9756:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11662,"name":"string","nodeType":"ElementaryTypeName","src":"9756:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9755:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11688,"nodeType":"FunctionDefinition","src":"9827:118:13","nodes":[],"body":{"id":11687,"nodeType":"Block","src":"9895:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11683,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11675,"src":"9932:4:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":11681,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"9920:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9923:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"9920:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":11684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9920:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11680,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[11658,11673,11688,11703,11718],"referencedDeclaration":11658,"src":"9912:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9912:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11679,"id":11686,"nodeType":"Return","src":"9905:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9836:7:13","parameters":{"id":11676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11675,"mutability":"mutable","name":"self","nameLocation":"9851:4:13","nodeType":"VariableDeclaration","scope":11688,"src":"9844:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11674,"name":"int256","nodeType":"ElementaryTypeName","src":"9844:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"9843:13:13"},"returnParameters":{"id":11679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11678,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11688,"src":"9880:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11677,"name":"string","nodeType":"ElementaryTypeName","src":"9880:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9879:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11703,"nodeType":"FunctionDefinition","src":"9951:119:13","nodes":[],"body":{"id":11702,"nodeType":"Block","src":"10020:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11698,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11690,"src":"10057:4:13","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":11696,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"10045:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10048:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15729,"src":"10045:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (address) pure external returns (string memory)"}},"id":11699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10045:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11695,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[11658,11673,11688,11703,11718],"referencedDeclaration":11658,"src":"10037:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10037:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11694,"id":11701,"nodeType":"Return","src":"10030:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"9960:7:13","parameters":{"id":11691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11690,"mutability":"mutable","name":"self","nameLocation":"9976:4:13","nodeType":"VariableDeclaration","scope":11703,"src":"9968:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11689,"name":"address","nodeType":"ElementaryTypeName","src":"9968:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9967:14:13"},"returnParameters":{"id":11694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11693,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11703,"src":"10005:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11692,"name":"string","nodeType":"ElementaryTypeName","src":"10005:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10004:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11718,"nodeType":"FunctionDefinition","src":"10076:116:13","nodes":[],"body":{"id":11717,"nodeType":"Block","src":"10142:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11713,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11705,"src":"10179:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":11711,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"10167:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10170:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15753,"src":"10167:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (bool) pure external returns (string memory)"}},"id":11714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10167:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11710,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[11658,11673,11688,11703,11718],"referencedDeclaration":11658,"src":"10159:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10159:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11709,"id":11716,"nodeType":"Return","src":"10152:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverse","nameLocation":"10085:7:13","parameters":{"id":11706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11705,"mutability":"mutable","name":"self","nameLocation":"10098:4:13","nodeType":"VariableDeclaration","scope":11718,"src":"10093:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11704,"name":"bool","nodeType":"ElementaryTypeName","src":"10093:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10092:11:13"},"returnParameters":{"id":11709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11708,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11718,"src":"10127:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11707,"name":"string","nodeType":"ElementaryTypeName","src":"10127:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10126:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11733,"nodeType":"FunctionDefinition","src":"10198:129:13","nodes":[],"body":{"id":11732,"nodeType":"Block","src":"10277:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11728,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11720,"src":"10314:4:13","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":11726,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"10302:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10305:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15737,"src":"10302:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure external returns (string memory)"}},"id":11729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10302:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11725,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[11658,11673,11688,11703,11718],"referencedDeclaration":11658,"src":"10294:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10294:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11724,"id":11731,"nodeType":"Return","src":"10287:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverseBytes","nameLocation":"10207:12:13","parameters":{"id":11721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11720,"mutability":"mutable","name":"self","nameLocation":"10233:4:13","nodeType":"VariableDeclaration","scope":11733,"src":"10220:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11719,"name":"bytes","nodeType":"ElementaryTypeName","src":"10220:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10219:19:13"},"returnParameters":{"id":11724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11723,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11733,"src":"10262:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11722,"name":"string","nodeType":"ElementaryTypeName","src":"10262:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10261:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11748,"nodeType":"FunctionDefinition","src":"10333:126:13","nodes":[],"body":{"id":11747,"nodeType":"Block","src":"10409:50:13","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":11743,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11735,"src":"10446:4:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":11741,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10559,"src":"10434:2:13","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10437:8:13","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15745,"src":"10434:11:13","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (bytes32) pure external returns (string memory)"}},"id":11744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10434:17:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":11740,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[11658,11673,11688,11703,11718],"referencedDeclaration":11658,"src":"10426:7:13","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) pure returns (string memory)"}},"id":11745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10426:26:13","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11739,"id":11746,"nodeType":"Return","src":"10419:33:13"}]},"implemented":true,"kind":"function","modifiers":[],"name":"inverseBytes32","nameLocation":"10342:14:13","parameters":{"id":11736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11735,"mutability":"mutable","name":"self","nameLocation":"10365:4:13","nodeType":"VariableDeclaration","scope":11748,"src":"10357:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11734,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10357:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"10356:14:13"},"returnParameters":{"id":11739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11738,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11748,"src":"10394:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11737,"name":"string","nodeType":"ElementaryTypeName","src":"10394:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10393:15:13"},"scope":11749,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"StdStyle","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[11749],"name":"StdStyle","nameLocation":"108:8:13","scope":11750,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdToml.sol":{"id":14,"ast":{"absolutePath":"lib/forge-std/src/StdToml.sol","id":12694,"exportedSymbols":{"VmSafe":[17608],"stdToml":[12693]},"nodeType":"SourceUnit","src":"32:9671:14","nodes":[{"id":11751,"nodeType":"PragmaDirective","src":"32:31:14","nodes":[],"literals":["solidity",">=","0.6",".0","<","0.9",".0"]},{"id":11752,"nodeType":"PragmaDirective","src":"65:33:14","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":11754,"nodeType":"ImportDirective","src":"100:32:14","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":12694,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":11753,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"108:6:14","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12693,"nodeType":"ContractDefinition","src":"610:9092:14","nodes":[{"id":11771,"nodeType":"VariableDeclaration","src":"632:92:14","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"656:2:14","scope":12693,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"},"typeName":{"id":11756,"nodeType":"UserDefinedTypeName","pathNode":{"id":11755,"name":"VmSafe","nameLocations":["632:6:14"],"nodeType":"IdentifierPath","referencedDeclaration":17608,"src":"632:6:14"},"referencedDeclaration":17608,"src":"632:6:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":11765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"702:17:14","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":11764,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"692:9:14","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":11766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"692:28:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":11763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"684:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":11762,"name":"uint256","nodeType":"ElementaryTypeName","src":"684:7:14","typeDescriptions":{}}},"id":11767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"684:37:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":11761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"676:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":11760,"name":"uint160","nodeType":"ElementaryTypeName","src":"676:7:14","typeDescriptions":{}}},"id":11768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"676:46:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":11759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"668:7:14","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":11758,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:14","typeDescriptions":{}}},"id":11769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"668:55:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":11757,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"661:6:14","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$17608_$","typeString":"type(contract VmSafe)"}},"id":11770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"661:63:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"visibility":"private"},{"id":11787,"nodeType":"FunctionDefinition","src":"731:138:14","nodes":[],"body":{"id":11786,"nodeType":"Block","src":"818:51:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11782,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11773,"src":"852:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11783,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11775,"src":"858:3:14","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":11780,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"835:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"838:13:14","memberName":"keyExistsToml","nodeType":"MemberAccess","referencedDeclaration":17093,"src":"835:16:14","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view external returns (bool)"}},"id":11784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"835:27:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11779,"id":11785,"nodeType":"Return","src":"828:34:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"keyExists","nameLocation":"740:9:14","parameters":{"id":11776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11773,"mutability":"mutable","name":"toml","nameLocation":"764:4:14","nodeType":"VariableDeclaration","scope":11787,"src":"750:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11772,"name":"string","nodeType":"ElementaryTypeName","src":"750:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11775,"mutability":"mutable","name":"key","nameLocation":"784:3:14","nodeType":"VariableDeclaration","scope":11787,"src":"770:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11774,"name":"string","nodeType":"ElementaryTypeName","src":"770:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"749:39:14"},"returnParameters":{"id":11779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11778,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11787,"src":"812:4:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11777,"name":"bool","nodeType":"ElementaryTypeName","src":"812:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"811:6:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":11803,"nodeType":"FunctionDefinition","src":"875:141:14","nodes":[],"body":{"id":11802,"nodeType":"Block","src":"969:47:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11798,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11789,"src":"999:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11799,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11791,"src":"1005:3:14","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":11796,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"986:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"989:9:14","memberName":"parseToml","nodeType":"MemberAccess","referencedDeclaration":17303,"src":"986:12:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":11800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"986:23:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":11795,"id":11801,"nodeType":"Return","src":"979:30:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"parseRaw","nameLocation":"884:8:14","parameters":{"id":11792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11789,"mutability":"mutable","name":"toml","nameLocation":"907:4:14","nodeType":"VariableDeclaration","scope":11803,"src":"893:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11788,"name":"string","nodeType":"ElementaryTypeName","src":"893:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11791,"mutability":"mutable","name":"key","nameLocation":"927:3:14","nodeType":"VariableDeclaration","scope":11803,"src":"913:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11790,"name":"string","nodeType":"ElementaryTypeName","src":"913:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"892:39:14"},"returnParameters":{"id":11795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11794,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11803,"src":"955:12:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":11793,"name":"bytes","nodeType":"ElementaryTypeName","src":"955:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"954:14:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11819,"nodeType":"FunctionDefinition","src":"1022:140:14","nodes":[],"body":{"id":11818,"nodeType":"Block","src":"1111:51:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11814,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11805,"src":"1145:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11815,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11807,"src":"1151:3:14","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":11812,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"1128:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1131:13:14","memberName":"parseTomlUint","nodeType":"MemberAccess","referencedDeclaration":17274,"src":"1128:16:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory,string memory) pure external returns (uint256)"}},"id":11816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1128:27:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":11811,"id":11817,"nodeType":"Return","src":"1121:34:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUint","nameLocation":"1031:8:14","parameters":{"id":11808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11805,"mutability":"mutable","name":"toml","nameLocation":"1054:4:14","nodeType":"VariableDeclaration","scope":11819,"src":"1040:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11804,"name":"string","nodeType":"ElementaryTypeName","src":"1040:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11807,"mutability":"mutable","name":"key","nameLocation":"1074:3:14","nodeType":"VariableDeclaration","scope":11819,"src":"1060:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11806,"name":"string","nodeType":"ElementaryTypeName","src":"1060:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1039:39:14"},"returnParameters":{"id":11811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11810,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11819,"src":"1102:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":11809,"name":"uint256","nodeType":"ElementaryTypeName","src":"1102:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1101:9:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11836,"nodeType":"FunctionDefinition","src":"1168:159:14","nodes":[],"body":{"id":11835,"nodeType":"Block","src":"1271:56:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11831,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11821,"src":"1310:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11832,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11823,"src":"1316:3:14","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":11829,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"1288:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1291:18:14","memberName":"parseTomlUintArray","nodeType":"MemberAccess","referencedDeclaration":17285,"src":"1288:21:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (uint256[] memory)"}},"id":11833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1288:32:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":11828,"id":11834,"nodeType":"Return","src":"1281:39:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintArray","nameLocation":"1177:13:14","parameters":{"id":11824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11821,"mutability":"mutable","name":"toml","nameLocation":"1205:4:14","nodeType":"VariableDeclaration","scope":11836,"src":"1191:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11820,"name":"string","nodeType":"ElementaryTypeName","src":"1191:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11823,"mutability":"mutable","name":"key","nameLocation":"1225:3:14","nodeType":"VariableDeclaration","scope":11836,"src":"1211:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11822,"name":"string","nodeType":"ElementaryTypeName","src":"1211:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1190:39:14"},"returnParameters":{"id":11828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11827,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11836,"src":"1253:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":11825,"name":"uint256","nodeType":"ElementaryTypeName","src":"1253:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":11826,"nodeType":"ArrayTypeName","src":"1253:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1252:18:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11852,"nodeType":"FunctionDefinition","src":"1333:137:14","nodes":[],"body":{"id":11851,"nodeType":"Block","src":"1420:50:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11847,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11838,"src":"1453:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11848,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11840,"src":"1459:3:14","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":11845,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"1437:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1440:12:14","memberName":"parseTomlInt","nodeType":"MemberAccess","referencedDeclaration":17187,"src":"1437:15:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_int256_$","typeString":"function (string memory,string memory) pure external returns (int256)"}},"id":11849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1437:26:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":11844,"id":11850,"nodeType":"Return","src":"1430:33:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readInt","nameLocation":"1342:7:14","parameters":{"id":11841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11838,"mutability":"mutable","name":"toml","nameLocation":"1364:4:14","nodeType":"VariableDeclaration","scope":11852,"src":"1350:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11837,"name":"string","nodeType":"ElementaryTypeName","src":"1350:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11840,"mutability":"mutable","name":"key","nameLocation":"1384:3:14","nodeType":"VariableDeclaration","scope":11852,"src":"1370:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11839,"name":"string","nodeType":"ElementaryTypeName","src":"1370:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1349:39:14"},"returnParameters":{"id":11844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11852,"src":"1412:6:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":11842,"name":"int256","nodeType":"ElementaryTypeName","src":"1412:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1411:8:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11869,"nodeType":"FunctionDefinition","src":"1476:156:14","nodes":[],"body":{"id":11868,"nodeType":"Block","src":"1577:55:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11864,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11854,"src":"1615:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11865,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11856,"src":"1621:3:14","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":11862,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"1594:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1597:17:14","memberName":"parseTomlIntArray","nodeType":"MemberAccess","referencedDeclaration":17198,"src":"1594:20:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_int256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (int256[] memory)"}},"id":11866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1594:31:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"functionReturnParameters":11861,"id":11867,"nodeType":"Return","src":"1587:38:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntArray","nameLocation":"1485:12:14","parameters":{"id":11857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11854,"mutability":"mutable","name":"toml","nameLocation":"1512:4:14","nodeType":"VariableDeclaration","scope":11869,"src":"1498:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11853,"name":"string","nodeType":"ElementaryTypeName","src":"1498:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11856,"mutability":"mutable","name":"key","nameLocation":"1532:3:14","nodeType":"VariableDeclaration","scope":11869,"src":"1518:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11855,"name":"string","nodeType":"ElementaryTypeName","src":"1518:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1497:39:14"},"returnParameters":{"id":11861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11860,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11869,"src":"1560:15:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":11858,"name":"int256","nodeType":"ElementaryTypeName","src":"1560:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":11859,"nodeType":"ArrayTypeName","src":"1560:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"1559:17:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11885,"nodeType":"FunctionDefinition","src":"1638:146:14","nodes":[],"body":{"id":11884,"nodeType":"Block","src":"1730:54:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11880,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11871,"src":"1767:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11881,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11873,"src":"1773:3:14","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":11878,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"1747:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1750:16:14","memberName":"parseTomlBytes32","nodeType":"MemberAccess","referencedDeclaration":17155,"src":"1747:19:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory,string memory) pure external returns (bytes32)"}},"id":11882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1747:30:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":11877,"id":11883,"nodeType":"Return","src":"1740:37:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32","nameLocation":"1647:11:14","parameters":{"id":11874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11871,"mutability":"mutable","name":"toml","nameLocation":"1673:4:14","nodeType":"VariableDeclaration","scope":11885,"src":"1659:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11870,"name":"string","nodeType":"ElementaryTypeName","src":"1659:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11873,"mutability":"mutable","name":"key","nameLocation":"1693:3:14","nodeType":"VariableDeclaration","scope":11885,"src":"1679:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11872,"name":"string","nodeType":"ElementaryTypeName","src":"1679:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1658:39:14"},"returnParameters":{"id":11877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11876,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11885,"src":"1721:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":11875,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1721:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1720:9:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11902,"nodeType":"FunctionDefinition","src":"1790:165:14","nodes":[],"body":{"id":11901,"nodeType":"Block","src":"1896:59:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11897,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11887,"src":"1938:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11898,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11889,"src":"1944:3:14","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":11895,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"1913:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1916:21:14","memberName":"parseTomlBytes32Array","nodeType":"MemberAccess","referencedDeclaration":17166,"src":"1913:24:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes32[] memory)"}},"id":11899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1913:35:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":11894,"id":11900,"nodeType":"Return","src":"1906:42:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32Array","nameLocation":"1799:16:14","parameters":{"id":11890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11887,"mutability":"mutable","name":"toml","nameLocation":"1830:4:14","nodeType":"VariableDeclaration","scope":11902,"src":"1816:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11886,"name":"string","nodeType":"ElementaryTypeName","src":"1816:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11889,"mutability":"mutable","name":"key","nameLocation":"1850:3:14","nodeType":"VariableDeclaration","scope":11902,"src":"1836:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11888,"name":"string","nodeType":"ElementaryTypeName","src":"1836:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1815:39:14"},"returnParameters":{"id":11894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11893,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11902,"src":"1878:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":11891,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1878:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":11892,"nodeType":"ArrayTypeName","src":"1878:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"1877:18:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11918,"nodeType":"FunctionDefinition","src":"1961:150:14","nodes":[],"body":{"id":11917,"nodeType":"Block","src":"2058:53:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11913,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11904,"src":"2094:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11914,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11906,"src":"2100:3:14","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":11911,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"2075:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2078:15:14","memberName":"parseTomlString","nodeType":"MemberAccess","referencedDeclaration":17219,"src":"2075:18:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory)"}},"id":11915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2075:29:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":11910,"id":11916,"nodeType":"Return","src":"2068:36:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readString","nameLocation":"1970:10:14","parameters":{"id":11907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11904,"mutability":"mutable","name":"toml","nameLocation":"1995:4:14","nodeType":"VariableDeclaration","scope":11918,"src":"1981:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11903,"name":"string","nodeType":"ElementaryTypeName","src":"1981:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11906,"mutability":"mutable","name":"key","nameLocation":"2015:3:14","nodeType":"VariableDeclaration","scope":11918,"src":"2001:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11905,"name":"string","nodeType":"ElementaryTypeName","src":"2001:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1980:39:14"},"returnParameters":{"id":11910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11909,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11918,"src":"2043:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11908,"name":"string","nodeType":"ElementaryTypeName","src":"2043:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2042:15:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11935,"nodeType":"FunctionDefinition","src":"2117:162:14","nodes":[],"body":{"id":11934,"nodeType":"Block","src":"2221:58:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11930,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11920,"src":"2262:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11931,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11922,"src":"2268:3:14","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":11928,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"2238:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2241:20:14","memberName":"parseTomlStringArray","nodeType":"MemberAccess","referencedDeclaration":17230,"src":"2238:23:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory[] memory)"}},"id":11932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2238:34:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":11927,"id":11933,"nodeType":"Return","src":"2231:41:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringArray","nameLocation":"2126:15:14","parameters":{"id":11923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11920,"mutability":"mutable","name":"toml","nameLocation":"2156:4:14","nodeType":"VariableDeclaration","scope":11935,"src":"2142:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11919,"name":"string","nodeType":"ElementaryTypeName","src":"2142:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11922,"mutability":"mutable","name":"key","nameLocation":"2176:3:14","nodeType":"VariableDeclaration","scope":11935,"src":"2162:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11921,"name":"string","nodeType":"ElementaryTypeName","src":"2162:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2141:39:14"},"returnParameters":{"id":11927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11926,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11935,"src":"2204:15:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":11924,"name":"string","nodeType":"ElementaryTypeName","src":"2204:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":11925,"nodeType":"ArrayTypeName","src":"2204:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"2203:17:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11951,"nodeType":"FunctionDefinition","src":"2285:146:14","nodes":[],"body":{"id":11950,"nodeType":"Block","src":"2377:54:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11946,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11937,"src":"2414:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11947,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11939,"src":"2420:3:14","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":11944,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"2394:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2397:16:14","memberName":"parseTomlAddress","nodeType":"MemberAccess","referencedDeclaration":17103,"src":"2394:19:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) pure external returns (address)"}},"id":11948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2394:30:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":11943,"id":11949,"nodeType":"Return","src":"2387:37:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddress","nameLocation":"2294:11:14","parameters":{"id":11940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11937,"mutability":"mutable","name":"toml","nameLocation":"2320:4:14","nodeType":"VariableDeclaration","scope":11951,"src":"2306:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11936,"name":"string","nodeType":"ElementaryTypeName","src":"2306:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11939,"mutability":"mutable","name":"key","nameLocation":"2340:3:14","nodeType":"VariableDeclaration","scope":11951,"src":"2326:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11938,"name":"string","nodeType":"ElementaryTypeName","src":"2326:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2305:39:14"},"returnParameters":{"id":11943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11942,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11951,"src":"2368:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":11941,"name":"address","nodeType":"ElementaryTypeName","src":"2368:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2367:9:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11968,"nodeType":"FunctionDefinition","src":"2437:165:14","nodes":[],"body":{"id":11967,"nodeType":"Block","src":"2543:59:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11963,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11953,"src":"2585:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11964,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11955,"src":"2591:3:14","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":11961,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"2560:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2563:21:14","memberName":"parseTomlAddressArray","nodeType":"MemberAccess","referencedDeclaration":17114,"src":"2560:24:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (address[] memory)"}},"id":11965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2560:35:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":11960,"id":11966,"nodeType":"Return","src":"2553:42:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressArray","nameLocation":"2446:16:14","parameters":{"id":11956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11953,"mutability":"mutable","name":"toml","nameLocation":"2477:4:14","nodeType":"VariableDeclaration","scope":11968,"src":"2463:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11952,"name":"string","nodeType":"ElementaryTypeName","src":"2463:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11955,"mutability":"mutable","name":"key","nameLocation":"2497:3:14","nodeType":"VariableDeclaration","scope":11968,"src":"2483:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11954,"name":"string","nodeType":"ElementaryTypeName","src":"2483:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2462:39:14"},"returnParameters":{"id":11960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11959,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11968,"src":"2525:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":11957,"name":"address","nodeType":"ElementaryTypeName","src":"2525:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":11958,"nodeType":"ArrayTypeName","src":"2525:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"2524:18:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":11984,"nodeType":"FunctionDefinition","src":"2608:137:14","nodes":[],"body":{"id":11983,"nodeType":"Block","src":"2694:51:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11979,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11970,"src":"2728:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11980,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11972,"src":"2734:3:14","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":11977,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"2711:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2714:13:14","memberName":"parseTomlBool","nodeType":"MemberAccess","referencedDeclaration":17124,"src":"2711:16:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) pure external returns (bool)"}},"id":11981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2711:27:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":11976,"id":11982,"nodeType":"Return","src":"2704:34:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBool","nameLocation":"2617:8:14","parameters":{"id":11973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11970,"mutability":"mutable","name":"toml","nameLocation":"2640:4:14","nodeType":"VariableDeclaration","scope":11984,"src":"2626:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11969,"name":"string","nodeType":"ElementaryTypeName","src":"2626:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11972,"mutability":"mutable","name":"key","nameLocation":"2660:3:14","nodeType":"VariableDeclaration","scope":11984,"src":"2646:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11971,"name":"string","nodeType":"ElementaryTypeName","src":"2646:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2625:39:14"},"returnParameters":{"id":11976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11975,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":11984,"src":"2688:4:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":11974,"name":"bool","nodeType":"ElementaryTypeName","src":"2688:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2687:6:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":12001,"nodeType":"FunctionDefinition","src":"2751:156:14","nodes":[],"body":{"id":12000,"nodeType":"Block","src":"2851:56:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":11996,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11986,"src":"2890:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":11997,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11988,"src":"2896:3:14","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":11994,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"2868:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":11995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2871:18:14","memberName":"parseTomlBoolArray","nodeType":"MemberAccess","referencedDeclaration":17135,"src":"2868:21:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bool[] memory)"}},"id":11998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2868:32:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"functionReturnParameters":11993,"id":11999,"nodeType":"Return","src":"2861:39:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolArray","nameLocation":"2760:13:14","parameters":{"id":11989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11986,"mutability":"mutable","name":"toml","nameLocation":"2788:4:14","nodeType":"VariableDeclaration","scope":12001,"src":"2774:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11985,"name":"string","nodeType":"ElementaryTypeName","src":"2774:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":11988,"mutability":"mutable","name":"key","nameLocation":"2808:3:14","nodeType":"VariableDeclaration","scope":12001,"src":"2794:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":11987,"name":"string","nodeType":"ElementaryTypeName","src":"2794:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2773:39:14"},"returnParameters":{"id":11993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":11992,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12001,"src":"2836:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":11990,"name":"bool","nodeType":"ElementaryTypeName","src":"2836:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":11991,"nodeType":"ArrayTypeName","src":"2836:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"2835:15:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":12017,"nodeType":"FunctionDefinition","src":"2913:147:14","nodes":[],"body":{"id":12016,"nodeType":"Block","src":"3008:52:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12012,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12003,"src":"3043:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12013,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12005,"src":"3049:3:14","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":12010,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"3025:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3028:14:14","memberName":"parseTomlBytes","nodeType":"MemberAccess","referencedDeclaration":17145,"src":"3025:17:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory)"}},"id":12014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3025:28:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":12009,"id":12015,"nodeType":"Return","src":"3018:35:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes","nameLocation":"2922:9:14","parameters":{"id":12006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12003,"mutability":"mutable","name":"toml","nameLocation":"2946:4:14","nodeType":"VariableDeclaration","scope":12017,"src":"2932:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12002,"name":"string","nodeType":"ElementaryTypeName","src":"2932:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12005,"mutability":"mutable","name":"key","nameLocation":"2966:3:14","nodeType":"VariableDeclaration","scope":12017,"src":"2952:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12004,"name":"string","nodeType":"ElementaryTypeName","src":"2952:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2931:39:14"},"returnParameters":{"id":12009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12008,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12017,"src":"2994:12:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12007,"name":"bytes","nodeType":"ElementaryTypeName","src":"2994:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2993:14:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":12034,"nodeType":"FunctionDefinition","src":"3066:159:14","nodes":[],"body":{"id":12033,"nodeType":"Block","src":"3168:57:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12029,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12019,"src":"3208:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12030,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12021,"src":"3214:3:14","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":12027,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"3185:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3188:19:14","memberName":"parseTomlBytesArray","nodeType":"MemberAccess","referencedDeclaration":17177,"src":"3185:22:14","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (bytes memory[] memory)"}},"id":12031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3185:33:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":12026,"id":12032,"nodeType":"Return","src":"3178:40:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesArray","nameLocation":"3075:14:14","parameters":{"id":12022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12019,"mutability":"mutable","name":"toml","nameLocation":"3104:4:14","nodeType":"VariableDeclaration","scope":12034,"src":"3090:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12018,"name":"string","nodeType":"ElementaryTypeName","src":"3090:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12021,"mutability":"mutable","name":"key","nameLocation":"3124:3:14","nodeType":"VariableDeclaration","scope":12034,"src":"3110:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12020,"name":"string","nodeType":"ElementaryTypeName","src":"3110:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3089:39:14"},"returnParameters":{"id":12026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12025,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12034,"src":"3152:14:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12023,"name":"bytes","nodeType":"ElementaryTypeName","src":"3152:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12024,"nodeType":"ArrayTypeName","src":"3152:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"3151:16:14"},"scope":12693,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":12057,"nodeType":"FunctionDefinition","src":"3231:194:14","nodes":[],"body":{"id":12056,"nodeType":"Block","src":"3344:81:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12046,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12036,"src":"3371:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12047,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12038,"src":"3377:3:14","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"}],"id":12045,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"3361:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3361:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12053,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12040,"src":"3406:12:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3361:57:14","trueExpression":{"arguments":[{"id":12050,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12036,"src":"3393:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12051,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12038,"src":"3399:3:14","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"}],"id":12049,"name":"readUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11819,"src":"3384:8:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory,string memory) pure returns (uint256)"}},"id":12052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3384:19:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12044,"id":12055,"nodeType":"Return","src":"3354:64:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintOr","nameLocation":"3240:10:14","parameters":{"id":12041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12036,"mutability":"mutable","name":"toml","nameLocation":"3265:4:14","nodeType":"VariableDeclaration","scope":12057,"src":"3251:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12035,"name":"string","nodeType":"ElementaryTypeName","src":"3251:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12038,"mutability":"mutable","name":"key","nameLocation":"3285:3:14","nodeType":"VariableDeclaration","scope":12057,"src":"3271:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12037,"name":"string","nodeType":"ElementaryTypeName","src":"3271:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12040,"mutability":"mutable","name":"defaultValue","nameLocation":"3298:12:14","nodeType":"VariableDeclaration","scope":12057,"src":"3290:20:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12039,"name":"uint256","nodeType":"ElementaryTypeName","src":"3290:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3250:61:14"},"returnParameters":{"id":12044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12043,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12057,"src":"3335:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12042,"name":"uint256","nodeType":"ElementaryTypeName","src":"3335:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3334:9:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12082,"nodeType":"FunctionDefinition","src":"3431:250:14","nodes":[],"body":{"id":12081,"nodeType":"Block","src":"3595:86:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12071,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12059,"src":"3622:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12072,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"3628:3:14","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"}],"id":12070,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"3612:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3612:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12078,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12064,"src":"3662:12:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":12079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3612:62:14","trueExpression":{"arguments":[{"id":12075,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12059,"src":"3649:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12076,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12061,"src":"3655:3:14","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"}],"id":12074,"name":"readUintArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11836,"src":"3635:13:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (uint256[] memory)"}},"id":12077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3635:24:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":12069,"id":12080,"nodeType":"Return","src":"3605:69:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readUintArrayOr","nameLocation":"3440:15:14","parameters":{"id":12065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12059,"mutability":"mutable","name":"toml","nameLocation":"3470:4:14","nodeType":"VariableDeclaration","scope":12082,"src":"3456:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12058,"name":"string","nodeType":"ElementaryTypeName","src":"3456:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12061,"mutability":"mutable","name":"key","nameLocation":"3490:3:14","nodeType":"VariableDeclaration","scope":12082,"src":"3476:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12060,"name":"string","nodeType":"ElementaryTypeName","src":"3476:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12064,"mutability":"mutable","name":"defaultValue","nameLocation":"3512:12:14","nodeType":"VariableDeclaration","scope":12082,"src":"3495:29:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12062,"name":"uint256","nodeType":"ElementaryTypeName","src":"3495:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12063,"nodeType":"ArrayTypeName","src":"3495:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3455:70:14"},"returnParameters":{"id":12069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12068,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12082,"src":"3573:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12066,"name":"uint256","nodeType":"ElementaryTypeName","src":"3573:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12067,"nodeType":"ArrayTypeName","src":"3573:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3572:18:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12105,"nodeType":"FunctionDefinition","src":"3687:190:14","nodes":[],"body":{"id":12104,"nodeType":"Block","src":"3797:80:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12094,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12084,"src":"3824:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12095,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12086,"src":"3830:3:14","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"}],"id":12093,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"3814:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3814:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12101,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12088,"src":"3858:12:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3814:56:14","trueExpression":{"arguments":[{"id":12098,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12084,"src":"3845:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12099,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12086,"src":"3851:3:14","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"}],"id":12097,"name":"readInt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11852,"src":"3837:7:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_int256_$","typeString":"function (string memory,string memory) pure returns (int256)"}},"id":12100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3837:18:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":12092,"id":12103,"nodeType":"Return","src":"3807:63:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntOr","nameLocation":"3696:9:14","parameters":{"id":12089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12084,"mutability":"mutable","name":"toml","nameLocation":"3720:4:14","nodeType":"VariableDeclaration","scope":12105,"src":"3706:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12083,"name":"string","nodeType":"ElementaryTypeName","src":"3706:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12086,"mutability":"mutable","name":"key","nameLocation":"3740:3:14","nodeType":"VariableDeclaration","scope":12105,"src":"3726:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12085,"name":"string","nodeType":"ElementaryTypeName","src":"3726:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12088,"mutability":"mutable","name":"defaultValue","nameLocation":"3752:12:14","nodeType":"VariableDeclaration","scope":12105,"src":"3745:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12087,"name":"int256","nodeType":"ElementaryTypeName","src":"3745:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3705:60:14"},"returnParameters":{"id":12092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12091,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12105,"src":"3789:6:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12090,"name":"int256","nodeType":"ElementaryTypeName","src":"3789:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3788:8:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12130,"nodeType":"FunctionDefinition","src":"3883:246:14","nodes":[],"body":{"id":12129,"nodeType":"Block","src":"4044:85:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12119,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12107,"src":"4071:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12120,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12109,"src":"4077:3:14","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"}],"id":12118,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"4061:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4061:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12126,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12112,"src":"4110:12:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"id":12127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4061:61:14","trueExpression":{"arguments":[{"id":12123,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12107,"src":"4097:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12124,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12109,"src":"4103:3:14","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"}],"id":12122,"name":"readIntArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11869,"src":"4084:12:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_int256_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (int256[] memory)"}},"id":12125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4084:23:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}},"functionReturnParameters":12117,"id":12128,"nodeType":"Return","src":"4054:68:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readIntArrayOr","nameLocation":"3892:14:14","parameters":{"id":12113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12107,"mutability":"mutable","name":"toml","nameLocation":"3921:4:14","nodeType":"VariableDeclaration","scope":12130,"src":"3907:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12106,"name":"string","nodeType":"ElementaryTypeName","src":"3907:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12109,"mutability":"mutable","name":"key","nameLocation":"3941:3:14","nodeType":"VariableDeclaration","scope":12130,"src":"3927:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12108,"name":"string","nodeType":"ElementaryTypeName","src":"3927:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12112,"mutability":"mutable","name":"defaultValue","nameLocation":"3962:12:14","nodeType":"VariableDeclaration","scope":12130,"src":"3946:28:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":12110,"name":"int256","nodeType":"ElementaryTypeName","src":"3946:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12111,"nodeType":"ArrayTypeName","src":"3946:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"3906:69:14"},"returnParameters":{"id":12117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12116,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12130,"src":"4023:15:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":12114,"name":"int256","nodeType":"ElementaryTypeName","src":"4023:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12115,"nodeType":"ArrayTypeName","src":"4023:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"4022:17:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12153,"nodeType":"FunctionDefinition","src":"4135:228:14","nodes":[],"body":{"id":12152,"nodeType":"Block","src":"4279:84:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12142,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12132,"src":"4306:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12143,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12134,"src":"4312:3:14","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"}],"id":12141,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"4296:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4296:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12149,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12136,"src":"4344:12:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4296:60:14","trueExpression":{"arguments":[{"id":12146,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12132,"src":"4331:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12147,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12134,"src":"4337:3:14","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"}],"id":12145,"name":"readBytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11885,"src":"4319:11:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory,string memory) pure returns (bytes32)"}},"id":12148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4319:22:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":12140,"id":12151,"nodeType":"Return","src":"4289:67:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32Or","nameLocation":"4144:13:14","parameters":{"id":12137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12132,"mutability":"mutable","name":"toml","nameLocation":"4172:4:14","nodeType":"VariableDeclaration","scope":12153,"src":"4158:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12131,"name":"string","nodeType":"ElementaryTypeName","src":"4158:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12134,"mutability":"mutable","name":"key","nameLocation":"4192:3:14","nodeType":"VariableDeclaration","scope":12153,"src":"4178:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12133,"name":"string","nodeType":"ElementaryTypeName","src":"4178:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12136,"mutability":"mutable","name":"defaultValue","nameLocation":"4205:12:14","nodeType":"VariableDeclaration","scope":12153,"src":"4197:20:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12135,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4197:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4157:61:14"},"returnParameters":{"id":12140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12139,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12153,"src":"4266:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12138,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4266:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4265:9:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12178,"nodeType":"FunctionDefinition","src":"4369:256:14","nodes":[],"body":{"id":12177,"nodeType":"Block","src":"4536:89:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12167,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12155,"src":"4563:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12168,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12157,"src":"4569:3:14","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"}],"id":12166,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"4553:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4553:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12174,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12160,"src":"4606:12:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"id":12175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4553:65:14","trueExpression":{"arguments":[{"id":12171,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12155,"src":"4593:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12172,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12157,"src":"4599:3:14","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"}],"id":12170,"name":"readBytes32Array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11902,"src":"4576:16:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes32_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bytes32[] memory)"}},"id":12173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4576:27:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}},"functionReturnParameters":12165,"id":12176,"nodeType":"Return","src":"4546:72:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytes32ArrayOr","nameLocation":"4378:18:14","parameters":{"id":12161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12155,"mutability":"mutable","name":"toml","nameLocation":"4411:4:14","nodeType":"VariableDeclaration","scope":12178,"src":"4397:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12154,"name":"string","nodeType":"ElementaryTypeName","src":"4397:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12157,"mutability":"mutable","name":"key","nameLocation":"4431:3:14","nodeType":"VariableDeclaration","scope":12178,"src":"4417:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12156,"name":"string","nodeType":"ElementaryTypeName","src":"4417:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12160,"mutability":"mutable","name":"defaultValue","nameLocation":"4453:12:14","nodeType":"VariableDeclaration","scope":12178,"src":"4436:29:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12158,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4436:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12159,"nodeType":"ArrayTypeName","src":"4436:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4396:70:14"},"returnParameters":{"id":12165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12164,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12178,"src":"4514:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12162,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4514:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12163,"nodeType":"ArrayTypeName","src":"4514:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4513:18:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12201,"nodeType":"FunctionDefinition","src":"4631:238:14","nodes":[],"body":{"id":12200,"nodeType":"Block","src":"4786:83:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12190,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12180,"src":"4813:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12191,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12182,"src":"4819:3:14","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"}],"id":12189,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"4803:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4803:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12197,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12184,"src":"4850:12:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":12198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4803:59:14","trueExpression":{"arguments":[{"id":12194,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12180,"src":"4837:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12195,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12182,"src":"4843:3:14","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"}],"id":12193,"name":"readString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11918,"src":"4826:10:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory)"}},"id":12196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4826:21:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12188,"id":12199,"nodeType":"Return","src":"4796:66:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringOr","nameLocation":"4640:12:14","parameters":{"id":12185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12180,"mutability":"mutable","name":"toml","nameLocation":"4667:4:14","nodeType":"VariableDeclaration","scope":12201,"src":"4653:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12179,"name":"string","nodeType":"ElementaryTypeName","src":"4653:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12182,"mutability":"mutable","name":"key","nameLocation":"4687:3:14","nodeType":"VariableDeclaration","scope":12201,"src":"4673:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12181,"name":"string","nodeType":"ElementaryTypeName","src":"4673:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12184,"mutability":"mutable","name":"defaultValue","nameLocation":"4706:12:14","nodeType":"VariableDeclaration","scope":12201,"src":"4692:26:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12183,"name":"string","nodeType":"ElementaryTypeName","src":"4692:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4652:67:14"},"returnParameters":{"id":12188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12187,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12201,"src":"4767:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12186,"name":"string","nodeType":"ElementaryTypeName","src":"4767:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4766:15:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12226,"nodeType":"FunctionDefinition","src":"4875:252:14","nodes":[],"body":{"id":12225,"nodeType":"Block","src":"5039:88:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12215,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12203,"src":"5066:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12216,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12205,"src":"5072:3:14","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"}],"id":12214,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"5056:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5056:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12222,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12208,"src":"5108:12:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":12223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5056:64:14","trueExpression":{"arguments":[{"id":12219,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12203,"src":"5095:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12220,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12205,"src":"5101:3:14","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"}],"id":12218,"name":"readStringArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11935,"src":"5079:15:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory[] memory)"}},"id":12221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5079:26:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"functionReturnParameters":12213,"id":12224,"nodeType":"Return","src":"5049:71:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readStringArrayOr","nameLocation":"4884:17:14","parameters":{"id":12209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12203,"mutability":"mutable","name":"toml","nameLocation":"4916:4:14","nodeType":"VariableDeclaration","scope":12226,"src":"4902:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12202,"name":"string","nodeType":"ElementaryTypeName","src":"4902:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12205,"mutability":"mutable","name":"key","nameLocation":"4936:3:14","nodeType":"VariableDeclaration","scope":12226,"src":"4922:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12204,"name":"string","nodeType":"ElementaryTypeName","src":"4922:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12208,"mutability":"mutable","name":"defaultValue","nameLocation":"4957:12:14","nodeType":"VariableDeclaration","scope":12226,"src":"4941:28:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12206,"name":"string","nodeType":"ElementaryTypeName","src":"4941:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12207,"nodeType":"ArrayTypeName","src":"4941:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"4901:69:14"},"returnParameters":{"id":12213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12212,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12226,"src":"5018:15:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12210,"name":"string","nodeType":"ElementaryTypeName","src":"5018:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12211,"nodeType":"ArrayTypeName","src":"5018:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"5017:17:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12249,"nodeType":"FunctionDefinition","src":"5133:228:14","nodes":[],"body":{"id":12248,"nodeType":"Block","src":"5277:84:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12238,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12228,"src":"5304:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12239,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12230,"src":"5310:3:14","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"}],"id":12237,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"5294:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5294:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12245,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12232,"src":"5342:12:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5294:60:14","trueExpression":{"arguments":[{"id":12242,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12228,"src":"5329:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12243,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12230,"src":"5335:3:14","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"}],"id":12241,"name":"readAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11951,"src":"5317:11:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) pure returns (address)"}},"id":12244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5317:22:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":12236,"id":12247,"nodeType":"Return","src":"5287:67:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressOr","nameLocation":"5142:13:14","parameters":{"id":12233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12228,"mutability":"mutable","name":"toml","nameLocation":"5170:4:14","nodeType":"VariableDeclaration","scope":12249,"src":"5156:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12227,"name":"string","nodeType":"ElementaryTypeName","src":"5156:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12230,"mutability":"mutable","name":"key","nameLocation":"5190:3:14","nodeType":"VariableDeclaration","scope":12249,"src":"5176:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12229,"name":"string","nodeType":"ElementaryTypeName","src":"5176:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12232,"mutability":"mutable","name":"defaultValue","nameLocation":"5203:12:14","nodeType":"VariableDeclaration","scope":12249,"src":"5195:20:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12231,"name":"address","nodeType":"ElementaryTypeName","src":"5195:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5155:61:14"},"returnParameters":{"id":12236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12235,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12249,"src":"5264:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12234,"name":"address","nodeType":"ElementaryTypeName","src":"5264:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5263:9:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12274,"nodeType":"FunctionDefinition","src":"5367:256:14","nodes":[],"body":{"id":12273,"nodeType":"Block","src":"5534:89:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12263,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12251,"src":"5561:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12264,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12253,"src":"5567:3:14","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"}],"id":12262,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"5551:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5551:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12270,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12256,"src":"5604:12:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":12271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5551:65:14","trueExpression":{"arguments":[{"id":12267,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12251,"src":"5591:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12268,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12253,"src":"5597:3:14","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"}],"id":12266,"name":"readAddressArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11968,"src":"5574:16:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (address[] memory)"}},"id":12269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:27:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":12261,"id":12272,"nodeType":"Return","src":"5544:72:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readAddressArrayOr","nameLocation":"5376:18:14","parameters":{"id":12257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12251,"mutability":"mutable","name":"toml","nameLocation":"5409:4:14","nodeType":"VariableDeclaration","scope":12274,"src":"5395:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12250,"name":"string","nodeType":"ElementaryTypeName","src":"5395:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12253,"mutability":"mutable","name":"key","nameLocation":"5429:3:14","nodeType":"VariableDeclaration","scope":12274,"src":"5415:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12252,"name":"string","nodeType":"ElementaryTypeName","src":"5415:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12256,"mutability":"mutable","name":"defaultValue","nameLocation":"5451:12:14","nodeType":"VariableDeclaration","scope":12274,"src":"5434:29:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12254,"name":"address","nodeType":"ElementaryTypeName","src":"5434:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12255,"nodeType":"ArrayTypeName","src":"5434:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5394:70:14"},"returnParameters":{"id":12261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12260,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12274,"src":"5512:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12258,"name":"address","nodeType":"ElementaryTypeName","src":"5512:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12259,"nodeType":"ArrayTypeName","src":"5512:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5511:18:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12297,"nodeType":"FunctionDefinition","src":"5629:188:14","nodes":[],"body":{"id":12296,"nodeType":"Block","src":"5736:81:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12286,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12276,"src":"5763:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12287,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12278,"src":"5769:3:14","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"}],"id":12285,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"5753:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12293,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12280,"src":"5798:12:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5753:57:14","trueExpression":{"arguments":[{"id":12290,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12276,"src":"5785:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12291,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12278,"src":"5791:3:14","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"}],"id":12289,"name":"readBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11984,"src":"5776:8:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":12292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5776:19:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":12284,"id":12295,"nodeType":"Return","src":"5746:64:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolOr","nameLocation":"5638:10:14","parameters":{"id":12281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12276,"mutability":"mutable","name":"toml","nameLocation":"5663:4:14","nodeType":"VariableDeclaration","scope":12297,"src":"5649:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12275,"name":"string","nodeType":"ElementaryTypeName","src":"5649:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12278,"mutability":"mutable","name":"key","nameLocation":"5683:3:14","nodeType":"VariableDeclaration","scope":12297,"src":"5669:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12277,"name":"string","nodeType":"ElementaryTypeName","src":"5669:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12280,"mutability":"mutable","name":"defaultValue","nameLocation":"5693:12:14","nodeType":"VariableDeclaration","scope":12297,"src":"5688:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12279,"name":"bool","nodeType":"ElementaryTypeName","src":"5688:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5648:58:14"},"returnParameters":{"id":12284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12283,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12297,"src":"5730:4:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12282,"name":"bool","nodeType":"ElementaryTypeName","src":"5730:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5729:6:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12322,"nodeType":"FunctionDefinition","src":"5823:244:14","nodes":[],"body":{"id":12321,"nodeType":"Block","src":"5981:86:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12311,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12299,"src":"6008:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12312,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12301,"src":"6014:3:14","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"}],"id":12310,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"5998:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5998:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12318,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12304,"src":"6048:12:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"id":12319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5998:62:14","trueExpression":{"arguments":[{"id":12315,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12299,"src":"6035:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12316,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12301,"src":"6041:3:14","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"}],"id":12314,"name":"readBoolArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12001,"src":"6021:13:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bool_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bool[] memory)"}},"id":12317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6021:24:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}},"functionReturnParameters":12309,"id":12320,"nodeType":"Return","src":"5991:69:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBoolArrayOr","nameLocation":"5832:15:14","parameters":{"id":12305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12299,"mutability":"mutable","name":"toml","nameLocation":"5862:4:14","nodeType":"VariableDeclaration","scope":12322,"src":"5848:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12298,"name":"string","nodeType":"ElementaryTypeName","src":"5848:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12301,"mutability":"mutable","name":"key","nameLocation":"5882:3:14","nodeType":"VariableDeclaration","scope":12322,"src":"5868:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12300,"name":"string","nodeType":"ElementaryTypeName","src":"5868:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12304,"mutability":"mutable","name":"defaultValue","nameLocation":"5901:12:14","nodeType":"VariableDeclaration","scope":12322,"src":"5887:26:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":12302,"name":"bool","nodeType":"ElementaryTypeName","src":"5887:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12303,"nodeType":"ArrayTypeName","src":"5887:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"5847:67:14"},"returnParameters":{"id":12309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12308,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12322,"src":"5962:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":12306,"name":"bool","nodeType":"ElementaryTypeName","src":"5962:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12307,"nodeType":"ArrayTypeName","src":"5962:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"5961:15:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12345,"nodeType":"FunctionDefinition","src":"6073:234:14","nodes":[],"body":{"id":12344,"nodeType":"Block","src":"6225:82:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12334,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12324,"src":"6252:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12335,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12326,"src":"6258:3:14","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"}],"id":12333,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"6242:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6242:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12341,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12328,"src":"6288:12:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":12342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6242:58:14","trueExpression":{"arguments":[{"id":12338,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12324,"src":"6275:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12339,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12326,"src":"6281:3:14","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"}],"id":12337,"name":"readBytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12017,"src":"6265:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bytes memory)"}},"id":12340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6265:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":12332,"id":12343,"nodeType":"Return","src":"6235:65:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesOr","nameLocation":"6082:11:14","parameters":{"id":12329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12324,"mutability":"mutable","name":"toml","nameLocation":"6108:4:14","nodeType":"VariableDeclaration","scope":12345,"src":"6094:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12323,"name":"string","nodeType":"ElementaryTypeName","src":"6094:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12326,"mutability":"mutable","name":"key","nameLocation":"6128:3:14","nodeType":"VariableDeclaration","scope":12345,"src":"6114:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12325,"name":"string","nodeType":"ElementaryTypeName","src":"6114:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12328,"mutability":"mutable","name":"defaultValue","nameLocation":"6146:12:14","nodeType":"VariableDeclaration","scope":12345,"src":"6133:25:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12327,"name":"bytes","nodeType":"ElementaryTypeName","src":"6133:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6093:66:14"},"returnParameters":{"id":12332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12331,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12345,"src":"6207:12:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12330,"name":"bytes","nodeType":"ElementaryTypeName","src":"6207:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6206:14:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12370,"nodeType":"FunctionDefinition","src":"6313:248:14","nodes":[],"body":{"id":12369,"nodeType":"Block","src":"6474:87:14","nodes":[],"statements":[{"expression":{"condition":{"arguments":[{"id":12359,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12347,"src":"6501:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12360,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12349,"src":"6507:3:14","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"}],"id":12358,"name":"keyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11787,"src":"6491:9:14","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) view returns (bool)"}},"id":12361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6491:20:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":12366,"name":"defaultValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12352,"src":"6542:12:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":12367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6491:63:14","trueExpression":{"arguments":[{"id":12363,"name":"toml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12347,"src":"6529:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12364,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12349,"src":"6535:3:14","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"}],"id":12362,"name":"readBytesArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12034,"src":"6514:14:14","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (bytes memory[] memory)"}},"id":12365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6514:25:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"functionReturnParameters":12357,"id":12368,"nodeType":"Return","src":"6484:70:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"readBytesArrayOr","nameLocation":"6322:16:14","parameters":{"id":12353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12347,"mutability":"mutable","name":"toml","nameLocation":"6353:4:14","nodeType":"VariableDeclaration","scope":12370,"src":"6339:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12346,"name":"string","nodeType":"ElementaryTypeName","src":"6339:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12349,"mutability":"mutable","name":"key","nameLocation":"6373:3:14","nodeType":"VariableDeclaration","scope":12370,"src":"6359:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12348,"name":"string","nodeType":"ElementaryTypeName","src":"6359:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12352,"mutability":"mutable","name":"defaultValue","nameLocation":"6393:12:14","nodeType":"VariableDeclaration","scope":12370,"src":"6378:27:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12350,"name":"bytes","nodeType":"ElementaryTypeName","src":"6378:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12351,"nodeType":"ArrayTypeName","src":"6378:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6338:68:14"},"returnParameters":{"id":12357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12356,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12370,"src":"6454:14:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12354,"name":"bytes","nodeType":"ElementaryTypeName","src":"6454:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12355,"nodeType":"ArrayTypeName","src":"6454:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"6453:16:14"},"scope":12693,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":12386,"nodeType":"FunctionDefinition","src":"6567:162:14","nodes":[],"body":{"id":12385,"nodeType":"Block","src":"6668:61:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12381,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12372,"src":"6702:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12382,"name":"rootObject","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12374,"src":"6711:10:14","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":12379,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"6685:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6688:13:14","memberName":"serializeJson","nodeType":"MemberAccess","referencedDeclaration":15363,"src":"6685:16:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory) external returns (string memory)"}},"id":12383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6685:37:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12378,"id":12384,"nodeType":"Return","src":"6678:44:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6576:9:14","parameters":{"id":12375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12372,"mutability":"mutable","name":"jsonKey","nameLocation":"6600:7:14","nodeType":"VariableDeclaration","scope":12386,"src":"6586:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12371,"name":"string","nodeType":"ElementaryTypeName","src":"6586:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12374,"mutability":"mutable","name":"rootObject","nameLocation":"6623:10:14","nodeType":"VariableDeclaration","scope":12386,"src":"6609:24:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12373,"name":"string","nodeType":"ElementaryTypeName","src":"6609:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6585:49:14"},"returnParameters":{"id":12378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12377,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12386,"src":"6653:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12376,"name":"string","nodeType":"ElementaryTypeName","src":"6653:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6652:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12405,"nodeType":"FunctionDefinition","src":"6735:167:14","nodes":[],"body":{"id":12404,"nodeType":"Block","src":"6841:61:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12399,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12388,"src":"6875:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12400,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12390,"src":"6884:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12401,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12392,"src":"6889:5:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":12397,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"6858:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6861:13:14","memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":15265,"src":"6858:16:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bool_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool) external returns (string memory)"}},"id":12402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6858:37:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12396,"id":12403,"nodeType":"Return","src":"6851:44:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6744:9:14","parameters":{"id":12393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12388,"mutability":"mutable","name":"jsonKey","nameLocation":"6768:7:14","nodeType":"VariableDeclaration","scope":12405,"src":"6754:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12387,"name":"string","nodeType":"ElementaryTypeName","src":"6754:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12390,"mutability":"mutable","name":"key","nameLocation":"6791:3:14","nodeType":"VariableDeclaration","scope":12405,"src":"6777:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12389,"name":"string","nodeType":"ElementaryTypeName","src":"6777:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12392,"mutability":"mutable","name":"value","nameLocation":"6801:5:14","nodeType":"VariableDeclaration","scope":12405,"src":"6796:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12391,"name":"bool","nodeType":"ElementaryTypeName","src":"6796:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6753:54:14"},"returnParameters":{"id":12396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12395,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12405,"src":"6826:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12394,"name":"string","nodeType":"ElementaryTypeName","src":"6826:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6825:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12425,"nodeType":"FunctionDefinition","src":"6908:196:14","nodes":[],"body":{"id":12424,"nodeType":"Block","src":"7043:61:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12419,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12407,"src":"7077:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12420,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12409,"src":"7086:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12421,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12412,"src":"7091:5:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[] memory"}],"expression":{"id":12417,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"7060:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7063:13:14","memberName":"serializeBool","nodeType":"MemberAccess","referencedDeclaration":15278,"src":"7060:16:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bool_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bool[] memory) external returns (string memory)"}},"id":12422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7060:37:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12416,"id":12423,"nodeType":"Return","src":"7053:44:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"6917:9:14","parameters":{"id":12413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12407,"mutability":"mutable","name":"jsonKey","nameLocation":"6941:7:14","nodeType":"VariableDeclaration","scope":12425,"src":"6927:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12406,"name":"string","nodeType":"ElementaryTypeName","src":"6927:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12409,"mutability":"mutable","name":"key","nameLocation":"6964:3:14","nodeType":"VariableDeclaration","scope":12425,"src":"6950:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12408,"name":"string","nodeType":"ElementaryTypeName","src":"6950:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12412,"mutability":"mutable","name":"value","nameLocation":"6983:5:14","nodeType":"VariableDeclaration","scope":12425,"src":"6969:19:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":12410,"name":"bool","nodeType":"ElementaryTypeName","src":"6969:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12411,"nodeType":"ArrayTypeName","src":"6969:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"6926:63:14"},"returnParameters":{"id":12416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12415,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12425,"src":"7024:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12414,"name":"string","nodeType":"ElementaryTypeName","src":"7024:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7023:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12444,"nodeType":"FunctionDefinition","src":"7110:170:14","nodes":[],"body":{"id":12443,"nodeType":"Block","src":"7219:61:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12438,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12427,"src":"7253:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12439,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12429,"src":"7262:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12440,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12431,"src":"7267:5:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":12436,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"7236:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7239:13:14","memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":15436,"src":"7236:16:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,uint256) external returns (string memory)"}},"id":12441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7236:37:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12435,"id":12442,"nodeType":"Return","src":"7229:44:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7119:9:14","parameters":{"id":12432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12427,"mutability":"mutable","name":"jsonKey","nameLocation":"7143:7:14","nodeType":"VariableDeclaration","scope":12444,"src":"7129:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12426,"name":"string","nodeType":"ElementaryTypeName","src":"7129:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12429,"mutability":"mutable","name":"key","nameLocation":"7166:3:14","nodeType":"VariableDeclaration","scope":12444,"src":"7152:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12428,"name":"string","nodeType":"ElementaryTypeName","src":"7152:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12431,"mutability":"mutable","name":"value","nameLocation":"7179:5:14","nodeType":"VariableDeclaration","scope":12444,"src":"7171:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12430,"name":"uint256","nodeType":"ElementaryTypeName","src":"7171:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7128:57:14"},"returnParameters":{"id":12435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12434,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12444,"src":"7204:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12433,"name":"string","nodeType":"ElementaryTypeName","src":"7204:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7203:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12464,"nodeType":"FunctionDefinition","src":"7286:199:14","nodes":[],"body":{"id":12463,"nodeType":"Block","src":"7424:61:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12458,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12446,"src":"7458:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12459,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12448,"src":"7467:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12460,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12451,"src":"7472:5:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":12456,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"7441:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7444:13:14","memberName":"serializeUint","nodeType":"MemberAccess","referencedDeclaration":15449,"src":"7441:16:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,uint256[] memory) external returns (string memory)"}},"id":12461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7441:37:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12455,"id":12462,"nodeType":"Return","src":"7434:44:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7295:9:14","parameters":{"id":12452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12446,"mutability":"mutable","name":"jsonKey","nameLocation":"7319:7:14","nodeType":"VariableDeclaration","scope":12464,"src":"7305:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12445,"name":"string","nodeType":"ElementaryTypeName","src":"7305:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12448,"mutability":"mutable","name":"key","nameLocation":"7342:3:14","nodeType":"VariableDeclaration","scope":12464,"src":"7328:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12447,"name":"string","nodeType":"ElementaryTypeName","src":"7328:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12451,"mutability":"mutable","name":"value","nameLocation":"7364:5:14","nodeType":"VariableDeclaration","scope":12464,"src":"7347:22:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12449,"name":"uint256","nodeType":"ElementaryTypeName","src":"7347:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12450,"nodeType":"ArrayTypeName","src":"7347:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"7304:66:14"},"returnParameters":{"id":12455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12454,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12464,"src":"7405:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12453,"name":"string","nodeType":"ElementaryTypeName","src":"7405:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7404:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12483,"nodeType":"FunctionDefinition","src":"7491:168:14","nodes":[],"body":{"id":12482,"nodeType":"Block","src":"7599:60:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12477,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12466,"src":"7632:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12478,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12468,"src":"7641:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12479,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12470,"src":"7646:5:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":12475,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"7616:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7619:12:14","memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":15340,"src":"7616:15:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,int256) external returns (string memory)"}},"id":12480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7616:36:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12474,"id":12481,"nodeType":"Return","src":"7609:43:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7500:9:14","parameters":{"id":12471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12466,"mutability":"mutable","name":"jsonKey","nameLocation":"7524:7:14","nodeType":"VariableDeclaration","scope":12483,"src":"7510:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12465,"name":"string","nodeType":"ElementaryTypeName","src":"7510:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12468,"mutability":"mutable","name":"key","nameLocation":"7547:3:14","nodeType":"VariableDeclaration","scope":12483,"src":"7533:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12467,"name":"string","nodeType":"ElementaryTypeName","src":"7533:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12470,"mutability":"mutable","name":"value","nameLocation":"7559:5:14","nodeType":"VariableDeclaration","scope":12483,"src":"7552:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12469,"name":"int256","nodeType":"ElementaryTypeName","src":"7552:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7509:56:14"},"returnParameters":{"id":12474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12473,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12483,"src":"7584:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12472,"name":"string","nodeType":"ElementaryTypeName","src":"7584:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7583:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12503,"nodeType":"FunctionDefinition","src":"7665:197:14","nodes":[],"body":{"id":12502,"nodeType":"Block","src":"7802:60:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12497,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12485,"src":"7835:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12498,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12487,"src":"7844:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12499,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12490,"src":"7849:5:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[] memory"}],"expression":{"id":12495,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"7819:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7822:12:14","memberName":"serializeInt","nodeType":"MemberAccess","referencedDeclaration":15353,"src":"7819:15:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_int256_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,int256[] memory) external returns (string memory)"}},"id":12500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7819:36:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12494,"id":12501,"nodeType":"Return","src":"7812:43:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7674:9:14","parameters":{"id":12491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12485,"mutability":"mutable","name":"jsonKey","nameLocation":"7698:7:14","nodeType":"VariableDeclaration","scope":12503,"src":"7684:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12484,"name":"string","nodeType":"ElementaryTypeName","src":"7684:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12487,"mutability":"mutable","name":"key","nameLocation":"7721:3:14","nodeType":"VariableDeclaration","scope":12503,"src":"7707:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12486,"name":"string","nodeType":"ElementaryTypeName","src":"7707:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12490,"mutability":"mutable","name":"value","nameLocation":"7742:5:14","nodeType":"VariableDeclaration","scope":12503,"src":"7726:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":12488,"name":"int256","nodeType":"ElementaryTypeName","src":"7726:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12489,"nodeType":"ArrayTypeName","src":"7726:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"7683:65:14"},"returnParameters":{"id":12494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12493,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12503,"src":"7783:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12492,"name":"string","nodeType":"ElementaryTypeName","src":"7783:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7782:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12522,"nodeType":"FunctionDefinition","src":"7868:173:14","nodes":[],"body":{"id":12521,"nodeType":"Block","src":"7977:64:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12516,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12505,"src":"8014:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12517,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12507,"src":"8023:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12518,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12509,"src":"8028:5:14","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":12514,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"7994:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7997:16:14","memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":15240,"src":"7994:19:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,address) external returns (string memory)"}},"id":12519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7994:40:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12513,"id":12520,"nodeType":"Return","src":"7987:47:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"7877:9:14","parameters":{"id":12510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12505,"mutability":"mutable","name":"jsonKey","nameLocation":"7901:7:14","nodeType":"VariableDeclaration","scope":12522,"src":"7887:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12504,"name":"string","nodeType":"ElementaryTypeName","src":"7887:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12507,"mutability":"mutable","name":"key","nameLocation":"7924:3:14","nodeType":"VariableDeclaration","scope":12522,"src":"7910:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12506,"name":"string","nodeType":"ElementaryTypeName","src":"7910:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12509,"mutability":"mutable","name":"value","nameLocation":"7937:5:14","nodeType":"VariableDeclaration","scope":12522,"src":"7929:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12508,"name":"address","nodeType":"ElementaryTypeName","src":"7929:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7886:57:14"},"returnParameters":{"id":12513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12512,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12522,"src":"7962:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12511,"name":"string","nodeType":"ElementaryTypeName","src":"7962:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7961:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12542,"nodeType":"FunctionDefinition","src":"8047:202:14","nodes":[],"body":{"id":12541,"nodeType":"Block","src":"8185:64:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12536,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12524,"src":"8222:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12537,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12526,"src":"8231:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12538,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12529,"src":"8236:5:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":12534,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"8202:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8205:16:14","memberName":"serializeAddress","nodeType":"MemberAccess","referencedDeclaration":15253,"src":"8202:19:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,address[] memory) external returns (string memory)"}},"id":12539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8202:40:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12533,"id":12540,"nodeType":"Return","src":"8195:47:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8056:9:14","parameters":{"id":12530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12524,"mutability":"mutable","name":"jsonKey","nameLocation":"8080:7:14","nodeType":"VariableDeclaration","scope":12542,"src":"8066:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12523,"name":"string","nodeType":"ElementaryTypeName","src":"8066:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12526,"mutability":"mutable","name":"key","nameLocation":"8103:3:14","nodeType":"VariableDeclaration","scope":12542,"src":"8089:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12525,"name":"string","nodeType":"ElementaryTypeName","src":"8089:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12529,"mutability":"mutable","name":"value","nameLocation":"8125:5:14","nodeType":"VariableDeclaration","scope":12542,"src":"8108:22:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12527,"name":"address","nodeType":"ElementaryTypeName","src":"8108:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12528,"nodeType":"ArrayTypeName","src":"8108:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8065:66:14"},"returnParameters":{"id":12533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12532,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12542,"src":"8166:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12531,"name":"string","nodeType":"ElementaryTypeName","src":"8166:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8165:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12561,"nodeType":"FunctionDefinition","src":"8255:173:14","nodes":[],"body":{"id":12560,"nodeType":"Block","src":"8364:64:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12555,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12544,"src":"8401:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12556,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12546,"src":"8410:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12557,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12548,"src":"8415:5:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":12553,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"8381:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8384:16:14","memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":15290,"src":"8381:19:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes32) external returns (string memory)"}},"id":12558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8381:40:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12552,"id":12559,"nodeType":"Return","src":"8374:47:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8264:9:14","parameters":{"id":12549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12544,"mutability":"mutable","name":"jsonKey","nameLocation":"8288:7:14","nodeType":"VariableDeclaration","scope":12561,"src":"8274:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12543,"name":"string","nodeType":"ElementaryTypeName","src":"8274:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12546,"mutability":"mutable","name":"key","nameLocation":"8311:3:14","nodeType":"VariableDeclaration","scope":12561,"src":"8297:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12545,"name":"string","nodeType":"ElementaryTypeName","src":"8297:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12548,"mutability":"mutable","name":"value","nameLocation":"8324:5:14","nodeType":"VariableDeclaration","scope":12561,"src":"8316:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12547,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8316:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8273:57:14"},"returnParameters":{"id":12552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12561,"src":"8349:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12550,"name":"string","nodeType":"ElementaryTypeName","src":"8349:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8348:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12581,"nodeType":"FunctionDefinition","src":"8434:202:14","nodes":[],"body":{"id":12580,"nodeType":"Block","src":"8572:64:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12575,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12563,"src":"8609:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12576,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12565,"src":"8618:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12577,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12568,"src":"8623:5:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[] memory"}],"expression":{"id":12573,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"8589:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8592:16:14","memberName":"serializeBytes32","nodeType":"MemberAccess","referencedDeclaration":15303,"src":"8589:19:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes32_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes32[] memory) external returns (string memory)"}},"id":12578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8589:40:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12572,"id":12579,"nodeType":"Return","src":"8582:47:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8443:9:14","parameters":{"id":12569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12563,"mutability":"mutable","name":"jsonKey","nameLocation":"8467:7:14","nodeType":"VariableDeclaration","scope":12581,"src":"8453:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12562,"name":"string","nodeType":"ElementaryTypeName","src":"8453:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12565,"mutability":"mutable","name":"key","nameLocation":"8490:3:14","nodeType":"VariableDeclaration","scope":12581,"src":"8476:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12564,"name":"string","nodeType":"ElementaryTypeName","src":"8476:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12568,"mutability":"mutable","name":"value","nameLocation":"8512:5:14","nodeType":"VariableDeclaration","scope":12581,"src":"8495:22:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12566,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8495:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12567,"nodeType":"ArrayTypeName","src":"8495:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"8452:66:14"},"returnParameters":{"id":12572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12571,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12581,"src":"8553:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12570,"name":"string","nodeType":"ElementaryTypeName","src":"8553:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8552:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12600,"nodeType":"FunctionDefinition","src":"8642:176:14","nodes":[],"body":{"id":12599,"nodeType":"Block","src":"8756:62:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12594,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12583,"src":"8791:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12595,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12585,"src":"8800:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12596,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12587,"src":"8805:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":12592,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"8773:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8776:14:14","memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":15315,"src":"8773:17:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes memory) external returns (string memory)"}},"id":12597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8773:38:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12591,"id":12598,"nodeType":"Return","src":"8766:45:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8651:9:14","parameters":{"id":12588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12583,"mutability":"mutable","name":"jsonKey","nameLocation":"8675:7:14","nodeType":"VariableDeclaration","scope":12600,"src":"8661:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12582,"name":"string","nodeType":"ElementaryTypeName","src":"8661:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12585,"mutability":"mutable","name":"key","nameLocation":"8698:3:14","nodeType":"VariableDeclaration","scope":12600,"src":"8684:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12584,"name":"string","nodeType":"ElementaryTypeName","src":"8684:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12587,"mutability":"mutable","name":"value","nameLocation":"8716:5:14","nodeType":"VariableDeclaration","scope":12600,"src":"8703:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12586,"name":"bytes","nodeType":"ElementaryTypeName","src":"8703:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8660:62:14"},"returnParameters":{"id":12591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12590,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12600,"src":"8741:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12589,"name":"string","nodeType":"ElementaryTypeName","src":"8741:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8740:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12620,"nodeType":"FunctionDefinition","src":"8824:198:14","nodes":[],"body":{"id":12619,"nodeType":"Block","src":"8960:62:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12614,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12602,"src":"8995:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12615,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12604,"src":"9004:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12616,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12607,"src":"9009:5:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":12612,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"8977:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8980:14:14","memberName":"serializeBytes","nodeType":"MemberAccess","referencedDeclaration":15328,"src":"8977:17:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,bytes memory[] memory) external returns (string memory)"}},"id":12617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8977:38:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12611,"id":12618,"nodeType":"Return","src":"8970:45:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"8833:9:14","parameters":{"id":12608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12602,"mutability":"mutable","name":"jsonKey","nameLocation":"8857:7:14","nodeType":"VariableDeclaration","scope":12620,"src":"8843:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12601,"name":"string","nodeType":"ElementaryTypeName","src":"8843:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12604,"mutability":"mutable","name":"key","nameLocation":"8880:3:14","nodeType":"VariableDeclaration","scope":12620,"src":"8866:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12603,"name":"string","nodeType":"ElementaryTypeName","src":"8866:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12607,"mutability":"mutable","name":"value","nameLocation":"8900:5:14","nodeType":"VariableDeclaration","scope":12620,"src":"8885:20:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12605,"name":"bytes","nodeType":"ElementaryTypeName","src":"8885:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12606,"nodeType":"ArrayTypeName","src":"8885:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"8842:64:14"},"returnParameters":{"id":12611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12610,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12620,"src":"8941:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12609,"name":"string","nodeType":"ElementaryTypeName","src":"8941:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8940:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12639,"nodeType":"FunctionDefinition","src":"9028:198:14","nodes":[],"body":{"id":12638,"nodeType":"Block","src":"9163:63:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12633,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12622,"src":"9199:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12634,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12624,"src":"9208:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12635,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12626,"src":"9213:5:14","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":12631,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"9180:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9183:15:14","memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":15399,"src":"9180:18:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory) external returns (string memory)"}},"id":12636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9180:39:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12630,"id":12637,"nodeType":"Return","src":"9173:46:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"9037:9:14","parameters":{"id":12627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12622,"mutability":"mutable","name":"jsonKey","nameLocation":"9061:7:14","nodeType":"VariableDeclaration","scope":12639,"src":"9047:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12621,"name":"string","nodeType":"ElementaryTypeName","src":"9047:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12624,"mutability":"mutable","name":"key","nameLocation":"9084:3:14","nodeType":"VariableDeclaration","scope":12639,"src":"9070:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12623,"name":"string","nodeType":"ElementaryTypeName","src":"9070:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12626,"mutability":"mutable","name":"value","nameLocation":"9103:5:14","nodeType":"VariableDeclaration","scope":12639,"src":"9089:19:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12625,"name":"string","nodeType":"ElementaryTypeName","src":"9089:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9046:63:14"},"returnParameters":{"id":12630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12629,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12639,"src":"9144:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12628,"name":"string","nodeType":"ElementaryTypeName","src":"9144:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9143:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12659,"nodeType":"FunctionDefinition","src":"9232:200:14","nodes":[],"body":{"id":12658,"nodeType":"Block","src":"9369:63:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12653,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12641,"src":"9405:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12654,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12643,"src":"9414:3:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12655,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12646,"src":"9419:5:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":12651,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"9386:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9389:15:14","memberName":"serializeString","nodeType":"MemberAccess","referencedDeclaration":15412,"src":"9386:18:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,string memory[] memory) external returns (string memory)"}},"id":12656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9386:39:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":12650,"id":12657,"nodeType":"Return","src":"9379:46:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"serialize","nameLocation":"9241:9:14","parameters":{"id":12647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12641,"mutability":"mutable","name":"jsonKey","nameLocation":"9265:7:14","nodeType":"VariableDeclaration","scope":12659,"src":"9251:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12640,"name":"string","nodeType":"ElementaryTypeName","src":"9251:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12643,"mutability":"mutable","name":"key","nameLocation":"9288:3:14","nodeType":"VariableDeclaration","scope":12659,"src":"9274:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12642,"name":"string","nodeType":"ElementaryTypeName","src":"9274:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12646,"mutability":"mutable","name":"value","nameLocation":"9309:5:14","nodeType":"VariableDeclaration","scope":12659,"src":"9293:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12644,"name":"string","nodeType":"ElementaryTypeName","src":"9293:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12645,"nodeType":"ArrayTypeName","src":"9293:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"9250:65:14"},"returnParameters":{"id":12650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12649,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12659,"src":"9350:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12648,"name":"string","nodeType":"ElementaryTypeName","src":"9350:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9349:15:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12674,"nodeType":"FunctionDefinition","src":"9438:111:14","nodes":[],"body":{"id":12673,"nodeType":"Block","src":"9505:44:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12669,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12661,"src":"9528:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12670,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12663,"src":"9537:4:14","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":12666,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"9515:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9518:9:14","memberName":"writeToml","nodeType":"MemberAccess","referencedDeclaration":17311,"src":"9515:12:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":12671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9515:27:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12672,"nodeType":"ExpressionStatement","src":"9515:27:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"9447:5:14","parameters":{"id":12664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12661,"mutability":"mutable","name":"jsonKey","nameLocation":"9467:7:14","nodeType":"VariableDeclaration","scope":12674,"src":"9453:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12660,"name":"string","nodeType":"ElementaryTypeName","src":"9453:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12663,"mutability":"mutable","name":"path","nameLocation":"9490:4:14","nodeType":"VariableDeclaration","scope":12674,"src":"9476:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12662,"name":"string","nodeType":"ElementaryTypeName","src":"9476:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9452:43:14"},"returnParameters":{"id":12665,"nodeType":"ParameterList","parameters":[],"src":"9505:0:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":12692,"nodeType":"FunctionDefinition","src":"9555:145:14","nodes":[],"body":{"id":12691,"nodeType":"Block","src":"9646:54:14","nodes":[],"statements":[{"expression":{"arguments":[{"id":12686,"name":"jsonKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12676,"src":"9669:7:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12687,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12678,"src":"9678:4:14","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":12688,"name":"valueKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12680,"src":"9684:8:14","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":12683,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11771,"src":"9656:2:14","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":12685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9659:9:14","memberName":"writeToml","nodeType":"MemberAccess","referencedDeclaration":17321,"src":"9656:12:14","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory,string memory) external"}},"id":12689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9656:37:14","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12690,"nodeType":"ExpressionStatement","src":"9656:37:14"}]},"implemented":true,"kind":"function","modifiers":[],"name":"write","nameLocation":"9564:5:14","parameters":{"id":12681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12676,"mutability":"mutable","name":"jsonKey","nameLocation":"9584:7:14","nodeType":"VariableDeclaration","scope":12692,"src":"9570:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12675,"name":"string","nodeType":"ElementaryTypeName","src":"9570:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12678,"mutability":"mutable","name":"path","nameLocation":"9607:4:14","nodeType":"VariableDeclaration","scope":12692,"src":"9593:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12677,"name":"string","nodeType":"ElementaryTypeName","src":"9593:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12680,"mutability":"mutable","name":"valueKey","nameLocation":"9627:8:14","nodeType":"VariableDeclaration","scope":12692,"src":"9613:22:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12679,"name":"string","nodeType":"ElementaryTypeName","src":"9613:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9569:67:14"},"returnParameters":{"id":12682,"nodeType":"ParameterList","parameters":[],"src":"9646:0:14"},"scope":12693,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"stdToml","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[12693],"name":"stdToml","nameLocation":"618:7:14","scope":12694,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/StdUtils.sol":{"id":15,"ast":{"absolutePath":"lib/forge-std/src/StdUtils.sol","id":13421,"exportedSymbols":{"IMulticall3":[26962],"StdUtils":[13420],"VmSafe":[17608]},"nodeType":"SourceUnit","src":"32:9867:15","nodes":[{"id":12695,"nodeType":"PragmaDirective","src":"32:31:15","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":12696,"nodeType":"PragmaDirective","src":"65:33:15","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":12698,"nodeType":"ImportDirective","src":"100:57:15","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IMulticall3.sol","file":"./interfaces/IMulticall3.sol","nameLocation":"-1:-1:-1","scope":13421,"sourceUnit":26963,"symbolAliases":[{"foreign":{"id":12697,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26962,"src":"108:11:15","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12700,"nodeType":"ImportDirective","src":"158:32:15","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":13421,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":12699,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"166:6:15","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13420,"nodeType":"ContractDefinition","src":"192:9706:15","nodes":[{"id":12706,"nodeType":"VariableDeclaration","src":"435:96:15","nodes":[],"constant":true,"mutability":"constant","name":"multicall","nameLocation":"464:9:15","scope":13420,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26962","typeString":"contract IMulticall3"},"typeName":{"id":12702,"nodeType":"UserDefinedTypeName","pathNode":{"id":12701,"name":"IMulticall3","nameLocations":["435:11:15"],"nodeType":"IdentifierPath","referencedDeclaration":26962,"src":"435:11:15"},"referencedDeclaration":26962,"src":"435:11:15","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26962","typeString":"contract IMulticall3"}},"value":{"arguments":[{"hexValue":"307863413131626465303539373762333633313136373032383836326245326131373339373643413131","id":12704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"488:42:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xcA11bde05977b3631167028862bE2a173976CA11"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12703,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26962,"src":"476:11:15","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$26962_$","typeString":"type(contract IMulticall3)"}},"id":12705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"476:55:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26962","typeString":"contract IMulticall3"}},"visibility":"private"},{"id":12723,"nodeType":"VariableDeclaration","src":"537:92:15","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"561:2:15","scope":13420,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"},"typeName":{"id":12708,"nodeType":"UserDefinedTypeName","pathNode":{"id":12707,"name":"VmSafe","nameLocations":["537:6:15"],"nodeType":"IdentifierPath","referencedDeclaration":17608,"src":"537:6:15"},"referencedDeclaration":17608,"src":"537:6:15","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":12717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"607:17:15","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":12716,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"597:9:15","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":12718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"597:28:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":12715,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"589:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12714,"name":"uint256","nodeType":"ElementaryTypeName","src":"589:7:15","typeDescriptions":{}}},"id":12719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"589:37:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"581:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":12712,"name":"uint160","nodeType":"ElementaryTypeName","src":"581:7:15","typeDescriptions":{}}},"id":12720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"581:46:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":12711,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"573:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":12710,"name":"address","nodeType":"ElementaryTypeName","src":"573:7:15","typeDescriptions":{}}},"id":12721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"573:55:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":12709,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":17608,"src":"566:6:15","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$17608_$","typeString":"type(contract VmSafe)"}},"id":12722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"566:63:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"visibility":"private"},{"id":12726,"nodeType":"VariableDeclaration","src":"635:86:15","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE2_ADDRESS","nameLocation":"660:16:15","scope":13420,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12724,"name":"address","nodeType":"ElementaryTypeName","src":"635:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":12725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"679:42:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"},"visibility":"private"},{"id":12729,"nodeType":"VariableDeclaration","src":"727:127:15","nodes":[],"constant":true,"mutability":"constant","name":"INT256_MIN_ABS","nameLocation":"752:14:15","scope":13420,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12727,"name":"uint256","nodeType":"ElementaryTypeName","src":"727:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3537383936303434363138363538303937373131373835343932353034333433393533393236363334393932333332383230323832303139373238373932303033393536353634383139393638","id":12728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"777:77:15","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819968_by_1","typeString":"int_const 5789...(69 digits omitted)...9968"},"value":"57896044618658097711785492504343953926634992332820282019728792003956564819968"},"visibility":"private"},{"id":12732,"nodeType":"VariableDeclaration","src":"860:129:15","nodes":[],"constant":true,"mutability":"constant","name":"SECP256K1_ORDER","nameLocation":"885:15:15","scope":13420,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12730,"name":"uint256","nodeType":"ElementaryTypeName","src":"860:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383532383337353634323739303734393034333832363035313633313431353138313631343934333337","id":12731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"911:78:15","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907852837564279074904382605163141518161494337_by_1","typeString":"int_const 1157...(70 digits omitted)...4337"},"value":"115792089237316195423570985008687907852837564279074904382605163141518161494337"},"visibility":"private"},{"id":12735,"nodeType":"VariableDeclaration","src":"995:125:15","nodes":[],"constant":true,"mutability":"constant","name":"UINT256_MAX","nameLocation":"1020:11:15","scope":13420,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12733,"name":"uint256","nodeType":"ElementaryTypeName","src":"995:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313135373932303839323337333136313935343233353730393835303038363837393037383533323639393834363635363430353634303339343537353834303037393133313239363339393335","id":12734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1042:78:15","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"value":"115792089237316195423570985008687907853269984665640564039457584007913129639935"},"visibility":"private"},{"id":12738,"nodeType":"VariableDeclaration","src":"1239:85:15","nodes":[],"constant":true,"mutability":"constant","name":"CREATE2_FACTORY","nameLocation":"1264:15:15","scope":13420,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12736,"name":"address","nodeType":"ElementaryTypeName","src":"1239:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307834653539623434383437623337393537383538383932306341373846624632366330423439353643","id":12737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1282:42:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x4e59b44847b379578588920cA78FbF26c0B4956C"},"visibility":"private"},{"id":12868,"nodeType":"FunctionDefinition","src":"1546:1263:15","nodes":[],"body":{"id":12867,"nodeType":"Block","src":"1646:1163:15","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12750,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12742,"src":"1664:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":12751,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12744,"src":"1671:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1664:10:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320626f756e642875696e743235362c75696e743235362c75696e74323536293a204d6178206973206c657373207468616e206d696e2e","id":12753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1676:64:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_16c21f4eccdbbd49e5dc1331f271d929c25cafaf25207892b67e15553a16c5f2","typeString":"literal_string \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\""},"value":"StdUtils bound(uint256,uint256,uint256): Max is less than min."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_16c21f4eccdbbd49e5dc1331f271d929c25cafaf25207892b67e15553a16c5f2","typeString":"literal_string \"StdUtils bound(uint256,uint256,uint256): Max is less than min.\""}],"id":12749,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1656:7:15","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1656:85:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12755,"nodeType":"ExpressionStatement","src":"1656:85:15"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12756,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"1970:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":12757,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12742,"src":"1975:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1970:8:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12759,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"1982:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":12760,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12744,"src":"1987:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1982:8:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1970:20:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12765,"nodeType":"IfStatement","src":"1966:34:15","trueBody":{"expression":{"id":12763,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"1999:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12748,"id":12764,"nodeType":"Return","src":"1992:8:15"}},{"assignments":[12767],"declarations":[{"constant":false,"id":12767,"mutability":"mutable","name":"size","nameLocation":"2019:4:15","nodeType":"VariableDeclaration","scope":12867,"src":"2011:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12766,"name":"uint256","nodeType":"ElementaryTypeName","src":"2011:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12773,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12768,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12744,"src":"2026:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12769,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12742,"src":"2032:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2026:9:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":12771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2038:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2026:13:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2011:28:15"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12774,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2229:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"33","id":12775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2234:1:15","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2229:6:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12777,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12767,"src":"2239:4:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":12778,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2246:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2239:8:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2229:18:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12785,"nodeType":"IfStatement","src":"2225:38:15","trueBody":{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12781,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12742,"src":"2256:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":12782,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2262:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2256:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12748,"id":12784,"nodeType":"Return","src":"2249:14:15"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":12796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12786,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2277:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":12787,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12735,"src":"2282:11:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"33","id":12788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2296:1:15","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"2282:15:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2277:20:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12791,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12767,"src":"2301:4:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12792,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12735,"src":"2308:11:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12793,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2322:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2308:15:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2301:22:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2277:46:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12804,"nodeType":"IfStatement","src":"2273:82:15","trueBody":{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12797,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12744,"src":"2332:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12798,"name":"UINT256_MAX","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12735,"src":"2339:11:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12799,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2353:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2339:15:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12801,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2338:17:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2332:23:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12748,"id":12803,"nodeType":"Return","src":"2325:30:15"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12805,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2455:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":12806,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12744,"src":"2459:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2455:7:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12835,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2634:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":12836,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12742,"src":"2638:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2634:7:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12865,"nodeType":"IfStatement","src":"2630:173:15","trueBody":{"id":12864,"nodeType":"Block","src":"2643:160:15","statements":[{"assignments":[12839],"declarations":[{"constant":false,"id":12839,"mutability":"mutable","name":"diff","nameLocation":"2665:4:15","nodeType":"VariableDeclaration","scope":12864,"src":"2657:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12838,"name":"uint256","nodeType":"ElementaryTypeName","src":"2657:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12843,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12840,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12742,"src":"2672:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12841,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2678:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2672:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2657:22:15"},{"assignments":[12845],"declarations":[{"constant":false,"id":12845,"mutability":"mutable","name":"rem","nameLocation":"2701:3:15","nodeType":"VariableDeclaration","scope":12864,"src":"2693:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12844,"name":"uint256","nodeType":"ElementaryTypeName","src":"2693:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12849,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12846,"name":"diff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12839,"src":"2707:4:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":12847,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12767,"src":"2714:4:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2707:11:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2693:25:15"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12850,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12845,"src":"2736:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":12851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2743:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2736:8:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12855,"nodeType":"IfStatement","src":"2732:24:15","trueBody":{"expression":{"id":12853,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12742,"src":"2753:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12748,"id":12854,"nodeType":"Return","src":"2746:10:15"}},{"expression":{"id":12862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12856,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12747,"src":"2770:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12857,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12744,"src":"2779:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12858,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12845,"src":"2785:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2779:9:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":12860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2791:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2779:13:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2770:22:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12863,"nodeType":"ExpressionStatement","src":"2770:22:15"}]}},"id":12866,"nodeType":"IfStatement","src":"2451:352:15","trueBody":{"id":12834,"nodeType":"Block","src":"2464:160:15","statements":[{"assignments":[12809],"declarations":[{"constant":false,"id":12809,"mutability":"mutable","name":"diff","nameLocation":"2486:4:15","nodeType":"VariableDeclaration","scope":12834,"src":"2478:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12808,"name":"uint256","nodeType":"ElementaryTypeName","src":"2478:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12813,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12810,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12740,"src":"2493:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12811,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12744,"src":"2497:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2493:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2478:22:15"},{"assignments":[12815],"declarations":[{"constant":false,"id":12815,"mutability":"mutable","name":"rem","nameLocation":"2522:3:15","nodeType":"VariableDeclaration","scope":12834,"src":"2514:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12814,"name":"uint256","nodeType":"ElementaryTypeName","src":"2514:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12819,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12816,"name":"diff","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12809,"src":"2528:4:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"id":12817,"name":"size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12767,"src":"2535:4:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2528:11:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2514:25:15"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12820,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12815,"src":"2557:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":12821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2564:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2557:8:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12825,"nodeType":"IfStatement","src":"2553:24:15","trueBody":{"expression":{"id":12823,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12744,"src":"2574:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":12748,"id":12824,"nodeType":"Return","src":"2567:10:15"}},{"expression":{"id":12832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12826,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12747,"src":"2591:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12827,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12742,"src":"2600:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":12828,"name":"rem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12815,"src":"2606:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2600:9:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":12830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2612:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2600:13:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2591:22:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12833,"nodeType":"ExpressionStatement","src":"2591:22:15"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_bound","nameLocation":"1555:6:15","parameters":{"id":12745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12740,"mutability":"mutable","name":"x","nameLocation":"1570:1:15","nodeType":"VariableDeclaration","scope":12868,"src":"1562:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12739,"name":"uint256","nodeType":"ElementaryTypeName","src":"1562:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12742,"mutability":"mutable","name":"min","nameLocation":"1581:3:15","nodeType":"VariableDeclaration","scope":12868,"src":"1573:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12741,"name":"uint256","nodeType":"ElementaryTypeName","src":"1573:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12744,"mutability":"mutable","name":"max","nameLocation":"1594:3:15","nodeType":"VariableDeclaration","scope":12868,"src":"1586:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12743,"name":"uint256","nodeType":"ElementaryTypeName","src":"1586:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1561:37:15"},"returnParameters":{"id":12748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12747,"mutability":"mutable","name":"result","nameLocation":"1638:6:15","nodeType":"VariableDeclaration","scope":12868,"src":"1630:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12746,"name":"uint256","nodeType":"ElementaryTypeName","src":"1630:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1629:16:15"},"scope":13420,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":12893,"nodeType":"FunctionDefinition","src":"2815:199:15","nodes":[],"body":{"id":12892,"nodeType":"Block","src":"2914:100:15","nodes":[],"statements":[{"expression":{"id":12885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12879,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12877,"src":"2924:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":12881,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12870,"src":"2940:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12882,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12872,"src":"2943:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12883,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12874,"src":"2948:3:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12880,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[12868,13015],"referencedDeclaration":12868,"src":"2933:6:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":12884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2933:19:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2924:28:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12886,"nodeType":"ExpressionStatement","src":"2924:28:15"},{"expression":{"arguments":[{"hexValue":"426f756e6420726573756c74","id":12888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2984:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},"value":"Bound result"},{"id":12889,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12877,"src":"3000:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12887,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[13385,13402,13419],"referencedDeclaration":13402,"src":"2962:21:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":12890,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2962:45:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12891,"nodeType":"ExpressionStatement","src":"2962:45:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bound","nameLocation":"2824:5:15","parameters":{"id":12875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12870,"mutability":"mutable","name":"x","nameLocation":"2838:1:15","nodeType":"VariableDeclaration","scope":12893,"src":"2830:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12869,"name":"uint256","nodeType":"ElementaryTypeName","src":"2830:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12872,"mutability":"mutable","name":"min","nameLocation":"2849:3:15","nodeType":"VariableDeclaration","scope":12893,"src":"2841:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12871,"name":"uint256","nodeType":"ElementaryTypeName","src":"2841:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12874,"mutability":"mutable","name":"max","nameLocation":"2862:3:15","nodeType":"VariableDeclaration","scope":12893,"src":"2854:11:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12873,"name":"uint256","nodeType":"ElementaryTypeName","src":"2854:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2829:37:15"},"returnParameters":{"id":12878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12877,"mutability":"mutable","name":"result","nameLocation":"2906:6:15","nodeType":"VariableDeclaration","scope":12893,"src":"2898:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12876,"name":"uint256","nodeType":"ElementaryTypeName","src":"2898:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2897:16:15"},"scope":13420,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":13015,"nodeType":"FunctionDefinition","src":"3020:1145:15","nodes":[],"body":{"id":13014,"nodeType":"Block","src":"3116:1049:15","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":12907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12905,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12897,"src":"3134:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":12906,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12899,"src":"3141:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"3134:10:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320626f756e6428696e743235362c696e743235362c696e74323536293a204d6178206973206c657373207468616e206d696e2e","id":12908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3146:61:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_0fd736be0f0596d130ab62399a2ecc4855db1de6a3b01be590df45aa0de73247","typeString":"literal_string \"StdUtils bound(int256,int256,int256): Max is less than min.\""},"value":"StdUtils bound(int256,int256,int256): Max is less than min."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0fd736be0f0596d130ab62399a2ecc4855db1de6a3b01be590df45aa0de73247","typeString":"literal_string \"StdUtils bound(int256,int256,int256): Max is less than min.\""}],"id":12904,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3126:7:15","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":12909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3126:82:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":12910,"nodeType":"ExpressionStatement","src":"3126:82:15"},{"assignments":[12912],"declarations":[{"constant":false,"id":12912,"mutability":"mutable","name":"_x","nameLocation":"3644:2:15","nodeType":"VariableDeclaration","scope":13014,"src":"3636:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12911,"name":"uint256","nodeType":"ElementaryTypeName","src":"3636:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12934,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":12915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12913,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12895,"src":"3649:1:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":12914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3653:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3649:5:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12928,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12895,"src":"3703:1:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3695:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12926,"name":"uint256","nodeType":"ElementaryTypeName","src":"3695:7:15","typeDescriptions":{}}},"id":12929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3695:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":12930,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12729,"src":"3708:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3695:27:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12932,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3694:29:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3649:74:15","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12916,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12729,"src":"3658:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3675:11:15","subExpression":{"arguments":[{"id":12919,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12895,"src":"3684:1:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12918,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3676:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12917,"name":"uint256","nodeType":"ElementaryTypeName","src":"3676:7:15","typeDescriptions":{}}},"id":12920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3676:10:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3658:28:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":12923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3689:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3658:32:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12925,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3657:34:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3636:87:15"},{"assignments":[12936],"declarations":[{"constant":false,"id":12936,"mutability":"mutable","name":"_min","nameLocation":"3741:4:15","nodeType":"VariableDeclaration","scope":13014,"src":"3733:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12935,"name":"uint256","nodeType":"ElementaryTypeName","src":"3733:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12958,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":12939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12937,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12897,"src":"3748:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":12938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3754:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3748:7:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12952,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12897,"src":"3806:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3798:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12950,"name":"uint256","nodeType":"ElementaryTypeName","src":"3798:7:15","typeDescriptions":{}}},"id":12953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3798:12:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":12954,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12729,"src":"3813:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3798:29:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12956,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3797:31:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3748:80:15","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12940,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12729,"src":"3759:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3776:13:15","subExpression":{"arguments":[{"id":12943,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12897,"src":"3785:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12942,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3777:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12941,"name":"uint256","nodeType":"ElementaryTypeName","src":"3777:7:15","typeDescriptions":{}}},"id":12944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3777:12:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3759:30:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":12947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3792:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3759:34:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12949,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3758:36:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3733:95:15"},{"assignments":[12960],"declarations":[{"constant":false,"id":12960,"mutability":"mutable","name":"_max","nameLocation":"3846:4:15","nodeType":"VariableDeclaration","scope":13014,"src":"3838:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12959,"name":"uint256","nodeType":"ElementaryTypeName","src":"3838:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12982,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":12963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12961,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12899,"src":"3853:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":12962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3859:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3853:7:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":12976,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12899,"src":"3911:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12975,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3903:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12974,"name":"uint256","nodeType":"ElementaryTypeName","src":"3903:7:15","typeDescriptions":{}}},"id":12977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3903:12:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":12978,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12729,"src":"3918:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3903:29:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12980,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3902:31:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3853:80:15","trueExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12964,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12729,"src":"3864:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3881:13:15","subExpression":{"arguments":[{"id":12967,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12899,"src":"3890:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":12966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3882:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":12965,"name":"uint256","nodeType":"ElementaryTypeName","src":"3882:7:15","typeDescriptions":{}}},"id":12968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3882:12:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3864:30:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":12971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3897:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3864:34:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":12973,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3863:36:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3838:95:15"},{"assignments":[12984],"declarations":[{"constant":false,"id":12984,"mutability":"mutable","name":"y","nameLocation":"3952:1:15","nodeType":"VariableDeclaration","scope":13014,"src":"3944:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12983,"name":"uint256","nodeType":"ElementaryTypeName","src":"3944:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":12990,"initialValue":{"arguments":[{"id":12986,"name":"_x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12912,"src":"3963:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12987,"name":"_min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12936,"src":"3967:4:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":12988,"name":"_max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12960,"src":"3973:4:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12985,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[12868,13015],"referencedDeclaration":12868,"src":"3956:6:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":12989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3956:22:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3944:34:15"},{"expression":{"id":13012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":12991,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12902,"src":"4066:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12992,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12984,"src":"4075:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":12993,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12729,"src":"4079:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4075:18:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13007,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12984,"src":"4139:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":13008,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12729,"src":"4143:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4139:18:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4132:6:15","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":13005,"name":"int256","nodeType":"ElementaryTypeName","src":"4132:6:15","typeDescriptions":{}}},"id":13010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4132:26:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4075:83:15","trueExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"4103:21:15","subExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":12999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":12997,"name":"INT256_MIN_ABS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12729,"src":"4105:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":12998,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12984,"src":"4122:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4105:18:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":13000,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4104:20:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":13002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4127:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4103:25:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":12996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4096:6:15","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":12995,"name":"int256","nodeType":"ElementaryTypeName","src":"4096:6:15","typeDescriptions":{}}},"id":13004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4096:33:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"4066:92:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13013,"nodeType":"ExpressionStatement","src":"4066:92:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_bound","nameLocation":"3029:6:15","parameters":{"id":12900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12895,"mutability":"mutable","name":"x","nameLocation":"3043:1:15","nodeType":"VariableDeclaration","scope":13015,"src":"3036:8:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12894,"name":"int256","nodeType":"ElementaryTypeName","src":"3036:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":12897,"mutability":"mutable","name":"min","nameLocation":"3053:3:15","nodeType":"VariableDeclaration","scope":13015,"src":"3046:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12896,"name":"int256","nodeType":"ElementaryTypeName","src":"3046:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":12899,"mutability":"mutable","name":"max","nameLocation":"3065:3:15","nodeType":"VariableDeclaration","scope":13015,"src":"3058:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12898,"name":"int256","nodeType":"ElementaryTypeName","src":"3058:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3035:34:15"},"returnParameters":{"id":12903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12902,"mutability":"mutable","name":"result","nameLocation":"3108:6:15","nodeType":"VariableDeclaration","scope":13015,"src":"3101:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12901,"name":"int256","nodeType":"ElementaryTypeName","src":"3101:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3100:15:15"},"scope":13420,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":13043,"nodeType":"FunctionDefinition","src":"4171:208:15","nodes":[],"body":{"id":13042,"nodeType":"Block","src":"4266:113:15","nodes":[],"statements":[{"expression":{"id":13032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":13026,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13024,"src":"4276:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":13028,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13017,"src":"4292:1:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":13029,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13019,"src":"4295:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":13030,"name":"max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13021,"src":"4300:3:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":13027,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[12868,13015],"referencedDeclaration":13015,"src":"4285:6:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$_t_int256_$_t_int256_$returns$_t_int256_$","typeString":"function (int256,int256,int256) pure returns (int256)"}},"id":13031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4285:19:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"4276:28:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13033,"nodeType":"ExpressionStatement","src":"4276:28:15"},{"expression":{"arguments":[{"hexValue":"426f756e6420726573756c74","id":13035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4336:14:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},"value":"Bound result"},{"arguments":[{"id":13038,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13024,"src":"4364:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":13036,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12723,"src":"4352:2:15","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":13037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4355:8:15","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":15769,"src":"4352:11:15","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_int256_$returns$_t_string_memory_ptr_$","typeString":"function (int256) pure external returns (string memory)"}},"id":13039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4352:19:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_81387530263afdcc351da6c89e6a10d49583b5beb1fecaddd0371443f1cd026f","typeString":"literal_string \"Bound result\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":13034,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[13385,13402,13419],"referencedDeclaration":13419,"src":"4314:21:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":13040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4314:58:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13041,"nodeType":"ExpressionStatement","src":"4314:58:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bound","nameLocation":"4180:5:15","parameters":{"id":13022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13017,"mutability":"mutable","name":"x","nameLocation":"4193:1:15","nodeType":"VariableDeclaration","scope":13043,"src":"4186:8:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13016,"name":"int256","nodeType":"ElementaryTypeName","src":"4186:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13019,"mutability":"mutable","name":"min","nameLocation":"4203:3:15","nodeType":"VariableDeclaration","scope":13043,"src":"4196:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13018,"name":"int256","nodeType":"ElementaryTypeName","src":"4196:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13021,"mutability":"mutable","name":"max","nameLocation":"4215:3:15","nodeType":"VariableDeclaration","scope":13043,"src":"4208:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13020,"name":"int256","nodeType":"ElementaryTypeName","src":"4208:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4185:34:15"},"returnParameters":{"id":13025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13024,"mutability":"mutable","name":"result","nameLocation":"4258:6:15","nodeType":"VariableDeclaration","scope":13043,"src":"4251:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13023,"name":"int256","nodeType":"ElementaryTypeName","src":"4251:6:15","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4250:15:15"},"scope":13420,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":13061,"nodeType":"FunctionDefinition","src":"4385:160:15","nodes":[],"body":{"id":13060,"nodeType":"Block","src":"4477:68:15","nodes":[],"statements":[{"expression":{"id":13058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":13050,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13048,"src":"4487:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":13052,"name":"privateKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13045,"src":"4503:10:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":13053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4515:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":13054,"name":"SECP256K1_ORDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12732,"src":"4518:15:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":13055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4536:1:15","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4518:19:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13051,"name":"_bound","nodeType":"Identifier","overloadedDeclarations":[12868,13015],"referencedDeclaration":12868,"src":"4496:6:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":13057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4496:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4487:51:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13059,"nodeType":"ExpressionStatement","src":"4487:51:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"boundPrivateKey","nameLocation":"4394:15:15","parameters":{"id":13046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13045,"mutability":"mutable","name":"privateKey","nameLocation":"4418:10:15","nodeType":"VariableDeclaration","scope":13061,"src":"4410:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13044,"name":"uint256","nodeType":"ElementaryTypeName","src":"4410:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4409:20:15"},"returnParameters":{"id":13049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13048,"mutability":"mutable","name":"result","nameLocation":"4469:6:15","nodeType":"VariableDeclaration","scope":13061,"src":"4461:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13047,"name":"uint256","nodeType":"ElementaryTypeName","src":"4461:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4460:16:15"},"scope":13420,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":13095,"nodeType":"FunctionDefinition","src":"4551:259:15","nodes":[],"body":{"id":13094,"nodeType":"Block","src":"4628:182:15","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":13069,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13063,"src":"4646:1:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":13070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4648:6:15","memberName":"length","nodeType":"MemberAccess","src":"4646:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3332","id":13071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4658:2:15","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"4646:14:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c73206279746573546f55696e74286279746573293a204279746573206c656e67746820657863656564732033322e","id":13073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4662:55:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_15bc16f8ce72c26d4fbf91f28e31f7cbe900e6386b04cf90f353bff0f5b2da88","typeString":"literal_string \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\""},"value":"StdUtils bytesToUint(bytes): Bytes length exceeds 32."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_15bc16f8ce72c26d4fbf91f28e31f7cbe900e6386b04cf90f353bff0f5b2da88","typeString":"literal_string \"StdUtils bytesToUint(bytes): Bytes length exceeds 32.\""}],"id":13068,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"4638:7:15","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4638:80:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13075,"nodeType":"ExpressionStatement","src":"4638:80:15"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":13082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4773:2:15","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":13083,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13063,"src":"4778:1:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":13084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4780:6:15","memberName":"length","nodeType":"MemberAccess","src":"4778:8:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4773:13:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13081,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4763:9:15","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":13080,"name":"bytes","nodeType":"ElementaryTypeName","src":"4767:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":13086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4763:24:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":13087,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13063,"src":"4789:1:15","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":13078,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4746:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4750:12:15","memberName":"encodePacked","nodeType":"MemberAccess","src":"4746:16:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":13088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4746:45:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":13090,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4794:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":13089,"name":"uint256","nodeType":"ElementaryTypeName","src":"4794:7:15","typeDescriptions":{}}}],"id":13091,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4793:9:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":13076,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4735:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13077,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4739:6:15","memberName":"decode","nodeType":"MemberAccess","src":"4735:10:15","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":13092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4735:68:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":13067,"id":13093,"nodeType":"Return","src":"4728:75:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"bytesToUint","nameLocation":"4560:11:15","parameters":{"id":13064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13063,"mutability":"mutable","name":"b","nameLocation":"4585:1:15","nodeType":"VariableDeclaration","scope":13095,"src":"4572:14:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13062,"name":"bytes","nodeType":"ElementaryTypeName","src":"4572:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4571:16:15"},"returnParameters":{"id":13067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13066,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13095,"src":"4619:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13065,"name":"uint256","nodeType":"ElementaryTypeName","src":"4619:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4618:9:15"},"scope":13420,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":13116,"nodeType":"FunctionDefinition","src":"4919:281:15","nodes":[],"body":{"id":13115,"nodeType":"Block","src":"5022:178:15","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"636f6d707574654372656174654164647265737320697320646570726563617465642e20506c656173652075736520766d2e636f6d707574654372656174654164647265737320696e73746561642e","id":13106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5054:81:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_7269602979e7efe0cf2435fd830893923e4ac6d12c1b6834ce0c3cdb39769052","typeString":"literal_string \"computeCreateAddress is deprecated. Please use vm.computeCreateAddress instead.\""},"value":"computeCreateAddress is deprecated. Please use vm.computeCreateAddress instead."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7269602979e7efe0cf2435fd830893923e4ac6d12c1b6834ce0c3cdb39769052","typeString":"literal_string \"computeCreateAddress is deprecated. Please use vm.computeCreateAddress instead.\""}],"id":13105,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[13385,13402,13419],"referencedDeclaration":13385,"src":"5032:21:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":13107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5032:104:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13108,"nodeType":"ExpressionStatement","src":"5032:104:15"},{"expression":{"arguments":[{"id":13111,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13098,"src":"5177:8:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":13112,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13100,"src":"5187:5:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13109,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12723,"src":"5153:2:15","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":13110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5156:20:15","memberName":"computeCreateAddress","nodeType":"MemberAccess","referencedDeclaration":17377,"src":"5153:23:15","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) pure external returns (address)"}},"id":13113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5153:40:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":13104,"id":13114,"nodeType":"Return","src":"5146:47:15"}]},"documentation":{"id":13096,"nodeType":"StructuredDocumentation","src":"4816:98:15","text":"@dev Compute the address a contract will be deployed at for a given deployer address and nonce"},"implemented":true,"kind":"function","modifiers":[],"name":"computeCreateAddress","nameLocation":"4928:20:15","parameters":{"id":13101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13098,"mutability":"mutable","name":"deployer","nameLocation":"4957:8:15","nodeType":"VariableDeclaration","scope":13116,"src":"4949:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13097,"name":"address","nodeType":"ElementaryTypeName","src":"4949:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13100,"mutability":"mutable","name":"nonce","nameLocation":"4975:5:15","nodeType":"VariableDeclaration","scope":13116,"src":"4967:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13099,"name":"uint256","nodeType":"ElementaryTypeName","src":"4967:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4948:33:15"},"returnParameters":{"id":13104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13103,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13116,"src":"5013:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13102,"name":"address","nodeType":"ElementaryTypeName","src":"5013:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5012:9:15"},"scope":13420,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":13139,"nodeType":"FunctionDefinition","src":"5206:355:15","nodes":[],"body":{"id":13138,"nodeType":"Block","src":"5367:194:15","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"636f6d70757465437265617465324164647265737320697320646570726563617465642e20506c656173652075736520766d2e636f6d70757465437265617465324164647265737320696e73746561642e","id":13128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5399:83:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5abd736618531808b1ea1a17b1144019e81db11351698dec9b35fe8aba205691","typeString":"literal_string \"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead.\""},"value":"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5abd736618531808b1ea1a17b1144019e81db11351698dec9b35fe8aba205691","typeString":"literal_string \"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead.\""}],"id":13127,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[13385,13402,13419],"referencedDeclaration":13385,"src":"5377:21:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":13129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5377:106:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13130,"nodeType":"ExpressionStatement","src":"5377:106:15"},{"expression":{"arguments":[{"id":13133,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13118,"src":"5525:4:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":13134,"name":"initcodeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13120,"src":"5531:12:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":13135,"name":"deployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13122,"src":"5545:8:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13131,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12723,"src":"5500:2:15","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":13132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5503:21:15","memberName":"computeCreate2Address","nodeType":"MemberAccess","referencedDeclaration":17357,"src":"5500:24:15","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$_t_address_$returns$_t_address_$","typeString":"function (bytes32,bytes32,address) pure external returns (address)"}},"id":13136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5500:54:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":13126,"id":13137,"nodeType":"Return","src":"5493:61:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"5215:21:15","parameters":{"id":13123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13118,"mutability":"mutable","name":"salt","nameLocation":"5245:4:15","nodeType":"VariableDeclaration","scope":13139,"src":"5237:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13117,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5237:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13120,"mutability":"mutable","name":"initcodeHash","nameLocation":"5259:12:15","nodeType":"VariableDeclaration","scope":13139,"src":"5251:20:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13119,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5251:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13122,"mutability":"mutable","name":"deployer","nameLocation":"5281:8:15","nodeType":"VariableDeclaration","scope":13139,"src":"5273:16:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13121,"name":"address","nodeType":"ElementaryTypeName","src":"5273:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5236:54:15"},"returnParameters":{"id":13126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13125,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13139,"src":"5354:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13124,"name":"address","nodeType":"ElementaryTypeName","src":"5354:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5353:9:15"},"scope":13420,"stateMutability":"pure","virtual":true,"visibility":"internal"},{"id":13160,"nodeType":"FunctionDefinition","src":"5670:283:15","nodes":[],"body":{"id":13159,"nodeType":"Block","src":"5769:184:15","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"636f6d70757465437265617465324164647265737320697320646570726563617465642e20506c656173652075736520766d2e636f6d70757465437265617465324164647265737320696e73746561642e","id":13150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5801:83:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_5abd736618531808b1ea1a17b1144019e81db11351698dec9b35fe8aba205691","typeString":"literal_string \"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead.\""},"value":"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5abd736618531808b1ea1a17b1144019e81db11351698dec9b35fe8aba205691","typeString":"literal_string \"computeCreate2Address is deprecated. Please use vm.computeCreate2Address instead.\""}],"id":13149,"name":"console2_log_StdUtils","nodeType":"Identifier","overloadedDeclarations":[13385,13402,13419],"referencedDeclaration":13385,"src":"5779:21:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":13151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5779:106:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13152,"nodeType":"ExpressionStatement","src":"5779:106:15"},{"expression":{"arguments":[{"id":13155,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13142,"src":"5927:4:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":13156,"name":"initCodeHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13144,"src":"5933:12:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":13153,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12723,"src":"5902:2:15","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$17608","typeString":"contract VmSafe"}},"id":13154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5905:21:15","memberName":"computeCreate2Address","nodeType":"MemberAccess","referencedDeclaration":17367,"src":"5902:24:15","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,bytes32) pure external returns (address)"}},"id":13157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5902:44:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":13148,"id":13158,"nodeType":"Return","src":"5895:51:15"}]},"documentation":{"id":13140,"nodeType":"StructuredDocumentation","src":"5567:98:15","text":"@dev returns the address of a contract created with CREATE2 using the default CREATE2 deployer"},"implemented":true,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"5679:21:15","parameters":{"id":13145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13142,"mutability":"mutable","name":"salt","nameLocation":"5709:4:15","nodeType":"VariableDeclaration","scope":13160,"src":"5701:12:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13141,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5701:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13144,"mutability":"mutable","name":"initCodeHash","nameLocation":"5723:12:15","nodeType":"VariableDeclaration","scope":13160,"src":"5715:20:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13143,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5715:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5700:36:15"},"returnParameters":{"id":13148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13147,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13160,"src":"5760:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13146,"name":"address","nodeType":"ElementaryTypeName","src":"5760:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5759:9:15"},"scope":13420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":13174,"nodeType":"FunctionDefinition","src":"6177:135:15","nodes":[],"body":{"id":13173,"nodeType":"Block","src":"6258:54:15","nodes":[],"statements":[{"expression":{"arguments":[{"id":13169,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13163,"src":"6288:12:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"","id":13170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6302:2:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":13168,"name":"hashInitCode","nodeType":"Identifier","overloadedDeclarations":[13174,13193],"referencedDeclaration":13193,"src":"6275:12:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory,bytes memory) pure returns (bytes32)"}},"id":13171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6275:30:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":13167,"id":13172,"nodeType":"Return","src":"6268:37:15"}]},"documentation":{"id":13161,"nodeType":"StructuredDocumentation","src":"5959:213:15","text":"@dev returns the hash of the init code (creation code + no args) used in CREATE2 with no constructor arguments\n @param creationCode the creation code of a contract C, as returned by type(C).creationCode"},"implemented":true,"kind":"function","modifiers":[],"name":"hashInitCode","nameLocation":"6186:12:15","parameters":{"id":13164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13163,"mutability":"mutable","name":"creationCode","nameLocation":"6212:12:15","nodeType":"VariableDeclaration","scope":13174,"src":"6199:25:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13162,"name":"bytes","nodeType":"ElementaryTypeName","src":"6199:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6198:27:15"},"returnParameters":{"id":13167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13166,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13174,"src":"6249:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6249:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6248:9:15"},"scope":13420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":13193,"nodeType":"FunctionDefinition","src":"6585:171:15","nodes":[],"body":{"id":13192,"nodeType":"Block","src":"6685:71:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":13187,"name":"creationCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13177,"src":"6729:12:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":13188,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13179,"src":"6743:4:15","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":13185,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6712:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6716:12:15","memberName":"encodePacked","nodeType":"MemberAccess","src":"6712:16:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":13189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6712:36:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13184,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6702:9:15","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":13190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6702:47:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":13183,"id":13191,"nodeType":"Return","src":"6695:54:15"}]},"documentation":{"id":13175,"nodeType":"StructuredDocumentation","src":"6318:262:15","text":"@dev returns the hash of the init code (creation code + ABI-encoded args) used in CREATE2\n @param creationCode the creation code of a contract C, as returned by type(C).creationCode\n @param args the ABI-encoded arguments to the constructor of C"},"implemented":true,"kind":"function","modifiers":[],"name":"hashInitCode","nameLocation":"6594:12:15","parameters":{"id":13180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13177,"mutability":"mutable","name":"creationCode","nameLocation":"6620:12:15","nodeType":"VariableDeclaration","scope":13193,"src":"6607:25:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13176,"name":"bytes","nodeType":"ElementaryTypeName","src":"6607:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13179,"mutability":"mutable","name":"args","nameLocation":"6647:4:15","nodeType":"VariableDeclaration","scope":13193,"src":"6634:17:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13178,"name":"bytes","nodeType":"ElementaryTypeName","src":"6634:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6606:46:15"},"returnParameters":{"id":13183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13182,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13193,"src":"6676:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13181,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6676:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6675:9:15"},"scope":13420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":13307,"nodeType":"FunctionDefinition","src":"6867:1124:15","nodes":[],"body":{"id":13306,"nodeType":"Block","src":"7017:974:15","nodes":[],"statements":[{"assignments":[13205],"declarations":[{"constant":false,"id":13205,"mutability":"mutable","name":"tokenCodeSize","nameLocation":"7035:13:15","nodeType":"VariableDeclaration","scope":13306,"src":"7027:21:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13204,"name":"uint256","nodeType":"ElementaryTypeName","src":"7027:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13206,"nodeType":"VariableDeclarationStatement","src":"7027:21:15"},{"AST":{"nativeSrc":"7067:59:15","nodeType":"YulBlock","src":"7067:59:15","statements":[{"nativeSrc":"7081:35:15","nodeType":"YulAssignment","src":"7081:35:15","value":{"arguments":[{"name":"token","nativeSrc":"7110:5:15","nodeType":"YulIdentifier","src":"7110:5:15"}],"functionName":{"name":"extcodesize","nativeSrc":"7098:11:15","nodeType":"YulIdentifier","src":"7098:11:15"},"nativeSrc":"7098:18:15","nodeType":"YulFunctionCall","src":"7098:18:15"},"variableNames":[{"name":"tokenCodeSize","nativeSrc":"7081:13:15","nodeType":"YulIdentifier","src":"7081:13:15"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":13195,"isOffset":false,"isSlot":false,"src":"7110:5:15","valueSize":1},{"declaration":13205,"isOffset":false,"isSlot":false,"src":"7081:13:15","valueSize":1}],"id":13207,"nodeType":"InlineAssembly","src":"7058:68:15"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13209,"name":"tokenCodeSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13205,"src":"7143:13:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":13210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7159:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7143:17:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5374645574696c7320676574546f6b656e42616c616e63657328616464726573732c616464726573735b5d293a20546f6b656e2061646472657373206973206e6f74206120636f6e74726163742e","id":13212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7162:80:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1cfd8db054d28c838f90dd4aca17e279a1b93ad4e1fab977a6ceb92cad655fe","typeString":"literal_string \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\""},"value":"StdUtils getTokenBalances(address,address[]): Token address is not a contract."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e1cfd8db054d28c838f90dd4aca17e279a1b93ad4e1fab977a6ceb92cad655fe","typeString":"literal_string \"StdUtils getTokenBalances(address,address[]): Token address is not a contract.\""}],"id":13208,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"7135:7:15","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":13213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7135:108:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13214,"nodeType":"ExpressionStatement","src":"7135:108:15"},{"assignments":[13216],"declarations":[{"constant":false,"id":13216,"mutability":"mutable","name":"length","nameLocation":"7318:6:15","nodeType":"VariableDeclaration","scope":13306,"src":"7310:14:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13215,"name":"uint256","nodeType":"ElementaryTypeName","src":"7310:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13219,"initialValue":{"expression":{"id":13217,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13198,"src":"7327:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":13218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7337:6:15","memberName":"length","nodeType":"MemberAccess","src":"7327:16:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7310:33:15"},{"assignments":[13225],"declarations":[{"constant":false,"id":13225,"mutability":"mutable","name":"calls","nameLocation":"7379:5:15","nodeType":"VariableDeclaration","scope":13306,"src":"7353:31:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call[]"},"typeName":{"baseType":{"id":13223,"nodeType":"UserDefinedTypeName","pathNode":{"id":13222,"name":"IMulticall3.Call","nameLocations":["7353:11:15","7365:4:15"],"nodeType":"IdentifierPath","referencedDeclaration":26807,"src":"7353:16:15"},"referencedDeclaration":26807,"src":"7353:16:15","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26807_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":13224,"nodeType":"ArrayTypeName","src":"7353:18:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}},"visibility":"internal"}],"id":13232,"initialValue":{"arguments":[{"id":13230,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13216,"src":"7410:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13229,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7387:22:15","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Call_$26807_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IMulticall3.Call memory[] memory)"},"typeName":{"baseType":{"id":13227,"nodeType":"UserDefinedTypeName","pathNode":{"id":13226,"name":"IMulticall3.Call","nameLocations":["7391:11:15","7403:4:15"],"nodeType":"IdentifierPath","referencedDeclaration":26807,"src":"7391:16:15"},"referencedDeclaration":26807,"src":"7391:16:15","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26807_storage_ptr","typeString":"struct IMulticall3.Call"}},"id":13228,"nodeType":"ArrayTypeName","src":"7391:18:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_storage_$dyn_storage_ptr","typeString":"struct IMulticall3.Call[]"}}},"id":13231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7387:30:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7353:64:15"},{"body":{"id":13260,"nodeType":"Block","src":"7464:189:15","statements":[{"expression":{"id":13258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":13243,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13225,"src":"7536:5:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}},"id":13245,"indexExpression":{"id":13244,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13234,"src":"7542:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7536:8:15","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26807_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":13248,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13195,"src":"7573:5:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783730613038323331","id":13251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7613:10:15","typeDescriptions":{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},"value":"0x70a08231"},{"components":[{"baseExpression":{"id":13252,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13198,"src":"7626:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":13254,"indexExpression":{"id":13253,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13234,"src":"7636:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7626:12:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":13255,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7625:14:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1889567281_by_1","typeString":"int_const 1889567281"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":13249,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7590:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7594:18:15","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"7590:22:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":13256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7590:50:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":13246,"name":"IMulticall3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26962,"src":"7547:11:15","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IMulticall3_$26962_$","typeString":"type(contract IMulticall3)"}},"id":13247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7559:4:15","memberName":"Call","nodeType":"MemberAccess","referencedDeclaration":26807,"src":"7547:16:15","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Call_$26807_storage_ptr_$","typeString":"type(struct IMulticall3.Call storage pointer)"}},"id":13257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["7565:6:15","7580:8:15"],"names":["target","callData"],"nodeType":"FunctionCall","src":"7547:95:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26807_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"src":"7536:106:15","typeDescriptions":{"typeIdentifier":"t_struct$_Call_$26807_memory_ptr","typeString":"struct IMulticall3.Call memory"}},"id":13259,"nodeType":"ExpressionStatement","src":"7536:106:15"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13237,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13234,"src":"7447:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":13238,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13216,"src":"7451:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7447:10:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13261,"initializationExpression":{"assignments":[13234],"declarations":[{"constant":false,"id":13234,"mutability":"mutable","name":"i","nameLocation":"7440:1:15","nodeType":"VariableDeclaration","scope":13261,"src":"7432:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13233,"name":"uint256","nodeType":"ElementaryTypeName","src":"7432:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13236,"initialValue":{"hexValue":"30","id":13235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7444:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7432:13:15"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":13241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"7459:3:15","subExpression":{"id":13240,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13234,"src":"7461:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13242,"nodeType":"ExpressionStatement","src":"7459:3:15"},"nodeType":"ForStatement","src":"7427:226:15"},{"assignments":[null,13266],"declarations":[null,{"constant":false,"id":13266,"mutability":"mutable","name":"returnData","nameLocation":"7717:10:15","nodeType":"VariableDeclaration","scope":13306,"src":"7702:25:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":13264,"name":"bytes","nodeType":"ElementaryTypeName","src":"7702:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":13265,"nodeType":"ArrayTypeName","src":"7702:7:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"id":13271,"initialValue":{"arguments":[{"id":13269,"name":"calls","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13225,"src":"7751:5:15","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Call_$26807_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Call_$26807_memory_ptr_$dyn_memory_ptr","typeString":"struct IMulticall3.Call memory[] memory"}],"expression":{"id":13267,"name":"multicall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12706,"src":"7731:9:15","typeDescriptions":{"typeIdentifier":"t_contract$_IMulticall3_$26962","typeString":"contract IMulticall3"}},"id":13268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7741:9:15","memberName":"aggregate","nodeType":"MemberAccess","referencedDeclaration":26840,"src":"7731:19:15","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_array$_t_struct$_Call_$26807_memory_ptr_$dyn_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (struct IMulticall3.Call memory[] memory) payable external returns (uint256,bytes memory[] memory)"}},"id":13270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7731:26:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,bytes memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"7699:58:15"},{"expression":{"id":13278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":13272,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13202,"src":"7831:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":13276,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13216,"src":"7856:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13275,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"7842:13:15","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":13273,"name":"uint256","nodeType":"ElementaryTypeName","src":"7846:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13274,"nodeType":"ArrayTypeName","src":"7846:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":13277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7842:21:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"7831:32:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":13279,"nodeType":"ExpressionStatement","src":"7831:32:15"},{"body":{"id":13304,"nodeType":"Block","src":"7910:75:15","statements":[{"expression":{"id":13302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":13290,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13202,"src":"7924:8:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":13292,"indexExpression":{"id":13291,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13281,"src":"7933:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7924:11:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":13295,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13266,"src":"7949:10:15","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":13297,"indexExpression":{"id":13296,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13281,"src":"7960:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7949:13:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":13299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7965:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":13298,"name":"uint256","nodeType":"ElementaryTypeName","src":"7965:7:15","typeDescriptions":{}}}],"id":13300,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7964:9:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":13293,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7938:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7942:6:15","memberName":"decode","nodeType":"MemberAccess","src":"7938:10:15","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":13301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7938:36:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7924:50:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13303,"nodeType":"ExpressionStatement","src":"7924:50:15"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":13284,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13281,"src":"7893:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":13285,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13216,"src":"7897:6:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7893:10:15","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13305,"initializationExpression":{"assignments":[13281],"declarations":[{"constant":false,"id":13281,"mutability":"mutable","name":"i","nameLocation":"7886:1:15","nodeType":"VariableDeclaration","scope":13305,"src":"7878:9:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13280,"name":"uint256","nodeType":"ElementaryTypeName","src":"7878:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13283,"initialValue":{"hexValue":"30","id":13282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7890:1:15","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"7878:13:15"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":13288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"7905:3:15","subExpression":{"id":13287,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13281,"src":"7907:1:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13289,"nodeType":"ExpressionStatement","src":"7905:3:15"},"nodeType":"ForStatement","src":"7873:112:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getTokenBalances","nameLocation":"6876:16:15","parameters":{"id":13199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13195,"mutability":"mutable","name":"token","nameLocation":"6901:5:15","nodeType":"VariableDeclaration","scope":13307,"src":"6893:13:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13194,"name":"address","nodeType":"ElementaryTypeName","src":"6893:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13198,"mutability":"mutable","name":"addresses","nameLocation":"6925:9:15","nodeType":"VariableDeclaration","scope":13307,"src":"6908:26:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13196,"name":"address","nodeType":"ElementaryTypeName","src":"6908:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13197,"nodeType":"ArrayTypeName","src":"6908:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"6892:43:15"},"returnParameters":{"id":13203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13202,"mutability":"mutable","name":"balances","nameLocation":"7003:8:15","nodeType":"VariableDeclaration","scope":13307,"src":"6986:25:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13200,"name":"uint256","nodeType":"ElementaryTypeName","src":"6986:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13201,"nodeType":"ArrayTypeName","src":"6986:9:15","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"6985:27:15"},"scope":13420,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":13326,"nodeType":"FunctionDefinition","src":"8211:144:15","nodes":[],"body":{"id":13325,"nodeType":"Block","src":"8294:61:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":13320,"name":"bytesValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13309,"src":"8335:10:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":13319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8327:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":13318,"name":"uint256","nodeType":"ElementaryTypeName","src":"8327:7:15","typeDescriptions":{}}},"id":13321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8327:19:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":13317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8319:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":13316,"name":"uint160","nodeType":"ElementaryTypeName","src":"8319:7:15","typeDescriptions":{}}},"id":13322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8319:28:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":13315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8311:7:15","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":13314,"name":"address","nodeType":"ElementaryTypeName","src":"8311:7:15","typeDescriptions":{}}},"id":13323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8311:37:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":13313,"id":13324,"nodeType":"Return","src":"8304:44:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"addressFromLast20Bytes","nameLocation":"8220:22:15","parameters":{"id":13310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13309,"mutability":"mutable","name":"bytesValue","nameLocation":"8251:10:15","nodeType":"VariableDeclaration","scope":13326,"src":"8243:18:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13308,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8243:7:15","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8242:20:15"},"returnParameters":{"id":13313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13312,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13326,"src":"8285:7:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13311,"name":"address","nodeType":"ElementaryTypeName","src":"8285:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8284:9:15"},"scope":13420,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":13343,"nodeType":"FunctionDefinition","src":"8650:235:15","nodes":[],"body":{"id":13342,"nodeType":"Block","src":"8823:62:15","nodes":[],"statements":[{"AST":{"nativeSrc":"8842:37:15","nodeType":"YulBlock","src":"8842:37:15","statements":[{"nativeSrc":"8856:13:15","nodeType":"YulAssignment","src":"8856:13:15","value":{"name":"fnIn","nativeSrc":"8865:4:15","nodeType":"YulIdentifier","src":"8865:4:15"},"variableNames":[{"name":"fnOut","nativeSrc":"8856:5:15","nodeType":"YulIdentifier","src":"8856:5:15"}]}]},"evmVersion":"prague","externalReferences":[{"declaration":13332,"isOffset":false,"isSlot":false,"src":"8865:4:15","valueSize":1},{"declaration":13339,"isOffset":false,"isSlot":false,"src":"8856:5:15","valueSize":1}],"id":13341,"nodeType":"InlineAssembly","src":"8833:46:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_castLogPayloadViewToPure","nameLocation":"8659:25:15","parameters":{"id":13333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13332,"mutability":"mutable","name":"fnIn","nameLocation":"8722:4:15","nodeType":"VariableDeclaration","scope":13343,"src":"8685:41:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"typeName":{"id":13331,"nodeType":"FunctionTypeName","parameterTypes":{"id":13329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13328,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13331,"src":"8694:12:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13327,"name":"bytes","nodeType":"ElementaryTypeName","src":"8694:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8693:14:15"},"returnParameterTypes":{"id":13330,"nodeType":"ParameterList","parameters":[],"src":"8722:0:15"},"src":"8685:41:15","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"visibility":"internal"},"visibility":"internal"}],"src":"8684:43:15"},"returnParameters":{"id":13340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13339,"mutability":"mutable","name":"fnOut","nameLocation":"8812:5:15","nodeType":"VariableDeclaration","scope":13343,"src":"8775:42:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"typeName":{"id":13338,"nodeType":"FunctionTypeName","parameterTypes":{"id":13336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13335,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13338,"src":"8784:12:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13334,"name":"bytes","nodeType":"ElementaryTypeName","src":"8784:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8783:14:15"},"returnParameterTypes":{"id":13337,"nodeType":"ParameterList","parameters":[],"src":"8812:0:15"},"src":"8775:42:15","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"visibility":"internal"},"visibility":"internal"}],"src":"8774:44:15"},"scope":13420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":13355,"nodeType":"FunctionDefinition","src":"8891:133:15","nodes":[],"body":{"id":13354,"nodeType":"Block","src":"8952:72:15","nodes":[],"statements":[{"expression":{"arguments":[{"id":13351,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13345,"src":"9009:7:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"arguments":[{"id":13349,"name":"_sendLogPayloadView","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13371,"src":"8988:19:15","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}],"id":13348,"name":"_castLogPayloadViewToPure","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13343,"src":"8962:25:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_function_internal_view$_t_bytes_memory_ptr_$returns$__$_$returns$_t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$_$","typeString":"function (function (bytes memory) view) pure returns (function (bytes memory) pure)"}},"id":13350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8962:46:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8962:55:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13353,"nodeType":"ExpressionStatement","src":"8962:55:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayload","nameLocation":"8900:15:15","parameters":{"id":13346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13345,"mutability":"mutable","name":"payload","nameLocation":"8929:7:15","nodeType":"VariableDeclaration","scope":13355,"src":"8916:20:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13344,"name":"bytes","nodeType":"ElementaryTypeName","src":"8916:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8915:22:15"},"returnParameters":{"id":13347,"nodeType":"ParameterList","parameters":[],"src":"8952:0:15"},"scope":13420,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":13371,"nodeType":"FunctionDefinition","src":"9030:381:15","nodes":[],"body":{"id":13370,"nodeType":"Block","src":"9094:317:15","nodes":[],"statements":[{"assignments":[13361],"declarations":[{"constant":false,"id":13361,"mutability":"mutable","name":"payloadLength","nameLocation":"9112:13:15","nodeType":"VariableDeclaration","scope":13370,"src":"9104:21:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13360,"name":"uint256","nodeType":"ElementaryTypeName","src":"9104:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":13364,"initialValue":{"expression":{"id":13362,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13357,"src":"9128:7:15","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":13363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9136:6:15","memberName":"length","nodeType":"MemberAccess","src":"9128:14:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9104:38:15"},{"assignments":[13366],"declarations":[{"constant":false,"id":13366,"mutability":"mutable","name":"consoleAddress","nameLocation":"9160:14:15","nodeType":"VariableDeclaration","scope":13370,"src":"9152:22:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13365,"name":"address","nodeType":"ElementaryTypeName","src":"9152:7:15","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":13368,"initialValue":{"id":13367,"name":"CONSOLE2_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12726,"src":"9177:16:15","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"9152:41:15"},{"AST":{"nativeSrc":"9255:150:15","nodeType":"YulBlock","src":"9255:150:15","statements":[{"nativeSrc":"9269:36:15","nodeType":"YulVariableDeclaration","src":"9269:36:15","value":{"arguments":[{"name":"payload","nativeSrc":"9293:7:15","nodeType":"YulIdentifier","src":"9293:7:15"},{"kind":"number","nativeSrc":"9302:2:15","nodeType":"YulLiteral","src":"9302:2:15","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"9289:3:15","nodeType":"YulIdentifier","src":"9289:3:15"},"nativeSrc":"9289:16:15","nodeType":"YulFunctionCall","src":"9289:16:15"},"variables":[{"name":"payloadStart","nativeSrc":"9273:12:15","nodeType":"YulTypedName","src":"9273:12:15","type":""}]},{"nativeSrc":"9318:77:15","nodeType":"YulVariableDeclaration","src":"9318:77:15","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"9338:3:15","nodeType":"YulIdentifier","src":"9338:3:15"},"nativeSrc":"9338:5:15","nodeType":"YulFunctionCall","src":"9338:5:15"},{"name":"consoleAddress","nativeSrc":"9345:14:15","nodeType":"YulIdentifier","src":"9345:14:15"},{"name":"payloadStart","nativeSrc":"9361:12:15","nodeType":"YulIdentifier","src":"9361:12:15"},{"name":"payloadLength","nativeSrc":"9375:13:15","nodeType":"YulIdentifier","src":"9375:13:15"},{"kind":"number","nativeSrc":"9390:1:15","nodeType":"YulLiteral","src":"9390:1:15","type":"","value":"0"},{"kind":"number","nativeSrc":"9393:1:15","nodeType":"YulLiteral","src":"9393:1:15","type":"","value":"0"}],"functionName":{"name":"staticcall","nativeSrc":"9327:10:15","nodeType":"YulIdentifier","src":"9327:10:15"},"nativeSrc":"9327:68:15","nodeType":"YulFunctionCall","src":"9327:68:15"},"variables":[{"name":"r","nativeSrc":"9322:1:15","nodeType":"YulTypedName","src":"9322:1:15","type":""}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"prague","externalReferences":[{"declaration":13366,"isOffset":false,"isSlot":false,"src":"9345:14:15","valueSize":1},{"declaration":13357,"isOffset":false,"isSlot":false,"src":"9293:7:15","valueSize":1},{"declaration":13361,"isOffset":false,"isSlot":false,"src":"9375:13:15","valueSize":1}],"id":13369,"nodeType":"InlineAssembly","src":"9246:159:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayloadView","nameLocation":"9039:19:15","parameters":{"id":13358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13357,"mutability":"mutable","name":"payload","nameLocation":"9072:7:15","nodeType":"VariableDeclaration","scope":13371,"src":"9059:20:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13356,"name":"bytes","nodeType":"ElementaryTypeName","src":"9059:5:15","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9058:22:15"},"returnParameters":{"id":13359,"nodeType":"ParameterList","parameters":[],"src":"9094:0:15"},"scope":13420,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":13385,"nodeType":"FunctionDefinition","src":"9417:138:15","nodes":[],"body":{"id":13384,"nodeType":"Block","src":"9479:76:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":13379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9529:13:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":13380,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13373,"src":"9544:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13377,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9505:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9509:19:15","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9505:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9505:42:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13376,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13355,"src":"9489:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9489:59:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13383,"nodeType":"ExpressionStatement","src":"9489:59:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"console2_log_StdUtils","nameLocation":"9426:21:15","parameters":{"id":13374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13373,"mutability":"mutable","name":"p0","nameLocation":"9462:2:15","nodeType":"VariableDeclaration","scope":13385,"src":"9448:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13372,"name":"string","nodeType":"ElementaryTypeName","src":"9448:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9447:18:15"},"returnParameters":{"id":13375,"nodeType":"ParameterList","parameters":[],"src":"9479:0:15"},"scope":13420,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":13402,"nodeType":"FunctionDefinition","src":"9561:162:15","nodes":[],"body":{"id":13401,"nodeType":"Block","src":"9635:88:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e7432353629","id":13395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9685:21:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},"value":"log(string,uint256)"},{"id":13396,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13387,"src":"9708:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13397,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13389,"src":"9712:2:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":13393,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9661:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9665:19:15","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9661:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9661:54:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13392,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13355,"src":"9645:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9645:71:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13400,"nodeType":"ExpressionStatement","src":"9645:71:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"console2_log_StdUtils","nameLocation":"9570:21:15","parameters":{"id":13390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13387,"mutability":"mutable","name":"p0","nameLocation":"9606:2:15","nodeType":"VariableDeclaration","scope":13402,"src":"9592:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13386,"name":"string","nodeType":"ElementaryTypeName","src":"9592:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13389,"mutability":"mutable","name":"p1","nameLocation":"9618:2:15","nodeType":"VariableDeclaration","scope":13402,"src":"9610:10:15","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13388,"name":"uint256","nodeType":"ElementaryTypeName","src":"9610:7:15","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9591:30:15"},"returnParameters":{"id":13391,"nodeType":"ParameterList","parameters":[],"src":"9635:0:15"},"scope":13420,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":13419,"nodeType":"FunctionDefinition","src":"9729:167:15","nodes":[],"body":{"id":13418,"nodeType":"Block","src":"9809:87:15","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e6729","id":13412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9859:20:15","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},"value":"log(string,string)"},{"id":13413,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13404,"src":"9881:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":13414,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13406,"src":"9885:2:15","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":13410,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9835:3:15","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":13411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9839:19:15","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9835:23:15","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":13415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9835:53:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":13409,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13355,"src":"9819:15:15","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":13416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9819:70:15","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":13417,"nodeType":"ExpressionStatement","src":"9819:70:15"}]},"implemented":true,"kind":"function","modifiers":[],"name":"console2_log_StdUtils","nameLocation":"9738:21:15","parameters":{"id":13407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13404,"mutability":"mutable","name":"p0","nameLocation":"9774:2:15","nodeType":"VariableDeclaration","scope":13419,"src":"9760:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13403,"name":"string","nodeType":"ElementaryTypeName","src":"9760:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13406,"mutability":"mutable","name":"p1","nameLocation":"9792:2:15","nodeType":"VariableDeclaration","scope":13419,"src":"9778:16:15","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13405,"name":"string","nodeType":"ElementaryTypeName","src":"9778:6:15","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9759:36:15"},"returnParameters":{"id":13408,"nodeType":"ParameterList","parameters":[],"src":"9809:0:15"},"scope":13420,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[],"canonicalName":"StdUtils","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[13420],"name":"StdUtils","nameLocation":"210:8:15","scope":13421,"usedErrors":[],"usedEvents":[]}],"license":"MIT"}},"lib/forge-std/src/Test.sol":{"id":16,"ast":{"absolutePath":"lib/forge-std/src/Test.sol","id":13475,"exportedSymbols":{"StdAssertions":[3194],"StdChains":[4157],"StdCheats":[7042],"StdConstants":[7083],"StdInvariant":[7443],"StdStorage":[8581],"StdStyle":[11749],"StdUtils":[13420],"Test":[13474],"TestBase":[285],"Vm":[18679],"console":[26795],"console2":[26795],"safeconsole":[40037],"stdError":[7149],"stdJson":[8387],"stdMath":[8543],"stdStorage":[10538],"stdToml":[12693]},"nodeType":"SourceUnit","src":"32:1063:16","nodes":[{"id":13422,"nodeType":"PragmaDirective","src":"32:31:16","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":13423,"nodeType":"PragmaDirective","src":"65:33:16","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":13425,"nodeType":"ImportDirective","src":"160:38:16","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"./console.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":26796,"symbolAliases":[{"foreign":{"id":13424,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"168:7:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13427,"nodeType":"ImportDirective","src":"199:40:16","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"./console2.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":26800,"symbolAliases":[{"foreign":{"id":13426,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26795,"src":"207:8:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13429,"nodeType":"ImportDirective","src":"240:46:16","nodes":[],"absolutePath":"lib/forge-std/src/safeconsole.sol","file":"./safeconsole.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":40038,"symbolAliases":[{"foreign":{"id":13428,"name":"safeconsole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40037,"src":"248:11:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13431,"nodeType":"ImportDirective","src":"287:50:16","nodes":[],"absolutePath":"lib/forge-std/src/StdAssertions.sol","file":"./StdAssertions.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":3195,"symbolAliases":[{"foreign":{"id":13430,"name":"StdAssertions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3194,"src":"295:13:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13433,"nodeType":"ImportDirective","src":"338:42:16","nodes":[],"absolutePath":"lib/forge-std/src/StdChains.sol","file":"./StdChains.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":4158,"symbolAliases":[{"foreign":{"id":13432,"name":"StdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4157,"src":"346:9:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13435,"nodeType":"ImportDirective","src":"381:42:16","nodes":[],"absolutePath":"lib/forge-std/src/StdCheats.sol","file":"./StdCheats.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":7043,"symbolAliases":[{"foreign":{"id":13434,"name":"StdCheats","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7042,"src":"389:9:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13437,"nodeType":"ImportDirective","src":"424:48:16","nodes":[],"absolutePath":"lib/forge-std/src/StdConstants.sol","file":"./StdConstants.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":7084,"symbolAliases":[{"foreign":{"id":13436,"name":"StdConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7083,"src":"432:12:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13439,"nodeType":"ImportDirective","src":"473:40:16","nodes":[],"absolutePath":"lib/forge-std/src/StdError.sol","file":"./StdError.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":7150,"symbolAliases":[{"foreign":{"id":13438,"name":"stdError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7149,"src":"481:8:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13441,"nodeType":"ImportDirective","src":"514:48:16","nodes":[],"absolutePath":"lib/forge-std/src/StdInvariant.sol","file":"./StdInvariant.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":7444,"symbolAliases":[{"foreign":{"id":13440,"name":"StdInvariant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7443,"src":"522:12:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13443,"nodeType":"ImportDirective","src":"563:38:16","nodes":[],"absolutePath":"lib/forge-std/src/StdJson.sol","file":"./StdJson.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":8388,"symbolAliases":[{"foreign":{"id":13442,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8387,"src":"571:7:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13445,"nodeType":"ImportDirective","src":"602:38:16","nodes":[],"absolutePath":"lib/forge-std/src/StdMath.sol","file":"./StdMath.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":8544,"symbolAliases":[{"foreign":{"id":13444,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8543,"src":"610:7:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13448,"nodeType":"ImportDirective","src":"641:56:16","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":10539,"symbolAliases":[{"foreign":{"id":13446,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8581,"src":"649:10:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":13447,"name":"stdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10538,"src":"661:10:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13450,"nodeType":"ImportDirective","src":"698:40:16","nodes":[],"absolutePath":"lib/forge-std/src/StdStyle.sol","file":"./StdStyle.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":11750,"symbolAliases":[{"foreign":{"id":13449,"name":"StdStyle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":11749,"src":"706:8:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13452,"nodeType":"ImportDirective","src":"739:38:16","nodes":[],"absolutePath":"lib/forge-std/src/StdToml.sol","file":"./StdToml.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":12694,"symbolAliases":[{"foreign":{"id":13451,"name":"stdToml","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12693,"src":"747:7:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13454,"nodeType":"ImportDirective","src":"778:40:16","nodes":[],"absolutePath":"lib/forge-std/src/StdUtils.sol","file":"./StdUtils.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":13421,"symbolAliases":[{"foreign":{"id":13453,"name":"StdUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":13420,"src":"786:8:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13456,"nodeType":"ImportDirective","src":"819:28:16","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":18680,"symbolAliases":[{"foreign":{"id":13455,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18679,"src":"827:2:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13458,"nodeType":"ImportDirective","src":"869:36:16","nodes":[],"absolutePath":"lib/forge-std/src/Base.sol","file":"./Base.sol","nameLocation":"-1:-1:-1","scope":13475,"sourceUnit":295,"symbolAliases":[{"foreign":{"id":13457,"name":"TestBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":285,"src":"877:8:16","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13474,"nodeType":"ContractDefinition","src":"922:172:16","nodes":[{"id":13473,"nodeType":"VariableDeclaration","src":"1065:26:16","nodes":[],"constant":false,"functionSelector":"fa7626d4","mutability":"mutable","name":"IS_TEST","nameLocation":"1077:7:16","scope":13474,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13471,"name":"bool","nodeType":"ElementaryTypeName","src":"1065:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":13472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1087:4:16","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"public"}],"abstract":true,"baseContracts":[{"baseName":{"id":13459,"name":"TestBase","nameLocations":["948:8:16"],"nodeType":"IdentifierPath","referencedDeclaration":285,"src":"948:8:16"},"id":13460,"nodeType":"InheritanceSpecifier","src":"948:8:16"},{"baseName":{"id":13461,"name":"StdAssertions","nameLocations":["958:13:16"],"nodeType":"IdentifierPath","referencedDeclaration":3194,"src":"958:13:16"},"id":13462,"nodeType":"InheritanceSpecifier","src":"958:13:16"},{"baseName":{"id":13463,"name":"StdChains","nameLocations":["973:9:16"],"nodeType":"IdentifierPath","referencedDeclaration":4157,"src":"973:9:16"},"id":13464,"nodeType":"InheritanceSpecifier","src":"973:9:16"},{"baseName":{"id":13465,"name":"StdCheats","nameLocations":["984:9:16"],"nodeType":"IdentifierPath","referencedDeclaration":7042,"src":"984:9:16"},"id":13466,"nodeType":"InheritanceSpecifier","src":"984:9:16"},{"baseName":{"id":13467,"name":"StdInvariant","nameLocations":["995:12:16"],"nodeType":"IdentifierPath","referencedDeclaration":7443,"src":"995:12:16"},"id":13468,"nodeType":"InheritanceSpecifier","src":"995:12:16"},{"baseName":{"id":13469,"name":"StdUtils","nameLocations":["1009:8:16"],"nodeType":"IdentifierPath","referencedDeclaration":13420,"src":"1009:8:16"},"id":13470,"nodeType":"InheritanceSpecifier","src":"1009:8:16"}],"canonicalName":"Test","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[13474,13420,7443,7042,6247,4157,3194,285,282],"name":"Test","nameLocation":"940:4:16","scope":13475,"usedErrors":[],"usedEvents":[361,365,369,373,377,381,385,389,395,401,409,417,423,429,435,441,446,451,456,463,470,477]}],"license":"MIT"}},"lib/forge-std/src/Vm.sol":{"id":17,"ast":{"absolutePath":"lib/forge-std/src/Vm.sol","id":18680,"exportedSymbols":{"Vm":[18679],"VmSafe":[17608]},"nodeType":"SourceUnit","src":"117:131664:17","nodes":[{"id":13476,"nodeType":"PragmaDirective","src":"117:31:17","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":13477,"nodeType":"PragmaDirective","src":"149:33:17","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":17608,"nodeType":"ContractDefinition","src":"409:104606:17","nodes":[{"id":13485,"nodeType":"EnumDefinition","src":"529:533:17","nodes":[],"canonicalName":"VmSafe.CallerMode","documentation":{"id":13479,"nodeType":"StructuredDocumentation","src":"432:92:17","text":"A modification applied to either `msg.sender` or `tx.origin`. Returned by `readCallers`."},"members":[{"id":13480,"name":"None","nameLocation":"610:4:17","nodeType":"EnumValue","src":"610:4:17"},{"id":13481,"name":"Broadcast","nameLocation":"714:9:17","nodeType":"EnumValue","src":"714:9:17"},{"id":13482,"name":"RecurrentBroadcast","nameLocation":"829:18:17","nodeType":"EnumValue","src":"829:18:17"},{"id":13483,"name":"Prank","nameLocation":"939:5:17","nodeType":"EnumValue","src":"939:5:17"},{"id":13484,"name":"RecurrentPrank","nameLocation":"1042:14:17","nodeType":"EnumValue","src":"1042:14:17"}],"name":"CallerMode","nameLocation":"534:10:17"},{"id":13498,"nodeType":"EnumDefinition","src":"1118:791:17","nodes":[],"canonicalName":"VmSafe.AccountAccessKind","documentation":{"id":13486,"nodeType":"StructuredDocumentation","src":"1068:45:17","text":"The kind of account access that occurred."},"members":[{"id":13487,"name":"Call","nameLocation":"1186:4:17","nodeType":"EnumValue","src":"1186:4:17"},{"id":13488,"name":"DelegateCall","nameLocation":"1252:12:17","nodeType":"EnumValue","src":"1252:12:17"},{"id":13489,"name":"CallCode","nameLocation":"1322:8:17","nodeType":"EnumValue","src":"1322:8:17"},{"id":13490,"name":"StaticCall","nameLocation":"1390:10:17","nodeType":"EnumValue","src":"1390:10:17"},{"id":13491,"name":"Create","nameLocation":"1446:6:17","nodeType":"EnumValue","src":"1446:6:17"},{"id":13492,"name":"SelfDestruct","nameLocation":"1505:12:17","nodeType":"EnumValue","src":"1505:12:17"},{"id":13493,"name":"Resume","nameLocation":"1644:6:17","nodeType":"EnumValue","src":"1644:6:17"},{"id":13494,"name":"Balance","nameLocation":"1703:7:17","nodeType":"EnumValue","src":"1703:7:17"},{"id":13495,"name":"Extcodesize","nameLocation":"1764:11:17","nodeType":"EnumValue","src":"1764:11:17"},{"id":13496,"name":"Extcodehash","nameLocation":"1829:11:17","nodeType":"EnumValue","src":"1829:11:17"},{"id":13497,"name":"Extcodecopy","nameLocation":"1892:11:17","nodeType":"EnumValue","src":"1892:11:17"}],"name":"AccountAccessKind","nameLocation":"1123:17:17"},{"id":13509,"nodeType":"EnumDefinition","src":"1949:683:17","nodes":[],"canonicalName":"VmSafe.ForgeContext","documentation":{"id":13499,"nodeType":"StructuredDocumentation","src":"1915:29:17","text":"Forge execution contexts."},"members":[{"id":13500,"name":"TestGroup","nameLocation":"2047:9:17","nodeType":"EnumValue","src":"2047:9:17"},{"id":13501,"name":"Test","nameLocation":"2109:4:17","nodeType":"EnumValue","src":"2109:4:17"},{"id":13502,"name":"Coverage","nameLocation":"2170:8:17","nodeType":"EnumValue","src":"2170:8:17"},{"id":13503,"name":"Snapshot","nameLocation":"2235:8:17","nodeType":"EnumValue","src":"2235:8:17"},{"id":13504,"name":"ScriptGroup","nameLocation":"2327:11:17","nodeType":"EnumValue","src":"2327:11:17"},{"id":13505,"name":"ScriptDryRun","nameLocation":"2393:12:17","nodeType":"EnumValue","src":"2393:12:17"},{"id":13506,"name":"ScriptBroadcast","nameLocation":"2472:15:17","nodeType":"EnumValue","src":"2472:15:17"},{"id":13507,"name":"ScriptResume","nameLocation":"2551:12:17","nodeType":"EnumValue","src":"2551:12:17"},{"id":13508,"name":"Unknown","nameLocation":"2619:7:17","nodeType":"EnumValue","src":"2619:7:17"}],"name":"ForgeContext","nameLocation":"1954:12:17"},{"id":13514,"nodeType":"EnumDefinition","src":"2696:208:17","nodes":[],"canonicalName":"VmSafe.BroadcastTxType","documentation":{"id":13510,"nodeType":"StructuredDocumentation","src":"2638:53:17","text":"The transaction type (`txType`) of the broadcast."},"members":[{"id":13511,"name":"Call","nameLocation":"2770:4:17","nodeType":"EnumValue","src":"2770:4:17"},{"id":13512,"name":"Create","nameLocation":"2829:6:17","nodeType":"EnumValue","src":"2829:6:17"},{"id":13513,"name":"Create2","nameLocation":"2891:7:17","nodeType":"EnumValue","src":"2891:7:17"}],"name":"BroadcastTxType","nameLocation":"2701:15:17"},{"id":13523,"nodeType":"StructDefinition","src":"2966:237:17","nodes":[],"canonicalName":"VmSafe.Log","documentation":{"id":13515,"nodeType":"StructuredDocumentation","src":"2910:51:17","text":"An Ethereum log. Returned by `getRecordedLogs`."},"members":[{"constant":false,"id":13518,"mutability":"mutable","name":"topics","nameLocation":"3064:6:17","nodeType":"VariableDeclaration","scope":13523,"src":"3054:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13516,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3054:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13517,"nodeType":"ArrayTypeName","src":"3054:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":13520,"mutability":"mutable","name":"data","nameLocation":"3122:4:17","nodeType":"VariableDeclaration","scope":13523,"src":"3116:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13519,"name":"bytes","nodeType":"ElementaryTypeName","src":"3116:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13522,"mutability":"mutable","name":"emitter","nameLocation":"3189:7:17","nodeType":"VariableDeclaration","scope":13523,"src":"3181:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13521,"name":"address","nodeType":"ElementaryTypeName","src":"3181:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Log","nameLocation":"2973:3:17","scope":17608,"visibility":"public"},{"id":13529,"nodeType":"StructDefinition","src":"3272:119:17","nodes":[],"canonicalName":"VmSafe.Rpc","documentation":{"id":13524,"nodeType":"StructuredDocumentation","src":"3209:58:17","text":"An RPC URL and its alias. Returned by `rpcUrlStructs`."},"members":[{"constant":false,"id":13526,"mutability":"mutable","name":"key","nameLocation":"3337:3:17","nodeType":"VariableDeclaration","scope":13529,"src":"3330:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13525,"name":"string","nodeType":"ElementaryTypeName","src":"3330:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13528,"mutability":"mutable","name":"url","nameLocation":"3381:3:17","nodeType":"VariableDeclaration","scope":13529,"src":"3374:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13527,"name":"string","nodeType":"ElementaryTypeName","src":"3374:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Rpc","nameLocation":"3279:3:17","scope":17608,"visibility":"public"},{"id":13550,"nodeType":"StructDefinition","src":"3451:615:17","nodes":[],"canonicalName":"VmSafe.EthGetLogs","documentation":{"id":13530,"nodeType":"StructuredDocumentation","src":"3397:49:17","text":"An RPC log object. Returned by `eth_getLogs`."},"members":[{"constant":false,"id":13532,"mutability":"mutable","name":"emitter","nameLocation":"3532:7:17","nodeType":"VariableDeclaration","scope":13550,"src":"3524:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13531,"name":"address","nodeType":"ElementaryTypeName","src":"3524:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13535,"mutability":"mutable","name":"topics","nameLocation":"3626:6:17","nodeType":"VariableDeclaration","scope":13550,"src":"3616:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3616:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13534,"nodeType":"ArrayTypeName","src":"3616:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":13537,"mutability":"mutable","name":"data","nameLocation":"3684:4:17","nodeType":"VariableDeclaration","scope":13550,"src":"3678:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13536,"name":"bytes","nodeType":"ElementaryTypeName","src":"3678:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13539,"mutability":"mutable","name":"blockHash","nameLocation":"3733:9:17","nodeType":"VariableDeclaration","scope":13550,"src":"3725:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13538,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3725:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13541,"mutability":"mutable","name":"blockNumber","nameLocation":"3788:11:17","nodeType":"VariableDeclaration","scope":13550,"src":"3781:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13540,"name":"uint64","nodeType":"ElementaryTypeName","src":"3781:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13543,"mutability":"mutable","name":"transactionHash","nameLocation":"3850:15:17","nodeType":"VariableDeclaration","scope":13550,"src":"3842:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13542,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3842:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13545,"mutability":"mutable","name":"transactionIndex","nameLocation":"3929:16:17","nodeType":"VariableDeclaration","scope":13550,"src":"3922:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13544,"name":"uint64","nodeType":"ElementaryTypeName","src":"3922:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13547,"mutability":"mutable","name":"logIndex","nameLocation":"3989:8:17","nodeType":"VariableDeclaration","scope":13550,"src":"3981:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13546,"name":"uint256","nodeType":"ElementaryTypeName","src":"3981:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13549,"mutability":"mutable","name":"removed","nameLocation":"4052:7:17","nodeType":"VariableDeclaration","scope":13550,"src":"4047:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13548,"name":"bool","nodeType":"ElementaryTypeName","src":"4047:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"EthGetLogs","nameLocation":"3458:10:17","scope":17608,"visibility":"public"},{"id":13562,"nodeType":"StructDefinition","src":"4142:334:17","nodes":[],"canonicalName":"VmSafe.DirEntry","documentation":{"id":13551,"nodeType":"StructuredDocumentation","src":"4072:65:17","text":"A single entry in a directory listing. Returned by `readDir`."},"members":[{"constant":false,"id":13553,"mutability":"mutable","name":"errorMessage","nameLocation":"4213:12:17","nodeType":"VariableDeclaration","scope":13562,"src":"4206:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13552,"name":"string","nodeType":"ElementaryTypeName","src":"4206:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13555,"mutability":"mutable","name":"path","nameLocation":"4276:4:17","nodeType":"VariableDeclaration","scope":13562,"src":"4269:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13554,"name":"string","nodeType":"ElementaryTypeName","src":"4269:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13557,"mutability":"mutable","name":"depth","nameLocation":"4332:5:17","nodeType":"VariableDeclaration","scope":13562,"src":"4325:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13556,"name":"uint64","nodeType":"ElementaryTypeName","src":"4325:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13559,"mutability":"mutable","name":"isDir","nameLocation":"4397:5:17","nodeType":"VariableDeclaration","scope":13562,"src":"4392:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13558,"name":"bool","nodeType":"ElementaryTypeName","src":"4392:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13561,"mutability":"mutable","name":"isSymlink","nameLocation":"4460:9:17","nodeType":"VariableDeclaration","scope":13562,"src":"4455:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13560,"name":"bool","nodeType":"ElementaryTypeName","src":"4455:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"DirEntry","nameLocation":"4149:8:17","scope":17608,"visibility":"public"},{"id":13578,"nodeType":"StructDefinition","src":"4706:599:17","nodes":[],"canonicalName":"VmSafe.FsMetadata","documentation":{"id":13563,"nodeType":"StructuredDocumentation","src":"4482:219:17","text":"Metadata information about a file.\n This structure is returned from the `fsMetadata` function and represents known\n metadata about a file such as its permissions, size, modification\n times, etc."},"members":[{"constant":false,"id":13565,"mutability":"mutable","name":"isDir","nameLocation":"4792:5:17","nodeType":"VariableDeclaration","scope":13578,"src":"4787:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13564,"name":"bool","nodeType":"ElementaryTypeName","src":"4787:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13567,"mutability":"mutable","name":"isSymlink","nameLocation":"4863:9:17","nodeType":"VariableDeclaration","scope":13578,"src":"4858:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13566,"name":"bool","nodeType":"ElementaryTypeName","src":"4858:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13569,"mutability":"mutable","name":"length","nameLocation":"4955:6:17","nodeType":"VariableDeclaration","scope":13578,"src":"4947:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13568,"name":"uint256","nodeType":"ElementaryTypeName","src":"4947:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13571,"mutability":"mutable","name":"readOnly","nameLocation":"5046:8:17","nodeType":"VariableDeclaration","scope":13578,"src":"5041:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13570,"name":"bool","nodeType":"ElementaryTypeName","src":"5041:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13573,"mutability":"mutable","name":"modified","nameLocation":"5135:8:17","nodeType":"VariableDeclaration","scope":13578,"src":"5127:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13572,"name":"uint256","nodeType":"ElementaryTypeName","src":"5127:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13575,"mutability":"mutable","name":"accessed","nameLocation":"5211:8:17","nodeType":"VariableDeclaration","scope":13578,"src":"5203:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13574,"name":"uint256","nodeType":"ElementaryTypeName","src":"5203:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13577,"mutability":"mutable","name":"created","nameLocation":"5291:7:17","nodeType":"VariableDeclaration","scope":13578,"src":"5283:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13576,"name":"uint256","nodeType":"ElementaryTypeName","src":"5283:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"FsMetadata","nameLocation":"4713:10:17","scope":17608,"visibility":"public"},{"id":13588,"nodeType":"StructDefinition","src":"5359:277:17","nodes":[],"canonicalName":"VmSafe.Wallet","documentation":{"id":13579,"nodeType":"StructuredDocumentation","src":"5311:43:17","text":"A wallet with a public and private key."},"members":[{"constant":false,"id":13581,"mutability":"mutable","name":"addr","nameLocation":"5424:4:17","nodeType":"VariableDeclaration","scope":13588,"src":"5416:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13580,"name":"address","nodeType":"ElementaryTypeName","src":"5416:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13583,"mutability":"mutable","name":"publicKeyX","nameLocation":"5486:10:17","nodeType":"VariableDeclaration","scope":13588,"src":"5478:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13582,"name":"uint256","nodeType":"ElementaryTypeName","src":"5478:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13585,"mutability":"mutable","name":"publicKeyY","nameLocation":"5554:10:17","nodeType":"VariableDeclaration","scope":13588,"src":"5546:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13584,"name":"uint256","nodeType":"ElementaryTypeName","src":"5546:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13587,"mutability":"mutable","name":"privateKey","nameLocation":"5619:10:17","nodeType":"VariableDeclaration","scope":13588,"src":"5611:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13586,"name":"uint256","nodeType":"ElementaryTypeName","src":"5611:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Wallet","nameLocation":"5366:6:17","scope":17608,"visibility":"public"},{"id":13596,"nodeType":"StructDefinition","src":"5681:213:17","nodes":[],"canonicalName":"VmSafe.FfiResult","documentation":{"id":13589,"nodeType":"StructuredDocumentation","src":"5642:34:17","text":"The result of a `tryFfi` call."},"members":[{"constant":false,"id":13591,"mutability":"mutable","name":"exitCode","nameLocation":"5752:8:17","nodeType":"VariableDeclaration","scope":13596,"src":"5746:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":13590,"name":"int32","nodeType":"ElementaryTypeName","src":"5746:5:17","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"},{"constant":false,"id":13593,"mutability":"mutable","name":"stdout","nameLocation":"5829:6:17","nodeType":"VariableDeclaration","scope":13596,"src":"5823:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13592,"name":"bytes","nodeType":"ElementaryTypeName","src":"5823:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13595,"mutability":"mutable","name":"stderr","nameLocation":"5881:6:17","nodeType":"VariableDeclaration","scope":13596,"src":"5875:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13594,"name":"bytes","nodeType":"ElementaryTypeName","src":"5875:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"FfiResult","nameLocation":"5688:9:17","scope":17608,"visibility":"public"},{"id":13602,"nodeType":"StructDefinition","src":"5943:184:17","nodes":[],"canonicalName":"VmSafe.ChainInfo","documentation":{"id":13597,"nodeType":"StructuredDocumentation","src":"5900:38:17","text":"Information on the chain and fork."},"members":[{"constant":false,"id":13599,"mutability":"mutable","name":"forkId","nameLocation":"6044:6:17","nodeType":"VariableDeclaration","scope":13602,"src":"6036:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13598,"name":"uint256","nodeType":"ElementaryTypeName","src":"6036:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13601,"mutability":"mutable","name":"chainId","nameLocation":"6113:7:17","nodeType":"VariableDeclaration","scope":13602,"src":"6105:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13600,"name":"uint256","nodeType":"ElementaryTypeName","src":"6105:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ChainInfo","nameLocation":"5950:9:17","scope":17608,"visibility":"public"},{"id":13612,"nodeType":"StructDefinition","src":"6173:302:17","nodes":[],"canonicalName":"VmSafe.Chain","documentation":{"id":13603,"nodeType":"StructuredDocumentation","src":"6133:35:17","text":"Information about a blockchain."},"members":[{"constant":false,"id":13605,"mutability":"mutable","name":"name","nameLocation":"6230:4:17","nodeType":"VariableDeclaration","scope":13612,"src":"6223:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13604,"name":"string","nodeType":"ElementaryTypeName","src":"6223:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13607,"mutability":"mutable","name":"chainId","nameLocation":"6285:7:17","nodeType":"VariableDeclaration","scope":13612,"src":"6277:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13606,"name":"uint256","nodeType":"ElementaryTypeName","src":"6277:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13609,"mutability":"mutable","name":"chainAlias","nameLocation":"6385:10:17","nodeType":"VariableDeclaration","scope":13612,"src":"6378:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13608,"name":"string","nodeType":"ElementaryTypeName","src":"6378:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13611,"mutability":"mutable","name":"rpcUrl","nameLocation":"6462:6:17","nodeType":"VariableDeclaration","scope":13612,"src":"6455:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":13610,"name":"string","nodeType":"ElementaryTypeName","src":"6455:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Chain","nameLocation":"6180:5:17","scope":17608,"visibility":"public"},{"id":13648,"nodeType":"StructDefinition","src":"6536:1992:17","nodes":[],"canonicalName":"VmSafe.AccountAccess","documentation":{"id":13613,"nodeType":"StructuredDocumentation","src":"6481:50:17","text":"The result of a `stopAndReturnStateDiff` call."},"members":[{"constant":false,"id":13616,"mutability":"mutable","name":"chainInfo","nameLocation":"6628:9:17","nodeType":"VariableDeclaration","scope":13648,"src":"6618:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ChainInfo_$13602_storage_ptr","typeString":"struct VmSafe.ChainInfo"},"typeName":{"id":13615,"nodeType":"UserDefinedTypeName","pathNode":{"id":13614,"name":"ChainInfo","nameLocations":["6618:9:17"],"nodeType":"IdentifierPath","referencedDeclaration":13602,"src":"6618:9:17"},"referencedDeclaration":13602,"src":"6618:9:17","typeDescriptions":{"typeIdentifier":"t_struct$_ChainInfo_$13602_storage_ptr","typeString":"struct VmSafe.ChainInfo"}},"visibility":"internal"},{"constant":false,"id":13619,"mutability":"mutable","name":"kind","nameLocation":"7091:4:17","nodeType":"VariableDeclaration","scope":13648,"src":"7073:22:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AccountAccessKind_$13498","typeString":"enum VmSafe.AccountAccessKind"},"typeName":{"id":13618,"nodeType":"UserDefinedTypeName","pathNode":{"id":13617,"name":"AccountAccessKind","nameLocations":["7073:17:17"],"nodeType":"IdentifierPath","referencedDeclaration":13498,"src":"7073:17:17"},"referencedDeclaration":13498,"src":"7073:17:17","typeDescriptions":{"typeIdentifier":"t_enum$_AccountAccessKind_$13498","typeString":"enum VmSafe.AccountAccessKind"}},"visibility":"internal"},{"constant":false,"id":13621,"mutability":"mutable","name":"account","nameLocation":"7268:7:17","nodeType":"VariableDeclaration","scope":13648,"src":"7260:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13620,"name":"address","nodeType":"ElementaryTypeName","src":"7260:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13623,"mutability":"mutable","name":"accessor","nameLocation":"7331:8:17","nodeType":"VariableDeclaration","scope":13648,"src":"7323:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13622,"name":"address","nodeType":"ElementaryTypeName","src":"7323:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13625,"mutability":"mutable","name":"initialized","nameLocation":"7542:11:17","nodeType":"VariableDeclaration","scope":13648,"src":"7537:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13624,"name":"bool","nodeType":"ElementaryTypeName","src":"7537:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13627,"mutability":"mutable","name":"oldBalance","nameLocation":"7628:10:17","nodeType":"VariableDeclaration","scope":13648,"src":"7620:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13626,"name":"uint256","nodeType":"ElementaryTypeName","src":"7620:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13629,"mutability":"mutable","name":"newBalance","nameLocation":"7803:10:17","nodeType":"VariableDeclaration","scope":13648,"src":"7795:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13628,"name":"uint256","nodeType":"ElementaryTypeName","src":"7795:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13631,"mutability":"mutable","name":"deployedCode","nameLocation":"7880:12:17","nodeType":"VariableDeclaration","scope":13648,"src":"7874:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13630,"name":"bytes","nodeType":"ElementaryTypeName","src":"7874:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13633,"mutability":"mutable","name":"value","nameLocation":"7964:5:17","nodeType":"VariableDeclaration","scope":13648,"src":"7956:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13632,"name":"uint256","nodeType":"ElementaryTypeName","src":"7956:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13635,"mutability":"mutable","name":"data","nameLocation":"8038:4:17","nodeType":"VariableDeclaration","scope":13648,"src":"8032:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13634,"name":"bytes","nodeType":"ElementaryTypeName","src":"8032:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13637,"mutability":"mutable","name":"reverted","nameLocation":"8133:8:17","nodeType":"VariableDeclaration","scope":13648,"src":"8128:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13636,"name":"bool","nodeType":"ElementaryTypeName","src":"8128:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13641,"mutability":"mutable","name":"storageAccesses","nameLocation":"8255:15:17","nodeType":"VariableDeclaration","scope":13648,"src":"8239:31:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StorageAccess_$13662_storage_$dyn_storage_ptr","typeString":"struct VmSafe.StorageAccess[]"},"typeName":{"baseType":{"id":13639,"nodeType":"UserDefinedTypeName","pathNode":{"id":13638,"name":"StorageAccess","nameLocations":["8239:13:17"],"nodeType":"IdentifierPath","referencedDeclaration":13662,"src":"8239:13:17"},"referencedDeclaration":13662,"src":"8239:13:17","typeDescriptions":{"typeIdentifier":"t_struct$_StorageAccess_$13662_storage_ptr","typeString":"struct VmSafe.StorageAccess"}},"id":13640,"nodeType":"ArrayTypeName","src":"8239:15:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StorageAccess_$13662_storage_$dyn_storage_ptr","typeString":"struct VmSafe.StorageAccess[]"}},"visibility":"internal"},{"constant":false,"id":13643,"mutability":"mutable","name":"depth","nameLocation":"8361:5:17","nodeType":"VariableDeclaration","scope":13648,"src":"8354:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13642,"name":"uint64","nodeType":"ElementaryTypeName","src":"8354:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13645,"mutability":"mutable","name":"oldNonce","nameLocation":"8438:8:17","nodeType":"VariableDeclaration","scope":13648,"src":"8431:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13644,"name":"uint64","nodeType":"ElementaryTypeName","src":"8431:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13647,"mutability":"mutable","name":"newNonce","nameLocation":"8513:8:17","nodeType":"VariableDeclaration","scope":13648,"src":"8506:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13646,"name":"uint64","nodeType":"ElementaryTypeName","src":"8506:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"AccountAccess","nameLocation":"6543:13:17","scope":17608,"visibility":"public"},{"id":13662,"nodeType":"StructDefinition","src":"8590:425:17","nodes":[],"canonicalName":"VmSafe.StorageAccess","documentation":{"id":13649,"nodeType":"StructuredDocumentation","src":"8534:51:17","text":"The storage accessed during an `AccountAccess`."},"members":[{"constant":false,"id":13651,"mutability":"mutable","name":"account","nameLocation":"8680:7:17","nodeType":"VariableDeclaration","scope":13662,"src":"8672:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13650,"name":"address","nodeType":"ElementaryTypeName","src":"8672:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13653,"mutability":"mutable","name":"slot","nameLocation":"8744:4:17","nodeType":"VariableDeclaration","scope":13662,"src":"8736:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8736:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13655,"mutability":"mutable","name":"isWrite","nameLocation":"8801:7:17","nodeType":"VariableDeclaration","scope":13662,"src":"8796:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13654,"name":"bool","nodeType":"ElementaryTypeName","src":"8796:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13657,"mutability":"mutable","name":"previousValue","nameLocation":"8869:13:17","nodeType":"VariableDeclaration","scope":13662,"src":"8861:21:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8861:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13659,"mutability":"mutable","name":"newValue","nameLocation":"8938:8:17","nodeType":"VariableDeclaration","scope":13662,"src":"8930:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13658,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8930:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13661,"mutability":"mutable","name":"reverted","nameLocation":"9000:8:17","nodeType":"VariableDeclaration","scope":13662,"src":"8995:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13660,"name":"bool","nodeType":"ElementaryTypeName","src":"8995:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"StorageAccess","nameLocation":"8597:13:17","scope":17608,"visibility":"public"},{"id":13674,"nodeType":"StructDefinition","src":"9066:458:17","nodes":[],"canonicalName":"VmSafe.Gas","documentation":{"id":13663,"nodeType":"StructuredDocumentation","src":"9021:40:17","text":"Gas used. Returned by `lastCallGas`."},"members":[{"constant":false,"id":13665,"mutability":"mutable","name":"gasLimit","nameLocation":"9132:8:17","nodeType":"VariableDeclaration","scope":13674,"src":"9125:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13664,"name":"uint64","nodeType":"ElementaryTypeName","src":"9125:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13667,"mutability":"mutable","name":"gasTotalUsed","nameLocation":"9188:12:17","nodeType":"VariableDeclaration","scope":13674,"src":"9181:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13666,"name":"uint64","nodeType":"ElementaryTypeName","src":"9181:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13669,"mutability":"mutable","name":"gasMemoryUsed","nameLocation":"9369:13:17","nodeType":"VariableDeclaration","scope":13674,"src":"9362:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13668,"name":"uint64","nodeType":"ElementaryTypeName","src":"9362:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13671,"mutability":"mutable","name":"gasRefunded","nameLocation":"9437:11:17","nodeType":"VariableDeclaration","scope":13674,"src":"9431:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":13670,"name":"int64","nodeType":"ElementaryTypeName","src":"9431:5:17","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":13673,"mutability":"mutable","name":"gasRemaining","nameLocation":"9505:12:17","nodeType":"VariableDeclaration","scope":13674,"src":"9498:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13672,"name":"uint64","nodeType":"ElementaryTypeName","src":"9498:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"Gas","nameLocation":"9073:3:17","scope":17608,"visibility":"public"},{"id":13689,"nodeType":"StructDefinition","src":"9587:848:17","nodes":[],"canonicalName":"VmSafe.DebugStep","documentation":{"id":13675,"nodeType":"StructuredDocumentation","src":"9530:52:17","text":"The result of the `stopDebugTraceRecording` call"},"members":[{"constant":false,"id":13678,"mutability":"mutable","name":"stack","nameLocation":"9816:5:17","nodeType":"VariableDeclaration","scope":13689,"src":"9806:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13676,"name":"uint256","nodeType":"ElementaryTypeName","src":"9806:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13677,"nodeType":"ArrayTypeName","src":"9806:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":13680,"mutability":"mutable","name":"memoryInput","nameLocation":"10120:11:17","nodeType":"VariableDeclaration","scope":13689,"src":"10114:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13679,"name":"bytes","nodeType":"ElementaryTypeName","src":"10114:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13682,"mutability":"mutable","name":"opcode","nameLocation":"10188:6:17","nodeType":"VariableDeclaration","scope":13689,"src":"10182:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13681,"name":"uint8","nodeType":"ElementaryTypeName","src":"10182:5:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13684,"mutability":"mutable","name":"depth","nameLocation":"10250:5:17","nodeType":"VariableDeclaration","scope":13689,"src":"10243:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13683,"name":"uint64","nodeType":"ElementaryTypeName","src":"10243:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13686,"mutability":"mutable","name":"isOutOfGas","nameLocation":"10328:10:17","nodeType":"VariableDeclaration","scope":13689,"src":"10323:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13685,"name":"bool","nodeType":"ElementaryTypeName","src":"10323:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13688,"mutability":"mutable","name":"contractAddr","nameLocation":"10416:12:17","nodeType":"VariableDeclaration","scope":13689,"src":"10408:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13687,"name":"address","nodeType":"ElementaryTypeName","src":"10408:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"DebugStep","nameLocation":"9594:9:17","scope":17608,"visibility":"public"},{"id":13702,"nodeType":"StructDefinition","src":"10495:600:17","nodes":[],"canonicalName":"VmSafe.BroadcastTxSummary","documentation":{"id":13690,"nodeType":"StructuredDocumentation","src":"10441:49:17","text":"Represents a transaction's broadcast details."},"members":[{"constant":false,"id":13692,"mutability":"mutable","name":"txHash","nameLocation":"10599:6:17","nodeType":"VariableDeclaration","scope":13702,"src":"10591:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10591:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13695,"mutability":"mutable","name":"txType","nameLocation":"10704:6:17","nodeType":"VariableDeclaration","scope":13702,"src":"10688:22:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_BroadcastTxType_$13514","typeString":"enum VmSafe.BroadcastTxType"},"typeName":{"id":13694,"nodeType":"UserDefinedTypeName","pathNode":{"id":13693,"name":"BroadcastTxType","nameLocations":["10688:15:17"],"nodeType":"IdentifierPath","referencedDeclaration":13514,"src":"10688:15:17"},"referencedDeclaration":13514,"src":"10688:15:17","typeDescriptions":{"typeIdentifier":"t_enum$_BroadcastTxType_$13514","typeString":"enum VmSafe.BroadcastTxType"}},"visibility":"internal"},{"constant":false,"id":13697,"mutability":"mutable","name":"contractAddress","nameLocation":"10890:15:17","nodeType":"VariableDeclaration","scope":13702,"src":"10882:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13696,"name":"address","nodeType":"ElementaryTypeName","src":"10882:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13699,"mutability":"mutable","name":"blockNumber","nameLocation":"10977:11:17","nodeType":"VariableDeclaration","scope":13702,"src":"10970:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13698,"name":"uint64","nodeType":"ElementaryTypeName","src":"10970:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13701,"mutability":"mutable","name":"success","nameLocation":"11081:7:17","nodeType":"VariableDeclaration","scope":13702,"src":"11076:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13700,"name":"bool","nodeType":"ElementaryTypeName","src":"11076:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"BroadcastTxSummary","nameLocation":"10502:18:17","scope":17608,"visibility":"public"},{"id":13714,"nodeType":"StructDefinition","src":"11206:605:17","nodes":[],"canonicalName":"VmSafe.SignedDelegation","documentation":{"id":13703,"nodeType":"StructuredDocumentation","src":"11101:100:17","text":"Holds a signed EIP-7702 authorization for an authority account to delegate to an implementation."},"members":[{"constant":false,"id":13705,"mutability":"mutable","name":"v","nameLocation":"11317:1:17","nodeType":"VariableDeclaration","scope":13714,"src":"11311:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13704,"name":"uint8","nodeType":"ElementaryTypeName","src":"11311:5:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13707,"mutability":"mutable","name":"r","nameLocation":"11380:1:17","nodeType":"VariableDeclaration","scope":13714,"src":"11372:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11372:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13709,"mutability":"mutable","name":"s","nameLocation":"11444:1:17","nodeType":"VariableDeclaration","scope":13714,"src":"11436:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13708,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11436:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13711,"mutability":"mutable","name":"nonce","nameLocation":"11616:5:17","nodeType":"VariableDeclaration","scope":13714,"src":"11609:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13710,"name":"uint64","nodeType":"ElementaryTypeName","src":"11609:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13713,"mutability":"mutable","name":"implementation","nameLocation":"11790:14:17","nodeType":"VariableDeclaration","scope":13714,"src":"11782:22:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13712,"name":"address","nodeType":"ElementaryTypeName","src":"11782:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"SignedDelegation","nameLocation":"11213:16:17","scope":17608,"visibility":"public"},{"id":13722,"nodeType":"StructDefinition","src":"12060:373:17","nodes":[],"canonicalName":"VmSafe.PotentialRevert","documentation":{"id":13715,"nodeType":"StructuredDocumentation","src":"11817:238:17","text":"Represents a \"potential\" revert reason from a single subsequent call when using `vm.assumeNoReverts`.\n Reverts that match will result in a FOUNDRY::ASSUME rejection, whereas unmatched reverts will be surfaced\n as normal."},"members":[{"constant":false,"id":13717,"mutability":"mutable","name":"reverter","nameLocation":"12196:8:17","nodeType":"VariableDeclaration","scope":13722,"src":"12188:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13716,"name":"address","nodeType":"ElementaryTypeName","src":"12188:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13719,"mutability":"mutable","name":"partialMatch","nameLocation":"12332:12:17","nodeType":"VariableDeclaration","scope":13722,"src":"12327:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13718,"name":"bool","nodeType":"ElementaryTypeName","src":"12327:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13721,"mutability":"mutable","name":"revertData","nameLocation":"12416:10:17","nodeType":"VariableDeclaration","scope":13722,"src":"12410:16:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":13720,"name":"bytes","nodeType":"ElementaryTypeName","src":"12410:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"PotentialRevert","nameLocation":"12067:15:17","scope":17608,"visibility":"public"},{"id":13729,"nodeType":"StructDefinition","src":"12477:191:17","nodes":[],"canonicalName":"VmSafe.AccessListItem","documentation":{"id":13723,"nodeType":"StructuredDocumentation","src":"12439:33:17","text":"An EIP-2930 access list item."},"members":[{"constant":false,"id":13725,"mutability":"mutable","name":"target","nameLocation":"12568:6:17","nodeType":"VariableDeclaration","scope":13729,"src":"12560:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13724,"name":"address","nodeType":"ElementaryTypeName","src":"12560:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13728,"mutability":"mutable","name":"storageKeys","nameLocation":"12650:11:17","nodeType":"VariableDeclaration","scope":13729,"src":"12640:21:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13726,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12640:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13727,"nodeType":"ArrayTypeName","src":"12640:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"name":"AccessListItem","nameLocation":"12484:14:17","scope":17608,"visibility":"public"},{"id":13738,"nodeType":"FunctionDefinition","src":"12811:91:17","nodes":[],"documentation":{"id":13730,"nodeType":"StructuredDocumentation","src":"12707:99:17","text":"Derives a private key from the name, labels the account with that name, and returns the wallet."},"functionSelector":"7404f1d2","implemented":false,"kind":"function","modifiers":[],"name":"createWallet","nameLocation":"12820:12:17","parameters":{"id":13733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13732,"mutability":"mutable","name":"walletLabel","nameLocation":"12849:11:17","nodeType":"VariableDeclaration","scope":13738,"src":"12833:27:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13731,"name":"string","nodeType":"ElementaryTypeName","src":"12833:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12832:29:17"},"returnParameters":{"id":13737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13736,"mutability":"mutable","name":"wallet","nameLocation":"12894:6:17","nodeType":"VariableDeclaration","scope":13738,"src":"12880:20:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":13735,"nodeType":"UserDefinedTypeName","pathNode":{"id":13734,"name":"Wallet","nameLocations":["12880:6:17"],"nodeType":"IdentifierPath","referencedDeclaration":13588,"src":"12880:6:17"},"referencedDeclaration":13588,"src":"12880:6:17","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"12879:22:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13747,"nodeType":"FunctionDefinition","src":"12980:82:17","nodes":[],"documentation":{"id":13739,"nodeType":"StructuredDocumentation","src":"12908:67:17","text":"Generates a wallet from the private key and returns the wallet."},"functionSelector":"7a675bb6","implemented":false,"kind":"function","modifiers":[],"name":"createWallet","nameLocation":"12989:12:17","parameters":{"id":13742,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13741,"mutability":"mutable","name":"privateKey","nameLocation":"13010:10:17","nodeType":"VariableDeclaration","scope":13747,"src":"13002:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13740,"name":"uint256","nodeType":"ElementaryTypeName","src":"13002:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13001:20:17"},"returnParameters":{"id":13746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13745,"mutability":"mutable","name":"wallet","nameLocation":"13054:6:17","nodeType":"VariableDeclaration","scope":13747,"src":"13040:20:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":13744,"nodeType":"UserDefinedTypeName","pathNode":{"id":13743,"name":"Wallet","nameLocations":["13040:6:17"],"nodeType":"IdentifierPath","referencedDeclaration":13588,"src":"13040:6:17"},"referencedDeclaration":13588,"src":"13040:6:17","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"13039:22:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13758,"nodeType":"FunctionDefinition","src":"13176:111:17","nodes":[],"documentation":{"id":13748,"nodeType":"StructuredDocumentation","src":"13068:103:17","text":"Generates a wallet from the private key, labels the account with that name, and returns the wallet."},"functionSelector":"ed7c5462","implemented":false,"kind":"function","modifiers":[],"name":"createWallet","nameLocation":"13185:12:17","parameters":{"id":13753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13750,"mutability":"mutable","name":"privateKey","nameLocation":"13206:10:17","nodeType":"VariableDeclaration","scope":13758,"src":"13198:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13749,"name":"uint256","nodeType":"ElementaryTypeName","src":"13198:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13752,"mutability":"mutable","name":"walletLabel","nameLocation":"13234:11:17","nodeType":"VariableDeclaration","scope":13758,"src":"13218:27:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13751,"name":"string","nodeType":"ElementaryTypeName","src":"13218:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13197:49:17"},"returnParameters":{"id":13757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13756,"mutability":"mutable","name":"wallet","nameLocation":"13279:6:17","nodeType":"VariableDeclaration","scope":13758,"src":"13265:20:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":13755,"nodeType":"UserDefinedTypeName","pathNode":{"id":13754,"name":"Wallet","nameLocations":["13265:6:17"],"nodeType":"IdentifierPath","referencedDeclaration":13588,"src":"13265:6:17"},"referencedDeclaration":13588,"src":"13265:6:17","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"13264:22:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13768,"nodeType":"FunctionDefinition","src":"13435:102:17","nodes":[],"documentation":{"id":13759,"nodeType":"StructuredDocumentation","src":"13293:137:17","text":"Derive a private key from a provided mnemonic string (or mnemonic file path)\n at the derivation path `m/44'/60'/0'/0/{index}`."},"functionSelector":"6229498b","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"13444:9:17","parameters":{"id":13764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13761,"mutability":"mutable","name":"mnemonic","nameLocation":"13470:8:17","nodeType":"VariableDeclaration","scope":13768,"src":"13454:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13760,"name":"string","nodeType":"ElementaryTypeName","src":"13454:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13763,"mutability":"mutable","name":"index","nameLocation":"13487:5:17","nodeType":"VariableDeclaration","scope":13768,"src":"13480:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":13762,"name":"uint32","nodeType":"ElementaryTypeName","src":"13480:6:17","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"13453:40:17"},"returnParameters":{"id":13767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13766,"mutability":"mutable","name":"privateKey","nameLocation":"13525:10:17","nodeType":"VariableDeclaration","scope":13768,"src":"13517:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13765,"name":"uint256","nodeType":"ElementaryTypeName","src":"13517:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13516:20:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13780,"nodeType":"FunctionDefinition","src":"13666:158:17","nodes":[],"documentation":{"id":13769,"nodeType":"StructuredDocumentation","src":"13543:118:17","text":"Derive a private key from a provided mnemonic string (or mnemonic file path)\n at `{derivationPath}{index}`."},"functionSelector":"6bcb2c1b","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"13675:9:17","parameters":{"id":13776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13771,"mutability":"mutable","name":"mnemonic","nameLocation":"13701:8:17","nodeType":"VariableDeclaration","scope":13780,"src":"13685:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13770,"name":"string","nodeType":"ElementaryTypeName","src":"13685:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13773,"mutability":"mutable","name":"derivationPath","nameLocation":"13727:14:17","nodeType":"VariableDeclaration","scope":13780,"src":"13711:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13772,"name":"string","nodeType":"ElementaryTypeName","src":"13711:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13775,"mutability":"mutable","name":"index","nameLocation":"13750:5:17","nodeType":"VariableDeclaration","scope":13780,"src":"13743:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":13774,"name":"uint32","nodeType":"ElementaryTypeName","src":"13743:6:17","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"13684:72:17"},"returnParameters":{"id":13779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13778,"mutability":"mutable","name":"privateKey","nameLocation":"13812:10:17","nodeType":"VariableDeclaration","scope":13780,"src":"13804:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13777,"name":"uint256","nodeType":"ElementaryTypeName","src":"13804:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13803:20:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13792,"nodeType":"FunctionDefinition","src":"13998:152:17","nodes":[],"documentation":{"id":13781,"nodeType":"StructuredDocumentation","src":"13830:163:17","text":"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language\n at the derivation path `m/44'/60'/0'/0/{index}`."},"functionSelector":"32c8176d","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"14007:9:17","parameters":{"id":13788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13783,"mutability":"mutable","name":"mnemonic","nameLocation":"14033:8:17","nodeType":"VariableDeclaration","scope":13792,"src":"14017:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13782,"name":"string","nodeType":"ElementaryTypeName","src":"14017:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13785,"mutability":"mutable","name":"index","nameLocation":"14050:5:17","nodeType":"VariableDeclaration","scope":13792,"src":"14043:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":13784,"name":"uint32","nodeType":"ElementaryTypeName","src":"14043:6:17","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":13787,"mutability":"mutable","name":"language","nameLocation":"14073:8:17","nodeType":"VariableDeclaration","scope":13792,"src":"14057:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13786,"name":"string","nodeType":"ElementaryTypeName","src":"14057:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14016:66:17"},"returnParameters":{"id":13791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13790,"mutability":"mutable","name":"privateKey","nameLocation":"14138:10:17","nodeType":"VariableDeclaration","scope":13792,"src":"14130:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13789,"name":"uint256","nodeType":"ElementaryTypeName","src":"14130:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14129:20:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13806,"nodeType":"FunctionDefinition","src":"14305:184:17","nodes":[],"documentation":{"id":13793,"nodeType":"StructuredDocumentation","src":"14156:144:17","text":"Derive a private key from a provided mnemonic string (or mnemonic file path) in the specified language\n at `{derivationPath}{index}`."},"functionSelector":"29233b1f","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"14314:9:17","parameters":{"id":13802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13795,"mutability":"mutable","name":"mnemonic","nameLocation":"14340:8:17","nodeType":"VariableDeclaration","scope":13806,"src":"14324:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13794,"name":"string","nodeType":"ElementaryTypeName","src":"14324:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13797,"mutability":"mutable","name":"derivationPath","nameLocation":"14366:14:17","nodeType":"VariableDeclaration","scope":13806,"src":"14350:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13796,"name":"string","nodeType":"ElementaryTypeName","src":"14350:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13799,"mutability":"mutable","name":"index","nameLocation":"14389:5:17","nodeType":"VariableDeclaration","scope":13806,"src":"14382:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":13798,"name":"uint32","nodeType":"ElementaryTypeName","src":"14382:6:17","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":13801,"mutability":"mutable","name":"language","nameLocation":"14412:8:17","nodeType":"VariableDeclaration","scope":13806,"src":"14396:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13800,"name":"string","nodeType":"ElementaryTypeName","src":"14396:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14323:98:17"},"returnParameters":{"id":13805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13804,"mutability":"mutable","name":"privateKey","nameLocation":"14477:10:17","nodeType":"VariableDeclaration","scope":13806,"src":"14469:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13803,"name":"uint256","nodeType":"ElementaryTypeName","src":"14469:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14468:20:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13816,"nodeType":"FunctionDefinition","src":"14564:106:17","nodes":[],"documentation":{"id":13807,"nodeType":"StructuredDocumentation","src":"14495:64:17","text":"Derives secp256r1 public key from the provided `privateKey`."},"functionSelector":"c453949e","implemented":false,"kind":"function","modifiers":[],"name":"publicKeyP256","nameLocation":"14573:13:17","parameters":{"id":13810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13809,"mutability":"mutable","name":"privateKey","nameLocation":"14595:10:17","nodeType":"VariableDeclaration","scope":13816,"src":"14587:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13808,"name":"uint256","nodeType":"ElementaryTypeName","src":"14587:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14586:20:17"},"returnParameters":{"id":13815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13812,"mutability":"mutable","name":"publicKeyX","nameLocation":"14638:10:17","nodeType":"VariableDeclaration","scope":13816,"src":"14630:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13811,"name":"uint256","nodeType":"ElementaryTypeName","src":"14630:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13814,"mutability":"mutable","name":"publicKeyY","nameLocation":"14658:10:17","nodeType":"VariableDeclaration","scope":13816,"src":"14650:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13813,"name":"uint256","nodeType":"ElementaryTypeName","src":"14650:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14629:40:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13824,"nodeType":"FunctionDefinition","src":"14754:76:17","nodes":[],"documentation":{"id":13817,"nodeType":"StructuredDocumentation","src":"14676:73:17","text":"Adds a private key to the local forge wallet and returns the address."},"functionSelector":"22100064","implemented":false,"kind":"function","modifiers":[],"name":"rememberKey","nameLocation":"14763:11:17","parameters":{"id":13820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13819,"mutability":"mutable","name":"privateKey","nameLocation":"14783:10:17","nodeType":"VariableDeclaration","scope":13824,"src":"14775:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13818,"name":"uint256","nodeType":"ElementaryTypeName","src":"14775:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14774:20:17"},"returnParameters":{"id":13823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13822,"mutability":"mutable","name":"keyAddr","nameLocation":"14821:7:17","nodeType":"VariableDeclaration","scope":13824,"src":"14813:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13821,"name":"address","nodeType":"ElementaryTypeName","src":"14813:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14812:17:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13837,"nodeType":"FunctionDefinition","src":"15063:155:17","nodes":[],"documentation":{"id":13825,"nodeType":"StructuredDocumentation","src":"14836:222:17","text":"Derive a set number of wallets from a mnemonic at the derivation path `m/44'/60'/0'/0/{0..count}`.\n The respective private keys are saved to the local forge wallet for later use and their addresses are returned."},"functionSelector":"97cb9189","implemented":false,"kind":"function","modifiers":[],"name":"rememberKeys","nameLocation":"15072:12:17","parameters":{"id":13832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13827,"mutability":"mutable","name":"mnemonic","nameLocation":"15101:8:17","nodeType":"VariableDeclaration","scope":13837,"src":"15085:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13826,"name":"string","nodeType":"ElementaryTypeName","src":"15085:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13829,"mutability":"mutable","name":"derivationPath","nameLocation":"15127:14:17","nodeType":"VariableDeclaration","scope":13837,"src":"15111:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13828,"name":"string","nodeType":"ElementaryTypeName","src":"15111:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13831,"mutability":"mutable","name":"count","nameLocation":"15150:5:17","nodeType":"VariableDeclaration","scope":13837,"src":"15143:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":13830,"name":"uint32","nodeType":"ElementaryTypeName","src":"15143:6:17","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"15084:72:17"},"returnParameters":{"id":13836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13835,"mutability":"mutable","name":"keyAddrs","nameLocation":"15208:8:17","nodeType":"VariableDeclaration","scope":13837,"src":"15191:25:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13833,"name":"address","nodeType":"ElementaryTypeName","src":"15191:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13834,"nodeType":"ArrayTypeName","src":"15191:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"15190:27:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13852,"nodeType":"FunctionDefinition","src":"15477:203:17","nodes":[],"documentation":{"id":13838,"nodeType":"StructuredDocumentation","src":"15224:248:17","text":"Derive a set number of wallets from a mnemonic in the specified language at the derivation path `m/44'/60'/0'/0/{0..count}`.\n The respective private keys are saved to the local forge wallet for later use and their addresses are returned."},"functionSelector":"f8d58eaf","implemented":false,"kind":"function","modifiers":[],"name":"rememberKeys","nameLocation":"15486:12:17","parameters":{"id":13847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13840,"mutability":"mutable","name":"mnemonic","nameLocation":"15524:8:17","nodeType":"VariableDeclaration","scope":13852,"src":"15508:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13839,"name":"string","nodeType":"ElementaryTypeName","src":"15508:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13842,"mutability":"mutable","name":"derivationPath","nameLocation":"15558:14:17","nodeType":"VariableDeclaration","scope":13852,"src":"15542:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13841,"name":"string","nodeType":"ElementaryTypeName","src":"15542:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13844,"mutability":"mutable","name":"language","nameLocation":"15598:8:17","nodeType":"VariableDeclaration","scope":13852,"src":"15582:24:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13843,"name":"string","nodeType":"ElementaryTypeName","src":"15582:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13846,"mutability":"mutable","name":"count","nameLocation":"15623:5:17","nodeType":"VariableDeclaration","scope":13852,"src":"15616:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":13845,"name":"uint32","nodeType":"ElementaryTypeName","src":"15616:6:17","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"15498:136:17"},"returnParameters":{"id":13851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13850,"mutability":"mutable","name":"keyAddrs","nameLocation":"15670:8:17","nodeType":"VariableDeclaration","scope":13852,"src":"15653:25:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13848,"name":"address","nodeType":"ElementaryTypeName","src":"15653:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13849,"nodeType":"ArrayTypeName","src":"15653:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"15652:27:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13865,"nodeType":"FunctionDefinition","src":"15959:102:17","nodes":[],"documentation":{"id":13853,"nodeType":"StructuredDocumentation","src":"15686:268:17","text":"Signs data with a `Wallet`.\n Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n signature's `s` value, and the recovery id `v` in a single bytes32.\n This format reduces the signature size from 65 to 64 bytes."},"functionSelector":"3d0e292f","implemented":false,"kind":"function","modifiers":[],"name":"signCompact","nameLocation":"15968:11:17","parameters":{"id":13859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13856,"mutability":"mutable","name":"wallet","nameLocation":"15996:6:17","nodeType":"VariableDeclaration","scope":13865,"src":"15980:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_calldata_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":13855,"nodeType":"UserDefinedTypeName","pathNode":{"id":13854,"name":"Wallet","nameLocations":["15980:6:17"],"nodeType":"IdentifierPath","referencedDeclaration":13588,"src":"15980:6:17"},"referencedDeclaration":13588,"src":"15980:6:17","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"},{"constant":false,"id":13858,"mutability":"mutable","name":"digest","nameLocation":"16012:6:17","nodeType":"VariableDeclaration","scope":13865,"src":"16004:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13857,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16004:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15979:40:17"},"returnParameters":{"id":13864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13861,"mutability":"mutable","name":"r","nameLocation":"16046:1:17","nodeType":"VariableDeclaration","scope":13865,"src":"16038:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13860,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16038:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13863,"mutability":"mutable","name":"vs","nameLocation":"16057:2:17","nodeType":"VariableDeclaration","scope":13865,"src":"16049:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13862,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16049:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16037:23:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13877,"nodeType":"FunctionDefinition","src":"16372:103:17","nodes":[],"documentation":{"id":13866,"nodeType":"StructuredDocumentation","src":"16067:300:17","text":"Signs `digest` with `privateKey` using the secp256k1 curve.\n Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n signature's `s` value, and the recovery id `v` in a single bytes32.\n This format reduces the signature size from 65 to 64 bytes."},"functionSelector":"cc2a781f","implemented":false,"kind":"function","modifiers":[],"name":"signCompact","nameLocation":"16381:11:17","parameters":{"id":13871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13868,"mutability":"mutable","name":"privateKey","nameLocation":"16401:10:17","nodeType":"VariableDeclaration","scope":13877,"src":"16393:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13867,"name":"uint256","nodeType":"ElementaryTypeName","src":"16393:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13870,"mutability":"mutable","name":"digest","nameLocation":"16421:6:17","nodeType":"VariableDeclaration","scope":13877,"src":"16413:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13869,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16413:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16392:36:17"},"returnParameters":{"id":13876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13873,"mutability":"mutable","name":"r","nameLocation":"16460:1:17","nodeType":"VariableDeclaration","scope":13877,"src":"16452:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13872,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16452:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13875,"mutability":"mutable","name":"vs","nameLocation":"16471:2:17","nodeType":"VariableDeclaration","scope":13877,"src":"16463:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13874,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16463:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16451:23:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13887,"nodeType":"FunctionDefinition","src":"17151:83:17","nodes":[],"documentation":{"id":13878,"nodeType":"StructuredDocumentation","src":"16481:665:17","text":"Signs `digest` with signer provided to script using the secp256k1 curve.\n Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n signature's `s` value, and the recovery id `v` in a single bytes32.\n This format reduces the signature size from 65 to 64 bytes.\n If `--sender` is provided, the signer with provided address is used, otherwise,\n if exactly one signer is provided to the script, that signer is used.\n Raises error if signer passed through `--sender` does not match any unlocked signers or\n if `--sender` is not provided and not exactly one signer is passed to the script."},"functionSelector":"a282dc4b","implemented":false,"kind":"function","modifiers":[],"name":"signCompact","nameLocation":"17160:11:17","parameters":{"id":13881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13880,"mutability":"mutable","name":"digest","nameLocation":"17180:6:17","nodeType":"VariableDeclaration","scope":13887,"src":"17172:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13879,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17172:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17171:16:17"},"returnParameters":{"id":13886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13883,"mutability":"mutable","name":"r","nameLocation":"17219:1:17","nodeType":"VariableDeclaration","scope":13887,"src":"17211:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13882,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17211:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13885,"mutability":"mutable","name":"vs","nameLocation":"17230:2:17","nodeType":"VariableDeclaration","scope":13887,"src":"17222:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17222:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17210:23:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13899,"nodeType":"FunctionDefinition","src":"17648:99:17","nodes":[],"documentation":{"id":13888,"nodeType":"StructuredDocumentation","src":"17240:403:17","text":"Signs `digest` with signer provided to script using the secp256k1 curve.\n Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the\n signature's `s` value, and the recovery id `v` in a single bytes32.\n This format reduces the signature size from 65 to 64 bytes.\n Raises error if none of the signers passed into the script have provided address."},"functionSelector":"8e2f97bf","implemented":false,"kind":"function","modifiers":[],"name":"signCompact","nameLocation":"17657:11:17","parameters":{"id":13893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13890,"mutability":"mutable","name":"signer","nameLocation":"17677:6:17","nodeType":"VariableDeclaration","scope":13899,"src":"17669:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13889,"name":"address","nodeType":"ElementaryTypeName","src":"17669:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13892,"mutability":"mutable","name":"digest","nameLocation":"17693:6:17","nodeType":"VariableDeclaration","scope":13899,"src":"17685:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13891,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17685:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17668:32:17"},"returnParameters":{"id":13898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13895,"mutability":"mutable","name":"r","nameLocation":"17732:1:17","nodeType":"VariableDeclaration","scope":13899,"src":"17724:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13894,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17724:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13897,"mutability":"mutable","name":"vs","nameLocation":"17743:2:17","nodeType":"VariableDeclaration","scope":13899,"src":"17735:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13896,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17735:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17723:23:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13911,"nodeType":"FunctionDefinition","src":"17821:99:17","nodes":[],"documentation":{"id":13900,"nodeType":"StructuredDocumentation","src":"17753:63:17","text":"Signs `digest` with `privateKey` using the secp256r1 curve."},"functionSelector":"83211b40","implemented":false,"kind":"function","modifiers":[],"name":"signP256","nameLocation":"17830:8:17","parameters":{"id":13905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13902,"mutability":"mutable","name":"privateKey","nameLocation":"17847:10:17","nodeType":"VariableDeclaration","scope":13911,"src":"17839:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13901,"name":"uint256","nodeType":"ElementaryTypeName","src":"17839:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13904,"mutability":"mutable","name":"digest","nameLocation":"17867:6:17","nodeType":"VariableDeclaration","scope":13911,"src":"17859:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13903,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17859:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17838:36:17"},"returnParameters":{"id":13910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13907,"mutability":"mutable","name":"r","nameLocation":"17906:1:17","nodeType":"VariableDeclaration","scope":13911,"src":"17898:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13906,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17898:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13909,"mutability":"mutable","name":"s","nameLocation":"17917:1:17","nodeType":"VariableDeclaration","scope":13911,"src":"17909:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13908,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17909:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17897:22:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13927,"nodeType":"FunctionDefinition","src":"18105:158:17","nodes":[],"documentation":{"id":13912,"nodeType":"StructuredDocumentation","src":"17926:174:17","text":"Signs `digest` with `privateKey` on the secp256k1 curve, using the given `nonce`\n as the raw ephemeral k value in ECDSA (instead of deriving it deterministically)."},"functionSelector":"2012783a","implemented":false,"kind":"function","modifiers":[],"name":"signWithNonceUnsafe","nameLocation":"18114:19:17","parameters":{"id":13919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13914,"mutability":"mutable","name":"privateKey","nameLocation":"18142:10:17","nodeType":"VariableDeclaration","scope":13927,"src":"18134:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13913,"name":"uint256","nodeType":"ElementaryTypeName","src":"18134:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13916,"mutability":"mutable","name":"digest","nameLocation":"18162:6:17","nodeType":"VariableDeclaration","scope":13927,"src":"18154:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13915,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18154:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13918,"mutability":"mutable","name":"nonce","nameLocation":"18178:5:17","nodeType":"VariableDeclaration","scope":13927,"src":"18170:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13917,"name":"uint256","nodeType":"ElementaryTypeName","src":"18170:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18133:51:17"},"returnParameters":{"id":13926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13921,"mutability":"mutable","name":"v","nameLocation":"18238:1:17","nodeType":"VariableDeclaration","scope":13927,"src":"18232:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13920,"name":"uint8","nodeType":"ElementaryTypeName","src":"18232:5:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13923,"mutability":"mutable","name":"r","nameLocation":"18249:1:17","nodeType":"VariableDeclaration","scope":13927,"src":"18241:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13922,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18241:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13925,"mutability":"mutable","name":"s","nameLocation":"18260:1:17","nodeType":"VariableDeclaration","scope":13927,"src":"18252:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13924,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18252:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"18231:31:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13942,"nodeType":"FunctionDefinition","src":"18305:103:17","nodes":[],"documentation":{"id":13928,"nodeType":"StructuredDocumentation","src":"18269:31:17","text":"Signs data with a `Wallet`."},"functionSelector":"b25c5a25","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"18314:4:17","parameters":{"id":13934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13931,"mutability":"mutable","name":"wallet","nameLocation":"18335:6:17","nodeType":"VariableDeclaration","scope":13942,"src":"18319:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_calldata_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":13930,"nodeType":"UserDefinedTypeName","pathNode":{"id":13929,"name":"Wallet","nameLocations":["18319:6:17"],"nodeType":"IdentifierPath","referencedDeclaration":13588,"src":"18319:6:17"},"referencedDeclaration":13588,"src":"18319:6:17","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"},{"constant":false,"id":13933,"mutability":"mutable","name":"digest","nameLocation":"18351:6:17","nodeType":"VariableDeclaration","scope":13942,"src":"18343:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13932,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18343:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"18318:40:17"},"returnParameters":{"id":13941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13936,"mutability":"mutable","name":"v","nameLocation":"18383:1:17","nodeType":"VariableDeclaration","scope":13942,"src":"18377:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13935,"name":"uint8","nodeType":"ElementaryTypeName","src":"18377:5:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13938,"mutability":"mutable","name":"r","nameLocation":"18394:1:17","nodeType":"VariableDeclaration","scope":13942,"src":"18386:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13937,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18386:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13940,"mutability":"mutable","name":"s","nameLocation":"18405:1:17","nodeType":"VariableDeclaration","scope":13942,"src":"18397:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13939,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18397:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"18376:31:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13956,"nodeType":"FunctionDefinition","src":"18482:104:17","nodes":[],"documentation":{"id":13943,"nodeType":"StructuredDocumentation","src":"18414:63:17","text":"Signs `digest` with `privateKey` using the secp256k1 curve."},"functionSelector":"e341eaa4","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"18491:4:17","parameters":{"id":13948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13945,"mutability":"mutable","name":"privateKey","nameLocation":"18504:10:17","nodeType":"VariableDeclaration","scope":13956,"src":"18496:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13944,"name":"uint256","nodeType":"ElementaryTypeName","src":"18496:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13947,"mutability":"mutable","name":"digest","nameLocation":"18524:6:17","nodeType":"VariableDeclaration","scope":13956,"src":"18516:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13946,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18516:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"18495:36:17"},"returnParameters":{"id":13955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13950,"mutability":"mutable","name":"v","nameLocation":"18561:1:17","nodeType":"VariableDeclaration","scope":13956,"src":"18555:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13949,"name":"uint8","nodeType":"ElementaryTypeName","src":"18555:5:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13952,"mutability":"mutable","name":"r","nameLocation":"18572:1:17","nodeType":"VariableDeclaration","scope":13956,"src":"18564:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13951,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18564:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13954,"mutability":"mutable","name":"s","nameLocation":"18583:1:17","nodeType":"VariableDeclaration","scope":13956,"src":"18575:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13953,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18575:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"18554:31:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13968,"nodeType":"FunctionDefinition","src":"19025:84:17","nodes":[],"documentation":{"id":13957,"nodeType":"StructuredDocumentation","src":"18592:428:17","text":"Signs `digest` with signer provided to script using the secp256k1 curve.\n If `--sender` is provided, the signer with provided address is used, otherwise,\n if exactly one signer is provided to the script, that signer is used.\n Raises error if signer passed through `--sender` does not match any unlocked signers or\n if `--sender` is not provided and not exactly one signer is passed to the script."},"functionSelector":"799cd333","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"19034:4:17","parameters":{"id":13960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13959,"mutability":"mutable","name":"digest","nameLocation":"19047:6:17","nodeType":"VariableDeclaration","scope":13968,"src":"19039:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13958,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19039:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19038:16:17"},"returnParameters":{"id":13967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13962,"mutability":"mutable","name":"v","nameLocation":"19084:1:17","nodeType":"VariableDeclaration","scope":13968,"src":"19078:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13961,"name":"uint8","nodeType":"ElementaryTypeName","src":"19078:5:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13964,"mutability":"mutable","name":"r","nameLocation":"19095:1:17","nodeType":"VariableDeclaration","scope":13968,"src":"19087:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13963,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19087:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13966,"mutability":"mutable","name":"s","nameLocation":"19106:1:17","nodeType":"VariableDeclaration","scope":13968,"src":"19098:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13965,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19098:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19077:31:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13982,"nodeType":"FunctionDefinition","src":"19286:100:17","nodes":[],"documentation":{"id":13969,"nodeType":"StructuredDocumentation","src":"19115:166:17","text":"Signs `digest` with signer provided to script using the secp256k1 curve.\n Raises error if none of the signers passed into the script have provided address."},"functionSelector":"8c1aa205","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"19295:4:17","parameters":{"id":13974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13971,"mutability":"mutable","name":"signer","nameLocation":"19308:6:17","nodeType":"VariableDeclaration","scope":13982,"src":"19300:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13970,"name":"address","nodeType":"ElementaryTypeName","src":"19300:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13973,"mutability":"mutable","name":"digest","nameLocation":"19324:6:17","nodeType":"VariableDeclaration","scope":13982,"src":"19316:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19316:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19299:32:17"},"returnParameters":{"id":13981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13976,"mutability":"mutable","name":"v","nameLocation":"19361:1:17","nodeType":"VariableDeclaration","scope":13982,"src":"19355:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13975,"name":"uint8","nodeType":"ElementaryTypeName","src":"19355:5:17","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13978,"mutability":"mutable","name":"r","nameLocation":"19372:1:17","nodeType":"VariableDeclaration","scope":13982,"src":"19364:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13977,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19364:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13980,"mutability":"mutable","name":"s","nameLocation":"19383:1:17","nodeType":"VariableDeclaration","scope":13982,"src":"19375:9:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13979,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19375:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19354:31:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13990,"nodeType":"FunctionDefinition","src":"19573:80:17","nodes":[],"documentation":{"id":13983,"nodeType":"StructuredDocumentation","src":"19430:138:17","text":"Gets the environment variable `name` and parses it as `address`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"350d56bf","implemented":false,"kind":"function","modifiers":[],"name":"envAddress","nameLocation":"19582:10:17","parameters":{"id":13986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13985,"mutability":"mutable","name":"name","nameLocation":"19609:4:17","nodeType":"VariableDeclaration","scope":13990,"src":"19593:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13984,"name":"string","nodeType":"ElementaryTypeName","src":"19593:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19592:22:17"},"returnParameters":{"id":13989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13988,"mutability":"mutable","name":"value","nameLocation":"19646:5:17","nodeType":"VariableDeclaration","scope":13990,"src":"19638:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13987,"name":"address","nodeType":"ElementaryTypeName","src":"19638:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19637:15:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14001,"nodeType":"FunctionDefinition","src":"19836:112:17","nodes":[],"documentation":{"id":13991,"nodeType":"StructuredDocumentation","src":"19659:172:17","text":"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"ad31b9fa","implemented":false,"kind":"function","modifiers":[],"name":"envAddress","nameLocation":"19845:10:17","parameters":{"id":13996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13993,"mutability":"mutable","name":"name","nameLocation":"19872:4:17","nodeType":"VariableDeclaration","scope":14001,"src":"19856:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13992,"name":"string","nodeType":"ElementaryTypeName","src":"19856:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13995,"mutability":"mutable","name":"delim","nameLocation":"19894:5:17","nodeType":"VariableDeclaration","scope":14001,"src":"19878:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13994,"name":"string","nodeType":"ElementaryTypeName","src":"19878:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19855:45:17"},"returnParameters":{"id":14000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13999,"mutability":"mutable","name":"value","nameLocation":"19941:5:17","nodeType":"VariableDeclaration","scope":14001,"src":"19924:22:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13997,"name":"address","nodeType":"ElementaryTypeName","src":"19924:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13998,"nodeType":"ArrayTypeName","src":"19924:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"19923:24:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14009,"nodeType":"FunctionDefinition","src":"20094:74:17","nodes":[],"documentation":{"id":14002,"nodeType":"StructuredDocumentation","src":"19954:135:17","text":"Gets the environment variable `name` and parses it as `bool`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"7ed1ec7d","implemented":false,"kind":"function","modifiers":[],"name":"envBool","nameLocation":"20103:7:17","parameters":{"id":14005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14004,"mutability":"mutable","name":"name","nameLocation":"20127:4:17","nodeType":"VariableDeclaration","scope":14009,"src":"20111:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14003,"name":"string","nodeType":"ElementaryTypeName","src":"20111:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20110:22:17"},"returnParameters":{"id":14008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14007,"mutability":"mutable","name":"value","nameLocation":"20161:5:17","nodeType":"VariableDeclaration","scope":14009,"src":"20156:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14006,"name":"bool","nodeType":"ElementaryTypeName","src":"20156:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20155:12:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14020,"nodeType":"FunctionDefinition","src":"20348:106:17","nodes":[],"documentation":{"id":14010,"nodeType":"StructuredDocumentation","src":"20174:169:17","text":"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"aaaddeaf","implemented":false,"kind":"function","modifiers":[],"name":"envBool","nameLocation":"20357:7:17","parameters":{"id":14015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14012,"mutability":"mutable","name":"name","nameLocation":"20381:4:17","nodeType":"VariableDeclaration","scope":14020,"src":"20365:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14011,"name":"string","nodeType":"ElementaryTypeName","src":"20365:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14014,"mutability":"mutable","name":"delim","nameLocation":"20403:5:17","nodeType":"VariableDeclaration","scope":14020,"src":"20387:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14013,"name":"string","nodeType":"ElementaryTypeName","src":"20387:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20364:45:17"},"returnParameters":{"id":14019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14018,"mutability":"mutable","name":"value","nameLocation":"20447:5:17","nodeType":"VariableDeclaration","scope":14020,"src":"20433:19:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14016,"name":"bool","nodeType":"ElementaryTypeName","src":"20433:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14017,"nodeType":"ArrayTypeName","src":"20433:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"20432:21:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14028,"nodeType":"FunctionDefinition","src":"20603:80:17","nodes":[],"documentation":{"id":14021,"nodeType":"StructuredDocumentation","src":"20460:138:17","text":"Gets the environment variable `name` and parses it as `bytes32`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"97949042","implemented":false,"kind":"function","modifiers":[],"name":"envBytes32","nameLocation":"20612:10:17","parameters":{"id":14024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14023,"mutability":"mutable","name":"name","nameLocation":"20639:4:17","nodeType":"VariableDeclaration","scope":14028,"src":"20623:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14022,"name":"string","nodeType":"ElementaryTypeName","src":"20623:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20622:22:17"},"returnParameters":{"id":14027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14026,"mutability":"mutable","name":"value","nameLocation":"20676:5:17","nodeType":"VariableDeclaration","scope":14028,"src":"20668:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14025,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20668:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"20667:15:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14039,"nodeType":"FunctionDefinition","src":"20866:112:17","nodes":[],"documentation":{"id":14029,"nodeType":"StructuredDocumentation","src":"20689:172:17","text":"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"5af231c1","implemented":false,"kind":"function","modifiers":[],"name":"envBytes32","nameLocation":"20875:10:17","parameters":{"id":14034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14031,"mutability":"mutable","name":"name","nameLocation":"20902:4:17","nodeType":"VariableDeclaration","scope":14039,"src":"20886:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14030,"name":"string","nodeType":"ElementaryTypeName","src":"20886:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14033,"mutability":"mutable","name":"delim","nameLocation":"20924:5:17","nodeType":"VariableDeclaration","scope":14039,"src":"20908:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14032,"name":"string","nodeType":"ElementaryTypeName","src":"20908:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20885:45:17"},"returnParameters":{"id":14038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14037,"mutability":"mutable","name":"value","nameLocation":"20971:5:17","nodeType":"VariableDeclaration","scope":14039,"src":"20954:22:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14035,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20954:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14036,"nodeType":"ArrayTypeName","src":"20954:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"20953:24:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14047,"nodeType":"FunctionDefinition","src":"21125:83:17","nodes":[],"documentation":{"id":14040,"nodeType":"StructuredDocumentation","src":"20984:136:17","text":"Gets the environment variable `name` and parses it as `bytes`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"4d7baf06","implemented":false,"kind":"function","modifiers":[],"name":"envBytes","nameLocation":"21134:8:17","parameters":{"id":14043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14042,"mutability":"mutable","name":"name","nameLocation":"21159:4:17","nodeType":"VariableDeclaration","scope":14047,"src":"21143:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14041,"name":"string","nodeType":"ElementaryTypeName","src":"21143:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21142:22:17"},"returnParameters":{"id":14046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14045,"mutability":"mutable","name":"value","nameLocation":"21201:5:17","nodeType":"VariableDeclaration","scope":14047,"src":"21188:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14044,"name":"bytes","nodeType":"ElementaryTypeName","src":"21188:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21187:20:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14058,"nodeType":"FunctionDefinition","src":"21389:108:17","nodes":[],"documentation":{"id":14048,"nodeType":"StructuredDocumentation","src":"21214:170:17","text":"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"ddc2651b","implemented":false,"kind":"function","modifiers":[],"name":"envBytes","nameLocation":"21398:8:17","parameters":{"id":14053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14050,"mutability":"mutable","name":"name","nameLocation":"21423:4:17","nodeType":"VariableDeclaration","scope":14058,"src":"21407:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14049,"name":"string","nodeType":"ElementaryTypeName","src":"21407:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14052,"mutability":"mutable","name":"delim","nameLocation":"21445:5:17","nodeType":"VariableDeclaration","scope":14058,"src":"21429:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14051,"name":"string","nodeType":"ElementaryTypeName","src":"21429:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21406:45:17"},"returnParameters":{"id":14057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14056,"mutability":"mutable","name":"value","nameLocation":"21490:5:17","nodeType":"VariableDeclaration","scope":14058,"src":"21475:20:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14054,"name":"bytes","nodeType":"ElementaryTypeName","src":"21475:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14055,"nodeType":"ArrayTypeName","src":"21475:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"21474:22:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14066,"nodeType":"FunctionDefinition","src":"21599:77:17","nodes":[],"documentation":{"id":14059,"nodeType":"StructuredDocumentation","src":"21503:91:17","text":"Gets the environment variable `name` and returns true if it exists, else returns false."},"functionSelector":"ce8365f9","implemented":false,"kind":"function","modifiers":[],"name":"envExists","nameLocation":"21608:9:17","parameters":{"id":14062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14061,"mutability":"mutable","name":"name","nameLocation":"21634:4:17","nodeType":"VariableDeclaration","scope":14066,"src":"21618:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14060,"name":"string","nodeType":"ElementaryTypeName","src":"21618:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21617:22:17"},"returnParameters":{"id":14065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14064,"mutability":"mutable","name":"result","nameLocation":"21668:6:17","nodeType":"VariableDeclaration","scope":14066,"src":"21663:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14063,"name":"bool","nodeType":"ElementaryTypeName","src":"21663:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21662:13:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14074,"nodeType":"FunctionDefinition","src":"21824:75:17","nodes":[],"documentation":{"id":14067,"nodeType":"StructuredDocumentation","src":"21682:137:17","text":"Gets the environment variable `name` and parses it as `int256`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"892a0c61","implemented":false,"kind":"function","modifiers":[],"name":"envInt","nameLocation":"21833:6:17","parameters":{"id":14070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14069,"mutability":"mutable","name":"name","nameLocation":"21856:4:17","nodeType":"VariableDeclaration","scope":14074,"src":"21840:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14068,"name":"string","nodeType":"ElementaryTypeName","src":"21840:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21839:22:17"},"returnParameters":{"id":14073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14072,"mutability":"mutable","name":"value","nameLocation":"21892:5:17","nodeType":"VariableDeclaration","scope":14074,"src":"21885:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14071,"name":"int256","nodeType":"ElementaryTypeName","src":"21885:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"21884:14:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14085,"nodeType":"FunctionDefinition","src":"22081:107:17","nodes":[],"documentation":{"id":14075,"nodeType":"StructuredDocumentation","src":"21905:171:17","text":"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"42181150","implemented":false,"kind":"function","modifiers":[],"name":"envInt","nameLocation":"22090:6:17","parameters":{"id":14080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14077,"mutability":"mutable","name":"name","nameLocation":"22113:4:17","nodeType":"VariableDeclaration","scope":14085,"src":"22097:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14076,"name":"string","nodeType":"ElementaryTypeName","src":"22097:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14079,"mutability":"mutable","name":"delim","nameLocation":"22135:5:17","nodeType":"VariableDeclaration","scope":14085,"src":"22119:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14078,"name":"string","nodeType":"ElementaryTypeName","src":"22119:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22096:45:17"},"returnParameters":{"id":14084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14083,"mutability":"mutable","name":"value","nameLocation":"22181:5:17","nodeType":"VariableDeclaration","scope":14085,"src":"22165:21:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14081,"name":"int256","nodeType":"ElementaryTypeName","src":"22165:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14082,"nodeType":"ArrayTypeName","src":"22165:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"22164:23:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14095,"nodeType":"FunctionDefinition","src":"22379:91:17","nodes":[],"documentation":{"id":14086,"nodeType":"StructuredDocumentation","src":"22194:180:17","text":"Gets the environment variable `name` and parses it as `bool`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"4777f3cf","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"22388:5:17","parameters":{"id":14091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14088,"mutability":"mutable","name":"name","nameLocation":"22410:4:17","nodeType":"VariableDeclaration","scope":14095,"src":"22394:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14087,"name":"string","nodeType":"ElementaryTypeName","src":"22394:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14090,"mutability":"mutable","name":"defaultValue","nameLocation":"22421:12:17","nodeType":"VariableDeclaration","scope":14095,"src":"22416:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14089,"name":"bool","nodeType":"ElementaryTypeName","src":"22416:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22393:41:17"},"returnParameters":{"id":14094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14093,"mutability":"mutable","name":"value","nameLocation":"22463:5:17","nodeType":"VariableDeclaration","scope":14095,"src":"22458:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14092,"name":"bool","nodeType":"ElementaryTypeName","src":"22458:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22457:12:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14105,"nodeType":"FunctionDefinition","src":"22664:97:17","nodes":[],"documentation":{"id":14096,"nodeType":"StructuredDocumentation","src":"22476:183:17","text":"Gets the environment variable `name` and parses it as `uint256`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"5e97348f","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"22673:5:17","parameters":{"id":14101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14098,"mutability":"mutable","name":"name","nameLocation":"22695:4:17","nodeType":"VariableDeclaration","scope":14105,"src":"22679:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14097,"name":"string","nodeType":"ElementaryTypeName","src":"22679:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14100,"mutability":"mutable","name":"defaultValue","nameLocation":"22709:12:17","nodeType":"VariableDeclaration","scope":14105,"src":"22701:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14099,"name":"uint256","nodeType":"ElementaryTypeName","src":"22701:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22678:44:17"},"returnParameters":{"id":14104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14103,"mutability":"mutable","name":"value","nameLocation":"22754:5:17","nodeType":"VariableDeclaration","scope":14105,"src":"22746:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14102,"name":"uint256","nodeType":"ElementaryTypeName","src":"22746:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22745:15:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14119,"nodeType":"FunctionDefinition","src":"22989:164:17","nodes":[],"documentation":{"id":14106,"nodeType":"StructuredDocumentation","src":"22767:217:17","text":"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"c74e9deb","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"22998:5:17","parameters":{"id":14114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14108,"mutability":"mutable","name":"name","nameLocation":"23020:4:17","nodeType":"VariableDeclaration","scope":14119,"src":"23004:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14107,"name":"string","nodeType":"ElementaryTypeName","src":"23004:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14110,"mutability":"mutable","name":"delim","nameLocation":"23042:5:17","nodeType":"VariableDeclaration","scope":14119,"src":"23026:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14109,"name":"string","nodeType":"ElementaryTypeName","src":"23026:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14113,"mutability":"mutable","name":"defaultValue","nameLocation":"23068:12:17","nodeType":"VariableDeclaration","scope":14119,"src":"23049:31:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14111,"name":"address","nodeType":"ElementaryTypeName","src":"23049:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14112,"nodeType":"ArrayTypeName","src":"23049:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"23003:78:17"},"returnParameters":{"id":14118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14117,"mutability":"mutable","name":"value","nameLocation":"23146:5:17","nodeType":"VariableDeclaration","scope":14119,"src":"23129:22:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14115,"name":"address","nodeType":"ElementaryTypeName","src":"23129:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14116,"nodeType":"ArrayTypeName","src":"23129:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"23128:24:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14133,"nodeType":"FunctionDefinition","src":"23381:164:17","nodes":[],"documentation":{"id":14120,"nodeType":"StructuredDocumentation","src":"23159:217:17","text":"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"2281f367","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"23390:5:17","parameters":{"id":14128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14122,"mutability":"mutable","name":"name","nameLocation":"23412:4:17","nodeType":"VariableDeclaration","scope":14133,"src":"23396:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14121,"name":"string","nodeType":"ElementaryTypeName","src":"23396:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14124,"mutability":"mutable","name":"delim","nameLocation":"23434:5:17","nodeType":"VariableDeclaration","scope":14133,"src":"23418:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14123,"name":"string","nodeType":"ElementaryTypeName","src":"23418:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14127,"mutability":"mutable","name":"defaultValue","nameLocation":"23460:12:17","nodeType":"VariableDeclaration","scope":14133,"src":"23441:31:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23441:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14126,"nodeType":"ArrayTypeName","src":"23441:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"23395:78:17"},"returnParameters":{"id":14132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14131,"mutability":"mutable","name":"value","nameLocation":"23538:5:17","nodeType":"VariableDeclaration","scope":14133,"src":"23521:22:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14129,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23521:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14130,"nodeType":"ArrayTypeName","src":"23521:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"23520:24:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14147,"nodeType":"FunctionDefinition","src":"23772:162:17","nodes":[],"documentation":{"id":14134,"nodeType":"StructuredDocumentation","src":"23551:216:17","text":"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"859216bc","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"23781:5:17","parameters":{"id":14142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14136,"mutability":"mutable","name":"name","nameLocation":"23803:4:17","nodeType":"VariableDeclaration","scope":14147,"src":"23787:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14135,"name":"string","nodeType":"ElementaryTypeName","src":"23787:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14138,"mutability":"mutable","name":"delim","nameLocation":"23825:5:17","nodeType":"VariableDeclaration","scope":14147,"src":"23809:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14137,"name":"string","nodeType":"ElementaryTypeName","src":"23809:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14141,"mutability":"mutable","name":"defaultValue","nameLocation":"23850:12:17","nodeType":"VariableDeclaration","scope":14147,"src":"23832:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14139,"name":"string","nodeType":"ElementaryTypeName","src":"23832:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14140,"nodeType":"ArrayTypeName","src":"23832:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"23786:77:17"},"returnParameters":{"id":14146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14145,"mutability":"mutable","name":"value","nameLocation":"23927:5:17","nodeType":"VariableDeclaration","scope":14147,"src":"23911:21:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14143,"name":"string","nodeType":"ElementaryTypeName","src":"23911:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14144,"nodeType":"ArrayTypeName","src":"23911:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"23910:23:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14161,"nodeType":"FunctionDefinition","src":"24160:160:17","nodes":[],"documentation":{"id":14148,"nodeType":"StructuredDocumentation","src":"23940:215:17","text":"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"64bc3e64","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"24169:5:17","parameters":{"id":14156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14150,"mutability":"mutable","name":"name","nameLocation":"24191:4:17","nodeType":"VariableDeclaration","scope":14161,"src":"24175:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14149,"name":"string","nodeType":"ElementaryTypeName","src":"24175:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14152,"mutability":"mutable","name":"delim","nameLocation":"24213:5:17","nodeType":"VariableDeclaration","scope":14161,"src":"24197:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14151,"name":"string","nodeType":"ElementaryTypeName","src":"24197:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14155,"mutability":"mutable","name":"defaultValue","nameLocation":"24237:12:17","nodeType":"VariableDeclaration","scope":14161,"src":"24220:29:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14153,"name":"bytes","nodeType":"ElementaryTypeName","src":"24220:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14154,"nodeType":"ArrayTypeName","src":"24220:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"24174:76:17"},"returnParameters":{"id":14160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14159,"mutability":"mutable","name":"value","nameLocation":"24313:5:17","nodeType":"VariableDeclaration","scope":14161,"src":"24298:20:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14157,"name":"bytes","nodeType":"ElementaryTypeName","src":"24298:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14158,"nodeType":"ArrayTypeName","src":"24298:7:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"24297:22:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14171,"nodeType":"FunctionDefinition","src":"24513:95:17","nodes":[],"documentation":{"id":14162,"nodeType":"StructuredDocumentation","src":"24326:182:17","text":"Gets the environment variable `name` and parses it as `int256`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"bbcb713e","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"24522:5:17","parameters":{"id":14167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14164,"mutability":"mutable","name":"name","nameLocation":"24544:4:17","nodeType":"VariableDeclaration","scope":14171,"src":"24528:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14163,"name":"string","nodeType":"ElementaryTypeName","src":"24528:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14166,"mutability":"mutable","name":"defaultValue","nameLocation":"24557:12:17","nodeType":"VariableDeclaration","scope":14171,"src":"24550:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14165,"name":"int256","nodeType":"ElementaryTypeName","src":"24550:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"24527:43:17"},"returnParameters":{"id":14170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14169,"mutability":"mutable","name":"value","nameLocation":"24601:5:17","nodeType":"VariableDeclaration","scope":14171,"src":"24594:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14168,"name":"int256","nodeType":"ElementaryTypeName","src":"24594:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"24593:14:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14181,"nodeType":"FunctionDefinition","src":"24802:97:17","nodes":[],"documentation":{"id":14172,"nodeType":"StructuredDocumentation","src":"24614:183:17","text":"Gets the environment variable `name` and parses it as `address`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"561fe540","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"24811:5:17","parameters":{"id":14177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14174,"mutability":"mutable","name":"name","nameLocation":"24833:4:17","nodeType":"VariableDeclaration","scope":14181,"src":"24817:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14173,"name":"string","nodeType":"ElementaryTypeName","src":"24817:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14176,"mutability":"mutable","name":"defaultValue","nameLocation":"24847:12:17","nodeType":"VariableDeclaration","scope":14181,"src":"24839:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14175,"name":"address","nodeType":"ElementaryTypeName","src":"24839:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24816:44:17"},"returnParameters":{"id":14180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14179,"mutability":"mutable","name":"value","nameLocation":"24892:5:17","nodeType":"VariableDeclaration","scope":14181,"src":"24884:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14178,"name":"address","nodeType":"ElementaryTypeName","src":"24884:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24883:15:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14191,"nodeType":"FunctionDefinition","src":"25093:97:17","nodes":[],"documentation":{"id":14182,"nodeType":"StructuredDocumentation","src":"24905:183:17","text":"Gets the environment variable `name` and parses it as `bytes32`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"b4a85892","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"25102:5:17","parameters":{"id":14187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14184,"mutability":"mutable","name":"name","nameLocation":"25124:4:17","nodeType":"VariableDeclaration","scope":14191,"src":"25108:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14183,"name":"string","nodeType":"ElementaryTypeName","src":"25108:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14186,"mutability":"mutable","name":"defaultValue","nameLocation":"25138:12:17","nodeType":"VariableDeclaration","scope":14191,"src":"25130:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14185,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25130:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"25107:44:17"},"returnParameters":{"id":14190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14189,"mutability":"mutable","name":"value","nameLocation":"25183:5:17","nodeType":"VariableDeclaration","scope":14191,"src":"25175:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"25175:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"25174:15:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14201,"nodeType":"FunctionDefinition","src":"25383:111:17","nodes":[],"documentation":{"id":14192,"nodeType":"StructuredDocumentation","src":"25196:182:17","text":"Gets the environment variable `name` and parses it as `string`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"d145736c","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"25392:5:17","parameters":{"id":14197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14194,"mutability":"mutable","name":"name","nameLocation":"25414:4:17","nodeType":"VariableDeclaration","scope":14201,"src":"25398:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14193,"name":"string","nodeType":"ElementaryTypeName","src":"25398:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14196,"mutability":"mutable","name":"defaultValue","nameLocation":"25436:12:17","nodeType":"VariableDeclaration","scope":14201,"src":"25420:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14195,"name":"string","nodeType":"ElementaryTypeName","src":"25420:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25397:52:17"},"returnParameters":{"id":14200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14199,"mutability":"mutable","name":"value","nameLocation":"25487:5:17","nodeType":"VariableDeclaration","scope":14201,"src":"25473:19:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14198,"name":"string","nodeType":"ElementaryTypeName","src":"25473:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25472:21:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14211,"nodeType":"FunctionDefinition","src":"25686:109:17","nodes":[],"documentation":{"id":14202,"nodeType":"StructuredDocumentation","src":"25500:181:17","text":"Gets the environment variable `name` and parses it as `bytes`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"b3e47705","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"25695:5:17","parameters":{"id":14207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14204,"mutability":"mutable","name":"name","nameLocation":"25717:4:17","nodeType":"VariableDeclaration","scope":14211,"src":"25701:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14203,"name":"string","nodeType":"ElementaryTypeName","src":"25701:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14206,"mutability":"mutable","name":"defaultValue","nameLocation":"25738:12:17","nodeType":"VariableDeclaration","scope":14211,"src":"25723:27:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14205,"name":"bytes","nodeType":"ElementaryTypeName","src":"25723:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"25700:51:17"},"returnParameters":{"id":14210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14209,"mutability":"mutable","name":"value","nameLocation":"25788:5:17","nodeType":"VariableDeclaration","scope":14211,"src":"25775:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14208,"name":"bytes","nodeType":"ElementaryTypeName","src":"25775:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"25774:20:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14225,"nodeType":"FunctionDefinition","src":"26020:158:17","nodes":[],"documentation":{"id":14212,"nodeType":"StructuredDocumentation","src":"25801:214:17","text":"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"eb85e83b","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"26029:5:17","parameters":{"id":14220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14214,"mutability":"mutable","name":"name","nameLocation":"26051:4:17","nodeType":"VariableDeclaration","scope":14225,"src":"26035:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14213,"name":"string","nodeType":"ElementaryTypeName","src":"26035:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14216,"mutability":"mutable","name":"delim","nameLocation":"26073:5:17","nodeType":"VariableDeclaration","scope":14225,"src":"26057:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14215,"name":"string","nodeType":"ElementaryTypeName","src":"26057:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14219,"mutability":"mutable","name":"defaultValue","nameLocation":"26096:12:17","nodeType":"VariableDeclaration","scope":14225,"src":"26080:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14217,"name":"bool","nodeType":"ElementaryTypeName","src":"26080:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14218,"nodeType":"ArrayTypeName","src":"26080:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"26034:75:17"},"returnParameters":{"id":14224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14223,"mutability":"mutable","name":"value","nameLocation":"26171:5:17","nodeType":"VariableDeclaration","scope":14225,"src":"26157:19:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14221,"name":"bool","nodeType":"ElementaryTypeName","src":"26157:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14222,"nodeType":"ArrayTypeName","src":"26157:6:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"26156:21:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14239,"nodeType":"FunctionDefinition","src":"26406:164:17","nodes":[],"documentation":{"id":14226,"nodeType":"StructuredDocumentation","src":"26184:217:17","text":"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"74318528","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"26415:5:17","parameters":{"id":14234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14228,"mutability":"mutable","name":"name","nameLocation":"26437:4:17","nodeType":"VariableDeclaration","scope":14239,"src":"26421:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14227,"name":"string","nodeType":"ElementaryTypeName","src":"26421:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14230,"mutability":"mutable","name":"delim","nameLocation":"26459:5:17","nodeType":"VariableDeclaration","scope":14239,"src":"26443:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14229,"name":"string","nodeType":"ElementaryTypeName","src":"26443:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14233,"mutability":"mutable","name":"defaultValue","nameLocation":"26485:12:17","nodeType":"VariableDeclaration","scope":14239,"src":"26466:31:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14231,"name":"uint256","nodeType":"ElementaryTypeName","src":"26466:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14232,"nodeType":"ArrayTypeName","src":"26466:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"26420:78:17"},"returnParameters":{"id":14238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14237,"mutability":"mutable","name":"value","nameLocation":"26563:5:17","nodeType":"VariableDeclaration","scope":14239,"src":"26546:22:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14235,"name":"uint256","nodeType":"ElementaryTypeName","src":"26546:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14236,"nodeType":"ArrayTypeName","src":"26546:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"26545:24:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14253,"nodeType":"FunctionDefinition","src":"26797:162:17","nodes":[],"documentation":{"id":14240,"nodeType":"StructuredDocumentation","src":"26576:216:17","text":"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"4700d74b","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"26806:5:17","parameters":{"id":14248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14242,"mutability":"mutable","name":"name","nameLocation":"26828:4:17","nodeType":"VariableDeclaration","scope":14253,"src":"26812:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14241,"name":"string","nodeType":"ElementaryTypeName","src":"26812:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14244,"mutability":"mutable","name":"delim","nameLocation":"26850:5:17","nodeType":"VariableDeclaration","scope":14253,"src":"26834:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14243,"name":"string","nodeType":"ElementaryTypeName","src":"26834:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14247,"mutability":"mutable","name":"defaultValue","nameLocation":"26875:12:17","nodeType":"VariableDeclaration","scope":14253,"src":"26857:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14245,"name":"int256","nodeType":"ElementaryTypeName","src":"26857:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14246,"nodeType":"ArrayTypeName","src":"26857:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"26811:77:17"},"returnParameters":{"id":14252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14251,"mutability":"mutable","name":"value","nameLocation":"26952:5:17","nodeType":"VariableDeclaration","scope":14253,"src":"26936:21:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14249,"name":"int256","nodeType":"ElementaryTypeName","src":"26936:6:17","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14250,"nodeType":"ArrayTypeName","src":"26936:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"26935:23:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14261,"nodeType":"FunctionDefinition","src":"27107:85:17","nodes":[],"documentation":{"id":14254,"nodeType":"StructuredDocumentation","src":"26965:137:17","text":"Gets the environment variable `name` and parses it as `string`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"f877cb19","implemented":false,"kind":"function","modifiers":[],"name":"envString","nameLocation":"27116:9:17","parameters":{"id":14257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14256,"mutability":"mutable","name":"name","nameLocation":"27142:4:17","nodeType":"VariableDeclaration","scope":14261,"src":"27126:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14255,"name":"string","nodeType":"ElementaryTypeName","src":"27126:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27125:22:17"},"returnParameters":{"id":14260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14259,"mutability":"mutable","name":"value","nameLocation":"27185:5:17","nodeType":"VariableDeclaration","scope":14261,"src":"27171:19:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14258,"name":"string","nodeType":"ElementaryTypeName","src":"27171:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27170:21:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14272,"nodeType":"FunctionDefinition","src":"27374:110:17","nodes":[],"documentation":{"id":14262,"nodeType":"StructuredDocumentation","src":"27198:171:17","text":"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"14b02bc9","implemented":false,"kind":"function","modifiers":[],"name":"envString","nameLocation":"27383:9:17","parameters":{"id":14267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14264,"mutability":"mutable","name":"name","nameLocation":"27409:4:17","nodeType":"VariableDeclaration","scope":14272,"src":"27393:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14263,"name":"string","nodeType":"ElementaryTypeName","src":"27393:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14266,"mutability":"mutable","name":"delim","nameLocation":"27431:5:17","nodeType":"VariableDeclaration","scope":14272,"src":"27415:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14265,"name":"string","nodeType":"ElementaryTypeName","src":"27415:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27392:45:17"},"returnParameters":{"id":14271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14270,"mutability":"mutable","name":"value","nameLocation":"27477:5:17","nodeType":"VariableDeclaration","scope":14272,"src":"27461:21:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14268,"name":"string","nodeType":"ElementaryTypeName","src":"27461:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14269,"nodeType":"ArrayTypeName","src":"27461:8:17","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"27460:23:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14280,"nodeType":"FunctionDefinition","src":"27633:77:17","nodes":[],"documentation":{"id":14273,"nodeType":"StructuredDocumentation","src":"27490:138:17","text":"Gets the environment variable `name` and parses it as `uint256`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"c1978d1f","implemented":false,"kind":"function","modifiers":[],"name":"envUint","nameLocation":"27642:7:17","parameters":{"id":14276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14275,"mutability":"mutable","name":"name","nameLocation":"27666:4:17","nodeType":"VariableDeclaration","scope":14280,"src":"27650:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14274,"name":"string","nodeType":"ElementaryTypeName","src":"27650:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27649:22:17"},"returnParameters":{"id":14279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14278,"mutability":"mutable","name":"value","nameLocation":"27703:5:17","nodeType":"VariableDeclaration","scope":14280,"src":"27695:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14277,"name":"uint256","nodeType":"ElementaryTypeName","src":"27695:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27694:15:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14291,"nodeType":"FunctionDefinition","src":"27893:109:17","nodes":[],"documentation":{"id":14281,"nodeType":"StructuredDocumentation","src":"27716:172:17","text":"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"f3dec099","implemented":false,"kind":"function","modifiers":[],"name":"envUint","nameLocation":"27902:7:17","parameters":{"id":14286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14283,"mutability":"mutable","name":"name","nameLocation":"27926:4:17","nodeType":"VariableDeclaration","scope":14291,"src":"27910:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14282,"name":"string","nodeType":"ElementaryTypeName","src":"27910:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14285,"mutability":"mutable","name":"delim","nameLocation":"27948:5:17","nodeType":"VariableDeclaration","scope":14291,"src":"27932:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14284,"name":"string","nodeType":"ElementaryTypeName","src":"27932:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27909:45:17"},"returnParameters":{"id":14290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14289,"mutability":"mutable","name":"value","nameLocation":"27995:5:17","nodeType":"VariableDeclaration","scope":14291,"src":"27978:22:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14287,"name":"uint256","nodeType":"ElementaryTypeName","src":"27978:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14288,"nodeType":"ArrayTypeName","src":"27978:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"27977:24:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14300,"nodeType":"FunctionDefinition","src":"28079:77:17","nodes":[],"documentation":{"id":14292,"nodeType":"StructuredDocumentation","src":"28008:66:17","text":"Returns true if `forge` command was executed in given context."},"functionSelector":"64af255d","implemented":false,"kind":"function","modifiers":[],"name":"isContext","nameLocation":"28088:9:17","parameters":{"id":14296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14295,"mutability":"mutable","name":"context","nameLocation":"28111:7:17","nodeType":"VariableDeclaration","scope":14300,"src":"28098:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ForgeContext_$13509","typeString":"enum VmSafe.ForgeContext"},"typeName":{"id":14294,"nodeType":"UserDefinedTypeName","pathNode":{"id":14293,"name":"ForgeContext","nameLocations":["28098:12:17"],"nodeType":"IdentifierPath","referencedDeclaration":13509,"src":"28098:12:17"},"referencedDeclaration":13509,"src":"28098:12:17","typeDescriptions":{"typeIdentifier":"t_enum$_ForgeContext_$13509","typeString":"enum VmSafe.ForgeContext"}},"visibility":"internal"}],"src":"28097:22:17"},"returnParameters":{"id":14299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14298,"mutability":"mutable","name":"result","nameLocation":"28148:6:17","nodeType":"VariableDeclaration","scope":14300,"src":"28143:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14297,"name":"bool","nodeType":"ElementaryTypeName","src":"28143:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28142:13:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14308,"nodeType":"FunctionDefinition","src":"28234:76:17","nodes":[],"documentation":{"id":14301,"nodeType":"StructuredDocumentation","src":"28162:67:17","text":"Resolves the env variable placeholders of a given input string."},"functionSelector":"ddd2128d","implemented":false,"kind":"function","modifiers":[],"name":"resolveEnv","nameLocation":"28243:10:17","parameters":{"id":14304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14303,"mutability":"mutable","name":"input","nameLocation":"28270:5:17","nodeType":"VariableDeclaration","scope":14308,"src":"28254:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14302,"name":"string","nodeType":"ElementaryTypeName","src":"28254:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28253:23:17"},"returnParameters":{"id":14307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14306,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14308,"src":"28295:13:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14305,"name":"string","nodeType":"ElementaryTypeName","src":"28295:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28294:15:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14316,"nodeType":"FunctionDefinition","src":"28352:70:17","nodes":[],"documentation":{"id":14309,"nodeType":"StructuredDocumentation","src":"28316:31:17","text":"Sets environment variables."},"functionSelector":"3d5923ee","implemented":false,"kind":"function","modifiers":[],"name":"setEnv","nameLocation":"28361:6:17","parameters":{"id":14314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14311,"mutability":"mutable","name":"name","nameLocation":"28384:4:17","nodeType":"VariableDeclaration","scope":14316,"src":"28368:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14310,"name":"string","nodeType":"ElementaryTypeName","src":"28368:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14313,"mutability":"mutable","name":"value","nameLocation":"28406:5:17","nodeType":"VariableDeclaration","scope":14316,"src":"28390:21:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14312,"name":"string","nodeType":"ElementaryTypeName","src":"28390:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28367:45:17"},"returnParameters":{"id":14315,"nodeType":"ParameterList","parameters":[],"src":"28421:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14328,"nodeType":"FunctionDefinition","src":"28554:114:17","nodes":[],"documentation":{"id":14317,"nodeType":"StructuredDocumentation","src":"28458:91:17","text":"Gets all accessed reads and write slot from a `vm.record` session, for a given address."},"functionSelector":"65bc9481","implemented":false,"kind":"function","modifiers":[],"name":"accesses","nameLocation":"28563:8:17","parameters":{"id":14320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14319,"mutability":"mutable","name":"target","nameLocation":"28580:6:17","nodeType":"VariableDeclaration","scope":14328,"src":"28572:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14318,"name":"address","nodeType":"ElementaryTypeName","src":"28572:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28571:16:17"},"returnParameters":{"id":14327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14323,"mutability":"mutable","name":"readSlots","nameLocation":"28628:9:17","nodeType":"VariableDeclaration","scope":14328,"src":"28611:26:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14321,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28611:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14322,"nodeType":"ArrayTypeName","src":"28611:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":14326,"mutability":"mutable","name":"writeSlots","nameLocation":"28656:10:17","nodeType":"VariableDeclaration","scope":14328,"src":"28639:27:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14324,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28639:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14325,"nodeType":"ArrayTypeName","src":"28639:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"28610:57:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14336,"nodeType":"FunctionDefinition","src":"28724:74:17","nodes":[],"documentation":{"id":14329,"nodeType":"StructuredDocumentation","src":"28674:45:17","text":"Gets the address for a given private key."},"functionSelector":"ffa18649","implemented":false,"kind":"function","modifiers":[],"name":"addr","nameLocation":"28733:4:17","parameters":{"id":14332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14331,"mutability":"mutable","name":"privateKey","nameLocation":"28746:10:17","nodeType":"VariableDeclaration","scope":14336,"src":"28738:18:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14330,"name":"uint256","nodeType":"ElementaryTypeName","src":"28738:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28737:20:17"},"returnParameters":{"id":14335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14334,"mutability":"mutable","name":"keyAddr","nameLocation":"28789:7:17","nodeType":"VariableDeclaration","scope":14336,"src":"28781:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14333,"name":"address","nodeType":"ElementaryTypeName","src":"28781:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28780:17:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14353,"nodeType":"FunctionDefinition","src":"28861:173:17","nodes":[],"documentation":{"id":14337,"nodeType":"StructuredDocumentation","src":"28804:52:17","text":"Gets all the logs according to specified filter."},"functionSelector":"35e1349b","implemented":false,"kind":"function","modifiers":[],"name":"eth_getLogs","nameLocation":"28870:11:17","parameters":{"id":14347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14339,"mutability":"mutable","name":"fromBlock","nameLocation":"28890:9:17","nodeType":"VariableDeclaration","scope":14353,"src":"28882:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14338,"name":"uint256","nodeType":"ElementaryTypeName","src":"28882:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14341,"mutability":"mutable","name":"toBlock","nameLocation":"28909:7:17","nodeType":"VariableDeclaration","scope":14353,"src":"28901:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14340,"name":"uint256","nodeType":"ElementaryTypeName","src":"28901:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14343,"mutability":"mutable","name":"target","nameLocation":"28926:6:17","nodeType":"VariableDeclaration","scope":14353,"src":"28918:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14342,"name":"address","nodeType":"ElementaryTypeName","src":"28918:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14346,"mutability":"mutable","name":"topics","nameLocation":"28953:6:17","nodeType":"VariableDeclaration","scope":14353,"src":"28934:25:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14344,"name":"bytes32","nodeType":"ElementaryTypeName","src":"28934:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14345,"nodeType":"ArrayTypeName","src":"28934:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"28881:79:17"},"returnParameters":{"id":14352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14351,"mutability":"mutable","name":"logs","nameLocation":"29028:4:17","nodeType":"VariableDeclaration","scope":14353,"src":"29008:24:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_EthGetLogs_$13550_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.EthGetLogs[]"},"typeName":{"baseType":{"id":14349,"nodeType":"UserDefinedTypeName","pathNode":{"id":14348,"name":"EthGetLogs","nameLocations":["29008:10:17"],"nodeType":"IdentifierPath","referencedDeclaration":13550,"src":"29008:10:17"},"referencedDeclaration":13550,"src":"29008:10:17","typeDescriptions":{"typeIdentifier":"t_struct$_EthGetLogs_$13550_storage_ptr","typeString":"struct VmSafe.EthGetLogs"}},"id":14350,"nodeType":"ArrayTypeName","src":"29008:12:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_EthGetLogs_$13550_storage_$dyn_storage_ptr","typeString":"struct VmSafe.EthGetLogs[]"}},"visibility":"internal"}],"src":"29007:26:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14359,"nodeType":"FunctionDefinition","src":"29371:70:17","nodes":[],"documentation":{"id":14354,"nodeType":"StructuredDocumentation","src":"29040:326:17","text":"Gets the current `block.blobbasefee`.\n You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction,\n and as a result will get optimized out by the compiler.\n See https://github.com/foundry-rs/foundry/issues/6180"},"functionSelector":"1f6d6ef7","implemented":false,"kind":"function","modifiers":[],"name":"getBlobBaseFee","nameLocation":"29380:14:17","parameters":{"id":14355,"nodeType":"ParameterList","parameters":[],"src":"29394:2:17"},"returnParameters":{"id":14358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14357,"mutability":"mutable","name":"blobBaseFee","nameLocation":"29428:11:17","nodeType":"VariableDeclaration","scope":14359,"src":"29420:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14356,"name":"uint256","nodeType":"ElementaryTypeName","src":"29420:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29419:21:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14365,"nodeType":"FunctionDefinition","src":"29756:65:17","nodes":[],"documentation":{"id":14360,"nodeType":"StructuredDocumentation","src":"29447:304:17","text":"Gets the current `block.number`.\n You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction,\n and as a result will get optimized out by the compiler.\n See https://github.com/foundry-rs/foundry/issues/6180"},"functionSelector":"42cbb15c","implemented":false,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"29765:14:17","parameters":{"id":14361,"nodeType":"ParameterList","parameters":[],"src":"29779:2:17"},"returnParameters":{"id":14364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14363,"mutability":"mutable","name":"height","nameLocation":"29813:6:17","nodeType":"VariableDeclaration","scope":14365,"src":"29805:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14362,"name":"uint256","nodeType":"ElementaryTypeName","src":"29805:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29804:16:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14371,"nodeType":"FunctionDefinition","src":"30145:71:17","nodes":[],"documentation":{"id":14366,"nodeType":"StructuredDocumentation","src":"29827:313:17","text":"Gets the current `block.timestamp`.\n You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction,\n and as a result will get optimized out by the compiler.\n See https://github.com/foundry-rs/foundry/issues/6180"},"functionSelector":"796b89b9","implemented":false,"kind":"function","modifiers":[],"name":"getBlockTimestamp","nameLocation":"30154:17:17","parameters":{"id":14367,"nodeType":"ParameterList","parameters":[],"src":"30171:2:17"},"returnParameters":{"id":14370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14369,"mutability":"mutable","name":"timestamp","nameLocation":"30205:9:17","nodeType":"VariableDeclaration","scope":14371,"src":"30197:17:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14368,"name":"uint256","nodeType":"ElementaryTypeName","src":"30197:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30196:19:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14377,"nodeType":"FunctionDefinition","src":"30609:67:17","nodes":[],"documentation":{"id":14372,"nodeType":"StructuredDocumentation","src":"30222:382:17","text":"Gets the current `block.chainid` of the currently selected environment.\n You should use this instead of `block.chainid` if you use `vm.selectFork` or `vm.createSelectFork`, as `block.chainid` could be assumed\n to be constant across a transaction, and as a result will get optimized out by the compiler.\n See https://github.com/foundry-rs/foundry/issues/6180"},"functionSelector":"3408e470","implemented":false,"kind":"function","modifiers":[],"name":"getChainId","nameLocation":"30618:10:17","parameters":{"id":14373,"nodeType":"ParameterList","parameters":[],"src":"30628:2:17"},"returnParameters":{"id":14376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14375,"mutability":"mutable","name":"blockChainId","nameLocation":"30662:12:17","nodeType":"VariableDeclaration","scope":14377,"src":"30654:20:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14374,"name":"uint256","nodeType":"ElementaryTypeName","src":"30654:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30653:22:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14383,"nodeType":"FunctionDefinition","src":"30824:67:17","nodes":[],"documentation":{"id":14378,"nodeType":"StructuredDocumentation","src":"30682:137:17","text":"Returns the test or script execution evm version.\n **Note:** The execution evm version is not the same as the compilation one."},"functionSelector":"aa2bb222","implemented":false,"kind":"function","modifiers":[],"name":"getEvmVersion","nameLocation":"30833:13:17","parameters":{"id":14379,"nodeType":"ParameterList","parameters":[],"src":"30846:2:17"},"returnParameters":{"id":14382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14381,"mutability":"mutable","name":"evm","nameLocation":"30886:3:17","nodeType":"VariableDeclaration","scope":14383,"src":"30872:17:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14380,"name":"string","nodeType":"ElementaryTypeName","src":"30872:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30871:19:17"},"scope":17608,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14397,"nodeType":"FunctionDefinition","src":"30984:159:17","nodes":[],"documentation":{"id":14384,"nodeType":"StructuredDocumentation","src":"30897:82:17","text":"Gets the map key and parent of a mapping at a given slot, for a given address."},"functionSelector":"876e24e6","implemented":false,"kind":"function","modifiers":[],"name":"getMappingKeyAndParentOf","nameLocation":"30993:24:17","parameters":{"id":14389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14386,"mutability":"mutable","name":"target","nameLocation":"31026:6:17","nodeType":"VariableDeclaration","scope":14397,"src":"31018:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14385,"name":"address","nodeType":"ElementaryTypeName","src":"31018:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14388,"mutability":"mutable","name":"elementSlot","nameLocation":"31042:11:17","nodeType":"VariableDeclaration","scope":14397,"src":"31034:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14387,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31034:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"31017:37:17"},"returnParameters":{"id":14396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14391,"mutability":"mutable","name":"found","nameLocation":"31107:5:17","nodeType":"VariableDeclaration","scope":14397,"src":"31102:10:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14390,"name":"bool","nodeType":"ElementaryTypeName","src":"31102:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14393,"mutability":"mutable","name":"key","nameLocation":"31122:3:17","nodeType":"VariableDeclaration","scope":14397,"src":"31114:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14392,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31114:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14395,"mutability":"mutable","name":"parent","nameLocation":"31135:6:17","nodeType":"VariableDeclaration","scope":14397,"src":"31127:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14394,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31127:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"31101:41:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14407,"nodeType":"FunctionDefinition","src":"31240:102:17","nodes":[],"documentation":{"id":14398,"nodeType":"StructuredDocumentation","src":"31149:86:17","text":"Gets the number of elements in the mapping at the given slot, for a given address."},"functionSelector":"2f2fd63f","implemented":false,"kind":"function","modifiers":[],"name":"getMappingLength","nameLocation":"31249:16:17","parameters":{"id":14403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14400,"mutability":"mutable","name":"target","nameLocation":"31274:6:17","nodeType":"VariableDeclaration","scope":14407,"src":"31266:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14399,"name":"address","nodeType":"ElementaryTypeName","src":"31266:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14402,"mutability":"mutable","name":"mappingSlot","nameLocation":"31290:11:17","nodeType":"VariableDeclaration","scope":14407,"src":"31282:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31282:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"31265:37:17"},"returnParameters":{"id":14406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14405,"mutability":"mutable","name":"length","nameLocation":"31334:6:17","nodeType":"VariableDeclaration","scope":14407,"src":"31326:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14404,"name":"uint256","nodeType":"ElementaryTypeName","src":"31326:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31325:16:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14419,"nodeType":"FunctionDefinition","src":"31546:114:17","nodes":[],"documentation":{"id":14408,"nodeType":"StructuredDocumentation","src":"31348:193:17","text":"Gets the elements at index idx of the mapping at the given slot, for a given address. The\n index must be less than the length of the mapping (i.e. the number of keys in the mapping)."},"functionSelector":"ebc73ab4","implemented":false,"kind":"function","modifiers":[],"name":"getMappingSlotAt","nameLocation":"31555:16:17","parameters":{"id":14415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14410,"mutability":"mutable","name":"target","nameLocation":"31580:6:17","nodeType":"VariableDeclaration","scope":14419,"src":"31572:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14409,"name":"address","nodeType":"ElementaryTypeName","src":"31572:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14412,"mutability":"mutable","name":"mappingSlot","nameLocation":"31596:11:17","nodeType":"VariableDeclaration","scope":14419,"src":"31588:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31588:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14414,"mutability":"mutable","name":"idx","nameLocation":"31617:3:17","nodeType":"VariableDeclaration","scope":14419,"src":"31609:11:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14413,"name":"uint256","nodeType":"ElementaryTypeName","src":"31609:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31571:50:17"},"returnParameters":{"id":14418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14417,"mutability":"mutable","name":"value","nameLocation":"31653:5:17","nodeType":"VariableDeclaration","scope":14419,"src":"31645:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14416,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31645:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"31644:15:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14427,"nodeType":"FunctionDefinition","src":"31704:72:17","nodes":[],"documentation":{"id":14420,"nodeType":"StructuredDocumentation","src":"31666:33:17","text":"Gets the nonce of an account."},"functionSelector":"2d0335ab","implemented":false,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"31713:8:17","parameters":{"id":14423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14422,"mutability":"mutable","name":"account","nameLocation":"31730:7:17","nodeType":"VariableDeclaration","scope":14427,"src":"31722:15:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14421,"name":"address","nodeType":"ElementaryTypeName","src":"31722:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31721:17:17"},"returnParameters":{"id":14426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14425,"mutability":"mutable","name":"nonce","nameLocation":"31769:5:17","nodeType":"VariableDeclaration","scope":14427,"src":"31762:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14424,"name":"uint64","nodeType":"ElementaryTypeName","src":"31762:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"31761:14:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14436,"nodeType":"FunctionDefinition","src":"31819:79:17","nodes":[],"documentation":{"id":14428,"nodeType":"StructuredDocumentation","src":"31782:32:17","text":"Get the nonce of a `Wallet`."},"functionSelector":"a5748aad","implemented":false,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"31828:8:17","parameters":{"id":14432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14431,"mutability":"mutable","name":"wallet","nameLocation":"31853:6:17","nodeType":"VariableDeclaration","scope":14436,"src":"31837:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_calldata_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":14430,"nodeType":"UserDefinedTypeName","pathNode":{"id":14429,"name":"Wallet","nameLocations":["31837:6:17"],"nodeType":"IdentifierPath","referencedDeclaration":13588,"src":"31837:6:17"},"referencedDeclaration":13588,"src":"31837:6:17","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$13588_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"31836:24:17"},"returnParameters":{"id":14435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14434,"mutability":"mutable","name":"nonce","nameLocation":"31891:5:17","nodeType":"VariableDeclaration","scope":14436,"src":"31884:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14433,"name":"uint64","nodeType":"ElementaryTypeName","src":"31884:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"31883:14:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14444,"nodeType":"FunctionDefinition","src":"32062:95:17","nodes":[],"documentation":{"id":14437,"nodeType":"StructuredDocumentation","src":"31904:153:17","text":"Gets the RLP encoded block header for a given block number.\n Returns the block header in the same format as `cast block --raw`."},"functionSelector":"2c667606","implemented":false,"kind":"function","modifiers":[],"name":"getRawBlockHeader","nameLocation":"32071:17:17","parameters":{"id":14440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14439,"mutability":"mutable","name":"blockNumber","nameLocation":"32097:11:17","nodeType":"VariableDeclaration","scope":14444,"src":"32089:19:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14438,"name":"uint256","nodeType":"ElementaryTypeName","src":"32089:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32088:21:17"},"returnParameters":{"id":14443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14442,"mutability":"mutable","name":"rlpHeader","nameLocation":"32146:9:17","nodeType":"VariableDeclaration","scope":14444,"src":"32133:22:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14441,"name":"bytes","nodeType":"ElementaryTypeName","src":"32133:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"32132:24:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14452,"nodeType":"FunctionDefinition","src":"32199:69:17","nodes":[],"documentation":{"id":14445,"nodeType":"StructuredDocumentation","src":"32163:31:17","text":"Gets all the recorded logs."},"functionSelector":"191553a4","implemented":false,"kind":"function","modifiers":[],"name":"getRecordedLogs","nameLocation":"32208:15:17","parameters":{"id":14446,"nodeType":"ParameterList","parameters":[],"src":"32223:2:17"},"returnParameters":{"id":14451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14450,"mutability":"mutable","name":"logs","nameLocation":"32262:4:17","nodeType":"VariableDeclaration","scope":14452,"src":"32249:17:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$13523_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Log[]"},"typeName":{"baseType":{"id":14448,"nodeType":"UserDefinedTypeName","pathNode":{"id":14447,"name":"Log","nameLocations":["32249:3:17"],"nodeType":"IdentifierPath","referencedDeclaration":13523,"src":"32249:3:17"},"referencedDeclaration":13523,"src":"32249:3:17","typeDescriptions":{"typeIdentifier":"t_struct$_Log_$13523_storage_ptr","typeString":"struct VmSafe.Log"}},"id":14449,"nodeType":"ArrayTypeName","src":"32249:5:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$13523_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Log[]"}},"visibility":"internal"}],"src":"32248:19:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14458,"nodeType":"FunctionDefinition","src":"32353:67:17","nodes":[],"documentation":{"id":14453,"nodeType":"StructuredDocumentation","src":"32274:74:17","text":"Returns state diffs from current `vm.startStateDiffRecording` session."},"functionSelector":"80df01cc","implemented":false,"kind":"function","modifiers":[],"name":"getStateDiff","nameLocation":"32362:12:17","parameters":{"id":14454,"nodeType":"ParameterList","parameters":[],"src":"32374:2:17"},"returnParameters":{"id":14457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14456,"mutability":"mutable","name":"diff","nameLocation":"32414:4:17","nodeType":"VariableDeclaration","scope":14458,"src":"32400:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14455,"name":"string","nodeType":"ElementaryTypeName","src":"32400:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32399:20:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14464,"nodeType":"FunctionDefinition","src":"32521:71:17","nodes":[],"documentation":{"id":14459,"nodeType":"StructuredDocumentation","src":"32426:90:17","text":"Returns state diffs from current `vm.startStateDiffRecording` session, in json format."},"functionSelector":"f54fe009","implemented":false,"kind":"function","modifiers":[],"name":"getStateDiffJson","nameLocation":"32530:16:17","parameters":{"id":14460,"nodeType":"ParameterList","parameters":[],"src":"32546:2:17"},"returnParameters":{"id":14463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14462,"mutability":"mutable","name":"diff","nameLocation":"32586:4:17","nodeType":"VariableDeclaration","scope":14464,"src":"32572:18:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14461,"name":"string","nodeType":"ElementaryTypeName","src":"32572:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32571:20:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14472,"nodeType":"FunctionDefinition","src":"32692:93:17","nodes":[],"documentation":{"id":14465,"nodeType":"StructuredDocumentation","src":"32598:89:17","text":"Returns an array of `StorageAccess` from current `vm.stateStateDiffRecording` session"},"functionSelector":"2899b1d0","implemented":false,"kind":"function","modifiers":[],"name":"getStorageAccesses","nameLocation":"32701:18:17","parameters":{"id":14466,"nodeType":"ParameterList","parameters":[],"src":"32719:2:17"},"returnParameters":{"id":14471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14470,"mutability":"mutable","name":"storageAccesses","nameLocation":"32768:15:17","nodeType":"VariableDeclaration","scope":14472,"src":"32745:38:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StorageAccess_$13662_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.StorageAccess[]"},"typeName":{"baseType":{"id":14468,"nodeType":"UserDefinedTypeName","pathNode":{"id":14467,"name":"StorageAccess","nameLocations":["32745:13:17"],"nodeType":"IdentifierPath","referencedDeclaration":13662,"src":"32745:13:17"},"referencedDeclaration":13662,"src":"32745:13:17","typeDescriptions":{"typeIdentifier":"t_struct$_StorageAccess_$13662_storage_ptr","typeString":"struct VmSafe.StorageAccess"}},"id":14469,"nodeType":"ArrayTypeName","src":"32745:15:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StorageAccess_$13662_storage_$dyn_storage_ptr","typeString":"struct VmSafe.StorageAccess[]"}},"visibility":"internal"}],"src":"32744:40:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14483,"nodeType":"FunctionDefinition","src":"32869:142:17","nodes":[],"documentation":{"id":14473,"nodeType":"StructuredDocumentation","src":"32791:73:17","text":"Returns an array of storage slots occupied by the specified variable."},"functionSelector":"efa136d9","implemented":false,"kind":"function","modifiers":[],"name":"getStorageSlots","nameLocation":"32878:15:17","parameters":{"id":14478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14475,"mutability":"mutable","name":"target","nameLocation":"32902:6:17","nodeType":"VariableDeclaration","scope":14483,"src":"32894:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14474,"name":"address","nodeType":"ElementaryTypeName","src":"32894:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14477,"mutability":"mutable","name":"variableName","nameLocation":"32926:12:17","nodeType":"VariableDeclaration","scope":14483,"src":"32910:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14476,"name":"string","nodeType":"ElementaryTypeName","src":"32910:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32893:46:17"},"returnParameters":{"id":14482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14481,"mutability":"mutable","name":"slots","nameLocation":"33004:5:17","nodeType":"VariableDeclaration","scope":14483,"src":"32987:22:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14479,"name":"uint256","nodeType":"ElementaryTypeName","src":"32987:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14480,"nodeType":"ArrayTypeName","src":"32987:9:17","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"32986:24:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14490,"nodeType":"FunctionDefinition","src":"33089:62:17","nodes":[],"documentation":{"id":14484,"nodeType":"StructuredDocumentation","src":"33017:67:17","text":"Gets the gas used in the last call from the callee perspective."},"functionSelector":"2b589b28","implemented":false,"kind":"function","modifiers":[],"name":"lastCallGas","nameLocation":"33098:11:17","parameters":{"id":14485,"nodeType":"ParameterList","parameters":[],"src":"33109:2:17"},"returnParameters":{"id":14489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14488,"mutability":"mutable","name":"gas","nameLocation":"33146:3:17","nodeType":"VariableDeclaration","scope":14490,"src":"33135:14:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Gas_$13674_memory_ptr","typeString":"struct VmSafe.Gas"},"typeName":{"id":14487,"nodeType":"UserDefinedTypeName","pathNode":{"id":14486,"name":"Gas","nameLocations":["33135:3:17"],"nodeType":"IdentifierPath","referencedDeclaration":13674,"src":"33135:3:17"},"referencedDeclaration":13674,"src":"33135:3:17","typeDescriptions":{"typeIdentifier":"t_struct$_Gas_$13674_storage_ptr","typeString":"struct VmSafe.Gas"}},"visibility":"internal"}],"src":"33134:16:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14500,"nodeType":"FunctionDefinition","src":"33203:81:17","nodes":[],"documentation":{"id":14491,"nodeType":"StructuredDocumentation","src":"33157:41:17","text":"Loads a storage slot from an address."},"functionSelector":"667f9d70","implemented":false,"kind":"function","modifiers":[],"name":"load","nameLocation":"33212:4:17","parameters":{"id":14496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14493,"mutability":"mutable","name":"target","nameLocation":"33225:6:17","nodeType":"VariableDeclaration","scope":14500,"src":"33217:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14492,"name":"address","nodeType":"ElementaryTypeName","src":"33217:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14495,"mutability":"mutable","name":"slot","nameLocation":"33241:4:17","nodeType":"VariableDeclaration","scope":14500,"src":"33233:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14494,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33233:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"33216:30:17"},"returnParameters":{"id":14499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14498,"mutability":"mutable","name":"data","nameLocation":"33278:4:17","nodeType":"VariableDeclaration","scope":14500,"src":"33270:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14497,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33270:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"33269:14:17"},"scope":17608,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14504,"nodeType":"FunctionDefinition","src":"33375:37:17","nodes":[],"documentation":{"id":14501,"nodeType":"StructuredDocumentation","src":"33290:80:17","text":"Pauses gas metering (i.e. gas usage is not counted). Noop if already paused."},"functionSelector":"d1a5b36f","implemented":false,"kind":"function","modifiers":[],"name":"pauseGasMetering","nameLocation":"33384:16:17","parameters":{"id":14502,"nodeType":"ParameterList","parameters":[],"src":"33400:2:17"},"returnParameters":{"id":14503,"nodeType":"ParameterList","parameters":[],"src":"33411:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14508,"nodeType":"FunctionDefinition","src":"33572:27:17","nodes":[],"documentation":{"id":14505,"nodeType":"StructuredDocumentation","src":"33418:149:17","text":"Records all storage reads and writes. Use `accesses` to get the recorded data.\n Subsequent calls to `record` will clear the previous data."},"functionSelector":"266cf109","implemented":false,"kind":"function","modifiers":[],"name":"record","nameLocation":"33581:6:17","parameters":{"id":14506,"nodeType":"ParameterList","parameters":[],"src":"33587:2:17"},"returnParameters":{"id":14507,"nodeType":"ParameterList","parameters":[],"src":"33598:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14512,"nodeType":"FunctionDefinition","src":"33646:31:17","nodes":[],"documentation":{"id":14509,"nodeType":"StructuredDocumentation","src":"33605:36:17","text":"Record all the transaction logs."},"functionSelector":"41af2f52","implemented":false,"kind":"function","modifiers":[],"name":"recordLogs","nameLocation":"33655:10:17","parameters":{"id":14510,"nodeType":"ParameterList","parameters":[],"src":"33665:2:17"},"returnParameters":{"id":14511,"nodeType":"ParameterList","parameters":[],"src":"33676:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14516,"nodeType":"FunctionDefinition","src":"33748:37:17","nodes":[],"documentation":{"id":14513,"nodeType":"StructuredDocumentation","src":"33683:60:17","text":"Reset gas metering (i.e. gas usage is set to gas limit)."},"functionSelector":"be367dd3","implemented":false,"kind":"function","modifiers":[],"name":"resetGasMetering","nameLocation":"33757:16:17","parameters":{"id":14514,"nodeType":"ParameterList","parameters":[],"src":"33773:2:17"},"returnParameters":{"id":14515,"nodeType":"ParameterList","parameters":[],"src":"33784:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14520,"nodeType":"FunctionDefinition","src":"33875:38:17","nodes":[],"documentation":{"id":14517,"nodeType":"StructuredDocumentation","src":"33791:79:17","text":"Resumes gas metering (i.e. gas usage is counted again). Noop if already on."},"functionSelector":"2bcd50e0","implemented":false,"kind":"function","modifiers":[],"name":"resumeGasMetering","nameLocation":"33884:17:17","parameters":{"id":14518,"nodeType":"ParameterList","parameters":[],"src":"33901:2:17"},"returnParameters":{"id":14519,"nodeType":"ParameterList","parameters":[],"src":"33912:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14530,"nodeType":"FunctionDefinition","src":"33990:98:17","nodes":[],"documentation":{"id":14521,"nodeType":"StructuredDocumentation","src":"33919:66:17","text":"Performs an Ethereum JSON-RPC request to the current fork URL."},"functionSelector":"1206c8a8","implemented":false,"kind":"function","modifiers":[],"name":"rpc","nameLocation":"33999:3:17","parameters":{"id":14526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14523,"mutability":"mutable","name":"method","nameLocation":"34019:6:17","nodeType":"VariableDeclaration","scope":14530,"src":"34003:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14522,"name":"string","nodeType":"ElementaryTypeName","src":"34003:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14525,"mutability":"mutable","name":"params","nameLocation":"34043:6:17","nodeType":"VariableDeclaration","scope":14530,"src":"34027:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14524,"name":"string","nodeType":"ElementaryTypeName","src":"34027:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34002:48:17"},"returnParameters":{"id":14529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14528,"mutability":"mutable","name":"data","nameLocation":"34082:4:17","nodeType":"VariableDeclaration","scope":14530,"src":"34069:17:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14527,"name":"bytes","nodeType":"ElementaryTypeName","src":"34069:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"34068:19:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14542,"nodeType":"FunctionDefinition","src":"34163:142:17","nodes":[],"documentation":{"id":14531,"nodeType":"StructuredDocumentation","src":"34094:64:17","text":"Performs an Ethereum JSON-RPC request to the given endpoint."},"functionSelector":"0199a220","implemented":false,"kind":"function","modifiers":[],"name":"rpc","nameLocation":"34172:3:17","parameters":{"id":14538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14533,"mutability":"mutable","name":"urlOrAlias","nameLocation":"34192:10:17","nodeType":"VariableDeclaration","scope":14542,"src":"34176:26:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14532,"name":"string","nodeType":"ElementaryTypeName","src":"34176:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14535,"mutability":"mutable","name":"method","nameLocation":"34220:6:17","nodeType":"VariableDeclaration","scope":14542,"src":"34204:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14534,"name":"string","nodeType":"ElementaryTypeName","src":"34204:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14537,"mutability":"mutable","name":"params","nameLocation":"34244:6:17","nodeType":"VariableDeclaration","scope":14542,"src":"34228:22:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14536,"name":"string","nodeType":"ElementaryTypeName","src":"34228:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34175:76:17"},"returnParameters":{"id":14541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14540,"mutability":"mutable","name":"data","nameLocation":"34299:4:17","nodeType":"VariableDeclaration","scope":14542,"src":"34286:17:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14539,"name":"bytes","nodeType":"ElementaryTypeName","src":"34286:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"34285:19:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14548,"nodeType":"FunctionDefinition","src":"34480:53:17","nodes":[],"documentation":{"id":14543,"nodeType":"StructuredDocumentation","src":"34311:164:17","text":"Set the exact test or script execution evm version, e.g. `berlin`, `cancun`.\n **Note:** The execution evm version is not the same as the compilation one."},"functionSelector":"43179f5a","implemented":false,"kind":"function","modifiers":[],"name":"setEvmVersion","nameLocation":"34489:13:17","parameters":{"id":14546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14545,"mutability":"mutable","name":"evm","nameLocation":"34519:3:17","nodeType":"VariableDeclaration","scope":14548,"src":"34503:19:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14544,"name":"string","nodeType":"ElementaryTypeName","src":"34503:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34502:21:17"},"returnParameters":{"id":14547,"nodeType":"ParameterList","parameters":[],"src":"34532:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14552,"nodeType":"FunctionDefinition","src":"34587:45:17","nodes":[],"documentation":{"id":14549,"nodeType":"StructuredDocumentation","src":"34539:43:17","text":"Records the debug trace during the run."},"functionSelector":"419c8832","implemented":false,"kind":"function","modifiers":[],"name":"startDebugTraceRecording","nameLocation":"34596:24:17","parameters":{"id":14550,"nodeType":"ParameterList","parameters":[],"src":"34620:2:17"},"returnParameters":{"id":14551,"nodeType":"ParameterList","parameters":[],"src":"34631:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14556,"nodeType":"FunctionDefinition","src":"34700:42:17","nodes":[],"documentation":{"id":14553,"nodeType":"StructuredDocumentation","src":"34638:57:17","text":"Starts recording all map SSTOREs for later retrieval."},"functionSelector":"3e9705c0","implemented":false,"kind":"function","modifiers":[],"name":"startMappingRecording","nameLocation":"34709:21:17","parameters":{"id":14554,"nodeType":"ParameterList","parameters":[],"src":"34730:2:17"},"returnParameters":{"id":14555,"nodeType":"ParameterList","parameters":[],"src":"34741:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14560,"nodeType":"FunctionDefinition","src":"34886:44:17","nodes":[],"documentation":{"id":14557,"nodeType":"StructuredDocumentation","src":"34748:133:17","text":"Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order,\n along with the context of the calls"},"functionSelector":"cf22e3c9","implemented":false,"kind":"function","modifiers":[],"name":"startStateDiffRecording","nameLocation":"34895:23:17","parameters":{"id":14558,"nodeType":"ParameterList","parameters":[],"src":"34918:2:17"},"returnParameters":{"id":14559,"nodeType":"ParameterList","parameters":[],"src":"34929:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14568,"nodeType":"FunctionDefinition","src":"35009:87:17","nodes":[],"documentation":{"id":14561,"nodeType":"StructuredDocumentation","src":"34936:68:17","text":"Stop debug trace recording and returns the recorded debug trace."},"functionSelector":"ced398a2","implemented":false,"kind":"function","modifiers":[],"name":"stopAndReturnDebugTraceRecording","nameLocation":"35018:32:17","parameters":{"id":14562,"nodeType":"ParameterList","parameters":[],"src":"35050:2:17"},"returnParameters":{"id":14567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14566,"mutability":"mutable","name":"step","nameLocation":"35090:4:17","nodeType":"VariableDeclaration","scope":14568,"src":"35071:23:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DebugStep_$13689_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DebugStep[]"},"typeName":{"baseType":{"id":14564,"nodeType":"UserDefinedTypeName","pathNode":{"id":14563,"name":"DebugStep","nameLocations":["35071:9:17"],"nodeType":"IdentifierPath","referencedDeclaration":13689,"src":"35071:9:17"},"referencedDeclaration":13689,"src":"35071:9:17","typeDescriptions":{"typeIdentifier":"t_struct$_DebugStep_$13689_storage_ptr","typeString":"struct VmSafe.DebugStep"}},"id":14565,"nodeType":"ArrayTypeName","src":"35071:11:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DebugStep_$13689_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DebugStep[]"}},"visibility":"internal"}],"src":"35070:25:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14576,"nodeType":"FunctionDefinition","src":"35204:92:17","nodes":[],"documentation":{"id":14569,"nodeType":"StructuredDocumentation","src":"35102:97:17","text":"Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session."},"functionSelector":"aa5cf90e","implemented":false,"kind":"function","modifiers":[],"name":"stopAndReturnStateDiff","nameLocation":"35213:22:17","parameters":{"id":14570,"nodeType":"ParameterList","parameters":[],"src":"35235:2:17"},"returnParameters":{"id":14575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14574,"mutability":"mutable","name":"accountAccesses","nameLocation":"35279:15:17","nodeType":"VariableDeclaration","scope":14576,"src":"35256:38:17","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccountAccess_$13648_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.AccountAccess[]"},"typeName":{"baseType":{"id":14572,"nodeType":"UserDefinedTypeName","pathNode":{"id":14571,"name":"AccountAccess","nameLocations":["35256:13:17"],"nodeType":"IdentifierPath","referencedDeclaration":13648,"src":"35256:13:17"},"referencedDeclaration":13648,"src":"35256:13:17","typeDescriptions":{"typeIdentifier":"t_struct$_AccountAccess_$13648_storage_ptr","typeString":"struct VmSafe.AccountAccess"}},"id":14573,"nodeType":"ArrayTypeName","src":"35256:15:17","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccountAccess_$13648_storage_$dyn_storage_ptr","typeString":"struct VmSafe.AccountAccess[]"}},"visibility":"internal"}],"src":"35255:40:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14580,"nodeType":"FunctionDefinition","src":"35392:41:17","nodes":[],"documentation":{"id":14577,"nodeType":"StructuredDocumentation","src":"35302:85:17","text":"Stops recording all map SSTOREs for later retrieval and clears the recorded data."},"functionSelector":"0d4aae9b","implemented":false,"kind":"function","modifiers":[],"name":"stopMappingRecording","nameLocation":"35401:20:17","parameters":{"id":14578,"nodeType":"ParameterList","parameters":[],"src":"35421:2:17"},"returnParameters":{"id":14579,"nodeType":"ParameterList","parameters":[],"src":"35432:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14584,"nodeType":"FunctionDefinition","src":"35489:31:17","nodes":[],"documentation":{"id":14581,"nodeType":"StructuredDocumentation","src":"35439:45:17","text":"Stops recording storage reads and writes."},"functionSelector":"996be76d","implemented":false,"kind":"function","modifiers":[],"name":"stopRecord","nameLocation":"35498:10:17","parameters":{"id":14582,"nodeType":"ParameterList","parameters":[],"src":"35508:2:17"},"returnParameters":{"id":14583,"nodeType":"ParameterList","parameters":[],"src":"35519:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14590,"nodeType":"FunctionDefinition","src":"35719:50:17","nodes":[],"documentation":{"id":14585,"nodeType":"StructuredDocumentation","src":"35563:151:17","text":"Closes file for reading, resetting the offset and allowing to read it from beginning with readLine.\n `path` is relative to the project root."},"functionSelector":"48c3241f","implemented":false,"kind":"function","modifiers":[],"name":"closeFile","nameLocation":"35728:9:17","parameters":{"id":14588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14587,"mutability":"mutable","name":"path","nameLocation":"35754:4:17","nodeType":"VariableDeclaration","scope":14590,"src":"35738:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14586,"name":"string","nodeType":"ElementaryTypeName","src":"35738:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35737:22:17"},"returnParameters":{"id":14589,"nodeType":"ParameterList","parameters":[],"src":"35768:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14600,"nodeType":"FunctionDefinition","src":"36084:93:17","nodes":[],"documentation":{"id":14591,"nodeType":"StructuredDocumentation","src":"35775:304:17","text":"Copies the contents of one file to another. This function will **overwrite** the contents of `to`.\n On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`.\n Both `from` and `to` are relative to the project root."},"functionSelector":"a54a87d8","implemented":false,"kind":"function","modifiers":[],"name":"copyFile","nameLocation":"36093:8:17","parameters":{"id":14596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14593,"mutability":"mutable","name":"from","nameLocation":"36118:4:17","nodeType":"VariableDeclaration","scope":14600,"src":"36102:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14592,"name":"string","nodeType":"ElementaryTypeName","src":"36102:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14595,"mutability":"mutable","name":"to","nameLocation":"36140:2:17","nodeType":"VariableDeclaration","scope":14600,"src":"36124:18:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14594,"name":"string","nodeType":"ElementaryTypeName","src":"36124:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36101:42:17"},"returnParameters":{"id":14599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14598,"mutability":"mutable","name":"copied","nameLocation":"36169:6:17","nodeType":"VariableDeclaration","scope":14600,"src":"36162:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":14597,"name":"uint64","nodeType":"ElementaryTypeName","src":"36162:6:17","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"36161:15:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14608,"nodeType":"FunctionDefinition","src":"36582:66:17","nodes":[],"documentation":{"id":14601,"nodeType":"StructuredDocumentation","src":"36183:394:17","text":"Creates a new, empty directory at the provided path.\n This cheatcode will revert in the following situations, but is not limited to just these cases:\n - User lacks permissions to modify `path`.\n - A parent of the given path doesn't exist and `recursive` is false.\n - `path` already exists and `recursive` is false.\n `path` is relative to the project root."},"functionSelector":"168b64d3","implemented":false,"kind":"function","modifiers":[],"name":"createDir","nameLocation":"36591:9:17","parameters":{"id":14606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14603,"mutability":"mutable","name":"path","nameLocation":"36617:4:17","nodeType":"VariableDeclaration","scope":14608,"src":"36601:20:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14602,"name":"string","nodeType":"ElementaryTypeName","src":"36601:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14605,"mutability":"mutable","name":"recursive","nameLocation":"36628:9:17","nodeType":"VariableDeclaration","scope":14608,"src":"36623:14:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14604,"name":"bool","nodeType":"ElementaryTypeName","src":"36623:4:17","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36600:38:17"},"returnParameters":{"id":14607,"nodeType":"ParameterList","parameters":[],"src":"36647:0:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14616,"nodeType":"FunctionDefinition","src":"36878:93:17","nodes":[],"documentation":{"id":14609,"nodeType":"StructuredDocumentation","src":"36654:219:17","text":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional."},"functionSelector":"9a8325a0","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"36887:10:17","parameters":{"id":14612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14611,"mutability":"mutable","name":"artifactPath","nameLocation":"36914:12:17","nodeType":"VariableDeclaration","scope":14616,"src":"36898:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14610,"name":"string","nodeType":"ElementaryTypeName","src":"36898:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36897:30:17"},"returnParameters":{"id":14615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14614,"mutability":"mutable","name":"deployedAddress","nameLocation":"36954:15:17","nodeType":"VariableDeclaration","scope":14616,"src":"36946:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14613,"name":"address","nodeType":"ElementaryTypeName","src":"36946:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36945:25:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14626,"nodeType":"FunctionDefinition","src":"37265:141:17","nodes":[],"documentation":{"id":14617,"nodeType":"StructuredDocumentation","src":"36977:283:17","text":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional.\n Additionally accepts abi-encoded constructor arguments."},"functionSelector":"29ce9dde","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"37274:10:17","parameters":{"id":14622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14619,"mutability":"mutable","name":"artifactPath","nameLocation":"37301:12:17","nodeType":"VariableDeclaration","scope":14626,"src":"37285:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14618,"name":"string","nodeType":"ElementaryTypeName","src":"37285:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14621,"mutability":"mutable","name":"constructorArgs","nameLocation":"37330:15:17","nodeType":"VariableDeclaration","scope":14626,"src":"37315:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14620,"name":"bytes","nodeType":"ElementaryTypeName","src":"37315:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"37284:62:17"},"returnParameters":{"id":14625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14624,"mutability":"mutable","name":"deployedAddress","nameLocation":"37389:15:17","nodeType":"VariableDeclaration","scope":14626,"src":"37381:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14623,"name":"address","nodeType":"ElementaryTypeName","src":"37381:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37380:25:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14636,"nodeType":"FunctionDefinition","src":"37678:108:17","nodes":[],"documentation":{"id":14627,"nodeType":"StructuredDocumentation","src":"37412:261:17","text":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional.\n Additionally accepts `msg.value`."},"functionSelector":"0af6a701","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"37687:10:17","parameters":{"id":14632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14629,"mutability":"mutable","name":"artifactPath","nameLocation":"37714:12:17","nodeType":"VariableDeclaration","scope":14636,"src":"37698:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14628,"name":"string","nodeType":"ElementaryTypeName","src":"37698:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14631,"mutability":"mutable","name":"value","nameLocation":"37736:5:17","nodeType":"VariableDeclaration","scope":14636,"src":"37728:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14630,"name":"uint256","nodeType":"ElementaryTypeName","src":"37728:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37697:45:17"},"returnParameters":{"id":14635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14634,"mutability":"mutable","name":"deployedAddress","nameLocation":"37769:15:17","nodeType":"VariableDeclaration","scope":14636,"src":"37761:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14633,"name":"address","nodeType":"ElementaryTypeName","src":"37761:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37760:25:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14648,"nodeType":"FunctionDefinition","src":"38096:156:17","nodes":[],"documentation":{"id":14637,"nodeType":"StructuredDocumentation","src":"37792:299:17","text":"Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional.\n Additionally accepts abi-encoded constructor arguments and `msg.value`."},"functionSelector":"ff5d64e4","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"38105:10:17","parameters":{"id":14644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14639,"mutability":"mutable","name":"artifactPath","nameLocation":"38132:12:17","nodeType":"VariableDeclaration","scope":14648,"src":"38116:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14638,"name":"string","nodeType":"ElementaryTypeName","src":"38116:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14641,"mutability":"mutable","name":"constructorArgs","nameLocation":"38161:15:17","nodeType":"VariableDeclaration","scope":14648,"src":"38146:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14640,"name":"bytes","nodeType":"ElementaryTypeName","src":"38146:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":14643,"mutability":"mutable","name":"value","nameLocation":"38186:5:17","nodeType":"VariableDeclaration","scope":14648,"src":"38178:13:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14642,"name":"uint256","nodeType":"ElementaryTypeName","src":"38178:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38115:77:17"},"returnParameters":{"id":14647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14646,"mutability":"mutable","name":"deployedAddress","nameLocation":"38235:15:17","nodeType":"VariableDeclaration","scope":14648,"src":"38227:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14645,"name":"address","nodeType":"ElementaryTypeName","src":"38227:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38226:25:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14658,"nodeType":"FunctionDefinition","src":"38506:107:17","nodes":[],"documentation":{"id":14649,"nodeType":"StructuredDocumentation","src":"38258:243:17","text":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional."},"functionSelector":"17ab1d79","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"38515:10:17","parameters":{"id":14654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14651,"mutability":"mutable","name":"artifactPath","nameLocation":"38542:12:17","nodeType":"VariableDeclaration","scope":14658,"src":"38526:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14650,"name":"string","nodeType":"ElementaryTypeName","src":"38526:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14653,"mutability":"mutable","name":"salt","nameLocation":"38564:4:17","nodeType":"VariableDeclaration","scope":14658,"src":"38556:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38556:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"38525:44:17"},"returnParameters":{"id":14657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14656,"mutability":"mutable","name":"deployedAddress","nameLocation":"38596:15:17","nodeType":"VariableDeclaration","scope":14658,"src":"38588:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14655,"name":"address","nodeType":"ElementaryTypeName","src":"38588:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38587:25:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14670,"nodeType":"FunctionDefinition","src":"38931:155:17","nodes":[],"documentation":{"id":14659,"nodeType":"StructuredDocumentation","src":"38619:307:17","text":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and parts are optional.\n Additionally accepts abi-encoded constructor arguments."},"functionSelector":"016155bf","implemented":false,"kind":"function","modifiers":[],"name":"deployCode","nameLocation":"38940:10:17","parameters":{"id":14666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14661,"mutability":"mutable","name":"artifactPath","nameLocation":"38967:12:17","nodeType":"VariableDeclaration","scope":14670,"src":"38951:28:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14660,"name":"string","nodeType":"ElementaryTypeName","src":"38951:6:17","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14663,"mutability":"mutable","name":"constructorArgs","nameLocation":"38996:15:17","nodeType":"VariableDeclaration","scope":14670,"src":"38981:30:17","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14662,"name":"bytes","nodeType":"ElementaryTypeName","src":"38981:5:17","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":14665,"mutability":"mutable","name":"salt","nameLocation":"39021:4:17","nodeType":"VariableDeclaration","scope":14670,"src":"39013:12:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39013:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"38950:76:17"},"returnParameters":{"id":14669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14668,"mutability":"mutable","name":"deployedAddress","nameLocation":"39069:15:17","nodeType":"VariableDeclaration","scope":14670,"src":"39061:23:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14667,"name":"address","nodeType":"ElementaryTypeName","src":"39061:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39060:25:17"},"scope":17608,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14682,"nodeType":"FunctionDefinition","src":"39382:138:17","nodes":[],"documentation":{"id":14671,"nodeType":"StructuredDocumentation","src":"39092:285:17","text":"Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the\n artifact in the form of :: where and